The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NOM

CTM::ReadEM - Consultation de Control-M EM 6/7/8 a travers son SGBD.

SYNOPSIS

    use CTM::ReadEM qw/:functions/;

    my $session = CTM::ReadEM->new(
        version => 7,
        DBMSType => "Pg",
        DBMSAddress => "127.0.0.1",
        DBMSPort => 3306,
        DBMSInstance => "ctmem",
        DBMSUser => "root",
        DBMSPassword => "root"
    );

    $session->connect() || die $session->getError();

    my $workOnServices = $session->workOnCurrentBIMServices();

    unless (defined ($err = $session->getError())) {
        $workOnServices->keepItemsWithAnd({
            service_name => sub {
                shift =~ /^SVC_HEADER_/
            }
        });
        print $_->{service_name} . " : " . getStatusColorForService($_) . "\n" for (values %{$workOnServices->getItems()});
    } else {
        die $err;
    }

DEPENDANCES DIRECTES

CTM::Base

CTM::Base::MainClass

CTM::ReadEM::workOnCurrentBIMServices

CTM::ReadEM::WorkOnAlarms

CTM::ReadEM::WorkOnExceptionAlerts

Sub::Name

Carp

String::Util

List::MoreUtils

Hash::Util

Exporter::Easy

Date::Calc

POSIX

TAGS (CTM::ReadEM)

:all

Importe $VERSION et les fonctions publiques listees au lien suivant : "FONCTIONS PUBLIQUES (importables depuis CTM::ReadEM)".

:allFunctions

Importe les fonctions publiques listees au lien suivant : "FONCTIONS PUBLIQUES (importables depuis CTM::ReadEM)".

:sessionFunctions

Importe les fonctions publiques listees au lien suivant : "getNbSession*()".

:ctmFunctions

Importe les fonctions publiques listees au lien suivant : "... liees a la generation ou au traduction d'informations en rapport avec BIM, GAS ou EA".

METHODES PUBLIQUES (CTM::ReadEM)

my $session = CTM::ReadEM->new()

Cette methode est le constructeur du module CTM::ReadEM. CTM::ReadEM->newSession() est un equivalent.

    my $session = CTM::ReadEM->new(
        version => 7,
        DBMSType => "Pg",
        DBMSAddress => "127.0.0.1",
        DBMSPort => 3306,
        DBMSInstance => "ctmem",
        DBMSUser => "root",
        DBMSPassword => "root"
    );

la liste des parametres du constructeur sont listes au lien suivant : "PROPRIETES PUBLIQUES (CTM::ReadEM)".

Pour information, le destructeur DESTROY() est appele lorsque toutes les references a l'objet instancie ont ete detruites (undef $session; par exemple).

Retourne toujours un objet.

$session->connect()

Permet de se connecter a la base du Control-M EM avec les parametres fournis au constructeur CTM::ReadEM->new). CTM::ReadEM->connectToDB() est un equivalent.

    $session->connect() || die $session->getError();

Retourne 1 si la connexion a reussi sinon 0.

$session->disconnect()

Permet de se deconnecter de la base du Control-M EM mais elle n'apelle pas le destructeur DESTROY(). CTM::ReadEM->disconnectFromDB() est un equivalent.

    $session->disconnect() || warn $session->getError();

Retourne 1 si la connexion a reussi sinon 0.

$session->getCurrentBIMServices() - BIM

Retourne une reference de la table de hachage de la liste des services en cours dans le BIM.

    my $hashRef = $session->getCurrentBIMServices(
        matching => '%',
        forStatus => [qw/OK/]
    );

Un filtre est disponible avec le parametre "matching" (SQL LIKE clause).

Le parametre "forLastNetName" accepte un booleen. Si il est vrai alors cette methode ne retournera que les services avec la derniere ODATE. Faux par defaut.

Le parametre "handleDeletedJobs" accepte un booleen. Si il est vrai alors cette methode ne retournera que les services (jobs de type "BIM") qui n'ont pas ete supprimes du plan. Vrai par defaut.

Le parametre "forStatus" doit etre une reference d'un tableau. Si c'est le cas, la methode ne retournera que les services avec les statuts renseignes (statuts valides (sensibles a la case) : "OK", "Completed_OK", "Completed_Late", "Warning", "Error") dans ce tableau.

Le parametre "forDataCenters" doit etre une reference d'un tableau. Si c'est le cas, la methode ne retournera que les services pour les datacenters renseignes.

La cle de cette table de hachage est "log_id".

Retourne 0 si la methode a echouee.

my $workOnServices = $session->workOnCurrentBIMServices() - (BIM)

Derive de la methode $session->getCurrentBIMServices(), elle "herite" donc de ses parametres.

    my $workOnServices = $session->workOnCurrentBIMServices(
        matching => 'A%'
    );

Retourne toujours un objet.

Fonctionne de la meme maniere que la methode $session->getCurrentBIMServices() mais elle est surtout le constructeur du module CTM::ReadEM::workOnCurrentBIMServices qui met a disposition les methodes (BIM) suivantes :

$workOnServices->getParentClass()

Retourne l'objet (de la classe CTM::ReadEM) via lequel $workOnServices a ete instancie. Par exemple, ceci fonctionne :

    $workOnServices->getParentClass()->disconnect();

$workOnServices->getParams()

Retourne une reference de la table de hachage de la liste des parametres utilisateur de l'objet $workOnServices.

$workOnServices->countItems()

Retourne le nombre de services pour l'objet $workOnServices.

$workOnServices->getItems()

Retourne une reference de la table de hachage de la liste des services de l'objet $workOnServices.

$workOnServices->resetAndRefresh()

Rafraichi l objet $workOnServices avec les parametres passes lors de la creation de l'objet $workOnServices.

Retourne 1 si le rafraichissement a fonctionne ou 0 si celui-ci a echoue.

$workOnServices->clone()

Retourne un clone complet de l'objet.

$workOnServices->keepItemsWithAnd({})

Retourne toujours un objet. L'objet retourne est le meme que celui sur lequel cette methode est invoquee.

    $workOnServices->keepItemsWithAnd({
        timestamp => getExprForStatusColorForService('OK')
    });

Cette methode permet de filtrer les items (de l'objet) a conserver en opposant a un ou plusieurs champs de chacuns des items une reference de fonction passee. Toutes les tests sur les champs doivent etre positifs pour que l'item soit conserve sur l'objet.

$workOnServices->keepItemsWithOr({})

Retourne toujours un objet. L'objet retourne est le meme que celui sur lequel cette methode est invoquee.

Cette methode permet de filtrer les items (de l'objet) a conserver en opposant a un ou plusieurs champs de chacuns des items une reference de fonction passee. Un test de champ minimum doit etre positif pour que l'item soit conserve sur l'objet.

$workOnServices->getProblematicsJobs()

Retourne une reference vers une table de hachage qui contient la liste des jobs Control-M problematiques pour chaque "log_id" (accepte une reference de tableau de "log_id" en parametre sinon utilise les "log_id" de l'objet).

Retourne 0 si la methode a echouee.

$workOnServices->getAlerts()

Retourne une reference vers une table de hachage qui contient la liste des alertes pour chaque "log_id" (accepte une reference de tableau de "log_id" en parametre sinon utilise les "log_id" de l'objet).

Retourne 0 si la methode a echouee.

$session->getAlarms() - (GAS)

Retourne une reference de la table de hachage de la liste des alarmes en cours dans le GAS.

    my $hashRef = $session->getAlarms(
        severity => 'Regular'
    );

Un filtre est disponible sur le message des alarmes avec le parametre "matching" (SQL LIKE clause).

Le parametre "severity" doit etre une reference d'un tableau. Si c'est le cas, la methode ne retournera que les alarmes avec les pour les severites renseignees (severites valides (sensibles a la case) : "Regular", "Urgent", "Very_Urgent") dans ce tableau.

Le parametre "timeSort" : SQL ORDER BY . Il trie les donnees renvoyees de maniere ascendante (SQL ASC (insensible a la case)) ou descendante (SQL DESC (insensible a la case)) sur la date de l'alerte.

La cle de cette table de hachage est "serial".

Retourne 0 si la methode a echouee.

my $workOnAlarms = $session->workOnAlarms() - (GAS)

Derive de la methode $session->getAlarms(), elle "herite" donc de ses parametres.

    my $workOnAlarms = $session->workOnAlarms(
        severity => 'Urgent'
    );

Retourne toujours un objet.

Fonctionne de la meme maniere que la methode $session->getAlarms() mais elle est surtout le constructeur du module CTM::ReadEM::WorkOnAlarms qui met a disposition les methodes (GAS) suivantes :

$workOnAlarms->getParentClass()

Retourne l'objet (de la classe CTM::ReadEM) via lequel $workOnAlarms a ete instancie. Par exemple, ceci fonctionne :

    $workOnAlarms->getParentClass()->disconnect();

$workOnAlarms->getParams()

Retourne une reference de la table de hachage de la liste des parametres utilisateur de l'objet $workOnAlarms.

$workOnAlarms->countItems()

Retourne le nombre d'alarmes pour l'objet $workOnAlarms.

$workOnAlarms->getItems()

Retourne une reference de la table de hachage de la liste des alarmes de l'objet $workOnAlarms.

$workOnAlarms->resetAndRefresh()

Rafraichi l objet $workOnAlarms avec les parametres passes lors de la creation de l'objet $workOnAlarms.

Retourne 1 si le rafraichissement a fonctionne ou 0 si celui-ci a echoue.

$workOnAlarms->clone()

Retourne un clone complet de l'objet.

$workOnAlarms->keepItemsWithAnd({})

Retourne toujours un objet. L'objet retourne est le meme que celui sur lequel cette methode est invoquee.

    $workOnAlarms->keepItemsWithAnd({
        severity => getExprForSeverityForAlarms('Regular')
    });

Cette methode permet de filtrer les items (de l'objet) a conserver en opposant a un ou plusieurs champs de chacuns des items une reference de fonction passee. Toutes les tests sur les champs doivent etre positifs pour que l'item soit conserve sur l'objet.

$workOnAlarms->keepItemsWithOr({})

Retourne toujours un objet. L'objet retourne est le meme que celui sur lequel cette methode est invoquee.

Cette methode permet de filtrer les items (de l'objet) a conserver en opposant a un ou plusieurs champs de chacuns des items une reference de fonction passee. Un test de champ minimum doit etre positif pour que l'item soit conserve sur l'objet.

$workOnAlarms->notice(\@array_ref_of_id)

Notifie la ou les alarmes.

Une reference vers un tableau d'ID ('serial') peut etre passee (mais PAS obligatoire, dans quel cas la methode s'appliquera au elements attaches a l'objet en parametre afin de filtrer les alarmes a traiter.

Retourne 1 si l'operation a fonctionnee sinon 0.

$workOnAlarms->unnotice(\@array_ref_of_id)

Denotifie la ou les alarmes.

Une reference vers un tableau d'ID ('serial') peut etre passee (mais PAS obligatoire, dans quel cas la methode s'appliquera au elements attaches a l'objet en parametre afin de filtrer les alarmes a traiter.

Retourne 1 si l'operation a fonctionnee sinon 0.

$workOnAlarms->handle(\@array_ref_of_id)

Prend en compte la ou les alarmes.

Une reference vers un tableau d'ID ('serial') peut etre passee (mais PAS obligatoire, dans quel cas la methode s'appliquera au elements attaches a l'objet en parametre afin de filtrer les alarmes a traiter.

Retourne 1 si l'operation a fonctionnee sinon 0.

$workOnAlarms->unhandle(\@array_ref_of_id)

Annule la prise en compte du ou des alarmes.

Une reference vers un tableau d'ID ('serial') peut etre passee (mais PAS obligatoire, dans quel cas la methode s'appliquera au elements attaches a l'objet en parametre afin de filtrer les alarmes a traiter.

Retourne 1 si l'operation a fonctionnee sinon 0.

$workOnAlarms->delete(\@array_ref_of_id)

Supprime la ou les alarmes.

Une reference vers un tableau d'ID ('serial') peut etre passee (mais PAS obligatoire, dans quel cas la methode s'appliquera au elements attaches a l'objet en parametre afin de filtrer les alarmes a traiter.

Retourne 1 si l'operation a fonctionnee sinon 0.

$workOnAlarms->setSeverity($severity, \@array_ref_of_id)

Modifie la severite du ou des alarmes. Les valeurs possibles sont 'R' (Regular), 'U' (Urgent) et 'V' (Very Urgent).

    $workOnAlarms->setSeverity('R');

Une reference vers un tableau d'ID ('serial') peut etre passee (mais PAS obligatoire, dans quel cas la methode s'appliquera au elements attaches a l'objet en parametre afin de filtrer les alarmes a traiter.

Retourne 1 si l'operation a fonctionnee sinon 0.

$workOnAlarms->setNote($note, \@array_ref_of_id)

La note de ou des alarmes est egale a $note.

    $workOnAlarms->setNote('Ces alarmes sont prises en compte.');

Une reference vers un tableau d'ID ('serial') peut etre passee (mais PAS obligatoire, dans quel cas la methode s'appliquera au elements attaches a l'objet en parametre afin de filtrer les alarmes a traiter.

Retourne 1 si l'operation a fonctionnee sinon 0.

$session->getExceptionAlerts() - (EA)

Retourne une reference de la table de hachage de la liste des alertes en cours dans l'EA.

    my $hashRef = $session->getExceptionAlerts(
        severity => 'Severe'
    );

Un filtre est disponible sur le message des alertes avec le parametre "matching" (SQL LIKE clause).

Le parametre "severity" doit etre une reference d'un tableau. Si c'est le cas, la methode ne retournera que les alertes avec les pour les severites renseignees (severites valides (sensibles a la case) : "Warning", "Error", "Severe") dans ce tableau.

Le parametre "timeSort" : SQL ORDER BY . Il trie les donnees renvoyees de maniere ascendante (SQL ASC (insensible a la case)) ou descendante (SQL DESC (insensible a la case)) sur la date de l'alerte.

La cle de cette table de hachage est "serial".

Retourne 0 si la methode a echouee.

my $workOnExceptionAlerts = $session->workOnExceptionAlerts() - (EA)

Derive de la methode $session->getExceptionAlerts(), elle "herite" donc de ses parametres.

    my $workOnExceptionAlerts = $session->workOnExceptionAlerts(
        severity => 'Severe'
    );

Retourne toujours un objet.

Fonctionne de la meme maniere que la methode $session->getExceptionAlerts() mais elle est surtout le constructeur du module CTM::ReadEM::WorkOnExceptionAlerts qui met a disposition les methodes (EA) suivantes :

$workOnExceptionAlerts->getParentClass()

Retourne l'objet (de la classe CTM::ReadEM) via lequel $workOnExceptionAlerts a ete instancie. Par exemple, ceci fonctionne :

    $workOnExceptionAlerts->getParentClass()->disconnect();

$workOnExceptionAlerts->getParams()

Retourne une reference de la table de hachage de la liste des parametres utilisateur de l'objet $workOnExceptionAlerts.

$workOnExceptionAlerts->countItems()

Retourne le nombre d'alertes pour l'objet $workOnExceptionAlerts.

$workOnExceptionAlerts->getItems()

Retourne une reference de la table de hachage de la liste des alertes de l'objet $workOnExceptionAlerts.

$workOnExceptionAlerts->resetAndRefresh()

Rafraichi l objet $workOnExceptionAlerts avec les parametres passes lors de la creation de l'objet $workOnExceptionAlerts.

Retourne 1 si le rafraichissement a fonctionne ou 0 si celui-ci a echoue.

$workOnExceptionAlerts->clone()

Retourne un clone complet de l'objet.

$workOnExceptionAlerts->keepItemsWithAnd({})

Retourne toujours un objet. L'objet retourne est le meme que celui sur lequel cette methode est invoquee.

    $workOnExceptionAlerts->keepItemsWithAnd({
        severity => getExprForSeverityForExceptionAlerts('Severe')
    });

Cette methode permet de filtrer les items (de l'objet) a conserver en opposant a un ou plusieurs champs de chacuns des items une reference de fonction passee. Toutes les tests sur les champs doivent etre positifs pour que l'item soit conserve sur l'objet.

$workOnExceptionAlerts->keepItemsWithOr({})

Retourne toujours un objet. L'objet retourne est le meme que celui sur lequel cette methode est invoquee.

Cette methode permet de filtrer les items (de l'objet) a conserver en opposant a un ou plusieurs champs de chacuns des items une reference de fonction passee. Un test de champ minimum doit etre positif pour que l'item soit conserve sur l'objet.

$workOnExceptionAlerts->handle(\@array_ref_of_id)

Prend en compte la ou les alertes.

Une reference vers un tableau d'ID ('serial') peut etre passee (mais PAS obligatoire, dans quel cas la methode s'appliquera au elements attaches a l'objet en parametre afin de filtrer les alertes a traiter.

Retourne 1 si l'operation a fonctionnee sinon 0.

$workOnExceptionAlerts->unhandle(\@array_ref_of_id)

Annule la prise en compte d'une ou des alertes.

Une reference vers un tableau d'ID ('serial') peut etre passee (mais PAS obligatoire, dans quel cas la methode s'appliquera au elements attaches a l'objet en parametre afin de filtrer les alertes a traiter.

Retourne 1 si l'operation a fonctionnee sinon 0.

$workOnExceptionAlerts->detete(\@array_ref_of_id)

Supprime la ou les alertes.

Une reference vers un tableau d'ID ('serial') peut etre passee (mais PAS obligatoire, dans quel cas la methode s'appliquera au elements attaches a l'objet en parametre afin de filtrer les alertes a traiter.

Retourne 1 si l'operation a fonctionnee sinon 0.

$workOnExceptionAlerts->setNote($note, \@array_ref_of_id)

La note d'une ou des alertes est egale a $note.

    $workOnExceptionAlerts->setNote('Ces alertes sont prises en compte.');

Une reference vers un tableau d'ID ('serial') peut etre passee (mais PAS obligatoire, dans quel cas la methode s'appliquera au elements attaches a l'objet en parametre afin de filtrer les alertes a traiter.

Retourne 1 si l'operation a fonctionnee sinon 0.

$session->isSessionAlive()

Verifie et retourne l'etat de la connexion au SGBD.

ATTENTION, n'est pas fiable pour tous les types de SGBD (pour plus de details, voir http://search.cpan.org/dist/DBI/DBI.pm#ping et les implementation de cette methode dans les drivers utilises par DBI (par exemple, http://search.cpan.org/~turnstep/DBD-Pg-3.4.2/Pg.pm#ping)).

$session->isSessionSeemAlive()

Retourne l'etat (booleen) de la connexion a la base du Control-M EM telle qu'elle devrait etre.

PROPRIETES PUBLIQUES (CTM::ReadEM)

$session->{DBMSType}

Type de SGBD du Control-M EM auquel se connecter.

Les valeurs acceptees sont "Pg", "Oracle", "mysql", "Sybase" et "ODBC". Pour une connexion a MS SQL Server, les drivers "Sybase" et "ODBC" fonctionnent.

$session->{DBMSAddress}

Adresse du SGBD du Control-M EM auquel se connecter.

$session->{DBMSPort}

Port du SGBD du Control-M EM auquel se connecter.

$session->{DBMSInstance}

Instance (ou base) du SGBD du Control-M EM auquel se connecter.

$session->{DBMSUser}

Utilisateur du SGBD du Control-M EM auquel se connecter.

$session->{DBMSPassword}

Mot de passe du SGBD du Control-M EM auquel se connecter.

$session->{$DBMSConnectTimeout}

Timeout (en seconde) de la tentavive de connexion au SGBD du Control-M EM.

La valeur 0 signifie qu aucun timeout ne sera applique.

ATTENTION, cette propriete risque de ne pas fonctionner sous Windows (ou sur d'autres OS ne gerant pas les signaux UNIX).

$session->{verbose}

Active la verbose du module, affiche les requetes SQL executees sur STDERR.

Ce parametre accepte un booleen. Faux par defaut.

FONCTIONS PUBLIQUES (importables depuis CTM::ReadEM)

getNbSession*()

getNbEMSessionsCreated()

Retourne le nombre d instances en cours pour le module CTM::ReadEM.

getNbEMSessionsConnected()

Retourne le nombre d instances en cours et connectees a la base du Control-M EM pour le module CTM::ReadEM.

... liees a la generation ou au traduction d'informations en rapport avec BIM, GAS ou EA

getStatusColorForService() - (BIM)

Cette fonction permet de convertir le champ "status_to" de la table de hachage generee par la methode getCurrentBIMServices() (et ses derives) en un statut lisible ("OK", "Completed OK", "Completed Late", "Warning", "Error").

Retourne 0 si la valeur du parametre fourni n'est pas reconnu.

getSeverityForAlarms() - (GAS)

Cette fonction permet de convertir le champ "status_to" de la table de hachage generee par la methode getAlarms() (et ses derives) en un statut lisible ("Regular", "Urgent", "Very_Urgent").

Retourne 0 si la valeur du parametre fourni n'est pas reconnu.

getSeverityForExceptionAlerts() - (EA)

Cette fonction permet de convertir le champ "status_to" de la table de hachage generee par la methode getExceptionAlerts() (et ses derives) en un statut lisible ("Warning", "Error", "Severe").

Retourne 0 si la valeur du parametre fourni n'est pas reconnu.

getExprForStatusColorForService() - (BIM)

Cette fonction converti les statuts "OK", "Completed OK", "Completed Late", "Warning", et "Error" (valeurs possibles en parametre) en une reference de fonction (pouvant notamment etre utilisee par les methodes keepItemsWithAnd() et keepItemsWithOr()).

Retourne une reference vers la fonction anonyme sub { shift =~ // } si le statut fourni est inconnu.

getExprForSeverityForAlarms() - (GAS)

Cette fonction converti les severites "Regular", "Urgent" et "Very_Urgent" (valeurs possibles en parametre) en une reference de fonction (pouvant notamment etre utilisee par les methodes keepItemsWithAnd() et keepItemsWithOr()).

Retourne une reference vers la fonction anonyme sub { shift =~ // } si la severite fourni est inconnu.

getExprForSeverityForExceptionAlerts() - (EA)

Cette fonction converti les severites "Warning", "Error" et "Severe" (valeurs possibles en parametre) en une reference de fonction (pouvant notamment etre utilisee par les methodes keepItemsWithAnd() et keepItemsWithOr()).

Retourne une reference vers la fonction anonyme sub { shift =~ // } si le severites fourni est inconnu.

METHODES PUBLIQUES (*)

$obj->getProperty($propertyName)

Retourne la valeur de la propriete $propertyName.

    my $DBMSPassword = $session->getProperty('getProperty');

Leve une exception (carp()) si celle-ci n'existe pas et retourne 0.

$obj->setPublicProperty($propertyName, $value)

Remplace la valeur de la propriete publique $propertyName par $value.

    if ($session->setPublicProperty('verbose', 1)) {
        print "Verbose activee.\n";
        $session->getCurrentBIMServices(); # affiche les requetes SQL utilisees sur STDERR

        $session->setPublicProperty('verbose', 0) && print "Verbose desactivee.\n";
        $session->getCurrentBIMServices(); # n'affiche rien sur STDERR
    }

Retourne 1 si la valeur de la propriete a ete modifiee.

Leve une exception (carp()) si c'est une propriete privee ou si celle-ci n'existe pas et retourne 0.

$obj->getError($item)

Retourne l'erreur a l'element $item (0 par defaut, donc la derniere erreur generee) du tableau de la reference reserve au stockage des erreurs.

    printf "Derniere erreur pour ma session : %s\n", $session->getError();
    printf "Derniere erreur sur mon objet BIM : %s\n", $workOnServices->getError();

Retourne undef si il n'y a pas d'erreur ou si la derniere a ete decalee via la methode $obj->unshiftError().

Une partie des erreurs sont gerees via le module Carp et ses deux fonctions croak et carp (notamment le fait de ne pas correctement utiliser les methodes/fonctions)).

$obj->getErrors()

Retourne la reference du tableau reserve au stockage des erreurs.

$obj->countErrors

Retourne le nombre d'erreurs generees (et non-decalee via la methode $obj->unshiftError()) pour l'objet $obj.

$obj->unshiftError()

Decale la valeur de la derniere erreur et la remplace par undef.

Retourne toujours 1.

Cette methode est appelee avant l'execution de la plupart des accesseurs/mutateurs.

$obj->clearErrors()

Nettoie toutes les erreurs.

Retourne toujours 1.

EXEMPLES

Initialiser une session

    use CTM::ReadEM qw/:functions/;

    my $session1 = CTM::ReadEM->new(
        version => 7,
        DBMSType => "Pg",
        DBMSAddress => "127.0.0.1",
        DBMSPort => 3306,
        DBMSInstance => "ctmem",
        DBMSUser => "root",
        DBMSPassword => "root"
    );

    print getNbEMSessionsCreated(); # affiche "1"

Recupere et affiche la liste des services actuellement en cours dans le BIM du Control-M EM

    # [...]

    $session->connect() || die $session->getError();

    my $servicesHashRef = $session->getCurrentBIMServices();

    unless (defined ($err = $session->getError())) {
        printf "%s : %s\n", $_->{service_name}, getStatusColorForService($_) for (values %{$servicesHashRef});
    } else {
        die $err;
    }

LEXIQUE

- CTM : BMC Control-M.

- Control-M EM : BMC Control-M Enterprise Manager.

- BIM : BMC Batch Impact Manager.

- GAS : BMC Global Alert Server.

- CM : BMC Control-M Configuration Manager.

QUELQUES REMARQUES ...

- Ce module se base en partie sur l'heure du systeme qui le charge. Si celle ci est fausse, certains resultats le seront aussi.

- Ce module est surtout dedie a la consultation depuis Control-M EM et certains de ses composants mais certaines methodes permettant d'exploiter Control-M EM (par exemple les methodes handle() ou delete()). Cependant, ces actions ne seront pas forcement immediatement visibles depuis la GUI de Control-M EM.

- Les elements prefixes de "_" sont proteges ou prives et ne doivent pas etre manipules par l'utilisateur. Ces donnees sont "verouillees" via Hash::Util pour eviter toutes fausses manipulations.

- Certaines fonctions normalements privees sont disponibles pour l'utilisateur mais ne sont pas documentees et peuvent etre fatales (pas forcement de prototypage, pas de gestion des exceptions, etc, ...).

- "oldschool" pour le moment, les versions 0.21 et + de ces modules se baseront sur Moose.

LIENS

- Depot GitHub : http://github.com/le-garff-yoann/CTM

AUTEUR

Le Garff Yoann <pe.weeble@yahoo.fr>

LICENCE

Voir licence Perl.