Les fichiers chrono.log* disponibles avec HRv5 permettent de quantifier l'activité TP sur la base de "Transactions BHR" (une transaction BHR correspondant à un appel des programme Cobol transactionnels). Notez qu'une "Transaction utilisateur" va générer plusieurs "Transactions BHR". Toutefois cela n'altère en rien la qualité des mesures effectuées par ce biais.
La commande "awk" suivante vous permettra d'obtenir, pour le fichier chrono.log en cours, le nombre de transactions par tranche de 10 minutes, total, une analyse par processus HR, code action fonctionnelle, type de message, et le différentiel des connexions et déconnexions (ce qui correspond au nombre maxi d'utilisateurs connectés pour peu que vous démarriez votre analyse à un moment ou personne n'est connecté).
31 juillet 2009
14 novembre 2008
Type des messages reçus par BHR et BNM avec HRv7
Les traces permettent de voir le contenu des messages reçus par le serveur et traités par les programmes BHR / BNM. Deux caractères permettent au client de typer ses messages.
Exemple de message (récupéré dans le fichier stop_watch.log HRv7) :2011-03-25 10:19:40,946[ResponseListener-1] OPHRS1900 |10:19:40.613| 8| 325| 333|com.hraccess.dispatcher.utils.Header@63796379[transactionCode=Z00 ,programName=AS800BNM,virtualSessionId=q9sNW...,applicationId=*000GFT01BXKL,conversationId=0000,instanceId=8+C2,threadId=00,roleTemplate=ALLHRLO ,roleInstanciationValue=FR ,messageCode=2X]
Ci dessous la liste des différents types :
Exemple de message (récupéré dans le fichier stop_watch.log HRv7) :2011-03-25 10:19:40,946[ResponseListener-1] OPHRS1900 |10:19:40.613| 8| 325| 333|com.hraccess.dispatcher.utils.Header@63796379[transactionCode=Z00 ,programName=AS800BNM,virtualSessionId=q9sNW...,applicationId=*000GFT01BXKL,conversationId=0000,instanceId=8+C2,threadId=00,roleTemplate=ALLHRLO ,roleInstanciationValue=FR ,messageCode=2X]
- processus "AS800"
- message 2X "Demande d'information avec self + blobs"
- Modèle de rôle "ALLHRLO"
- virtualSessionId "q9sNW..." - A mettre en relation avec :
- applicationId "*000GFT01BXKL", instance "8+C2" - A mettre en relation avec :
Ci dessous la liste des différents types :
Type des messages reçus par BHR et BNM avec HRv5
Les traces permettent de voir le contenu des messages reçus par le serveur et traités par les programmes BHR / BNM. Deux caractères permettent au client de typer ses messages.
Exemple de message (récupéré dans le fichier chrono.log) :
2008-11-10 14:21:59,621[Reply-11] OPHRS1900 |14:21:59.250| 281| 90| 371|Z00 FA002BNM27UAQBS0085JMDURAND03CAPER STSA|
Ci dessous la liste des différents types :
Exemple de message (récupéré dans le fichier chrono.log) :
2008-11-10 14:21:59,621[Reply-11] OPHRS1900 |14:21:59.250| 281| 90| 371|Z00 FA002BNM27UAQBS0085JMDURAND03CAPER STSA|
- processus "FA002"
- message 27 "Demande d’informations"
- session OpenHR "UAQB"
- user "JMDURAND"
- code action fonctionnelle "PER"
Ci dessous la liste des différents types :
10 juillet 2008
Adapter le umask des FTP et partager les fichiers publiés
Par défaut le umask d'une session FTP est de 027 (lecture pour le groupe, rien pour les autres). Pour donner les droits d'accès en écriture au groupe il faut passer le umask à 007.
Pour ceci demandez à l'exploitant de mettre à jour le fichier /etc/inetd.conf pour remplacer "ftpd" par un "ftpd -u 007"
ftp stream tcp6 nowait root /usr/lbin/ftpd ftpd -u 007
Puis faites rafraichir le processus inetd (sous AIX : refresh –s inetd )
Ceci est particulièrement utile quand on souhaite paramétrer les FTP des publications (objet Site HRS de HR Access) avec un compte Unix différent de celui démarrant l'application Web. Dans le cas contraire, des conflits d'accès font que les temporaires de publication ne sont pas nettoyés et des zip obsolètes risquent d'être déployés.
Pour ceci demandez à l'exploitant de mettre à jour le fichier /etc/inetd.conf pour remplacer "ftpd" par un "ftpd -u 007"
ftp stream tcp6 nowait root /usr/lbin/ftpd ftpd -u 007
Puis faites rafraichir le processus inetd (sous AIX : refresh –s inetd )
Ceci est particulièrement utile quand on souhaite paramétrer les FTP des publications (objet Site HRS de HR Access) avec un compte Unix différent de celui démarrant l'application Web. Dans le cas contraire, des conflits d'accès font que les temporaires de publication ne sont pas nettoyés et des zip obsolètes risquent d'être déployés.
19 juin 2008
Dossiers de demande Opération déphasés de leur Template
Les dossiers "Template" dans ZO existent depuis HRv5 avec la mise en service de HRQuery : les objets Rapport, Mise en page, Population doivent être "mis en exploitation" pour être convertis en dossiers Opération dits "Templates".
Ces Templates contiennent un descriptif du Query en table ZO4C, avec un horodatage de mise a jour stocké en ZO5K.
Les demandes batch ZO avec édition répliquent cette description, avec horodatage de réplication en table ZO4T.
Une page Web de l' "Assistant de Gestion" permet de repérer et mettre a niveau les ZO4C des demandes batch ZO déphasées (menu "Rapports" / "Rafraîchissement général").
Ci dessous un SQL pour repérer les demandes dont la description du template a un horodatage antérieur a celui de l'objet :
SELECT D_4T.NUDOSS, D_00.CDUSER, D_00.CDPHAS, D_00.SUFXDM, D_4T.CDPHAS ,D_4T.CDELMT
FROM ZO4T D_4T, ZO5K T_5K, ZO00 D_00, ZO00 T_00
WHERE D_00.NUDOSS = D_4T.NUDOSS AND D_00.TISOUM = '0001-01-01-00.00.00' -- jointure demande
AND T_00.NUDOSS = T_5K.NUDOSS AND T_00.TISOUM = '0001-01-01-00.00.00' AND T_00.CDUSER = '********' -- jointure template
AND D_4T.CDPHAS = T_00.CDPHAS AND D_4T.CDELMT = T_00.CDELMT -- Jointure entre la demande et le template
AND D_4T.CDPHAS in ('NPQ','NPM','NPP') -- filtre sur le type de template
AND D_4T.CDELMT LIKE '%' -- filtre sur le code du template
AND D_4T.TIMODI < T_5K.TIMODI -- controle de dephasage
ORDER BY NUDOSS
Rien ne permet en revanche de repérer les demandes batch faisant référence à un type de sortie supprimé... Ci dessous un SQL pour repérer les demande Opération avec un édition faisant reference en ZO3P à un format TYPOUT qui n'existe plus dans le Template :
SELECT ZO00.NUDOSS, ZO00.CDUSER, ZO00.CDPHAS, ZO00.SUFXDM, ZO3P.CDMEPA, TYPOUT FROM ZO3P, ZO00
WHERE ZO00.NUDOSS=ZO3P.NUDOSS AND TISOUM='0001-01-01' AND TYPOUT <> ' '
MINUS
SELECT ZO00.NUDOSS, ZO00.CDUSER, ZO00.CDPHAS, ZO00.SUFXDM, ZO4C.CDMEPA, TYPOUT FROM ZO4C, ZO00
WHERE ZO00.NUDOSS=ZO4C.NUDOSS AND TISOUM='0001-01-01'
Ces Templates contiennent un descriptif du Query en table ZO4C, avec un horodatage de mise a jour stocké en ZO5K.
Les demandes batch ZO avec édition répliquent cette description, avec horodatage de réplication en table ZO4T.
Une page Web de l' "Assistant de Gestion" permet de repérer et mettre a niveau les ZO4C des demandes batch ZO déphasées (menu "Rapports" / "Rafraîchissement général").
Ci dessous un SQL pour repérer les demandes dont la description du template a un horodatage antérieur a celui de l'objet :
SELECT D_4T.NUDOSS, D_00.CDUSER, D_00.CDPHAS, D_00.SUFXDM, D_4T.CDPHAS ,D_4T.CDELMT
FROM ZO4T D_4T, ZO5K T_5K, ZO00 D_00, ZO00 T_00
WHERE D_00.NUDOSS = D_4T.NUDOSS AND D_00.TISOUM = '0001-01-01-00.00.00' -- jointure demande
AND T_00.NUDOSS = T_5K.NUDOSS AND T_00.TISOUM = '0001-01-01-00.00.00' AND T_00.CDUSER = '********' -- jointure template
AND D_4T.CDPHAS = T_00.CDPHAS AND D_4T.CDELMT = T_00.CDELMT -- Jointure entre la demande et le template
AND D_4T.CDPHAS in ('NPQ','NPM','NPP') -- filtre sur le type de template
AND D_4T.CDELMT LIKE '%' -- filtre sur le code du template
AND D_4T.TIMODI < T_5K.TIMODI -- controle de dephasage
ORDER BY NUDOSS
Rien ne permet en revanche de repérer les demandes batch faisant référence à un type de sortie supprimé... Ci dessous un SQL pour repérer les demande Opération avec un édition faisant reference en ZO3P à un format TYPOUT qui n'existe plus dans le Template :
SELECT ZO00.NUDOSS, ZO00.CDUSER, ZO00.CDPHAS, ZO00.SUFXDM, ZO3P.CDMEPA, TYPOUT FROM ZO3P, ZO00
WHERE ZO00.NUDOSS=ZO3P.NUDOSS AND TISOUM='0001-01-01' AND TYPOUT <> ' '
MINUS
SELECT ZO00.NUDOSS, ZO00.CDUSER, ZO00.CDPHAS, ZO00.SUFXDM, ZO4C.CDMEPA, TYPOUT FROM ZO4C, ZO00
WHERE ZO00.NUDOSS=ZO4C.NUDOSS AND TISOUM='0001-01-01'
25 janvier 2008
Limiter la liste des arbres "HR Access Web" accessibles
Pour restreindre la liste des arbres Web accessibles (HRv3, HRv5), adaptez le web.xml de HRAccess en alimentant le paramètre TREELIST (par défaut celui ci vaut @ALL).
Séparez le nom de l'arbre, la langue et le vocable par des caractères underscore "_".
Séparez les arbres par des virgules ",".
Exemple :
<servlet>
<servlet-name>HRAdmin</servlet-name>
<servlet-class>com.ibm.hraccess.webclient.servlets.ServletAdmin</servlet-class>
<init-param>
<param-name>TREELIST</param-name>
<param-value>AA001_F_FRP,AA002_F_FRP</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
Séparez le nom de l'arbre, la langue et le vocable par des caractères underscore "_".
Séparez les arbres par des virgules ",".
Exemple :
<servlet>
<servlet-name>HRAdmin</servlet-name>
<servlet-class>com.ibm.hraccess.webclient.servlets.ServletAdmin</servlet-class>
<init-param>
<param-name>TREELIST</param-name>
<param-value>AA001_F_FRP,AA002_F_FRP</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
6 novembre 2007
Purge du cache Unix AIX avec "slibclean"
Dans certains cas, malgré la copie d'une nouvelle version des exécutables, HR Access fonctionne encore avec l'ancienne version des programmes (en cause : le cache Unix AIX).
Pour purger le cache AIX, il existe la commande "slibclean" (NB : Cette commande est réservée au compte "root").
En préalable à ce genre d'opération, assurez vous qu'il ne s'agit pas d'une rémanence de processus BHR (le "time out" peut être la source d'un déphasage) :
Pour purger le cache AIX, il existe la commande "slibclean" (NB : Cette commande est réservée au compte "root").
En préalable à ce genre d'opération, assurez vous qu'il ne s'agit pas d'une rémanence de processus BHR (le "time out" peut être la source d'un déphasage) :
- Fermer et ouvrir le dispatcher.
- En cas de nécessité tuer les processus.
21 septembre 2007
Compte Oracle verrouillé
Vu sous Oracle v10 : après 10 tentatives de connexion infructueuses, le compte se verrouille.
sqlplus hr/********
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Sep 21 14:55:19 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
ERROR:
ORA-28000: the account is locked
En se connectant administrateur, on peut en faire le constat :
sqlplus / as sysdba
select username, account_status from dba_users where username='HR';
USERNAME ACCOUNT_STATUS
------------------------------ --------------------------------
HR LOCKED
Pour déverrouiller le compte :
alter user HR account unlock;
Les paramètres à l'origine de ce comportement sont consultables dans la vue "dba_profiles" :
select profile,resource_name,limit from dba_profiles where resource_type='PASSWORD' order by profile;
PROFILE RESOURCE_NAME LIMIT
------------------------------ -------------------------------- ----------------------------------------
DEFAULT FAILED_LOGIN_ATTEMPTS 10
DEFAULT PASSWORD_LIFE_TIME UNLIMITED
DEFAULT PASSWORD_REUSE_TIME UNLIMITED
DEFAULT PASSWORD_REUSE_MAX UNLIMITED
DEFAULT PASSWORD_VERIFY_FUNCTION NULL
DEFAULT PASSWORD_LOCK_TIME UNLIMITED
DEFAULT PASSWORD_GRACE_TIME UNLIMITED
Pour supprimer ce comportement, tapez :
alter profile DEFAULT limit FAILED_LOGIN_ATTEMPTS UNLIMITED;
sqlplus hr/********
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Sep 21 14:55:19 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
ERROR:
ORA-28000: the account is locked
En se connectant administrateur, on peut en faire le constat :
sqlplus / as sysdba
select username, account_status from dba_users where username='HR';
USERNAME ACCOUNT_STATUS
------------------------------ --------------------------------
HR LOCKED
Pour déverrouiller le compte :
alter user HR account unlock;
Les paramètres à l'origine de ce comportement sont consultables dans la vue "dba_profiles" :
select profile,resource_name,limit from dba_profiles where resource_type='PASSWORD' order by profile;
PROFILE RESOURCE_NAME LIMIT
------------------------------ -------------------------------- ----------------------------------------
DEFAULT FAILED_LOGIN_ATTEMPTS 10
DEFAULT PASSWORD_LIFE_TIME UNLIMITED
DEFAULT PASSWORD_REUSE_TIME UNLIMITED
DEFAULT PASSWORD_REUSE_MAX UNLIMITED
DEFAULT PASSWORD_VERIFY_FUNCTION NULL
DEFAULT PASSWORD_LOCK_TIME UNLIMITED
DEFAULT PASSWORD_GRACE_TIME UNLIMITED
Pour supprimer ce comportement, tapez :
alter profile DEFAULT limit FAILED_LOGIN_ATTEMPTS UNLIMITED;
27 mai 2007
Outil perl pour tester l'accès à un port IP
Ceci est particulièrement utile (quand le réseau possède des firewall / routeurs) pour voir si un port est accessible ou s'il est bloqué ... Merci François pour cet utilitaire.
Si le telnet (au bout de son time out) n'arrive pas à accéder au serveur, une erreur apparaît, le port est bloqué.
Dans le cas contraire, un message "got a connection from:" apparait sur le serveur et "Smile from the server" sur le PC.
#!/usr/bin/perl
use Socket;
$port = $ARGV[0];
$server_struct = pack("S n a4 x8", AF_INET, $port, $server_addr);
$proto = (getprotobyname('tcp'))[2];
socket(MYSOCK, PF_INET, SOCK_STREAM, $proto)|| die "Failed to initialize socket: $!\n";
setsockopt(MYSOCK, SOL_SOCKET, SO_REUSEADDR, 1) or die "setsock: $!";
my $paddr = sockaddr_in($port, INADDR_ANY);
# bind to a port, then listen
bind(MYSOCK, $paddr) or die "bind: $!";
listen(MYSOCK, SOMAXCONN) or die "listen: $!";
print "SERVER started on port $port\n";
# accepting a connection
my $client_addr;
while ($client_addr = accept(CLIENT, MYSOCK)) {
# find out who connected
my ($client_port, $client_ip) = sockaddr_in($client_addr);
my $client_ipnum = inet_ntoa($client_ip);
my $client_host = gethostbyaddr($client_ip, AF_INET);
# print who has connected
print "got a connection from: $client_host", "[$client_ipnum]\n";
# send them a message, close connection
print CLIENT "Smile from the server";
close CLIENT;
}
- Copier le code suivant sur la machine Unix ciblée (par exemple sous le nom TestPortIP.pl).
- Fermer le programme utilisant ce port (AP0, Tomcat, OpenHR ...), sinon une erreur "Failed to initialize socket" apparaitra du fait d'un conflit d'accès.
- L'exécuter en lui passant en paramètre le port à tester (par exemple "perl TestPortIP.pl 2222").
- Sur votre poste Windows, ouvrir une fenêtre DOS et exécutez un telnet en précisant la machine et le port ciblés (par exemple "telnet 10.20.30.40 2222").
Si le telnet (au bout de son time out) n'arrive pas à accéder au serveur, une erreur apparaît, le port est bloqué.
Dans le cas contraire, un message "got a connection from:" apparait sur le serveur et "Smile from the server" sur le PC.
#!/usr/bin/perl
use Socket;
$port = $ARGV[0];
$server_struct = pack("S n a4 x8", AF_INET, $port, $server_addr);
$proto = (getprotobyname('tcp'))[2];
socket(MYSOCK, PF_INET, SOCK_STREAM, $proto)|| die "Failed to initialize socket: $!\n";
setsockopt(MYSOCK, SOL_SOCKET, SO_REUSEADDR, 1) or die "setsock: $!";
my $paddr = sockaddr_in($port, INADDR_ANY);
# bind to a port, then listen
bind(MYSOCK, $paddr) or die "bind: $!";
listen(MYSOCK, SOMAXCONN) or die "listen: $!";
print "SERVER started on port $port\n";
# accepting a connection
my $client_addr;
while ($client_addr = accept(CLIENT, MYSOCK)) {
# find out who connected
my ($client_port, $client_ip) = sockaddr_in($client_addr);
my $client_ipnum = inet_ntoa($client_ip);
my $client_host = gethostbyaddr($client_ip, AF_INET);
# print who has connected
print "got a connection from: $client_host", "[$client_ipnum]\n";
# send them a message, close connection
print CLIENT "Smile from the server";
close CLIENT;
}
20 mai 2007
Upgrade Java et erreur OpenHR "while reading SSL Site Parameters"
Vu sous HR Access 3e
Si a l'ouverture de OpenHR, vous avez une erreur fatale avec le message suivant :
[main] ERROR - OPHRS4201 Error occured while reading SSL Site Parameters org.apache.xml.dtm.DTMConfigurationException: No default implementation found at org.apache.xml.dtm.DTMManager.newInstance(DTMManager.java:177)
Si le test est concluant, vous pouvez détruire les répertoires suffixés en ".old"
A priori, un upgrade Java a eu lieu sur la machine et la librairie Xalan Apache utilisée jusqu'alors par OpenHR entre en concurrence avec celle de Java.
Si a l'ouverture de OpenHR, vous avez une erreur fatale avec le message suivant :
[main] ERROR - OPHRS4201 Error occured while reading SSL Site Parameters org.apache.xml.dtm.DTMConfigurationException: No default implementation found at org.apache.xml.dtm.DTMManager.newInstance(DTMManager.java:177)
- Stoppez les serveur Web, Query et OpenHR
- Renommez "$SIGACS/openhr/lib/boot" en boot.old
- Renommez "$SIGACS/query/lib/boot" en boot.old
- Redémarrez.
Si le test est concluant, vous pouvez détruire les répertoires suffixés en ".old"
A priori, un upgrade Java a eu lieu sur la machine et la librairie Xalan Apache utilisée jusqu'alors par OpenHR entre en concurrence avec celle de Java.
13 mai 2007
Passer par un tableau Cobol indexé permet de limiter les accès SQL.
Utilisez ensuite des SEARCH pour être plus performant.
Exemple :
01 CountryTable.
02 Country OCCURS 243 TIMES INDEXED BY Cidx.
03 CountryCode PIC XX.
03 CountryName PIC X(26).
...
SET Cidx TO 1
SEARCH Country
AT END MOVE "Code not found" TO CountryNameSF
WHEN CountryCode(Cidx) = CountryCodeWF
MOVE CountryName(Cidx) TO CountryNameSF
END-SEARCH
...
Exemple complet sur http://www.csis.ul.ie/
Remarques :
Utilisez ensuite des SEARCH pour être plus performant.
Exemple :
01 CountryTable.
02 Country OCCURS 243 TIMES INDEXED BY Cidx.
03 CountryCode PIC XX.
03 CountryName PIC X(26).
...
SET Cidx TO 1
SEARCH Country
AT END MOVE "Code not found" TO CountryNameSF
WHEN CountryCode(Cidx) = CountryCodeWF
MOVE CountryName(Cidx) TO CountryNameSF
END-SEARCH
...
Exemple complet sur http://www.csis.ul.ie/
Remarques :
- Initialisez le tableau ligne à ligne avec un COB INITIALYZE,
- Le remplir d'occurrences triées.
20 février 2007
Créer un EAR pour HR Access Web v5 sous Websphere
Un fichier EAR (Enterprise Application aRchive) contient des informations supplémentaires par rapport au fichier WAR classique. Il contient notamment le nom de l'application déployée ainsi que le "context root". Le fichier EAR, tout comme le WAR, est un fichier zip.
Pour créer le fichier EAR, il faut respecter les étapes suivantes :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application
1.2//EN" "http://java.sun.com/j2ee/dtds/application_1_2.dtd">
<application id="Application_ID">
<display-name>hraccess</display-name>
<module id="WebModule_1">
<web>
<web-uri>hraccess.war</web-uri>
<context-root>hraccess</context-root>
</web>
</module>
</application>
A noter :
Pour créer le fichier EAR, il faut respecter les étapes suivantes :
- Créer un répertoire du nom de l'application à déployer (par exemple : hraccess).
- Copier dans ce répertoire le fichier WAR (ex : hraccess.war).
- Créer un répertoire META-INF.
- Créer un fichier application.xml dans le répertoire META-INF, contenant les lignes indiquée plus loin,
- Adaptez les informations surlignées,
- Zipper le répertoire complet du nom de l'application (hraccess).
- Renommer le fichier hraccess.zip en hraccess.ear
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application
1.2//EN" "http://java.sun.com/j2ee/dtds/application_1_2.dtd">
<application id="Application_ID">
<display-name>hraccess</display-name>
<module id="WebModule_1">
<web>
<web-uri>hraccess.war</web-uri>
<context-root>hraccess</context-root>
</web>
</module>
</application>
A noter :
- <display-name> hraccess </display-name> précise le nom de l'application Web déployée.
- <web-uri> hraccess.war </web-uri> précise le nom du fichier WAR contenu dans le fichier EAR.
- <context-root> hraccess </context-root> précise le "context root" de l'application. Il s'agit du path à renseigner dans l'url (ex : http://NomServeur:NumPort/hraccess) correspondant à l'application Web.
25 avril 2006
HR Query Meter
HR Query Meter est à la base une application destinée aux tests de montée en charge du serveur HRD Query, mais elle peut aussi s’avérer utile à la visualisation et à l'analyse des travaux en cours d’exécution sur ce serveur.
digix pts/21 23 jul 11:05 (1.2.3.4)
/hradev/query/bin> export DISPLAY=1.2.3.4:0.0
l'outil va modifier queryserver.ini pour positionner LoggerClassName=com.hraccess.bench.logger.Logger puis initier le fichier querymeter.ini.
NUMPORT=1234
Sur votre poste Windows
Installez un serveur X (par exemple Xming).- installer les exécutables,
- les polices (fonts)
- Au niveau du raccourci "Xming", par clic droit "propriétés" modifier la "cible" : ajouter l'option "-ac" (pour ne pas être ennuyé par les problématiques d' "access control"),
- Double cliquer sur ce raccourci Xming
Sur le serveur Unix
- Positionnez la variable DISPLAY pour pointer sur votre PC
digix pts/21 23 jul 11:05 (1.2.3.4)
/hradev/query/bin> export DISPLAY=1.2.3.4:0.0
- Démarrez HRQueryMeter une première fois
l'outil va modifier queryserver.ini pour positionner LoggerClassName=com.hraccess.bench.logger.Logger puis initier le fichier querymeter.ini.
- Arrêtez et redémarrez le serveur de Query pour prendre en compte cette modification
- Si vous souhaitez modifier le port de communication choisi par défaut, modifiez le fichier querymeter.ini (indiquez un port libre - pas déjà utilisé - et ouvert - non bloqué par les firewalls)
NUMPORT=1234
- Relancez HRQueryMeter une seconde fois
- Dans le répertoire logs un fichier qrmtr.log est créé
Sur votre poste Windows
- Xming affiche HRQueryMeter.
- Cliquer sur "Visualisation de jobs"
- Si l'on soumet un query avec l'Assistant de gestion, alors HRQueryMeter affiche l'avancement et les statistiques du traitement (onglets "Jobs" et "Détails des jobs"). Le menu "Fichiers" permet d'exporter les données sous forme de fichier.
- Si vous appuyez sur le bouton "Visualisation de jobs et préparation de scénarios", les fichiers temporaires XMLData seront conservés pour permettre des tests de charge. Vous pouvez paramétrer un scénario et l'exécuter le pour tester le serveur en charge (paramètres d'augmentation des volumes, d'exécutions en parallèle ou en série).
8 août 2005
Obtenir l'horodatage exact d'un fichier Unix
Si sous Linux, le "ls" GNU possède l'option --full-time ...
ls --full-time $TMP/a.batch
-rw-r--r-- 1 hradev hradev 932 2012-09-21 10:50:35.000000000 +0200 /hradev/txt/tmp/a.batch
... sous Unix je n'ai jamais pu trouver comment obtenir simplement la date précise de dernière modification d'un fichier ... Qui plus est avec un format d'affichage constant (et non le "mmm JJ HH:MM" qui devient un "mmm JJ YYYY" passés 6 mois) ...
Suite à une astuce relative à la commande "tar" donnée par un collègue (merci Gabriel), j'ai rédigé cette petite fonction nommée timestamp (que vous pouvez placer dans votre fichier profile). Pour l'utiliser tapez :
timestamp dirname/filename
Exemple :
/home/moi/ ls -al .profile
-rwxr----- 1 moi staff 684 Mar 16 2011 .profile
/home/moi/ timestamp .profile
Mar 16 2011 14:42:44
Ci dessous la fonction en question :
function timestamp
{
# Displays file timestamp
# french : jj mmm yyyy hh:mm:ss / english : mmm jj yyyy hh:mm:ss
#
#set -x # Uncomment to active trace mode
File=$1
if [ ! -e "${File}" ]
then
echo "usage : ${0} { filename | dirname }" >&2
return 1
else
# Creating a dummy file whith same timestamp
touch -r "${File}" /tmp/T.timestamp.$$
if [ $? -ne 0 ]
then
echo "${0} : Could not create temporary file in /tmp" >&2
return 1
else
# LANG=fr_FR # Uncomment to force french format
# LANG=en_EN # Uncomment to force english format
# Tar and untar this file to catch its timestamp, then print it
tar -cf - /tmp/T.timestamp.$$ | tar -tvf - | awk '{print $5" "$6" "$8" "$7}'
# Removing the dummy file
rm -f /tmp/T.timestamp.$$
return 0
fi
fi
}
ls --full-time $TMP/a.batch
-rw-r--r-- 1 hradev hradev 932 2012-09-21 10:50:35.000000000 +0200 /hradev/txt/tmp/a.batch
... sous Unix je n'ai jamais pu trouver comment obtenir simplement la date précise de dernière modification d'un fichier ... Qui plus est avec un format d'affichage constant (et non le "mmm JJ HH:MM" qui devient un "mmm JJ YYYY" passés 6 mois) ...
Suite à une astuce relative à la commande "tar" donnée par un collègue (merci Gabriel), j'ai rédigé cette petite fonction nommée timestamp (que vous pouvez placer dans votre fichier profile). Pour l'utiliser tapez :
timestamp dirname/filename
Exemple :
/home/moi/ ls -al .profile
-rwxr----- 1 moi staff 684 Mar 16 2011 .profile
/home/moi/ timestamp .profile
Mar 16 2011 14:42:44
Ci dessous la fonction en question :
function timestamp
{
# Displays file timestamp
# french : jj mmm yyyy hh:mm:ss / english : mmm jj yyyy hh:mm:ss
#
#set -x # Uncomment to active trace mode
File=$1
if [ ! -e "${File}" ]
then
echo "usage : ${0} { filename | dirname }" >&2
return 1
else
# Creating a dummy file whith same timestamp
touch -r "${File}" /tmp/T.timestamp.$$
if [ $? -ne 0 ]
then
echo "${0} : Could not create temporary file in /tmp" >&2
return 1
else
# LANG=fr_FR # Uncomment to force french format
# LANG=en_EN # Uncomment to force english format
# Tar and untar this file to catch its timestamp, then print it
tar -cf - /tmp/T.timestamp.$$ | tar -tvf - | awk '{print $5" "$6" "$8" "$7}'
# Removing the dummy file
rm -f /tmp/T.timestamp.$$
return 0
fi
fi
}
6 juin 2005
Liste des tables étalées sous HRv5
Ci dessous la liste des tables étalées HRv5 à mettre à jour par NRA-NRB :
Postes ZAOR Table des postes 'à plat'
- processus AS3FS AS3FT
Demande de personnel
ZB3K Table consolidée Demandes de personnel
- processus AS4FS AS4FT
Emploi
ZCGE Table des emplois 'à plat'
- processus AS5FS AS5FT
Unités Organisationnelles
ZE0R Table des organisations 'à plat'
- processus AS6FS AS6FT
Salarié
ZYAF Affectation consolidée
- processus AS0FS AS0FT
ZY1W Table chgts de société 'à plat’
- processus AS0FS AS0FT
ZY2Y Suivi du réalisé en formation
- processus AT0FS AT0FT
ZY2Z Suivi du plan de formation / salarié
- processus AT0RS AT0RT
Formation
ZDFJ, ZDFK, ZDFL Etats légaux français
- processus FT9LI FT9FT
ZDE1, ZDE2, ZDE3, ZDE4 Suivi du plan de formation
- processus AT9FS AT9FT
ZDHV Mise à jour du plan de formation
- processus AT9LI AT9F2
Postes ZAOR Table des postes 'à plat'
- processus AS3FS AS3FT
Demande de personnel
ZB3K Table consolidée Demandes de personnel
- processus AS4FS AS4FT
Emploi
ZCGE Table des emplois 'à plat'
- processus AS5FS AS5FT
Unités Organisationnelles
ZE0R Table des organisations 'à plat'
- processus AS6FS AS6FT
Salarié
ZYAF Affectation consolidée
- processus AS0FS AS0FT
ZY1W Table chgts de société 'à plat’
- processus AS0FS AS0FT
ZY2Y Suivi du réalisé en formation
- processus AT0FS AT0FT
ZY2Z Suivi du plan de formation / salarié
- processus AT0RS AT0RT
Formation
ZDFJ, ZDFK, ZDFL Etats légaux français
- processus FT9LI FT9FT
ZDE1, ZDE2, ZDE3, ZDE4 Suivi du plan de formation
- processus AT9FS AT9FT
ZDHV Mise à jour du plan de formation
- processus AT9LI AT9F2
Inscription à :
Articles (Atom)

