Traitement FUNCBN : FUNCBN
LECORD : lecture d'un enregistrement ORDERS
Filtre des ordres en cours dans le calcul des besoins nets.
Contexte et mode fonctionnement
Transaction
Il y a une transaction en cours.
Fichier trace
Il y a un fichier trace ouvert.
Différents cas d’appel
Ce point d'entrée est appelé dans le calcul des besoins nets (CBN et PDP) à la lecture avec lock (verrouillage) de chaque enregistrement de la table ORDERS pour création du fichier de travail entête du calcul.
Classes et variables disponibles
|
Variable |
Définition |
|
Classe [F:CBH] |
Contient les données en cours de traitement (Site, article …) |
|
Classe [F:ORD] |
Contient l'enregistrement ORDERS |
|
Variable integer I |
Positionner I = 0 pour traiter l'ordre Positionner I = 1 pour ignorer l'ordre |
STRSTO : début calcul stock
Stock de départ calcul des besoins
Contexte et mode fonctionnement
Transaction
Il y a une transaction en cours.
Fichier trace
Il y a un fichier trace ouvert.
Différents cas d’appel
Ce point d'entrée est appelé avant écriture de chaque enregistrement de la table CBNHEA ([F:CBH])
Le champ stock de départ est déjà calculé et peut, selon le contexte, être modifié.
Variables
|
Variable ou masque |
Définition |
|
WPRO |
Contient 1 si PDP Contient 2 si CBN |
Tables ouvertes
Toutes les tables du calcul des besoins.
CALCOUV : calcul couverture
Calcul non standard des couvertures pour tous les groupages.
Contexte et mode fonctionnement
Transaction
Il y a une transaction en cours.
Fichier trace
Il y a un fichier trace ouvert.
Différents cas d’appel
Ce point d'entrée est appelé lors du calcul de la couverture pour les articles concernés seulement
Tables ouvertes
Toutes les tables du calcul des besoins.
[CBH] Entête fichier de travail chargé
[ITF] Article-site chargé
Variable disponibles
Variables en entrée
"WNBJOU" Nombre de jours de traitements (Date fin - date début +1)
"WBUCDEB(0..WNBBUC-1)" Tableau des dates de début de groupage
"WBUCFIN(0..WNBBUC-1)" Tableau des dates de fin de groupage
"WQTY(0..WNBJOU-1)" Tableau des besoins jour par jour
"I" Indicateur = 0
Variables à retourner
"WCOUV(0..WNBBUC-1)" Tableau des couvertures par groupage
"I = 0" Si le calcul standard doit être effectué
"I <> 0" Si le tableau des couvertures a été chargé par le point d'entrée
AFTREAPCB : lecture des paramètres de calcul
Début de traitement d’un site.
Contexte et mode fonctionnement
Transaction
Il n’y a pas de transaction en cours.
Fichier trace
Il y a un fichier trace ouvert.
Différents cas d’appel
Ce point d'entrée est appelé dans le calcul des besoins nets (CBN et PDP) après la lecture des paramètres de calcul des besoins (Table PARMRP) avant le chargement des paramètres dans des variables de travail. Le contenu de l’enregistrement peut être modifié pour que d’autres valeurs de paramètres soient prises en compte.
Classes et variables disponibles
|
Variable |
Définition |
|
Classe [F:PCB] |
Contient les paramètres du site |
|
WPRO |
Contient 1 si PDP Contient 2 si CBN |
Tables ouvertes
Toutes les tables du calcul des besoins.
BEFWRICBH : avant d'écrire l'en-tête de la table de travail
Point d’entrée avant écriture de chaque enregistrement dans la table de travail CBNHEA / PDPHEA.
Contexte et mode fonctionnement
Transaction
Il y a une transaction en cours.
Fichier trace
Il y a un fichier trace ouvert.
Différents cas d’appel
Ce point d'entrée est appelé dans le calcul des besoins nets (CBN et PDP) après chargement du buffer de la classe [CBH].
Les enregistrements de la table CBW 5table de travail pour les lots périmés) ont déjà été écrits.
Classes et variables disponibles
|
Variable classes |
Définition |
|
Classe [F:CBH] |
Contient les données qui généreront l’écriture. |
|
WPRO |
Contient 1 si PDP Contient 2 si CBN |
Tables ouvertes
Toutes les tables du calcul des besoins.
BEFWRICBD : avant d’écrire les détails de la table de travail
Point d’entrée avant écriture de chaque enregistrement de la table de travail CBNDET / PDPDET
Contexte et mode fonctionnement
Transaction
Il y a une transaction en cours.
Fichier trace
Il y a un fichier trace ouvert.
Différents cas d’appel
Ce point d'entrée est appelé dans le calcul des besoins nets (CBN et PDP) après chargement du buffer de la classe [CBD] à partir de la table en cours ORDERS.
Classes et variables disponibles
|
Variable classes |
Définition |
|
Classe [F:CBH] |
Contient les données d’entête de l’article traité |
|
Classe [F :CBD] |
Contient le buffer permettant l’écriture. |
|
WPRO |
Contient 1 si PDP Contient 2 si CBN |
Tables ouvertes
Toutes les tables du calcul des besoins.
CRESUG : création de suggestion dans la table de travail
Point d’entrée avant écriture de chaque suggestion dans la table de travail CBNDET / PDPDET
Contexte et mode fonctionnement
Transaction
Il y a une transaction en cours.
Fichier trace
Il y a un fichier trace ouvert.
Différents cas d’appel
Ce point d'entrée est appelé dans le calcul des besoins nets (CBN et PDP) après chargement du buffer de la classe [CBD] pour chaque suggestion d’achat ou de fabrication.
Le buffer est chargé à l’exception des champs ‘date début’ ‘date fin’ et ‘date besoin’. La variable WDATS contient la date de référence pour la création de la suggestion (date du besoin) elle peut être modifiée pour agir sur les dates de la suggestion.
Classes et variables disponibles
|
Variable classes |
Définition |
|
Classe [F:CBH] |
Contient les données d’en-tête |
|
Classe [F :ITF] |
Contient les données de gestion article site |
|
Classe [F:CBD] |
Contient le buffer générant l’écriture (sauf les champs date) |
|
Variable date WDATS |
Contient la date de référence pour la création de la suggestion. Cette date peut être modifiée pour agir sur les dates de la suggestion. |
|
WPRO |
Contient 1 si PDP Contient 2 si CBN |
Tables ouvertes
Toutes les tables du calcul des besoins.
ENDSTEP4 : après phase 4 (génération du fichier de détail de CBN)
Point d’entrée à la fin de la phase 4
Contexte et mode fonctionnement
Transaction
Il y a une transaction en cours.
Fichier trace
Il y a un fichier trace ouvert.
Différents cas d’appel
Ce point d'entrée est appelé en fin de phase 4 (génération de la table CBNDET). Il permet, par exemple, d'avertir l'utilisateur de la fin de cette phase par envoi d' un message.
Classes et variables disponibles
|
Variable classes |
Définition |
|
Classe [F:CBH] |
Contient les données qui généreront l’écriture. |
|
WPRO |
Contient 1 si PDP Contient 2 si CBN |
Tables ouvertes
Toutes les tables du calcul des besoins.
ENDSTEP6 : après phase 6 (mise à jour de l’en-cours)
Point d’entrée à la fin de la phase 6
Contexte et mode fonctionnement
Transaction
Il y a une transaction en cours.
Fichier trace
Il y a un fichier trace ouvert.
Différents cas d’appel
Ce point d'entrée est appelé en fin de phase 6 (mise à jour du fichier ORDERS). Il permet, par exemple, d'avertir l'utilisateur de la fin de cette phase par envoi d' un message.
Classes et variables disponibles
|
Variable classes |
Définition |
|
Classe [F:CBH] |
Contient les données qui généreront l’écriture. |
|
WPRO |
Contient 1 si PDP Contient 2 si CBN |
Tables ouvertes
Toutes les tables du calcul des besoins.
CUSMODLTI: Modification du délai de contrôle qualité pour les ordres de fabrication
Possibilité de modifier le délai de contrôle qualité pour les ordres de fabrication
Contexte et mode fonctionnement
Transaction
Il y a une transaction en cours.
Fichier trace
Il y a un fichier trace ouvert.
Différents cas d’appel
Ce point d'entrée est appelé dans le calcul des besoins nets (CBN et PDP) au moment de l’écriture du fichier de travail de détail ([F:CBD], juste après avoir récupéré le délai de contrôle qualité pour les ordres de type WOF et WOP. Il permet de modifier la valeur de ce délai, via l’affectation de la variable de travail 'Q'.
Classes et variables disponibles
|
Variable |
Définition |
|
Classe [F:CBH] |
Contient les données en cours de traitement (Site, article …) |
|
Classe [F :ORD] |
Contient l'enregistrement ORDERS |
|
Variable entier Q |
Contient le délai CQ. Affecter si besoin une autre valeur à cette variable. |
Tables ouvertes
Toutes les tables du calcul des besoins.
MRPQTYSUG: Modification de la quantité à réapprovisionner
Possibilité de modifier la quantité à réapprovisionner
Contexte et mode fonctionnement
Transaction
Il y a une transaction en cours.
Fichier trace
Il y a un fichier trace ouvert.
Différents cas d’appel
Ce point d'entrée est appelé dans le calcul des besoins nets (CBN et PDP) pendant la phase de calcul des suggestions pour les articles gérés sur stock. Il permet d’intervenir sur la quantité à réapprovisionner.
Dans tous les cas, le traitement standard se charge d’appliquer la perte éventuelle et de générer la ou les suggestions correspondantes en respectant la politique de réapprovisionnement (quantité nette/économique, fractionnement …).
Classes et variables disponibles
|
Variable |
Définition |
|
Classe [F:CBH] |
Contient les données en cours de traitement (site, article …) |
|
Décimale variable WBES |
Contient la quantité à réapprovisionner calculée en standard. Affecter si besoin une autre valeur à cette variable. |
Tables ouvertes
Toutes les tables du calcul des besoins.
COR_STOSEC : application de la nature saisonnière du stock de sécurité
Possibilité de remplacer le mode d’application standard de la saisonalité du stock de sécurité.
Contexte et mode fonctionnement
Transaction
Il y a une transaction en cours.
Fichier trace
Il y a un fichier trace ouvert.
Différents cas d’appel
Ce point d'entrée est appelé dans le calcul des besoins nets (CBN et PDP) pendant la phase de calcul des suggestions. Il permet d’intervenir sur l’application de la saisonalité au stock de sécurité.
Dans tous les cas, le traitement standard applique la perte éventuelle et génère la ou les suggestions correspondantes en respectant la politique de réapprovisionnement (quantité nette/économique, fractionnement …).
Classes et variables disponibles
|
Variable |
Définition |
|
Classe [F:CBH] |
Contient les données en cours de traitement (Site, article …) |
|
Classe [F:ITF] |
Contient les données de l’article/site traité |
|
Variable date WDAT |
Contient la date de début du groupage concerné. |
|
Décimale de variable WSAISON |
Cette variable doit être alimentée avec le stock de sécurité calculé. |
|
Variable globale GPE |
A positionner à 1 pour inhiber l’application standard de la saisonalité. |
Tables ouvertes
Toutes les tables du calcul des besoins.
XTRA_ORD : prise en compte de l’en-cours pour les articles supplémentaires
Ce point d’entrée permet d’ajouter des en-cours pour les articles supplémentaires.
Contexte et mode fonctionnement
Transaction
Il y a une transaction en cours.
Fichier trace
Il y a un fichier trace ouvert.
Différents cas d’appel
Ce point d'entrée est appelé dans le calcul des besoins nets (CBN et PDP) à l’issue de la phase de chargement des encours article. Il permet d’intégrer des encours supplémentaires, par exemple issus d’un autre site.
Exemple d’algorithme d’ajout :
###########################################################################
$ACTION
Case ACTION
When "XTRA_ORD" : Gosub XTRA_ORD
Endcase
Return
#---------------------------------------------------------------------
$XTRA_ORD
Filter [ORD] Where STOFCY = "XXX" &
& ITMREF = [F:CBH]ITMREF &
& FMI < 2 &
& WIPSTA < 4
& Order By Key ORD1
For [ORD]
Readlock [ORD] Curr
If fstat = 0
I = 0
If [F:ORD]ENDDAT <= WCALDATF
If I = 0
# Important : réinitialisez le site sur [ORD] à cause de la transclasse [CBD] = [ORD] dans TRT_ORD
[F:ORD]STOFCY = [F:CBH]STOFCY
Gosub TRT_ORD From FUNCBN
If GOK <>1
Break
Endif
Endif
Endif
Else
GOK = -1
Break
Endif
Next
Filter [ORD]
Return
Classes et variables disponibles
|
Variable |
Définition |
|
Classe [F:CBH] |
Contient les données en cours de traitement (Site, article …) |
|
Classe [F :ITF] |
Contient les données de l’article/site traité |
SUGREQAVA: Délai de préparation pris en compte
Ce point d’entrée permet de prendre en compte le délai de préparation dans le cadre du calcul des dates des suggestions.
Contexte et mode fonctionnement
Transaction
Il y a une transaction en cours.
Fichier trace
Il y a un fichier trace ouvert.
Différents cas d’appel
Ce point d'entrée est appelé dans le calcul des besoins nets (CBN et PDP) au calcul des dates des suggestions.
Exemple d’algorithme de prise en compte du délai de préparation :
$ACTION
Case ACTION
When "SUGREQAVA" : Gosub SUGREQAVA
Endcase
Return
$SUGREQAVA
Case [F:ITF]REOCOD
When 3,5 : # ordre de fabrication suggéré
WDATR = WDATF
If [F:ITF]PRPLTI = 0
WDATF = WDATR
Else
WCOR = 8
WCOD = 2
WDEL = [F:ITF]PRPLTI
Call CALDAT("-",WCOR,WDATR,WCOD,WDEL,WCAP,WCALDATD,WDATF) From CBNLIB
Endif
When Default : # ordre d'achat/ordre inter-site suggéré
Endcase
Return
Classes et variables disponibles
|
Variable |
Définition |
|
Classe [F:CBH] |
Contient les données en cours de traitement (Site, article …) |
|
Classe [F :ITF] |
Contient les données de l’article/site traité |
CHECK_CBNDET : contrôle avant la mise à jour des en-cours
Ce point d’entrée permet d'intervenir après calcul des suggestions pour chaque article et avant la mise à jour de l'en-cours (ORDERS).
Il peut notamment servir à contrôler, modifier ou purger les tables de travail PDPDET et CBNDET avant la mise à jour.
Contexte et mode fonctionnement
Transaction
Il y a une transaction en cours.
Fichier trace
Il y a un fichier trace ouvert.
Différents cas d’appel
Ce point d'entrée est appelé dans le calcul des besoins nets (CBN et PDP) après la phase de calcul des suggestions pour les articles gérés sur stock. Il permet d’intervenir avant la mise à jour de l'en-cours (Mise à jour de la table ORDERS à partir des tables PDPDET/CBNDET suivant le traitement).
Tables ouvertes
Toutes les tables du calcul des besoins.
REPLANNING : avant la replanification des suggestions
Possibilité de remplacer le mode d’application standard de la saisonalité du stock de sécurité
Contexte et mode fonctionnement
Transaction
Il y a une transaction en cours.
Fichier trace
Il y a un fichier trace ouvert.
Différents cas d’appel
La variable GREPLANNING permet d'identifier où ce point d'entrée est appelé :
"RPL_INIT" en début de traitement de la replanification pour un site donné,
"RPL_TRTSUGITM" calcul suggestion d'un article,
"RPL_CUMSTODIS" calcul du cumul stock disponible,
"RPL_CALSUGSTO" calcul suggestion article sur stock.
Classes et variables disponibles
|
Variable |
Définition |
|
Classe [F:CBH] |
Contient les données en cours de traitement (Site, article …) |
|
Classe [F :ITF] |
Contient les données de l’article/site traité |
Tables ouvertes
Toutes les tables du calcul des besoins.
LOAD_BUCKET : avant correction des groupages
Rendre spécifique la préparation des groupages, et/ou éviter les corrections standards.
Contexte et mode fonctionnement
Transaction
Il y a une transaction en cours.
Fichier trace
Il y a un fichier trace ouvert.
Différents cas d’appel
Ce point d'entrée est appelé dans le calcul des besoins nets (CBN et PDP) après le chargement des paramètres. Il permet d'éviter le calcul standard de correction des groupages, en activant le paramètre GPE>0.
Classes et variables disponibles
|
Variable |
Définition |
|
Classe [F:CBH] |
Contient les données en cours de traitement (Site, article …) |
|
Classe [F:ORD] |
Contient l'enregistrement ORDERS |
|
Variable entier I |
Positionner I = 0 pour traiter l'ordre Positionner I = 1 pour ignorer l'ordre |
ENDSTEP5 : après phase 5 (calcul des besoins)
Point d’entrée à la fin de la phase 5.
Contexte et mode fonctionnement
Transaction
Il y a une transaction en cours.
Fichier trace
Il y a un fichier trace ouvert.
Différents cas d’appel
Ce point d'entrée est appelé en fin de phase 5 (calcul des suggestions). Il permet, par exemple, d'ajouter des WOS spécifiques dans CBNDET avant la génération des encours.
Classes et variables disponibles
|
Variable classes |
Définition |
|
Classe [F:CBH] |
Contient les données qui généreront l’écriture. |
|
WPRO |
Contient 1 si PDP Contient 2 si CBN |
Tables ouvertes
Toutes les tables du calcul des besoins.
NOHINT : optimisation du lien ITM-ITF
Ce point d’entrée permet d'ajouter l'instruction 'With Nohint' dans le cas de problèmes de performances sur l'instruction 'Link' entre les tables [F:ITM] et [F:ITF].
Il est appelé dans le traitement FUNCBN.
Contexte et mode fonctionnement
Transaction
Il y a une transaction en cours.
Fichier trace
Il y a un fichier trace ouvert.
Différents cas d’appel
Ce point d'entrée est appelé dans le calcul des besoins nets juste avant la boucle sur les articles dont le mode de réapprovisionnement est CBN/PDP.
Par défaut, la variable GPE est positionnée sur 0. Elle devra être positionnée à 1 dans le traitement spécifique lié au point d’entrée si l’utilisateur souhaite ajouter cette instruction 'With Nohint' dans la requête utilisée.
Classes et variables disponibles
|
Variable |
Définition |
|
Classe [F:CBH] |
Contient les données en cours de traitement (Site, article …) |
|
Classe [F :ORD] |
Contient l'enregistrement ORDERS |
|
Variable entier I |
Positionner I = 0 pour traiter l'ordre Positionner I = 1 pour ignorer l'ordre |
NOLOCK : optimisation de la suppression des résultats précédents
Ce point d’entrée permet d'éviter les "Readlock ... Delete" qui sont trop longs sur une base de données volumineuse, et d'utiliser plutôt le mode mon-utilisateur avec un lock global des tables concernées PUR_TABLES_MONO.
Il est appelé dans le traitement FUNCBN.
Contexte et mode fonctionnement
Transaction
Il y a une transaction en cours.
Fichier trace
Il y a un fichier trace ouvert.
Différents cas d’appel
Ce point d'entrée est appelé dans le calcul des besoins nets juste avant la purge des résultats précédents.
La variable GPE est utilisée. Elle a pour valeur 0 par défaut. Elle devra être positionnée sur 1 dans le traitement spécifique/personnalisé lié au point d’entrée si l'utilisateur souhaite utiliser le mode mono-utilisateur en appliquant un verrouillage global aux tables concernées.
Classes et variables disponibles
|
Variable |
Définition |
|
Classe [F:CBH] |
Contient les données en cours de traitement (Site, article …) |
|
Classe [F :ORD] |
Contient l'enregistrement ORDERS |
|
Variable entier I |
Positionner I = 0 pour traiter l'ordre Positionner I = 1 pour ignorer l'ordre |
CRE_SUG_SPLIT : Éclatement des suggestions
Ce point d’entrée permet de prendre la main sur la génération des suggestions afin de procéder à un éclatement, par exemple une répartition sur plusieurs fournisseurs.
Il est appelé dans le traitement FUNCBN.
Contexte et mode fonctionnement
Transaction
Il n'y a pas de transaction en cours.
Fichier trace
Il y a un fichier trace ouvert.
Différents cas d’appel
Ce point d'entrée est appelé dans le calcul des besoins nets juste avant la génération d'une suggestion dans les tables de calcul.
Les variables suivantes sont disponibles :
- WSUG quantité de la suggestion
- WDATS Date de la suggestion
- WNBR Nombre de fraction d'après la politique de réappro
- WSTO Balance de stock pour le calcul en cours
Exemple de source
#--------------------------------------------------------------------------------------
# Point d'entrée CRE_SUG_SPLIT
# Pour personnaliser l'éclatement des suggestions
# [F:CBH] est en ligne
# Variables :
# - WSUG = qté suggérée
# - WDATS = date suggérée
# - WNBR = nbre d'éclatements selon la politique de réapprovisionnement
# - WSTO = solde du stock
#--------------------------------------------------------------------------------------
$ACTION
Case ACTION
When "CRE_SUG_SPLIT" : Gosub CRE_SUG_SPLIT
Endcase
Return
#--------------------------------------------------------------------------------------
$CRE_SUG_SPLIT
# écran des paramètres
If clalev ([M:ZCSP]) <= 0 : Local Mask ZCSP [ZCSP] : Endif
# test de cas >> uniquement pour article acheté "SPLIT" (GX3APP)
If [F:CBH]ITMREF <> "SPLIT" : Return : Endif
# uniquement pour suggestions CA
If [F:CBH]REOCOD <> 2 : Return : Endif
# renseigner écran des paramètres ZCSP
Raz [M:ZCSP]
[M:ZCSP]STOFCY = WFCY
[M:ZCSP]ITMREF = [F:CBH]ITMREF
[M:ZCSP]QTY = WSUG
[M:ZCSP]DAT = WDATS
[M:ZCSP]STOBAL = WSTO
[M:ZCSP]PROCESS = "ZFUNCBN"
Gosub POS_SPLITTING
GPE = 1
Return
#--------------------------------------------------------------------------------------
$FEEDBACK
WSUG = [M:ZCSP]QTYOUT
WDATS = [M:ZCSP]DATOUT
WBPRO = [M:ZCSP]BPROUT
WSTO = [M:ZCSP]STOBAL
Gosub CRE_UNE_SUG From FUNCBN
Return
#--------------------------------------------------------------------------------------
# Éclatements des suggestions de commande d'achat (CA)
#--------------------------------------------------------------------------------------
# l'écran des paramètres ZCSP doit être ouvert et renseigné (l'écran ZCSP doit être créé)
#--------------------------------------------------------------------------------------
$POS_SPLITTING
Local Char TSUG_BPR(GLONBPR)(3)
Local Integer TSUG_BPRPCT(3)
Local Decimal TSUG_BPRMINQTY(3)
Local Decimal WWRK, WREO, WREOTOT, WDELTA
Raz TSUG_BPR, TSUG_BPRPCT, TSUG_BPRMINQTY
# test de cas (GX3APP) éclatement sur 3 fournisseurs
TSUG_BPR(0) = "FOU001"
TSUG_BPRPCT(0) = 40
TSUG_BPRMINQTY(0) = 250
TSUG_BPR(1) = "FOU002"
TSUG_BPRPCT(1) = 40
TSUG_BPRMINQTY(1) = 200
TSUG_BPR(2) = "FOU003"
TSUG_BPRPCT(2) = 20
TSUG_BPRMINQTY(2) = 150
# -------------------------------
# traitement 1er éclatement - fournisseur 1
WWRK = int(([M:ZCSP]QTY * TSUG_BPRPCT(0)) / 100)
If WWRK < TSUG_BPRMINQTY(0) : WREO = TSUG_BPRMINQTY(0) : Else : WREO = WWRK : Endif
WREOTOT += WREO
[M:ZCSP]QTYOUT = WREO
[M:ZCSP]DATOUT = [M:ZCSP]DAT + 1
[M:ZCSP]BPROUT = TSUG_BPR(0)
Gosub FEEDBACK From =[M:ZCSP]PROCESS
If WREOTOT >= [M:ZCSP]QTY : Return : Endif
# -------------------------------
# traitement du 2e éclatement - fournisseur 2
WWRK = int(([M:ZCSP]QTY * TSUG_BPRPCT(1)) / 100)
If WWRK < TSUG_BPRMINQTY(1) : WREO = TSUG_BPRMINQTY(1) : Else : WREO = WWRK : Endif
WREOTOT += WREO
[M:ZCSP]QTYOUT = WREO
[M:ZCSP]DATOUT = [M:ZCSP]DAT + 1
[M:ZCSP]BPROUT = TSUG_BPR(1)
Gosub FEEDBACK From =[M:ZCSP]PROCESS
If WREOTOT >= [M:ZCSP]QTY : Return : Endif
# -------------------------------
# traitement du 3e éclatement - fournisseur 3
WWRK = int(([M:ZCSP]QTY * TSUG_BPRPCT(2)) / 100)
If WWRK < TSUG_BPRMINQTY(2) : WREO = TSUG_BPRMINQTY(2) : Else : WREO = WWRK : Endif
WREOTOT += WREO
[M:ZCSP]QTYOUT = WREO
[M:ZCSP]DATOUT = [M:ZCSP]DAT + 1
[M:ZCSP]BPROUT = TSUG_BPR(2)
# dernier éclatement, régulariser le solde de stock pour calcul CBN
[M:ZCSP]STOBAL += (WREOTOT - [M:ZCSP]QTY)
Gosub FEEDBACK From =[M:ZCSP]PROCESS
Return
CTLSTOSEC : cas spécifique stock de sécurité sur le 1er besoin
Ce point d’entrée permet de prendre la main sur la réinitialisation de la variable Stock de sécurité.
Il est appelé dans le traitement FUNCBN, lorsque le paramètre "Respect du stock de sécurité" est paramétré sur la valeur "au 1er besoin", uniquement sur le 1er groupage et si WBESBUC=0. Cela signifie qu'il n'y a pas de besoin, ou que ce besoin est déjà couvert ou alloué sur le stock disponible.
Contexte et mode fonctionnement
Transaction
Il y a une transaction en cours.
Fichier trace
Il y a un fichier trace ouvert.
Classes et variables disponibles
|
Variable |
Définition |
|
Classe [F:CBH] |
Contient les données en cours de traitement (Site, article …) |
|
Classe [F :ITF] |
Contient les données de l’article/site traité |
Tables ouvertes
Toutes les tables du calcul des besoins.
NOADJUST : début régularisation de stock
Stock de départ calcul des besoins
Contexte et mode fonctionnement
Transaction
Il y a une transaction en cours.
Fichier trace
Il y a un fichier trace ouvert.
Différents cas d’appel
Ce point d'entrée est appelé avant ajustement du stock de départ, si le stock physique a été demandé.
L'ajustement consiste à ne pas tenir compte des bons de livraison/bons de préparation qui sont en attente de validation.
L'activation de la variable GPE=1 permet d'éviter l'ajustement du stock de départ et de revenir au mode de fonctionnement V5, toutes les allocations étant déduites du stock disponible.
Classes et variables disponibles
|
Variable ou masque |
Définition |
|
WPRO |
Contient 1 si PDP Contient 2 si CBN |
Tables ouvertes
Toutes les tables du calcul des besoins.
BEFWRICBD1 : avant résultat CBN
Ce point d’entrée permet de contrôler et/ou rectifier certaines informations juste avant la génération du besoin dans la table CBNDET ou PDPDET.
Contexte et mode de fonctionnement
Transaction
Il y a une transaction en cours.
Fichier trace
Il y a un fichier trace ouvert.
Différents cas d’appel
Ce point d'entrée est appelé dans le calcul des besoins nets (CBN et PDP) juste avant l'insertion du besoin dans le résultat de CBN/PDP (2 appels).
La variable GPE est utilisée. Elle a pour valeur 0 par défaut. Elle doit être positionnée à 1 dans le traitement spécifique lié au point d’entrée si on souhaite éviter l'écriture de la ligne courante.
Les variables accessibles/modifiables sont dans le buffer [F:CBD1].
Classes et variables disponibles
|
Variable |
Définition |
|
Classe [F:CBH] |
Contient les données en cours de traitement (Site, article …) |
|
Classe [F :ITF] |
Contient les données de l’article/site traité |
CTLDATSUG : contrôle de date de suggestion
Ce point d’entrée permet de contrôler et/ou rectifier certaines informations juste avant la génération du besoin dans la table CBNDET ou PDPDET.
Contexte et mode de fonctionnement
Transaction
Il y a une transaction en cours.
Fichier trace
Il y a un fichier trace ouvert.
Différents cas d’appel
Ce point d'entrée est appelé pendant le calcul des besoins nets (CBN et PDP) à la fin du calcul des dates de début et de fin de la suggestion ($CALDATSUG).
Les variables accessibles/modifiables sont WDATD = date de début de la suggestion et WDATF = date de fin de la suggestion.
Les autres informations relatives à la suggestion courante sont dans le buffer [F:CBD1]
Classes et variables disponibles
|
Variable |
Définition |
|
Classe [F:CBH] |
Contient les données en cours de traitement (Site, article …) |
|
Classe [F :ITF] |
Contient les données de l’article/site traité |
CTLSTO : ressource stock en contrôle qualité
Ce point d'entrée donne accès à la création d'une ressource (diverse) pour un stock en contrôle qualité.
Contexte et mode fonctionnement
Transaction
Il y a une transaction en cours.
Fichier trace
Il y a un fichier trace ouvert.
Différents cas d’appel
Ce point d'entrée est appelé pendant le CBN et depuis le PDP avant la création d'une ressource diverse de stock en contrôle qualité ($CTL_STO).
Le point d’entrée se situe juste avant l'instruction "Write [CBD]".
La variable GPE peut être modifiée : GPE = 0 crée la ressource, GPE <> 0 ne crée pas la ressource. Les valeurs des champs de la classe [F:CBD] (calcul détaillé des besoins nets) peuvent être modifiées avant la création de ressource, par exemple la quantité et la date de besoin.
Si vous paramétrez GOK < 1, la transaction s'arrête.
STARTSTOCKECC : réorganiser le stock de départ versionné
Ce point d'entrée permet de réorganiser le stock de départ versionné après le calcul par version.
Contexte et mode fonctionnement
Transaction
Il y a une transaction en cours.
Fichier trace
Il y a un fichier trace ouvert.
Différents cas d’appel
Ce point d’entrée est appelé depuis le CBN et le PDP, immédiatement après le calcul du stock de départ pour un article versionné.
Ce point d'entrée peut être utilisé pour réorganiser le stock de départ calculé. Par exemple : pour affecter le stock de départ total de toutes les versions sur une version en particulier (la dernière version).
Le stock de départ de chaque version se situe au niveau de WECCSTODIS(n), et les versions mineure et majeure correspondantes au niveau de WECCVALMAJ(n) et WECCVALMIN(n). On considère que n = nombre maximum de versions (code activité ECCMX).
Si vous paramétrez GOK < 1, la transaction s'arrête.
REOMGT : ignorer les articles non gérés
Ignorer les articles (sites) dont le Mode de réapprovisionnement = "Non géré".
Description du contexte
Ce point d'entrée vous permet d'ignorer tous les articles (sites) dans le traitement CBN dont le Mode de réapprovisionnement = "Non géré". Pour ces articles, aucun enregistrement n'est écrit dans la table CBNHEA (En-tête CBN), ce qui peut entraîner une amélioration des performances.
Remarque : pour les articles fabriqués, lorsque des articles "ignorés" sont considérés comme des composants de nomenclature, une lecture de la base de données supplémentaire est déclenchée. Cela peut potentiellement dégrader les performances.
Transaction
Il y a une transaction en cours.
Fichier trace
Il y a un fichier trace ouvert
Variable disponible
Entier WREOMGT :
- Défini sur 0 (par défaut) pour inclure tous les articles du traitement CBN.
- Défini sur 1 pour ignorer tous les articles (sites) dans le traitement CBN dont le Mode de réapprovisionnement = "Non géré".
BUCKETBALECC : réorganiser l’équilibrage des groupages multi-versions
Contexte et mode fonctionnement
Transaction
Il y a une transaction en cours.
Fichier trace
Il y a un fichier trace ouvert.
Contexte de code
Ce point d’entrée est appelé durant le CBN et depuis le PDP, immédiatement après le calcul de rééquilibrage des groupages pour un article versionné.
Ce point d'entrée peut être utilisé pour réorganiser le rééquilibrage des groupages calculé. Par exemple, si le rééquilibrage est négatif pour la version actuelle et positif pour une version précédente, celui de la version précédente peut être déplacé vers la version actuelle afin de réduire le rééquilibrage de la version actuelle.
Variables et masques disponibles
Le rééquilibrage de groupages de chaque version se situe au niveau de WECCSTODIS(n), et les versions mineure et majeure correspondantes, au niveau de WECCVALMAJ(n) et WECCVALMIN(n). On considère que n = nombre maximum de versions (code activité ECCMX).