Avec HRa Suite 7, si vous cherchez a supprimer un compte avec HR Studio, alors que ce compte possède des données de session dans les tables de travail HR Access, votre demande sera rejetée.
Ce rejet est justifié si l'utilisateur est effectivement connecté.
En revanche, il n'est pas rare que les tables MX** se chargent de données obsolètes. Dans ce cas nettoyez les par un DELETE :
DELETE FROM MX10 WHERE USERID='...';
COMMIT:
Votre suppression de compte sera alors acceptée.
21 septembre 2011
20 septembre 2011
Accès HRWeb aux travaux ZO associés aux demandes, Correction de ZO2O.NUDORI
Le dossier de travail sous HRv7, conserve dans la rubrique ZO2O.NUDORI le NUDOSS de la demande ZO associée. En cas de suppression et de recréation de la demande, le lien est perdu et l'interface Web ne peut plus afficher les anciens travaux associés à la demande (ce lien est codé dans la page AABV800D)
Pour lister les travaux déphasés :
Ordre SQL DB2:
select ZO00D.NUDOSS, ZO2O.NUDORI, ZO00T.NUDOSS, ZO00T.CDPHAS, ZO00T.CDELMT, ZO00T.TYTMPL, ZO00T.IDREQU, ZO00T.FLGJOB, ZO00T.TISOUM
from ZO00 ZO00T, ZO2O,ZO00 ZO00D
where ZO00T.NUDOSS=ZO2O.NUDOSS
and ZO00T.CDPHAS=ZO00D.CDPHAS and ZO00T.CDELMT=ZO00D.CDELMT and ZO00T.TYTMPL=ZO00D.TYTMPL and ZO00T.IDREQU=ZO00D.IDREQU
and ZO00D.FLGJOB='0' and ZO00D.TISOUM='0001-01-01-00.00.00.000000'
and ZO00D.NUDOSS<>ZO2O.NUDORI
Ordre SQL Oracle : remplacer "0001-01-01-00.00.00.000000" par "0001-01-01"
Pour corriger les déphasages :
Ordre SQL DB2:
update ZO2O
set ZO2O.NUDORI = (
select coalesce(
(select ZO00D.NUDOSS from ZO00 ZO00D, ZO00 ZO00T
where ZO00T.NUDOSS=ZO2O.NUDOSS
and ZO00T.CDPHAS=ZO00D.CDPHAS and ZO00T.CDELMT=ZO00D.CDELMT and ZO00T.TYTMPL=ZO00D.TYTMPL and ZO00T.IDREQU=ZO00D.IDREQU
and ZO00D.FLGJOB='0' and ZO00D.TISOUM='0001-01-01-00.00.00.000000')
,0)
from SYSIBM.SYSDUMMY1)
Ordre SQL Oracle : remplacer "coalesce" par "nvl", "0001-01-01-00.00.00.000000" par "0001-01-01" et "SYSIBM.SYSDUMMY1" par "DUAL"
Pour lister les travaux déphasés :
Ordre SQL DB2:
select ZO00D.NUDOSS, ZO2O.NUDORI, ZO00T.NUDOSS, ZO00T.CDPHAS, ZO00T.CDELMT, ZO00T.TYTMPL, ZO00T.IDREQU, ZO00T.FLGJOB, ZO00T.TISOUM
from ZO00 ZO00T, ZO2O,ZO00 ZO00D
where ZO00T.NUDOSS=ZO2O.NUDOSS
and ZO00T.CDPHAS=ZO00D.CDPHAS and ZO00T.CDELMT=ZO00D.CDELMT and ZO00T.TYTMPL=ZO00D.TYTMPL and ZO00T.IDREQU=ZO00D.IDREQU
and ZO00D.FLGJOB='0' and ZO00D.TISOUM='0001-01-01-00.00.00.000000'
and ZO00D.NUDOSS<>ZO2O.NUDORI
Ordre SQL Oracle : remplacer "0001-01-01-00.00.00.000000" par "0001-01-01"
Pour corriger les déphasages :
Ordre SQL DB2:
update ZO2O
set ZO2O.NUDORI = (
select coalesce(
(select ZO00D.NUDOSS from ZO00 ZO00D, ZO00 ZO00T
where ZO00T.NUDOSS=ZO2O.NUDOSS
and ZO00T.CDPHAS=ZO00D.CDPHAS and ZO00T.CDELMT=ZO00D.CDELMT and ZO00T.TYTMPL=ZO00D.TYTMPL and ZO00T.IDREQU=ZO00D.IDREQU
and ZO00D.FLGJOB='0' and ZO00D.TISOUM='0001-01-01-00.00.00.000000')
,0)
from SYSIBM.SYSDUMMY1)
Ordre SQL Oracle : remplacer "coalesce" par "nvl", "0001-01-01-00.00.00.000000" par "0001-01-01" et "SYSIBM.SYSDUMMY1" par "DUAL"
12 septembre 2011
Message d'erreur SORT020U: SORT(EXTSM) failed - sort engine status = 24
Cette erreur provient de l'utilitaire mfsort. Elle survient lors de la génération d'un fichier indexés de plus de 4 Go.
SORT013U: I/O error on dataset '/hraccess/file/PAPFR/PVBDFAS0
SORT014U: Status = 24
SORT020U: SORT(EXTSM) failed - sort engine status = 24
Cause : Par défaut le format des fichiers indexés on un IDXFORMAT (format des fichiers indexés) à 1 pour les fichiers dont les enregistrements sont de longueur fixe, et IDXFORMAT 3 pour les longueurs variables. Ces formats de fichier sont limités à 4 Go (cf http://supportline.microfocus.com/documentation/books/sx20books/fhlimi.htm#s006)
Solution : Changer le format des fichiers indexés pour passer l'IDXFORMAT à 8, ce qui porte la limite de volume à 128 To ou 8MTo avec FILEPOINTERSIZE=8 (longueur en octets pour stockage des pointeurs)
FILEMAXSIZE=8
IDXFORMAT=8
-i[:command] - rebuild and display information
-v[:n] - display running count every n records
-e - continue after duplicate key error
-q - quick rebuild
-p - rebuild format 8 file in place (no backup)
-n[:command] - no output - just display file information
-x:n - key of reference [out-file only]
-d - rebuild corrupt data file
-y - force rebuild when file size discrepancy reported
-z - specifies server for all files
Ci joint un lien Microfocus à consulter sur le sujet.
Attention : ces fichiers prennent la forme d'un fichier unique (par opposition aux habituels fichiers .idx associés aux fichiers de données). Ceci peut avoir un impact sur des chaines ou des scripts qui prennent en charge ces fichiers ".idx".
SORT013U: I/O error on dataset '/hraccess/file/PAPFR/PVBDFAS0
SORT014U: Status = 24
SORT020U: SORT(EXTSM) failed - sort engine status = 24
Cause : Par défaut le format des fichiers indexés on un IDXFORMAT (format des fichiers indexés) à 1 pour les fichiers dont les enregistrements sont de longueur fixe, et IDXFORMAT 3 pour les longueurs variables. Ces formats de fichier sont limités à 4 Go (cf http://supportline.microfocus.com/documentation/books/sx20books/fhlimi.htm#s006)
Solution : Changer le format des fichiers indexés pour passer l'IDXFORMAT à 8, ce qui porte la limite de volume à 128 To ou 8MTo avec FILEPOINTERSIZE=8 (longueur en octets pour stockage des pointeurs)
- Ajouter dans le fichier $EXTFH le paramètre IDXFORMAT=8
FILEMAXSIZE=8
IDXFORMAT=8
- Convertir les fichiers avec la commande rebuild ... (à confirmer : je n'ai pas eu l'occasion de tester)
-i[:command] - rebuild and display information
-v[:n] - display running count every n records
-e - continue after duplicate key error
-q - quick rebuild
-p - rebuild format 8 file in place (no backup)
-n[:command] - no output - just display file information
-x:n - key of reference [out-file only]
-d - rebuild corrupt data file
-y - force rebuild when file size discrepancy reported
-z - specifies server for all files
Ci joint un lien Microfocus à consulter sur le sujet.
Attention : ces fichiers prennent la forme d'un fichier unique (par opposition aux habituels fichiers .idx associés aux fichiers de données). Ceci peut avoir un impact sur des chaines ou des scripts qui prennent en charge ces fichiers ".idx".
2 septembre 2011
La version de l'applet (x.x.x) est incompatible avec celle de l'application (y.y.y)
En cas de montée de version, ce message d'erreur peut survenir lors de l'affichage des pages du client riche HRaSpace v7.
Il est dû au fait que l'upgrade a déployé sur le serveur Web des fichiers dont l'horodatage est antérieur à votre dernière navigation.
La meilleure solution est donc de demander à l'installateur de mettre à jour l'horodatage des fichiers du serveur Web (pour forcer les postes clients a rafraichir leur cache). Par exemple pour un serveur Unix ou Linux :
cd .../webapps
find . -type f -exec touch {} \;
Sinon, une solution de contournement est de nettoyer le cache de votre JVM.
La JVM SUN garde dans son cache les applet des différentes applications auxquelles le poste s'est connecté.
Ce cache est différent de celui de IE ou Firefox.
Pour mon poste il se trouve dans C:\Documents and Settings\Administrator\Application Data\Sun\Java\Deployment\cache
Pour le nettoyer,
Il est dû au fait que l'upgrade a déployé sur le serveur Web des fichiers dont l'horodatage est antérieur à votre dernière navigation.
La meilleure solution est donc de demander à l'installateur de mettre à jour l'horodatage des fichiers du serveur Web (pour forcer les postes clients a rafraichir leur cache). Par exemple pour un serveur Unix ou Linux :
cd .../webapps
find . -type f -exec touch {} \;
Sinon, une solution de contournement est de nettoyer le cache de votre JVM.
La JVM SUN garde dans son cache les applet des différentes applications auxquelles le poste s'est connecté.
Ce cache est différent de celui de IE ou Firefox.
Pour mon poste il se trouve dans C:\Documents and Settings\Administrator\Application Data\Sun\Java\Deployment\cache
Pour le nettoyer,
- Affichez le panneau de configuration Java (par exemple sous Windows XP dans "Démarrer/ Panneau de configuration / Java")
- Trouvez la section "Fichiers Internet temporaires", bouton "Affichez",
- Dans la pop-up sélectionner les "ressources", et triez par URL.
- Il est ensuite nécessaire de retrouver les fichiers préfixés par l'URL de votre environnement (nom/adresse IP + port).
- L'applet est nommée "hrapplet.jar". Mais par sécurité supprimez tous les fichiers faisant référence à l'environnement concerné.
1 septembre 2011
Console d'évènement sous HRaSpace v7
Avec HRv7 est apparue la console d'évènements. On y trouve en général des messages concernant les traitements batch.
Les évènements sont stockés dans la table EV10 :
NUMEVT INTEGER
SOURCE CHARACTER 12
CATEGO CHARACTER 12
SERVNM CHARACTER 40
TIMDEB TIMESTAMP
TIMFIN TIMESTAMP
POERRE CHARACTER 1
IDGPRG INTEGER
USERID CHARACTER 25
TEANNU CHARACTER 1
FILENM CHARACTER 254
DESCRS CHARACTER 55
DESCRL VARCHAR 3000
COMPLT VARCHAR 200
Il est possible de retrouver les évènements tracés en table EV10 et analysant les squelettes :
* squelette (source/catégorie)
* BCM "DESCENTER" "ERRSYS" <- Conditionnement <DEBESP> dans le squelette
* BHR "HRASERVER" "CONNECT" <- Conditionnement <DEBESP> dans le squelette
* BHV "SELFSERVICE" "INSTANT" <- Conditionnement <DEBESP> dans le squelette
* BOP "HRASERVER" "BATCHJOB"
* BTS "DESCENTER" "DEPLOY" <- Conditionnement <DEBESP> dans le squelette
On note que malheureusement, la plupart des évènements sont réservés à HRAS du fait d'un conditionnement dans BGZ et BGX si W-WPVA-ESPISV = "ISV" au lieu de "ESP" (les plates-formes dites "ESP" sont des plates formes hébergeant des clients à HRAS) ... Contournement possible : générer un BGZ et un BGX spécifique avec W-WPVA-ESPISV = "ESP", créer une chaine RBZ spécifique, regénérer les programmes BHR BCM BHV BTS (et faire un arret/relance de OpenHR)
Notez qu'il est possible de faire apparaître des évènement sur traitements TP grâce au contexte TBP079 de BNL
insert into PP15 values ('PPCLIDEV','EV_RCVMAIL','digix@webmail.com');
insert into PP15 values ('PPCLIDEV','EV_CDTEMP','DIGIXXXX');
En revanche cette fonction est dans la pratique inutilisable :
Les évènements sont stockés dans la table EV10 :
NUMEVT INTEGER
SOURCE CHARACTER 12
CATEGO CHARACTER 12
SERVNM CHARACTER 40
TIMDEB TIMESTAMP
TIMFIN TIMESTAMP
POERRE CHARACTER 1
IDGPRG INTEGER
USERID CHARACTER 25
TEANNU CHARACTER 1
FILENM CHARACTER 254
DESCRS CHARACTER 55
DESCRL VARCHAR 3000
COMPLT VARCHAR 200
Il est possible de retrouver les évènements tracés en table EV10 et analysant les squelettes :
* squelette (source/catégorie)
* BCM "DESCENTER" "ERRSYS" <- Conditionnement <DEBESP> dans le squelette
* BHR "HRASERVER" "CONNECT" <- Conditionnement <DEBESP> dans le squelette
* BHV "SELFSERVICE" "INSTANT" <- Conditionnement <DEBESP> dans le squelette
* BOP "HRASERVER" "BATCHJOB"
* BTS "DESCENTER" "DEPLOY" <- Conditionnement <DEBESP> dans le squelette
On note que malheureusement, la plupart des évènements sont réservés à HRAS du fait d'un conditionnement dans BGZ et BGX si W-WPVA-ESPISV = "ISV" au lieu de "ESP" (les plates-formes dites "ESP" sont des plates formes hébergeant des clients à HRAS) ... Contournement possible : générer un BGZ et un BGX spécifique avec W-WPVA-ESPISV = "ESP", créer une chaine RBZ spécifique, regénérer les programmes BHR BCM BHV BTS (et faire un arret/relance de OpenHR)
Notez qu'il est possible de faire apparaître des évènement sur traitements TP grâce au contexte TBP079 de BNL
Activation de mails d'alerte
Pour compléter la console d'évènement accessible en Web, il est possible de demander l'activation d'un envoi de mail sur évènement :- création et déploiement du modèle de mail DIGIXXXX créé pour l'occasion :
- Alimentation en PP15 des paramètres d'activation de la fonctionnalité 'Nom du serveur de mail, Destinataires du mail, Code template
insert into PP15 values ('PPCLIDEV','EV_RCVMAIL','digix@webmail.com');
insert into PP15 values ('PPCLIDEV','EV_CDTEMP','DIGIXXXX');
En revanche cette fonction est dans la pratique inutilisable :
- impossible de choisir les types d'évènements justifiant un mail - on est donc "noyé" sous le nombre des messages,
- l'objet du mail correspond au libellé du modèle de mail et ne peut être enrichi,
- le mail contient trop peu d'informations (par exemple, en cas de tentative de connexion, le mail ne dit pas si cette dernière a été acceptée ou refusée !),
- un mail peut arriver 15 minutes après l'évènement ... pas essence le mail n'est pas un système d'alerte fiable.
5 juillet 2011
Retrouver le processus *xx01 associé a un programme technique
Suite à intégration de patch ou personnalisation des objets techniques (aussi appelés "Fichier Micro"), il peut être nécessaire de regénérer des processus techniques. Hors l'association processus technique *xx01 / programme n'est pas documenté.
En fait l'association se trouvera dans le squelette du programme BGH !
Exemple avec un squelette HRv5 (extrait) :
087900*Valeurs du triplet système :
088000* 0C2 = Mvs/Cics/Db2 0I2 = Mvs/Ims/Db2
088100* U O = Unix/ /Oracle U 6 = Unix/ /Db2-6k
088200* U F = Ubix/ /Informix U E = Unix/ /Sybase
088300* AS2 = As400/As400/Db2 0A2 = MVS/APPC
088400*
088500 01 WPL2-VALEUR.
088600 10 FILLER PIC X(9) VALUE "*GEBGE***".
088700 10 FILLER PIC X(9) VALUE "*GEBLZ***".
088800 10 FILLER PIC X(9) VALUE "*GEBRF***".
088900 10 FILLER PIC X(9) VALUE "*GEBGJ***".
089000 10 FILLER PIC X(9) VALUE "*GEBGY***".
089100 10 FILLER PIC X(9) VALUE "*GEBGZ***".
089200 10 FILLER PIC X(9) VALUE "*GEBSC***".
089300 10 FILLER PIC X(9) VALUE " ".
089400 10 FILLER PIC X(9) VALUE "*GEBC7***".
089500 10 FILLER PIC X(9) VALUE "*GEBC8***".
...
Ainsi, pour BC8 le processus technique est *GE01.
Par défaut, utilisez le processus *GE01 ...
En fait l'association se trouvera dans le squelette du programme BGH !
Exemple avec un squelette HRv5 (extrait) :
087900*Valeurs du triplet système :
088000* 0C2 = Mvs/Cics/Db2 0I2 = Mvs/Ims/Db2
088100* U O = Unix/ /Oracle U 6 = Unix/ /Db2-6k
088200* U F = Ubix/ /Informix U E = Unix/ /Sybase
088300* AS2 = As400/As400/Db2 0A2 = MVS/APPC
088400*
088500 01 WPL2-VALEUR.
088600 10 FILLER PIC X(9) VALUE "*GEBGE***".
088700 10 FILLER PIC X(9) VALUE "*GEBLZ***".
088800 10 FILLER PIC X(9) VALUE "*GEBRF***".
088900 10 FILLER PIC X(9) VALUE "*GEBGJ***".
089000 10 FILLER PIC X(9) VALUE "*GEBGY***".
089100 10 FILLER PIC X(9) VALUE "*GEBGZ***".
089200 10 FILLER PIC X(9) VALUE "*GEBSC***".
089300 10 FILLER PIC X(9) VALUE " ".
089400 10 FILLER PIC X(9) VALUE "*GEBC7***".
089500 10 FILLER PIC X(9) VALUE "*GEBC8***".
...
Ainsi, pour BC8 le processus technique est *GE01.
Par défaut, utilisez le processus *GE01 ...
4 juillet 2011
Retrouver la liste des programmes associés à une qualification de processus
Plusieurs méthodes sont possibles :
from FM10, FM30
where FM10.TYFICM=FM30.TYFICM and FM10.NATUFM in ('QAPROS03','QAPROS04','QAPROS05','QAPROS06') and substr(ZOBANA,6,1) in ('B','T','M')
order by substr(ZOBANA,1,2), substr(ZOBANA,3,3);
081900* Qualification de processus 2c
082000* Code programme 3c
082100* Qualification de programme (B,M,T) 1c
082200*
082200 01 W-WPLP-TABLE.
082200 05 W-WPLP-VALEURS.
082200 01 W-WPLP-TABLE.
082200 05 W-WPLP-VALEURS.
082200 10 FILLER PICTURE X(006) VALUE
082200 "GDBLZB".
082200 10 FILLER PICTURE X(006) VALUE
082200 "GDBNRT".
082200 10 FILLER PICTURE X(006) VALUE
082200 "GDBMRB".
082200 10 FILLER PICTURE X(006) VALUE
082200 "GDRBPB".
082200 10 FILLER PICTURE X(006) VALUE
082200 "GDBHRT".
082200 10 FILLER PICTURE X(006) VALUE
082200 "GDBF7B".
- Avec HRD*Studio en consultant les objets techniques de nature QAPROS03 ou QAPROS05
- Par accès SQL aux tables de définition des objets techniques
from FM10, FM30
where FM10.TYFICM=FM30.TYFICM and FM10.NATUFM in ('QAPROS03','QAPROS04','QAPROS05','QAPROS06') and substr(ZOBANA,6,1) in ('B','T','M')
order by substr(ZOBANA,1,2), substr(ZOBANA,3,3);
- En consultant le généré de BGH
081900* Qualification de processus 2c
082000* Code programme 3c
082100* Qualification de programme (B,M,T) 1c
082200*
082200 01 W-WPLP-TABLE.
082200 05 W-WPLP-VALEURS.
082200 01 W-WPLP-TABLE.
082200 05 W-WPLP-VALEURS.
082200 10 FILLER PICTURE X(006) VALUE
082200 "GDBLZB".
082200 10 FILLER PICTURE X(006) VALUE
082200 "GDBNRT".
082200 10 FILLER PICTURE X(006) VALUE
082200 "GDBMRB".
082200 10 FILLER PICTURE X(006) VALUE
082200 "GDRBPB".
082200 10 FILLER PICTURE X(006) VALUE
082200 "GDBHRT".
082200 10 FILLER PICTURE X(006) VALUE
082200 "GDBF7B".
27 mai 2011
Gestion du SIGAGIP.ini et du HRACCESS.ini
Pour les versions de HR Access postérieures à la v3, il est possible de déplacer le fichier de paramètres SIGAGIP.ini hors du répertoire WINDOWS.
Le raccourci vers l'exécutable hraccess.exe peut en effet comporter des commutateurs suivants :
A compter de HRv7, remplacer hraccess.exe par hrstudio.exe.
Le raccourci vers l'exécutable hraccess.exe peut en effet comporter des commutateurs suivants :
- /I Répertoire des fichiers de paramètres d'environnement
- /H Répertoire du fichier HRAccess.ini si ce fichier ne se trouve pas dans le répertoire de Windows
A compter de HRv7, remplacer hraccess.exe par hrstudio.exe.
17 mai 2011
Installation de HR Studio en mode silencieux
De façon à pouvoir déployer automatiquement sur les postes le Client C/S, il est possible d’utiliser le programme d’installation INSTALLSHIELD en mode silencieux.
Sur un premier poste, exécuter le fichier SETUP.EXE avec l’option /r et l’option /f1
Exemple :
Setup.exe /r /f1"c:\temp\setup.iss"
En fin d'installation, récupérez et conservez le fichier setup.iss.
Déposez le fichier setup.iss sur les autres postes à installer.
Sur chacun de ces postes, exécutez le fichier SETUP.EXE avec l’option /s et les options /f1 et /f2.
Exemple :
Setup.exe /s /f1"c:\temp\Setup.iss" /f2"c:\temp\Setup.log"
Setup.log est le nom par défaut donné au fichier journal d'une installation en mode Silencieux.
Le fichier Setup.log contient les trois sections suivantes :
0 Succès
-1 Erreur générale
-2 Mode non valide
-3 Données requises introuvables dans le fichier Setup.iss
-4 Mémoire disponible insuffisante
-5 Fichier inexistant
-6 Impossible d'écrire dans le fichier réponse
-7 Impossible d'écrire dans le fichier journal
-8 Chemin du fichier réponse (.iss) Install Shield Silent non valide
-9 Type de liste non valide (chaîne ou nombre)
-10 Type de données non valide
-11 Erreur inconnue lors de l'installation
-12 Boîtes de dialogue inopérationnelles
-51 Impossible de créer le dossier spécifié
-52 Impossible d'accéder au fichier ou au dossier spécifié
-53 Option sélectionnée non valide
Le fichier journal d'une installation en mode Silencieux réussie se présente comme suit :
[ResponseResult]
ResultCode=0
Pour tous renseignements complémentaire, consultez le site de l'éditeur INSTALLSHIELD.
ex : http://www.flexerasoftware.com/webdocuments/PDF/silent_installs.pdf (chapitre "InstallScript Installations")
Etape 1 : Générer le fichier de réponses aux boîtes de dialogue
Sur un premier poste, exécuter le fichier SETUP.EXE avec l’option /r et l’option /f1
- l’option /r permet d’enregistrer les réponses dans le fichier de réponses (.iss).
- l’option /f1 permet de spécifier le chemin et le nom du fichier de réponse à générer (pour éviter des résultats inattendus, indiquez un chemin absolu).
Exemple :
Setup.exe /r /f1"c:\temp\setup.iss"
En fin d'installation, récupérez et conservez le fichier setup.iss.
Etape 2 : Exécuter le programme d’installation en mode silencieux
Déposez le fichier setup.iss sur les autres postes à installer.
Sur chacun de ces postes, exécutez le fichier SETUP.EXE avec l’option /s et les options /f1 et /f2.
- l’option /s indique que l’installation se fera en mode silencieux
- l’option /f1 permet de spécifier le chemin et le nom du fichier de réponses à prendre en compte (pour éviter des résultats inattendus, indiquez un chemin absolu).
- l’option /f2 permet de spécifier le chemin et le nom du fichier de compte rendu à rédiger (pour éviter des résultats inattendus, indiquez un chemin absolu).
Exemple :
Setup.exe /s /f1"c:\temp\Setup.iss" /f2"c:\temp\Setup.log"
Détails sur le fichier Setup.log
Setup.log est le nom par défaut donné au fichier journal d'une installation en mode Silencieux.
Le fichier Setup.log contient les trois sections suivantes :
- Install Shield Silent : Cette section identifie le fichier comme étant un fichier journal et fournit la version de la fonction Install Shield Silent utilisée dans le cadre de l'installation en mode silencieux.
- Application : Cette section identifie le nom et la version de l'application installée, ainsi que le nom de la société.
- Response Result : Cette section contient le code de résultat qui indique si l'installation en mode Silencieux a réussi. Une valeur entière est affectée au nom de clé ResultCode dans la section Response Result du fichier. Install Shield insère l'une des valeurs suivantes dans la clé ResultCode :
0 Succès
-1 Erreur générale
-2 Mode non valide
-3 Données requises introuvables dans le fichier Setup.iss
-4 Mémoire disponible insuffisante
-5 Fichier inexistant
-6 Impossible d'écrire dans le fichier réponse
-7 Impossible d'écrire dans le fichier journal
-8 Chemin du fichier réponse (.iss) Install Shield Silent non valide
-9 Type de liste non valide (chaîne ou nombre)
-10 Type de données non valide
-11 Erreur inconnue lors de l'installation
-12 Boîtes de dialogue inopérationnelles
-51 Impossible de créer le dossier spécifié
-52 Impossible d'accéder au fichier ou au dossier spécifié
-53 Option sélectionnée non valide
Le fichier journal d'une installation en mode Silencieux réussie se présente comme suit :
[ResponseResult]
ResultCode=0
Pour tous renseignements complémentaire, consultez le site de l'éditeur INSTALLSHIELD.
ex : http://www.flexerasoftware.com/webdocuments/PDF/silent_installs.pdf (chapitre "InstallScript Installations")
16 mai 2011
Longueur maximale des requetes HTTP
Sous Tomcat 5 le paramètre maxHttpHeaderSize permet de préciser la longueur maximale des requêtes HTTP
(en octets). Ceci correspond aux informations que le client envoie au
serveur lors de ses demandes d'accès. La plus grosse partie du header
est en général liée à la méthode HTTP (GET, POST, HEAD, etc.), l'URI (le
chemin à l'objet), le numéro de version du protocole HTTP.
Sa valeur par défaut est de 4096 (4 Ko). Dans l'exemple ci dessous sa valeur est positionnée à 8192 (8 Ko) :
<!- - Define a non-SSL HTTP/1.1 Connector on port 52281 -->
<Connector port="52281" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="52283" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
Sur ses environnements paramétrés avec du "Single Sign On", un collègue Michel a dû monter le maxHttpHeaderSize jusqu'à "65536" (la requête véhiculant des données d’authentification de l'utilisateur).
Avec un Apache en frontal, Michel m'indique qu'il ne faut plus utiliser ce maxHttpHeaderSize (paramètre d'un connecteur HTTP inutilisé) mais le packetsize du connecteur AJP13 et les paramètres proxyIOBufferSize et LimitRequestFieldsize de Apache :
LimitRequestFieldsize 65536
Sa valeur par défaut est de 4096 (4 Ko). Dans l'exemple ci dessous sa valeur est positionnée à 8192 (8 Ko) :
<!- - Define a non-SSL HTTP/1.1 Connector on port 52281 -->
<Connector port="52281" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="52283" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
Sur ses environnements paramétrés avec du "Single Sign On", un collègue Michel a dû monter le maxHttpHeaderSize jusqu'à "65536" (la requête véhiculant des données d’authentification de l'utilisateur).
Avec un Apache en frontal, Michel m'indique qu'il ne faut plus utiliser ce maxHttpHeaderSize (paramètre d'un connecteur HTTP inutilisé) mais le packetsize du connecteur AJP13 et les paramètres proxyIOBufferSize et LimitRequestFieldsize de Apache :
- au niveau du connecteur AJP mettre
- dans le fichier de configuration de Apache préciser :
LimitRequestFieldsize 65536
- le HEADER est envoyé en un seul packet , donc il faut que la taille maximale d'un paquet soit suffisant, d'où les paramétres packetSize & proxyIOBufferSize, qui sont par défaut à 8Ko seulement,
- le paramétre LimitRequestFieldSize permet d'augmenter la taille maximale des HEADER acceptés par Apache , qui est à 8Ko seulement.
13 mai 2011
"IOException" lors du chargement des sessions persistantes
Erreur rencontrée lors d'un redémarrage de HRv7 sous Tomcat 5 après un arrêt brutal. Ce problème se rencontre en théorie "si Tomcat essaie de sérialiser une session dans laquelle sont rangés des objets non sérialisables".
La résolution de l'erreur se fait par la purge du fichier SESSIONS.ser qui se trouve par défaut dans le répertoire work de la webapp concernée (sinon dans répertoire $CATALINA_HOME/work).
org.apache.catalina.session.StandardManager doLoad GRAVE: "IOException" lors du chargement des sessions persistantes: java.io.EOFException
La résolution de l'erreur se fait par la purge du fichier SESSIONS.ser qui se trouve par défaut dans le répertoire work de la webapp concernée (sinon dans répertoire $CATALINA_HOME/work).
12 mai 2011
Page par défaut Tomcat renvoyant sur HRaSpace
La page par défaut Tomcat (ROOT/index.jsp) permet d'accéder au management des applications Web. Pour qu'un utilisateur saisissant une adresse Web incomplète ne tombe pas sur cette page mais sur le portail HR, créez une page index.html spécifique (NB : la welcome-file-list de Tomcat rend la page index.html prioritaire sur index.jsp),
Sous .../hraspace/webapps/ROOT, créer un fichier index.html.
Y placer comme contenu :
<html>
<head><meta http-equiv="refresh" content="0;URL=/hra-space/portal/"></head>
<body></body>
</html>
avec ici "hra-space/portal/" la cible de votre redirection.
cf http://wiki.apache.org/tomcat/HowTo#How_do_I_override_the_default_home_page_loaded_by_Tomcat.3F
Sous .../hraspace/webapps/ROOT, créer un fichier index.html.
Y placer comme contenu :
<html>
<head><meta http-equiv="refresh" content="0;URL=/hra-space/portal/"></head>
<body></body>
</html>
avec ici "hra-space/portal/" la cible de votre redirection.
cf http://wiki.apache.org/tomcat/HowTo#How_do_I_override_the_default_home_page_loaded_by_Tomcat.3F
11 mai 2011
GE01BGV-BBAD0012-DEPASSEMENT DE CAPACITE (TABLE WORKING) : W-WP00-LGTRAV
Lors d'une génération, dépassement de capacité de la zone étalée (limitée à 9.999.999 caractères).
La longueur calculée de la zone étalée dépend de la taille des informations ET du nombre d'occurrences.
Pour supprimer l'erreur, le plus pertinent est de diminuer le nombre d'occurrences des informations multiples rattachées au processus concerné (via l'atelier processus, liste des informations rattachées explicitement).
Le nombre d'occurrences provient de la table AP30, mais par défaut de la table DI40, puis à défaut ce nombre est fixé à 999 occurrences.
Pour voir quelles sont les informations du processus XXXXX et les nombre d'occurrences paramétrés, exécutez sous SQL :
select AP30.CDSTDO, AP30.CDINFO, AP30.NBOCCR, DI40.NBOCCR
from hr.DI40, hr.AP30
where DI40.CDSTDO=AP30.CDSTDO and DI40.CDINFO=AP30.CDINFO
and AP30.CDPROS='XXXXX';
Pour diminuer le nombre d'occurrences, vous pouvez agir au niveau processus.
Pour les processus utilitaires (qualification UT) vous pouvez sans risque positionner un nombre d'occurrence à 2 pour toutes les informations rattachées (les chaînes NOY ne sont pas sensibles au nombre maximum d'occurrences - cf ce message) :
update AP30 set NBOCCR=2, TIMODI=SYSDATE where CDPROS='XXXXX';
Puis regénérez.
La longueur calculée de la zone étalée dépend de la taille des informations ET du nombre d'occurrences.
Pour supprimer l'erreur, le plus pertinent est de diminuer le nombre d'occurrences des informations multiples rattachées au processus concerné (via l'atelier processus, liste des informations rattachées explicitement).
Le nombre d'occurrences provient de la table AP30, mais par défaut de la table DI40, puis à défaut ce nombre est fixé à 999 occurrences.
Pour voir quelles sont les informations du processus XXXXX et les nombre d'occurrences paramétrés, exécutez sous SQL :
select AP30.CDSTDO, AP30.CDINFO, AP30.NBOCCR, DI40.NBOCCR
from hr.DI40, hr.AP30
where DI40.CDSTDO=AP30.CDSTDO and DI40.CDINFO=AP30.CDINFO
and AP30.CDPROS='XXXXX';
Pour diminuer le nombre d'occurrences, vous pouvez agir au niveau processus.
Pour les processus utilitaires (qualification UT) vous pouvez sans risque positionner un nombre d'occurrence à 2 pour toutes les informations rattachées (les chaînes NOY ne sont pas sensibles au nombre maximum d'occurrences - cf ce message) :
update AP30 set NBOCCR=2, TIMODI=SYSDATE where CDPROS='XXXXX';
Puis regénérez.
10 mai 2011
Reduction des temps de latence OpenHR v7
Sur AIX le temps de latence OpenHR est trop long (de l'ordre de 500ms). Ceci est vérifiable en consultant le fichier stop_watch.log.
Un patch a été créé par l'éditeur pour shunter un "ping" consommateur. Pour en disposer il faut être en release 7.17.4 minimum.
Le bug étant spécifique à AIX la mise en service du shunt est à faire manuellement. Pour cela, ajouter la propriété suivante dans la ligne de commande de lancement d'openhr (script $SIGACS/openhr/bin/dispatcher.sh) : -Dcom.hraccess.dispatcher.skip_bhr_ping=true.
Exemple de ligne de commande :
nohup $_RUNJAVA -classpath $OPHRS_HOME/bin/bootstrap.jar -Dcom.hraccess.dispatcher.skip_bhr_ping=true -Dhr.bootjars.dirs=$OPHRS_HOME/lib/boot -Dhr.jars.dirs=$OPHRS_HOME/lib com.hraccess.wutil.WAppLauncher com.hraccess.dispatcher.OpenHRServer $1 $2 $3 $4 $5 $6 $7 $8 $9 1>/dev/null 2>&1 &
Autre option plus radicale : faites corriger le paramétrage du système d'exploitation. Car en tout état de cause, ce fonctionnement est lié à des paramètres AIX : tcp_nodelayack , tcp_nodelay et tcp_nagle_limit (merci Alban pour l'information).
Ce tcp_nodelayack peut être fixé à 1 pour enlever le délai habituel de 200ms pour l'accusé de reception TCP.
Pour lire la valeur de ces paramètres, faites :
no -a | egrep 'tcp_nodelay|tcp_nagle_limit'
Un patch a été créé par l'éditeur pour shunter un "ping" consommateur. Pour en disposer il faut être en release 7.17.4 minimum.
Le bug étant spécifique à AIX la mise en service du shunt est à faire manuellement. Pour cela, ajouter la propriété suivante dans la ligne de commande de lancement d'openhr (script $SIGACS/openhr/bin/dispatcher.sh) : -Dcom.hraccess.dispatcher.skip_bhr_ping=true.
Exemple de ligne de commande :
nohup $_RUNJAVA -classpath $OPHRS_HOME/bin/bootstrap.jar -Dcom.hraccess.dispatcher.skip_bhr_ping=true -Dhr.bootjars.dirs=$OPHRS_HOME/lib/boot -Dhr.jars.dirs=$OPHRS_HOME/lib com.hraccess.wutil.WAppLauncher com.hraccess.dispatcher.OpenHRServer $1 $2 $3 $4 $5 $6 $7 $8 $9 1>/dev/null 2>&1 &
Autre option plus radicale : faites corriger le paramétrage du système d'exploitation. Car en tout état de cause, ce fonctionnement est lié à des paramètres AIX : tcp_nodelayack , tcp_nodelay et tcp_nagle_limit (merci Alban pour l'information).
The TCP_NODELAYACK option prompts TCP to send an immediate acknowledgement, rather than the usual 200 ms delay. Sending an immediate acknowledgement might add a little more overhead, but in some cases, greatly improves performance.
Ce tcp_nodelayack peut être fixé à 1 pour enlever le délai habituel de 200ms pour l'accusé de reception TCP.
Pour lire la valeur de ces paramètres, faites :
no -a | egrep 'tcp_nodelay|tcp_nagle_limit'
15 mars 2011
Ajouter OpenHR a la console HRaSpace
Si vous avez installé la console HRaSpace, par défaut cette dernière ne permet pas de voir OpenHR Server. C'est pourtant utile pour modifier a chaud la politique de log (INFO / DEBUG). Pour le rendre visible ...
Lui attribuer un port IP d'administration (parmi les ports libres sur la machine).
Ajouter global.names=OPENHR.
Relancez le serveur OpenHR par start_openhr.sh.
Contrôlez les logs. En cas de message "Address already in use", vous avez choisi un numéro de port déjà utilisé.
Corrigez votre paramétrage et recommencez.
Fermez les applicatifs java
Stoppez HRaSpace, HRQuery et OpenHR.- Pour OpenHR, stop_openhr.sh,
- Pour HRQuery, stop_query.sh,
- Pour HRaSPace sous Tomcat, shutdown.sh.
Ajouter une fonction OpenHR dans l'objet topologie HRS
Nommer par exemple la fonction "OPENHR".Lui attribuer un port IP d'administration (parmi les ports libres sur la machine).
Faire référence au nom de la fonction dans le fichier paramètre de OpenHR
Dans $SIGACS/openhr/conf/dispatcher.properties,Ajouter global.names=OPENHR.
Relancez le serveur OpenHR par start_openhr.sh.
Contrôlez les logs. En cas de message "Address already in use", vous avez choisi un numéro de port déjà utilisé.
Corrigez votre paramétrage et recommencez.
Redémarrez HRQuery et HRaSpace.
- Pour HRQuery, start_query.sh,
- Pour HRaSPace sous Tomcat, startup.sh.
Accédez a la console.
Après avoir laissé le temps aux WebApps de démarrer, sous IE ou Firefox, accédez à l'URL de la console :
http://...:.../hr-admin-console/
Inscription à :
Articles (Atom)

