Points d'entrée > Module Données de base > Script standard SUBBPT 

CARPRIFLD : Ajout de champs spécifiques dans la grille tarifaire transporteurs

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.

Contexte et mode de fonctionnement

Transaction

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.

Fichier trace

Il n’y a pas de fichier trace ouvert

Différents cas d’appel

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

Variables et masques disponibles

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