EXE-DOC EXECUTION DOCUMENT
BUT
La fonction EXE-DOC permet d’exécuter des documents sur les types suivants :
(1): Edition par Requête DIAPASON
(2): Edition Etiquettes
(3): Fichier Optimisation
(4): Dossier
(5): REB
TYPE
CARACTERE (rubrique Fonction Gestion pour tout type de requête).
SYNTAXE
Variable = EXE-DOC ( DOCUMENT = Référence du document,
MODE = Mode de sortie,
IMPRIMANTE = Référence imprimante destination,
FICHIER = Nom du fichier destinataire (si sortie fichier),
DOC-CAR = Liste chaînée d’autres caractéristiques d’exécution,
DOC-MAJ = Type de mise à jour effectuée après postage,
DOC-CLE = Clé liée à la mise à jour à effectuer)
PARAMETRES
Paramètre | E/S | O | Type | Description | ||||||||||||||||||||||||
DOCUMENT | E | Oui | Caractère | Référence du document. | ||||||||||||||||||||||||
MODE | E | Non | Caractère | Mode de sortie dont les valeurs possibles sont :
Le mode de sortie interactif est forcé au mode batch dans l’environnement graphique. Si non défini, prend pour valeur défaut B (Batch). | ||||||||||||||||||||||||
IMPRIMANTE | E | Non | Caractère | Référence imprimante. Doit exister et être valide. Si non renseignée ou non valide, l’imprimante défaut paramétrée pour le contexte d’exécution du document est prise en compte. Il n’est pas possible d’utiliser des imprimantes dont le nom commence par « TERM » ; si tel est le cas, Diapason prend l’imprimante « FICHIER » par défaut. La fonction renvoie une erreur si la référence n’existe pas. | ||||||||||||||||||||||||
FICHIER | E | Non | Caractère | Nom du fichier. Si non renseigné, le nom de fichier défaut paramétré pour le contexte d’exécution du document est pris en compte. | ||||||||||||||||||||||||
DOC-CAR | E | Non | Caractère | Caractéristiques complémentaires d’éditions. Si non renseignées, les caractéristiques défauts paramétrées pour le contexte d’exécution du document sont prises en compte. Présentées sous forme d’une liste chaînée dont le séparateur est le point virgule, les caractéristiques sont initialisées de la manière suivante : <Nom_Caractéristique> = <Valeur_Caractéristique> Les caractéristiques possibles sont :
La fonction ne renvoie pas d’erreur si l’un des paramètres n’est pas valide. La valeur défaut du document est prise en compte. | ||||||||||||||||||||||||
DOC-MAJ | E | Non | Caractère | Mise à jour de statut à effectuer après le postage de l’édition dont les valeurs possibles sont :
Si aucun statut n’est géré, le paramètre doit être vide. Si valeur renseignée non valide, le paramètre est considéré vide Pas de gestion de statut. | ||||||||||||||||||||||||
DOC-CLE | E | Non | Caractère | Clé pour mise à jour de statut à effectuer après postage de l’édition. Selon la mise à jour de statut à effectuer, doit contenir :
La fonction renvoie une erreur si la valeur renseignée n’est pas valide. |
INITIALISATION PREALABLE
Pour les documents REB, Le critère du document doit être initialisé grâce à l’utilisation de la fonction « INI-CRI-DOC » avant l’appel de la fonction.
Pour les autres le passage de critère au document doit comprendre :
L’identification de l’entité sur laquelle est exécuté le document.
L’initialisation de critères complémentaires éventuels (variables SCR ou VCR).
Les critères sont toujours initialisables via la fonction « INI-CRI-DOC » (possibilité d’initialiser des variables SCR et VCR).
Le principe de l’identification de l’entité dans le critère est piloté par l’initialisation des variables CriCle ou CriListesCles et suit le principe dans le tableau suivant :
Clé | Désignation Entité | Initialisation via INI-CRI-DOC |
10 | Article | Variable à initialiser : SCR.CriCle Contient la référence article à considérer. |
11 | Liste d'Articles | Variable à initialiser : SCR.CriListesCles Contient la liste des articles à considérer ; chaque article est séparé par le caractère ,(virgule) (exemple : R1,R2 : les 2 articles référencés R1 et R2 seront considérés). |
15 | Commande Commerciale | Variable à initialiser : SCR.CriCle Contient le numéro de commande commerciale à considérer |
16 | Ligne de Commande Commerciale | Variable à initialiser : SCR.CriCle Contient le numéro de ligne de commande commerciale à considérer sous la forme numéro_commande + numéro_ligne (exemple : 0307000001+001 : la ligne 001 de la commande 0307000001) |
17 | Liste de Lignes de Commande Com. | Variable à initialiser : SCR.CriListesCles Contient la liste des lignes de commandes à considérer ; chaque ligne est séparée par le caractère ,(virgule) ; chaque ligne est identifiée par le numéro_commande+numéro_ligne (exemple : 0307000001+001, 0307000001+002, 0307000002+001 : trois lignes de commandes sont considérés : les lignes 001 et 002 de la commande 0307000001, la ligne 001 de la commande 0307000002). |
18 | Liste de Commandes Commerciales | Variable à initialiser : SCR.CriListesCles Contient la liste des commandes commerciale à considérer ; chaque commande est séparé par le caractère ,(virgule) (exemple : 0307000001, 0307000002 : les commandes 0307000001 et 0307000002 seront considérés). |
20 | Commande | Variable à initialiser : SCR.CriCle Contient le numéro de besoin de gestion à considérer |
21 | Ligne de Commande | Variable à initialiser : SCR.CriCle Contient le numéro de ligne de besoins de gestion à considérer sous la forme numéro_besoin+ numéro_ligne (exemple : 0307000001+001d1 : la ligne 001d1 du besoin de gestion 0307000001) |
22 | Liste de Lignes de Commande | Variable à initialiser : SCR.CriListesCles Contient la liste des lignes de besoins de gestion à considérer ; chaque ligne est séparée par le caractère ,(virgule) ; chaque ligne est identifiée par le numéro_besoin+numéro_ligne (exemple : 0307000001+001d1, 0307000001+001d2, 0307000002+001 : trois lignes de besoins de gestion sont considérés : les lignes 001d1 et 001d2 du besoin 0307000001, la ligne 001 du besoin 0307000002). |
23 | Liste de Commandes | Variable à initialiser : SCR.CriListesCles Contient la liste des besoins de gestion à considérer ; chaque besoins de gestion est séparé par le caractère ,(virgule) (exemple : 0307000001, 0307000002 : les besoins de gestion 0307000001 et 0307000002 seront considérés). |
30 | Série | Variable à initialiser : SCR.CriCle Contient le numéro de série à considérer ; recherche avec le statut en cours ; si non trouvé, recherche avec le statut soldé. |
31 | OF | Variable à initialiser : SCR.CriCle Contient le numéro d’OF à considérer ; recherche avec le statut en cours ; si non trouvé, recherche avec le statut soldé. |
32 | Liste d'OFs | Variable à initialiser : SCR.CriListesCles Contient la liste des Ofs à considérer ; chaque Of est séparé par le caractère ,(virgule) (exemple : FA0123401,FA123402: les Ofs FA0123401et FA0123402 seront considérés). |
33 | Liste de Séries | Variable à initialiser : SCR.CriListesCles Contient la liste des séries à considérer ; chaque série est séparée par le caractère ,(virgule) (exemple : FA01234,FA1235: les Ofs FA0123401et FA0123402 seront considérés). |
40 | Commande Fournisseur | Variable à initialiser : SCR.CriCle Contient le numéro de commande à considérer |
41 | Ligne de Commande Fournisseur | Variable à initialiser : SCR.CriCle Contient le numéro de ligne de commande à considérer sous la forme numéro+ ligne (exemple : 0307000001+001 : la ligne 001 de la commande 0307000001) |
42 | Liste de Lignes de Commande Four. | Variable à initialiser : SCR.CriListesCles Contient la liste des lignes de commandes à considérer ; chaque ligne est séparée par le caractère ,(virgule) ; chaque ligne est identifiée par le numéro_commande+numéro_ligne (exemple : 0307000001+001, 0307000001+002, 0307000002+001 : trois lignes de commandes sont considérés : les lignes 001 et 002 de la commande 0307000001, la ligne 001 de la commande 0307000002). |
43 | Liste de Commandes Fournisseurs | Variable à initialiser : SCR.CriListesCles Contient la liste des commandes d’approvisionnement à considérer ; chaque commande est séparée par le caractère ,(virgule) (exemple : 0307000001, 0307000002 : les commandes 0307000001 et 0307000002 seront considérés). |
50 | BL Client | Variable à initialiser : SCR.CriCle Contient le numéro de BL à considérer |
51 | Evénement d'Expédition Client | Variable à initialiser : SCR.CriCle Contient la référence événement d’expédition à considérer |
52 | Bon Préparation | Variable à initialiser : SCR.CriCle Contient la référence bon de préparation à considérer |
53 | Bon Conditionnement | Variable à initialiser : SCR.CriCle Contient la référence bon de conditionnement à considérer |
60 | Facture Client | Variable à initialiser : SCR.CriCle Contient le numéro de facture client à considérer |
Lors de l’exécution de la fonction « EXE-DOC » sur un document sur les nouvelles entités traitées, le comportement de DIAPASON est le suivant, en fonction du contexte d’initialisation :
Si SCR.CriCle ou SCR.CriListesCles ne sont pas initialisées lors de l’exécution de la fonction et que le document a un critère paramétré, le critère sera exécuté au moment de l’exécution de celui-ci (avec passage des variables SCR et VCR complémentaires initialisées au préalable par la fonction « INI-CRI-DOC »).
Si SCR.CriCle ou SCR.CriListesCles ne sont pas initialisées lors de l’exécution de la fonction et que le document n’a pas de critère paramétré, le document n’est pas exécuté (retour code erreur de la fonction).
Si SCR.CriCle est initialisé et correspond à un élément de l’entité rattachée, DIAPASON poste le document sur la clé donnée de cette entité (avec passage des variables SCR et VCR complémentaires initialisées au préalable par la fonction « INI-CRI-DOC »).
Si SCR.CriCle est initialisé et ne correspond pas à un élément de l’entité rattachée, le document n’est pas exécuté (retour code erreur de la fonction).
Si SCR.CriListesCles est initialisé et que chaque élément de la liste chaînée correspond à un élément de l’entité rattachée, DIAPASON poste le document sur la liste donnée de cette entité (avec passage des variables SCR et VCR complémentaires initialisées au préalable par la fonction « INI-CRI-DOC »).
Si SCR.CriListesCles est initialisé et que un élément de la liste chaînée ne correspond pas à un élément de l’entité rattachée, le document n’est pas exécuté (retour code erreur de la fonction).
Remarques : Si les paramètres CL1, CL2 et CL3 sont passés à la fonction, ce sont ces valeurs qui seront mémorisées dans l’historique d’exécution des documents, sinon, si le document est exécuté sur une entité unique, c’est celle-ci qui sera considérée.
EXEMPLE
Cette instruction permet d’éditer le document Facture.
VLO.FctDoc = EXE-DOC(DOCUMENT = REB."Facture",
MODE = B ,
IMPRIMANTE = CLO."" ,
FICHIER = CLO."",
DOC-CAR = CLO."FAT=Facture;NEX=2;REP=/tmp/fact"
DOC-MAJ = CFA,
DOC-CLE = VLO.NumFacture )
Les instructions qui suivent permettent d’initialiser les variables standards critères AppFouRefDeb et AppFouRefFin et de lancer le document CdeApp.
VLO.FctCri = INI-CRI-DOC ( TYPE-VARIABLE = SCR,
TYPE = CARACTERE,
NOM VARIABLE = AppFouRefDeb,
VALEUR = VLO.Fournisseur)
+ INI-CRI-DOC ( TYPE-VARIABLE = SCR,
TYPE = CARACTERE,
NOM VARIABLE = AppFouRefFin,
VALEUR = VLO.Fournisseur).
VLO.FctDoc = EXE-DOC( DOCUMENT = REB."CdeApp",
MODE = B,
IMPRIMANTE = CLO."",
FICHIER = CLO."",
DOC-CAR = CLO."FAT=Appro;",
DOC-MAJ = ACD,
DOC-CLE = VLO.NumCdeApp)
NOTES
La variable résultat sera affectée comme suit :
‘ ‘ : si l’exécution du document s’est correctement terminée
‘*ERR’: pour toute anomalie survenue lors de l’exécution
Certains paramètres de la fonction disposent d’un comportement particulier suivant le contexte d’exécution (exemple : le mode d’exécution interactif est forcé au mode batch en environnement graphique).