Traitement SUBSDHA : Actions OBJet de la gestion des livraisons
CALPORT : Calcul spécifique du port
Ce point d’entrée concerne la gestion des transporteurs.
Il permet de faire un calcul spécifique du port. Il remplace le calcul standard effectué par la recherche des tarifs transporteurs.
Il est appelé dans le traitement de gestion des livraisons SUBSDHA lors de la création ou de la modification d'une livraison. Il est également appelé après la saisie de la fenêtre adresse livraison.
Contexte et mode de fonctionnement
Transaction
Il n'y a pas de transaction en cours lorsque le point d'entrée est appelé au moment de la création, modification d'une livraison.
Il y a une transaction en cours lorsqu'il est appelé après saisie de la fenêtre adresse livraison. (Transaction de mise à jour de l'adresse et du montant port dans le fichier entête livraison).
Fichier trace
Il n'y a pas de fichier trace ouvert.
Différents cas d’appel - Variables et masques disponibles
Ce point d’entrée est appelé dans la gestion des livraisons :
· Au moment de la création ou de la modification d'une livraison, lors de la recherche du tarif transporteur.
La recherche du tarif transporteur se situe dans les actions VERIF_CRE (lors d'une création de livraison) et VERIF_MOD (lors d'une modification de livraison). Ces actions sont exécutées avant le début de la transaction d'écriture ou de réécriture. La variable OK est égale à 1. On peut la positionner à 0 si on ne désire pas effectuer la transaction.
La classe écran [M:SDH] liée à l'OBJet livraison est chargée, le buffer [F:SDH] n'est pas encore chargé.
· Lorsque l'on modifie l'adresse livraison par l'option adresse livraison du menu (Si l'on est pas en phase de création, duplication ou si l'on a pas encore effectué de modification).
Si les zones pays, ville ou code postal ont été modifiées et si l'utilisateur demande à effectuer une nouvelle recherche du tarif transporteur.
La classe écran [M:SDH] liée à l'OBJet livraison est chargée. Le buffer [F:SDH] est bien chargé car l'enregistrement a été lu avec lock.
Les variables suivantes sont utilisées :
· WDACDLV (local integer) est chargé avec le n° de l'élément de facturation du port donné par le paramêtre FRENUM.
· WCRY (local char)
WCTY (local char)
WPOSCOD (local char) :
Si rien n'a été saisi dans la fenêtre adresse livraison, ces variables sont chargées avec le code pays, la ville et le code postal du client livré (par lecture de l'adresse du client livré dans la tables des adresses) sinon elles sont chargées avec les codes saisis dans la fenêtre adresse livraison.
· WPOINT_ENTREE (local integer) :
Elle est initialisée à 0. Positionnée à 1, elle permet d'inhiber la recherche standard du tarif transporteur.
· LAMTFRE (local decimal) :
Montant du port calculé.
· STAT (local integer) :
Statut de retour. Positionnée à 0, elle permet le chargement du montant de port calculé dans le tableau des éléments de facturation de la livraison et son affichage.
La recherche du tarif transporteur est effectuée si le paramètre FRENUM correspondant au n° d'élément de facturation du port est différent de 0 et si la lecture de cet élément de facturation dans la table des éléments s'est bien passée (WDACDLV chargée).
C'est ici qu'est appelé le point d'entrée CALPORT.
Ensuite s'effectue la recherche standard du tarif transporteur si WPOINT_ENTREE vaut 0.
Ensuite s'effectue le chargement du montant de port calculé dans le tableau des éléments de facturation et l'affichage si STAT = 0.
Le point d'entrée CALPORT doit donc :
. Positionner WPOINT_ENTREE à 1.
. Positionner LAMTFRE avec le montant de port calculé.
. Positionner STAT à 0 pour que la prise en compte de ce montant soit effectuée.
. Positionner OK à 0 s'il ne faut pas effectuer la transaction de création/modification (dans le cas d'appel en VERIF_CRE et VERIF_MOD).
Tables ouvertes
Dans le tableau ci-dessous, le flag contenu significatif signifie que le contenu est en phase avec le contexte (le client courant est chargé…). Traditionnellement, c’est le cas pour le fichier qui contient l’en-tête et pas pour celui qui contient les lignes…
Table |
Contenu significatif |
Intitulé Table |
SDELIVERY |
Non Oui (si depuis menu Adresse livraison) |
Livraisons entête |
SDELIVERYD |
Non |
Livraisons ligne |
SORDER |
Non |
Commandes entête |
SORDERQ |
Non |
Commandes ligne quantité |
SORDERP |
Non |
Commandes ligne prix |
SORDERC |
Non |
Commandes article / client (cdes ouvertes) |
BPARTNER |
Non |
Tiers |
BPCUSTOMER |
Non |
Clients |
BPDLVCUST |
Non |
Clients livrés |
BPCUSTMVT |
Non |
Mouvements clients |
SALESREP |
Non |
Représentants |
STOALL |
Non |
Allocations |
ITMMASTER |
Non |
Articles |
ITMSALES |
Non |
Articles vente |
ITMBPC |
Non |
Articles clients |
ITMFACILIT |
Non |
Articles sites |
ITMMVT |
Non |
Mouvements articles |
TABCUR |
Non |
Devises |
FACILITY |
Non |
Sites |
SPRICLINK |
Non |
Recherche tarif vente (link) |
PRICSTRUCT |
Non |
Structure tarif |
SFOOTINV |
Oui |
Eléments de facturation |
BPADDRESS |
Oui (ssi fenetre adresse livraison vide) |
Adresses |
UPDCFMSDD : Maj fichiers spécifiques avant maj d'une ligne de livraison validée
Ce point d’entrée intervient lors de la modification d’une ligne de livraison validée.
Il permet de prendre la main juste avant la mise à jour de la ligne de livraison pour mettre à jour des tables spécifiques.
Il est appelé dans la gestion des livraisons, lors de l’utilisation du click droit « Modification sorties» disponible sur une ligne de livraison validée (c’est le seul moyen permettant de modifier une ligne de livraison validée, la modification correspond uniquement à la modification des mouvements de stock et donc à la quantité livrée).
Contexte et mode de fonctionnement
Transaction
Il y a une transaction en cours. C’est la transaction de maj des mouvements de stock et de maj de la livraison.
Pour annuler la transaction s’il y a un problème, il faut positionner la variable GOK à 0.
Fichier trace
Il n’y a pas de fichier trace ouvert.
Contexte d’appel
Le PE se situe au niveau de la fenêtre de modification des sorties, après avoir saisi la modification et appliqué le bouton « Enregistrer ».
Il est appelé dans l’action ENR de l’action SAISTOSOM.
On se trouve dans la transaction de maj des mouvements de sortie. La maj des mouvements de sortie a été réalisée.
On se trouve au niveau des mises à jour complémentaires ce qui correspond dans ce cas précis à la mise à jour de la ligne de livraison après lecture de la ligne et avant sa maj ou sa suppression (si la nouvelle qté livrée est à 0).
Variables et masques disponibles
La classe écran [M :SOM] est en ligne :
[M :SOM]NBLIG contient le nombre de ligne de stock traité
[M :SOM]SORQTY contient la quantité US qui était à sortir
[M :SOM]SORQTYACT contient la quantité en UA qui était à sortir
[M :SOM]PECQTY contient la quantité US sortie
[M :SOM]PECQTYACT contient la quantité en UA sortie
[M :SOM]SHTQTY contient la quantité manquante
Un readlock a été réalisé sur l’enregistrement détail livraison ([F:SDD] chargé)
Les écrans [M :SDH0], [M :SDH1], [M :SDH2], [M :SDH3] sont en ligne et chargés avec les données de la livraison.
LNOL contient l’indice de la ligne de livraison que l’on est entrain de traiter dans le tableau des lignes de livraisons.
La variable LQTYSTU contient la nouvelle quantité livrée en US. Elle correspond à : [M:SOM]PECQTY+[M:SOM]SHTQTY.
La variable LQTY contient la nouvelle quantité livrée en UV.
La variable DELTAQTYSTU contient la différence en US entre la nouvelle et l’ancienne qté livrée.
La variable DELTAQTY contient la différence en UV entre la nouvelle et l’ancienne qté livrée.
Tables ouvertes
Dans le tableau ci-dessous, le flag contenu significatif signifie que le contenu est en phase avec le contexte (le client courant est chargé…). Traditionnellement, c’est le cas pour le fichier qui contient l’en-tête et pas pour celui qui contient les lignes…
Table |
Contenu Significatif |
Intitulé Table |
ITMCATEG |
Oui |
Catégorie articles |
ITMMASTER |
Oui |
Articles |
ITMFACILIT |
Oui |
Article-site |
ITMMVT |
Oui |
Mouvements articles |
TABALLRUL |
Non |
Règles d’allocations/sortie |
TABSTORUL |
Non |
Règles de gestion des stock |
STOLOT |
Non |
Numéros de lot |
STOCK |
Non |
Stocks |
STOSER |
Non |
Numéro de série |
STOWIPW |
Non |
Stocks en cours de traitement |
STOJOU |
Non |
Journal des stocks |
ITMSALES |
Oui |
Article-vente |
ITMBPC |
Oui |
Article-client |
SDELIVERY |
Non |
Entête livraison |
SDELIVERYD |
Oui |
Détail livraison |
MAJ_COLISAGE : Permet de court-circuiter la mise à jour des données colisage
Ce point d’entrée intervient lors de l'enregistrement de la livraison .
Il permet de court-circuiter la mise à jour des données colisage de la table SDELIVERY (Entête livraison)
Contexte et mode de fonctionnement
Transaction
Il y a une transaction en cours. Pour annuler la transaction s’il y a un problème, il faut positionner la variable GOK à 0.
Fichier trace
Il n’y a pas de fichier trace ouvert.
Contexte d’appel
Le PE se situe dans l étiquette MODIF du traitement SUBSDHA.
Il permet de court-circuiter la mise à jour des données colisage de la table SDELIVERY (Entête livraison) en positionnant la variable GPE à 1. La mise à jour des données colisage (appel de l étiquette COLISAGE_ORIGINE du traitement FUNPKD) est déclanchée si un colisage existe. Un colisage existe si le nombre de colis ([F:SDH]PACNBR) est > 0 et qu'au moins un détail colis existe (variable WSPD est > 0)
Données concernées : [F:SDH]PACFLG : Colisage réalisé
[F:SDH]PACNBR : Nombre colis
[F:SDH]NETWEI : Poids net
[F:SDH]GROWEI : Poids brut
[F:SDH]VOL : Volume
[F:SDH]VOU : Unité volume
Variables et masques disponibles
Les écrans [M :SDH0], [M :SDH1], [M :SDH2], [M :SDH3] sont en ligne et chargés avec les données de la livraison.
Variable GPE initialiée à 0
Variable WSPD à 1 si au moins un détail colisage existe
Tables ouvertes
Dans le tableau ci-dessous, le flag contenu significatif signifie que le contenu est en phase avec le contexte Traditionnellement, c’est le cas pour le fichier qui contient l’en-tête et pas pour celui qui contient les lignes…
Table |
Contenu Significatif |
Intitulé Table |
ITMCATEG |
Non |
Catégorie articles |
ITMMASTER |
Non |
Articles |
ITMFACILIT |
Non |
Article-site |
ITMMVT |
Non |
Mouvements articles |
TABALLRUL |
Non |
Règles d’allocations/sortie |
TABSTORUL |
Non |
Règles de gestion des stock |
STOLOT |
Non |
Numéros de lot |
STOCK |
Non |
Stocks |
STOSER |
Non |
Numéro de série |
STOWIPW |
Non |
Stocks en cours de traitement |
STOJOU |
Non |
Journal des stocks |
ITMSALES |
Non |
Article-vente |
ITMBPC |
Non |
Article-client |
SDELIVERY |
Oui |
Entête livraison |
SDELIVERYD |
Non |
Détail livraison |