Ce point d'entrée concerne la gestion des en cours de stock.
Il permet de faire des mises à jour complémentaires de fichiers après chaque opération sur un en cours de stock.
Il y a une transaction en cours. La variable GOK est positionnée à 1.
Ce point d'entrée est appelé dans le traitement TRTWIP qui est lui même appelé depuis chaque traitement (Stock, Achat, Vente, Production) permettant la création, modification ou suppression d’un en cours de stock.
WMAJCOD contient : " C " si on écrit un enregistrement ORDERS
" M " si on réécrit un enregistrement ORDERS
" A " si on supprime un enregistrement ORDERS
Si WMAJCOD = « M »
WRMNEXTQTY contient la quantité restante avant réécriture de l’En cours avec sa nouvelle quantité.
WOLDWIPSTA contient l’ancien statut de l’en cours (1 = « Ferme », 2 = « Planifié », 3= « Suggéré », 4 = « Clos »).
Dans le tableau ci-dessous, le flag contenu significatif signifie que le contenu est en phase avec le contexte (la livraison courante est chargée… mais les lignes).
Table | Contenu significatif | Intitulé Table |
ORDERS | OUI | En cours de stock [F:ORDW] |
|
|
|
Ecran | Contenu significatif | Intitulé Ecran |
ORDK | OUI | Paramètres en cours de stock |
|
|
|
Pour alimenter un cumul besoin (BESSTO par exemple) dans la table Cumuls articles-sites (ITMMVT), il faut procéder de la façon suivante :
Pour les ordres
- SOF (Commande vente) ( [M:ORDK]WIPTYP=1 et [M:ORDK]WIPSTA=1 )
- MWF (Matières fabrication) ( [M:ORDK]WIPTYP=6 et [M:ORDK]WIPSTA=1 )
- TPF (Demande inter-site) ( [M:ORDK]WIPTYP=8 et [M:ORDK]WIPSTA=1 )
Si WMAJCOD = " C "
[F :ITV]BESSTO += [F:ORDW]RMNEXTQTY
Si WMAJCOD = " M "
Si WOLSWIPSTA = 2 ou WOLDWIPSTA = 3 et [F :ORD]WIPSTA = 1 (on passe de « Planifié/Suggéré » à « Ferme)
[F :ITV]BESSTO += [F :ORDW]RMNEXTQTY
Sinon
[F :ITV]BESSTO += [F:ORDW]RMNEXTQTY - WRMNEXTQTY
Si WMAJCOD = " A "
[F :ITV]BESSTO -= [F:ORDW]EXTQTY – [F :ORDW]CPLQTY
Ce point d'entrée concerne la gestion des en cours de stock.
Il permet de prendre la main juste avant la création ou la modification de l’enregistrement encours (ceci permettant, par exemple, d’initialiser des zones spécifiques ou de recalculer les quantités en unité active).
Il y a une transaction en cours. La variable GOK est positionnée à 1.
Ce point d'entrée est appelé en création et modification dans le traitement TRTWIP qui est lui même appelé depuis chaque traitement (Stock, Achat, Vente, Production) permettant la création d’un encours de stock.
Il conviendra donc de tester éventuellement les variables GFONCTION et WMAJCOD afin de connaître le contexte d’appel.
WMAJCOD contient :
" C " si on écrit un enregistrement ORDERS
" M " si on réécrit un enregistrement ORDERS
A noter que pour le recalcul des quantités en unité active, seules les ordres issus des achats sont concernés.
Ci dessous, un exemple de traitement spécifique pour gérer ce besoin :
$ACTION
Case ACTION
When "ORDMAJ" : Gosub ORDMAJ
When Default
Endcase
Return
#-----------------------------------#
# Conversion qtés en unité active #
# pour les ordres issus des achats #
# - [F:ORDW]RMNEXTQTY #
# - [F:ORDW]CPLQTY #
# - [F:ORDW]EXTQTY #
#-----------------------------------#
$ORDMAJ
If find([F:ORDW]WIPTYP,2,7) & left$([M:ORDK]ABBFIL,1)="P"
If [F:ITM]ITMREF<>[F:ORDW]ITMREF
Read [ITM] ITM0=[F:ORDW]ITMREF : If fstat Raz [F:ITM] : Endif
Endif
If [F:ITM]STOMGTCOD=3 & [F:ITM]DEFPOT<>0
[F:ORDW]RMNEXTQTY=[F:ORDW]RMNEXTQTY*[F:ITM]DEFPOT/100
Call QTEARR ([F:ORDW]RMNEXTQTY,[F:ITM]STU) From TRTDIV
If [F:ORDW]CPLQTY <> 0
[F:ORDW]CPLQTY=[F:ORDW]CPLQTY*[F:ITM]DEFPOT/100
Call QTEARR ([F:ORDW]CPLQTY,[F:ITM]STU) From TRTDIV
Endif
If [F:ORDW]EXTQTY <> 0
[F:ORDW]EXTQTY=[F:ORDW]EXTQTY*[F:ITM]DEFPOT/100
Call QTEARR ([F:ORDW]EXTQTY,[F:ITM]STU) From TRTDIV
Endif
Endif
Endif
Return
Dans le tableau ci-dessous, le flag contenu significatif signifie que le contenu est en phase avec le contexte.
Table | Contenu significatif | Intitulé Table |
ORDERS | OUI | En cours de stock |
|
|
|
Ecran | Contenu significatif | Intitulé Ecran |
ORDK | OUI | Paramètres en cours de stock |
|
|
|