Exemple (GFD) ENR-ACT-ENT Commandes et Lignes de Commandes Commerciales Archivées
Les actions « INI », « INI-SOC » et « INI-PRE » sont disponibles sur les entêtes et lignes de commandes et devis commerciaux archivés. Ces actions permettent d’initialiser WfEntVar qui contient la valeur de chaque variable de l’entité.
Initialisation de WfEntAct :
Nom  | T  | Désignation  | O  | Commentaire  | 
Action  | C  | Action à exécuter  | o  | Doit contenir INI ou INI-SOC ou INI-PRE  | 
ActCle  | C  | Clé de lien avec WfEntVar  | Doit contenir la clé pour les liens avec WfEntVar  | |
EntTEn  | C  | Entité  | o  | Doit contenir ARD_CDC pour les entêtes de commandes/devis ou ARD_CDC-LIG pour les lignes de commandes/devis  | 
EntCl1  | C  | Clé1 entité  | o  | Doit contenir le numéro de commande/devis archivé  | 
EntCl2  | C  | Clé2 entité  | o  | Doit contenir le numéro de ligne de commande/devis archivé pour l’entité ARD_CDC-LIG  | 
EntPre  | C  | Présentation Entité  | O  | Doit contenir la référence de la présentation à utiliser dans le cas où l’action est INI-PRE  | 
Il faut renseigner la base d’archivage de laquelle on souhaite extraire les données. Pour cela, initialiser WfEntVar tel que :
Nom  | T  | Désignation  | O  | Commentaire  | 
ActCle  | C  | Clé de lien avec WfEntAct  | Doit contenir la clé pour les liens avec WfEntAct  | |
EntTEn (*)  | C  | Entité  | Doit contenir ARD_CDC pour les entêtes de commandes/devis ou ARD_CDC-LIG pour les lignes de commandes/devis  | |
EntCl1 (*)  | C  | Clé1 entité  | Doit contenir le numéro de commande/devis archivé  | |
EntCl2 (*)  | C  | Clé2 entité  | Doit contenir le numéro de ligne de commande/devis archivé pour l’entité ARD_CDC-LIG  | |
EntVar  | C  | Variable  | o  | Doit contenir Base_ARD  | 
EntVaC  | C  | Valeur Variable  | o  | Doit contenir le nom de la base d’archivage dans laquelle on récupère les données.  | 
(*) : EntTen, EntCl1 et EntCl2 doivent être utiliser pour faire le lien avec WfEntAct si ActCle n’est pas renseigné.
Pour l’action « INI-SOC » qui permet de récupérer des données dans une société Diapason autre que la société courante, il faut renseigner WfEntVar tel que :
Nom  | T  | Désignation  | O  | Commentaire  | 
ActCle  | C  | Clé de lien avec WfEntAct  | Doit contenir la clé pour les liens avec WfEntAct  | |
EntTEn (*)  | C  | Entité  | Doit contenir ARD_CDC pour les entêtes de commandes/devis ou ARD_CDC-LIG pour les lignes de commandes/devis  | |
EntCl1 (*)  | C  | Clé1 entité  | Doit contenir le numéro de commande/devis archivé  | |
EntCl2 (*)  | C  | Clé2 entité  | Doit contenir le numéro de ligne de commande/devis archivé pour l’entité ARD_CDC-LIG  | |
EntVar  | C  | Variable  | o  | Doit contenir RefSocApp  | 
EntVaC  | C  | Valeur Variable  | o  | Doit contenir la société Diapason dans laquelle on récupère les données.  | 
Exemple : Duplication d’une commande archivée avec certaines de ses lignes
COMMENTAIRE : "Action INI sur Commandes Commerciales et Lignes de Commandes Commerciales archivées pour créer une nouvelle commande"
COMMENTAIRE : "SCR.CdeNumCom = Numéro de Commande archivée à récupérer"
COMMENTAIRE : "VCR.LisCdeNumLig = Liste des Lignes de Commande archivées à copier"
COMMENTAIRE : "SCR.RefBase contient la Base d'archivage à utiliser"
VLO.Act = CLO."INI"
VLO.Cle1 = SCR.CdeNumCom
VLO.LisLig = VCR.LisCdeNumLig
VLO.EntTEn = CLO."ARD_CDC"
VLO.Base = SCR.RefBase
COMMENTAIRE : "Récupération de l'entête de commande"
CREATION Liste WfEntAct :
PRENDRE WfEntAct Action = VLO.Act
PRENDRE WfEntAct ActCle = VLO.Cle1
PRENDRE WfEntAct EntTEn = VLO.EntTEn
PRENDRE WfEntAct EntCl1 = VLO.Cle1
PRENDRE WfEntAct ActErr = CLO.""
PRENDRE WfEntAct ActErr = CLO.""
PRENDRE WfEntAct EntCom = CLO.""
FIN_BLOC
CREATION Liste WfEntVar :
PRENDRE WfEntVar EntTEn = VLO.EntTEn
PRENDRE WfEntVar EntCl1 = VLO.Cle1
PRENDRE WfEntVar ActCle = VLO.Cle1
PRENDRE WfEntVar EntVar = CLO."Base_ARD"
PRENDRE WfEntVar EntVaC = VLO.Base
FIN_BLOC
VLO.Resultat = ENR-ACT-ENT( )
VLO.CreCde = CGL.OUI
RECH PREM LST WfEntAct :
SI WfEntAct.ActErr <> CLO.""
VLO.CreCde = CGL.NON
FIN_BLOC
CREATION Liste Res :
PRENDRE Res EntTEn = WfEntAct.EntTEn
PRENDRE Res Cde = WfEntAct.EntCl1
PRENDRE Res Act = WfEntAct.Action
PRENDRE Res Err = WfEntAct.ActErr
PRENDRE Res Res = WfEntAct.ActRes
FIN_BLOC
FIN_BLOC
SI VLO.CreCde VRAI
COMMENTAIRE : "Création Entête de Commande"
RECH PREM LST WfEntAct :
PRENDRE WfEntAct Action = CLO."CRE"
PRENDRE WfEntAct EntTEn = CLO."CDC"
PRENDRE WfEntAct EntCl1 = CLO."&1"
PRENDRE WfEntAct ActRes = CLO.""
PRENDRE WfEntAct ActErr = CLO.""
PRENDRE WfEntAct EntCom = CLO.""
FIN_BLOC
POUR CHAQUE LST WfEntVar :
PRENDRE WfEntVar EntTEn = CLO."CDC"
PRENDRE WfEntVar EntCl1 = CLO."&1"
FIN_BLOC
VLO.Resultat = ENR-ACT-ENT( )
VLO.NouCde = CLO.""
RECH PREM LST WfEntAct :
SI WfEntAct.ActErr = CLO.""
VLO.NouCde = WfEntAct.ActRes
FIN_BLOC
CREATION Liste Res :
PRENDRE Res EntTEn = WfEntAct.EntTEn
PRENDRE Res Cde = WfEntAct.EntCl1
PRENDRE Res Act = WfEntAct.Action
PRENDRE Res Err = WfEntAct.ActErr
PRENDRE Res Res = WfEntAct.ActRes
FIN_BLOC
FIN_BLOC
SI VLO.NouCde EXISTE ET <> ""
COMMENTAIRE : "Récupération des lignes de commandes archivées"
VLO.NbLig = NB-MOT( SEPARATEUR= CLO."," , CHAINE= VLO.LisLig )
BOUCLE VLO.Boucle DE CLO.1 A VLO.NbLig :
VLO.Cle2 = MOT( SEPARATEUR= CLO."," , CHAINE= VLO.LisLig , NUMERO= VLO.Boucle )
EFFACER Liste WfEntAct
EFFACER Liste WfEntVar
COMMENTAIRE : "Récupération de la ligne de commande"
CREATION Liste WfEntAct :
PRENDRE WfEntAct Action = VLO.Act
PRENDRE WfEntAct ActCle = VLO.Cle1
PRENDRE WfEntAct EntTEn = CLO."ARD_CDC-LIG"
PRENDRE WfEntAct EntCl1 = VLO.Cle1
PRENDRE WfEntAct EntCl2 = VLO.Cle2
PRENDRE WfEntAct ActErr = CLO.""
PRENDRE WfEntAct ActErr = CLO.""
PRENDRE WfEntAct EntCom = CLO.""
FIN_BLOC
CREATION Liste WfEntVar :
PRENDRE WfEntVar EntTEn = CLO."ARD_CDC-LIG"
PRENDRE WfEntVar EntCl1 = VLO.Cle1
PRENDRE WfEntVar EntCl2 = VLO.Cle2
PRENDRE WfEntVar ActCle = VLO.Cle1
PRENDRE WfEntVar EntVar = CLO."Base_ARD"
PRENDRE WfEntVar EntVaC = VLO.Base
FIN_BLOC
VLO.Resultat = ENR-ACT-ENT( )
VLO.CreLig = CGL.OUI
RECH PREM LST WfEntAct :
SI WfEntAct.ActErr <> CLO.""
VLO.CreLig = CGL.NON
FIN_BLOC
CREATION Liste Res :
PRENDRE Res EntTEn = WfEntAct.EntTEn
PRENDRE Res Cde = WfEntAct.EntCl1
PRENDRE Res Lig = WfEntAct.EntCl2
PRENDRE Res Act = WfEntAct.Action
PRENDRE Res Err = WfEntAct.ActErr
PRENDRE Res Res = WfEntAct.ActRes
FIN_BLOC
FIN_BLOC
SI VLO.CreLig VRAI
COMMENTAIRE : "Création Ligne de commande"
RECH PREM LST WfEntAct :
PRENDRE WfEntAct Action = CLO."CRE"
PRENDRE WfEntAct EntTEn = CLO."CDC-LIG"
PRENDRE WfEntAct EntCl1 = VLO.NouCde
PRENDRE WfEntAct EntCl2 = CLO."&1"
PRENDRE WfEntAct ActRes = CLO.""
PRENDRE WfEntAct ActErr = CLO.""
PRENDRE WfEntAct EntCom = CLO.""
FIN_BLOC
POUR CHAQUE LST WfEntVar :
PRENDRE WfEntVar EntTEn = CLO."CDC-LIG"
PRENDRE WfEntVar EntCl1 = VLO.NouCde
PRENDRE WfEntVar EntCl2 = CLO."&1"
FIN_BLOC
VLO.Resultat = ENR-ACT-ENT( )
RECH PREM LST WfEntAct :
CREATION Liste Res :
PRENDRE Res EntTEn = WfEntAct.EntTEn
PRENDRE Res Cde = WfEntAct.EntCl1
PRENDRE Res Lig = WfEntAct.EntCl2
PRENDRE Res Act = WfEntAct.Action
PRENDRE Res Err = WfEntAct.ActErr
PRENDRE Res Res = WfEntAct.ActRes
FIN_BLOC
FIN_BLOC
FIN_BLOC
FIN_BLOC
FIN_BLOC
FIN_BLOC