Points d'entrée > Module Stocks > Script standard FUNCBN 

LECORD: Lecture d'un enregistrement ORDERS

Filtre des ordres en cours dans le calcul des besoins.

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) à 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: Calcul du stock de départ

Stock de départ calcul des besoins

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é 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 de couverture

Calcul non standard des couvertures pour tous les buckets

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é 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

WNBBUC                  Nombre de buckets

WNBJOU                  Nombre de jours de traitements (Date fin - date début +1)

WBUCDEB(0..WNBBUC-1)             Tableau des dates début de bucket

WBUCFIN(0..WNBBUC-1)              Tableau des dates fin   de bucket

WQTY(0..WNBJOU-1)                    Tableau des besoins jours par jours

 I                                                          Indicateur = 0

  Variables à retourner

   WCOUV(0..WNBBUC-1)       Tableau des couvertures par bucket

    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 de fonctionnement

Transaction

Il ni 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

WPRO

Contient 1 si PDP

Contient 2 si CBN

Classe [F:PCB]

Contient les paramètres du site

 

Tables ouvertes

Toutes les tables du calcul des besoins.

BEFWRICBH : Avant écriture de l'entête de la table de travail

Point d’entrée avant écriture de chaque enregistrement de la table de travail CBNHEA / PDPHEA

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) 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 prêtes à l’écriture

WPRO

Contient 1 si PDP                                                     Contient 2 si CBN

 

Tables ouvertes

Toutes les tables du calcul des besoins.

BEFWRICBD : Avant écriture du détail de la table de travail

Point d’entrée avant écriture de chaque enregistrement de la table de travail CBNDET / 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) 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 entête de l’article traité

Classe [F:CBD]

Contient le buffer prêt à 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 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) 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 entête

Classe [F :ITF]

Contient les données de gestion article site

Classe [F:CBD]

Contient le buffer prêt à l’écriture (sauf les champs date)

Variable date WDATS

Contient la date de référence pour la création de la suggestion (date du besoin). 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 la phase 4 (génération du fichier de détail CBN)

Point d’entrée à la fin de la phase 4

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é 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 prêtes à 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 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é 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 prêtes à 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 OF

Possibilité de modifier le délai de contrôle qualité pour les ordres de fabrication

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) au moment de l’écriture du fichier de travail détail ([F :CBD], juste après avoir récupéré le délai 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 integer 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 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) 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…)

Variable decimal 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 saisonalité du stock de sécurité

Possibilité de remplacer le mode d’application standard de la saisonalité du stock de sécurité

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) pendant la phase de calcul des suggestions pour les articles gérés sur stock. Il permet d’intervenir sur l’application de la saisonalité au stock de sécurité.

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

Classe [F :ITF]

Contient les données de l’article/site traité

Variable date WDAT

Contient la date de début du bucket concerné

Variable decimal 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 complémentaires

Ce point d’entrée permet d’ajouter des encours article supplémentaire

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) à 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] en raison de la transclasse [CBD] = [ORD] sur 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

Suivant

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 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) 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'encours (ORDERS).

Il peut notamment servir à contrôler, modifier ou purger les tables de travail PDPDET et CBNDET avant la mise à jour.

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) pendant la phase de calcul des suggestions pour les articles gérés sur stock. Il permet d’intervenir sur la quantité à réapprovisionner. Il permet d’intervenir avant la mise à jour de l'encours (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 replanification suggestion

Possibilité de remplacer le mode d’application standard de la saisonalité du stock de sécurité

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

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 buckets

Rendre spécifique la préparation des buckets, et/ou éviter les corrections standards.

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) après le chargement des paramètres. Il permet d'éviter le calcul standard de correction des buckets, 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 integer I

Positionner I = 0 pour traiter l'ordre

Positionner I = 1 pour ignorer l'ordre

ENDSTEP5 : Après la phase 5 (calcul des besoins)

Point d’entrée à la fin de la phase 5

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é 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 prêtes à 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 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  juste avant la boucle sur les articles dont le mode de réapprovisionnement est CBN/PDP.

Elle devra être positionnée à 1 dans le traitement spécifique lié au point d’entrée si on 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 integer I

Positionner I = 0 pour traiter l'ordre

Positionner I = 1 pour ignorer l'ordre

NOLOCK : Optimisation de la purge 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 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  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 integer 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 de fonctionnement

Transaction

Il y n'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 du cas >> uniquement pour l'article acheté 'SPLIT' (GX3APP)
If [F:CBH]ITMREF <> 'SPLIT' : Return : Endif
# uniquement pour les 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 du 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égul. du solde du stock pour le calcul CBN
[M:ZCSP]STOBAL += (WREOTOT - [M:ZCSP]QTY)
Gosub FEEDBACK From =[M:ZCSP]PROCESS
Return

CTLSTOSEC : cas particulier du stock de sécurité sur le premier besoin

Ce point d’entrée permet de prendre la main sur la raz 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é à la valeur "au 1er besoin", uniquement sur le 1er bucket et si WBESBUC=0.

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

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: Ajustement du stock de départ

Stock de départ calcul des besoins

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

Variables

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 écriture résultat de 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 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é dans 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 de stock de contrôle qualité

Ce point d'entrée vous donne accès à la création d'une ressource (diverse) pour un stock en cours de contrôle qualité.

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 CBN et depuis le PDP avant la création d'une ressource diverse de stock de 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 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é 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 créé dans la table Calcul besoins nets (CBNHEA) ce qui peut entraîner une amélioration des performances.


Remarque : pour les articles manufacturé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, ce qui peut, à l'inverse, réduire les performances.


Transaction

Il y a une transaction en cours


Fichier trace

Il y a un fichier trace ouvert


Variable disponible

Integer WREOMGT Définie sur 0 (par défaut) pour inclure tous les articles du traitement CBN. Définie sur 1 pour ignorer tous les articles (sites) dans le traitement CBN dont le Mode de réapprovisionnement = "Non géré".