Traitement TRTVENALL : Traitement lié aux allocations dans les ventes
MAJCDEALL : Mises à jour complémentaires du fichier entête de commande SORDER
Ce point d’entrée permet de prendre la main après l'allocation d'une ligne de commande ou d’une ligne de demande de livraison.
Pour les lignes de commande, il permet d’effectuer des mises à jour complémentaires de l'entête de commande correspondante ou des mises à jours d’autres tables.
Pour les lignes de demande de livraisons, aucune mise à jour de l’entête de commande correspondante n’étant réalisée, il permet d’effectuer des mises à jour d’autres tables.
Il est appelé dans les fonctions allocations automatiques, allocations par article, désallocation, et au niveau du bouton allocation manuelle.
Contexte et mode de fonctionnement
Transaction
Il y a une transaction en cours (transaction de mise à jour d'une allocation, avec mise à jour de la ligne de commande, de l'encours correspondant et de l'entête de commande (pour les commandes uniquement).
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 y a un fichier trace ouvert.
Il donne pour chaque ligne de commande traitée, la quantité allouée/désallouée et/ou la quantité rupture, et pour chaque ligne non traitée, la raison pour laquelle l'allocation n'a pas pu être réalisée.
Différents cas d’appel - Variables et masques disponibles
Ce point d’entrée est appelé :
- dans la fonction allocations automatiques
- dans la fonction allocations par article
- dans la fonction désallocation
- au niveau du bouton allocation manuelle.
Il est appelé au cours de la transaction de mise à jour de l'allocation sur une ligne de commande ou sur une demande de livraison :
- l'allocation a été traitée.
- la ligne détail de commande ou de demande de livraisons a été mise à jour. Le buffer [F:SOQ] est donc chargé.l'encours a été mis à jour.
- pour les commandes, l'entête de commande a été lue avec lock, les zones sont mises à jour et on se situe juste avant l'ordre de réécriture. Le buffer [F:SOH] est donc chargé.
- pour les demandes de livraison, l’entête de commande est chargée (buffer [F :SOH]) mais elle a été lue sans lock.
Au niveau des traitements automatiques, le traitement des allocations est réalisé à partir des lignes de commandes selon un ordre de tri particulier. Le numéro de commande n'est pas le premier critère de tri. Par conséquent, la mise à jour de l'entête commande n'est pas réalisée en une seule fois mais pour chaque ligne traitée. Le point d’entrée est donc appelé pour chaque ligne traité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é…).
Table |
Contenu significatif |
Intitulé Table |
SORDER |
Oui |
Commandes entête |
SORDERQ |
Oui |
Commandes ligne quantité |
SORDERP |
Oui |
Commandes ligne prix |
SORDERC |
Oui |
Commandes article / client (cdes ouvertes) |
ITMMASTER |
Oui |
Articles |
ITMMVT |
Non |
Mouvements articles |
ITMFACILIT |
Oui |
Articles sites |
STOALL |
Non |
Allocation |
STOCK |
Non |
Stock |
STOLOT |
Non |
Numéros de lot |
NO_REAJUST : Réajustement de la quantité US en unité de vente entière
Ce point d’entrée est utilisé dans les traitement d’allocations de commandes de vente.
Après détermination de la quantité à allouer en US, on réajuste celle-ci afin qu’elle corresponde à un nombre entier d’unité de vente. Ce point d’entrée permet de ne pas effectuer ce réajustement (unité de vente ne correspondant pas à un conditionnement de l’unité de stock, par exemple).
Contexte et mode de fonctionnement
Transaction
Il n’y a pas de transaction en cours.
Fichier trace
Il n’y a pas de fichier trace ouvert.
Contexte d’appel
Il est appelé dans tous les traitements d’allocations de commandes de vente.
Il est situé dans l’étiquette REAJUSTE_QTY du traitement TRTVENALL.
Variables et masques disponibles
Pour ne pas effectuer le réajustement de la quantité en unité de vente entière, il faut positionner la variable globale GOK à 0
Exemple :
GOK = 0
AFTGENALLORD : Après allocation d'une ligne de commande
Ce point d’entrée permet de prendre la main après l'allocation d'une ligne de commande ou d’une ligne de demande de livraison.
Il permet, après création/modification/diminution/suppression d'une allocation, de connaître la qté allouée et la qté rupture déterminées par le moteur d'allocation.
Ce point d'entrée est appelé dans le sous-programme GENALLORD.
Il est appelé lors de chaque allocation/désallocation d'une ligne de commande ou d'une ligne de demande de livraison.
Il est appelé dans la gestion des commandes et des demandes de livraisons, dans les fonctions allocations automatiques, allocations par article, désallocation.
Contexte et mode de fonctionnement
Transaction
Il y a une transaction en cours : Transaction de mise à jour d'une commande ou d'une demande de livraison lorsque le sous-programme GENALLORD est appelé depuis la gestion des commandes ou des demandes de livraisons. Transaction de mise à jour d'une allocation lorsque le sous-programme GENALLORD est appelé depuis les fonctions d'allocation.
Fichier trace
Il n'y a pas de fichier trace ouvert lorsque lorsque le sous-programme GENALLORD est appelé depuis la gestion des commandes ou des demandes de livraisons. Il y a un fichier trace ouvert lorsque le sous-programme GENALLORD est appelé depuis les fonctions d'allocation.
Contexte d’appel
Le PE est appelé depuis le sous-programme GENALLORD de TRTVENALL. Ce sous-programme est appelé lors de chaque allocation/désallocation d'une ligne de commande ou d'une ligne de demande de livraison.
Il est appelé pour chaque ligne concernée par une allocation :
- Depuis la gestion des commandes, lorsque l'on utilise les boutons Créér, Enregistrer, Supprimer, Allocation, Solde.
- Depuis la gestion des demandes de livraison, lorsque l'on utilise les boutons Créér, Enregistrer, Supprimer.
- Dans la fonction allocations automatiques
- Dans la fonction allocations par article
- Dans la fonction désallocation
- l'allocation a été traitée.
- la ligne détail de commande ou de demande de livraisons est en ligne mais elle n'a pas encore été mise à jour avec les nouvelles qtés allouées. Le buffer [F:SOQ] est donc chargé.
- L'écran de paramètre des allocations est en ligne et chargé.
Les variables suivantes sont les variables passées en paramètre du sous-programme GENALLORD
En entrée :
· LSOQ : Classe écran SOQ (par défaut [F:SOQ])
· LSOP : Classe écran SOP (par défaut [F:SOP])
· LTRTLIG : Type de traitement
"C"=CRéation, "M"=Modification, "D"=Diminution, "A"=Annulation
· LIMPCLI : Imputation des allocations client (1=Non,2=Oui)
· LGENSHT : Génération des ruptures (1=Non,2=Oui)
· LALLPAR : Allocations partielles (1=Non,2=Oui)
En sortie :
· LALLSTU : Quantité réellement allouée
· LSHTSTU : Quantité en rupture
· LRET : Code retour
La variable de travail WALLSTU contient la quantité réellement allouée.
La variable de travail WSHTSTU contient la quantité en rupture.
Le PE est appelé juste avant alimentation des variables LALLSTU et LSHTSTU avec les variables WALLSTU et WSHTSTU. Il permet d'intercepter WALLSTU et WSHTSTU mais il ne permet pas de les modifier.
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é…).
Table | Contenu significatif | Intitulé Table |
---|---|---|
SORDERQ | Oui | Commandes ligne quantité |
ITMMASTER | Oui | Articles |