| Modules / Editique | |
Les maquettes d’édition vous permettent de personnaliser les éditions liées à votre activité.
Les maquettes offertes en standard par ACE sont livrées dans le répertoire « LANGUE/XXX/ETA » à chaque nouvelle installation. « XXX » est le code de la langue : ENG pour English par exemple. Un répertoire « MAQ » est réservé à vos maquettes spécifiques.
Pour adapter une maquette standard, il suffit de copier le fichier du répertoire « ETA » vers votre répertoire spécifique « MAQ » et de la modifier par éditeur.
Il s’agira alors de prendre en compte le nom spécifique de la maquette ainsi créée dans la structure concernée.
Les maquettes sont proposées dans différents formats (avec XXX = code langue) :
| Format | Description | Remarques |
| PCL_XXX | Imprimantes PCL | Fichiers générés depuis les fichiers d’extension RMF_XXX pour le format PCL) |
| STD_XXX | Texte ASCII pur | Fichiers générés depuis les fichiers RMF_XXX sans format) |
| RMF_XXX | Macro-langage utilisé par l’outil PCL | Macro-langage utilisé par l’outil PCL |
| ETA | Maquettes associé aux traitements | Sans nécessité de spool d’édition dans différentes langues |
| ETA_XXX | Maquettes associé aux traitements | Avec possibilité de spool d’édition dans différentes langues |
Depuis la version 1.6.0, les fichiers des maquettes d’édition peuvent contenir un « \r » (fichier DOS déposé sous UNIX sans transformation), ce caractère étant simplement ignoré.
Versions ACE antérieures à la 4.2-00
La procédure disponible pour traduire le macro langage écrit dans le fichier maquette est PCL dans les versions antérieures à la 4.2-00 d’ACE. Toutes les lignes sont interprétées.
La procédure se lance de la façon suivante :
Cette procédure crée automatiquement les fichiers « .TMP » qu’il est ensuite possible de renommer.
A partir de la version 4.2-00
La procédure disponible est PCLMAQ
Cette procédure ne traduit que les lignes commençant par % ou &.
Les autres lignes de la maquette sont reprises à l’identique. Ceci permet de ne pas traiter les lignes qui contiennent des paramètres maquettes ; tels que par exemple : P TRT = « xyzxyz ».
La procédure se lance de la façon suivante :
PCLMAQ <Nom de la maquette> <Imprimante> <Mode>
Le paramètre <imprimante> est facultatif.
Le paramètre <Mode> est facultatif (= PCL par défaut). Il peut prendre les valeurs suivantes : PCL (pour les imprimantes PCL) ou DEC (pour les imprimantes COMPAQ – DIGITAL- ).
Cette procédure crée automatiquement les fichiers « .TMP » qu’il est ensuite possible de renommer.
Exemples
Création d'une maquette au format DEC
PCLMAQ toto.txt "" "DEC"
va transformer la fichier « toto.txt » en « toto.txt.tmp » au format digital DEC. Il suffit de renommer « toto.txt.tmp » en « toto.dec_fra ».
Création d'une maquette au format PCL
PCLMAQ toto2.txt
va transformer la fichier « toto2.txt » en « toto.txt.tmp » au format PCL. Puis renommer « toto2.txt.tmp » en « toto2.pcl_fra ».
Une maquette est constituée de lignes (de taille maximale de 2000 caractères) correspondant à des blocs d’édition (ou blocs de données) ou à des lignes de traitements (variable fictive, paramètre maquette). Certains de ces blocs sont standards et communs à la majorité des traitements (EE, EP, PP et PE), les autres blocs (numériques) sont propres au traitement qui utilisera la maquette. Chaque bloc est constitué d’un ensemble de variables numérotées.
Pour obtenir la liste complète des blocs d’édition, consultez la liste des blocs.
| Syntaxe | Signification |
| %CR Edition des articles |
Commentaires afin de documenter la maquette. |
| longueur=60 |
Définition de l’espace utilisable afin de générer automatiquement un saut de page avec édition du bloc PP et du bloc EP. |
|
largeur=132 |
|
| include="ap$std :ee_132.std" |
Insertion d’un autre fichier. |
|
include="ap$std :ep_132.std" |
|
| %EE |
En-tête d’édition : une fois en début d’édition. |
| %EP |
En-tête de page : une fois à chaque début de page. |
| %bb @nnn |
Bloc numérique bb variable nnn : la liste des blocs et des variables dépend du traitement (voir liste des blocs d’édition). |
| %PP |
Pied de page : une fois à chaque fin de page. |
| %PE |
Pied d’édition : une fois à la fin de l’édition. |
| Mbb @nnn="zzz.zz" |
Modification de masque pour la variable nnn du bloc bb. Ce bloc doit être un bloc réel (et non un bloc fictif). Exemple : M10 @033="zzz.zz" |
| Mbb @nnn="%ld" |
Suppression des blancs pour les champs de type numérique. Par exemple, en standard l'édition d'un N° d'évènement donne : " 21" (7 caractères pour la chaîne, un N° à 2 caractères, 5 blancs devant). Avec ce paramétrage les blancs qui précèdent le N° sont supprimés. Ce type de format de variable peut se révéler très pratique notamment pour construire un fichier de type Interface dans lequel un champ numérique cadré à droite doit se retrouver en alphanumérique cadré à gauche. Exemple : "%.2lf" permet de supprimer les espaces devant un numérique de type double. Pour cet exemple il s'agit d'un double ayant 2 décimales. |
| P__ XXXXXX="xxxxxxx" |
Affectation de la valeur xxxxxx au paramètre XXXXXX P__INTERFACE="ap$spl :interface.lis" |
| Rbb |
Saut de page dans le bloc bb : édition des blocs PP, EP et bb. Attention : la ligne commençant par R n’est pas éditée. |
|
Tbb si (@nnn ="XXXXXX") Tbb fsi |
Ecriture des lignes du bloc bb si la variable nnn a la valeur XXXXXX |
| V__ ~nnn="zzz.zz" |
Définition de la variable fictive nnn V__ ~001=C(10) |
| Vbb ~nnn=100 |
Affectation de la variable fictive nnn dans le bloc bb |
Les lignes composant le fichier spool de sortie correspondent aux lignes commençant par %xx ou &xx (avec xx = EE, EP, PP, PE ou un numéro de bloc disponible dans le moteur utilisé). Ces lignes sont composées de parties fixes et de variables, commençant par @ ou ~ (voir utilisation des variables fictives ci-après) suivies du numéro de variable.
Ces caractères @ ou ~ sont remplacés par la valeur de la variable demandée, jusqu’au premier caractère différent de blanc présent dans la ligne de la maquette
Exemple :
%EP H------------H--------------------------------H
%EP | Produit | Désignation |
%EP T------------T--------------------------------T
%01 | @002 | @003 |
Si @002 vaut 1234567890123 et @003 vaut Marteau, on obtiendra
%EP H------------H--------------------------------H
%EP | Produit | Désignation |
%EP T------------T--------------------------------T
%01 | 12345678901| Marteau |
Les derniers caractères du code produit ne sont pas repris.
Un autre mode d’interprétation des lignes permet de conserver la totalité des valeurs des variables, voir le paramètre maquette « LG_VARIABLE ».
On peut indiquer qu’une ligne d’un bloc ne doit pas être éditée si toutes les variables qu’elle comporte sont vides en remplaçant le % par &. Ceci est valable pour les blocs EE, EP, PP, PE et les blocs numériques.
Exemples de maquettes :
largeur=132
longueur=50
%EE<c><l><v6>
%EEH-------------------------------------------------------------------------------------------------------H-----------------------H
%EE| Société : @110 @112 Etablissements : @228 - @229 | Le @003 à @105 |
%EE| Etat N° : @106 @107 T-----------------------T
%EE| Demandé par : @108 @109 | Page : 0 |
%EEB-------------------------------------------------------------------------------------------------------B-----------------------B
%EE
%EEH-----------------------------------------------------------------------------------H
%EE| EDITION : @166 |
&EE| @167 @168 |
%EET-----------------------------------------------------------------------------------T
%EE| C R I T E R E S D E S E L E C T I O N |
%EET--------------H----------------------H----------------------H----------------------T
%EE| Critère | Valeurs début | Valeurs fin | Commençant par |
%EET--------------T----------------------T----------------------T----------------------T
&EE| @144 | @44 | @64 | @84 |
&EE| @145 | @45 | @65 | @85 |
&EE| @146 | @46 | @66 | @86 |
%EET--------------B----------------------B----------------------B----------------------T
%EE| O P T I O N S @165 |
%EET-------------------------------------H---------------------------------------------T
&EE| @182 : @04 | @183 : @05 |
&EE| @184 : @06 | @185 : @07 |
&EE| @186 : @08 | @187 : @09 |
%EET-------------------------------------B---------------------------------------------T
&EE| @169 |
&EE| @171 |
%EET-----------------------------------------------------------------------------------T
%EE| C R I T E R E S D E T R I |
%EET----------------H----------------H----------------H---------------H----------------T
&EE| @172 | @173 | @174 | @175 | @176 |
&EE| @177 | @178 | @179 | @180 | @181 |
%EEB----------------B----------------B----------------B---------------B----------------B
%CR<c><l><v6>
%EPH-------------------------------------------------------------------------------------------------------H-----------------------H
%EP| Société : @001 @017 Etablissements : @228 - @229 | Le @013 à @016 |
%EP| Etat N° : @007 @006 T-----------------------T
%EP| Demandé par : @011 @012 | Page : @014 |
%EPB-------------------------------------------------------------------------------------------------------B-----------------------B
%EP
%EP H------------------------------------------H
%EP | @015 |
%EP B------------------------------------------B
%EP
Edition des pays standard.
%CR<c><l><v6>
include="ap$std:132.maq"
include="ap$std:ep_132.maq"
%EP H------------H--------------------------------H------------H-------H--------H-------H---------H
%EP | Code | Libellé | Lib réduit | Intra | Région | Fisc. | Secteur |
%EP T------------T--------------------------------T------------T-------T--------T-------T---------T
%01 | @002 | @003 | @006 | @004 | ~001 | ~002 | ~003 |
%05 | @008 | @004 | @005 | | | | |
%PP B------------B--------------------------------B------------B-------B--------B-------B---------B
%PP <FF>
%PE B------------B--------------------------------B------------B-------B--------B-------B---------B
include="ap$std:pe_132.maq"
%CR---- REGION -----------------------------------------------------------------
V ~001=C(03)
V01 ~001=@005[1:3]
%CR---- POSITION FISCALE -------------------------------------------------------
V ~002=C(01)
V01 ~002=@005[4:4]
%CR---- SECTEUR GEOGRAPHIQUE ---------------------------------------------------
V ~003=C(06)
V01 ~003=@005[5:10]
La liste des blocs d’une édition peut être consultée de manière globale ou pour une fonction donnée.
Les variables fictives sont préfixées par ~ dans les maquettes. Il est possible de définir de 0 à 999 variables. Ces variables sont le résultat d’affectation ou de calcul simple réalisés à partir des variables des blocs ou d’autres variables fictives.
Par défaut, une variable numérique est initialisée à 0 avec un masque "zzzzzzz.zz". Pour modifier ces valeurs, il faut utiliser le format suivant :
V__ ~nnn="zzzzzzz.zz",ddddddd.dd
avec :
Exemples :
V__ ~001="zzz",100 : valeur entière initialisée à 100
V__ ~002="zzz.zz" : valeur arrondie à deux décimales sans initialisation.
Localisation (spécificités internationales)
Deux paramètres permettent de fixer le caractère qui sépare les milliers ainsi que le séparateur décimal. Ils sont définis dans le fichier de configuration « Generix.ini », à la section « Localisation ».
Le masque "zzz zz9.99" affiche par défaut pour 1540.56 1 540.56
Si vous précisez un point dans le Séparateur Millier et une virgule dans le séparateur Décimal, vous obtenez : 1.540,56
Si vous choisissez le masque « ********9.99 », la partie gauche est complétée avec des astérisques.
|
|
Attention pour les calculs sur variables fictives : Les calculs ne fonctionnent par sur des champs ayant un masque "zzz zzz.zz" ou " ********z.zz " En fait, pour prendre en compte la localisation, il faut que le masque comporte un séparateur correspondant à un espace, une virgule ou une astérisque (exemples : "zzzzzzzz.zz" ou "zzz zzz zzz.zz"). |
|
|
Trucs et astuces Pour représenter un chiffre avec comme séparateur, une « virgule », sans modifier le « Generix.ini » : V ~002="zzzzzz,zz" V10 ~002=@108*100 Attention : on ne pourra cependant pas utiliser le séparateur « Point ». comme séparateur de milliers. Cette syntaxe ne fonctionne pas si le montant exprimé est inférieur à 1. |
Depuis la version 1.50, la longueur des variables fictives de type String peut aller jusqu'à 256 caractères.
Pour définir une variable alphanumérique, il faut utiliser le format suivant :
V__ ~nnn=C(lg)
avec
Exemples :
| V__ ~003=C() |
Variable alphanumérique de longueur maximale (256 caractères). |
| V__ ~004=C(10) |
Variable alphanumérique de 10 caractères. |
| V__ ~004=C(10), "Test" |
Variable alphanumérique de 10 caractères, initialisée avec la valeur « Test ». |
V__~004=C(30), "Valeur1=""Test"" Valeur2=10;"
Remarque : si on veut initialiser un champ alphanumérique avec une valeur contenant un guillemet ("), il faut doubler ce guillemet.
Les traitements sur les variables fictives sont définis pour un bloc. La variable résultante est forcément une variable fictive (~001 à ~999). La formule de calcul peut faire référence à des variables préfixées par @ (variables du bloc d'édition pour lequel on défini le calcul) ou à des variables préfixées par ~ (variables fictives, connues dans tous les blocs).
Le traitement sur les variables fictives est effectué au niveau du bloc pour lequel il est déclaré, juste avant l'édition du bloc. Pour un bloc d'édition, les traitements sur les variables fictives sont effectués dans le même ordre que celui de leur déclaration dans la maquette d'édition. Les calculs complexes doivent être décomposés en opérations élémentaires.
Une variable fictive peut être affectée autant de fois qu'on le désire, permettant ainsi de faire des cumuls. Les variables fictives peuvent être affectées dans un bloc, et utilisées dans un traitement déclaré pour un autre bloc.
Dans les éditions de type statistique, qui utilisent des blocs entête (%21, %22, ... %29) et cumul (%41, %42, ... %49 et %99), on peut déclarer un calcul au niveau du bloc fictif (à rupture 42 par exemple), mais aussi au niveau du bloc réel 40. Ceci permet de déclarer un calcul (un pourcentage par exemple) à effectuer au différent niveau de rupture (42, 41 et 99 par exemple).
Calcul :
Le format attendu est le suivant :
Vbb ~nnn=@xxx+~yyy pour un calcul ou
Vbb ~nnn=@xxx pour une affectation
Avec
Les opérateurs possibles sont +, -, *, /, FA (calcul d’un pourcentage) et FB (calcul d’un taux d’augmentation).
Exemples :
V10 ~001=@001*100 Utilisation d’une constante dans un calcul
V10 ~002=@002FA@003 Correspond à ~002=@002 / @003 * 100
V10 ~003=@004FB@005 Correspond ~003=(@004 - @005) / @005 * 100
Depuis la version 160, on peut utiliser des calculs avec plusieurs niveaux de parenthèses. La formule de calcul est entourée de parenthèse, le 1er caractère non blanc après le = étant (
Seules les variables fictives (~) sont utilisables dans la formule, et les opérateurs de calcul +, -, * et /
Exemples :
V10 ~CHP_NUM = ((~CHP1 + ~CHP2 / 100) / ~CHP3)
V10 ~CHP_NUM = ((-(~CHP1 * (~CHP2 / 100)) / ~CHP3) + ~CHP4)
Autres :
Vbb ~nnn=@xxx(MASED) Changement de masque d’édition
Avec
Les changements de masque sont généralement utilisés avec un test. Ils permettent par exemple de changer le masque des montants en fonction d’un code devise.
Exemples :
%CM Change le masque de la variable ~004 avec le masque zz9.9
V10 ~004="zz9.9"(MASED)
%CM Change le masque de la variable ~005 avec la valeur de ~007
V10 ~005=~007 (MASED)
V15 ~001=@001
Affectation simple qui tient compte de la longueur de la variable réceptrice.
V15 ~001="Test"
Affectation simple d’une valeur
V15 ~001="Valeur1=""Test""; Valeur2=10;"
Affectation simple d’une valeur contenant un guillemet (") : il faut doubler ce guillemet.
V15 ~008=@010(LOWER)
Mettre en minuscules la zone @010
V15 ~011 =@011(NBCAR)
Donne le nombre de caractères de la variable @011 (ne compte pas les caractères blanc en fin de chaine).
Exemple de maquette générant un fichier d’intégration au format variable (INTEG_FV) avec la taille précisée entre {} accoléé au nom des champs :
longueur=60
largeur=132
P LG_VARIABLE
P UTIL_VARNOM
V ~NEW_CODPRO=C(16)
V ~LG_CODPRO="999"
V ~LG_NOMPRO="999"
V ~LG_DESIGN1="999"
V ~LG_FAMPRO="999"
V ~LG_CODTVA="999"
V ~LG_CODUNI="999"
V ~LG_SUISTK="999"
V ~LG_TYPTAR="999"
V ~LG_CODDEV="999"
V10 ~NEW_CODPRO="DUP_"|@1
V10 ~LG_CODPRO=~NEW_CODPRO(NBCAR)
V10 ~LG_NOMPRO=@5(NBCAR)
V10 ~LG_FAMPRO=@20(NBCAR)
V10 ~LG_CODTVA=@12(NBCAR)
V10 ~LG_CODUNI=@9(NBCAR)
V10 ~LG_SUISTK=@30(NBCAR)
V10 ~LG_TYPTAR=@18(NBCAR)
V10 ~LG_CODDEV=@264(NBCAR)
%10FV00501GART GART codpro{~LG_CODPRO}="~NEW_CODPRO"; nompro{~LG_NOMPRO}="@5"; fampro{~LG_FAMPRO}="@20"; codtva{~LG_CODTVA}="@12"; coduni{~LG_CODUNI}="@9"; suistk{~LG_SUISTK}="@30"; typtar{~LG_TYPTAR}="@18"; coddev{~LG_CODDEV}="@264";
P ISQL_TRACE
Retournant
FV00501GART GART codpro{009}="DUP_BR101"; nompro{028}="DECAPEUR 1800" W MAC DOUGLAS"; fampro{004}="BR02"; codtva{001}="2"; coduni{001}="U"; suistk{001}="S"; typtar{001}="B"; coddev{003}="EUR";
V15 ~002=@002[d:f]
Affectation : prendre les caractères de la variable @002 de la position d à la position f (position commençant à 1).
V15 ~003=@003[d,L]
Affectation : prendre L caractères de la variable @003 à partir de la position d (position commençant à 1).
V15 ~004=~004+~005
Concaténation sans suppression de blancs (ne fonctionne qu’avec des variables fictives). La taille de la zone réceptrice doit être supérieure ou égale à la somme des tailles des deux zones à concaténer.
V15 ~005=~006-~007 ou V15 ~005=~006|~007
Concaténation avec suppression des blancs situés à droite de la première variable (ici ~006). La taille de la zone réceptrice doit être supérieure ou égale à la somme des longueurs des valeurs à concaténer, longueurs ne tenant pas compte des blancs situés à droite.
V15 ~006=@008(UCPT0)
Retourne dans la variable ~006 la valeur du compteur donné par la variable @008 et incrémente celui ci
V15 ~007=@009(UPPER)
Mettre en majuscules la zone @009
V15 ~008=@010(LOWER)
Mettre en minuscules la zone @010
V15 ~001=@021
Affectation d’une variable numérique sur une variable alphanumérique. Le changement de type de variable se fait automatiquement lors de l’affectation. Le masque de la variable numérique est utilisé pour former la variable alphanumérique.
V15 ~101=CONCAT(mode,~101,~102,…)
Instruction maquette permettant de concaténer N variables fictives suivant un mode précisé en 1er paramètre.
Valeur possible du mode :
0 ou vide :
Concaténation sans conserver les blancs en fin de la valeur des variables à concaténer
1 :
La valeur de chaque variable à concaténer est préalablement complétée d’espace (d’après sa taille).
2 :
Concaténation sans conserver les blancs en début et fin des valeurs des variables à concaténer.
(s’applique aussi sur les variables numériques définies avec un masque de type zzzzz9).
Il est possible de conditionner les lignes de traitement en ajoutant un test à la suite de la ligne de traitement demandé. Le format attendu est le suivant :
Vxx « Ligne de traitement » si (Condition 1) {« Opérateur logique » (Condition 2)} avec :
Condition X sous la forme : ~nnn (ou @nnn) « Opérateur de test » ~mmm (ou @mmm ou constante)
Opérateur de test : <, <=, = (ou ==), >=, >, <> (ou !=)
Opérateur logique : et (ou &&), ou (ou ||)
La ligne de traitement sera exécutée si le test est vrai
Exemple :
V05 ~001=@001+~002 si (@002 = ~003)
V05 ~004=@003+~005 si (@004 <> "ENT")
V05 ~006=@005+~007 si (@006 = "ENT") et (~008 > 100)
Remarques : Les tests simples ne peuvent avoir que 2 conditions maximales, mais utiliser les champs @xxx du bloc
Il est possible de conditionner les ensembles de lignes de traitement et l’édition des lignes d’un bloc par les lignes de traitement commençant par Tbb (bb = nom du bloc concerné), suivi de (non sensible à la case) :
Si (ou If)
Sinon (ou Else) è optionnel
Fsi (ou Endif)
Exemple :
Tbb si (@001 = "ENT")
Vbb ~001=~001+1
%bb Val1 : @001
Tbb sinon
%bb Val2 : @002
%bb Val3 : @003
Tbb fsi
Tbb si (@001 = "SORT")
Vbb ~001=~001-1
%bb Val : ~001
Tbb fsi
Les variables utilisées au niveau des conditions peuvent-être des variables fictives, mais dans ce cas, cette variable doit être déclarée et valorisée avant la ligne de test.
Exemples :
V10 ~001=@045+@145
T10 si (~001 > 0)
%10 Entrée en stock :
%10 Produit : @002
%10 Quantité : @003
T10 fsi
Dans cette syntaxe, on peut aussi utiliser les tests simples sur une ligne de traitement.
Exemples :
T10 si (~001="A")
V10 ~002=@001
V10 ~002=@007 si (~011="B")
V10 ~002=~007+@002 si (~001="C")
T10 else
V10 ~002=@041
V10 ~002=@047 si (~011<>"B")
V10 ~002=~007-@002 si (~011="C")
T10 fsi
A partir de la version 160, on peut utiliser des tests avec plus de 2 conditions. Il faut alors que l’ensemble des conditions soit entouré de parenthèse.
Tbb Si ( (Condition 1) {« Opérateur logique 1 » (Condition 2) {« Opérateur logique 2 » (Condition 3)}} )
Condition X et Opérateur logique X sont ceux déjà utilisables dans les tests simples.
On peut utiliser plusieurs niveaux de parenthèse, et utiliser l’opérateur d’inversion ! devant un groupe de conditions.
Le test peut s’écrire sur plusieurs lignes.
Exemples :
T10 SI ( (( ~LG_CODPRO = 9 ) et
(( ~LG_FAMPRO <> 7) ou !((~FAMPRO = "A") ou (~FAMPRO = "B" ) ou (~FAMPRO = "R")))) )
%CM {
%10FV00501GART GART codpro{~LG_CODPRO}="~NEW_CODPRO";nompro{~LG_NOMPRO}="@5";fampro{~LG_FAMPRO}="@20";codtva{~LG_CODTVA}="@12";coduni{~LG_CODUNI}="@9";suistk{~LG_SUISTK}="@30";typtar{~LG_TYPTAR}="@18";coddev{~LG_CODDEV}="@264";
T10 ELSE
%CM {
%10 Test 1 NOK
%CM }
T10 FSI
NB : Utilisable sur les tests simples (en fin de ligne de traitement) ou par bloc Tbb
A partir de la version 160, on peut aussi imbriquer jusqu’à 10 niveaux de test.
On peut aussi utiliser les tabulations pour décaler les différents tests pour la lisibilité du code.
Exemples :
T10 SI ( (( ~LG_CODPRO = 9 ) et
(( ~LG_FAMPRO <> 7) ou !((~FAMPRO = "A") ou (~FAMPRO = "B" ) ou (~FAMPRO = "R")))) )
%CM {
%10FV00501GART GART codpro{~LG_CODPRO}="~NEW_CODPRO";nompro{~LG_NOMPRO}="@5";fampro{~LG_FAMPRO}="@20";codtva{~LG_CODTVA}="@12";coduni{~LG_CODUNI}="@9";suistk{~LG_SUISTK}="@30";typtar{~LG_TYPTAR}="@18";coddev{~LG_CODDEV}="@264";
T10 SI ((~LG_CODPRO = 9 ))
%CM {
%10 Test 2 OK
V10 ~LIBTEST="TEST2 bis OK" si (~LG_CODPRO = 9)
%CM }
T10 ELSE
%CM {
%10 Test 2 NOK
%CM }
T10 FSI
T10 ELSE
%CM {
%10 Test 1 NOK
%CM }
T10 FSI
NB : Utilisable uniquement sur les tests par bloc Tbb
Les variables fictives nommées sont un moyen de déclarer des variables fictives utilisables dans tous les mécanismes du maquettage.
Le nom de la variable fictive doit être en majuscule, commencer par un caractère alphabétique (« A » à « Z »), les autres caractères seront alphanumériques (« A » à « Z », « 0 » à « 9 » et le caractère « _ »), et comporter au moins 4 caractères (maximum de 31 caractères).
Pour pouvoir encore utiliser des variables fictives numériques (récupération par paramètre maquette, …), il vous faut obligatoirement les déclarer avant les variables nommées (afin de réserver les numéros).
Exemple
V ~011=C(3)
%CM Début de déclaration des variables nommées
P UTIL_VARNOM
V ~NOMPRO=C(30)
Il faut positionner le paramètre maquette « P UTIL_VARNOM » avant la première déclaration de variable fictive nommée. Cette fonctionnalité permet de ne pas alourdir le décodage (analyse) des maquettes sans leur utilisation.
Sur une ligne de déclaration d’une variable fictive nommée, le signe = doit être collé au nom de la variable. La suite de la syntaxe est la même que pour la déclaration des variables fictives actuelles.
Dans les autres lignes de maquette hors déclaration de variables, le système substitue le nom de variable fictive (variable commençant par ~ (ou # ou as vfXXX pour les select par ISQLxxx)) par le numéro associé. Pour les lignes commençant par %, & et R, et si on n’est pas en mode longueur variable (paramètre maquette LG_VARIABLE, à positionner alors en début de maquette, avant la première ligne % ou &), on remplace la partie du nom au-delà de 4 caractères par des blancs (pour conserver le formatage prévu dans la maquette).
LIST_VARNOM
L’instruction maquette « P LIST_VARNOM » permet d’obtenir la liste des variables fictives nommées avec le numéro associé
Exemple : liste restituée dans le .log du traitement.
Liste des variables nommées
====================================
NOM NUM
------------------------------------
CODPRO 001
NOMPRO 002
POIDSNET 003
====================================
Exemple de maquette :
longueur=60
largeur=132
V ~301=C(14)
V ~302=C(30)
V ~303="zzzzzzz9"
V ~999="9"
P UTIL_VARNOM
V ~CODPRO=C(16)
V ~NOMPRO=C(30)
V ~POIDSNET="zzzzzzz9.999"
VEE ~999=ISQLCAV("AA",
select '~CODPRO="'||codpro||'";~NOMPRO="'||nompro||'"'
from pro
where codsoc=1 and codpro like 'BR%'
-- par ordre décroissant
order by codpro DESC)
VAA ~999=ISQLCAP("AB",
SELECT dun14 AS
vf301,
libelle AS
vf302,
nbre AS
vf303,
poidsnet AS
vfPOIDSNET
FROM prl
WHERE codsoc = 1
AND codpro = '~CODPRO')
%AA Bloc AA - Code produit=~CODPRO
%AA Bloc AA - Nom du produit=~NOMPRO
%AB Bloc AB - Code produit=~CODPRO PRL dun14 : ~301
%AB Bloc AB - Code produit=~CODPRO PRL libelle : ~302
%AB Bloc AB - Code produit=~CODPRO PRL nbre : ~303
%AB Bloc AB - Code produit=~CODPRO PRL poids net : ~POIDSNET
Les masques commençant par % correspondent à des masques écrits en langage C.
zzz9 permet d’afficher le nombre sur quatre caractères, cadré à droite.
Si ce nombre vaut zéro, on affiche bien le « 0 ».
zzzz permet d’afficher le nombre sur quatre caractères, cadré à droite.
Si ce nombre vaut zéro, la zone reste vide.
Exemple :
%10 -------+-----+
%10 Valeur |@10 |
Avec @10 = 15, on obtient le même résultat avec ces deux masques
%10 -------+-----+
%10 Valeur | 15 |
Avec @10 = 0, on obtient
· pour le masque zzz9 (ou %04ld)
%10 -------+-----+
%10 Valeur | 0 |
· pour le masque zzzz
%10 -------+-----+
%10 Valeur | |
Les masques commençant par % correspondent à des masques écrits en langage C.
Si on reprend l’exemple précédent avec @10 = 15 et masque %ld, on obtient :
%10 -------+-----+
%10 Valeur |15 |
Cette fonctionnalité permet de cadrer le nombre à gauche.
zzz9,99 permet d’afficher le nombre sur sept caractères, cadré à droite, avec deux décimales.
Si le nombre vaut zéro, on affiche bien le « 0.00 ».
zzzz,zz permet d’afficher le nombre sur sept caractères, cadré à droite.
Si le nombre vaut zéro, la zone reste vide.
Exemple :
%10 -------+--------+
%10 Valeur |@10 |
Avec @10 = 15.13, on obtient le même résultat avec ces deux masques :
%10 -------+--------+
%10 Valeur | 15.13 |
Avec @10 = 0, on obtient :
· pour le masque zzz9.99 (ou %04.2lf)
%10 -------+--------+
%10 Valeur | 0.00 |
· pour le masque zzzz.zz
%10 -------+--------+
%10 Valeur | |
Si on reprend l’exemple précédent avec @10 = 15.13 et masque %.2lf, on obtient :
%10 -------+--------+
%10 Valeur |15.13 |
|
|
Attention Il faut utiliser exclusivement des variables fictives (commençant par ~) et non des variables réelles (commençant par @). Pour rappel ; il faut d’abord alimenter une variable fictive avec le contenu de la variable réelle (ex : ~007 = @012). |
Pour les chaînes de caractères, c’est la taille de la variable fictive qui donne la longueur de la chaîne.
Certaines fonctions de traitement des dates peuvent être appelées à partir d’une maquette d’édition :
Les différents formats suivants restent valables pour les trois fonctions.
jj le numéro du jour (1 à 31)
jjj le nom raccourci du jour (lun, mar,…,dim)
jjjj le nom complet du jour (lundi, mardi,…, dimanche)
m la première lettre du mois (J, F, M,… , N, D)
mm le numéro du mois (1 à 12)
mmm le nom raccourci du mois (Jan,…, Déc)
mmmm le nom complet du mois (Janvier, Février, …)
sss le numéro de la semaine dans l’année (1 à 52)
ttt le trimestre dans l’année (1 à 4)
aa l’année sur 2 chiffres (00, 01, 02,…)
aaaa l’année sur 4 chiffres (2000, 2001, 2002,…)
qqq le quantième du jour dans l’année (1 à 365)
Le masque est par défaut : « jj/mm/aaaa »
Cette instruction permet de formater une date dans un format demandé. La date en entrée sera considérée par défaut dans le format jj/mm/aaaa
~011 = MDAT(~001,masque de sortie,[code langue],[masque en entrée])
code langue : FRA par défaut. Celui-ci est utilisé pour les masques demandant le libellé du jour ou du mois
La sortie doit être une variable fictive de type caractère.
Exemple :
V ~011=C(40)
V10 ~011=MDAT("01/01/1999","jjjj le jj mmmm (Ssss-Tttt)")
donnera jeudi le 01 Janvier 1999 (S1-T1)
Cette instruction permet par défaut d’ajouter ou de soustraire un nombre de jours (de semaines, de mois, de trimestres ou d’années) à une date. La date en entrée sera considérée par défaut dans le format « jj/mm/aaaa ».
~011 = ADAT(~001,nombre,[unité],[masque en entrée],[mode],[calendrier])
La sortie, correspondant à une date de format jj/mm/aaaa, doit être une variable fictive de type caractère.
Format de l’unité :
j = jour (valeur par défaut)
s = semaine
m = mois
t = trimestre
a = année
Format du mode :
D+ = choisit la première date postérieure ou égale trouvée dans le calendrier (en jours ouvrés) précisé en paramètre. Pour utiliser seulement cette fonctionnalité, ajouter 0 jour à la date.
Ce mode est celui par défaut lorsqu’il n’est pas renseigné et qu’un calendrier est donné en paramètre.
D- = choisit la première date antérieure ou égale du calendrier précisé en paramètre. Pour utiliser seulement cette fonctionnalité, ajouter 0 jour à la date.
Calendrier :
La date calculée est la première date trouvée dans le calendrier renseigné.
Le calendrier ne contient que les dates qui pourront être retenues, à l’exclusion de toutes les dates inacceptables. On y définira donc uniquement les périodes ou les jours ouvrés.
Exemple :
V ~011=C(10)
V10 ~011=ADAT("10/01/1999",10)
fournira les résultat : 20/01/1999
V ~011=C(10)
V10 ~011=ADAT("10/01/1999",-5)
fournira les résultat : 04/01/1999
~011 = EDAT(~001,~002,[masque 1 en entrée],[masque 2 en entrée])
Donne le nombre de jours entre la date ~001 et la date ~002.
Le format de la variable fictive est prédéfini dans le système.
Instructions
longueur=64
largeur=132
%10 Code produit : @01
%10 Date de mise sur le marché : @16
V ~001=C(10)
V ~003=C(40)
V ~004=C(10)
V10 ~004=@16
V10 ~001=ADAT(~004,5,"j","jj/mm/aaaa","D+","STK")
V10 ~003=MDAT(~001,"jjjj le jj mmmm aaaa (Ssss - Tttt)")
V10 ~005=EDAT(~004,~001,"jj/mm/aaaa","jj/mm/aaaa")
%10 Date Limite de Consommation: ~001
%10 Jour limite de consommation: ~003
%10 Durée de validité du produit : ~005 jours
%10
Résultat
Code produit : 32
Date de mise sur le marché : 01/02/1999
Date Limite de Consommation: 06/02/1999
Jour limite de consommation: samedi le 06 Février 1999 (S5 - T1)
Durée de validité du produit : 5.00 jours
Code produit : 44
Date de mise sur le marché : 20/12/1999
Date Limite de Consommation: 27/12/1999
Jour limite de consommation: lundi le 27 Décembre 1999 (S52 - T4)
Durée de validité du produit : 7.00 jours
Les dates des 25 et 26 décembre n’appartiennent pas au calendrier STK qui ne recense que les jours ouvrables, le système recherche donc la bonne date suivante (D+).
Afin de faciliter les éventuels calculs faits dans certains états, le convertisseur peut être directement appelé dans les maquettes par la fonction CDEV(). Il permet de convertir n'importe quel montant dans n'importe quelle devise, même après le passage à l'euro.
Cette fonction possède 6 variables fictives en entrée et retourne une variable fictive en sortie (montant converti) :
Entrée n° 1 : représentant le montant à convertir,
Entrée n° 2 : représentant la devise du montant à convertir,
Entrée n° 3 : représentant la devise dans laquelle on doit convertir,
Entrée n° 4 : représentant la date de recherche des parités,
Entrée n° 5 : représentant la nature de la devise,
Entrée n° 6 : représentant la parité forcée, par rapport à la devise société.
Les deux premières entrées sont obligatoires. Les suivantes, facultatives, s'ajoutent les unes à la suite des autres, sachant que si la nème entrée est renseignée, les précédentes doivent l'être aussi. Un simple blanc (" ") peut suffire à renseigner une entrée facultative, car chacune de ces 4 entrées possède une valeur par défaut.
Valeurs par défaut des entrées, si celles-ci sont à blanc :
Entrée n° 3 : devise société (devise nationale).
Entrée n° 4 : date du jour.
Entrée n° 5 : "STD".
Entrée n° 6 : zéro.
|
|
Attention L'utilisation de ce convertisseur doit se faire avec beaucoup d'attention, surtout si toutes les entrées sont utilisées, et notamment la parité forcée |
En effet, il est possible, au niveau des modalités de facturation (écran GCOV_3) de forcer une parité (voir le 0), plutôt que de prendre le cours du jour. Dans une maquette, il est donc possible d'utiliser cette parité pour effectuer les calculs. Cette parité répond aux règles du 0, et peut être passée directement au convertisseur.
Dans le cas où cette parité est nulle, le système ira alors la chercher automatiquement dans la base de données. Par contre, si une parité est forcée directement dans la maquette, par une variable fictive, il faut respecter les règles du 0, à savoir qu'une parité entre des devises IN, ou entre une devise IN et une devise OUT n'a pas de sens depuis le 01-01-1999. Pour une conversion entre deux devises IN, la parité passée doit être nulle.
En fait la parité passée au convertisseur est une parité réelle, donnée par rapport à la devise société.
Exemple : voici plusieurs possibilités d'utilisation du convertisseur.
· Cas 1 : Le convertisseur reçoit les données d'eve (total HT en devise pièce à convertir en franc, à la date et à la parité de l'événement). Si la parité de l'événement n'a pas été forcé manuellement, le système se charge de celle de la date de l'événement.
· Cas 2 : Le convertisseur ne reçoit que le total HT provenant de l'événement, les deux codes devises sont forcés. Le système prendra la date du jour et se charge de retrouver la parité à cette date.
· Cas 3 : La date est forcée. Le système se charge de retrouver la parité à cette date.
· Cas 4 : La date et la parité sont forcées. La parité est une parité entre le dollar et le franc.
· Cas 5 : Idem que le Cas 3, mais ici, la date a été forcée à une date supérieure au 01-01-1999 : on ne peut plus utiliser, dans ce cas, la parité éventuelle d'eve. Cette parité est une parité entre le dollar et le franc, et il faudrait ici une parité entre le dollar et l'euro.
· Cas 6 : Idem que le Cas 4, mais la parité utilisée est une parité entre le dollar et l'euro.
· Cas 7 : Conversion de la facture en euro.
Exemple d’une maquette d’édition d'une facture par EDEVE :
longueur=20
largeur=132
%EPSOCIETE : @1 établissement : @228 Le @13
%EP+-----------------------------------------------------------------------------+
%EP| E D I T I O N D E S F A C T U R E S |
%EP+-----------------------------------------------------------------------------+
%05| Numéro de facture : @80 |
%05| |
%05| CAS 1 : Total HT : ~011 en ~012donne ~010 en ~013 au ~014 à ~015|
%05| CAS 2 : Total HT : @30 en USD donne ~020 en FF à la date du jour |
%05| CAS 3 : Total HT : @30 en USD donne ~030 en FF au O1/06/1998 |
%05| CAS 4 : Total HT : @30 en USD donne ~040 en FF au 01/06/1998 à 5.2|
%05| CAS 5 : Total HT : @30 en USD donne ~050 en FF au 01/06/1999 |
%05| CAS 6 : Total HT : @30 en USD donne ~060 en FF au 01/06/1999 à 0.9|
%05| CAS 7 : Total HT : @30 en USD donne ~070 en EUR à la date du jour |
%PP+----------------------------------------------------------------------------+
%PE *** Edition terminé ***
V ~010="zzzzz9.99"
V ~020="zzzzz9.99"
V ~030="zzzzz9.99"
V ~040="zzzzz9.99"
V ~050="zzzzz9.99"
V ~060="zzzzz9.99"
V ~070="zzzzz9.99"
V ~011="zzzzz9.99"
V ~012=C(3)
V ~013=C(3)
V ~014=C(10)
V ~015="zzz9.9999"
V05 ~011=@30
V05 ~012=@13
V05 ~013="FF"
V05 ~014=@2
V05 ~015=@14
V05 ~010=CDEV(~011,~012,~013,~014,"",~015)
V05 ~020=CDEV(~011,"USD","FF")
V05 ~030=CDEV(~011,"USD","FF","01/06/1998")
V05 ~040=CDEV(~011,"USD","FF","01/06/1998","",5.2)
V05 ~050=CDEV(~011,"USD","FF","01/06/1999")
V05 ~060=CDEV(~011,"USD","FF","01/06/1999","",0.9)
V05 ~070=CDEV(~011,"USD","EUR")
Cette fonction, utilisable dans les maquettes d’édition, permet d’exprimer un montant en chiffres par un montant en lettres (jusqu’à 10 chaînes de caractères).
Elle peut être exploitée pour les impressions sur les chèques.
Voici un exemple :
~020 = CMTL(~001,~002,~003,~004,~005,~006,~007,~008,~009,~010,~011,~012,~013,~014,~015)
~001 = montant en chiffres à convertir en littéral,
~002 = code langue
· FRA pour exprimer le montant en français (valeur par défaut),
· DEU pour exprimer le montant en allemand,
· ENG pour exprimer le montant en anglais,
· ESP pour exprimer le montant en espagnol,
· ITA pour exprimer le montant en italien,
· DUT pour exprimer le montant en néerlandais,
· POR pour exprimer le montant en portugais.
~003 = code devise qui fournira le libellé de la partie entière (« EUR » pour afficher « euro »),
~004 = libellé de la partie entière (si on ne veut pas utiliser le libellé de la devise),
~005 = libellé partie décimale : centimes par exemple,
(s’il n’est pas renseigné, on laisse les décimales en chiffres),
~006 = Chaîne de caractères contenant la 1ère partie du montant en littéral,
.................................................
~015 = Chaîne de caractères contenant la 10ème partie du montant en littéral
~020 = code retour.
Par exemple, avec les variables suivantes:
~001=56.78
~003="EUR"
~005="centimes"
~006=C(15)
~007=C(30)
~008=C(30)
on obtiendra ~006 = « Cinquante-six »
~007 = « euros et soixante-dix-huit »
~008 = « centimes »
L’instruction maquette CODSOC permet de déduire la société physique de gestion d’une table (et son segment) à partir de l’entité courante ou l’entité passé en paramètre.
Vxx ~yyy=CODSOC(table,segment,entité de référence).
Avec :
· xx : numéro de bloc,
· yyy : numéro de la variable recevant le code société physique,
· table : nom de la table,
· segment : à renseigner pour les tables utilisant un segment (voir MEV),
· entité de référence : si l’on veut effectuer une recherche depuis une autre entité que l’entité en cours de traitement par le traitement différé.
Exemple de syntaxe :
V ~901="9"
V ~101="zzz9"
V ~102=C(16)
V10 ~101=CODSOC("PRO")
V10 ~102=@001
V10 ~901=ISQL(update pro set codzn1=’O’ where codsoc=~101 and codpro=’~102’;)
Lorsqu’aucun paramètre n’est précisé dans la syntaxe, l’instruction-maquette CODSOC permet de fournir le code de l’entité courante correspondant au bloc en cours d’édition. Cette fonctionnalité est très utile dans le cadre d’une édition sélectionnant plusieurs entités.
Exemple de syntaxe :
Vxx ~yyy=CODSOC("")
Cette instruction maquette permet d’effectuer des conversions sur les quantités.
Elle possède 4 variables fictives en entrée et retourne dans une variable fictive la quantité convertie.
Entrée n° 1 : représentant le code produit (alpha)
Entrée n° 2 : représentant la quantité à convertir (numérique)
Entrée n° 3 : représentant l’unité de la quantité à convertir (alpha)
Entrée n° 4 : représentant l’unité dans laquelle on veut convertir la quantité (alpha)
Exemple :
~001= CQTE("BISCUIT",~102,~103, "CAR")
Permet de convertir la quantité données en ~102, définie dans l’unité donnée en ~103 en unité de type « CAR ».
Cette fonction, utilisable dans les maquettes d’édition, permet de récupérer une adresse complète dans différentes variables fictives.
Paramètres de l’instruction :
| Libellé | Type | Description | E/S | |
| 1 | Type de tiers | char(3) | Obligatoire | E |
| 2 | Sigle tiers | char(12) | Obligatoire | E |
| 3 | Type d'adresse | char(3) | Obligatoire | E |
| 4 | Numéro d'adresse | long | Facultatif | E |
| 5 | Civilité et Nom du contact principal | Facultatif | S | |
| 6 | Nom complet | Facultatif | S | |
| 7 | 1ère ligne d'adresse | Facultatif | S | |
| 8 | 2ème ligne d'adresse | Facultatif | S | |
| 9 | 3ème ligne d'adresse | Facultatif | S | |
| 10 | Localité | Facultatif | S | |
| 11 | Code postal | Facultatif | S | |
| 12 | Bureau distributeur | Facultatif | S | |
| 13 | Code et libellé du secteur géographique | Facultatif | S | |
| 14 | Code et libellékk pays | Facultatif | S | |
| 15 | Téléphone | Facultatif | S | |
| 16 | Télécopie/Fax | Facultatif | S | |
| 17 | Libellé long du pays | Facultatif | S |
Exemple :
longueur=9999
%CR recherche adresse d'un tiers
P LG_VARIABLE
P UTIL_VARNOM
V ~IADR_RET="9"
V ~IADR_CIV_NOM=C()
V ~IADR_NOM=C()
V ~IADR_LG1=C()
V ~IADR_LG2=C()
V ~IADR_LG3=C()
V ~IADR_LOC=C()
V ~IADR_CP=C()
V ~IADR_BD=C()
V ~IADR_GEO=C()
V ~IADR_PAY=C()
V ~IADR_TEL=C()
V ~IADR_TELC=C()
V ~IADR_LIBPAY=C()
VEE ~IADR_RET=IADR("CLI","BRCLI101","COM",1,~IADR_CIV_NOM,~IADR_NOM,~IADR_LG1,~IADR_LG2,~IADR_LG3,~IADR_LOC,~IADR_CP,~IADR_BD,~IADR_GEO,~IADR_PAY,~IADR_TEL,~IADR_TELC,~IADR_LIBPAY)
%EE Valeur retournée par IADR
%EE CIV_NOM : ~IADR_CIV_NOM
%EE NOM : ~IADR_NOM
%EE LG1 : ~IADR_LG1
%EE LG2 : ~IADR_LG2
%EE LG3 : ~IADR_LG3
%EE LOC : ~IADR_LOC
%EE CP : ~IADR_CP
%EE BD : ~IADR_BD
%EE GEO : ~IADR_GEO
%EE PAY : ~IADR_PAY
%EE TEL : ~IADR_TEL
%EE TELC : ~IADR_TELC
%EE LIBPAY : ~IADR_LIBPAY
Pour les chaînes de caractères, c’est la taille de la variable fictive qui donne la longueur de la chaîne.
Cette instruction maquette permet de récupérer une adresse sur 20 lignes au maximum, formatée suivant le format associé au code pays de l’adresse demandée.
La recherche s’effectue pour les 4 premiers paramètres d’entrée, d’abord via la table des liens entre adresses des tiers (LAD) qui fournit l'adresse à lire. Si aucun enregistrement n'est trouvé dans la table LAD, on effectue alors un accès direct à la table des adresses ADR. Ce traitement permet de lire les informations « formatées » d’une adresse lorsqu’on a la référence directe de l’adresse (en mode filière logistique, avec le paramètre FILLOG, par exemple).
Paramètres de l’instruction :
| Rang | Libellé | Type | Description |
Entrée/ Sortie |
| 1 | Type de tiers | char(3) | Obligatoire | E |
| 2 | Sigle tiers | char(12) | Obligatoire | E |
| 3 | Type d'adresse | char(3) | Obligatoire | E |
| 4 | Numéro d'adresse | long | Obligatoire | E |
| 5 | Adresse formatée : ligne 01 | char(256) | S | |
| 6 | Adresse formatée : ligne 02 | char(256) | S | |
| 7 | Adresse formatée : ligne 03 | char(256) | S | |
| 8 | Adresse formatée : ligne 04 | char(256) | S | |
| 9 | Adresse formatée : ligne 05 | char(256) | S | |
| 10 | Adresse formatée : ligne 06 | char(256) | S | |
| 11 | Adresse formatée : ligne 07 | char(256) | S | |
| 12 | Adresse formatée : ligne 08 | char(256) | S | |
| 13 | Adresse formatée : ligne 09 | char(256) | S | |
| 14 | Adresse formatée : ligne 10 | char(256) | S | |
| 15 | Adresse formatée : ligne 11 | char(256) | S | |
| 16 | Adresse formatée : ligne 12 | char(256) | S | |
| 17 | Adresse formatée : ligne 13 | char(256) | S | |
| 18 | Adresse formatée : ligne 14 | char(256) | S | |
| 19 | Adresse formatée : ligne 15 | char(256) | S | |
| 20 | Adresse formatée : ligne 16 | char(256) | S | |
| 21 | Adresse formatée : ligne 17 | char(256) | S | |
| 22 | Adresse formatée : ligne 18 | char(256) | S | |
| 23 | Adresse formatée : ligne 19 | char(256) | S | |
| 24 | Adresse formatée : ligne 20 | char(256) | S |
Voici un exemple de maquette basé sur le batch GTIEE.exe :
V ~801=C(4)
V ~802=C(16)
V ~803=C(4)
V ~804="zz9"
V ~805=C(256)
V ~806=C(256)
V ~807=C(256)
V ~808=C(256)
V ~809=C(256)
V ~810=C(256)
V ~811=C(256)
V ~812=C(256)
V ~813=C(256)
V ~814=C(256)
V ~815=C(256)
V ~816=C(256)
V ~817=C(256)
V ~818=C(256)
V ~819=C(256)
V ~820=C(256)
V ~821=C(256)
V ~822=C(256)
V ~823=C(256)
V ~824=C(256)
V10 ~801=@1
V10 ~802=@2
V10 ~803="COM"
V10 ~804=1
V10 ~999=IADRF(~801,~802,~803,~804,~805,~806,~807,~808,~809,~810,~811,~812,~813,~814,~815,~816,~817,~818,~819,~820,~821,~822,~823,~824)
%10
%10 IADRF
%10 Type tiers (IADRF) ~801
%10 Sigle tiers (IADRF) ~802
%10 Type Adresse (IADRF) ~803
%10 No adresse (IADRF) ~804
%10 Lig adr fmt 01 (IADRF) ~805
%10 Lig adr fmt 02 (IADRF) ~806
%10 Lig adr fmt 03 (IADRF) ~807
%10 Lig adr fmt 04 (IADRF) ~808
%10 Lig adr fmt 05 (IADRF) ~809
%10 Lig adr fmt 06 (IADRF) ~810
%10 Lig adr fmt 07 (IADRF) ~811
%10 Lig adr fmt 08 (IADRF) ~812
%10 Lig adr fmt 09 (IADRF) ~813
%10 Lig adr fmt 10 (IADRF) ~814
%10 Lig adr fmt 11 (IADRF) ~815
%10 Lig adr fmt 12 (IADRF) ~816
%10 Lig adr fmt 13 (IADRF) ~817
%10 Lig adr fmt 14 (IADRF) ~818
%10 Lig adr fmt 15 (IADRF) ~819
%10 Lig adr fmt 16 (IADRF) ~820
%10 Lig adr fmt 17 (IADRF) ~821
%10 Lig adr fmt 18 (IADRF) ~822
%10 Lig adr fmt 19 (IADRF) ~823
%10 Lig adr fmt 20 (IADRF) ~824
Cette instruction maquette permet, à partir de certaines informations en entrée, de calculer les numéros de BIC et d’IBAN (électronique et papier) et ainsi d’obtenir une édition avec le numéro IBAN au lieu du numéro de compte national. Elle permet également de retourner le BIC nécessaire au traitement efficace de l’IBAN.
Cette instruction maquette comporte au minimum 7 paramètres et au maximum 16.
|
|
Pour en savoir plus sur la mise en place de cette numérotation internationale, consultez la documentation de référence « Mise en œuvre du standard IBAN ». |
Fonctions concernées :
Type tiers (ou journal de banque si le sigle tiers est vide),
Sigle tiers (ou tiers comptable si le type tiers est vide),
N° de domiciliation bancaire,
Code banque,
Code guichet,
N° de compte.
Toutes ces entrées doivent permettre de couvrir l’ensemble des fonctions différées traitant les numéros de comptes nationaux. En fonction des informations disponibles dans un bloc, l’instruction maquette sera renseignée différemment. En effet, toutes les entrées ne sont pas nécessaires à la bonne exécution de l’instruction.
Pour éditer les informations d’une banque avec son numéro d’IBAN et BIC au lieu du numéro de compte national fourni par défaut, les informations disponibles dans le bloc d’édition doivent être les suivantes : Journal de banque et numéro de domiciliation bancaire. En cas d’absence ce numéro de domiciliation, il est possible de charger à la place le code banque, le code guichet et le numéro de compte.
Pour éditer pour un tiers donné son numéro d’IBAN au lieu du numéro de compte national fourni par défaut, les informations disponibles dans le bloc d’édition doivent être les suivantes : tiers comptable et numéro de domiciliation bancaire. En cas d’absence ce numéro de domiciliation, il est possible de charger à la place le code banque, le code guichet et le numéro de compte. De même, en cas d’absence du tiers comptable, on peut charger dans l’instruction maquette le type tiers et sigle tiers.
|
|
Trucs et astuces Si le numéro IBAN est déjà renseigné dans l’écran des domiciliations bancaires de la fiche tiers (écran GTIE_DOM, table RIB), l’instruction maquette n’effectue pas de calcul mais le récupère automatiquement. |
N° IBAN électronique,
N° IBAN papier (partie 1) (paramètre non-obligatoire),
N° IBAN papier (partie 2) (paramètre non-obligatoire),
N° IBAN papier (partie 3) (paramètre non-obligatoire),
N° IBAN papier (partie 4) (paramètre non-obligatoire),
N° IBAN papier (partie 5) (paramètre non-obligatoire),
N° IBAN papier (partie 6) (paramètre non-obligatoire),
N° IBAN papier (partie 7) (paramètre non-obligatoire),
N° IBAN papier (partie 8) (paramètre non-obligatoire),
N° IBAN papier (partie 9) (paramètre non-obligatoire),
N° BIC.
Maquette :
V ~901=C(6)
V ~902=C(12)
V ~903=C(3)
V ~904=C(12)
V ~905=C(12)
V ~906=C(20)
V ~907=C(34)
V ~908=C(4)
V ~909=C(4)
V ~910=C(4)
V ~911=C(4)
V ~912=C(4)
V ~913=C(4)
V ~914=C(4)
V ~915=C(4)
V ~916=C(4)
V ~917=C(11)
V ~920="9"
VEE ~901=""
VEE ~902="CLI1"
VEE ~903="4"
VEE ~904=""
VEE ~905=""
VEE ~906=""
VEE ~907=" "
VEE ~908=" "
VEE ~909=" "
VEE ~910=" "
VEE ~911=" "
VEE ~912=" "
VEE ~913=" "
VEE ~914=" "
VEE ~915=" "
VEE ~916=" "
VEE ~917=" "
VEE ~920=IBAN(~901,~902,~903,~904,~905,~906,~907,~908,~909,~910,~911,~912,~913,~914,~915,~916, ~917)
%EE ---------------------------------------------------------------
%EE En entrée :
%EE Type tiers (ou journal) : ~901
%EE Sigle tiers (ou tiers comptable) : ~902
%EE Code RIB : ~903
%EE Code Banque : ~904
%EE Code guichet : ~905
%EE N° de compte : ~906
%EE ---------------------------------------------------------------
%EE En sortie :
%EE IBAN électronnique : ~907
%EE IBAN papier par 1 : ~908
%EE IBAN papier par 2 : ~909
%EE IBAN papier par 3 : ~910
%EE IBAN papier par 4 : ~911
%EE IBAN papier par 5 : ~912
%EE IBAN papier par 6 : ~913
%EE IBAN papier par 7 : ~914
%EE IBAN papier par 8 : ~915
%EE IBAN papier par 9 : ~916
%EE BIC : ~917
%EE ---------------------------------------------------------------
|
|
Attention Il faut utiliser exclusivement des variables fictives (commençant par ~) et non des variables réelles (commençant par @). Pour rappel ; il faut d’abord alimenter une variable fictive avec le contenu de la variable réelle (ex : ~007 = @012). Dans la pratique si l’on reprend notre exemple, on doit alimenter les variables fictives ainsi : ~902 = @12 / ~903 = @13 |
Résultat obtenu :
---------------------------------------------------------------
En entrée :
Type tiers (ou journal) :
Sigle tiers (ou tiers comptable) : CLI1
Code RIB : 4
Code Banque :
Code guichet :
N° de compte :
---------------------------------------------------------------
En sortie :
IBAN électronnique : FR1420041010050500013M02606
IBAN papier par 1 : FR14
IBAN papier par 2 : 2004
IBAN papier par 3 : 1010
IBAN papier par 4 : 0505
IBAN papier par 5 : 0001
IBAN papier par 6 : 3M02
IBAN papier par 7 : 606
IBAN papier par 8 :
IBAN papier par 9 :
BIC : AGRAFRLP432
---------------------------------------------------------------
Cette fonction, utilisable dans les maquettes d’édition, permet de récupérer une donnée concernant un tiers.
Voici un exemple :
V ~901=C(4)
VPE ~901="CLI"
V ~902=C(16)
VPE ~902="STEPHAN"
V ~903=C(20)
VPE ~903="CODLAN"
V ~904=C(80)
V ~905="zzzzz9,99"
VPE ~905=ITIE(~901,~902,~903,~904)
Les informations nécessaires à l'exécution
~901 = Type de tiers
~902 = Sigle tiers
~903 = Mot clé de la valeur demandée (nom du champ contenant la donnée)
Les informations retournées
~904 = Valeur de la donnée demandée
~905 = Code retour d'exécution de la fonction
Cette fonction, utilisable dans les maquettes d’édition, permet de récupérer une donnée concernant une adresse :
Les mots clés utilisables sont les champs de la table ADR (adresses) en majuscules,
Pour les champs communs entre l'adresse (table ADR) et le contact principal (table CTC), les informations proviennent en priorité du contact principal, si l'adresse en possède un, sinon de l'adresse. Les champs concernés sont les suivants :
· CODCIV : code civilité du contact,
· CONTAC : personne à contacter,
· PRENOM : prénom du contact,
· FONCTI : fonction de la personne à contacter
· CODSER : code service,
· TEL : numéro de téléphone du contact,
· TELEX : numéro de télex,
· FAX : numéro de télécopie,
· GSM : numéro de téléphone portable,
· TELPRO : numéro de téléphone professionnel,
· DATCRE : date de création,
· DATNAI : date de naissance.
Les informations Adresse email et Zones paramétrées 1 à 20 (champs EMA256, et CODZN1 à CODZ20) sont systématiquement alimentées par la table CTC.
Pour forcer la récupération d'un tel champ dans la table ADR, même si l'adresse possède un contact principal, il faut indiquer comme nom de champ, les noms suivants :
· ADRCIV : code civilité du contact,
· ADRCON : personne à contacter,
· ADRPRE : prénom du contact,
· ADRFON : fonction de la personne à contacter,
· ADRSER : code service,
· ADRTEL : numéro de téléphone du contact,
· ADRTLX : numéro de télex,
· ADRFAX : numéro de télécopie,
· ADRZ1 à ADRZ20 : Zones paramétrées 1 à 20,
· ADRGSM : numéro de téléphone portable,
· ADRTLP : numéro de téléphone professionnel,
· ADRCRE : date de création,
· ADRNAI : date de naissance.
Pour forcer la récupération d'un tel champ dans la table CTC, même si l'adresse ne possède pas de contact principal, faut indiquer comme nom de champ, les noms suivants :
· CTCCIV : code civilité du contact,
· CTCCON : personne à contacter,
· CTCPRE : prénom du contact,
· CTCFON : fonction de la personne à contacter,
· CTCSER : code service,
· CTCTEL : numéro de téléphone du contact,
· CTCTLX : numéro de télex,
· CTCFAX : numéro de télécopie,
· CTCGSM : numéro de téléphone portable,
· CTCTLP : numéro de téléphone professionnel,
· CTCCRE : date de création,
· CTCNAI : date de naissance.
Dans ce cas, lorsqu’il n’y a pas de contact principal, les informations ne seront pas renseignées et n’utiliseront pas les valeurs de la table ADR.
Voici un exemple :
V ~901=C(4)
V10 ~901="CLI"
V ~902=C(16)
V10 ~902="000013"
V ~903=C(4)
V10 ~903="COM"
V ~904="z",1.0
V ~905=C(20)
V10 ~905="COMMEN1"
V ~906=C(80)
V ~907="zzzzz9,99"
V10 ~907=IADD(~901,~902,~903,~904,~905,~906)
|
|
Trucs et astuces Pour la variable fictive correspondant à la donnée rattachée à l'adresse (« COMMEN1 » dans notre exemple), il faut indiquer le bloc d’édition. |
Les informations nécessaires à l'exécution
~901 = Type de tiers
~902 = Sigle tiers
~903 = Type d'adresse
~904 = Numéro d'adresse
~905 = Mot clé de la valeur demandée (nom du champ contenant la donnée)
Les informations retournées
~906 = Valeur de la donnée demandée
~907 = Code retour d'exécution de la fonction
Cette fonction, utilisable dans les maquettes d’édition, permet de récupérer les informations bancaires d'un tiers :
Voici un exemple :
V ~901=C(4)
VPE ~901="CLI"
V ~902=C(16)
VPE ~902="STEPHAN"
V ~903=C(4)
VPE ~903="12"
V ~904=C(80)
V ~905=C(80)
V ~906=C(80)
V ~907=C(80)
V ~908=C(80)
V ~909=C(80)
V ~910=C(80)
V ~999="zzzzz9,99"
VPE ~999=IRIB(~901,~902,~903,~904,~905,~906,~907,~908,~909,~910)
Les informations nécessaires à l'exécution
~901 = Type de tiers
~902 = Sigle tiers
~903 = Numéro du RIB
Les informations retournées
~904 = Numéro de banque
~905 = Code guichet
~906 = Numéro de compte
~907 = Clé RIB
~908 = Nom de la banque
~909 = Localité de la banque
~9010 = Type de RIB
~999 = Code retour d'exécution de la fonction
Il est possible de faire apparaître des informations sur l'une des entités de la hiérarchie dans n'importe quelle édition. Tous les champs possibles n'ont pas été ajoutés dans toutes les éditions mais une fonction maquette (ISME) vous permet d’utiliser de nombreuses informations :
· Type de tiers (TYPTIE)
· Sigle (SIGTIE)
· Nom (NOMTIE)
· Famille (FAMTIE)
· Représentant (SIGREP)
· Groupe (SIGGRP)
· Nature
· région (CODREG)
· Compte de tiers (CPTTIE)
· Position fiscale (POSFIS)
· Mode de règlement (MODRGL)
· Code incident (CODINC)
· Zones paramétrées (CODZN1 à CODZN16)
· Libellé de l'adresse (ADRESS)
· Adresses (ADRSUI)
· Localité (LOCALI)
· Code postal (CODPOS)
· Bureau distributeur (CENPOS)
· Code pays (CODPAY)
· Contact (CONTAC)
· Fonction (FONCTI)
· Téléphone (TEL)
· Télécopie (FAX)
· Télex (TELEX)
· Siret (SIRET)
· Code APE (CODAPE)
· TVA intercommunautaire (TVAINTER)
· CODSOC
· CODETT
· CODDEV
· CNUFD
· ETBCOD
· COMMEN1 à COMMEN5
Ces informations dont valables pour toutes les entités de niveau hiérarchique supérieur à l'entité en cours de traitement.
Description :
| ISME | Paramètres |
| Numérique | Code de l'entité de base. Si non renseigné, entité en cours de traitement |
| Numérique | Niveau de la structure (famille de tiers). Si non renseigné, niveau de l'entité en cours de traitement |
| Alpha | Description de l'information à récupérer |
| Alpha | Type de l'adresse à utiliser |
| Numérique | Numéro de l'adresse à utiliser |
Exemples :
~001 = ISME("0","0","CODSOC","","0") permet d'obtenir le code société de l'entité courante
~001 = ISME("0","0","NOMTIE","","0") permet d'obtenir le nom de l'entité courante
~001 = ISME(@001,"02","TEL","FAC","1") permet d'obtenir le téléphone de l'adresse de facturation de l'entité de niveau 2 supérieure à l'entité qui se trouve dans la variable @001
Cette routine maquette ISME permet aussi de récupérer le code de l'entité courante :
Exemple à mettre dans la maquette
Initialisation de variable + paramétrage mot clé :
V ~001=C(10)
V10 ~001=ISME(0,0,"CODSOC","",0)
L’instruction maquette ISQL permet de lancer une requête SQL de type « update », « delete » ou « select » directement depuis la maquette d’édition.
Vxx ~yyy=ISQL(ordre_sql)
Avec :
· xx : numéro de bloc,
· yyy : numéro de la variable (déclarée en numérique) recevant le code retour de l’exécution de l’ordre SQL (1 : OK, sinon, voir les erreurs possibles ci-dessous),
· ordre_sql : correspondant à un ordre SQL update uniquement, avec possibilité d’inclure des variables fictives.
Erreurs possibles en retour de ISQL (et ISQLxx) en mise à jour :
Instruction SQL insert
1 si le row a été inséré correctement,
-5 si la PK du row existe déjà.
Instruction SQL update
1 si le row a été mis à jour correctement,
-1 si row non trouvé.
Instruction SQL delete
1 si le row a été supprimé correctement,
-1 si row non trouvé.
Instruction SQL select
1 si le row lu correctement,
-1 si row non trouvé.
Dans tous les cas, -100 pour les erreurs non trappées
Restrictions
L’ordre SQL est limité à 10.000 caractères (5000 en version 1.55, et 980 dans les versions antérieurs à ACE 1.55).
Le nombre total de caractères retournés par la requête SQL est limité par Oracle à 4096 caractères.
|
|
Attention · Les ordres de type ISQL et ISQLCxx sont à utiliser avec prudence : ils peuvent en effet influencer directement les performances du traitement différé. · Dans un traitement différé effectuant une mise à jour de table, l’utilisation d’un ordre update mettant à jour une donnée du même enregistrement ne sera pas verrouillée. Par contre, la mise à jour peut ne pas être prise en compte si le traitement effectue sa mise à jour chronologiquement après l’ordre SQL lancé par ISQL. Voir aussi « Appel d’une requête SQL dans une maquette » |
Ordres SQL de type « select »
La syntaxe d’écriture de l’ordre « select » se rapproche de la syntaxe utilisée lors de l’appel d’une requête SQL dans une maquette d’édition via la solution PROC2, consistant à rapatrier une chaîne de caractère indiquant les variables fictives à renseigner, chaque valeur séparée par un point-virgule, afin de ramener une seule chaîne de caractère, de type « ~301="XXX"; ~302=nnnn.nn ».
Lorsqu’on rapatrie plusieurs variables, il faut concaténer les différentes valeurs de retour pour ne constituer qu’une chaîne de caractères en retour. Voir notre exemple ci-après.
Exemple :
V ~301=C(6)
V ~302=C(6)
V ~303="zzzzz9.999"
V10 ~301=""
V10 ~302=""
V10 ~303=0
V10 ~901=ISQL( select '~301="'||fampro||'";~302="'||sfapro||'";~303='||poids from pro where codsoc = ~202 and codpro = '~201' )
Remarques
· Si l’ordre select ramène plusieurs enregistrements, seul le premier est pris en compte pour le chargement des variables fictives. Si nécessité de travailler sur plusieurs enregistrements, voir les instructions ISQLCAV ouISQLCAP.
· Si aucun enregistrement n’est trouvé, il n’y a pas de modification des variables fictives citées dans la partie select. Il est donc prudent d’initialiser au préalable les variables attendues en retour.
|
|
Trucs et astuces Pour garantir de bons temps de réponse, nous vous préconisons fortement de lancer les ordres select par ISQL plutôt que par les PROC2. |
Particularité 1
Lors de l’exécution de l’ordre « select » écrit de cette façon, seules les variables fictives suivant le premier « from » sont remplacées avant exécution. On ne peut donc pas dans le même « select » retourner la valeur d’une sous-requête.
Particularité 2
Une autre syntaxe consiste à marquer les variables fictives à charger en retour de l’ordre « select » par le caractère dièse. Cette fonctionnalité permet d’utiliser les variables fictives aussi dans la partie « select » afin de pouvoir utiliser les fonctions Oracle avec, en paramètre, des valeurs provenant de la maquette.
Exemple :
V ~301=C(6)
V ~302=C(6)
V ~303="zzzzz9.999"
V10 ~301=""
V10 ~302=""
V10 ~303=0
V10 ~901=ISQL( select '#301="'||fampro||'";#302="'||substr('~203',1,3)||sfapro||'";#303='||poids from pro where codsoc = ~202 and codpro = '~201' )
Particularité 3
Si la valeur d’un champ alphanumérique peut contenir des guillemets ("), ceux-ci doivent être doublés dans la valeur de retour. Pour cela, utilisez la fonction Oracle replace, comme dans cet exemple :
V10 ~901=ISQL( select '#301="'|| replace(nompro,'"','""') ||'";#302="'||substr('~203',1,3)||sfapro||'";#303='||poids from pro where codsoc = ~202 and codpro = '~201' )
Particularité 4
Utilisation des fonctions Oracle dans l’instruction ISQL pour charger une variable fictive.
Dans une requête SQL, une fonction dont le retour s’effectue par un « varchar2 » est considérée de longueur 4000.
Dans ce contexte, une fonction ORACLE de type « varchar2 » doit être utilisée obligatoirement par le biais de l’instruction « substr » permettant de limiter le nombre de caractères ramenés au nombre de caractères attendus.
V10 ~901=ISQL(select '#011="' || coduni || '";#012="' || substr(f_libtbl(1,'uni',pro.coduni),1,30) || '"' from pro where codsoc=1 and codpro='~001';
|
|
Trucs et astuces Dans une maquette, avec l’instruction « ISQL / select », il est possible de retourner plusieurs valeurs à partir d’une fonction Oracle « complexe ». La fonction Oracle construit la chaine de retour en concaténant les résultats. Chaque variable texte est limitée à 80 caractères (jusqu’en version 1.4) ou à 256 caractères (depuis la version 1.55). Dans ISQL select, il y a une contrainte pour assurer la substitution des variables fictives ~ entre select et from, c’est la présence de #, assurée ici par l’artifice '#160=9;' avant l’appel de la fonction Oracle. |
L’exemple suivant permet de récupérer 2 valeurs dans un seul appel de fonction oracle :
Extrait de la maquette :
%CR Code retour ISQL
V ~900="9"
P ISQL_TRACE
%CR Codsoc
V ~100="9999"
VEE ~100=@001
V ~160="zzzzzzzzz"
V ~161="zzzzzzzzz"
V ~162=C(8)
V10 ~900=ISQL(select '#160=9;'||substr(F_DEMO(~100),1,256) from dual )
%10 Dbg : ~160 ~161 ~162
Extrait de la fonction appelée :
CREATE OR REPLACE function F_DEMO(
codsoc_p in cts.codsoc%type
) return varchar2 is
res VARCHAR2(80);
err_num NUMBER;
err_msg VARCHAR2(100);
begin
res := '~160=0';
return ('~161=1;~162="GNC"') ;
EXCEPTION
WHEN OTHERS THEN
err_num := SQLCODE;
err_msg := SUBSTR(SQLERRM, 1, 100);
return res ;
end F_DEMO;
Résultat
Dbg : 9 1 GNC
Un autre moyen pour ramener plusieurs valeurs en retour d’une fonction Oracle est que celle-ci effectue un retour de type PIPELINED, et de l’utiliser par une syntaxe du style :
select chp1 as vf001, chp2 as vf002, chp3 as vf003 from table (FCT_ORACLE(~001,~002, ~003,~004))
Souplesse d’écriture de l’instruction ISQL
Plusieurs fonctionnalités apportent de la souplesse d’écriture des maquettes, et un gain de mise au point des maquettes avec des ordres ISQL.
1) Il vous est possible d’écrire l’instruction ISQL sur plusieurs lignes, avec possibilité d’insérer des lignes de commentaire commençant par -- (en dehors des premiers caractères blanc)
Exemple :
VEE ~999=ISQLCAV("AA",
select '~201="'||codpro||'";~202="'||nompro||'"'
from pro
where codsoc=1 and codpro like 'BR%'
-- par ordre décroissant
order by codpro DESC)
2) Vous pouvez préciser les variables fictives en retour du select par la syntaxe as vfnnn (ou as VFnnn), avec nnn = numéro (ou nom) de la variable fictive à charger.
Exemple :
VAA ~999=ISQLCAP("AB",
select dun14 as VF301,
libelle as VF302,
nbre as VF303,
poidsnet as VF304
from prl where codsoc=1 and codpro = '~201')
Cette syntaxe vous affranchit des particularités 1 à 4
Exemple :
· Ordre à exécuter par ISQL :
V10 ~900=ISQL(
select nompro as vf101, (select substr('~001',1,2) from dual) as vf106, fampro as vf102,
design1 as vf103, (select substr('~001',1,4) from dual) as vf107, design4 as vf105, design2 as vf104
from pro where codsoc=1 and codpro='~001'
)
· Ordre exécuté :
select '~101="'||RPAD(SUBSTR(nompro,1,30),30,' ')||'"'||';' || '~106="'||RPAD(SUBSTR((select substr('BR101',1,2) from dual),1,4),4,' ')||'"'||';' || '~102="'||RPAD(SUBSTR(fampro,1,6),6,' ')||'"'||';' || '~103="'||RPAD(SUBSTR(design1,1,40),40,' ')||'"'||';' || '~107="'||RPAD(SUBSTR((select substr('BR101',1,4) from dual),1,4),4,' ')||'"'||';' || '~105="'||RPAD(SUBSTR(design4,1,40),40,' ')||'"'||';' || '~104="'||RPAD(SUBSTR(design2,1,40),40,' ')||'"'||';' from pro where codsoc=1 and codpro='BR101'
3) L’utilisation des variables fictives nommées est également disponible pour l’instruction ISQL (voir chapitre « Utilisation des variables fictives ») dans les maquettes d’édition)
Utilisation des fonctions Oracle dans ACE, au niveau des vues et de l’instruction ISQL
Dans une requête SQL, une fonction dont le retour s’effectue par un « VARCHAR2 » est considérée de longueur 4000.
La taille maximum des buffers de retour des accès SQL est de 4048 (depuis la version 1.55).
Dans ce contexte, une fonction ORACLE de type VARCHAR2 doit être utilisé obligatoirement par le biais de l’instruction SUBSTR permettant de limiter le nombre de caractères ramenés au nombre de caractères attendus.
Exemple de fonction Oracle
rem ******
rem ****** Fonction de récupération du libellé d'un enrgt de table
rem ****** Attention : Une fonction PL/SQL de type VARCHAR2 retourne
rem ****** un VARCHAR2(4000) !
rem ****** Le SUBSTR est donc impératif.
rem ******
CREATE OR REPLACE function f_libtbl
( ncodsoc tbl.codsoc%type,
ncodtbl tbl.codtbl%type,
ncletbl tbl.cletbl%type )
RETURN varchar2 is
vlibtbl tbl.lib1%type ;
BEGIN
vlibtbl := ' ' ;
select lib1 into vlibtbl
from tbl
where codsoc = ncodsoc
and codtbl = ncodtbl
and cletbl = ncletbl ;
RETURN vlibtbl ;
exception when others then return vlibtbl ;
END;
Utilisée dans une Requête SQL appelé par ISQL
%10 Code produit = ~001 Unité : ~011 Libellé : ~012
V ~001=C(16)
V ~011=C(3)
V ~012=C(30)
V ~901="9"
%CM Mémorisation du code produit dans ~001
V10 ~001=@001
%CM Recherche du code unité du produit et du libellé de cette unité
V10 ~901=ISQL(select '#011="' || coduni || '";#012="' || substr(f_libtbl(1,'uni',pro.coduni),1,30) || '"' from pro where codsoc=1 and codpro='~001';
Lancement d’une procédure Oracle (PL-SQL) via l’instruction ISQL :
Pour cela, on va d’abord créer une fonction Oracle qui lance la procédure
create or replace
FUNCTION f_lance_pro_rec_complete return integer
IS
pragma AUTONOMOUS_TRANSACTION;
BEGIN
BEGIN
gxp_ot.pro_rec_complete;
return 1;
EXCEPTION
WHEN OTHERS THEN
RETURN SQLCODE;
END;
END f_lance_pro_rec_complete;
Fonction qu’on va utiliser ainsi :
V ~201="9"
V ~901="9"
V10 ~901=ISQL(select f_lance_pro_rec_complete() as vf201 from dual)
L’instruction maquette ISQL permet, sur les ordres « select .. .», de ne travailler que sur le premier row lu.
Les instructions maquette ISQLCAV("xx", select …..) et ISQLCAP("xx", select …..) permettent d’appeler un bloc vide à chaque row lu (respectivement avant et après le bloc).
Le premier paramètre correspond au bloc vide à appeler. Ce bloc devra comporter deux caractères alphabétiques, en majuscule, et ne pas commencer par C, E, P ou L (préfixes de blocs réservés).
Exemple 1 :
V ~201=C(16)
V ~202=C(30)
V ~999="9"
VEE ~999=ISQLCAV("AA",select '~201="'||codpro||'";~202="'||nompro||'"' from pro where codsoc=1 and codpro like 'BR%' order by codpro DESC)
%AA Bloc AA : Code produit=~201
%AA Bloc AA : Nom du produit=~202
Avec l’instruction ISQLCAV, le bloc vide s’édite avant le bloc sur lequel est déclarée l’instruction maquette.
Avec l’instruction ISQLCAP, le bloc vide s’édite après le bloc sur lequel est déclarée l’instruction maquette (attention, dans ce cas, seules les instructions ISQLCAP sont traitées après l’édition du bloc le déclenchant, les autres variables fictives sont calculées avant l’édition du bloc déclenchant le ISQLCAP).
Dans l’exemple 1, le bloc AA s’édite avant le bloc EE, et celui-ci peut aussi appeler un ISQLCxx et calcul sur des variables fictives
Exemple 2 :
V ~201=C(16)
V ~202=C(30)
V ~301=C(14)
V ~302=C(30)
V ~999="9"
VEE ~999=ISQLCAV("AA",select '~201="'||codpro||'";~202="'||nompro||'"' from pro where codsoc=1 and codpro like 'BR%' order by codpro DESC)
VAA ~999=ISQLCAP("AB",select '~301="'||dun14||'";~302="'||libelle||'"' from prl where codsoc=1 and codpro = '~201')
%AA Bloc AA - Code produit=~201
%AA Bloc AA - Nom du produit=~202
%AB Bloc AB - Code produit=~201 PRL dun14 : ~301
%AB Bloc AB - Code produit=~201 PRL libelle : ~302
Dans l’exemple 2, le bloc AB s’édite après l’édition du bloc AA.
|
|
Attention : le bloc appelé dans le ISQLCxx ne doit pas être égal au bloc lui-même. De même, le système contrôle qu’il n’y a pas récursivité sur les appels successif de blocs vides. |
Exemples de cas interdits :
Exemple a) :
VAA ~901=ISQLCxx("AA", xxxx)
Exemple b) :
VAA ~901=ISQLCxx("AB", xxxx)
VAB ~901=ISQLCxx("AA", xxxx)
Exemple c) :
VAA ~901=ISQLCxx("AB", xxxx)
VAB ~901=ISQLCxx("AC", xxxx)
VAB ~901=ISQLCxx("AB", xxxx)
Cette fonction, utilisable dans les maquettes d’édition, permet de rechercher la valeur d’un compteur de stock.
L’instruction comporte plusieurs paramètres :
| Libellé | Type | Description |
Entrée Sortie |
|
| 1 | Produit | CHAR(16) | Obligatoire | E |
| 2 | Dépôt | CHAR(12) |
Facultatif Si le dépôt n'est pas précisé comme critère de recherche, voici comment on détermine la référence du dépôt : Si le paramètre PACK est positionné avec la zone A1 = "RETAIL", alors on utilise, parmi les dépôts ayant un code intra-groupe (p_tieintgr) correspondant à l’entité courante, le dépôt dont la nature (codett) correspond à la zone A2 du paramètreTYPMAG (par défaut "PDV") Sinon, on utilise le dépôt serveur du produit. |
E |
| 3 | Compteur de Stock à rechercher | CHAR(6) | Obligatoire | E |
| 4 | Quantité en stock de ce compteur | NUMBER | S | |
| 5 | Unité de stockage du produit sur ce dépôt | CHAR(3) | S | |
| 6 | Emplacement de la fiche stock | CHAR(10) | S |
Cette fonction, utilisable dans les maquettes d’édition, permet de rechercher des informations sur les zones paramétrées datées (table ZOD).
Paramètres de l’instruction :
| Libellé | Type | Description | E/S | |
| 1 | Type de zone paramétrée datée | char(3) | Obligatoire | E |
| 2 | Clé de la zone paramétrée datée | char(40) |
Obligatoire sauf si certaines valeurs (de la 6 à la 19) sont renseignées selon le type de zone paramétrée datée : · Type zod = EVE ou EAE, renseignez les valeurs 8, 9 et 10. · Type zod = EVP ou EAP, renseignez les valeurs 8, 9, 10 et 11. · Type zod = PRO, renseignez la valeur 12 · Type zod = CLI (type de tiers), renseignez les valeurs 13 et 14. · Type zod = ADR, renseignez les valeurs 13, 15, 16 et 17. · Type zod = OPE, renseignez la valeur 18 · Type zod = CAE, renseignez les valeurs 19, 20 et 21. |
E |
| 3 | Numéro de la zone paramétrée datée | long | Obligatoire | E |
| 4 | Date de la recherche si gestion en mode daté (voir paramètreZODMOD) | JJMMSSAA | Facultatif | E |
| 5 | Valeur de la zone paramétrée datée | char(40) | S | |
| 6 | Libellé associé à la valeur de la zone paramétrée datée (si cette zone fait référence à une table de référence). | char(30) | S | |
| 7 | Libellé réduit associé à la valeur de la zone paramétrée datée (si cette zone fait référence à une table de référence). | char(10) | S | |
| 8 | Code achat/vente de l’événement | char(1) | Facultatif | E |
| 9 | Type d’événement | char(3) | Facultatif | E |
| 10 | Numéro d’événement | long | Facultatif | E |
| 11 | Numéro de poste | long | Facultatif | E |
| 12 | Code produit | char(16) | Facultatif | E |
| 13 | Type de tiers | char(3) | Facultatif | E |
| 14 | Sigle du tiers | char(12) | Facultatif | E |
| 15 | Type d’adresse | char(3) | Facultatif | E |
| 16 | Sigle de l’adresse | char(12) | Facultatif | E |
| 17 | Numéro de l’adresse | long | Facultatif | E |
| 18 | Code opération | char(12) | Facultatif | E |
| 19 | Code achat/vente de l’élément catalogue | char(1) | Facultatif | E |
| 20 | Code catalogue | char(6) | Facultatif | E |
| 21 | Référence externe de l’élément | char(16) | Facultatif | E |
Voici un exemple :
V ~901=C(3)
VPE ~901="CLI"
V ~902=C(16)
VPE ~902="MAI001"
V ~903=C(3)
VPE ~903="102"
V ~904=C(8)
VPE ~904=””
V ~905=C(40)
V ~906=C(30)
V ~907=C(10)
Les informations nécessaires à l'exécution
~901 = Type de zone paramétrée datée,
~902 = Clé de la zone paramétrée datée,
~903 = Numéro de la zone paramétrée datée,
~904 = Date de la recherche.
|
|
Trucs et astuces Le format de la variable date (variable ~904) doit être de type « jjmmaaaa », et non de type « aaaammjj ». |
Les informations retournées :
~905 = Valeur de la zone paramétrée datée
~906 = Libellé de la zone paramétrée datée
~907 = Libellé réduit de la zone paramétrée datée
Pour les chaînes de caractères, c’est la taille de la variable fictive qui donne la longueur de la chaîne.
Cette fonction est utilisée en autre pour lancer une réédition depuis l’application web d’un fichier du serveur, en utilisant les imprimantes connues du serveur de traitement, et ceci via un GEDTE en batch rapide, avec les options
Option1 : impression
Option2 : N° de société è que l’on récupérera en ~102 dans l’exemple
Option3 : N° de spool è que l’on récupérera en ~103 dans l’exemple
Option que l’on récupère du bloc EE pour l’appel à l’instruction maquette VEE ~901=LPRINT(~102, ~103)
Paramètres de l’instruction :
| Libellé | Type | Description | E/S | |
| 1 | N° de société | long | E | |
| 2 | N° de spool | long | E | |
| 3 | Nom de fichier à imprimer | char |
Optionnel Si le nom de fichier est vide, on imprime alors le fichier de nom [ut_spl.dir]SOCn_mmmm.spl |
E |
| 4 | File print | char |
Optionnelle on prend ut_spl.fprint si non renseigné |
E |
| 5 | Format | char |
Optionnel on prend ut_spl.forma si non renseigné |
E |
| 6 | NbCopie | long |
Optionnel on prend ut_spl.nbc si non renseigné |
E |
Voici un exemple :
longueur=9999
P UTIL_VARNOM
V ~CODRET=""
V ~SOCSPL=""
V ~NUMSPL=""
V ~NOMFIC=C(31))
VEE ~SOCSPL=@5
VEE ~NUMSPL=@6
VEE ~NOMFIC=@7
VEE ~CODRET=LPRINT(~SOCSPL,~NUMSPL,~NOMFIC)
MAJACT : Alimentation du dossier client
Paramètres de l’instruction :
| Variable | Description |
| var.1 | Type tiers |
| var.2 | Sigle tiers |
| var.3 | Code action |
| var.4 | commentaire |
| var.5 | code achat/vente |
| var.6 | type événement |
| var.7 | numéro événement |
| var.8 | libellé 1 |
| var.9 | libellé 2 |
| var.10 | double 1 |
| var.11 | double 2 |
| var.12 | date 1 |
| var.13 | date 2 |
| var.14 | destinataire |
| var.15 | heure 1 |
| var.16 | code état |
| var.17 | type adresse |
| var.18 | numéro adresse |
| var.19 | numéro du contact |
| var.20 | code opération de promotion |
| var.21 | 1ère donnée complémentaire - valzn1 |
| var.22 | 2ème donnée complémentaire - valzn2 |
| var.23 | 3ème donnée complémentaire - valzn3 |
| var.24 | 4ème donnée complémentaire – valzn4 |
| var.25 | 5ème donnée complémentaire – valzn5 |
| var.26 | 6ème donnée complémentaire – valzn6 |
| var.27 | 7ème donnée complémentaire – valzn7 |
| var.28 | 8ème donnée complémentaire – valzn8 |
| var.29 | 9ème donnée complémentaire – valzn9 |
| var.30 | 10ème donnée complémentaire – valzn10 |
| var.31 | 11ème donnée complémentaire – valzn11 |
| var.32 | 12ème donnée complémentaire – valzn12 |
| var.33 | 13ème donnée complémentaire – valzn13 |
| var.34 | 14ème donnée complémentaire – valzn14 |
| var.35 | 15ème donnée complémentaire – valzn15 |
| var.36 | 16ème donnée complémentaire – valzn16 |
| var.37 | 17ème donnée complémentaire – valzn17 |
| var.38 | 18ème donnée complémentaire – valzn18 |
| var.39 | 19ème donnée complémentaire – valzn19 |
| var.40 | 20ème donnée complémentaire – valzn20 |
| var.41 | code utilisateur émetteur |
| var.42 | (S) Numéro de tim créé (LNG) |
Certaines informations de l'action peuvent être mises à jour directement par l'instruction maquette MAJACT sans avoir à utiliser forcément la notion de contexte d'appel (fonction GCXA).
Exemple : création d'une action sur le client PAINYCHE en s'arrêtant aux n° d'événement :
V ~901=C(3)
V05 ~901="CLI"
V ~902=C(10)
V05 ~902=" PAINYCHE "
V ~903=C(5)
V05 ~903="APPEL"
V ~905=C(1)
V05 ~905="V"
V ~906=C(3)
V05 ~906="CDE"
V ~907="zzzzzzz",36
V ~908="zzzzzzz"
V05 ~908=MAJACT(~901,~902,~903,"",~905,~906,~907)
|
|
Attention Pour créer une action avec la variable n°23 (3ème donnée complémentaire - valzn3), il faut obligatoirement renseigner les 22 autres). |
Depuis la version 162, on peut laisser vide les noms de variable que l’on n’a pas à renseigner.
Exemple :
V ~RET_MAJACT="9999"
V ~NUMTIM="999999999"
VEE ~RET_MAJACT=MAJACT("CLI","BRCLI101","CRMDTX","Test",,,,"Lib1","Lib2",,,,,,,,,,,,"Zn1",,,,,,,,,,,,,,,,,,,,,~NUMTIM)
Permet de déclencher la mise à jour (modification) de jalons (table JAL_M) dans les batchs.
Cette instruction maquette met à jour les champs de la table JAL_M afin de pouvoir modifier tout ou partie des données d’un jalon dans un plan ou un ensemble de plans de jalonnement.
Liste des attributs à utiliser :
(E) numéro var.1 (Type modele)
(E) numéro var.2 (N° modele de jalon)
(E) numéro var.3 (Code achat/vente)
(E) numéro var.4 (Type evenement)
(E) numéro var.5 (N° evenement)
(E) numéro var.6 (N° poste)
(E) numéro var.7 (Code produit)
(E) numéro var.8 (Code jalon)
(E) numéro var.9 (Date limite au plus tot)
(E) numéro var.10 (Date initiale)
(E) numéro var.11 (Date réactualisée)
(E) numéro var.12 (Date forcee)
(E) numéro var.13 (Date de realisation)
(E) numéro var.14 (numéro de la 1ère donnée complémentaire )
(E) numéro var.15 (Valeur de la 1ère donnée complémentaire )
(E) numéro var.16 (numéro de la 2ème donnée complémentaire )
(E) numéro var.17 (Valeur de la 2ème donnée complémentaire )
(E) numéro var.18 (numéro de la 3ème donnée complémentaire )
(E) numéro var.19 (Valeur de la 3ème donnée complémentaire )
(E) numéro var.20 (numéro de la 4ème donnée complémentaire )
(E) numéro var.21 (Valeur de la 4ème donnée complémentaire )
(E) numéro var.22 (numéro de la 5ème donnée complémentaire )
(E) numéro var.23 (Valeur de la 5ème donnée complémentaire )
(E) numéro var.24 (numéro de la 6ème donnée complémentaire )
(E) numéro var.25 (Valeur de la 6ème donnée complémentaire )
(E) numéro var.26 (numéro de la 7ème donnée complémentaire )
(E) numéro var.27 (Valeur de la 7ème donnée complémentaire )
(E) numéro var.28 (numéro de la 8ème donnée complémentaire )
(E) numéro var.29 (Valeur de la 8ème donnée complémentaire )
(E) numéro var.30 (numéro de la 9ème donnée complémentaire )
(E) numéro var.31 (Valeur de la 9ème donnée complémentaire )
(E) numéro var.32 (numéro de la 10ème donnée complémentaire )
(E) numéro var.33 (Valeur de la 10ème donnée complémentaire )
Selon la mise à jour choisie, les champs clés 1 à 8 ne sont pas forcément tous renseignés.
Trois possibilités :
· "Tymod/nummod",
· "Achvte/typeve/numeve/numpos" (à 0 si entête),
· "codpro".
et en plus, éventuellement, "codjal" si on veut mettre à jour un seul jalon.
Remarque :
Si on veut effacer une date, il faut la renseigner avec "00000000".
Si on veut blanchir une zone paramétrée (valzn), on renseigne son numéro suivi de "".
Exemple avec appel de GJALE1
%10 Achvte @3
%10 Typeve @4
%10 Numeve @5
%10 Numeve @6
V ~901=C(1)
V ~902=C(3)
V ~903="zzzzzzzzz"
V ~904="zzzzzzzzz"
V10 ~901=@003
V10 ~902=@004
V10 ~903=@005
V10 ~904=@006
V10 ~908=MAJJAL("",0,~901,~902,~903,~904,"","INSP1","01062010","","00000000","","",4,"",9, "soleil")
Cet exemple met à jour la table JAL_M pour l’événement passé par le batch et le code jalon INSP1.
La date limite au plus tôt est initialisée à "01062010", la date réactualisée est blanchie, la zone "valzn4" est blanchie, la zone "valzn9" est renseignée avec « soleil »
Permet d’alimenter du texte libre (TXT) sur une action, un produit, un tiers ou une entête / poste d’événement.
| N° | Paramètre | Type | Caractère obligatoire/commentaire | E/S |
| 1 | Type de texte (typtxt) | CHAR (3) |
Obligatoire. Type de texte mis à jour : TIM, PRO, EVE, EVP, TIE |
E |
| 2 | Nature de texte (nattxt) | CHAR (6) | Facultatif. | E |
| 3 | Code langue (codlan) | CHAR (3) |
Facultatif. Si non renseigné, on prend LANNAT.A1 |
E |
| 4 | Numéro du TD | LONG |
Obligatoire. Numéro du TD contenant les lignes de texte |
E |
| 5 | Noms des champs du TD | CHAR |
Facultatif. En premier, le nom du champ du TD contenant le texte libre. Si non renseigné, on prend par défaut le champ TDxx_TEXTE En second, on peut donner le nom du champ du TD contenant la taille à prendre de la ligne de texte libre associée (même occurrence). Si non renseigné en mode RAW, on prend par défaut le champ TDxx_NBCAR |
E |
| 6 | Options | CHAR |
Facultatif. /RAW/ texte à traiter en mode RAW En mode RAW, /REPLACE_BR/ permet de remplacer les <BR> zzn \n |
E |
| 7 | Type de tiers (typtie) | CHAR | Obligatoire si type de texte TIM, TIE | E |
| 8 | Sigle tiers (sigtie) | CHAR | Obligatoire si type de texte TIM, TIE | E |
| 9 | Numéro de l’action (numtim) | LONG | Obligatoire si type de texte TIM | E |
| 10 | Code produit (codpro) | CHAR | Obligatoire si type de texte PRO | E |
| 11 | Achat/Vente (achvte) | CHAR | Obligatoire si type de texte EVE ou EVP | E |
| 12 | Type d’événement (typeve) | CHAR | Obligatoire si type de texte EVE ou EVP | E |
| 13 | Numéro d’événement (numeve) | CHAR | Obligatoire si type de texte EVE ou EVP | E |
| 14 | Numéro de poste (numpos) | CHAR | Obligatoire si type de texte EVP | E |
Sans option particulière, on découpe les lignes de texte en entrée en ligne de 80 caractères (si le champ texte de taille > 80).
Avec l’option /RAW/
on découpe les lignes de texte en entrée en ligne de 80 caractères. Si le champ contenant le texte n’est pas multiple de 80, on conserve les caractères blancs afin de compléter cette ligne avec la suite. On complète par défaut à la taille déclarée du champ portant le texte.
On peut cependant piloter le nombre de caractère à traiter par le 2ème champ du TD, dont le nom est donné en paramètre 5. Dans ce cas, si le nombre de caractère = 0, la ligne ne sera pas prise en compte dans le chargement de txt. Si le nombre de caractère = -1, on prend alors la taille du champ contenant le texte.
Avec l’option REPLACE_BR, on remplace au préalable les séquences <br> en \n
Exemple :
P UTIL_VARNOM
V DTD01
V ~TD01_TEXTE=C(120)
V ~TD01_NBCAR="999"
V FTD01
V ~RET_MAJTXT="9999"
V ~RET_MAJACT="9999"
V ~NUMTIM="999999999"
…
VEE ~RET_MAJACT=MAJACT("CLI","BRCLI101","CRMDTX","Test",,,,"Lib1","Lib2",,,,,,,,,,,,"Zn1",,,,,,,,,,,,,,,,,,,,,~NUMTIM)
VEE ~TD01_TEXTE[1] = "Ligne 01 <BR> Ligne 02 <br>"
VEE ~TD01_NBCAR[1] = 27
VEE ~TD01_TEXTE[2] = "Ligne 03 "
VEE ~TD01_NBCAR[2] = 9
VEE ~RET_MAJTXT=MAJTXT("TIM",,"FRA",01,"TD01_TEXTE","RAW/REPLACE_BR","CLI","BRCLI101",~NUMTIM)
Cette fonction, utilisable dans les maquettes d’édition sur n’importe quel bloc, permet d’effectuer une mise à jour du texte libre (table TXT) associé au spool de l’édition.
Elle est compatible avec le paramètre maquette MEMO_MESSAGE_TXT_SPL qui permet de mémoriser, dans la table TXT (associée au numéro de spool du traitement), tous les messages d’erreur (enregistrés via UMES) générés lors de l’exécution de ce traitement.
Paramètres de l’instruction :
| Rang | Libellé | Type | Description |
Entrée/ Sortie |
| 1 | Ligne de texte libre | CHAR (256) | Obligatoire | E |
Exemple :
V ~901=C(256)
V ~999=9
V10 ~901=@001
V10 ~999=MTXTSPL(~901)
Ces instructions permettent de créer un texte libre associé au spool contenant la valeur de la variable @001. (Table txt avec champ « typtrt »='SPL ', champ « codtxt » = numéro du spool, champ « codlan » = ppe LANNAT.A1, champ « numblo » = 1).
Cette fonction permet de valoriser l’évènement et de mémoriser les montants calculés (et retourne les montants principaux de la valorisation).
L’instruction maquette possède plusieurs paramètres :
| Ordre | Paramètre | Type | Caractère obligatoire/commentaire |
Entrée / Sortie |
| 1 | Code société | LNG |
Facultatif. Si le code société n’est pas renseigné, il est alimenté avec le code société courant. |
E |
| 2 | Code achat/vente | CHAR | Obligatoire | E |
| 3 | Type d’évènement | CHAR | Obligatoire | E |
| 4 | N° d’évènement | LNG | Obligatoire | E |
| 5 | Mode de valorisation de l’événement : HT, TTC | CHAR | Facultatif. | S |
| 6 |
Total HT avant remise, taxe et frais si mode HT Total TTC si mode TTC |
DBLE | Facultatif. | S |
| 7 |
Total remise globale En HT si mode HT En TTC si mode TTC |
DBLE | Facultatif. | S |
| 8 |
Total de la taxe parafiscale En HT si mode HT Pas de taxe parafiscale si mode TTC |
DBLE | Facultatif. | S |
| 9 |
Total des frais divers En HT si mode HT En TTC si mode TTC |
DBLE | Facultatif. | S |
| 10 | Total HT avant application TVA | DBLE | Facultatif. | S |
| 11 | Total TVA | DBLE | Facultatif. | S |
| 12 | Total TTC | DBLE | Facultatif. | S |
| 13 | Montant escompte | DBLE |
Facultatif. Cette zone est renseignée si le paramètre ESCACH est positionné. |
S |
Mise à jour des cinq premières zones paramétrées de la table des contacts (CTC) :
Ø Type de tiers (typtie),
Ø Sigle tiers (sigtie),
Ø Type d’adresse (typadr),
Ø N° adresse (numadr),
Ø N° du contact (numord),
Ø N° et valeur de la zone paramétrée (de 1 à 5).
Mise à jour des cinq premières zones paramétrées de la table des tiers (TIE) :
Ø Type de tiers (typtie),
Ø Sigle tiers (sigtie),
Ø N° et valeur de la zone paramétrée ( de 1 à 5).
Cette fonction, utilisable dans les maquettes d’édition, permet d’effectuer une mise à jour des zones paramétrées datées (table ZOD).
Paramètres de l’instruction :
| Rang | Libellé | Type | Description |
Entrée/ Sortie |
| 1 | Type de zone paramétrée datée | char(3) | Obligatoire | E |
| 2 | Clé de la zone paramétrée datée | char(40) |
Obligatoire sauf si certaines valeurs (de la 8 à la 21) sont renseignées selon le type de zone paramétrée datée : · Type zod = EVE ou EAE, renseignez les valeurs 6, 7 et 8. · Type zod = EVP ou EAP, renseignez les valeurs 6, 7, 8 et 9. · Type zod = PRO, renseignez la valeur 10 · Type zod = CLI (type de tiers), renseignez les valeurs 11 et 12. · Type zod = ADR, renseignez les valeurs 11, 13, 14 et 15. · Type zod = OPE, renseignez la valeur 16 · Type zod = CAE, renseignez les valeurs 17, 18 et 19. |
E |
| 3 | Numéro de la zone paramétrée datée | long | Obligatoire | E |
| 4 | Date de la recherche si gestion en mode daté (voir paramètreZODMOD) | JJMMSSAA | Facultatif | E |
| 5 | Valeur de la zone paramétrée datée à mettre à jour | char(40) | S | |
| 6 | Code achat/vente de l’événement | char(1) | Facultatif | E |
| 7 | Type d’événement | char(3) | Facultatif | E |
| 8 | Numéro d’événement | long | Facultatif | E |
| 9 | Numéro de poste | long | Facultatif | E |
| 10 | Code produit | char(16) | Facultatif | E |
| 11 | Type de tiers | char(3) | Facultatif | E |
| 12 | Sigle du tiers | char(12) | Facultatif | E |
| 13 | Type d’adresse | char(3) | Facultatif | E |
| 14 | Sigle de l’adresse | char(12) | Facultatif | E |
| 15 | Numéro de l’adresse | long | Facultatif | E |
| 16 | Code opération | char(12) | Facultatif | E |
| 17 | Code achat/vente de l’élément catalogue | char(1) | Facultatif | E |
| 18 | Code catalogue | char(6) | Facultatif | E |
| 19 | Référence externe de l’élément | char(16) | Facultatif | E |
Exemple :
V ~902=C(16)
V10 ~902=@001
VPE ~910=IZOD("PRO",~902,"105",””,”VALIDE”)
Ces instructions permettent de mettre à jour (mise à jour ou création) la donnée complémentaire PRO105 (table zod) du produit donné par @001 avec la valeur «VALIDE».
Donne le nombre de lignes déjà éditées pour la page, juste avant le bloc depuis lequel l’instruction est appelée. Peut servir à forcer un saut de page (ligne préfixée par R) pour permettre d’éditer un bloc entier.
Exemples :
V10 ~006=NBLED()
Donne le nombre total d’enregistrements sélectionnés.
Exemples :
V10 ~006=NBLSEL()
Donne le nombre d’enregistrements déjà traitées, dont l’enregistrement en cours de traitement.
Exemples :
V10 ~006=NBLTRT()
Cette instruction permet d’écrire des lignes dans le fichier journal (.log) du traitement à partir de la maquette. Cette instruction n’utilise qu’un paramètre en entrée correspondant à la chaîne de caractères à écrire dans le fichier journal. Si cette chaîne de caractères contient des variables fictives, elles seront remplacées par leurs valeurs respectives.
Exemple :
VEE ~001=@339
VEE ~901=PRINTF("#NUMERO_EMAIL=~001")
Cette instruction maquette permet de rechercher une valeur définie au niveau du paramétrage des barèmes (table BAP), en sélectionnant la première valeur trouvée par rapport aux couples QUE/QUE définis.
L’instruction maquette utilise plusieurs critères :
| Libellé | Type | Description |
Entrée Sortie |
|
| 1 |
Indicateur Achat/Vente du « BAP » à rechercher |
CHAR(1) | Obligatoire : A ou V | E |
| 2 | Type de lien « BAP » à rechercher | CHAR(3) | Obligatoire | E |
| 3 | Type de tiers | CHAR(3) | Obligatoire si le Sigle Tiers est renseigné. | E |
| 4 | Sigle tiers | CHAR(12) | Facultatif. Si non renseigné, on prend le Type et Sigle tiers de l’événement si la référence de l’événement est donnée | E |
| 5 | Code produit | CHAR(16) | Facultatif. Si non renseigné, on prend le Code produit du poste de l’événement si la référence du poste est donnée | E |
| 6 | Indicateur Achat/Vente événement | CHAR(1) | Facultatif | E |
| 7 | Type événement | CHAR(3) | Facultatif | E |
| 8 | Numéro d’un événement | LONG | Facultatif | E |
| 9 | Numéro de poste d’un événement | LONG | Facultatif | E |
| 10 | Contrat | CHAR(9) | Facultatif. Si non renseigné, on prend le Contrat de l’événement si la référence de l’événement est donnée | E |
| 11 | Date de recherche | JJMMSSAA ou JJ/MM/SSAA | Facultative. Si non renseigné, on prend par défaut la date de l’événement (dateve) si la référence de l’événement est donnée, sinon la date système | E |
| 12 | Typtie (de bap) | CHAR(3) | S | |
| 13 | Sigtie (de bap) | CHAR(12) | S | |
| 14 | Num1 (de bap) | LONG | S | |
| 15 | Num2 (de bap) | LONG | S | |
| 16 | Lib1 (de bap) | CHAR(30) | S | |
| 17 | Typtie1 (de bap) | CHAR(3) | S | |
| 18 | Sigtie1 (de bap) | CHAR(12) | S | |
| 19 | Codbar (de bap) | CHAR(3) | S | |
| 20 | Taucom (de bap) | NUMBER | S | |
| 21 | Coduni (de bap) | CHAR(3) | S |
Exemple (depuis la fonction EDEVE) :
longueur=63
largeur=132
%CR Variables retournées par la recherche BAP
V ~112=C(3)
V ~113=C(12)
V ~114="999999999"
V ~115="999999999"
V ~116=C(30)
V ~117=C(3)
V ~118=C(12)
V ~119=C(3)
V ~120="999.99"
V ~121=C(3)
%CR Variables d'entrées
V ~106=C(1)
V ~107=C(3)
V ~108="999999999"
V ~109="99999"
V ~017=C(10)
V ~018=C(1)
V ~019=C(1)
V ~020=C(4)
V ~021=C(16)
V ~022=C(10)
%CM Achvte d’evp
V10 ~106=@32
%CM Typeve d’evp
V10 ~107=@33
%CM Numeve d’evp
V10 ~108=@34
%CM Numpos d’evp
V10 ~109=@35
V10
~010=RBAP("V","CTD","","","",~106,~107,~108,~109,"","",~112,~113,~116,~117,~118,~119,~121)
%10 Typtie (de bap) : ~112
%10 Sigtie (de bap) : ~113
%10 Num1 (de bap) : ~114
%10 Num2 (de bap) : ~115
%10 Lib1 (de bap) : ~116
%10 Typtie1 (de bap) : ~117
%10 Sigtie1 (de bap) : ~118
%10 Codbar (de bap) : ~119
%10 Taucom (de bap) : ~120
%10 Coduni (de bap) : ~121
Cette instruction maquette permet de récupérer une valeur numérique depuis la recherche des Conditions Tarifaires (CTS).
Les CTS peuvent être de type simple (affectation d’un taux) ou par seuil (attribution de prime en fonction d’un chiffre d’affaire).
La fonction RCTS peut utiliser des CTS définies par le mécanisme des Que/Que hors tout autre traitement dédié (panachage complexe, calcul de taxe, …).
L’instruction comporte plusieurs paramètres :
| Libellé | Type | Description |
Entrée Sortie |
|
| 1 | Indicateur Achat/Vente de la condition à rechercher | CHAR(1) | Obligatoire : A ou V | E |
| 2 | Type de conditions à rechercher | CHAR(3) | Obligatoire | E |
| 3 | Type de tiers | CHAR(3) | Obligatoire | E |
| 4 | Sigle tiers | CHAR(12) | Obligatoire | E |
| 5 | Code produit | CHAR(16) | Obligatoire | E |
| 6 | Indicateur Achat/Vente événement | CHAR(1) | Facultatif | E |
| 7 | Type événement | CHAR(3) | Facultatif | E |
| 8 | Numéro d’un événement | LONG | Facultatif | E |
| 9 | Numéro de poste d’un événement | LONG | Facultatif | E |
| 10 | Date de recherche | JJMMSSAA ou JJ/MM/SSAA | Facultative. Si non renseigné, on prend par défaut la date de l’événement si celui-ci est renseigné, sinon la date système | E |
| 11 | Prix | NUMBER | si 0, le système prendra 9999999 pour rechercher un % ou un montant de remise. | E |
| 12 | Pourcentage de remise | NUMBER | S | |
| 13 | Remise en montant | NUMBER | S | |
| 14 | Prix remisé | NUMBER | S | |
| 15 | Montant (pour seuil) | NUMBER | E | |
| 16 | Code devise | CHAR(3) | Par défaut, celui de l’évènement, sinon celui du tiers, sinon DEVNAT | E |
| 17 | Quantité (pour seuil) | NUMBER | Facultative, par défaut « 1 » | E |
| 18 | Code unité | CHAR(3) | Facultative, par défaut unité d’achat ou de vente du produit. | E |
| 19 | Numéro de contrat | CHAR(9) | Facultatif | E |
| 20 | Code taxe | CHAR(3) | Facultatif, sauf si utilisation de RCTS pour rechercher la valeur d’un code taxe (de type 9, avec utilisation du paramètre TAXCTS) | E |
| 21 | Catégorie de remise (8 valeurs possibles) | CHAR(3) | Voir précision juste après le tableau des paramètres | S |
| 22 | Base de calcul (8 valeurs possibles) | INTEGER | Idem | S |
| 23 | Type de valeur (8 valeurs possibles) | CHAR(1) | Idem | S |
| 24 | Valeur remise (8 valeurs possibles) | NUMBER | Idem | S |
| 25 | Prix intermédiaire (8 valeurs possibles) | NUMBER | Idem | S |
| 26 | N° CTS (8 valeurs possibles) | INTEGER | Idem | S |
| 27 | Libellé de la catégorie (8 valeurs possibles) | CHAR(30) | Idem | S |
| 28 | Nature promo (8 valeurs possibles) | CHAR(12) | Idem | S |
| 29 | Prix de cession O/N (8 valeurs possibles) | CHAR(1) | Idem | S |
| 30 | Date de début (8 valeurs possibles) | CHAR(10) | Idem | S |
| 31 | Date de fin (8 valeurs possibles) | CHAR(10) | Idem | S |
| 32 | Type de remise (8 valeurs possibles) | CHAR(1) | Idem | S |
| 33 | Nombre d’occurrence (N) réservées dans les variables fictives pour le retour des valeurs en paramètres 21 à 32 | LONG | Facultatif | E |
| 34 | Nombre de CTS appliquées | LONG | Facultatif | S |
|
|
Récupération du détail des CTS appliquées (paramètres 21 à 32 de RCTS) : Pour récupérer ces valeurs, il faut préciser pour chacun de ces paramètres le premier numéro de variable fictive d’un ensemble de N variables fictives contiguës (N = 8 par défaut, pilotable par le paramètre 33). De ce fait, on ne peut pas utiliser de variables nommées pour les paramètres 21 à 32. Si on passe la valeur 101 comme valeur du paramètre 21, et rien en paramètre 33, on récupérera alors les catégories de remise dans les variables fictives de ~101 à ~108, variables à déclarer dans le format attendu (voir le 2ème exemple ci-dessous). |
Lors de la recherche de conditions tarifaires, la prise en compte des QUE (voir fonction GTQUE) dépendant d’un événement sera possible en précisant les paramètres 6, 7 et 8.
La prise en compte des QUE dépendant d’un poste sera possible en précisant, en plus, un numéro de poste (paramètre 9).
Règles de gestion :
| Position fiscale | Déduite de celle de l’événement si renseigné, sinon celle du tiers, |
| Contrat | Déduit de celui de l’événement si renseigné, |
| Dépôt | Déduit de celui de l’en-tête d’événement, |
| Etablissement | Déduit de celui de l’événement si renseigné. |
Exemple d’utilisation sans ramener le détail :
V ~901=C(1)
VPE ~901="V"
V ~902=C(3)
VPE ~902="LIG"
V ~903=C(3)
VPE ~903="CLI"
V ~904=C(12)
VPE ~904="00000002"
V ~905=C(16)
VPE ~905="050001"
V ~906=C(1)
VPE ~906="V"
V ~907=C(3)
VPE ~907="CDE"
V ~908="9999999",98765
V ~909="999",1
V ~910=C(10)
VPE ~910="01/07/2002"
V ~911="zzzzzz.zz",100.00
V ~912="zzzzzz.zz"
V ~913="zzzzzz.zz"
V ~914="zzzzzz.zz"
V ~915="zzzzzz.zz",100.00
V ~916=C(3)
VPE ~916="EUR"
V ~917="zzzzz9",10
V ~918=C(3)
VPE ~918="U "
V ~920="zzzzz9,99"
VPE ~920=RCTS(~901,~902,~903,~904,~905,~906,~907,~908,~909,~910,~911,
~912,~913,~914,~915,~916,~917,~918)
Exemple ramenant le détail :
%CR Catégories de remise (21)
V ~121=C(3)," "
V ~122=C(3)," "
V ~123=C(3)," "
V ~124=C(3)," "
V ~125=C(3)," "
V ~126=C(3)," "
V ~127=C(3)," "
V ~128=C(3)," "
V ~129=C(3)," "
V ~130=C(3)," "
V ~131=C(3)," "
V ~132=C(3)," "
V ~133=C(3)," "
V ~134=C(3)," "
V ~135=C(3)," "
V ~136=C(3)," "
V ~137=C(3)," "
V ~138=C(3)," "
V ~139=C(3)," "
V ~140=C(3)," "
%CR Bases de calcul (22)
V ~141="z",0
V ~142="z",0
V ~143="z",0
V ~144="z",0
V ~145="z",0
V ~146="z",0
V ~147="z",0
V ~148="z",0
V ~149="z",0
V ~150="z",0
V ~151="z",0
V ~152="z",0
V ~153="z",0
V ~154="z",0
V ~155="z",0
V ~156="z",0
V ~157="z",0
V ~158="z",0
V ~159="z",0
V ~160="z",0
%CR Types de valeurs (23)
V ~161=C(1)," "
V ~162=C(1)," "
V ~163=C(1)," "
V ~164=C(1)," "
V ~165=C(1)," "
V ~166=C(1)," "
V ~167=C(1)," "
V ~168=C(1)," "
V ~169=C(1)," "
V ~170=C(1)," "
V ~171=C(1)," "
V ~172=C(1)," "
V ~173=C(1)," "
V ~174=C(1)," "
V ~175=C(1)," "
V ~176=C(1)," "
V ~177=C(1)," "
V ~178=C(1)," "
V ~179=C(1)," "
V ~180=C(1)," "
%CR Valeurs remises (24)
V ~181="zzzzz.zzzz",0
V ~182="zzzzz.zzzz",0
V ~183="zzzzz.zzzz",0
V ~184="zzzzz.zzzz",0
V ~185="zzzzz.zzzz",0
V ~186="zzzzz.zzzz",0
V ~187="zzzzz.zzzz",0
V ~188="zzzzz.zzzz",0
V ~189="zzzzz.zzzz",0
V ~190="zzzzz.zzzz",0
V ~191="zzzzz.zzzz",0
V ~192="zzzzz.zzzz",0
V ~193="zzzzz.zzzz",0
V ~194="zzzzz.zzzz",0
V ~195="zzzzz.zzzz",0
V ~196="zzzzz.zzzz",0
V ~197="zzzzz.zzzz",0
V ~198="zzzzz.zzzz",0
V ~199="zzzzz.zzzz",0
V ~200="zzzzz.zzzz",0
%CR Prix intermédiaires (25)
V ~201="zzzzz.zzzz",0
V ~202="zzzzz.zzzz",0
V ~203="zzzzz.zzzz",0
V ~204="zzzzz.zzzz",0
V ~205="zzzzz.zzzz",0
V ~206="zzzzz.zzzz",0
V ~207="zzzzz.zzzz",0
V ~208="zzzzz.zzzz",0
V ~209="zzzzz.zzzz",0
V ~210="zzzzz.zzzz",0
V ~211="zzzzz.zzzz",0
V ~212="zzzzz.zzzz",0
V ~213="zzzzz.zzzz",0
V ~214="zzzzz.zzzz",0
V ~215="zzzzz.zzzz",0
V ~216="zzzzz.zzzz",0
V ~217="zzzzz.zzzz",0
V ~218="zzzzz.zzzz",0
V ~219="zzzzz.zzzz",0
V ~220="zzzzz.zzzz",0
%CR N° de CTS (26)
V ~221="zzzzzz",0
V ~222="zzzzzz",0
V ~223="zzzzzz",0
V ~224="zzzzzz",0
V ~225="zzzzzz",0
V ~226="zzzzzz",0
V ~227="zzzzzz",0
V ~228="zzzzzz",0
V ~229="zzzzzz",0
V ~230="zzzzzz",0
V ~231="zzzzzz",0
V ~232="zzzzzz",0
V ~233="zzzzzz",0
V ~234="zzzzzz",0
V ~235="zzzzzz",0
V ~236="zzzzzz",0
V ~237="zzzzzz",0
V ~238="zzzzzz",0
V ~239="zzzzzz",0
V ~240="zzzzzz",0
%CR Libellés catégories (27)
V ~241=C(30)," "
V ~242=C(30)," "
V ~243=C(30)," "
V ~244=C(30)," "
V ~245=C(30)," "
V ~246=C(30)," "
V ~247=C(30)," "
V ~248=C(30)," "
V ~249=C(30)," "
V ~250=C(30)," "
V ~251=C(30)," "
V ~252=C(30)," "
V ~253=C(30)," "
V ~254=C(30)," "
V ~255=C(30)," "
V ~256=C(30)," "
V ~257=C(30)," "
V ~258=C(30)," "
V ~259=C(30)," "
V ~260=C(30)," "
%CR Natures (28)
V ~261=C(12)," "
V ~262=C(12)," "
V ~263=C(12)," "
V ~264=C(12)," "
V ~265=C(12)," "
V ~266=C(12)," "
V ~267=C(12)," "
V ~268=C(12)," "
V ~269=C(12)," "
V ~270=C(12)," "
V ~271=C(12)," "
V ~272=C(12)," "
V ~273=C(12)," "
V ~274=C(12)," "
V ~275=C(12)," "
V ~276=C(12)," "
V ~277=C(12)," "
V ~278=C(12)," "
V ~279=C(12)," "
V ~280=C(12)," "
%CR Indicateur répercuté dans prix de cession (29)
V ~281=C(1)," "
V ~282=C(1)," "
V ~283=C(1)," "
V ~284=C(1)," "
V ~285=C(1)," "
V ~286=C(1)," "
V ~287=C(1)," "
V ~288=C(1)," "
V ~289=C(1)," "
V ~290=C(1)," "
V ~291=C(1)," "
V ~292=C(1)," "
V ~293=C(1)," "
V ~294=C(1)," "
V ~295=C(1)," "
V ~296=C(1)," "
V ~297=C(1)," "
V ~298=C(1)," "
V ~299=C(1)," "
V ~300=C(1)," "
%CR Dates de début (30)
V ~301=C(10)," "
V ~302=C(10)," "
V ~303=C(10)," "
V ~304=C(10)," "
V ~305=C(10)," "
V ~306=C(10)," "
V ~307=C(10)," "
V ~308=C(10)," "
V ~309=C(10)," "
V ~310=C(10)," "
V ~311=C(10)," "
V ~312=C(10)," "
V ~313=C(10)," "
V ~314=C(10)," "
V ~315=C(10)," "
V ~316=C(10)," "
V ~317=C(10)," "
V ~318=C(10)," "
V ~319=C(10)," "
V ~320=C(10)," "
%CR Dates de fin (31)
V ~321=C(10)," "
V ~322=C(10)," "
V ~323=C(10)," "
V ~324=C(10)," "
V ~325=C(10)," "
V ~326=C(10)," "
V ~327=C(10)," "
V ~328=C(10)," "
V ~329=C(10)," "
V ~330=C(10)," "
V ~331=C(10)," "
V ~332=C(10)," "
V ~333=C(10)," "
V ~334=C(10)," "
V ~335=C(10)," "
V ~336=C(10)," "
V ~337=C(10)," "
V ~338=C(10)," "
V ~339=C(10)," "
V ~340=C(10)," "
%CR Types de remises (32)
V ~341=C(1)," "
V ~342=C(1)," "
V ~343=C(1)," "
V ~344=C(1)," "
V ~345=C(1)," "
V ~346=C(1)," "
V ~347=C(1)," "
V ~348=C(1)," "
V ~349=C(1)," "
V ~350=C(1)," "
V ~351=C(1)," "
V ~352=C(1)," "
V ~353=C(1)," "
V ~354=C(1)," "
V ~355=C(1)," "
V ~356=C(1)," "
V ~357=C(1)," "
V ~358=C(1)," "
V ~359=C(1)," "
V ~360=C(1)," "
V ~111="zzzz9.9999"
V ~112="z9.99"
V ~113="zzzz9.9999"
V ~114="zzzz9.9999"
V ~116="99"
V ~118=C(3)
V ~119=C(9)
V ~120=C(1)
V10 ~111=1000
V10 ~999=RCTS("V", "LIG", "CLI", "BRCLI102", "BR105", "", "", 0, 0, "", ~111, ~112, ~113, ~114, , "EUR", 1, ~118, ~119, ~120, 121, 141, 161, 181, 201, 221, 241, 261, 281, 301, 321, 341, 20, ~116)
%10 Résultat :
%10 Prix départ : ~111
%10 Prix remisé : ~114
%10
%10 Soit ~112 % de remise effective
%10
%10 Détail des ~116 CTS appliquées :
%10
%10 |Numord|Codcre|Bascal|Typval| Valrem | PrxvduI |Numcot | Libcre | Codstat |Indact| Datdeb Datfin |Typrem|
&10 | 1 | ~121 | ~141 | ~161 |~181 |~201 |~221 |~241 |~261 |~281 |~301 ~321 |~341 |
&10 | 2 | ~122 | ~142 | ~162 |~182 |~202 |~222 |~242 |~262 |~282 |~302 ~322 |~342 |
&10 | 3 | ~123 | ~143 | ~163 |~183 |~203 |~223 |~243 |~263 |~283 |~303 ~323 |~343 |
&10 | 4 | ~124 | ~144 | ~164 |~184 |~204 |~224 |~244 |~264 |~284 |~304 ~324 |~344 |
&10 | 5 | ~125 | ~145 | ~165 |~185 |~205 |~225 |~245 |~265 |~285 |~305 ~325 |~345 |
&10 | 6 | ~126 | ~146 | ~166 |~186 |~206 |~226 |~246 |~266 |~286 |~306 ~326 |~346 |
&10 | 7 | ~127 | ~147 | ~167 |~187 |~207 |~227 |~247 |~267 |~287 |~307 ~327 |~347 |
&10 | 8 | ~128 | ~148 | ~168 |~188 |~208 |~228 |~248 |~268 |~288 |~308 ~328 |~348 |
&10 | 9 | ~129 | ~149 | ~169 |~189 |~209 |~229 |~249 |~269 |~289 |~309 ~329 |~349 |
&10 | 10 | ~130 | ~150 | ~170 |~190 |~210 |~230 |~250 |~270 |~290 |~310 ~330 |~350 |
&10 | 11 | ~131 | ~151 | ~171 |~191 |~211 |~231 |~251 |~271 |~291 |~311 ~331 |~351 |
&10 | 12 | ~132 | ~152 | ~172 |~192 |~212 |~232 |~252 |~272 |~292 |~312 ~332 |~352 |
&10 | 13 | ~133 | ~153 | ~173 |~193 |~213 |~233 |~253 |~273 |~293 |~313 ~333 |~353 |
&10 | 14 | ~134 | ~154 | ~174 |~194 |~214 |~234 |~254 |~274 |~294 |~314 ~334 |~354 |
&10 | 15 | ~135 | ~155 | ~175 |~195 |~215 |~235 |~255 |~275 |~295 |~315 ~335 |~355 |
&10 | 16 | ~136 | ~156 | ~176 |~196 |~216 |~236 |~256 |~276 |~296 |~316 ~336 |~356 |
&10 | 17 | ~137 | ~157 | ~177 |~197 |~217 |~237 |~257 |~277 |~297 |~317 ~337 |~357 |
&10 | 18 | ~138 | ~158 | ~178 |~198 |~218 |~238 |~258 |~278 |~298 |~318 ~338 |~358 |
&10 | 19 | ~139 | ~159 | ~179 |~199 |~219 |~239 |~259 |~279 |~299 |~319 ~339 |~359 |
&10 | 20 | ~140 | ~160 | ~180 |~200 |~220 |~240 |~260 |~280 |~300 |~320 ~340 |~360 |
Cette fonction permet de remplacer une chaîne de caractère (1 à n) par une autre chaîne de caractère (0 à n) dans une chaîne de caractère.
| Libellé | Type | Description |
Entrée Sortie |
|
| 1 | Chaîne de caractère à traiter | Char |
Obligatoire |
E |
| 2 | Chaîne de caractère à remplacer | Char | Au moins 1 caractères | E |
| 3 | Chaîne de caractère de remplacement | Char | E | |
| 4 | Mode de remplacement | Char |
Optionnel Valeurs gérées : vide : remplacement unitaire HTML : remplacement des caractères réservés HTML, voir liste ci-dessous |
E |
La chaîne de caractère traitée est disponible en retour de la fonction REPLACE (retour de type Char)
Exemple avec « Mode de remplacement » vide :
V ~110=C()
V ~111=C()
VEE ~110="Test de l'instruction 'REPLACE'"
VEE ~111=REPLACE(~110,"'","\'")
La valeur de ~111 sera égale à "Test de l\'instruction \'REPLACE\'"
Listes des caractères remplacés sur la chaine en mode de remplacement HTML :
| & | & |
| < | < |
| > | > |
| á | á |
| â | â |
| à | à |
| ä | ä |
| æ | æ |
| ç | ç |
| é | é |
| ê | ê |
| è | è |
| ë | ë |
| í | í |
| î | î |
| ì | ì |
| ï | ï |
| ó | ó |
| ô | ô |
| ò | ò |
| ö | ö |
| œ | œ |
| ú | ú |
| û | û |
| ù | ù |
| ü | ü |
| € | € |
Cette fonction permet de vérifier si un paramètre (PPE) est positionné dans l’environnement du traitement et d’identifier la valeur d’une option du paramètre.
La recherche du PPE s’effectue sur la cible utilisée par le batch, et si non présent, sur les flux métiers associés, sinon, au niveau général.
| Libellé | Type | Description |
Entrée Sortie |
|
| 1 | Code PPE à rechercher | Char(12) |
Obligatoire |
E |
| 2 | Option demandée | Char(2) |
Facultatif. Si l’option n’est pas précisée, l’applicatif recherche d’abord si le paramètre est actif. Sinon, il recherche les valeurs N1, N2, N3, N4, N5, D1, D2 ou D3 (valeurs numériques) et A1, A2, A3, M1, M2 ou L1 (valeurs alphanumériques). |
E |
| 3 | Valeur retournée | Char(40) | Valeur numérique ou alphanumérique suivant l’option demandée. | S |
Code retour de la fonction :
· 1, si le ppe est actif,
· 0, si le ppe n’est pas actif (ou non positionné),
· -1 en cas d’erreur d’utilisation.
Exemple :
P UTIL_VARNOM
V ~PARA1=B(6)
V ~PARA2=B(6)
V ~PARA3=B(6)
V ~PARM1=B(12)
V ~PARM2=B(12)
V ~PARL1=C(256)
V ~PARN1="9999"
V ~PARN2="9999"
V ~PARN3="9999"
V ~PARN4="9999"
V ~PARN5="9999"
V ~PARD1="9999.999"
V ~PARD2="9999.999"
V ~PARD3="9999.999"
V ~EXIS_PPE="9"
VEE ~EXIS_PPE=RPPE("TEST","A1",~PARA1)
VEE ~EXIS_PPE=RPPE("TEST","A2",~PARA2)
VEE ~EXIS_PPE=RPPE("TEST","A3",~PARA3)
VEE ~EXIS_PPE=RPPE("TEST","M1",~PARM1)
VEE ~EXIS_PPE=RPPE("TEST","M2",~PARM2)
VEE ~EXIS_PPE=RPPE("TEST","L1",~PARL1)
VEE ~EXIS_PPE=RPPE("TEST","N1",~PARN1)
VEE ~EXIS_PPE=RPPE("TEST","N2",~PARN2)
VEE ~EXIS_PPE=RPPE("TEST","N3",~PARN3)
VEE ~EXIS_PPE=RPPE("TEST","N4",~PARN4)
VEE ~EXIS_PPE=RPPE("TEST","N5",~PARN5)
VEE ~EXIS_PPE=RPPE("TEST","D1",~PARD1)
VEE ~EXIS_PPE=RPPE("TEST","D2",~PARD2)
VEE ~EXIS_PPE=RPPE("TEST","D3",~PARD3)
%EE PPE positionné = ~EXIS_PPE
%EE ParA1 = ~PARA1
%EE ParA2 = ~PARA2
%EE ParA3 = ~PARA3
%EE ParM1 = ~PARM1
%EE ParM2 = ~PARM2
%EE ParL1 = ~PARL1
%EE ParN1 = ~PARN1
%EE ParN2 = ~PARN2
%EE ParN3 = ~PARN3
%EE ParN4 = ~PARN4
%EE ParN5 = ~PARN5
%EE ParD1 = ~PARD1
%EE ParD2 = ~PARD2
%EE ParD3 = ~PARD3
|
|
Attention Cette instruction maquette n’est pas utilisable en VEE en présence du paramètre maquette CODPEV. |
Cette fonction permet de faire une recherche de l'habilitation selon le type de QUE (table HQUE).
| Libellé | Type | Description |
Entrée Sortie |
|
| 1 | Indicateur Achat/Vente de la condition à rechercher pour la recherche dans la table HQUE | Char(1) | Obligatoire | E |
| 2 | Code lien table HQUE | Char (3) | E | |
| 3 | Type tiers | Char(3) | E | |
| 4 | Sigle tiers | Char(12) | E | |
| 5 | Code produit | Char(16) | E | |
| 6 | Indicateur Achat/Vente de l’évènement | Char(1) | E | |
| 7 | Type évènement | Char(3) | E | |
| 8 | Numéro évènement | Long | E | |
| 9 | Numéro de poste | Long | E | |
| 10 | Numéro de contrat | Char(10) | Numcnt | E |
| 11 | Code TVA | Char(1) | Codtva | E |
| 12 | Code taxe | Char(1) | Codtax | E |
| 13 | Code frais divers | Char(4) | Codfrd | E |
| 14 | Code composant | Char(16) | Codcmp | E |
| 15 | Date référence | Char(10) | Jjmmssaa ou jj/mm/ssaa | E |
| 16 | Mode |
1 : recherche des habilitations agent-dépôt, 2 : recherche des coûts pour le calcul du PMD, 3 : recherche des coûts pour le calcul du PMD transport, 4 : recherche du code TVA poste. 5 : recherche d’un coefficient |
E | |
| 17 | Z40l_1 | Char(40) | Zone libre de 40 caractères | S |
| 18 | Z40l_2 | Char(40) | Zone libre de 40 caractères | S |
| 19 | Char1 | Char(1) | Zone de 1 caractère | S |
| 20 | Char2 | Char(1) | Zone de 1 caractère | S |
| 21 | Val01 | Double | Zone décimale 1 | S |
| 22 | Val02 | Double | Zone décimale 2 | S |
| 23 | Code barème | Char(3) | E | |
| 24 | Sigle dépôt | Char(12) | E |
Exemple :
longueur=63
largeur=132
%EP<FF>
%EP@1 Le @13
%EP@3 Page n° @14
%EP@2 @4 @5 @6 @7
%EP@8 @9 @10 @11 @12
%CR Variables retournées par la recherche HQUE
V ~001=C(40)
V ~002=C(40)
V ~003=C(1)
V ~004=C(1)
V ~005="9"
V ~006="9"
%CR Code TVA trouvé par recherche HQUE
V ~010="9"
%CR Variables d'entrées
V ~011=C(12)
V ~012=C(16)
V ~013=C(1)
V ~014=C(3)
V ~015="999999999"
V ~016="99999"
V ~017=C(10)
V ~018=C(1)
V ~019=C(1)
V ~020=C(4)
V ~021=C(16)
V ~022=C(10)
V05 ~011=@76
V10 ~012=@57
V10 ~013=@32
V10 ~014=@33
V10 ~015=@34
V10 ~016=@35
V10 ~017=@718
V10 ~018=@2
V10 ~019=@19
V10 ~020=""
V10 ~021=""
V10 ~022=@148
V10 ~010=RHQUE("V","TVA","CLI",~011,~012,~013,~014,~015,~016,~017,~018,~19,~20,~21,~22,4,~001,~002,~003,~004,~005,~006)
%10 Produit : @57 @58
%10 Code TVA : ~001
%PP
Dans cet exemple, le mode utilisé est le mode « 4 » (recherche d’un code TVA).
On récupère, dans la variable fictive ~001, le code TVA correspondant aux critères.
Cette instruction maquette permet de faire un appel prix (y compris les prix promotion et les prix grossiste) pour un article, un tiers …, à l’achat et/ou à la vente.
Utilisable pour toutes les éditions, elle permet notamment aux points de vente d’une organisation de type Retail, de consulter à tout moment les tarifs en cours du produit, pour l’Achat comme pour la Vente, ainsi que le prix de vente conseillé (PVC) par la Centrale d’Achat pour un article donné.
| Ordre | Paramètre | Caractère | E/S |
| 1 | Code achat/vente | Obligatoire si le code option n’est pas renseigné. | E |
| 2 | Type de tiers | E | |
| 3 | Sigle du tiers | E | |
| 4 | Code produit | Obligatoire | E |
| 5 | Tarif achat permanent | S | |
| 6 | Date début application du tarif achat permanent | S | |
| 7 | Tarif achat promotion | S | |
| 8 | Tarif vente permanent | S | |
| 9 | Prix de revient | S | |
| 10 | Tarif vente promotion | S | |
| 11 |
Code option : 2 = achat permanent, 3 = achat promotion, 4 = vente promotion, 8 = vente permanent, 16 = prix de vente conseillé, 31 = tous, 34 = prix de cession (ou prix grossiste). On peut combiner les valeurs. Exemple : 5=2+3 donne le tarif achat permanent et le tarif achat promotion. Si non renseigné alors on fait les appels prix correspondant à la valeur du code achat/vente. |
Facultatif | E |
| 12 | Type d'événement | Facultatif | E |
| 13 | Barème | Facultatif | E |
| 14 |
Date de recherche des tarifs : Par défaut, date de l’événement si renseignée, sinon date du jour. Cette date de recherche du tarif doit être au format "jj/mm/aaaa". |
Facultatif | E |
| 15 | Devise : par défaut, celle du tiers, sinon la devise précisée par le paramètre DEVNAT | Facultatif | E |
| 16 | Quantité (par defaut 1) | Facultatif | E |
| 17 | Unité (par défaut, l’unité d’achat ou de vente du produit). | Facultatif | E |
| 18 | Région | Facultatif | E |
| 19 | Etablissement | Facultatif | E |
| 20 | Variante | Facultatif | E |
| 21 | Position fiscale (posfis) | Facultatif | E |
| 22 | Numéro de contrat | Facultatif | E |
| 23 | Date début application du PVC | S | |
| 24 | Prix de vente conseillé | S | |
| 25 | Date début application tarif vente permanent | S | |
| 26 | Date début application tarif achat promotion | S | |
| 27 | Date fin application tarif achat promotion | S | |
| 28 | Date début application tarif vente promotion | S | |
| 29 | Date fin application tarif vente promotion | S | |
| 30 | Date de début d'application du prix de cession | S | |
| 31 | Prix de cession | S |
Sortie : code retour.
Code Achat/Vente
· A = Achat,
· V = Vente,
· R = Revient.
Appel prix
Si le code option (variable n°11) est à zéro, l’appel prix ne se fait que pour la valeur du paramètre 1 (achvte).
Pour les prix promotion, l’appel prix s’effectue normalement, sauf pour les conditions tarifaires. En effet, le moteur de recherche n’applique que les conditions tarifaires dont la catégotie de remise est précisée dans le paramètreCTSCRE.
Ce paramètre précise en effet les catégories de remise qui permettent d’identifier les promotions (A1 et/ou A2). En mode RETAIL, il faut obligatoirement renseigner ce paramètre si on veut obtenir les tarifs permanents et promotions. Mettre 1 dans le N1 et préciser au moins une catégorie de remise sur le A1 ou le A2.
Si ce paramètre n’est pas positionné, le tarif permanent tient compte des promotions. Les tarifs promotions ne seront pas renseignés. L’instruction maquette peut donc être utilisée hors contexte RETAIL.
Accord fournisseur
L’application de l’accord fournisseur est réalisée par rapport à la date passée en paramètre (variable n°14). Si cette date n’est pas renseignée, on prend la date du jour.
La recherche de l’accord est déclenchée uniquement si le paramètre RECCNT est positionné (A1=A).
Tarif d’achat permanent
Le tarif achat permanent (variable n° 5) tient compte de l’accord fournisseur.
|
|
Attention Seules les 10 premières variables doivent être définies, |
Exemple : l’instruction suivante fournit le prix de revient dans la variable ~709:
%CR : RPRX
V ~701=C(1),"R"
V ~702=C(3),""
V ~703=C(12),""
V ~704=C(16)
V ~705="999999.999"
V ~706=C(8)
V ~707="999999.999"
V ~708="999999.999"
V ~709="999999.999"
V ~710="999999.999"
V10 ~704="AG100"
V10 ~999=RPRX(~701,~702,~703,~704,~705,~706,~707,~708,~709,~710)
Cette fonction permet de rechercher un prix tarif au niveau d’un fournisseur.
Utilisée conjointement avec une succession de fonction RCTS, cette fonction permet par exemple de bâtir un fichier pour l’intégrateur (fonction INTEG).
L’instruction maquette possède plusieurs paramètres.
| Ordre | Paramètre | Type | Caractère obligatoire |
Entrée / Sortie |
| 1 | Indicateur Achat/Vente | CHAR(1) | Obligatoire : A, R ou V | E |
| 2 | Type de tiers | CHAR(3) | Obligatoire à l’achat | E |
| 3 | Sigle tiers | CHAR(12) | Obligatoire à l’achat | E |
| 4 | Code produit | CHAR(16) | Obligatoire | E |
| 5 | Prix | NUMBER | Obligatoire | S |
| 6 | Prix de revient | NUMBER | Obligatoire | S |
| 7 | Unité de facturation | CHAR(3) | Obligatoire | S |
| 8 | Code barème | CHAR(3) | Obligatoire | E/S |
| 9 | Date de recherche | JJMMSSAA ou JJ/MM/SSAA | Facultative. Si non renseigné, on prend par défaut la date de l’événement si celui-ci est renseigné, sinon la date système. | E |
| 10 | Code devise | CHAR(3) | Facultatif, par défaut devise du tiers, sinon devise nationale | E/S |
| 11 | Quantité | NUMBER | Facultative, par défaut « 1 » | E |
| 12 | Code unité | CHAR(3) | Facultative, par défaut unité d’achat ou de vente du produit | E |
| 13 | Code région | CHAR(3) | Facultatif | E |
| 14 | Code établissement | CHAR(3) | Facultatif | E |
| 15 | Code variante | CHAR(2) | Facultatif | E |
| 16 | Position fiscale | CHAR(1) | Facultatif | E |
| 17 | Numéro de contrat | CHAR(9) | Facultatif | E |
| 18 | Code option | Long | Facultatif | E |
| 19 | Mode de tarification | CHAR(1) | Facultatif | S |
Les paramètres en retour sont les suivants :
o le code barème,
o le code devise,
o l’unité de facturation,
o le prix,
o le prix de revient,
o le mode de tarification.
Permet de substituer un caractère par un autre, ensemble de caractères donné par une ttu via le ppe SUBCAR, ou suivant la liste par défaut adaptée pour la génération des fichiers de virements bancaires au format XML (SEPA) (concernant notamment les caractères de code ascii supérieur à 127).
Cette instruction maquette s’utilise de la façon suivante :
V ~102=C(30)
V10 ~102=@012(SUBCAR)
Exemple :
V ~101=C(30)
V ~102=C(30)
V10 ~101="31 Allée du Général Leclerc"
V10 ~102=~101(SUBCAR)
~102 recevra "31.Allee.du.General.Leclerc"
Liste par défaut des caractères spéciaux pouvant être substitués :
| Caractères à substituer | Caractères de substitution |
| à | a |
| á | a |
| â | a |
| ã | a |
| ä | a |
| å | a |
| æ | a |
| ç | c |
| è | e |
| é | e |
| ê | e |
| ë | e |
| € | e |
| ì | i |
| í | i |
| î | i |
| ï | i |
| ñ | n |
| ò | o |
| ó | o |
| ô | o |
| õ | o |
| ö | o |
| ø | o |
| ù | u |
| ú | u |
| û | u |
| ü | u |
| ý | y |
| ÿ | y |
| À | A |
| Á | A |
| Â | A |
| Ã | A |
| Ä | A |
| Å | A |
| Æ | A |
| Ç | C |
| È | E |
| É | E |
| Ê | E |
| Ë | E |
| Ì | I |
| Í | I |
| Î | I |
| Ï | I |
| Ñ | N |
| Ò | O |
| Ó | O |
| Ô | O |
| Õ | O |
| Ö | O |
| Ø | O |
| Ù | U |
| Ú | U |
| Û | U |
| Ü | U |
| Ý | Y |
| < | . |
| > | . |
| ° | . |
| & | - |
| @ | - |
| _ | - |
| Un espace | . |
| " | . |
Cette fonction permet de valoriser l’évènement.
L’instruction maquette possède plusieurs paramètres :
| Ordre | Paramètre | Type | Caractère obligatoire/commentaire |
Entrée / Sortie |
| 1 | Code société | LONG |
Facultatif. Si le code société n’est pas renseigné, il est alimenté avec le code société courant. |
E |
| 2 | Code achat/vente | CHAR | Obligatoire | E |
| 3 | Type d’évènement | CHAR | Obligatoire | E |
| 4 | N° d’évènement | LONG | Obligatoire | E |
| 5 | Code position fiscale | CHAR |
Facultatif. A renseigner si on veut effectuer une valorisation avec une position fiscale différente de celle de l’évènement (EVE.posfis). |
E |
| 6 | Date de recherche des taxes | CHAR |
Facultatif. Au format JJMMSSAA ou JJ/MM/SSAA. A renseigner si on veut effectuer une valorisation à une date différente de celle de l’évènement (EVE.dateve). |
E |
| 7 | Mode de valorisation de l’événement : HT, TTC | CHAR | Facultatif. | S |
| 8 |
Total HT avant remise, taxe et frais si mode HT Total TTC si mode TTC |
DBLE | Facultatif. | S |
| 9 |
Total remise globale En HT si mode HT En TTC si mode TTC |
DBLE | Facultatif. | S |
| 10 |
Total de la taxe parafiscale En HT si mode HT Pas de taxe parafiscale si mode TTC |
DBLE | Facultatif. | S |
| 11 |
Total des frais divers En HT si mode HT En TTC si mode TTC |
DBLE | Facultatif. | S |
| 12 | Total HT avant application TVA | DBLE | Facultatif. | S |
| 13 | Total TVA | DBLE | Facultatif. | S |
| 14 | Total TTC | DBLE | Facultatif. | S |
| 15 | Montant escompte | DBLE |
Facultatif. Cette zone est renseignée si le paramètre ESCACH est positionné. |
S |
| 16 | Nombre de lignes de TVA | LONG |
Facultatif. Attention : on ne dispose pas de tout le détail TVA si supérieur à 5 (mais uniquement les 5 premières lignes). Comportement en version 1.55 uniquement : il y a 4 lignes de TVA au maximum. D’autre part, ce paramètre ne retourne aucune valeur. |
S |
| 17 | Code TVA 1 | CHAR | Facultatif. | S |
| 18 | Code fiscal 1 | CHAR | Facultatif. | S |
| 19 | Taux TVA 1 | DBLE | Facultatif. | S |
| 20 | Montant HT 1 | DBLE | Facultatif. | S |
| 21 | Montant TVA 1 | DBLE | Facultatif. | S |
| 22 | Montant TTC 1 | DBLE | Facultatif. | S |
| 23 | Code TVA 2 | CHAR | Facultatif. | S |
| 24 | Code fiscal 2 | CHAR | Facultatif. | S |
| 25 | Taux TVA 2 | DBLE | Facultatif. | S |
| 26 | Montant HT 2 | DBLE | Facultatif. | S |
| 27 | Montant TVA 2 | DBLE | Facultatif. | S |
| 28 | Montant TTC 2 | DBLE | Facultatif. | S |
| 29 | Code TVA 3 | CHAR | Facultatif. | S |
| 30 | Code fiscal 3 | CHAR | Facultatif. | S |
| 31 | Taux TVA 3 | DBLE | Facultatif. | S |
| 32 | Montant HT 3 | DBLE | Facultatif. | S |
| 33 | Montant TVA 3 | DBLE | Facultatif. | S |
| 34 | Montant TTC 3 | DBLE | Facultatif. | S |
| 35 | Code TVA 4 | CHAR | Facultatif. | S |
| 36 | Code fiscal 4 | CHAR | Facultatif. | S |
| 37 | Taux TVA 4 | DBLE | Facultatif. | S |
| 38 | Montant HT 4 | DBLE | Facultatif. | S |
| 39 | Montant TVA 4 | DBLE | Facultatif. | S |
| 40 | Montant TTC 4 | DBLE | Facultatif. | S |
| 41 | Code TVA 5 | CHAR | Facultatif. | S |
| 42 | Code fiscal 5 | CHAR | Facultatif. | S |
| 43 | Taux TVA 5 | DBLE | Facultatif. | S |
| 44 | Montant HT 5 | DBLE | Facultatif. | S |
| 45 | Montant TVA 5 | DBLE | Facultatif. | S |
| 46 | Montant TTC 5 | DBLE | Facultatif. | S |
Exemple d’utilisation avec un appel depuis la fonction GEDTE :
P UTIL_VARNOM
V ~SOCEVE="9999"
V ~ACHVTE=C(1)
V ~TYPEVE=C(3)
V ~NUMEVE="999999999"
V ~CUMHT="zzzzzzzz9.99"
V ~CUMTVA="zzzzzzzz9.99"
V ~CUMTTC="zzzzzzzz9.99"
V ~MODHT_TTC=C(3)
V ~NBLIG_TVA="z9"
V ~TVA_1_CODTVA=C(1)
V ~TVA_1_TAUTVA="z9.99"
V ~TVA_1_MTHT="zzzzzzzz9.99"
V ~TVA_1_MTTVA="zzzzzzzz9.99"
V ~TVA_1_MTTTC="zzzzzzzz9.99"
V ~TVA_2_CODTVA=C(1)
V ~TVA_2_TAUTVA="z9.99"
V ~TVA_2_MTHT="zzzzzzzz9.99"
V ~TVA_2_MTTVA="zzzzzzzz9.99"
V ~TVA_2_MTTTC="zzzzzzzz9.99"
P LIST_VARNOM
V10 ~SOCEVE=CODSOC("EVE","")
V10 ~ACHVTE=@1
V10 ~TYPEVE=@2
V10 ~NUMEVE=@3
V10 ~999=VALOEVE(~SOCEVE,~ACHVTE,~TYPEVE,~NUMEVE,"","",~MODHT_TTC,,,,,~CUMHT,~CUMTVA,~CUMTTC,, ~NBLIG_TVA,~TVA_1_CODTVA,,~TVA_1_TAUTVA,~TVA_1_MTHT,~TVA_1_MTTVA,~TVA_1_MTTTC,~TVA_2_CODTVA,,~TVA_2_TAUTVA,~TVA_2_MTHT,~TVA_2_MTTVA,~TVA_2_MTTTC)
%10 Evénement en : ~MODHT_TTC
%10 Montant HT = ~CUMHT
%10 Montant TVA = ~CUMTVA
%10 Montant TTC = ~CUMTTC
%10
%10 Nombre de ligne de TVA : ~NBLIG_TVA
%10 TVA-1
%10 Code TVA = ~TVA_1_CODTVA
%10 Taux TVA = ~TVA_1_TAUTVA
%10 Base HT = ~TVA_1_MTHT
%10 Montant TVA = ~TVA_1_MTTVA
%10 Montant TTC = ~TVA_1_MTTTC
%10 TVA-2
%10 Code TVA = ~TVA_2_CODTVA
%10 Taux TVA = ~TVA_2_TAUTVA
%10 Base HT = ~TVA_2_MTHT
%10 Montant TVA = ~TVA_2_MTTVA
%10 Montant TTC = ~TVA_2_MTTTC
Il est possible de conditionner l’édition des lignes d’un bloc.
Pour ce faire, le format attendu est le suivant :
Tbb si (@001 = ~001)
%bb @001
%bb @002
Tbb else
%bb @002
%bb @001
Tbb fsi
La variable utilisée au niveau du test peut être une variable fictive mais dans ce cas, cette variable doit être déclarée et valorisée avant la ligne d’édition. Il faut donc dans ce cas déclarer ces variables en début de maquette et non à la fin comme c’est généralement le cas.
Exemple :
T10 si (@001="ENTREE")
%10 Entrée en stock : Produit : @002
%10 Quantité : @003
T10 fsi
Ce principe peut aussi être utilisé pour conditionner les affectations et les calculs sur les variables fictives.
Exemples équivalents :
T10 si (~001="A")
V10 ~002=@001 V10 ~002=@001 si (~001="A")
V10 ~003=~003+@002 V10 ~003=~003+@002 si (~001="A")
T10 else
V10 ~004=@001 V10 ~004=@001 si (~001<>"A")
V10 ~005=~005+@002 V10 ~005=~005+@002 si (~001<>"A")
T10 fsi
Il est possible d’inclure un fichier annexe dans une maquette. Le format attendu est le suivant :
include="ap$std :ee_132.std"
Par exemple, les données à faire apparaître en entête d’édition ou de page sont souvent les mêmes. Il est alors plus simple de maintenir l’ensemble des maquettes en utilisant la possibilité d’inclure un fichier unique dans de nombreuses maquettes.
Le répertoire utilisé doit être défini dans le fichier « Generix.ini ».
Il est possible de copier le fichier résultat d’un traitement différé dans un autre fichier dont la localisation est à définir. Le format attendu est le suivant :
P INTERFACE="xxxxxxx,c,mmm,yyyy,ext,pppp"
avec :
· xxxxxx :
localisation du fichier
Si non renseigné, on prendra le nom du fichier spool avec l’extension .int et place de .spl
· c :
caractère terminateur des enregistrements à supprimer lors de la création du fichier interface (permet de créer des enregistrements dans une la longueur attendue)
· mmm :
peut prendre les valeurs
APPEND pour ouvrir le fichier interface en mode APPEND
DECOUP si on veut découper le fichier spool en plusieurs fichiers interface. Dans ce cas, xxxxxx correspond au mot clé déclenchant le découpage. Voir mode DECOUP.
(on peut combiner les valeurs avec |)
· yyy :
peut prendre la valeur MINMAJ si le nom du fichier interface créé doit respecter la casse (minuscules / majuscules) du nom demandé par la maquette.
· ext :
extension finale du fichier interface.
Permet de créer un fichier d'interface "temporaire", non visible d’un EAI externe, et de le renommer avec cette extension pour le rendre visible (une fois le fichier disponible) d’un EAI externe scrutant régulièrement le répertoire.
|
|
Attention Cette option « ext » n’est pas compatible avec l’option APPEND Le fichier final ne doit pas déjà exister. |
· pppp :
si renseigné, correspond au nom d’une procédure exécutée juste après la fermeture du fichier créé, avec comme paramètre le chemin complet + nom du fichier créé. Ce traitement s’effectue avant la prise en compte de l’option ext.
Exemple d’utilisation :
Depuis un serveur de traitement sous Linux, créer un fichier d’interface au format DOS
P INTERFACE=",,DECOUP,MINMAJ,,ap$tmp:unix2dos.bat"
avec la procédure unix2dos.bat
# Cette procedure, appellee depuis une maquette d'edition,
# permet de transformer le fichier passe en parametre au format DOS
unix2dos $1
exit
Exemples :
P__ INTERFACE="ap$int:interface.lis"
P__ INTERFACE="ap$int:interface.lis,| "
P__ INTERFACE="ap$int:interface.lis,|,APPEND"
P__ INTERFACE="ap$int:interface.lis,,APPEND"
Il est également possible d’utiliser des variables fictives pour xxxxxx (nom de fichier ou mot clé de découpe) :
Exemple :
P__ INTERFACE="~001"
Il est également possible d’obtenir un fichier interface dont le nom respecte la casse (minuscules / majuscules) écrite dans la maquette.
Pour ce faire, il suffit d’ajouter le paramètre MINMAJ à la fin de la ligne « P INTERFACE ».
Par défaut le comportement est inchangé, on effectue systématiquement la mise en minuscule du nom du fichier.
Ex 1 : P INTERFACE= "NomFichier.test,,,MINMAJ "
Ce qui donnera un fichier NomFichier.test
Ex 2 : P INTERFACE="NomFichier.test "
Ce qui donnera un fichier nomfichier.test.
Mode DECOUP
C’est le fichier spool qui donne le nom des fichiers interfaces à générer, par une ligne commençant par un mot clé, que l’on précisera en xxxxxx. Si pas de mot clé précisé, on prend alors ###DECOUP_FICHIER=
Le nom de fichier se trouve sur la même ligne, juste après le mot clé.
Si le nom n’est pas précisé, alors on prend alors le nom du fichier spool avec _nnn ajouté avant l’extension (avec nnn = numéro de découpe, commençant à 1), et l’extension .int
En présence d’une nouvelle ligne commençant par le mot clé, on ferme le fichier interface précédent s’il y a lieu, et on ouvre le nouveau fichier demandé.
La ligne commençant par le mot clé n’est pas écrite dans le fichier interface.
Exemple 1 avec la maquette
P INTERFACE=",,DECOUP"
%21###DECOUP_FICHIER=
%21Sigle Tiers (B20) @24
%10Code produit (B10) @45
%10Quantité (B10) @49
Générant le fichier spool spl/SOC1_49.spl contenant :
###DECOUP_FICHIER=ap$spl/ficint_001.int
Sigle Tiers (B20) BRFOU101
Code produit (B10) BR101
Quantité (B10) 145
Code produit (B10) BR102
Quantité (B10) 367
###DECOUP_FICHIER=ap$spl/ficint_002.int
Sigle Tiers (B20) BRFOU102
Code produit (B10) BR105
Quantité (B10) 111
Code produit (B10) BR106
Quantité (B10) 34
Donnera 2 fichiers interfaces.
Le fichier spl/SOC1_49_1.int avec
Sigle Tiers (B20) BRFOU101
Code produit (B10) BR101
Quantité (B10) 145
Code produit (B10) BR102
Quantité (B10) 367
et le fichier spl/SOC1_49_2.int avec
Sigle Tiers (B20) BRFOU102
Code produit (B10) BR105
Quantité (B10) 111
Code produit (B10) BR106
Quantité (B10) 34
Exemple 2 avec la maquette
P LG_VARIABLE
P INTERFACE=",,DECOUP"
%21###DECOUP_FICHIER=int/[email protected]
%21Sigle Tiers (B20) @24
%10Code produit (B10) @45
%10Quantité (B10) @49
Générant le fichier spool spl/SOC1_49.spl contenant :
###DECOUP_FICHIER= int/STAT_FOU_BRFOU101.txt
Sigle Tiers (B20) BRFOU101
Code produit (B10) BR101
Quantité (B10) 145
Code produit (B10) BR102
Quantité (B10) 367
###DECOUP_FICHIER= int/STAT_FOU_BRFOU102.txt
Sigle Tiers (B20) BRFOU102
Code produit (B10) BR105
Quantité (B10) 111
Code produit (B10) BR106
Quantité (B10) 34
Donnera 2 fichiers interfaces.
Le fichier int/STAT_FOU_BRFOU101.txt avec
Sigle Tiers (B20) BRFOU101
Code produit (B10) BR101
Quantité (B10) 145
Code produit (B10) BR102
Quantité (B10) 367
et le fichier int/STAT_FOU_BRFOU102.txt avec
Sigle Tiers (B20) BRFOU102
Code produit (B10) BR105
Quantité (B10) 111
Code produit (B10) BR106
Quantité (B10) 34
Les autres options (APPEND, MINMAJ, caractères terminateur) sont aussi pris en compte en mode « découpe ».
AVEC_REPRISE
Permet de mettre à jour le numéro d’enregistrement extrait à chaque ligne traitée (mais entraîne un nombre de mises à jour important sur la table ut_spl), à des fins de relance par l’option « Reprise » de UEDI en cas de problème sur un traitement batch.
Cependant, cette fonctionnalité est déconseillée sur des éditions avec cumul et utilisation de variables fictives. Le traitement relancé se positionnant sur la première ligne non traitée, les chargements des cumuls et traitement sur les variables fictives ne donnerait pas le résultat attendu. D’autre part, les traitements différés de génération, marquant les éléments traités directement sur les tables gérés, peuvent être relancés dans leur intégralité.
PAS_DE_REPRISE (mode par défaut depuis la version 4.2-02)
Permet de ne pas mettre à jour le numéro d’enregistrement extrait.
Il peut être positionné sur tous les traitements différés ne demandant pas de reprise. Tous les traitements batch (édition, génération) mettent à jour le fichier ut_spl à chaque enregistrement extrait, pour pouvoir relancer l’option reprise en cas de problème (UEDI).
Sur les éditions de type « GEDTE », cela entraîne un grand nombre d’accès alors que ce traitement effectue un minimum d’accès aux bases.
CODPEV
Permet de lancer, à partir d'une même fonction d'édition, plusieurs traitements, chaque traitement utilisant des fonctions différentes. De cette manière, vous n’êtes pas obligé d’utiliser plusieurs fonctions.
Exemple :
P CODPEV="CIBLE1"
|
|
Attention Ce paramètre-maquette n’est pas utilisé sur les fonctions : GARTE, GAFFA. |
Par ailleurs, on peut récupérer la cible à utiliser par variable fictive, chargée en bloc EE.
Exemple :
P CODPEV="~VAL_CIBLE"
V ~VAL_CIBLE=C(40)
VEE ~VAL_CIBLE="CIBLE2"
|
|
Attention La récupération de la cible via la valeur d’une variable fictive du bloc EE n’est possible que sur : APROG1, APROG2, APROG3, APROG5, GBFAG1, GBFAG5, GBFAG6, GBFAV1, GBLVG1, GBLVG2, GBLVG5, GBLVV1, GCOVV1, INTEGR |
FORMAT_EDT
Permet de forcer le format à utiliser pour l’impression.
Peut-être utilisé pour indiquer le projet Streamserve (persuasion) associé à la maquette d’édition sans le préciser alors au niveau du lanceur (ut_pled)
Positionner la ligne dans la maquette :
P FORMAT_EDT="xxxx"
ISQL_PAS_MESS_MAJ
Permet, dans les traitements différés, de ne plus afficher les messages d’erreur liés à l’utilisation de l’instruction maquette ISQL (duplication sur « insert », enregistrement inexistant sur « update » ou « delete »), en vue de diminuer la taille du fichier trace (« log ») associé au traitement différé.
Positionner la ligne dans la maquette :
P ISQL_PAS_MESS_MAJ
ISQL_TRACE
Permet, dans les traitements différés, d’afficher les requêtes SQL activées par l’instruction maquette ISQL, juste avant leur exécution. Chaque paramètre est remplacé par sa valeur.
Positionner la ligne dans la maquette :
P ISQL_TRACE
|
|
Trucs et astuces Ce paramètre maquette ISQL_TRACE est un paramètre permettant une mise au point, il est à désactiver en environnement réel de production. Afin de ne pas surcharger le fichier log du traitement différé, nous vous conseillons de mettre en commentaire (en préfixant par %CM) cette ligne. Vous pouvez ensuite enlever ce commentaire lorsque la mise au point est terminée. |
LANCE_INTEGR
Permet de lancer directement l'intégration commerce ou finance (voir fonctions INTEGR ou P_2ITFE1) à partir d'une maquette.
Cette instruction maquette est accessible depuis toutes les fonctions batch (EDEVE, y compris les éditions directes, EDEVL, EDEVP, GEDTE, GEDTE2, …) sauf dans INTEGR lui-même, ni dans les fonctions batch particulières suivantes : GFAMR, GLOCC, GTIER, GVOLR, P_IGESE2, P_2INTE1, P_2ITFE1, P_4DOME1, P_4IMPE1, P_4REBE1, P_4RELE1, P_7CNSE1, REPRISC, SACMSK, TDISC
Le statut du batch ayant lancé l’intégration par LANCE_INTEGR passe en "erreur" en cas d’erreur de l’intégration demandée (notamment si la fonction de traitement d’intégration utilise le paramètre INTREJ (option N3=1)).
Attention : en cas d’utilisation dans un batch lancé en mode Rapide depuis l’application web, la clé « Nombre de Batchs Simultanes » (de la section [Licences] du Generix.ini) doit être paramétré avec le Maximum (du « Nbre Max Traitement » des files rapides) * (Nombre de batchs chainés potentiel d’un batch principal).
P LANCE_INTEGR="xxxx,yyyy" :
Si xxxx correspond au code d’une fonction d’intégration finance (le nom de l’exécutable de cette fonction contient p_2itfe1), 2 arguments supplémentaires (optionnels) permettent de lancer l’intégration différée des écritures intégrés :
P LANCE_INTEGR="xxxx,yyyy,zzzz,nnnn" :
Exemple 1 :
P INTERFACE="~001"
P LANCE_INTEGR="INTEGE1,~001"
Exemple 2 :
P INTERFACE="toto.txt"
P LANCE_INTEGR="INTEGE1,toto.txt"
LG_VARIABLE
Ce mode permet de traiter l’édition en « longueur variable », pour générer des listes de champs avec séparateur ou des fichiers au format XML. Cette fonctionnalité est notamment utilisée pour traiter les fichiers à la normeSEPA.
Dans ce mode de traitement, les variables @ ou ~ sont remplacées par la valeur associée, sans tenir compte des caractères « blancs » de fin de chaîne, ni des caractères blancs de début de chaîne pour les variables numériques. Les caractères de la ligne de maquette séparant les variables sont conservés pendant le traitement.
Exemple de ligne de maquette :
%10@001;@005;~009;
P LG_VARIABLE
avec :
@001=AG101
@005=Perceuse sans fil
~009=12,23
donne le résultat suivant :
AG101;Perceuse sans fil;12,23;
|
|
Attention Positionnez ce paramètre-maquette en début de maquette (avant la première ligne % ou &) en cas d’utilisation de variables fictives nommées (paramètre maquette « P UTIL_VARNOM »). |
LIMITE_TEMPS
Limitation d’un traitement différé dans une procédure
Par ce paramètre, il est possible de limiter la durée d’un traitement différé (batch) dans une procédure, afin de lisser un traitement sur plusieurs jours.
A n’utiliser que sur les traitements qui s’y
prêtent (il faut que l’information traitée soit toppée, afin qu’elle ne soit pas
retraitée le lendemain, ne pas utiliser de rupture (l’arrêt s’effectuant après chaque
ligne lues))
Paramètres :
· durée en secondes (obligatoire),
· statut final (4 par défaut) (facultatif),
· message complémentaire ("Limite de temps atteinte" par défaut).
Soit la syntaxe dans la maquette :
P LIMITE_TEMPS="3600"
Limite de temps définie pour 3600s (1h),
ut_spl.st1=4, ut_spl.st2="Limite de temps atteinte"
P LIMITE_TEMPS="7200,5"
Limite de temps définie pour 7200s (2h),
ut_spl.st1=5, ut_spl.st2="Limite de temps atteinte"
P LIMITE_TEMPS="7200,,Execution time exceeded"
Limite de temps définie pour 7200s (2h),
ut_spl.st1=4, ut_spl.st2="Execution time exceeded"
MAX_NBESEL
Sur une édition/traitement à la demande (non déclenchée par une procédure), permet, si plus de N lignes sélectionnées, d’arrêter cette édition/traitement en erreur (statut 5 + message du statut à « MAX_NBESEL : max élément atteint »).
Utile pour limiter la taille des éditions à la demande, si la restriction ne peut se faire par l’utilisation de critère unique dans le lanceur.
Paramètre :
· nombre de ligne maximum autorisée (obligatoire)
P MAX_NBSEL ="20"
Le traitement s’arrêtera en statut 5 si plus de 20 lignes sélectionnées, juste après la partie sélection (n’effectue donc aucun traitement sur les 1ère lignes)
PAS_CALCUL_VAF_COMMUN
Par défaut, les calculs réalisés dans une édition sont effectués pour le bloc édité (réel, fictif ou vide), mais aussi pour le bloc réel dans le cadre du traitement d’un bloc fictif.
Ce comportement a un intérêt dans les éditions de type BAT (GSTATE, GEDTE, …) pour définir des calculs de type pourcentage d'augmentation que l’on définit une fois en bloc 40, qui s’applique ensuite sur les ruptures 41, 42, .., 99 (bloc fictifs du bloc 40).
Cependant, dans d’autres cas de figure, il arrive que les calculs définis sur le bloc réel ne doivent pas s’appliquer sur les blocs fictifs. On peut alors positionner le paramètre maquette PAS_CALCUL_VAF_COMMUN.
Exemple sur GARTE
Maquette :
longueur=999999
V ~001="zz9"
V10 ~001=~001+1
%10 Produit : @1 CPT=~001
%15 Composant : @1 CPT=~001
Le boc d’édition garte_b15 est un bloc fictif qui utilise les variables du bloc garte_b10.
Résultat :
Sans paramètre maquette PAS_CALCUL_VAF_COMMUN
Produit : KIT-TEST CPT= 1
Composant : 101001 CPT= 2
Composant : 101002 CPT= 3
Avec paramètre maquette PAS_CALCUL_VAF_COMMUN
Produit : KIT-TEST CPT= 1
Composant : 101001 CPT= 1
Composant : 101002 CPT= 1
STATUT_5_SI_ERREUR
Permet de faire passer le statut du batch à 5 si la variable fictive ~nnn vaut -1.
Cette fonctionnalité est utilisée lorsque le batch se termine normalement mais que le statut est mis à 5 à des fins de faciliter l’exploitation.
Si le statut du batch passe à 5, les paramètres maquette INTERFACE et LANCE_INTEGR ne sont pas traités s’ils sont présents dans la maquette, et le fichier spool ne sera pas édité (ni envoyé vers le module EditiqueStreamServe).
Syntaxe :
P STATUT_5_SI_ERREUR="~nnn" (avec nnn = au numéro d’une variable fictive de type numérique)
Exemple :
V ~001=C(1]
V ~999="9"
…
T10 si (~001="A")
V10 ~999=-1
T10 fsi
P STATUT_5_SI_ERREUR="~999"
ARCHIVE_LOG
La présence de ce paramètre dans une maquette (utilisable dans tous les traitements différés d’édition, de génération, et dans l’intégrateur) permet de créer un fichier journal dont le nom comporte la date et l’heure de création.
L’intérêt majeur de cette fonctionnalité concerne les procédures automatiques. Elle permet en effet de conserver un historique des fichiers journaux. Sans ce paramètre, le fichier journal est systématiquement écrasé à chaque nouvelle exécution de l’élément de procédure.
La référence de ce type de journal est du type suivant :
« ap$log:SOCxxxx_nnnnn_ssaammjj_hhmmss.log »
au lieu de « ap$log:SOCxxxx_nnnnn.log ».
Le début de traitement s’effectue sur le fichier .log de référence habituelle, jusqu’à la lecture de la maquette d’édition. A ce moment, en présence de ce paramètre, le fichier est renommé avec son nouveau nom, et les comptes-rendus qui suivent (printf, erreur grave…) sont alors intégrés dans le fichier renommé. De ce fait, si le traitement s’arrête en cours d’exécution (erreur grave, arrêt du système), le fichier journal est déjà archivé (sauf erreur grave survenant en tout début de traitement).
|
|
Trucs et astuces Les fichiers journaux archivés ne sont pas automatiquement purgés. Nous vous conseillons vivement de prévoir cette purge sur site au niveau de l’exploitation du système. Activez cette fonctionnalité au niveau des éléments des procédures (par UPRC) plutôt que par paramètre maquette. En effet, une maquette de génération utilisée dans un élément de procédure automatique et en lancement au coup par coup va déclencher cette fonctionnalité. Cependant, cela restera transparent lors de la consultation par UEDI. |
|
|
Attention Sous Windows NT, le fichier .log contenant le compte rendu d’exécution du départ (jusque lecture de la maquette) ne disparaît pas (cependant, on retrouve bien ce début de compte rendu dans le fichier archivé. |
COPIE_LOG="xxxxxx"
La présence de ce paramètre dans une maquette (utilisable dans tous les traitements différés d’édition, de génération, et dans l’intégrateur) permet de créer une copie du fichier journal dont le nom sera donné par xxxxxx. La copie de fichier ne s’effectue qu’en fin normale de traitement.
Cette référence de la copie peut être indiquée directement au niveau de la maquette ou par variable fictive.
Exemples :
P COPIE_LOG="ap$log:essai.log" ou P COPIE_LOG="~101"
Dans le second exemple, le contenu de la variable fictive (de type C) fournit le nom du fichier pour la copie.
L’intérêt majeur de cette fonctionnalité concerne l’intégrateur, permettant de copier le compte rendu (.log) dans un nom codifié reprenant le numéro d’intégration en place du numéro de spool.
Dans INTEGR, le champ xxx du bloc yy permet d’obtenir directement le nom du fichier codifié. On peut donc affecter directement la variable fictive avec de champ.
|
|
Attention Lors de la suppression du compte-rendu d’intégration, le fichier « .log » associé, s’il en existe un, n’est pas automatiquement purgé. Les fichiers « .log » peuvent être supprimés par une procédure d’exploitation (qui supprimerait tous les fichiers log antérieurs de 15 jours par exemple). |
Deux mots clés peuvent être utilisés pour optimiser les traitements d’édition : OPTIM et TRT.
OPTIM
La présence de ce mot clé déclenche une optimisation des accès aux tables.
En effet, par défaut, ACE lit, pour chaque donnée identifiée comme clé dans le modèle de données, la table ou les tables complémentaires auxquelles elle est associée (C’est la notion de relation étrangère).
Avec OPTIM, ces lectures ne sont faites que les données des relations étrangères sont utilisées dans la maquette.
Toutefois cette optimisation n’est pas suffisante, car des données sont souvent recherchées au travers d’algorithmes plus complexes que la notion binaire de relation étrangère.
Les différentes valeurs du paramètre d’OPTIM vont permettre, en fonction de la nature même des besoins de la maquette, d’optimiser les accès.
Il s’agit d’indiquer s’il faut prendre en compte ou non les traitements indiqués par le mot clé TRT (liste des options au niveau de chaque traitement en proposant) :
P OPTIM="0" : seules les relations étrangères sont optimisées ; les traitements qui peuvent être pilotés par le mot clé TRT sont tous exécutés,
P OPTIM="1" : les relations étrangères sont optimisées ET seuls les traitements, qui peuvent être pilotés par le mot clé TRT, qui sont explicitement spécifiés dans la maquette, sont exécutés (uniquement les spécifiés),
P OPTIM="2" : les relations étrangères sont optimisées ET tous les traitements, qui peuvent être pilotés par le mot clé TRT, sont exécutés sauf ceux qui sont explicitement spécifiés (tous sauf les spécifiés).
Exemples sur EDEVE :
P05 TRT="adr_com_cli"
P05 TRT="adr_liv_cli"
P10 TRT="info_dep"
P05 TRT="eve_ori"
P10 TRT="evp_evl_ori"
ADEOTXT_A_REAPPRO
Actif pour les fonctions APROG1 et APROG5.
Permet de dupliquer les textes libres fixes sur l’en-tête et le poste de la commande (comportement spécifique).
APROG1
Actif pour les fonctions APROG1 et APROG2.
Permet de ne pas déclencher l’édition chainée.
APRTRI
Le mot-clé APRTRI permet de générer une commande d’approvisionnement dont les postes suivront le même ordre que l’événement d’origine, et non pas l’ordre alphabétique des références de produits.
CODPRO_NON_CUMUL
Actif pour la fonction APROG1.
Crée autant de lignes dans l’évènement généré par le traitement qu’il en existe dans la vue (V_DSK).
Ce mot clé maquette n'utilise aucune option.
CODZNE_A_REAPPRO
Actif pour les fonctions APROG1 et APROG5.
Si ce mot clé est précisé, il est possible de préciser une liste de zones paramétrées (au maximum 3) à mettre à jour sur l’entête ainsi que les variables fictives qui vont être utilisées pour les mettre à jour (comportement spécifique).
Ce mot clé maquette possède la syntaxe suivante :
CODZNE_A_REAPPRO= « <Numéro de la zone complémentaire>=<Numéro de la variable fictive>… »
Exemple :
CODZNE_A_REAPPRO="5=001,3=002,9=003"
Pour ne préciser qu’une seule donnée complémentaire :
CODZNE_A_REAPPRO="5=001"
L’application ira chercher la valeur à stocker en exécutant la variable fictive (sur le bloc 11).
CONSO_CDE
En mode filière logistique (paramètre FILLOG actif), ce mot clé maquette permet de lancer la génération des commandes consolidées.
DATLIV_REAPPRO
Actif pour les fonctions APROG1 et APROG5.
Force la date de livraison de l’en-tête de l’événement généré (champ eve.datliv) avec une date provenant du bloc d’édition 11.
P DATLIV_REAPPRO= « xxx », xxx = le numéro de la variable fictive du bloc 11 à utiliser et qui correspond à la date de livraison.
Les paramètres suivants sont incompatibles avec l’utilisation du mot-clé DATLIV_REAPPRO :
Ø APROSP (A1=O),
Ø CALCDE,
Ø GENAPR (N3 renseigné),
Ø CODTRN (N1=1),
Ø DELAI.
GEN_EXP_TRF
En mode filière logistique (paramètre FILLOG actif), ce paramètre maquette permet de générer les expéditions.
GEN_REC_EXP
En mode filière logistique (paramètre FILLOG actif), ce paramètre maquette permet de générer les réceptions / expéditions.
QTE_A_REAPPRO
Actif pour la fonction APROG1.
Force la quantité à réapprovisionner du poste de l’événement généré (champ « evp.qtecde ») avec une valeur provenant du bloc d’édition 11 (bloc virtuel du bloc 10 d’APROG1) si présence du paramètre maquette « P APROG1 », sinon du bloc A2, bloc virtuel du bloc 10 d’APROG1 utilisable depuis une maquette prévue pour un EDEVE.
Deux paramètres peuvent être associés à ce mot clé maquette :
· 1er paramètre (obligatoire)
P QTE_A_REAPPRO="nnn",
nnn = le numéro de la variable fictive du bloc d’édition 11 à utiliser et qui correspond à la quantité à réapprovisionner.
· 2ème paramètre (facultatif)
P QTE_A_REAPPRO="nnn,UA",
UA = Code permettant d’inhiber la conversion de la quantité, on la prend telle quelle sans conversion, on considère qu’elle est déjà exprimée dans l’unité du poste de la commande générée.
Sinon cette quantité est considérée comme étant exprimée en unité de stockage. Elle sera donc convertie dans l’unité du poste de l’événement (UA).
|
|
Attention Ce mot clé maquette ne fonctionne pour les produits avec un suivi en stock à "S" ou avec un suivi en stock à "L", "E", "X" et ppe:APROSP.A2="DSK". |
AJUSTE_QTE_A_REAPPRO
Actif pour la fonction APROG1.
Permet de réajuster la quantité à réapprovisionner calculée par la formule de réapprovisionnement disponible en @46 du bloc 11 (voir utilisation du bloc 11 ou A2 sur le paramètre maquette QTE_A_REAPPRO), en chargeant, dans ce même 11, la nouvelle valeur dans la variable fictive indiquée par le paramètre
· 1er paramètre (obligatoire)
P AJUSTE_QTE_A_REAPPRO="nnn",
nnn = le numéro de la variable fictive du bloc d’édition 11 à utiliser et qui correspond à la quantité à réapprovisionner.
|
|
Attention Ce mot clé maquette ne fonctionne que pour les produits avec un suivi en stock à "S" ou avec un suivi en stock à "L", "E", "X" et ppe:APROSP.A2="DSK". |
TARIF_A_REAPPRO
Actif pour les fonctions APROG1 et APROG5.
Permet de préciser le tarif utilisé dans les postes de commandes. Ce mot clé contient, séparé par des virgules, les numéros respectifs des variables fictives du prix tarif, du prix vendu, du taux de remise (comportement spécifique).
Exemple :
TARIF_A_REAPPRO="001,002,003"
Si ce mot clé est précisé, le tarif utilisé dans les postes de commandes sera celui précisé dans le mot clé maquette.
L’application ira chercher la valeur des variables fictives sur le bloc 11.
TRANSACTION_PAR_TIERS
Permet de réaliser une seule transaction à chaque rupture de tiers : fonctions APROG1 et APROG3.
BPPDERPAG
Edition du bloc PP
Signale au système qu’il doit éditer le bloc PP UNIQUEMENT sur la dernière page.
Ce mot clé, positionné dans une maquette éditant les événements par l’option ‘Editer Liste’, permet d’éditer des bons (de commande, de livraison, à facturer...) en format fiche mais sans mettre à jour l’indicateur ‘Déjà édité’. Il doit être, dans ce dernier cas, associé au paramètre LISTE_BPP.
Ne pas utiliser l’indicateur R (permettant de forcer une rupture de page) au niveau des blocs 05, 07 et 08, en édition fiche et liste. Celui-ci peut être utilisé en édition liste en présence du paramètre maquette BPPDERPAG.
CHGLCR
Charger les données des dossiers documentaires ; Effectué par l’édition des événements EDEVE si un numéro de dossier est défini au niveau de l’en-tête d’événement. Ce chargement concerne tous les ensembles définis et paramétrés dans le système d’informations.
CODDOC
Forcer l’édition des commentaires associés à un code ou plusieurs codes document (voir fonction GTDOC)
Exemple
P CODDOC= « ARC » permet d’éditer les commentaires associés à l’Accusé de Réception Client.
P CODDOC= « CLI,PRP,TRP » permet d’éditer les commentaires associés aux documents CLI, PRP et TRP.
CODENO
Permet de préciser le type de nomenclature de production.
P CODENO= «STD» afin d’éditer la nomenclature de production.
Voir bloc d’édition edeve_b20.
DATMOD
Teste les champs eve.datmod et evl.datmod lors du calcul du reste à livrer
DATDEP
Dans le cadre de l’Export, permet d’afficher la date de départ ou date d’embarquement (champ eve.datdep). Avec le champ n° 342 (datdep) du bloc edeve_b05, par défaut, on édite la date d'échéance.
DESIGNATION
permet d’éditer les désignations du fournisseur (table PRC) à la place des désignations du produit (table PRO). Ne concernent que les blocs d’édition 10, 15 et 20.
DUPLICATA
Edition des duplicatas
Le nombre de duplicatas est récupéré à partir de l’en-tête de l’événement (nbrfac). Le système considère que c’est un original si la zone « indedi » est égale à ‘N’ ou à ‘ ‘.
Le nombre de factures supplémentaires à éditer est indiqué au niveau du tiers (écran GTIE_2).mais peut être modifié pour un événement en particulier (écran GCOV_3).Cette information est nécessaire pour qu’il y ait édition des duplicatas.
Au niveau du Bloc 05, le mot clé #DUPLICATA correspond à la position où sera inséré le libellé original ou duplicata. Ne pas utiliser le bloc EP dans la maquette, le remplacer par le bloc 05. Le bloc EP est édité sur l’original mais pas sur le duplicata.
Ce mot clé peut avoir 3 paramètres :
Exemples :
P DUPLICATA
P DUPLICATA= »DUPLICATA/DUPLICATE,ORIGINAL,V »
P DUPLICATA= « ,ORIGINAL »
EDICOL_NBCOL
Edition du colisage (%42, %43 ; %44) en tenant compte du nombre colis par colis
Utilisé pour éditer autant d’étiquettes que de colis avec, pour chaque étiquette, le contenu du colis.
EDT_BSTC
Permet d’éditer les informations du bloc edeve_b49 (historique des ventes).
Ce paramètre fournit le code statistique (champ « codstc ») et le nombre de mois à éditer (12 au maximum).
L’édition se fait après l’édition du bloc edeve_b15.
Dans l'axe statistique, le code produit est le critère n°1 : code produit du poste de l'événement (evp.codpro).
Le magasin est le critère n°2 de l'axe statistique : dépôt de la ligne d'événement.
Le "mois courant" s'entend par rapport à la date de l'événement.
Exemple :
P EDT_BSTC="PRCL,6" pour rendre le code axe statistique cumulée PRCL sur 6 mois.
EDT_CPT_STOCK
Permet d’éditer les informations concernant les compteurs de stock avec le bloc edeve_b10.
Ce paramètre maquette fournit le code affichage des compteurs (champ « codask ») à éditer.
Exemple :
P EDT_CPT_STOCK="DISP" pour éditer les compteurs de stock donnés par le code affichage de stock DISP.
EDT_HISTO_ZOD
Permet d’éditer, par le bloc edeve_b56, l’historique des zones paramétrées datées de l’en-tête d’événement.
INDEDI
Edition d’un commentaire libre pour préciser la notion Original et Duplicata.
La différence avec le mot clé DUPLICATA est que l’on ne tient pas compte du nombre de factures supplémentaires à éditer (eve.nbrfac).
P INDEDI= « DUPLICATA »
P INDEDIN= « ORIGINAL»
Le «N» après INDEDI correspond à la donnée eve.indedi.
Le commentaire est récupéré dans la zone commenl1 (@554) du bloc 05.
INTERFACE
Marquage de l’événement interfacé
Permet en fin de traitement, comme dans tous les traitements d’édition, de copier le fichier résultant de l’édition (SPL) sur un autre répertoire, avec un nom différent (voir paramétrage des éditions).
La présence de ce paramètre permet de mettre à jour l’indicateur déjà interfacé (indint) pour chaque événement traité.
En option Fiche, l’indicateur déjà édité (indedi) n’est pas mis à jour, sauf si le paramètre MAJ_INDEDI est présent.
|
|
Attention Un autre traitement exploite la zone eve.indint pour pointer les événements qui ont été pris en compte dans le calcul des consommations (GDSKC). Le mot clé INTERFACE peut entrer en conflit avec cette fonctionnalité. |
INTVTXT
Permet de définir quels sont les textes libres à éditer : contrat, poste contrat, installation, poste installation, appel et prestation (edeve_b02).
L'édition prévoit un seul et unique bloc pour éditer l'ensemble des textes libres associés au contrat, au poste du contrat, à l'appel, à l'installation, etc… Du point de vue de la mise en œuvre, la sélection de tel ou tel texte libre s'effectue par des tests au niveau de la maquette sur le type de texte à éditer.
Cependant, pour des problèmes de performance, la recherche des différents types de texte libre peut être conditionnée par le paramètre maquette "INTVTXT".
Ce paramètre maquette retourne une chaîne de caractères. Les caractères sont exploités deux par deux et correspondent à un type de texte libre à éditer.
01 à Le texte libre associé au contrat (ICE)
02 à Le texte libre associé au poste du contrat (ICF)
03 à Le texte libre associé à l'installation (ISE)
04 à Le texte libre associé au poste de l'installation (ISP)
05 à L'énoncé de l'appel (EAPP)
06 à L'énoncé de la solution interne (IAPP)
07 à L'énoncé de la solution client (SAPP)
08 à Le bloc note de l'appel (énoncé technique) (TAPP)
09 à Les tests à effectuer (RAPP)
10 à L'avancement (APPP)
11 à Le texte libre associé à l'en-tête de la prestation (IPR)
12 à Le texte libre associé au poste de la prestation (IPP)
Exemple :
P INTVTXT="020503"
Sont édités, dans l'ordre, le texte libre associé au poste du contrat, à l'énoncé de l'appel et à l'en-tête de l'installation.
LECLCR
Restitue et édite le contenu des dossiers documentaires.
LECT_EVT_SEQ
Lecture séquentielle des commentaires
Il arrive dans certains spécifiques ou certaines particularités comme l’aide à la saisie de l’en-tête d’un devis qu’on saisisse des informations rattachées à l’en-tête d’événement dans la table evt, le champ numblo est alors renseigné avec la valeur 1. Ce paramètre permet d’éditer ces informations par une lecture séquentielle de ‘evt’. (==> plusieurs evt pour un en-tête..).
PAS_LECT_EVP
Supprime la lecture des postes
Permet de supprimer la lecture des postes de l’événement dans le but d’optimiser certains traitements. Attention : certaines données sont recalculées à partir des postes.
PAS_MAJ_EVE
Permet de ne pas mettre à jour l’événement édité en mode « Edition Fiche » (comportement standard), notamment l’indicateur « Déjà Edité » (champ « indedi »).
Ce paramètre permet par ailleurs l’utilisation de l’instruction maquette ISQL pour effectuer une mise à jour de l’événement courant sans écraser les mises à jour par le traitement différé lui même. Dans ce contexte d’utilisation, il vous faudra peut-être mettre à jour l’indicateur «Déjà Edité » par votre requête SQL .
|
|
Attention Ce mot-clé est prioritaire sur les mots-clés MAJ_INDEDI et INTERFACE. |
LISTE_BPP
Edition en liste du pied de page.
Exploité uniquement lors de l’édition en liste des événements, ce paramètre permet d’éditer le bloc PP pour chaque événement. Sans ce mot clé, le bloc PP n’est édité qu’en fin de page.
MAJ_CODEMP_STK
Permet l'alimentation du code emplacement.
MAJLCR
Met à jour la composition du dossier.
Le code document est à renseigner au niveau de ce paramètre MAJLCR.
Les informations suivantes sont mises à jour pour le dossier et son code document :
Ce paramètre doit forcément être accompagné des paramètres CHGLCR ou LECLCR,
Exemple : P MAJLCR="TXT"
NUMSER_ORI
Edition des numéros de série de la ligne origine
Signale au système qu’il doit éditer les n° de série de la ligne origine. Ce mot clé peut être utilisé, par exemple, pour éditer les n° série au niveau d’une facture alors que les n° de série ne se trouvent pas au niveau de celle-ci, mais au niveau de la ligne du Bon de Livraison d’origine.
PAS_FRDNF
Edition des frais divers non facturés.
Permet de ne pas éditer, dans les blocs 95 et PP, les frais divers non facturés.
POSFIS
Edition d’un commentaire libre en fonction de la position fiscale.
P POSFISI= »EXONERATION TVA »
(Le « I » après POSFIS correspond à la donnée eve.posfis)
RECAPEVPAR
Calcul du montant du poste arrondi au nombre de décimales géré par la devise (généralement 2) comme pour le montant poste du bloc d’édition edeve_b10.
Permet, par exemple sur le bloc d’édition edeve_b96, d’obtenir une édition du récapitulatif des postes triés :
· suivant une zone complémentaire du poste si l’on a positionné le paramètre maquette P RECAPEVPAR="CODZON, n°codzn",
· par compte d’imputation de charges et de TVA sur facture si l’on a positionné le paramètre maquette P RECAPEVPAR="CPTTVA".
RECAPEVP
Calcul du montant du poste non arrondi.
QTESUP
Calcul du reste à livrer
Utilisation du champ qtesup(i) de la table EVL (au lieu du champ qteliv) pour calculer le reste à livrer.
Le choix du champ qtesup1, qtesup2 ou qtesup3 se fait par la valeur du mot clé. Le champ qtesup1 est pris par défaut si la valeur n’est pas renseignée (extension au paramètre QTESUP).
Utilisation :
P QTESUP evl.qtesup1 utilisé
P QTESUP="1" evl.qtesup2 utilisé
P QTESUP="3" evl.qtesup3 utilisé
RAL_ORI_POSTE
Reste à livrer des postes d’origine
Permet, lorsque l’événement d’origine n’est pas renseigné en entête, de calculer pour chaque commande d’origine des postes son reste à livrer et de l'éditer dans le bloc 75 ou 77.
RAL_SOUR_POSTE
Edition des bons de livraison
A positionner à chaque rupture de BL. Les commandes dites « éclatées » (commandes sources pour lesquelles il y a au moins un poste dont la quantité livrée et inférieur à la quantité commandée) apparaissent dans le bloc de pied de page dans les 10 derniers commentaires (champs commen41 à commen50).
SOURCE
Recherche des événements source
L’édition des informations relatives à l’événement source dans les blocs 10 et 15 s’effectue en fonction de l’événement source stocké dans les tables EVE, EVP et EVL.
Si vous souhaitez que les informations relatives à l’événement source soient celles de l’événement source paramétré dans GPEV, il faut positionner ce mot clé dans la maquette.
TRIDEP
Tri des lignes d’un événement par dépôt (seules les cadences sont éditées).
Les lignes sont triées par dépôt, produit, numéro de poste.
TRIDEP1
Tri des lignes d’un événement par dépôt (seules les cadences sont éditées).
Les lignes sont triées par dépôt, poste et ligne.
TRIDEST
Tri des lignes et des sous-postes d’un événement par client destinataire, code emplacement et code produit (seules les cadences sont éditées).
TRIEOP
Tri des postes d’un événement par événements origine, puis tri secondaire sur le code produit.
TRIEVO
Tri des postes d’un événement par événements origine, puis tri secondaire sur le numéro de poste.
TRIFAM
Tri des postes d’un événement par famille de produit.
TRIFSS
Tri des postes d’un événement par famille, puis sous-famille et enfin sous-sous-famille de produit.
TRIGRP
Tri des lignes d’un événement par groupe.
Les lignes sont triées par code regroupement et poste.
TRIGSM
Tri des postes d’un événement par : Sigle dépôt, Code produit, Mode transport, Unité de vente.
TRIPRO
Tri des postes d’un événement par code produit.
TRISPO
Tri des sous-postes d’un événement par code produit du composant
Permet d’avoir d’une part l’édition des sous-postes en mode normal et d’autre part d’avoir en fin d’édition des postes la liste des sous-postes de l’événement triés par code composant.
P TRISPO= « F » Tout ce qui concerne l’édition des sous-postes d’un événement ne s’effectue qu’une fois l’édition des postes terminée.
P TRISPO= « G » Idem TRISPO= »F », de plus un regroupement est effectué par code composant avec cumul des quantités commandées.
TRIUNI+
Tri des postes d’un événement par code unité ascendant.
TRIUNI-
Tri des postes d’un événement par code unité descendant.
TRIEMP
Tri des postes d’un événement par code emplacement.
UNIPRO+
Tri des postes d’un événement par code unité ascendant, puis tri secondaire sur le code produit.
UNIPRO-
Tri des postes d’un événement par code unité descendant, puis tri secondaire sur le code produit.
TRIZNP
Tri des postes d’un événement selon la valeur de la zone complémentaire (codzn)
P TRIZNP= « XX » sera précisé dans la maquette de l’état, avec XX le numéro de la zone complémentaire.
TRIPAR
Tri des lignes d’un événement en fonction d’un paramétrage maquette
P TRIPAR= «~nnn, ~rrr » , avec ~nnn correspondant à une variable fictive renseignée au niveau poste ou ligne, de la manière ~nnn = @38+~NNN, ~rrr correrspondant quant à elle à une variable fictive (renseignée dans le bloc edeve_b10 ou edeve_b15) qui servira de référence pour les ruptures.
|
|
Attention L'utilisation de ce paramètre a pour conséquence de dégrader les performances (temps de réponse) du traitement demandé, selon le contexte et le volume de données traitées. Aussi, il FAUT ajouter une optimisation avec le mot clé "P OPTIM" et paramétrer la maquette d'édition en accord avec cette optimisation. (Voir les différentes options de "P OPTIM"), en particulier utiliser le mot clé TRT. |
TRT
Traitements pouvant être déclenchés par le paramètre maquette Pbb TRT="xxx" avec bb le numéro de bloc (ou bb = 2 espaces si on le déclenche pour tous les blocs utilisant ce mot clé xxx), et xxx pouvant être = à :
Bloc 05
| cotation |
informations de type transport logistique : • numéro de cotation de l’événement, • sites d’embarquement et de débarquement, • zones complémentaires de l’en-tête de cotation. Ce pavé n’est pas traité par défaut. |
| eve_ori |
informations sur événement origine et source de événement en cours d’édition (dont données complémentaires de l’entête). Ce pavé est traité par défaut. |
| evm |
boucle de lecture sur les acomptes. Ce pavé est traité par défaut. |
| evt |
boucle de lecture sur les commentaires de l’entête. |
|
Ce pavé est traité par défaut. |
|
| adr_com_cli |
adresse commerciale du tiers de événement. Ce pavé est traité par défaut. |
| adr_fac_cli |
adresse de facturation de événement pour ce tiers. Ce pavé est traité par défaut. |
| adr_liv_cli |
adresse de livraison de événement pour ce tiers. Ce pavé est traité par défaut. |
| zonpar_cli |
libellé des zones paramétrées du tiers. Ce pavé est traité par défaut. |
| info_dep |
informations sur le Dépôt de l’entête de événement (nom). Ce pavé est traité par défaut. |
| adr_com_dep |
adresse commerciale du Dépôt de l’entête de événement. Ce pavé est traité par défaut. |
| zonpar_dep |
libellé des zones paramétrées du Dépôt de l’entête . Ce pavé est traité par défaut. |
| info_tra |
informations sur le Transporteur d’en-tête événement (nom). Ce pavé est traité par défaut. |
| adr_com_tra |
adresse commerciale du Transporteur de l’entête. Ce pavé est traité par défaut. |
| info_rep |
informations sur le représentant de l’entête événement (nom du représentant : accès à ‘tie’). Ce pavé est traité par défaut. |
| info_uti |
informations sur l’utilisateur ayant modifié l’entête (code utilisateur : eve.utimod -> accès à ‘ut_uti’). Associé à eve_ori, on recherche les informations sur l’utilisateur ayant modifié l’en-tête de l’origine. Ce pavé est traité par défaut. |
| adr_com_rep |
adresse commerciale du représentant. Ce pavé est traité par défaut. |
| info_cap_rgp |
recherche le code regroupement associé à dateve, datliv, datexp et datval de l’entête d’événement Ce pavé est traité par défaut. |
| info_mag |
lecture des informations du magasin (Géant du Meuble) ou tiers final lié à l’entête d’événement. Ce pavé est traité par défaut. |
| info_affact |
Lecture des informations d’affacturage si guide facteur renseigné. Ce pavé est traité par défaut. |
| info_etb |
Lecture des informations de l’établissement. Ce pavé est traité par défaut. |
| info_secondaire |
recherche du libellé de la famille de tiers recherche des libellés de codana, codana1 et codana2. Ce pavé est traité par défaut. |
| info_colis |
Calcul le nombre de colis ‘col’. Ce pavé n’est pas traité par défaut. |
| nomsoc | Recherche du nom des sociétés correspondant à codsoc, codsoc_o, codsoc_s de l’entête de l’événement. Ce pavé n’est pas traité par défaut. |
Bloc 10
| adr_com_dep |
adresse commerciale du Dépôt de la ligne de l’événement. Ce pavé est traité par défaut. |
| evp_evl_ori |
informations sur le poste/ligne de l’événement d’origine du poste en cours d’édition. Ce pavé est traité par défaut. |
| evp_eve_ori |
informations sur l’en-tête d’événement origine du poste en cours d’édition. Ce pavé est traité par défaut. |
| evp_eve_src |
informations sur l’en-tête de l’événement source du poste en cours d’édition. Ce pavé est traité par défaut. |
| evm |
boucle de lecture sur les acomptes. Ce pavé est traité par défaut. |
| evt |
boucle de lecture sur les commentaires des postes. Ce pavé est traité par défaut. |
| info_dac |
Récupère le prix vendu de l'évènement d'origine (prxvdu_o). Ce pavé n'est pas traité par défaut. |
| info_dep |
informations sur le Dépôt de la ligne événement (nom du Dépôt : accès à ‘tie’). Ce pavé est traité par défaut. |
| info_fou |
informations sur le fournisseur principal du produit du poste de événement (nom du fournisseur : accès à ‘tie’). Ce pavé est traité par défaut. A partir du sigle du fournisseur (bloc 10), on obtient les informations « Montant minimum de franco » et « Devise du tiers » (champs « MINFRA » et « CODDEV_TIE » de la table des Tiers TIE). A partir du sigle du fournisseur et du code produit (champs « SIGFOU » et « CODPRO »), on obtient la référence du fournisseur principal (champ « REFPRO2 » de la table PRC). |
| info_rep |
informations sur le représentant du poste événement (nom du représentant : accès à ‘tie’). Ce pavé est traité par défaut. |
| info_tra |
informations sur le Transporteur de la ligne événement (nom du Transporteur : accès à ‘tie’). Ce pavé est traité par défaut. |
| var_log |
boucle de lecture sur les variantes logistiques. Ce pavé est traité par défaut. |
| info_cap_rgp |
recherche le code regroupement associé à datliv, datexp et datval du poste/ligne édité. Ce pavé est traité par défaut. |
| info_prc |
recherche des informations dans le catalogue produit (nom du produit chez le fournisseur ou le client). Ce pavé est traité par défaut. |
| zonpar_pro |
libellé des zones paramétrées du produit. Ce pavé est traité par défaut. |
| info_fampro |
recherche libellé de la famille de produit. Ce pavé est traité par défaut. |
| info_sfapro |
recherche libellé de la sous/famille de produit. Ce pavé est traité par défaut. |
| info_ssfpro |
recherche libellé de la sous/sous/famille de produit. Ce pavé est traité par défaut. |
| info_typpro |
recherche libellé du type de produit. Ce pavé est traité par défaut. |
| info_secondaire |
recherche du libellé de la variante recherche des libellés de codana, codana1 et codana2 recherche du libellé du code taxe (codtax2) recherche du libellé du type de tarif recherche du libellé de la formule de réappro. recherche des libellés des unités Ce pavé est traité par défaut. |
| ind_cadence |
Mise à jour de l’indicateur INDCAD renseigné de la façon suivante : • « O » si le poste est cadencé, • « N » si le poste n’est pas cadencé. Ce pavé est traité par défaut. |
| info_ctsete |
Permet d’obtenir dans le bloc 10 des informations sur les conditions tarifaires du poste (en mode conditions tarifaires étendues). Ces informations sont renseignées en mode CTS étendues si le bloc 11 ou 13 n’est pas présent dans la maquette, ou par la présence de ce paramètre. Ce paramètre n’est pas traité par défaut. Il est possible d'éditer les champs valrem, basrem, codcre et numcot jusqu'à 5 bases de calcul, sur lesquelles on cumule les taux de remise. Si les conditions tarifaires sont exprimés en montant (type de valeur à 2 sur la catégorie de remise) ou si le paramètre SOLCTS est positionné, on ne cumule pas les taux par base et l’on édite chaque taux individuellement toujours dans la limite de 5 au maximum. |
| info_prix_std |
Recherche le tarif standard de vente d'un produit. Ce paramètre n'est pas traité par défaut. |
| info_mag |
En présence du paramètre FOUPRI, le champ « SIGMAG » du bloc représente le magasin. La fiche de stock magasin est connue grâce au code produit et au sigle du dépôt (champs « CODPRO » et « SIGDEP » de la table DSK). Le fournisseur principal du produit est alors enregistré dans le champ « sigtie_ser » de la fiche de stock (table DSK, produit/magasin, si modappro=’F’). Le catalogue fournisseur (table PRC) permet d’obtenir la réference fournisseur du produit (champ « REFPRO »). A défaut, il s’agit de la référence du produit (champ « refpro » de la table PRO). |
| nomsoc | Recherche du nom des sociétés correspondant à codsoc, codsoc_o, codsoc_s du poste de l’événement. Ce pavé n’est pas traité par défaut. |
Bloc 15
| adr_com_dep |
adresse commerciale du Dépôt de la ligne de l’événement. Ce pavé est traité par défaut. |
| info_colis |
Calcul du reste à coliser au niveau du poste. Ce pavé n’est pas traité par défaut. |
| evt |
boucle de lecture sur les commentaires. Ce pavé est traité par défaut. |
| info_cap_rgp | recherche le code regroupement associé à datliv, datexp et datval de la ligne éditée. Ce pavé est traité par défaut. |
Bloc 20
| info_colis |
Calcul du reste à coliser au niveau du sous poste. Ce pavé n’est pas traité par défaut. |
| evt |
boucle de lecture sur les commentaires. Ce pavé est traité par défaut. au niveau du bloc %PP : |
| evf |
boucle de lecture sur les frais divers. Ce pavé est traité par défaut. |
| intra_stat | recherche des informations intra-communautaires. Ce pavé est traité par défaut. |
Prévoir autant de ligne P TRT="xxx" que d’option à activer.
Exemples :
P05 TRT="adr_com_cli"
P05 TRT= " adr_liv_cli "
P10 TRT="info_dep"
P05 TRT= "eve_ori"
P10 TRT= "evp_evl_ori"
VALO_INTV
Valorisation de l'intervention : avec les quantités théoriques, avec les quantités réelles ou avec les quantités qui seront facturées.
P VALO_INTV="THEO"
P VALO_INTV="REEL"
P VALO_INTV="FACT"
NUMSER5
Ce paramètre permet l’édition des numéros de série par lot de 5 (bloc 60).
Les champs édités sont numdeb1, numdeb2, numdeb3, numdeb4, numdeb5, numdeb6, numdeb7, numdeb8, numdeb9 et numdeb10.
P NUMSER5, précisé en fin de maquette de l’état, édite 5 numéros par ligne.
P NUMSER5= « x », précisé en fin de maquette de l’état, édite x numéros par ligne (10 au maximum.
MAJ_INDVER
Mise à jour de l’indicateur de verrouillage « indver » des lignes d’événement éditées.
P MAJ_INDVER="x", précisé dans la maquette de l’état, permet de mettre à jour l’indicateur de verrouillage des lignes d’événement éditées avec la valeur x.
SIMULATION_DLC
Permet d’évaluer au plus tôt et simuler l’affectation des lots aux commandes en tenant compte de la disponibilité en stock et de la DLC (Date Limite de Consommation) des lots dans les dépôts.
Il est également possible de préciser un délai en nombre de jours à ajouter à la date du jour pour calculer le stock disponible des lots (par défaut : +1).
Exemple : P SIMULATION_DLC="3"
SOLDE_LIGNE
Permet d’utiliser la fonction EDEVL pour solder les lignes sélectionnées, généralement par sélection de l’indicateur de verrouillage des lignes d’événement (champ « EVL.indver »).
On peut d’ailleurs préciser une valeur à positionner dans le champ « indver » des lignes soldées (pour différencier des lignes « à solder »). Par défaut, ce champ sera effacé à nouveau.
Permet, dans le cadre de l'affectation (voir paramètres AFFECT et INDVER), de préciser la valeur de l’indicateur de verrouillage des lignes d’événement soldées.
|
|
Attention Ce mot-clé permet de revaloriser l’événement mais pas de mettre à jour les encours financiers. |
Exemple
P SOLDE_LIGNE="9" permet de déclencher le solde de la ligne et de marquer les lignes traitées avec le champ « indver » à 9.
TRT
L’édition des lignes d’événement est optimisée par défaut, et ne déclenche donc pas la recherche de certaines d’informations secondaires (voir le tableau ci-dessous). Pour déclencher ces recherches, il faut utiliser le paramètre maquette P TRT="xxx" avec xxx pouvant être = à :
| lect_evl |
Lecture des données de la ligne de l’événement et son origine au niveau des entêtes de rupture (Bloc 20). |
| lect_com_eve |
Lecture des commentaires de l’en-tête de événement |
| lect_com_evp |
Lecture des commentaires du poste de événement |
| lect_com_evl |
Lecture des commentaires de la ligne de événement |
| lect_zon_eve |
Lecture des zones paramétrées de l’en-tête de événement |
| lect_zon_evp |
Lecture des zones paramétrées du poste de événement |
| lect_zon_tie |
Lecture des zones paramétrées du tiers de événement |
| evl_eve_src |
Lecture des informations sur événement source du poste |
| info_mag |
Lecture des informations du magasin (Géant du Meuble) ou tiers final lié au poste en cours d’édition |
| info_tra |
Lecture des informations du transporteur |
| info_dep |
Lecture des informations du dépôt |
| info_liv_cli | Lecture des informations «adresse de livraison» |
Prévoir autant de ligne P TRT="xxx" que d’option à activer.
COTATION
P COTATION="1" (ou "2")
1 : Recherche s’il existe une meilleure cotation,
2 : Recherche s’il existe une meilleure cotation avec mise à jour de du poste s’il existe une cotation meilleure.
NUMSER5
Edition des numéros de série par lot.
La présence de ce mot clé dans la maquette signale au système qu’il doit éditer les numéros de série (Bloc 18) par lot de 5. Les champs édités sont numdeb1, numdeb2, numdeb3, numdeb4, numdeb5, numdeb6, numdeb7, numdeb8, numdeb9 et numdeb10.
P NUMSER5, précisé en fin de maquette de l’état, édite 5 numéros par ligne,
P NUMSER5= « x », précisé en fin de maquette de l’état, édite x numéros par ligne (10 au maximum).
DATRAL
Date de départ pour l’édition des restes à livrer dans le bloc 10.
P DATRAL= « DATEXP » : la date d’expédition est la date de référence pour le calcul.
Par défaut le calcul est effectué avec la date de livraison du poste.
TRT
Ce paramètre vous permet d’optimiser l’édition. Il suffit de préciser, dans la maquette, P TRT="xxx" avec xxx pouvant être = à :
Prévoir autant de ligne P TRT="xxx" que d’option à activer.
VALEVE
Ce paramètre vous permet d’optimiser le traitement différé en empêchant la valorisation de l’événement.
MAJ_INDEDI (EDEVP, EDEVL, EDENT et EDEVE)
Mise à jour de l’indicateur d’édition de l’événement
Signale au système qu’il doit mettre à jour l’indicateur d’édition des événements édités, comme lors de l’édition par l’option Fiche. Ce paramètre permet de mettre à jour l’indicateur « déjà édité » (indedi) lors des éditions en liste.
Par défaut, l’indicateur passe de N à 1, de 1 à 2, ... et de 9 à N à chaque édition fiche. Par ce mot clé, on peut aussi, en mode fiche ou liste, indiquer la valeur à mettre dans la variable « indedi » pour ne pas suivre la mise à jour standard.
Exemple :
P MAJ_INDEDI= « O », précisé dans la maquette de l’état, permet de passer directement de N à O
MAJ_INDTRT (EDEVP, EDEVL, EDENT et EDEVE)
Si MAJ_INDTRT="1" alors pas de mise à jour de l'indicateur de traitement "indint" de l'événement, même si le paramètre INTERFACE est positionné.
TRADUC
Traduction multi-langues.
• des désignations des articles (GART),
• des libellés longs et réduits de toutes les tables accessibles par une fonction du type GTxxx,
• des commentaires structurés (GCOS).
Ce mot-clé maquette ne peut être utilisé que pour les fonctions suivantes : EDEVE, EDEVE et EDEVP.
Voir documentation du paramètre TRADUC.
CREER_REPARTITION
Ce mot-clé est utilisé dans le cadre des Flux poussés, dans le portail I_ACHAT_F, lors de la saisie avec répartition. Lorsqu'on valide la sélection pour générer les postes avec la répartition par rapport aux produits et magasins sélectionnés (mis dans le panier), ce mot-clé permet, si le paramètre EVRP est positionné (voir zone A3), de lancer une génération via le traitement GCOVV1 (lancé en mode rapide) au lieu du lancement de l’APIGestionRepartitioncreerRepartition.
CTRMIP
En présence du paramètre maquette P CTRMIP, la fonction différée GCOVV1 ne traite que le contrôle de compatibilité entre produit dangereux.
Voir documentation du paramètre CTRMIP qui permet notamment, en validation d’expédition (ou en validation de commande), de contrôler que les produits dangereux sont compatibles entre eux.
DECAL_DATE
Permet de décaler les dates d’expédition des événements sélectionnés.
Le traitement recalcule la date d’expédition de la manière suivante :
Date du jour + délai (indiqué sur le paramètre N2 de DELAI)
Il met à jour la date d’expédition de chaque ligne d’événement sélectionné dans le traitement et active un transfert de stock à la nouvelle date dans le cas où les stocks sont gérés en prévisionnel.
Ce traitement ne permet pas de décaler les dates d’expédition d’un certain nombre de jours, il force systématiquement toutes les lignes à la date indiquée par le paramétrage au jour du lancement.
DUPLI_EVE
Duplication d’événement en changeant le type d’événement : voir fonction GCOVV1.
GENERE_ACOMPTE
Permet de générer une facture d'acompte à l'issue de la validation de la commande, s’il existe au moins un acompte à générer sur la commande. Voir documentation de la fonction GCOVV1.
REPARTITION
Permet de réaliser la répartition des quantités supplémentaires sur les commandes de vente magasin.
Voir fonction GCOVV1.
REVALORISATION
Voir documentation de la fonction GCOVV1.
EA_OL_RELIQUAT
Ce paramètre maquette permet, sur les EA sélectionnés, de générer des EA reliquats sur le reste à recevoir. Si des OL sont associés à l’EA (Cross Dock), on génère les OL reliquats en rapport de l’EA reliquat.
LISTE_EXT_FICEDT_A_SUP
Ce paramètre maquette permet, en suppression des demandes de traitements batch (de type Manuel) via le traitement UEDIE1 lancé avec l’option « supprimer », de supprimer les fichiers SOC{xx}_{nnnn}.{extension demandée} pour les différentes extensions demandées par le paramètre maquette.
La suppression standard supprime déjà les fichiers .ext, .spl et .log
Ces extensions ne sont donc pas à repréciser.
Donner la liste des extensions permet d’optimiser la suppression effectuée en standard, à savoir supprimer les fichiers correspondant à SOC{xx}_{nnnn}.*, recherche d’autant plus lngue que le répertoire est chargé.
|
|
Attention Dans ce mode, on ne supprime pas les fichiers SOC{xx}_{nnnn}_*.log (généré avec le paramètre maquette ARCHIVE_LOG, plutôt utilisé sur les éléments de procédure) |
Exemple :
P LISTE_EXT_FICEDT_A_SUP="pdf,txt,csv"
SANS_SUP_FIC
Ce paramètre maquette permet, en suppression des demandes de traitements batch (de type Manuel) via le traitement UEDIE1 lancé avec l’option « supprimer », de ne supprimer aucun des fichiers SOC{xx}_{nnnn}.{extension demandée}.
ADRESSAGE
Avec ce paramètre-maquette, le traitement différé LRECE1 permet de lancer l’adressage des mouvements de réception sélectionnés (mouvements validés ou non validés) tout en tenant compte du paramètre LADMVT.
CAT_A_PLAT
Permet d’éditer les différentes informations du catalogue (table CATP) avec l’ensemble de l’arborescence.
DETAILS_ENCOURS
Permet de détailler, dans le fichier trace (« .log ») et sous la forme d’un tableau, le détail du calcul des encours (fonction GTIEF) :
· Sigtie : sigle tiers de l’événement,
· Tiers sur lequel va être calculé l’encours (partenaire financier, groupe financier en fonction des paramètres HIEFIN et HIERAR),
· Valeur de l’encours avant le calcul,
· Entité sur laquelle va être cumulé l’encours,
· Entité : dans le cas multi-entité, code société de l’événement,
· Achvte : code achat/vente de l’événement traité,
· Typeve : type événement,
· Numeve : numéro d’événement,
· Codeta : état événement,
· Valeve : valorisation de l’événement pour le calcul de l’encours en devise de l’événement,
· Coddev : devise de l’événement,
· Valeveenc :valorisation de l’événement pour le calcul de l’encours en devise tiers,
· Coddevenc : code devise du tiers. (dans lequel est calculé l’encours),
· Optenc/Cptenc :opération (+/-)/numéro de compteur d’encours impacté (déduit de la matrice GENC),
· Valcpt :Valeur du compteur après mise à jour,
· Valenc : valeur de l’encours total.
Paramétrages supplémentaires
On peut obtenir détail du calcul des encours pour seulement un tiers : il suffit d’en préciser le sigle.
Exemple : P DETAILS_ENCOURS="ROUY"
Seul le détail des encours du tiers ROUY apparaîtra dans le tableau.
Il est également possible de préciser le séparateur à utiliser pour délimiter les champs du tableau (un espace par défaut). Pour ce faire, il suffit de précéder le séparateur (caractère ou la chaine de caractères) par un / (barre de division).
Exemple : P DETAILS_ENCOURS="/;" pour que le séparateur soit un point virgule.
Si vous définissez le séparateur en plus du filtre sur tiers, cette définition devra se trouver juste après le sigle du tiers.
Exemple : P DETAILS_ENCOURS="ACE/;"
GEN_ECR_RGL
Permet, avec l’utilisation du paramètre ECRLIB, de définir le libellé de l'écriture comptable dans les fonctions GCAVE1 et GCOVV1.
INFO_PICTO
Permet d’alimenter les champs « picto1 » à « picto10 » (pictogrammes des étiquettes textiles) dans les blocs d’éditions suivantes :
· EDEVE_B10,
· GARTE_B10,
· GTASE1_B10,
· GTASE1_B10.
MAJ_CONTRAT
Ce mot clé est utilisé dans les traitements différés GCOVV1 et GBFAV1 pour pointer le contrat auquel est rattaché l'événement commercial, et ceci, lors de sa validation.
si MAJ_CONTRAT=
Ø "CDE" alors mise à jour de la quantité / montant commandée,
Ø "LIV" alors mise à jour de la quantité / montant livrée,
Ø "FAC" alors mise à jour de la quantité / montant facturée. Cette option est à positionner uniquement si vous utilisez le paramètre GENECR avec A1=N.
Les paramètres CNTQTE et CNTMNT permettent d’indiquer ce qui est mis à jour : la quantité, ou le montant, ou les deux.
MAJ_EVE_ICPE
En présence du paramètre maquette P MAJ_EVE_ICPE, le traitement GCOVV1 ne traite que la mise à jour de la table EVE_ICPE utilisée dans la feuille de style appelée depuis l’onglet "Danger" des en-têtes de réception. Dans ce cas, l’option N2 doit être à "1".
Voir documentation du paramètre CTRICP qui permet, en validation de réception (ou en validation de commande) de contrôler les seuils ICPE. Ce contrôle n'est effectué que dans les validations différés GCOVV1 et GBLVV1, en mode gestion des produits dangereux (paramètre DANGER positionné).
MAJ_INDEPU
Permet d’identifier les événements à purger sans les supprimer (voir fonction PURGEV). Cette fonctionnalité peut s’avérer intéressante pour une gestion d’archivage. L’identifiant de la table EVE (champ « indepu ») doit être à « O ».
MAJ_INDICE (iceve2)
Mémorise les indices de revalorisation utilisés par la formule de révision du contrat dans des données complémentaires du postes du contrat.
Deux options :
P MAJ_INDICE
Mise à jour des indices pour Prix1 et Prix2 s'il est renseigné, uniquement pour les postes n'ayant pas encore fait encore l'objet d'une révision (postes créés depuis la dernière révision c'est à dire pour qui la date de dernière révision n'est pas renseignée (icf.datdrv = " ")).
Les postes ayant déjà fait l'objet d'une révision seront également mis à jour mais uniquement si aucun indice n'a encore été mémorisé dans le poste. Plus exactement, les indices utilisés pour réviser prix1 seront mémorisés dans le poste du contrat uniquement si toutes les données complémentaires référencées au travers du paramètre ICFIP1 sont vides et les indices utilisés pour réviser prix2 seront mémorisés dans le poste du contrat si toutes les données complémentaires référencées au travers du paramètre ICFIP2 sont vides. Cela traite le cas où le prix2 ne serait pas saisi tout de suite (avant la première révision du contrat) ; cela permet aussi de fonctionner en mode "reprise" et d'initialiser les indices de tous les postes si les paramètres ICFIP1 et ICFIP2 n'étaient pas présents dans le paramétrage lors du dernier traitement de révision.
P MAJ_INDICE="TOUT"
Ce paramètre permet de mettre à jour les indices pour Prix1 et Prix2 même si le poste a déjà été révisé.
Il est surtout prévu pour être utilisé en mode "Remise à jour" pour recharger ponctuellement des indices qui auraient été mal chargés dans les contrats.
MAJ_LISTE_TIERS
Permet de calculer les encours pour une liste de tiers. Pour traiter les encours d’une liste de tiers, il vous suffit de placer le mot clé « MAJ_LISTE_TIERS » dans la maquette d’édition, et de positionner le paramètre INIENC.
Pour en savoir plus, consultez la documentation de la fonction GTIEF.
MEMO_MESSAGE_TXT_SPL
Concerne les traitements suivants : GARTE, GCOVV1, GBFAV1, GBLVV1, GBLVG2, GJALE1 et GDOSE1.
Permet de mémoriser, dans la table TXT (associée au numéro de spool du traitement), tous les messages d’erreur (enregistrés via UMES) générés lors de l’exécution de ce traitement. Une fois le traitement de validation terminé, les anomalies survenues lors du traitement peuvent ainsi être présentées dans une page d’erreur (mode web). En effet, ce mécanisme sert essentiellement au lancement des traitements depuis l’application web en mode direct, mode dans lequel on se met généralement en attente de fin d’exécution du traitement.
Ce paramètre-maquette ne tient pas compte des erreurs survenues après les contrôles suivants :
· paramètre VALPOI,
· paramètre CTRFAC,
· paramètre GELEVE,
· évènement déjà validé,
· évènement bloqué.
Par défaut, les messages ne sont mémorisés qu’en cas d’erreur du traitement de génération / validation.
L’option ALWAYS (P MEMO_MESSAGE_TXT_SPL="ALWAYS") permet de mémoriser les messages dans tous les cas, notamment les messages non bloquants (dépassement de stock non bloquant, contrôle non bloquant autour des matières dangereuses comme le dépassement de seuil ICPE (paramètre CTRICP), …).
NB_ETIQ (EDEVE, GARTE, GTASEL, WCATE4)
Permet d’éditer (via la fonction GBLV ) un autre nombre d’étiquettes que le nombre d’étiquettes donné par le nombre total de colis (champ « totcol » (bloc d’édition edeve_b06 et edeve_b10 ).
P06 NB_ETIQ= « xxx »
où xxx est le numéro de la variable fictive contenant le nombre d’étiquettes.
Cette variable fictive doit obligatoirement être définie en tant que variable numérique, et ne pas être initialisée avec des zéros.
Exemple :
V ~001="zzz",
et surtout pas : V ~001="999".
Cette variable peut-être définie au niveau des blocs inférieurs ou égaux au bloc 10.
Avec ce mot-clé, on édite au moins 1 étiquette.
NUMSER5 (COSKE0, COSKE, EDEVL, EDEVP, EDEVE)
Edition des numéros de série par lot.
Signale au système qu’il doit éditer les numéros de série (Bloc 55) par lot de 5. (Les champs à éditer sont numdeb1, numdeb2, numdeb3, numdeb4, numdeb5, numdeb6, numdeb7, numdeb8, numdeb9, numdeb10).
P NUMSER5, précisé dans la maquette de l’état, édite 5 numéros par ligne,
P NUMSER5= « x », précisé dans la maquette de l’état, édite x numéros par ligne, 10 valeur maximum.
PAS_CHG_10
Afin d’optimiser le temps de traitement lors du chargement de l’inventaire (GINVC), il vous est possible d’éviter une recherche des libellés lors de l’édition du bloc d’édition ginvc_b10. Il vous suffit en effet de positionner le paramètre maquette “PAS_CHG_10” sur la maquette associée au traitement GINVC.
PAS_CRT_CAIS
Permet de désactiver la gestion de caisses (fonction GCAVE1).
SOLDE_LIGNE
Permet, depuis le batch EDEVL, de solder les lignes sélectionnées.
dans le cadre de l'affectation (voir paramètres AFFECT et INDVER), de préciser la valeur de l’indicateur de verrouillage des lignes d’événement soldées.
SUPP_CAE
Permet de supprimer l’élément de catalogue sélectionné (fonction WCATE4).
Des options permettent de supprimer tous les éléments se situant sous l'élément sélectionné et/ou de supprimer le niveau supérieur si ce dernier est vide.
La suppression est en effet effectuée selon deux critères (séparés par une virgule).
Exemple : P SUPP_CAE="2,SUPNIV"
Premier critère :
- 0 è On supprime l'élément sélectionné uniquement,
- 1 è On supprime l'élément sélectionné à condition qu'il n'y ait plus d’autre élément qui en dépende,
- 2 è On supprime l'élément sélectionné ainsi que tous les autres éléments qui en dépendent.
Exemple : supprimer la rubrique SPORT LOISIRS / SPORT ETE
SPORT LOISIR --> SPORT ETE --> P1
--> P2
--> SPORT HIVER
CAMPING -> SPORT ETE --> P1
--> P2
--> SPORT HIVER
Le second critère indique s'il faut supprimer le niveau supérieur lorsque tous les éléments sous ce dernier sont vides :
- " " è on ne fait rien,
- "SUPRUB" è on supprime la rubrique si elle est vide,
- "SUPCAT" è on supprime l'en-tête de catalogue s'il est vide,
- "SUPNIV" è SUPRUB + SUPCAT : on supprime le niveau supérieur s'il est vide (rubrique ou en-tête de catalogue).
SUPP_CAT
Permet de supprimer les catalogues sélectionnés, lorsqu’ils sont édités (fonction WCATE2).
SUPP_PRO
Permet d’utiliser le moteur GARTE pour supprimer en masse les produits sélectionnés et correspondant aux critères de suppression (on effectue les mêmes contrôles qu’en suppression interactive d‘un produit par la fonctionGART : voir paramètre SUPPRO).
SUPP_TIE
Permet de supprimer en masse les tiers sélectionnés qui correspondent aux critères de suppression.
Pour en savoir plus, consultez la documentation de référence de la fonction GTIEE et du paramètre SUPTIE.
TRT_CTR_PRO_LOGIS
Le paramètre maquette « TRT_CTR_PRO_LOGIS » permet d’activer le contrôle de fiche article incomplète, de la même façon qu’en alimentant l’option 1 avec « ctr_pro_logis » depuis un écran lanceur e-GX.
VALIDER_MAGASIN
Permet lors de cette validation (faite en magasin) de dupliquer l’élaboration pour les magasins du bassin ainsi que pour les magasins dépendants (comportement spécifique sur la fonction GTASEL).
|
|
Attention L'utilisation de ce paramètre-maquette est incompatible avec les paramètres TARBAR et CIRCUI. |
VALORISER_LIGNE
Permet de valoriser une ligne d’élaboration (comportement spécifique sur la fonction GTASEL).
Paramètre du mot clé :
1 on ne traite que les lignes non valorisées,
0 on traite les lignes dépassées et non valorisées.