16 mars 2012

*ST01BU2-BBAC0052-Le noeud AT221000 n'est pas referencé dans son arbre, il est supprimé

Sous HRv7, lors de l'import d'un nœud, le programme BU2 réalise un contrôle de rattachement :

Ce qui signifie que l'on ne peut livrer un nouveau noeud QUE par livraison de l'arbre fonctionnel complet.

En effet le message BBAC0052 se déclenche si le noeud en question n'est pas DEJA référencé comme rattaché à l'arbre fonctionnel. Il est alors supprimé.


 296000*CURSEUR SUR LES NOEUDS ORPHELINS                                 7SQ070
 296100*--------------------------------                                 7SQ080
 296200*                                                                 7SQ090
 000001                  EXEC SQL DECLARE CWT20 CURSOR FOR SELECT        DCWT20
 000002                           CDTREE,                                DCWT20
 000003                           CDNODE,                                DCWT20
 000004                           NUVERS,                                DCWT20
 000005                           TIMODI,                                DCWT20
 000006                           TEVERR,                                DCWT20
  ...
 000021                       FROM %1.WT20                               DCWT20
 296400               WHERE  CDTREE||CDNODE NOT IN                       7SQ150
 296500             ( SELECT B.CDENRF                                    7SQ160
 296700               FROM   %1.RC50 B                                   7SQ170
 296800               WHERE  B.TYENRF = "NN"                             7SQ180
 296900               AND    B.TYENTI = "AN"                             7SQ190
 297000               AND    B.NATREF = "I"  )                           7SQ200
 000001                      ORDER BY                                    ORWT20
 000002                           CDTREE                                 ORWT20
 000003                          , CDNODE                                ORWT20
 000004                                                       END-EXEC.  ORWT20
et
 544500*N204X.    NOTE *TRAITEMENT DU NOEUD                *.            P005
 544600 F204X.                                                           P005
 544700*Display BBAC0052 noeud orphelin.                                 P010
 544800     MOVE        "BBAC0052" TO S-CDDISP.                          P020
 544900     MOVE        H-WT20-CDTREE TO S-ZOSUB1.                       P030
 545000     MOVE        H-WT20-CDNODE TO S-ZOSUB2.                       P040
 545100     PERFORM     F97 THRU F97-FN.                                 P050
 545200     MOVE        "04" TO W-WP00-CDRET.                            P060
 545300*Suppression du noeud.                                            P070
 545400     MOVE        H-WT20-CDTREE TO W-WP01-CDTREE.                  P080
 545500     MOVE        H-WT20-CDNODE TO W-WP01-CDNODE.                  P090
 545600     MOVE        "NN" TO W-WP01-TYENTI.                           P100
 545700     MOVE        W-WP01-CDENTI TO XF10-CDENTI.                    P110
 545800     MOVE        "NN" TO XF10-TYENTI.                             P120
 545900     MOVE        "WT20" TO XF10-IDTABL.                           P130
 546000     PERFORM     F9D THRU F9D-FN.                                 P140
 546100     PERFORM     F9GGA THRU F9GGA-FN.                             P150
 546200     PERFORM     F9GCH THRU F9GCH-FN.                             P160
 546300*Effacement table de chgt obj NN.                                 P170
 546400     PERFORM     F8MDE THRU F8MDE-FN.                             P180

Aucun commentaire:

Enregistrer un commentaire