Points d'entrée >  Module Ventes >  Script standard TRTVENALL  

Afficher tout Masquer tout

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