Dans toute requête, il est possible d’utiliser la fonction DIALOG ENR-ACT-ENT pour simuler une réception d’événement interne (message reçu de type « 99 »).
Pour cela, dans DIALOG, il est nécessaire de renseigner les listes standards WfEntAct et WfEntVar avant de lancer la fonction.
-
Liste WfEntAct : (T : type de la variable; O : indique si obligatoire (valeur o) ou non)
|
Nom |
|
Désignation |
O |
Commentaire |
|
Action |
C |
Action à exécuter |
o |
Doit contenir REC |
|
EntTEn |
C |
Entité |
o |
Doit contenir *EVT-INT |
|
EntCl1 |
C |
Clé1 |
o |
Référence Evénement Interne |
|
ActCle |
C |
Lien avec WfEntVar |
|
Permet d’associer le WfEntAct aux WfEntVar |
-
Liste WfEntVar : (T : type de la variable; O : indique si obligatoire (valeur o) ou non)
|
Nom |
T |
Désignation |
O |
Commentaire |
|
ActCle |
C |
Lien avec WfEntAct |
|
Permet d’associer le WfEntVar au WfEntAct |
|
EntTVa |
C |
Type de Variable |
o |
Doit contenir EVT pour les variables de l’événement interne, ou bien SCR ou VCR pour des critères supplémentaires |
|
EntVar |
C |
Variable |
o |
Doit correspondre à une variable du type. Pour les variables de type « EVT », se reporter à la définition des événements internes |
|
EntVaC |
C |
Valeur Alphanumérique |
|
Valeur caractère associée |
|
EntVaN |
N |
Valeur Numérique |
|
Valeur numérique associée |
|
EntVaD |
D |
Valeur Date |
|
Valeur date associée |
|
EntVaL |
L |
Valeur Logique |
|
Valeur logique associée |
Principe : L’événement est traité comme s’il était lu dans la boite aux lettres des événements reçus (messages reçus de type « 99 »).
Exemple :
Requête permettant de réceptionner une commande fournisseur via l’événement AP-RE.
COMMENTAIRE : "Réception Commande d'Appro. par ENR-ACT-ENT"
CREATION Liste WfEntAct :
PRENDRE WfEntAct EntTEn = CLO."*EVT-INT"
PRENDRE WfEntAct Action = CLO."REC"
PRENDRE WfEntAct EntCl1 = CLO."AP-RE"
PRENDRE WfEntAct ActCle = CLO."ACT01"
FIN_BLOC
CREATION Liste WfEntVar :
PRENDRE WfEntVar ActCle = CLO."ACT01"
PRENDRE WfEntVar EntVar = CLO."AppLigDatRec"
PRENDRE WfEntVar EntVaD = DATEJOUR( )
FIN_BLOC
CREATION Liste WfEntVar :
PRENDRE WfEntVar ActCle = CLO."ACT01"
PRENDRE WfEntVar EntVar = CLO."AppLigQteIntRec"
PRENDRE WfEntVar EntVaN = CLO.7,65
FIN_BLOC
CREATION Liste WfEntVar :
PRENDRE WfEntVar ActCle = CLO."ACT01"
PRENDRE WfEntVar EntVar = CLO."AppNumBL"
PRENDRE WfEntVar EntVaC = CLO."REC001"
FIN_BLOC
CREATION Liste WfEntVar :
PRENDRE WfEntVar ActCle = CLO."ACT01"
PRENDRE WfEntVar EntVar = CLO."AppNumCom"
PRENDRE WfEntVar EntVaC = CLO."031000001"
FIN_BLOC
CREATION Liste WfEntVar :
PRENDRE WfEntVar ActCle = CLO."ACT01"
PRENDRE WfEntVar EntVar = CLO."AppNumLig"
PRENDRE WfEntVar EntVaC = CLO."001"
FIN_BLOC
VLO.Res = ENR-ACT-ENT( )
SI VLO.Res EXISTE ET <> ""
RECH PREM LST WfEntAct AVEC WfEntAct.ActErr EXISTE ET <> "" :
LC-Erreur = WfEntAct.ActErr
FIN_BLOC
SINON
LC-Erreur = VLO.Res
FIN_BLOC
FIN_BLOC
Remarque : l’annulation d’une réception d’approvisionnement s’effectue par le même mécanisme, mais avec initialisation du champ « AppLigQteIntRec » avec la quantité « 0 ».