24 octobre 2016

HR Access 7.30.60 et les objets Tâches

Les objets Tâches sont utilisables depuis HR Studio 7.30.60. Ils permettent d'alléger la charge des actions manuelles à réaliser sous HRStudio. Pour les serveurs HR Access v7 ou v9 ne disposant pas de la fonctionnalité, un kit peut être demandé au Support. Dans de nombreux kits livrés par le support, des "Taches" sont maintenant livrées.

Le kit va notamment créer deux tables techniques : RC59 et RF90, reprendre les triggers de gestion des objets HR, toucher une soixantaine de programmes techniques BT* BU* BY* ainsi que les chaines NRT et des RO* ...




Après ouverture de HR Studio, pensez à modifier les droits de conception de votre utilisateur (droits de conception / Droits indépendants des projets) :
 

L’objet "Tâche" est accessible avec les objets de gestion d’environnement :


Pour l'alimenter il faut le créer et le garder ouvert. On peut alors :
  • L'alimenter en direct (pour le cas des détachements ou des suppressions),
  • Ou en navigant dans l'explorateur HRStudio par clic droit sur d'autres objets, choix "Créer une action" (validation, déploiement, suppression). 
  • Cela marche aussi pour les compteurs de paie !
 Les actions élémentaires sont triées. Il est possible d'en modifier l'ordonnancement, d'indiquer qu'elles sont "bloquantes", de forcer leur statut ("A effectuer", "Effectuée", "Ignorée") ... Mais une par une (on ne peut agir sur une sélection de tâches).

Les Tâches peuvent ensuite être exécutées soit en cliquant directement sur l'objet Tâche lui même, soit en l'éditant et en cliquant sur une sélection d'actions élémentaires. Le compte rendu s'affiche dans l'onglet habituel de HRStudio.

Une fois l'action effectuée, les messages émis par studio ne sont pas conservés avec avec l'objet. On ne peut donc pas conserver et partager une erreur : si HRStudio est fermé le message est perdu.
 
Si un objet est verrouillé, HRStudio n'exécutera pas l'action. Il n’émet qu’un message d’information qu'il faudra retrouver … Mieux vaut rechercher les actions élémentaires dont le statut n'est pas passé à "Effectuée". Malheureusement les "Entêtes" du tableau d'actions élémentaires n'est pas "cliquable" donc il n'est pas possible de les trier.
 

En base de données :
  • En table EN10 les "Tâches" sont des objets de type "AE" ,
  • En table RC54 on retrouvera le statut "A effectuer" dans une ligne où CDACTI=DCSTATUS et CDATR1=TODO (sinon DONE),
  • En table RC59 on retrouvera 
    • La liste des actions élémentaires (CDACTI parmi TOVALID, TODEPLOY, TODELETE, TODELIN …), 
    • Leur statut individuel (CDSTTS parmi T « To do » N « igNore » et D « done »), 
    • A traiter dans l’ordre du NUORDR 
    • Avec un CDATS3=BLOCKING si une erreur sur l’action est bloquante (NOBLOCK sinon), 
    • Avec si nécessaire une référence à l’élément concerné (ex : NAELMT CDELMT = MS 00001 pour le message 00001)

Le script subb4 est relivré. Affectivement, lors d’un import RB4, un paramètre permet de demander ou non la création automatique d’objets Tâche, et d’insérer ou non les éventuels objets tâches livrés dans l’objet tâche créé :
  • 0 = Ne pas créer l'objet tâche
  • 1 = Créer l'objet tâche sans rattachement des objets tâche livrés
  • 2 = Créer l'objet tâche avec rattachement des objets tâche livrés (une tâche peut exécuter des tâches)
La paramètre se trouve en position 42 de la PB73 :

..^.|..^.1..^.|..^.2..^.|..^.3..^.|..^.4..^.|..
PB73                0            IMPORT  2

Les tâches créées par la RB4 sont listées dans le squelettes de BU2
SD TOVALID
IN TOVALID
ST TOVALID
LI TOVALID
SW TOVALID
IW TOVALID
MI TOVALID
MI TODEPLOY
HD TOVALID
HD TODEPLOY
...
BP TOVALID
BP TODEPLOY
AT TOVALID
AT TODEPLOY
NA TOVALID
NS TOVALID
PS TOVALID
PM TOVALID
AE TOEXETSK

Elles seront nommée suivant le formalisme  ##000001 en s’incrémentant.

Dans BU2 on trouve aussi la prise en compte d'un nouveau paramètre PP15 (plate-forme physique) nommé RB_KPNODE. S'il est à "1" alors les objets noeuds orphelins seront conservés (sans cette option ils étaient automatiquement détachés lors des imports RB4).

Deux autres paramètres PP15 sont créés pour être en capacité de contraindre les développeurs à utiliser la bonne version de HRStudio : DC_INFVER et DC_SUPVER (valorisé par exemple à : "7.30.06004.00000"). Le paramètre ne semble pas utilisé par les programmes serveurs mais directement par le poste client.

 
 

3 commentaires:

  1. Bonjour,

    Quelques requêtes que j'utilise pour me faciliter la vie avec les tâches :

    -- Remettre toutes les actions de la tâche à "To Do"
    update rc59 set cdstts = 'T' where cdenti = 'C3BCH210' ;

    -- Réorganiser l'ordre des actions de revalidation dans une tâche (priorités obtenues par tâtonnements, à confirmer)
    merge into RC59 sortie
    using ( with nomtache as (select 'C3BCH181' as nom from dual) -- Entrer le nom de la tâche ici
    select a.*, b.nom, row_number () over ( order by case when cdacti = 'TODETACH' or cdacti = 'TODETAAT' then 10
    when cdacti = 'TODELIN' or cdacti = 'TODELETE' then 12
    when cdacti = 'TOMOVEAT' then 13
    when cdacti = 'TOINSERT' or cdacti = 'TOUPTIN' then 14
    when cdacti = 'TOATTACH' or cdacti = 'TOATCHAT' then 15
    when cdacti = 'TOMOVEAT' then 80
    when cdacti = 'TOUPDATE' then 82 -- en théorie je pense que tout ce qui <100 est interchangeable
    when cdacti = 'TODELETE' then 1000
    when cdacti = 'TOVALID' then 200
    when cdacti = 'TODEPLOY' then 210
    else 18 end, -- normalement il n'y en a pas d'autre
    case when tyenae = 'SD' then 12
    when tyenae = 'IN' then 10
    when tyenae = 'ST' then 11
    when tyenae = 'LI' then 20
    when tyenae = 'IO' then 25
    when tyenae = 'TR' then 30
    when tyenae = 'PS' then 31
    when tyenae = 'WF' and substr(CDENAE,3,1) = 'V' then 50
    when tyenae = 'WF' and substr(CDENAE,3,1) != 'V' then 51
    when tyenae = 'HB' then 60
    when tyenae = 'CX' then 61
    else 99 end, -- autres priorités (???)
    tyenae, cdenae, tyenrf, cdenrf
    ) as rnum
    from rc59 a, nomtache b where a.cdenti = b.nom ) entree
    on ( sortie.tyenti = 'AE' and sortie.cdenti = entree.nom
    -- et toutes les clefs...cf doc technique (bizarre c'est différent de : select * from user_constraints where table_name = 'RC59'; )
    and sortie.tyenti || sortie.cdenti = entree.tyenti || entree.cdenti
    and sortie.TIMODI = entree.TIMODI
    and sortie.CDUTMO = entree.CDUTMO
    and sortie.tyenae || sortie.cdenae = entree.tyenae || entree.cdenae
    and sortie.CDACTI = entree.CDACTI
    and sortie.tyenrf || sortie.cdenrf = entree.tyenrf || entree.cdenrf
    and sortie.NAELMT = entree.NAELMT
    and sortie.CDELMT = entree.CDELMT
    and sortie.CDACID = entree.CDACID
    )
    when matched then update set sortie.nuordr = entree.rnum;

    RépondreSupprimer
  2. Ça c'est du SQL ...
    Merci pour le tuyau !

    RépondreSupprimer
  3. Dans les dernières versions, pour modifier le statut de toutes les actions ie remettre à To Do (A effectuer), dans l'onglet "Définition", on peut aussi sélectionner le statut à "A effectuer".

    RépondreSupprimer