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