fr en

Corriger le référentiel ARCAD sans distribuer les corrections

Objectif :

Certaines corrections peuvent être apportées au réféntiel ARCAD sans qu’il soit nécéssaire de les distribuer en production au plus vite.
Ces corrections sont de l’ordre de :

  • La modification de la localisation de composants (objet ou source)
  • La correction d’un composant mal typé
  • L’ajout ou la modification d’attributs de compilations
  • L’ajout ou la modification de commandes de pré-compilations

Ces corrections, n’impactant pas les « règles métier » ni les traitements, peuvent être appliquées sur le référentiel, sans être immédiatement distribuées vers la production.
Elles ne seront, alors, distribuées que lors de la prochaine modification « standard » (Ouverture d’un version/check out du composant dans la version/Intégration/distribution) du composant impacté. 


ATTENTION :
Le process, détaillé ci-dessous, ne doit être réalisé qu’avec l’accord du LOGITHECAIRE ou à la demande d’un intervenant ARCAD.
En effet, ce process, sortant du fonctionnement « Standard » d’ARCAD, peut, s’il est mal utilisé, mettre à mal l’intégrité du référentiel ARCAD.


Exemple : 
Un composant est rejeté par le DECLARE3 car il est typé comme étant un fichier logique alors que le code source est celui d’un fichier Physique et que l’objet est bien un fichier physique.
Cette situation peut être liée à une anomalie qui n’a pas été corrigée lors de la mise en place d’Arcad.
L’idéal serait donc d’ouvrir une version, d’y placer le composant, de faire un changement de type et de livrer la version.
Mais il est également possible de corriger le référentiel, sans impacter la production dans l’immédiat.
Les corrections ne seront distribuées que lors de la prochaine modification/livraison du composant.

Voici comment procéder : 

1 - Retirer le composant du référentiel

S’initialiser sur l’environnement concerné avec la commande :
AINZCURENV mon_application *NONE *NONE

Créer une liste temporaire QTEMP/LSTTMP à partir du source du composant concerné :
ACRTMBRLST LIB(ma_bibliothèque) SRCFILE(mon_fichier_source) SRCMBR(mon_membre_source) OPTION(*REPLACE)

Si d’autres composants sont à traiter, il faut les ajouter à la liste :
ACRTMBRLST LIB(ma_bibliothèque_2) SRCFILE(mon_fichier_source_2) SRCMBR(mon_membre_source_2) OPTION(*ADD)

Retirer le composant (source et objet) du référentiel :
AUPDOBJREF APP(mon_application) RMVLIST(QTEMP/LSTTMP) RMVDLTELEM(*YES)

Mettre à jour les références croisées :
AUPDXRF OBJ(*LST) APP(mon_application) RMVLIST(QTEMP/LSTTMP) 

2 - Modifier le composant

Pour éviter les blocages ARCAD, il faut enlever la bilbiothèque ARCAD_FRA de la liste des bibliothèques sytème :
CHGSYSLIBL ARCAD_FRA *REMOVE

Modifier le le type du source du composant en le passant de LF à PF via l’option 13 Modifier Texte de PDM.

Remettre la bibliothèque ARCAD_FRA dans la liste des bibliothèque système :
CHGSYSLIBL ARCAD_FRA

3 - Réintégrer le composant modifié dans le référentiel

S’initialiser sur l’environnement concerné :
AINZCURENV mon_application *NONE *NONE

Créer une liste temporaire QTEMP/LSTTMP à partir du source du composant concerné :
ACRTMBRLST LIB(ma_bibliothèque) SRCFILE(mon_fichier_source) SRCMBR(mon_membre_source) OPTION(*REPLACE)

Ajouter le composant (source et objet) au référentiel :
AUPDOBJREF APP(mon_application) ADDLIST(QTEMP/LSTTMP)

Mettre à jour les références croisées :
AUPDXRF OBJ(*LST) APP(mon_application) ADDLIST(QTEMP/LSTTMP) 

Conclusion :

Le référentiel est corrigé.
La correction sera prise en compte lors du prochain CHECK-OUT du composant dans une version.
Et sera distribuée lorsque cette nouvelle version sera validée et distribuée…