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).