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

Afficher tout Masquer tout

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