DIAPASON 05
Breadcrumbs

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