Règles REB/INV de gestion des inventaires En-cours
A quoi servent-elles ?
Les règles REB/INV servent à :
Pour la gestion en-cours FAT:
Générer les listes de comptage
Effectuer la correspondance En-Cours FAT / Article valorisé.
Pour la Gestion En-Cours
Définition des correspondances
La définition des correspondances permet de faire le lien entre les entités comptées (environnement Inventaires) et les entités valorisées (environnement CRV).
Dans tous les cas une correspondance décrit un lien tel que :
1 CT inventoriée = (Coe.Mult / Coe.Div) * Article valorisé
avec :
CT inventoriée = Société + Inventaire + Ressource + Référence CT Inventoriée
Article valorisé = Type article + référence article
Coefficients de lien = coefficient multiple + coefficient diviseur
Il existe trois méthodes de génération de correspondance :
Au lancement en fabrication
Dans la requête REN de génération des CTs il est possible de définir une correspondance pour valorisation des en-cours via le champs suivants :
WTEtaCT.InvCTRef : valeur défaut si non définie = WTEtaCT.LanSerCTRef
WTEtaCT.InvCTDes : valeur défaut si non définie = WTEtaCT.LanSerCTDes
WTEtaCT.GenRefTypeArtVal : valeur défaut si non définie = Type produit fini OF courant
WTEtaCT.GenRefArtVal : valeur défaut si non définie = Référence produit fini OF courant
WTEtaCT.InvCTVal : valeur défaut si non définie = WTEtaCT.LanSerCTVal
WTEtaCT.InvCTLie : valeur défaut si non définie = WTEtaCT.LanSerCTQteLie.
La résultante est stockée dans la nouvelle table DTD.LAFATVal.
Sur définition inventaire
Dans la requête REB/INV définie sur l’onglet « Détail En-Cours » par le biais de la liste standard WFInvCorEco. Cette requête est définie sur les inventaires gérés par liste de comptage ou pour lesquels le type de correspondance est ‘1’.
Cette requête est exécutée lors du traitement de lancement d’inventaire (STO-IP)
En saisie déclaration d’inventaire
Une action « Ajout correspondance » est disponible en mode « Administrateur » uniquement et permet de générer de nouvelles correspondances. Dans ce cas les informations la décrivant sont saisies sur une fiche de façon interactive.
Listes de comptage
Le modèle de génération de liste de comptage d’en-cours FAT est identique à celui des listes de comptage de mode vrac.
Les listes DIALOG sont identiques. La notion de section correspond à celle de ressource, la notion d’article à celle d’en-cours de fabrication.
Avant d’exécuter la requête REB, le contexte est le suivant :
SCR.StoInvRef : référence inventaire est disponible.
SCR.StoInvEvt : Contient la valeur ‘IC’
SCR.StoInvEntMod : Mode de données inventoriées (contient ‘E’ pour En-Cours)
SCR.StoInvEntTyp : Type de gestion par rapport au mode.
La combinatoire entre StoInvEntMod et StoInvEntTyp permet de connaître le contexte de génération : E 1 = Liste de comptage.
La première liste porte le nom WfInvCptLis (Stock : Articles dans Listes Comptage) et correspond à la définition des en-cours rattachés à une liste de comptage.
Champ | Type | Description |
InvLisBas | Caractère | Référence Liste d'En-Cours à Inventorier : clé de regroupement des en-cours dans une liste. Information obligatoire |
MdiArt | Caractère | Mot Directeur, clé de tri en-cours / liste : cette information est utilisée pour trier les en-cours d’une liste de comptage pour la saisie ou éventuellement les documents. Information facultative. |
RefArt | Caractère | Référence en-cours Rattaché : référence CT ou article pour lequel un en-cours existe. Information obligatoire. |
RefEmplaStock | Caractère | Référence Emplacement Stockage : facultatif. Peut contenir la notion d’étape pour des besoins de parcours particuliers (notion non gérée dans le processus par la suite), Cela permet également de pouvoir disposer dans la même liste de plusieurs fois le même en-cours (à des étapes différentes) Information facultative. |
La seconde liste porte le nom WfInvCptLDe (Stock : Listes de Comptage pour Inventaire) et correspond à la liste des listes de comptage qui vont être utilisées lors de l’inventaire.
Champ | Type | Description |
InvLisBas | Caractère | Référence Liste En-Cours (dans WfInvCptLis) : c’est la clé d’identification des En-Cours qui devront être inventoriés. Elle permet de faire le lien avec la liste WfInvCptLis et d’utiliser la même liste d’en-cours sur plusieurs listes de comptage. Information obligatoire. |
InvLisDes | Caractère | Désignation Liste Unique pour Inventaire. Cette désignation est utilisée dans les présentations à l’écran des sélections des listes de comptage. Information facultative. |
InvLisMDi | Caractère | Mot Directeur Liste Unique pour Inventaire : cette information est utilisée pour trier les listes de comptage lors de leurs présentations à l’écran. Information facultative. |
InvLisRef | Caractère | Référence Liste Unique pour Inventaire : référence liste inventaire. Non utilisé par DIAPASON, mais peut être utile dans la requête de génération des listes de comptage. Information facultative. |
RefSection | Caractère | Ressource FAT sur laquelle s'applique la liste. Information obligatoire. |
RefEmplaStock | Caractère | Référence Emplacement Stockage : facultatif . Information non gérée par DIAPASON par la suite , peut contenir toute information pouvant faire objet d’un traitement particulier pour la génération de la liste de comptage. |
Exemple de règle de génération de liste de comptage (REB/INV)
Les nouvelles variables SCR (STOInvEntMod et STOInvTypMod) sont utiles dans le cas où la requête permet de gérer des listes de comptage pour chacun des modes de gestion (Vrac, Palette et En-cours).
SI SCR.StoInvEntMod = CLO."V"
POUR CHAQUE/SOC STO STSecEmp AVEC STO STSecEmp.RefSection COMMENCE_PAR SCR.CriCarDeb :
SI SCR.StoInvTypMod = CLO."1"
VLO.Trouve = CGL.NON
RECH PREM LST WfInvCptLDe AVEC WfInvCptLDe.RefSection = STO STSecEmp.RefSection :
VLO.Trouve = CGL.OUI
FIN_BLOC
SI VLO.Trouve FAUX
CREATION Liste WfInvCptLDe :
PRENDRE WfInvCptLDe InvLisBas = STO STSecEmp.RefSection
PRENDRE WfInvCptLDe RefSection = STO STSecEmp.RefSection
FIN_BLOC
FIN_BLOC
VLO.Trouve = CGL.NON
RECH PREM LST WfInvCptLis AVEC WfInvCptLis.InvLisBas = STO STSecEmp.RefSection ET WfInvCptLis.RefArt = STO STSecEmp.RefArt ET WfInvCptLis.RefEmplaStock = STO STSecEmp.RefEmplaStock :
VLO.Trouve = CGL.OUI
FIN_BLOC
SI VLO.Trouve FAUX
CREATION Liste WfInvCptLis :
PRENDRE WfInvCptLis InvLisBas = STO STSecEmp.RefSection
PRENDRE WfInvCptLis RefArt = STO STSecEmp.RefArt
PRENDRE WfInvCptLis RefEmplaStock = STO STSecEmp.RefEmplaStock
PRENDRE WfInvCptLis RefUnMeDec = CLO."DIX"
FIN_BLOC
FIN_BLOC
FIN_BLOC
SINON
RECH PREM LST WfInvLisArt AVEC WfInvLisArt.RefArt = STO STSecEmp.RefArt :
VLO.Trouve = CGL.OUI
FIN_BLOC
SI VLO.Trouve FAUX
CREATION Liste WfInvLisArt :
PRENDRE WfInvLisArt RefArt = STO STSecEmp.RefArt
PRENDRE WfInvLisArt MDiArt = STO STSecEmp.MDiArt
FIN_BLOC
FIN_BLOC
FIN_BLOC
FIN_BLOC
FIN_BLOC
SINON
SI SCR.StoInvEntMod = CLO."P"
POUR CHAQUE/SOC STO STPalDef AVEC STO STPalDef.RefSection = CLO."PF-OXXO" :
VLO.Trouve = CGL.NON
RECH PREM LST WfInvCptLDe AVEC WfInvCptLDe.RefSection = STO STPalDef.RefSection ET WfInvCptLDe.InvLisBas = STO STPalDef.RefTypePalette :
VLO.Trouve = CGL.OUI
FIN_BLOC
SI VLO.Trouve FAUX
CREATION Liste WfInvCptLDe :
PRENDRE WfInvCptLDe RefSection = STO STPalDef.RefSection
PRENDRE WfInvCptLDe InvLisBas = STO STPalDef.RefTypePalette
FIN_BLOC
FIN_BLOC
VLO.Trouve = CGL.NON
RECH PREM LST WfInvLisArt AVEC WfInvLisArt.Palette = STO STPalDef.RefPalette :
VLO.Trouve = CGL.OUI
FIN_BLOC
SI VLO.Trouve FAUX
POUR CHAQUE/SOC STO STPDiDet AVEC STO STPDiDet.RefPalette = STO STPalDef.RefPalette :
CREATION Liste WfInvLisArt :
PRENDRE WfInvLisArt Palette = STO STPalDef.RefPalette
PRENDRE WfInvLisArt InvLisBas = STO STPalDef.RefTypePalette
PRENDRE WfInvLisArt RefArt = STO STPDiDet.RefArt
FIN_BLOC
FIN_BLOC
FIN_BLOC
FIN_BLOC
FIN_BLOC
SINON
SI SCR.StoInvEntMod = CLO."E"
POUR CHAQUE/SOC DTD DDReDef AVEC DTD DDReDef.GamGenObj = CLO."1" ET DTD DDReDef.ResGenRef COMMENCE_PAR SCR.CriCarDeb OU DTD DDReDef.ResGenRef COMMENCE_PAR CLO."D-" :
VLO.Trouve = CGL.NON
RECH PREM LST WfInvCptLDe AVEC WfInvCptLDe.RefSection = DTD DDReDef.ResGenRef :
VLO.Trouve = CGL.OUI
FIN_BLOC
SI VLO.Trouve FAUX
CREATION Liste WfInvCptLDe :
PRENDRE WfInvCptLDe InvLisBas = DTD DDReDef.ResGenRef
PRENDRE WfInvCptLDe RefSection = DTD DDReDef.ResGenRef
FIN_BLOC
FIN_BLOC
VLO.Trouve = CGL.NON
POUR CHAQUE/SOC DTD LAFAtECo AVEC DTD LAFAtECo.GamGenObj = DTD DDReDef.GamGenObj ET DTD LAFAtECo.ResGenRef = DTD DDReDef.ResGenRef :
SI DTD LAFAtECo.LanSerCTRef CONTIENT CLO."*F_*" OU DTD LAFAtECo.LanSerCTRef CONTIENT CLO."*D-*"
RECH PREM LST WfInvCptLis AVEC WfInvCptLis.InvLisBas = DTD LAFAtECo.ResGenRef ET WfInvCptLis.RefArt = DTD LAFAtECo.LanSerCTRef ET WfInvCptLis.RefEmplaStock = DTD LAFAtECo.GamEtaRef :
VLO.Trouve = CGL.OUI
FIN_BLOC
SI VLO.Trouve FAUX
CREATION Liste WfInvCptLis :
PRENDRE WfInvCptLis InvLisBas = DTD LAFAtECo.ResGenRef
PRENDRE WfInvCptLis RefArt = DTD LAFAtECo.LanSerCTRef
PRENDRE WfInvCptLis RefEmplaStock = DTD LAFAtECo.GamEtaRef
PRENDRE WfInvCptLis RefUnMeDec = CGL.VIDE
FIN_BLOC
FIN_BLOC
FIN_BLOC
FIN_BLOC
FIN_BLOC
FIN_BLOC
FIN_BLOC
FIN_BLOC
Exemple de règle de correspondance (REB/INV)
RECH PREM LST WfInvLisArt :
FIN_BLOC
TRACE= SCR.StoInvRef + " " + SCR.StoInvEntMod + " " + SCR.StoInvEvt + " " + SCR.StoInvLis + " " + SCR.StoInvTypMod
POUR CHAQUE/SOC STO STInEnEm AVEC STO STInEnEm.InvRef = SCR.StoInvRef :
POUR CHAQUE/SOC DTD LAFAtECo AVEC DTD LAFAtECo.ResGenRef = STO STInEnEm.InvEntRef :
VLO.V_TrouveArt = CGL.NON
VLO.V_RefArt = DTD LAFAtECo.LanSerCTRef
RECH TBD/SOC DTD DDArtic AVEC DTD DDArtic.GenRefTypeArt = CLO."R" ET DTD DDArtic.GenRefArt = VLO.V_RefArt :
VLO.V_TrouveArt = CGL.OUI
VLO.V_TypeArt = DTD DDArtic.GenRefTypeArt
VLO.V_RefArt = DTD DDArtic.GenRefArt
FIN_BLOC
SI VLO.V_TrouveArt FAUX
RECH TBD/SOC DTD DDArtic AVEC DTD DDArtic.GenRefTypeArt = CLO."C" ET DTD DDArtic.GenRefArt = VLO.V_RefArt :
VLO.V_TrouveArt = CGL.OUI
VLO.V_TypeArt = DTD DDArtic.GenRefTypeArt
VLO.V_RefArt = DTD DDArtic.GenRefArt
FIN_BLOC
FIN_BLOC
SI VLO.V_TrouveArt FAUX
RECH TBD/SOC DTD LASerFab AVEC DTD LASerFab.LanModTyp = CLO."L" ET DTD LASerFab.LanSerFabOF = DTD LAFAtECo.LanSerFabOF :
VLO.V_TrouveArt = CGL.OUI
VLO.V_TypeArt = DTD LASerFab.GenRefTypeArt
VLO.V_RefArt = DTD LASerFab.GenRefArt
FIN_BLOC
FIN_BLOC
SI VLO.V_TrouveArt FAUX
RECH TBD/SOC DTD LASerFab AVEC DTD LASerFab.LanModTyp = CLO."S" ET DTD LASerFab.LanSerFabOF = DTD LAFAtECo.LanSerFabOF :
VLO.V_TrouveArt = CGL.OUI
VLO.V_TypeArt = DTD LASerFab.GenRefTypeArt
VLO.V_RefArt = DTD LASerFab.GenRefArt
FIN_BLOC
FIN_BLOC
SI VLO.V_TrouveArt VRAI
VLO.V_TrouveArt = CGL.NON
RECH PREM LST WfInvCorEco AVEC WfInvCorEco.InvRef = SCR.StoInvRef ET WfInvCorEco.ResGenRef = DTD LAFAtECo.ResGenRef ET WfInvCorEco.InvCTRef = CLO."MACT-" + DTD LAFAtECo.LanSerCTRef :
VLO.V_TrouveArt = CGL.OUI
FIN_BLOC
SI VLO.V_TrouveArt FAUX
RECH TBD/SOC DTD LAFatCT AVEC DTD LAFatCT.LanSerFabOF = DTD LAFAtECo.LanSerFabOF ET DTD LAFatCT.GamEtaRef = DTD LAFAtECo.GamEtaRef ET DTD LAFatCT.LanSerCTRef = DTD LAFAtECo.LanSerCTRef :
CREATION Liste WfInvCorEco :
PRENDRE WfInvCorEco InvRef = SCR.StoInvRef
PRENDRE WfInvCorEco InvCTRef = CLO."MACT-" + DTD LAFAtECo.LanSerCTRef
PRENDRE WfInvCorEco InvCTDes = WfInvCorEco.InvCTRef + " " + CLO."<=>" + " " + VLO.V_TypeArt + CLO."/" + VLO.V_RefArt
PRENDRE WfInvCorEco ResGenRef = DTD LAFAtECo.ResGenRef
PRENDRE WfInvCorEco GenRefTypeArt = VLO.V_TypeArt
PRENDRE WfInvCorEco InvCTVal = DTD LAFatCT.LanSerCTVal
PRENDRE WfInvCorEco InvCTLie = DTD LAFatCT.LanSerCTQteLie
PRENDRE WfInvCorEco GenRefArt = VLO.V_RefArt
SI DTD LAFAtECo.LanSerEcoSta = CLO."E"
PRENDRE WfInvCorEco QtePhotoEC = DTD LAFAtECo.LanSerCtQte
FIN_BLOC
SI DTD LAFAtECo.LanSerEcoSta = CLO."S"
PRENDRE WfInvCorEco QtePhotoSO = DTD LAFAtECo.LanSerCtQte
FIN_BLOC
FIN_BLOC
FIN_BLOC
FIN_BLOC
FIN_BLOC
FIN_BLOC
FIN_BLOC