25 février 2015

Onglet "Paramètres" des Plate-Forme Physiques et usage de la UC13


A partir de HRaSuite 9 et du client 7.30.50, un onglet "Paramètres" est disponible dans les objets Plates-formes physiques. Ces paramètres sont stockés dans la table PP15.

Certains permettent le chiffrement des mots de passe dans l'annuaire HRDesign :
  • UC_TEUC13 : Mode de chiffrement des mots de passe (0, 1 ou 2)
  • UC_NBRMDP : Nombre de mots de passe chiffrés à conserver
  • UC_NBMXCO : Nombre de tentatives infructueuses avant verrouillage de l'utilisateur
  • UC_PWDVTM : Validité en nombre de jours des mots de passe
  • UC_PWDVTW : Nombre de jours pendant lesquels afficher un message d'avertissement



20 février 2015

You are trying to install an older release of Design Center


Le Setup de HR Studio contrôle que vous n'essayez pas d'installer une version plus ancienne que celle déjà en place :



Si tel est le cas l'installation se bloque. Pour cela il se base sur une clef en base de registre (ici sur mon Windows 7 lors de l'installation d'une version 7.30.30 - alors qu'une 7.30.50 est déjà présente) :

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\HR Access Solutions\HR Access\Design Center\7.30\Setup\Version

Il est bien entendu que bricoler cette clef n'est pas recommandé.

18 février 2015

QRSRV2010 Unable to create local archive directory - Too many links


Suite à erreur lors de l'archivage d'une édition par le serveur de Query batch

2015-02-17 15:19:51,270 [00336,A,R,-,HRSYSTEM,ALLHRLO(FR),649223] WARN  - QRSRV2010 Unable to create local archive directory </hraprd/hraccess/txt/arc/nrb/bbbv/649223>
2015-02-17 15:19:51,270 [00336,A,R,-,HRSYSTEM,ALLHRLO(FR),649223] ERROR - QRSRV3015 Error when archiving files. They will be stored to the server's fall back directory </hraprd/hraccess/query/work/ArchiveError>
com.hraccess.query.services.StoreException: Unable to save file <LYT2217067816375899811.TXT> to the local repository


Dans ce cas l'erreur originelle survient lors de la création du sous-répertoire nrb/bbbv/649223 (unable to create directory). Si l'on tente la même action manuellement :

mkdir -p /hraprd/hraccess/txt/arc/nrb/bbbv/649223
mkdir: cannot create /hraprd/hraccess/txt/arc/nrb/bbbv/649223.
/hraprd/hraccess/txt/arc/nrb/bbbv/649223: Too many links

 
Ce n'est pas un problème d'espace disque, mais un nombre de liens (sous répertoires) trop important.

ls /hraprd/hraccess/txt/arc/nrb/bbbv/ | wc -l
   32765


En ajoutant les répertoires . et .. on atteindra les 32768.

Sur les forums je trouve : 
<< The limit is defined in /usr/include/sys/limits.h. There is a limit of 32767 links per directory. The entry is LINK_MAX -> SHRT_MAX=32767. So, you cannot create more than 32765 subdirectories in that directory >>
Lien sur la doc IBM (dans mon cas je suis sous un système AIX 6.1).

Je n'ai pas trouvé d'échapatoires. Ne me reste plus qu'à nettoyer le volume d'archivage (dossiers ZO les plus anciens, puis répertoires associés)...

27 janvier 2015

SCRATCH ! ... Initiation à la programmation informatique

Scratch est un langage qui permet aux enfants de 8 à 16 ans de programmer et partager des histoires, des jeux et des animations. Quand les enfants créent avec Scratch, ils apprennent à penser de façon créative, à travailler en collaboration, à raisonner systématiquement.

L'atelier fonctionne par "drag and drop" de pièces de "puzzle" de code (ici en anglais). Des fiches de présentation et d'exercice permettent de progresser par étape. C'est intuitif, esthétique, amusant ... Mon garçon adore.



Pour ce qui me concerne, difficile de revenir sur l'atelier "Traitement" de HRStudio ensuite !

Ici le site
Ici l'éditeur "off line"
Ici des ressources en français

Bonne découverte.


   
Scratch est conçu et animé par le groupe Lifelong Kindergarten au MIT Media Lab.

20 janvier 2015

AEX-BBAJ0006- NUMERO DE TRAVAIL INVALIDE -1

C'est un classique ... L'exploration EXPL1A ne fonctionne plus car le même code processus PROC1 a été utilisé pour une autre exploration EXPL1B ...

Faite un : SELECT CDEXPL,CDPROS FROM EX20 WHERE CDPROS='PROC1' pour faire un premier bilan. Affectez un nouveau processus à une des explorations, et regénérez ...

Ce vocable "NUMERO DE TRAVAIL" date des premières versions de HR Access où le nom du processus était déterminé dynamiquement par HRStudio lors de la validation de l'exploration. Son code était alors numérique. Rien à voir avec les numéros de dossier des travaux Opération.

7 janvier 2015

Récupérer une table droppée sous Oracle

Oracle a repris depuis Oracle 10g le système de la "corbeille". Ainsi quand on droppe une tables c'est "pour de faux" - et l'espace n'est pas libéré ... Sauf à utiliser une option de purge. Pour visualiser le contenu de la corbeille :

SELECT * FROM RECYCLEBIN; 
ou SELECT * FROM USER_RECYCLEBIN;

La corbeille est propre à chaque schéma. En se connectant SYS la vue DBA_RECYCLEBIN permet de voir tous les objets dans la corbeille quelque soit le propriétaire.


Plus d'informations sur ce blog : http://www.lao-dba.com/article-25701902.html
... et sur la doc Oracle (PURGE, FLASHBACK).

Quelques exemples d'utilisation :
  • Pour nettoyer la corbeille :
PURGE TABLE HR.ZX8K;
PURGE TABLESPACE HRZX; 
PURGE RECYCLEBIN;
  • Pour restaurer une table :
FLASHBACK TABLE ZX8K TO BEFORE DROP RENAME TO ZX8K_OLD;


ATTENTION :
  • Un DROP USER ou DROP TABLESPACE, ne passent pas par la corbeille.
  • Les scripts de maintenance appelant la table User_Objects doivent prévoir une clause pour exclure les nom d'objets commencant par BIN$
  • Si vous restaurez une table depuis la corbeille il faut ensuite renommer les index, contraintes, recréer les contraintes d'intégrité référentielle,

A noter : cette fonctionnalité peut être désactivée au niveau de la base ou au niveau de la session :

ALTER SYSTEM SET RECYCLEBIN=OFF;
ALTER SESSION SET RECYCLEBIN=OFF;


PS : pensez à compléter vos traitements de nettoyage de la base avec la purge de la corbeille.

6 janvier 2015

at: 0481-108 You are not authorized to use the at command

Sous Unix pour exécuter un traitement en tâche de fond, HR Access utilise (via le script $SIGACS/bin/job) la commande "at now".

Exemple de syntaxe :
echo "ma commande > monlog 2>&1" | at now

Le "now" signifie : "déclenchement immédiat" (il peut y avoir des équivalents dans autres langues). La commande reconnait aussi "hhmm" (du jour - ou du lendemain si l’heure est depassée). Il est possible d'être plus précis et d'utiliser le format "[SSAA]MMJJhhmm[.ss]" (avec l'option -t) ou des ajouts sur le modèle de "now + 5 minutes" ou de "next hour". Consultez le "man" pour plus de détails.

echo "ma commande > monlog 2>&1" | at 1200            # a 12h00
echo "ma commande > monlog 2>&1" | at -t 201512312359 # le 31/12/2014 à 23h59

Pour lister les traitements planifiés en attente :
at -l
hradev.1420628400.a     Wed Jan  7 12:00:00 2015
hradev.1451602799.a     Thu Dec 31 23:59:59 2015

Pour déplanifier un traitement :
at -r hradev.1420628400.a
L'administrateur Unix peut restreindre les droits à cette commande "at". Si les droits ne sont pas ouverts pour le compte Unix de l'applicatif, les traitements batch demandés via l'interface Web ne seront pas déclenchés, et un message d'erreur apparaîtra dans $TMP/a.batch :

/hradev/hraccess/txt/log/OPER.594
PHASE: OPER WITH THESE PARAMETERS
PPCLIDEVAS800AS800NBX03PA45000467066ASREL0                                      AS800NBX               PA46                                                      ASRELX0ZYDV           PA47


at: 0481-108 You are not authorized to use the at command.


16 octobre 2014

Des expressions régulières sous Oracle

Dans un "LIKE" classique les seuls métacaractères sont "%" (n caractères quelconques) et "_" (un caractère quelconque).

Mais Oracle permet aussi d'utiliser dans les clauses WHERE une condition LIKE de type REGEXP (expression rationnelle comme celle de la commande Unix "grep"). Ainsi pour lister précisément les tables des structures de données HR et les tables M71 M81 et M91 l'ordre SELECT peut prendre la forme suivante :

SQL> select TABLE_NAME from ALL_TABLES where OWNER='HR' and
    (REGEXP_LIKE(TABLE_NAME,'^[X-Z][A-Z0-9]{3}$')
     -- tables sur 4 caracteres dont le premier vaut X, Y ou Z
  or REGEXP_LIKE(TABLE_NAME,'^[A-Z0-9]+M[789]1$')
     -- tables de nom alphanumerique suffixes M71 M81 ou M91
  or REGEXP_LIKE(TABLE_NAME,'^[X-Z][A-Z0-9]LG1[02]$')
     -- tables de 6 caracteres suffixees LG10 ou LG12 dont le premier vaut X, Y ou Z
  or REGEXP_LIKE(TABLE_NAME,'^[X-Z][A-Z0-9]TD1[12]$')
     -- tables de 6 caracteres suffixes TD11 ou TD12 dont le premier vaut X, Y ou Z
  );

Par défaut
  • le REGEXP_LIKE est sensible à la casse (indiquez en 3ème paramètre un 'i' pour l'ignorer),
  • le "." signifie "caractère quelconque (indiquez 'n' pour qu'il signifie "new line"),
  • chaque ligne est considérée comme distincte des autres (indiquez 'm' pour que la source soient considérées comme une ligne unique),
  • par défaut les "blancs" de la REGEXP sont considérés tels quels (indiquez 'x' pour les ignorer).
Il existe d'autres commandes basées sur ce principe (REGEXP_REPLACE, REGEXP_INSTR, REGEXP_SUBSTR, REGEXP_COUNT). Il faut juste "un peu" de temps pour digérer toutes les règles !

SQL> select NMPRES, REGEXP_REPLACE(NMPRES,'(\S+), (\S+)','\2 \1') as NMPRE2 from ZY3Y where NMPRES like '%,%';

NMPRES                 
NMPRE2
----------------------- --------------------------
DAVIS, Linda            Linda DAVIS
FELTON, James
           James FELTON
RUSSO, Timothy
          Timothy RUSSO

Plus d'informations sur le site Oracle.

24 septembre 2014

Retirer le war peut provoquer la suppression de la webapp

Incident rencontré sur un Tomcat 7.0.47 et HRaSpace 7.30.50.

Suite à réception d'une correction sur la console d'audit, nous :
  • Fermons Tomcat, 
  • Supprimons l'ancienne arborescence webapps/hr-audit-console, 
  • Installons le war dans le répertoire webapps,
  • Et redémarrons. 
L'application est déployée et démarrée par Tomcat.

Nous refermons Tomcat, supprimons le war devenu inutile.
Mais au redémarrage de Tomcat, la webapp hr-audit-console est supprimée ...

Pour corriger ce comportement, la hotline nous a fait remplacer le fichier dom4j-1.4.jar (placé dans .../webapps/hr-audit-console/WEB-INF/lib) par dom4j-1.6.1.jar.

18 septembre 2014

IE bloque les JVM obsolètes

Suite à une mise à jour logicielle, IE refuse de démarrer la JVM car il l'estime obsolète :



Pour débloquer son poste, Marianne a ajouté une clef à la base de registre :
  • Ouvrir la base de registre (menu "start" / "Run" : "regedit")
  • Se positionner sur : HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\ 
  • Cliquer droit sur "Policies" puis "New" "Key"
  • Donner le nom : "Ext" à cette clef
  • Dans "Ext" créer par clic sur « New » « QWORD  (64-bit) » une propriété de nom "VersionCheckEnabled"

  • Vérifier par cliquer droit  sur "VersionCheckEnabled" / "modify" que la valeur est bien à "0".


Suite à sa mise à jour, IE accepte de démarrer la JVM...

Pour en savoir plus.