Skip to main content
Skip table of contents

PA-NOMDEF-ARC

BUT

Cette instruction permet de déclencher le parcours récursif d’une nomenclature de définition (nomenclature de pointeur) d’une ligne de commande archivée. Chaque itération déclenchée par cette instruction permet de se positionner sur un pointeur et d’accéder à toute variable contextuelle du pointeur (par la fonction LEC-NOMDEF-ARC) et de parcourir :

  • les informations techniques du pointeur (par l’instruction PA-IT-NOMDEF-ARC)

  • les propriétés du pointeur (par l’instruction PA-PR-NOMDEF-ARC)

Cette fonction est disponible uniquement dans les requêtes de type REB.

 

SYNTAXE

PARCOURS NOMENCLATURE DEFINITION ARCHIVE,

ENTITE = LIGNE DE COMMANDE,

NUM.CDE=Num.Cde ,

LIG.CDE= Lig.Cde,

ERREUR = Erreur

  

PARAMETRES

Paramètre

E/S

O

Type

Description

Num.Cde

E

Oui

Caractère

Numéro de commande archivé correspondant à la nomenclature de définition à parcourir. Peut être donné sous la forme d’une constante ou d’une variable (variable locale ou contextuelle à la requête). A renseigner si entité ligne de commande.

Lig.Cde

E

Oui

Caractère

Numéro de ligne de commande commerciale archivé ou numéro de ligne de besoin de gestion archivé correspondant à la nomenclature de définition à parcourir. Peut être donné sous la forme d’une constante ou d’une variable (variable locale ou contextuelle à la requête). A renseigner si entité ligne de commande.

Erreur

E

Oui

Caractère

Nom de la variable locale qui va contenir l’erreur éventuelle lors du parcours de la nomenclature de définition (exemple : il n’existe pas de nomenclature de définition).

 EXEMPLE 

COMMENTAIRE : "Bloc1"

VLO.NumCde = SCR.CdeNumCom

VLO.NumLig = SCR.CdeNumLig

COMMENTAIRE : "Bloc2"

VLO.Fct = SELECT-BASE(BASE-ARCHI= TISARD )

COMMENTAIRE : "Bloc3"

VLO.Fct = LEC-NOMDEF-ARC( ACTION= DEFINITION , TYPE-VARIABLE=VBA , NOM-VARIABLE= CLO."ge-des-gene" , S:VALEUR= VLO.Retour )

VLO.Fct = LEC-NOMDEF-ARC( ACTION= DEFINITION , TYPE-VARIABLE=VBA , NOM-VARIABLE= CLO."di-qte-tot" , S:VALEUR= VLO.Retour )

VLO.Fct = LEC-NOMDEF-ARC( ACTION= DEFINITION , TYPE-VARIABLE=VBA , NOM-VARIABLE= CLO."di-niveau" , S:VALEUR= VLO.Retour )

VLO.Fct = LEC-NOMDEF-ARC( ACTION= DEFINITION , TYPE-VARIABLE=VBA , NOM-VARIABLE= CLO."s_hauteur" , S:VALEUR= VLO.Retour )

VLO.Fct = LEC-NOMDEF-ARC( ACTION= DEFINITION , TYPE-VARIABLE=VBA , NOM-VARIABLE= CLO."s_coulouv" , S:VALEUR= VLO.Retour )

COMMENTAIRE : "Bloc4"

PARCOURS NOMENCLATURE DEFINITION ARCHIVE ENTITE= LIG.CDE , NUM.CDE= VLO.NumCde , LIG.CDE= VLO.NumLig , ERREUR= VLO.Erreur_Parcours_Nom :

COMMENTAIRE : "Bloc5"

VLO.Fct = LEC-NOMDEF-ARC( ACTION= POINTEUR , S:VALEUR= VLO.Rec_Pointeur )

VLO.Fct = LEC-NOMDEF-ARC( ACTION= REC-VALEUR , TYPE-VARIABLE=VBA , NOM-VARIABLE= CLO."ge-des-gene" , S:VALEUR= VLO.Rec_des_gene )

VLO.Fct = LEC-NOMDEF-ARC( ACTION= REC-VALEUR , TYPE-VARIABLE=VBA , NOM-VARIABLE= CLO."di-qte-tot" , S:VALEUR= VLO.Rec_Car_QteTot )

VLO.Rec_QteTot = DECIMAL( VALEUR= VLO.Rec_Car_QteTot )

VLO.Fct = LEC-NOMDEF-ARC( ACTION= REC-VALEUR , TYPE-VARIABLE=VBA , NOM-VARIABLE= CLO."di-niveau" , S:VALEUR= VLO.Rec_Car_Niveau )

VLO.Rec_Niveau = ENTIER( VALEUR= VLO.Rec_Car_Niveau )

VLO.Fct = LEC-NOMDEF-ARC( ACTION= REC-VALEUR , TYPE-VARIABLE=VBA , NOM-VARIABLE= CLO."s_hauteur" , S:VALEUR= VLO.Rec_Car_Hauteur )

VLO.Rec_Hauteur = DECIMAL( VALEUR= VLO.Rec_Car_Hauteur )

VLO.Fct = LEC-NOMDEF-ARC( ACTION= REC-VALEUR , TYPE-VARIABLE=VBA , NOM-VARIABLE= CLO."s_coulouv" , S:VALEUR= VLO.Rec_Couleur )

VLO.Compteur_Lien = VLO.Compteur_Lien + CLO.1

CREATION Liste LST.LstNom :

PRENDRE LstNom NumOrd = VLO.Compteur_Lien

PRENDRE LstNom Niveau = VLO.Rec_Niveau

PRENDRE LstNom Ident = VLO.Rec_Pointeur

PRENDRE LstNom Designation = REPETE( CHAINE= CLO."." , NOMBRE= VLO.Rec_Niveau ) + VLO.Rec_des_gene

PRENDRE LstNom QteTot = VLO.Rec_QteTot

PRENDRE LstNom Hauteur = VLO.Rec_Hauteur

PRENDRE LstNom Couleur = VLO.Rec_Couleur

FIN_BLOC

COMMENTAIRE : "Bloc6"

PARCOURS INF.TEC. NOMENCLATURE DEFINITION ARCHIVE, ERREUR= VLO.Erreur_Parcours_ITs :

COMMENTAIRE : "Bloc7"

VLO.Fct = LEC-NOMDEF-ARC( ACTION= REC-VALEUR , TYPE-VARIABLE=VBA , NOM-VARIABLE= CLO."di-t-type" , S:VALEUR= VLO.Rec_IT_Type )

TRACE= CLO."Retour Lecture IT" + " " + VLO.Rec_IT_Type + " " + CLO."Valeur Type IT=" + " " + VLO.Rec_IT_Type

VLO.Fct = LEC-NOMDEF-ARC( ACTION= REC-VALEUR , TYPE-VARIABLE=VBA , NOM-VARIABLE= CLO."di-t-sstype" , S:VALEUR= VLO.Rec_IT_SsType )

VLO.Fct = LEC-NOMDEF-ARC( ACTION= REC-VALEUR , TYPE-VARIABLE=VBA , NOM-VARIABLE= CLO."di-t-code" , S:VALEUR= VLO.Rec_IT_Code )

VLO.Fct = LEC-NOMDEF-ARC( ACTION= REC-VALEUR , TYPE-VARIABLE=VBA , NOM-VARIABLE= CLO."di-t-valeur" , S:VALEUR= VLO.Rec_IT_Valeur )

VLO.Compteur_Lien = VLO.Compteur_Lien + CLO.1

CREATION Liste LstNom :

PRENDRE LstNom NumOrd = VLO.Compteur_Lien

PRENDRE LstNom Ident = VLO.Rec_Pointeur

PRENDRE LstNom Type = VLO.Rec_IT_Type

PRENDRE LstNom SsType = VLO.Rec_IT_SsType

PRENDRE LstNom Code = VLO.Rec_IT_Code

PRENDRE LstNom Valeur = VLO.Rec_IT_Valeur

FIN_BLOC

FIN_BLOC

COMMENTAIRE : "Bloc8"

SI VLO.Erreur_Parcours_ITs <> CLO.""

TRACE= CLO."Code erreur parcours nomenclature" + " " + VLO.Erreur_Parcours_ITs

CREATION Liste LstNom :

PRENDRE LstNom Ident = VLO.Rec_Pointeur

PRENDRE LstNom Designation = CLO."Erreur ITs" + " " + VLO.Erreur_Parcours_ITs

FIN_BLOC

FIN_BLOC

FIN_BLOC

COMMENTAIRE : "Bloc9"

SI VLO.Erreur_Parcours_Nom <> CLO.""

TRACE= CLO."Code erreur parcours nomenclature" + " " + VLO.Erreur_Parcours_Nom

CREATION Liste LstNom :

PRENDRE LstNom Designation = CLO."Erreur parcours =" + " " + VLO.Erreur_Parcours_Nom

FIN_BLOC

FIN_BLOC

Dans cet exemple, les points particuliers identifiés par les commentaires sont les suivants :

  • Bloc 1 : les instructions qui suivent permettent de définir les variables contextuelles de la requête à partir des critères.

  • Bloc 2 : l’instruction qui suit permet d’indiquer quelle base d’archivage va être utilisé par les instructions qui suivent.

  • Bloc 3 : les instructions qui suivent utilisent la fonction LEC-NOMDEF-AR avec l’action DEFINITION pour déclarer les variables devant être utilisées.

  • Bloc 4 : l’instruction qui suit déclenche le parcours itératif de la nomenclature de pointeur, sur une ligne de commande.

  • Bloc 5 : les instructions qui suivent utilisent la fonction LEC-NOMDEF-ARC pour récupérer des valeurs de variables VBAs de nomenclature, les mémoriser dans des variables pour les enregistrer par la suite dans une liste.

  • Bloc 6 : l’instruction qui suit déclenche le parcours itératif des informations techniques du pointeur en cours de parcours.

  • Bloc 7 : les instructions qui suivent utilisent la fonction LEC-NOMDEF-ARC pour récupérer des valeurs des informations techniques du pointeur courant, les mémoriser dans des variables pour les enregistrer par la suite dans une liste.

  • Bloc 8 : les instructions qui suivent permettent de piloter l’erreur éventuelle sur le parcours des informations techniques.

  • Bloc 9 : les instructions qui suivent permettent de piloter l’erreur éventuelle sur le parcours des nomenclatures de pointeurs.

NOTES

La variable locale correspondant à l’erreur va contenir un code erreur si le parcours ne peut être exécuté (cas la ligne de commande ou de besoin de gestion donnés sont incohérents) ou bien si la nomenclature de définition n’est pas définie. Les valeurs possibles sont identiques à celles de l’instruction PA-NOMDEF.

Cette instruction permet de parcourir une nomenclature de pointeur archivée sous forme itérative : le premier pointeur correspond au pointeur de niveau 0, puis le parcours est effectué dans l’ordre récursif de la nomenclature.

Cette instruction ne peut être utilisée que si l’instruction BASE-ARCHIVE a été auparavant utilisée pour indiquer la base d’archivage à utiliser pour rechercher la ligne commerciale ou la ligne de besoin de gestion correspondante.

Cette instruction permet d’utiliser la fonction LEC-NOMDEF-ARC pour accéder à toute variable contextuelle du pointeur courant.

Cette instruction permet d’utiliser les instructions :

  • PA-IT-NOMDEF-ARC pour parcourir les informations techniques du pointeur courant

  • PA-PR-NOMDEF-ARC pour parcourir les propriétés du pointeur courant.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.