PA-PR-NOMDEF
BUT
Cette instruction permet déclencher le parcours itératif des propriétés du pointeur courant d’une nomenclature de définition (nomenclature de pointeur), pour un domaine et groupe donné. Chaque itération déclenchée par cette instruction permet de se positionner sur une propriété du pointeur courant et d’accéder à toute variable propriété du pointeur (par la fonction LEC-NOMDEF).
Cette instruction est liée à l’utilisation de l’instruction PA-NOMDEF qui permet de se positionner sur un pointeur d’une nomenclature de définition.
Cette fonction est disponible uniquement dans les requêtes de type REB.
SYNTAXE
PARCOURS PROP. NOMENCLATURE DEFINITION
DOMAINE = Référence Domaine,
GROUPE = Référence Groupe,
ERREUR = Erreur
PARAMETRES
Paramètre | E/S | O | Type | Description |
DOMAINE | E | Oui | Caractère | Référence du domaine pour lequel les propriétés doivent être parcourues. |
GROUPE | E | Oui | Caractère | Référence du groupe pour lequel les propriétés doivent être parcourues. |
ERREUR | E | Oui | Caractère | Nom de la variable locale qui va contenir l’erreur éventuelle lors du parcours des propriétés (exemple : il n’existe pas de nomenclature de définition). |
EXEMPLE
PARCOURS NOMENCLATURE DEFINITION ENTITE= LIG.CDE , NUM.CDE= CLO."0001000010" , LIG.CDE= CLO."04" , ERREUR= VLO.ErrDeb :
SI VLO.ErrDeb = CGL.VIDE
VLO.domaine = CLO."DOM_NAD"
VLO.Groupes = CLO."Groupe"
/* Vérification existence de propriétés pour le pointeur sur le domaine */
VLO.erreur = LEC-NOMDEF( ACTION= EXI-PROP , DOMAINE= VLO.domaine , GROUPE= TOUS )
SI VLO.erreur EXISTE ET <> ""
TRACE= VLO.erreur
FIN_BLOC
SINON
/* Parcours de propriétés du pointeur pour le domaine */
PARCOURS PROP. NOMENCLATURE DEFINITION DOMAINE= VLO.domaine , GROUPE= TOUS ,
ERREUR= VLO.erreur :
SI VLO.erreur = CGL.VIDE
/* Lecture de chaque propriété */
VLO.erreur = LEC-NOMDEF( ACTION= REC-VALEUR , TYPE-VARIABLE=VBA ,
NOM-VARIABLE= di_prop_dom , S:VALEUR= VLO.domaine )
VLO.erreur = LEC-NOMDEF( ACTION= REC-VALEUR , TYPE-VARIABLE=VBA ,
NOM-VARIABLE= di_prop_grp , S:VALEUR= VLO.groupe )
VLO.erreur = LEC-NOMDEF( ACTION= REC-VALEUR , TYPE-VARIABLE=VBA ,
NOM-VARIABLE= di_prop_ref , S:VALEUR= VLO.reference )
VLO.erreur = LEC-NOMDEF( ACTION= REC-VALEUR , TYPE-VARIABLE=VBA ,
NOM-VARIABLE= di_prop_val , S:VALEUR= VLO.val )
VLO.erreur = LEC-NOMDEF( ACTION= REC-VALEUR , TYPE-VARIABLE=VBA ,
NOM-VARIABLE= di_prop_ord , S:VALEUR= VLO.ord )
VLO.erreur = LEC-NOMDEF( ACTION= REC-VALEUR , TYPE-VARIABLE=VBA ,
NOM-VARIABLE= di_prop_arb , S:VALEUR= VLO.arbo )
FIN_BLOC
FIN_BLOC
FIN_BLOC
FIN_BLOC
FIN_BLOC
NOTES
La variable locale correspondant à l’erreur va contenir un code erreur si le parcours ne peut être exécuté (cas ou l’article ou 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 pour l’entité donnée. Les valeurs possibles sont :
*ERR:CTX-NON-POS : contexte non positionné
*ERR:PAR-NOM-ENC : parcours déjà en cours
*ERR:DEF-VAR-NDE : définition variables vide
*ERR:NPT-NON-DEF-DOM : pas de pointeur associé au domaine
*ERR:NOM-NON-DEF-DOM : pas de nomenclature pour article
*ERR:ART-INC : article inconnu
*ERR:ENT-INC : entité inconnue
*ERR:PTR-INC : pointeur inconnu
*ERR :NOM-INC : nomenclature inconnue
*ERR :PROP-INC : Pas de propriété pour le domaine