Exemple (GFD) ENR-ACT-ENT Série + OFs
A partir d’une liste « TMP » contenant une liste d’OF à lancer :
Création d’une série et du premier OF de la série, un seul EAE pour les deux opérations
Récupération du numéro de série,
Création des autres OF de la série.
POUR CHAQUE LST TMP :
VLO.NumOrdreOF = VLO.NumOrdreOF + CLO.1
VLO.GenRefArt = TMP.GenRefArt
VLO.DatBes = TMP.DateFab
VLO.QteFab = TMP.QteFab
VLO.Jour = CHAINE( VALEUR= VLO.PosLst , FORMAT= E/1 )
VLO.PropLct = CLO." &1"
SI VLO.NumOrdreOF = CLO.1
EFFACER Liste WfEntAct
EFFACER Liste WfEntVar
COMMENTAIRE : "*** Création SERIE ***"
CREATION Liste WfEntAct :
PRENDRE WfEntAct Action = CLO."CRE"
PRENDRE WfEntAct EntTEn = CLO."LAN"
PRENDRE WfEntAct ActCle = CLO."01"
PRENDRE WfEntAct EntCl1 = VLO.PropLct
COMMENTAIRE : "*** Priorisation du Traitement Série par Numéro d'Ordre ***"
PRENDRE WfEntAct ActNOr = CLO."01"
FIN_BLOC
CREATION Liste WfEntVar :
PRENDRE WfEntVar EntTEn = CLO."LAN"
PRENDRE WfEntVar ActCle = CLO."01"
PRENDRE WfEntVar EntTVa = CLO."SLA"
PRENDRE WfEntVar EntVar = CLO."GesUtiRef"
PRENDRE WfEntVar EntVaC = CLO."FAB"
FIN_BLOC
CREATION Liste WfEntVar :
PRENDRE WfEntVar EntTEn = CLO."LAN"
PRENDRE WfEntVar ActCle = CLO."01"
PRENDRE WfEntVar EntTVa = CLO."SLA"
PRENDRE WfEntVar EntVar = CLO."FabUniProRef"
PRENDRE WfEntVar EntVaC = CLO."USINE"
FIN_BLOC
CREATION Liste WfEntVar :
PRENDRE WfEntVar EntTEn = CLO."LAN"
PRENDRE WfEntVar ActCle = CLO."01"
PRENDRE WfEntVar EntTVa = CLO."SLA"
PRENDRE WfEntVar EntVar = CLO."LanSerMet"
PRENDRE WfEntVar EntVaC = CLO."DF"
FIN_BLOC
CREATION Liste WfEntVar :
PRENDRE WfEntVar EntTEn = CLO."LAN"
PRENDRE WfEntVar ActCle = CLO."01"
PRENDRE WfEntVar EntTVa = CLO."SLA"
PRENDRE WfEntVar EntVar = CLO."LanSerPreFinDat"
PRENDRE WfEntVar EntVaD = TMP.DateFab
FIN_BLOC
COMMENTAIRE : "*** Création du Premier OF ***"
CREATION Liste WfEntAct :
PRENDRE WfEntAct Action = CLO."CRE"
PRENDRE WfEntAct EntTEn = CLO."LLA"
PRENDRE WfEntAct EntCl1 = CLO."&1"
PRENDRE WfEntAct EntCl2 = VLO.PropLct
PRENDRE WfEntAct ActCle = CLO."02"
COMMENTAIRE : "*** Traitement en second ordre, grâce au numéro d'ordre ***"
PRENDRE WfEntAct ActNOr = CLO."02"
FIN_BLOC
CREATION Liste WfEntVar :
PRENDRE WfEntVar EntTEn = CLO."LLA"
PRENDRE WfEntVar ActCle = CLO."02"
PRENDRE WfEntVar EntTVa = CLO."SLL"
PRENDRE WfEntVar EntVar = CLO."LanSerMet"
PRENDRE WfEntVar EntVaC = CLO."DF"
FIN_BLOC
CREATION Liste WfEntVar :
PRENDRE WfEntVar EntTEn = CLO."LLA"
PRENDRE WfEntVar ActCle = CLO."02"
PRENDRE WfEntVar EntTVa = CLO."SLL"
PRENDRE WfEntVar EntVar = CLO."LanTypArt"
PRENDRE WfEntVar EntVaC = CLO."R"
FIN_BLOC
CREATION Liste WfEntVar :
PRENDRE WfEntVar EntTEn = CLO."LLA"
PRENDRE WfEntVar ActCle = CLO."02"
PRENDRE WfEntVar EntTVa = CLO."SLL"
PRENDRE WfEntVar EntVar = CLO."GenRefArt"
PRENDRE WfEntVar EntVaC = VLO.GenRefArt
FIN_BLOC
CREATION Liste WfEntVar :
PRENDRE WfEntVar EntTEn = CLO."LLA"
PRENDRE WfEntVar ActCle = CLO."02"
PRENDRE WfEntVar EntTVa = CLO."SLL"
PRENDRE WfEntVar EntVar = CLO."LanSerPreFinDat"
PRENDRE WfEntVar EntVaD = VLO.DatBes
FIN_BLOC
CREATION Liste WfEntVar :
PRENDRE WfEntVar EntTEn = CLO."LLA"
PRENDRE WfEntVar ActCle = CLO."02"
PRENDRE WfEntVar EntTVa = CLO."SLL"
PRENDRE WfEntVar EntVar = CLO."LanSerFabQteLan"
PRENDRE WfEntVar EntVaN = VLO.QteFab
FIN_BLOC
COMMENTAIRE : "*** Lancement du EAE : Série + Premier OF ***"
VLO.ResFctEAE = ENR-ACT-ENT( )
SI VLO.ResFctEAE <> CLO.""
RECH PREM LST WfEntAct :
TRACE= CLO."ERR SERIE" + " " + WfEntAct.ActErr
FIN_BLOC
FIN_BLOC
SINON
COMMENTAIRE : "*** Récupération du numéro d'OF ***"
RECH DER LST WfEntAct :
VLO.NumOF1 = WfEntAct.ActRes
FIN_BLOC
FIN_BLOC
EFFACER Liste WfEntAct
EFFACER Liste WfEntVar
FIN_BLOC
VLO.GenRefArt = TMP.GenRefArt
VLO.DatBes = TMP.DateFab
VLO.QteFab = TMP.QteFab
COMMENTAIRE : "*** Calcul Numéro OF / Numéro Série ***"
VLO.NumSerie = SS-CHAINE( CHAINE= VLO.NumOF1 , DEBUT= 1 , LONGUEUR= 9 )
COMMENTAIRE : "*** Ajout des OF supplémentaires ***"
CREATION Liste WfEntAct :
PRENDRE WfEntAct Action = CLO."CRE"
PRENDRE WfEntAct EntTEn = CLO."LLA"
PRENDRE WfEntAct EntCl1 = CLO."&1"
PRENDRE WfEntAct EntCl2 = VLO.NumSerie
PRENDRE WfEntAct ActCle = CLO."03"
PRENDRE WfEntAct ActNOr = CLO."03"
FIN_BLOC
CREATION Liste WfEntVar :
PRENDRE WfEntVar EntTEn = CLO."LLA"
PRENDRE WfEntVar ActCle = CLO."03"
PRENDRE WfEntVar EntTVa = CLO."SLL"
PRENDRE WfEntVar EntVar = CLO."LanSerMet"
PRENDRE WfEntVar EntVaC = CLO."DF"
FIN_BLOC
CREATION Liste WfEntVar :
PRENDRE WfEntVar EntTEn = CLO."LLA"
PRENDRE WfEntVar ActCle = CLO."03"
PRENDRE WfEntVar EntTVa = CLO."SLL"
PRENDRE WfEntVar EntVar = CLO."LanTypArt"
PRENDRE WfEntVar EntVaC = CLO."R"
FIN_BLOC
CREATION Liste WfEntVar :
PRENDRE WfEntVar EntTEn = CLO."LLA"
PRENDRE WfEntVar ActCle = CLO."03"
PRENDRE WfEntVar EntTVa = CLO."SLL"
PRENDRE WfEntVar EntVar = CLO."GenRefArt"
PRENDRE WfEntVar EntVaC = VLO.GenRefArt
FIN_BLOC
CREATION Liste WfEntVar :
PRENDRE WfEntVar EntTEn = CLO."LLA"
PRENDRE WfEntVar ActCle = CLO."03"
PRENDRE WfEntVar EntTVa = CLO."SLL"
PRENDRE WfEntVar EntVar = CLO."LanSerPreFinDat"
PRENDRE WfEntVar EntVaD = VLO.DatBes
FIN_BLOC
CREATION Liste WfEntVar :
PRENDRE WfEntVar EntTEn = CLO."LLA"
PRENDRE WfEntVar ActCle = CLO."03"
PRENDRE WfEntVar EntTVa = CLO."SLL"
PRENDRE WfEntVar EntVar = CLO."LanSerFabQteLan"
PRENDRE WfEntVar EntVaN = VLO.QteFab
FIN_BLOC
VLO.ResFctEAE = ENR-ACT-ENT( )
SI VLO.ResFctEAE EXISTE ET <> ""
RECH PREM LST WfEntAct :
TRACE= CLO."ERR OF" + " " + WfEntAct.ActErr
FIN_BLOC
FIN_BLOC
SINON
POUR CHAQUE LST WfEntAct :
VLO.Cpt = VLO.Cpt + CLO.1
VLO.NumOF = WfEntAct.ActRes
TRACE= CLO."Num OF" + " " + CHAINE( VALEUR= VLO.Cpt ) + " " + VLO.NumOF
FIN_BLOC
FIN_BLOC
EFFACER Liste WfEntAct
EFFACER Liste WfEntVar
FIN_BLOC