Points d'entrée > Module Achats > Script standard PURMTOLIB 

CALWALLQTY : Modification de la qté à allouer

Ce point d’entrée permet de modifier la quantité à allouer sur une matières d'EO ou d'OF affectée à la commande d'achat.

 

Contexte et mode de fonctionnement

Transaction

Il y a une transaction en cours.

Fichier trace

Il n’y a pas de fichier trace ouvert.

Classes fichiers et écrans disponibles

Les tables PORDER ([F :POH], PORDERQ ([F :POQ]) sont chargées au moment de l’appel du point d’entrée, ainsi qu'un composant de l'ordre à l'origine de cette commande (OF, EO ou commande de vente):

  • table MFGMAT [F:MFM] dans le cas d'un OF
  • table SCOMAT [F:SCM] dans le cas d'un EO
  • tables SORDER ([F :SOH], SORDERQ ([F :SOQ]) dans le cas d'une commande de vente.
 Utilisation

Les variables de travail WALLQTY et WREQQTY sont chargées respectivement avec la quantité restant à allouer pour la ligne de commande et la quantité réceptionnée.

En standard,  on alloue la quantité réceptionnée (WREQQTY) à concurrence de la quantité restant à allouer (WALLQTY), c’est à  dire que si la quantité réceptionnée est supérieure à la quantité commandée, on allouera que pour la quantité restant à allouer pour cette ligne de commande.

La quantité à allouer  (WALLQTY) est calculée comme suit :

Pour une commande à facturation directe :

Quantité à allouer = quantité commandée - quantité allouée – quantité livrée – quantité facturée.

Pour les autres commandes :

Quantité à allouer = quantité commandée - quantité allouée – quantité livrée – quantité facturée – quantité en cours de livraison.

Si l’on veut, par exemple, allouer la quantité produite totale il suffit d’ initialiser la quantité à allouer (WALLQTY) avec la quantité receptionnée (WREQQTY).

Exemple de traitement standard :

$ACTION

Case ACTION

 When "CALWALLQTY"  : Gosub CALWALLQTY

Endcase

Return

                                                        

$CALWALLQTY

  If  WREQQTY-ENT_CUMALLQTY > WALLQTY
     WALLQTY = WREQQTY - ENT_CUMALLQTY 
     [M:MLIK]LIKQTY = WALLQTY
  Endif 

Return 

Tables ouvertes

Dans le tableau ci-dessous, le flag contenu significatif signifie que le contenu est en phase avec le contexte (…).

Table

Contenu significatif

Intitulé Table

MFGHEAD

Non

Entête OF

MFGITM

Oui

Article lancé

SCOHEAD

Non

Entête EO

SCOITM

Oui

Article lancé

SORDER

Oui

Commande de vente

SORDERQ

Oui

Commande de vente-ligne

PORDER

Oui

Commande d'achat

PORDERQ

Oui

Commande d'achat-ligne

 

CUSTRTALL : Gestion spécifique de l'allocation des ordres associés à la commande

En création et annulation de commandes sur des ordres de fabrication/sous-traitance, ce point d’entrée permet de prendre la main lors de la gestion de l ‘allocation  sur la commande, afin, par exemple, de gérer des allocations globales au lieu des allocations détaillées.

Contexte et mode de fonctionnement

Transaction

Il y a une transaction en cours.

Fichier trace
 
Classes fichiers et écrans disponibles

Les tables PORDER ([F :POH], PORDERQ ([F :POQ]) sont chargées au moment de l’appel du point d’entrée, ainsi qu'un composant de l'ordre à l'origine de cette commande (OF, EO ou commande de vente):

  • table MFGMAT [F:MFM] dans le cas d'un OF
  • table SCOMAT [F:SCM] dans le cas d'un EO
  • tables SORDER ([F :SOH], SORDERQ ([F :SOQ]) dans le cas d'une commande de vente.

 Utilisation

Tester la valeur de la variable [M:MILK]MAJCOD (valeur possible « E » pour entrée  en stock et « S » pour suppression) afin de connaître le contexte d’appel.

En réception de commande d'achat ([M:MLIK]MAJCOD="E"), les variables de travail WALLQTY et WREQQTY sont chargées respectivement avec la quantité restant à allouer pour la ligne de commande et la quantité réceptionnée.

En annulation de réception de commande d'achat  ([M:MLIK]MAJCOD="S"), il faut renseigner la variable SAV_ WALLQTY avec la quantité désallouée * -1 (quantité désallouée en négatif).

En création SAV_WALLQTY est gérée par le standard.

En sortie du point d’entrée, positionner la variable globale GPE à la valeur 1 pour inhiber le traitement standard de création ou annulation d’allocations détaillées.

Tables ouvertes

Dans le tableau ci-dessous, le flag contenu significatif signifie que le contenu est en phase avec le contexte (…).

 

Table

Contenu significatif

Intitulé Table

MFGHEAD

Non

Entête OF

MFGITM

Oui

Article lancé

SCOHEAD

Non

Entête EO

SCOITM

Oui

Article lancé

SORDER

Oui

Commande de vente

SORDERQ

Oui

Commande de vente-ligne

PORDER

Oui

Commande d'achat

PORDERQ

Oui

Commande d'achat-ligne

CHGALLQTY : Modification de la qté à allouer

Ce point d’entrée permet de modifier la quantité à allouer sur commande de vente affectée à la commande d'achat.

Contexte et mode de fonctionnement

Transaction

Il y a une transaction en cours.

Fichier trace

Il n’y a pas de fichier trace ouvert.

Classes fichiers et écrans disponibles

Les tables SORDER ([F :SOH], SORDERQ ([F :SOQ], PORDER ([F :POH], PORDERQ ([F :POQ]) sont chargées au moment de l’appel du point d’entrée.

 Utilisation

Les variables de travail WQTERES et WREQQTY sont chargées respectivement avec la quantité restant à allouer pour la ligne de commande et la quantité réceptionnée.

En standard,  on alloue la quantité réceptionnée (WREQQTY) à concurrence de la quantité restant à allouer (WQTERES), c’est à  dire que si la quantité réceptionnée est supérieure à la quantité commandée, on allouera que pour la quantité restant à allouer pour cette ligne de commande.

La quantité à allouer  (WQTERES) est calculée comme suit :

Pour une commande à facturation directe :

Quantité à allouer = quantité commandée - quantité allouée – quantité livrée – quantité facturée.

Pour les autres commandes :

Quantité à allouer = quantité commandée - quantité allouée – quantité livrée – quantité facturée – quantité en cours de livraison.

Si l’on veut, par exemple, allouer la quantité produite totale il suffit d’ initialiser la quantité à allouer (WQTERES) avec la quantité réceptionnée (WREQQTY).

Exemple de traitement standard :

$ACTION

Case ACTION

 When "CALWALLQTY"  : Gosub CALWALLQTY

Endcase

Return

                                                        

$CALWALLQTY

  If  WREQQTY-ENT_CUMALLQTY > WQTERES
     WQTERES = WREQQTY - ENT_CUMALLQTY 
     [M:MLIK]LIKQTY = WQTERES
  Endif  

Return

 

Tables ouvertes

Dans le tableau ci-dessous, le flag contenu significatif signifie que le contenu est en phase avec le contexte (…).

Table

Contenu significatif

Intitulé Table

SORDER

Oui

Commande de vente

SORDERQ

Oui

Commande de vente-ligne

PORDER

Oui

Commande d'achat

PORDERQ

Oui

Commande d'achat-ligne

MAJSOFALL : Allocation d'une commande de vente

Ce point d’entrée est situé dans la partie de traitement qui gère l'allocation du stock sur une demande (commande de vente, besoin matière pour production interne ou externe) lors d'une entrée en stock via réception d'une commande d'achat, lorsqu'il y a une affectation entre la demande et à la ressource.

Ce point d'entrée est volontairement restreint au cas où la demande affectée est une commande de vente. 

Contexte et mode de fonctionnement

Transaction

Il y a une transaction en cours.

Fichier trace

Il n’y a pas de fichier trace ouvert.

Utilisation

Au moment de l'appel, ni les en-cours de l'affectation, ni l'affectation elle-même, n'ont été mis à jour respectivement dans les tables ORDERS ([F:ORDB]) et MTOLINK.

Au moment de l'appel, la classe masque [M:MLIK] est renseignée :

  • STOFCY, ITMREF identifient l'article-site concerné
  • DEMTYP, DEMNUM, DEMLIN, DEMSEQ, DWIPTYP, DWIPSTA correspondent à l'en-cours de commande de vente
  • RESSTYP, RESSNUM, RESSLIN, RESSSEQ, RWIPTYP, RWIPSTA correspondent à l'en-cours de commande d'achat
  • FMIFLG et FRCFLG valent toujours 1
  • MAJCOD doit valoir "E"

L'appel se fait après la mise à jour du détail de la commande de vente [SOQ] et avant la mise à jour de l'entête de la commande de vente [SOH].

WQTE2 est la quantité qui a été ajoutée à la quantité allouée en unité de stock de la ligne de commande de vente ([F:SOQ]ALLQTYSTU+=WQTE2).

Tables ouvertes

Dans le tableau ci-dessous, le flag contenu significatif signifie que le contenu est en phase avec le contexte (…).

Table

Contenu significatif

Intitulé Table

SORDER

Oui

Commande de vente

SORDERQ

Oui

Commande de vente-ligne

SORDERP

Oui

Commande de vente-prix

PRECEIPTD

Oui

Réception-ligne

PORDERQ

Oui

Commande d'achat-ligne

Remarques diverses

Ce point d'entrée est appelé à la réception d'une commande d'achat affectée à une commande de vente, que cette affectation soit ou non de contremarque.

En cas de contremarque, on a [F:SOQ]FMI=3 &  [F:SOQ]FMINUM=[F:POQ]POHNUM.