Dans la gestion des transporteurs, l'onglet tarif permet de saisir la grille tarifaire de chaque région. Cette grille tarifaire est composée de deux champs "frais fixes" et "+ par tranche".
Ce point d'entrée situé dans le traitement SUBBPT permet d'ajouter un champ en spécifique à cette grille qui sera saisi dans le masque BPT3 et stocké dans la table CARPRICE.
Dans le déroulement de l'action CREATION, il y a une transaction en cours. La variable GOK est utilisée et testée. Elle est égale à 1. Elle peut être positionnée à 0 si on désire abandonner la transaction.
Il n’y a pas de fichier trace ouvert
Ce point d'entrée doit être appelé dans deux contextes :
- dans l'action LIENS, lors du chargement du masque BPT3 à partir de la table CARPRICE
- dans l'action CREATION, pour écrire la table CARPRICE à partir du masque BPT3
La variable PE_CARPRIFLD permet de connaître l'origine de l'appel du point d'entrée.
Si PE_CARPRIFLD="LECTAR" , on est dans l'action LIENS
Si PE_CARPRIFLD="CRETAR", on est dans l'action CREATION
Il est impératif de ne pas modifier la valeur des variables : RGARE, I, J
La gestion du masque BPT3 est particulière à cause du stockage en invisible de la grille tarifaire complète d'une région (tableau de droite) dans la ligne de la région (tableau de gauche).
Les codes activités ayant une influence sont les suivants :
- BPW : nombre de fourchettes de poids dans les grilles de tarifs ( 50 maximum)
- BPY : nombre de régions par transporteur (100 maximum)
Saisie et stockage dans le masque BPT3 :
Pour une région, chaque ligne tarifaire est saisie dans les variables TARPRI et TARADL (tableau NBTAR) et est stockée dans les variables PRI1 à PRI51 et ADL1 à ADL51 (tableau NBARE) en fonction du no de ligne du tableau de saisie.
Exemple : pour la ligne 20 du tableau de la grille tarifaire
TARPRI(19) est stocké dans PRI20 (champ invisible du tableau NBARE des régions)
TARADL(19) est stocké dans ADL20 (champ invisible du tableau NBARE des régions)
Structure de la table CARPRICE
Chaque enregistrement de la table contient une ligne tarifaire d'une région.
La clé est constituée :
Transporteur (BPTNUM) + Région (BPTARE) + Rang (RANG: no ligne du tableau de saisie)
Par souci de clarté, il est conseillé de gérer ce nouveau champ exactement de la même façon que les deux champs standards.
Exemple d'ajout d'un nouveau champ :
Soit le champ décimal AAA ajouté dans la table CARPRICE.
Il faut créer le champ TARAAA dans le tableau NBTAR et les champs AAA1 à AAA51 en invisible dans le tableau NBARE.
NOTA: Dans un masque, le nombre de références champ est limité à 500. Chaque nouveau champ défini entraîne la création de 52 références dans le masque. Il faut dans ce cas limiter le nombre de lignes tarifaires (par exemple BPW=30) et ne créer que AAA1 à AAA31 etc …
Dans le point d'entrée :
$ACTION
Case ACTION
When "CARPRIFLD" : Gosub CARPRIFLD
Endcase
Return
$CARPRIFLD
If PE_CARPRIFLD="LECTAR"
If evalue("dim([M:BPT3]AAA"+num$([F:CAP]RANG+")")>0
Assign "[M:BPT3]AAA"+num$([F:CAP]RANG)+"("+num$(RGARE-1)+")" With [F:CAP]AAA
Endif
Endif
If PE_CARPRIFLD="CRETAR"
[F:CAP]AAA = evalue ("[M:BPT3]AAA"+num$(J+1)+"("+num$(I)+")")
Endif
Return
Liste des variables, signification, liste des classes de masques ouvertes, éléments qui peuvent être modifiés… Un tableau de ce type peut être fourni :
Variable ou masque | Définition |
BPT0 [BPT0] | Transporteurs |
BPRBPT [BPRT] | Identités |
BPABPT [BPAT] | Adresses |
BPT1 [BPT1] | Gestion |
BPT2 [BPT2] | Régions |
BPT3 [BPT3] | Tarifs |
BIDBPT [BIDT] | Rib (s) |
CNTBPT [CNTT] | Contacts |
|
|
| Ne pas modifier la valeur des variables |
Char PE_CARPRIFLD | Origine de l'appel du point d'entrée |
Integer RGARE | Indice |
Integer I | Indice |
Integer J | Indice |
|
|