Les règles REB/INV
Les règles REB/INV jouent un rôle important car elles ont pour but de générer le contexte de comptabilisation des données de l’inventaire et peuvent servir à :
Générer les listes de comptage pour la gestion vrac
Extraire les articles vrac
Générer les listes de comptage pour la gestion palette
Extraire les palettes
Extraire les sections à inventorier
Générer les listes de comptage pour la gestion en-cours FAT
A effectuer la correspondance En-Cours FAT / Article valorisé.
Gestion Vrac
L’objectif est de pouvoir réaliser un inventaire à partir de listes de comptage formatées, ces listes de comptage ayant les caractéristiques suivantes :
La liste de comptage correspond à une liste d’articles triée suivant un ordre de gestion souhaité sur laquelle les quantités inventoriées doivent être renseignées.
La liste de comptage doit être disponible sur papier, mais également sur l’écran de saisie des quantités inventoriées, dans le même ordre que sur la liste papier.
L’inventaire sur une section par liste de comptage peut disposer de plusieurs listes de comptage sur lesquelles le même article peut apparaître dans plusieurs listes, et donc être inventorié plusieurs fois.
Cette procédure d’inventaire permet d’inventorier des sections gérées avec un seul ou plusieurs emplacements physiques « informatiques » avec sur chaque section, la possibilité d’inventorier le même article plusieurs fois (sur plusieurs listes) : la notion de liste est à rapprocher de l’organisation de stockage des produits sur une section qui n’est pas gérée informatiquement. Cette procédure est par exemple bien adaptée à l’inventaire des en-cours d’atelier : l’atelier est par exemple décrit sur DIAPASON par une seule section sur laquelle il existe en réalité plusieurs postes de fabrication, chaque poste faisant l’objet d’un inventaire : pour DIAPASON, l’inventaire sera réalisé par liste de comptage sur la section, mais en disposant de listes spécifiques pour chaque poste.
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 ‘V’ pour vrac)
SCR.StoInvTypMod : Type de gestion par rapport au mode.
La combinatoire entre StoInvEntMod et StoInvEntTyp permet de connaître le contexte de génération : V 1 = Vrac liste de comptage et V 2 = extraction d’articles. Cette notion est très importante car elle conditionne les listes standard DIALOG devant être alimentées.
Listes de Comptage
Il s’agit de définir une requête de type REB (sous type : INV : Requêtes pour Génération Listes Comptage) dont le but est d’initialiser deux listes standard DIAPASON.
La première liste porte le nom WfInvCptLis (Stock : Articles dans Listes Comptage) et correspond à la définition des articles rattachés à une liste de comptage.
Champ | Type | Description |
InvLisBas | Caractère | Référence Liste d'Article à Inventorier : clé de regroupement des articles dans une liste. Information obligatoire |
MdiArt | Caractère | Mot Directeur, clé de tri articles / liste : cette information est utilisée pour trier les articles d’une liste de comptage pour la saisie ou éventuellement les documents. Information facultative. |
RefArt | Caractère | Référence Article Rattaché : référence article géré en stock. Information obligatoire. |
RefEmplaStock | Caractère | Référence Emplacement Stockage : facultatif. Si cette liste d’articles est utilisée par plusieurs listes de comptage, cette information doit être vide. Autrement, elle peut contenir un emplacement particulier dans la section correspondante (lien avec autre liste). Cela permet également de pouvoir disposer dans la même liste du même article plusieurs fois(à des emplacements différents). 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 Article (dans WfInvCptLis) : c’est la clé d’identification des articles qui devront être inventoriés. Elle permet de faire le lien avec la liste WfInvCptLis et d’utiliser la même liste d’articles 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 | Section sur laquelle s'applique la liste. Information obligatoire. |
RefEmplaStock | Caractère | Référence Emplacement Stockage : facultatif . Si un emplacement est renseigné, suivant l’organisation de stockage de la section, celui-ci sera considéré pour les articles n’ayant pas d’emplacement défini. |
Après exécution de la requête de génération des listes de comptage, DIAPASON réalise un certain nombre de contrôles (ordre chronologique de traitement) :
Liste WfInvCptLis : Existence des articles renseignés : si l’article renseigné n’existe pas, celui-ci est supprimé dans toutes les listes où il se trouve avant enregistrement du résultat de la génération.
Liste WfInvCptLDe : Existence section renseignée : si la section renseignée n’existe pas, la liste de comptage définie est supprimée avant enregistrement du résultat de la génération.
Liste WfInvCptLDe : si la liste d’articles (WfInvCptLDe.InvLisBas) n’existe pas dans la liste des articles (WfInvCptLis), la liste de comptage est supprimée.
L’affectation des emplacements est la suivante (ordre chronologique d’analyse) :
si aucun emplacement n’est défini sur l’article (WfInvCptLis.RefEmplaStock = ‘’) et aucun emplacement n’est défini sur la liste de comptage (WfInvCptLDe.RefEmplaStock = ‘’), l’emplacement considéré est l’emplacement défaut de l’article dans la section.
si un emplacement est défini pour l’article (WfInvCptLis.RefEmplaStock) et que celui-ci est cohérent par rapport à la section, celui-ci est considéré.
si un emplacement est défini pour l’article (WfInvCptLis.RefEmplaStock) et que celui-ci est incohérent par rapport à la section, l’emplacement considéré est l’emplacement défaut de l’article dans la section.
Si un emplacement n’est pas défini pour l’article (WfInvCptLDe.RefEmplaStock = ‘’) et qu’un emplacement est défini sur la liste de comptage (WfInvCptLis.RefEmplaStock), l’emplacement considéré est celui défini sur la liste de comptage (WfInvCptLis.RefEmplaStock).
Liste WFInvLisSec : si l’emplacement n’existe pas, la liste ne sera pas générée.
Liste d’Articles
La première liste porte le nom WfInvLisArt (Stock : Articles à inventorier) et correspond à la liste des articles ou des palettes à rattacher à l’inventaire.
Champ | Type | Description |
RefArt | Caractère | Référence article à inventorier |
MdiArt | Caractère | Mot directeur article |
Palette | Caractère | Référence palette |
InvLisBas | Caractère | Non gérée dans le cas liste d’articles. |
La seconde liste porte le nom WFInvLisSec (Stock : Liens Emplacements/Section) et correspond à la liste des emplacements devant être inventoriés pour les sections spécifiées.
Champ | Type | Description |
RefSection | Caractère | Section sur laquelle s'applique la liste. Information obligatoire. |
RefEmpla | Caractère | Référence Emplacement Stockage : Information obligatoire. |
DesLisCpt | Caractère | Désignation liste de comptage : facultatif. |
MdiLisMDi | Caractère | Mot Directeur : facultatif. |
Gestion Palettes
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 ‘P’ pour palette)
SCR.StoInvTypMod : Type de gestion par rapport au mode.
La combinatoire entre StoInvEntMod et StoInvEntTyp permet de connaître le contexte de génération : P 1 = Lieu et P 3 = Contenu et P 5 = Lieu et Contenu. Cette notion est très importante car elle conditionne les listes standard DIALOG devant être alimentées.
Listes de comptage
La première 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 Palette : c’est la clé d’identification des sections et emplacements qui devront être inventoriés. 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 | Section sur laquelle s'applique la liste. Information obligatoire. |
RefEmplaStock | Caractère | Référence Emplacement Stockage : facultatif . Si un emplacement est renseigné, suivant l’organisation de stockage de la section, celui-ci sera considéré pour les articles n’ayant pas d’emplacement défini. |
Après exécution de la requête de génération des listes de comptage, DIAPASON réalise un certain nombre de contrôles (ordre chronologique de traitement) :
Liste WfInvCptLDe : Existence section renseignée : si la section renseignée n’existe pas, la liste de comptage définie est supprimée avant enregistrement du résultat de la génération.
Liste WfInvCptLDe : Si la section existe mais ne gère pas de produit palettisé, la liste de comptage définie est supprimée avant enregistrement du résultat de la génération.
Liste WfInvCptLDe : Cohérence emplacement renseigné : Si l’emplacement n’existe pas ou n’est pas rattaché au magasin de la section, la liste de comptage définie est supprimée avant enregistrement du résultat de la génération.
Liste WfInvCptLDe : si la liste de palettes/articles (WfInvLisArt) est vide pour la liste courante (lien entre WfInvCptLDe.InvLisbas et WfInvLisArt.InvLisBas), la liste de comptage est supprimée.
La seconde liste porte le nom WfInvLisArt (Stock : Articles à inventorier) et correspond à la liste des palettes ou des palettes + articles (cas P3 et P5) à rattacher à l’inventaire.
Champ | Type | Description |
RefArt | Caractère | Référence article à inventorier Obligatoire pour les cas P3 et P5. |
MdiArt | Caractère | Mot directeur article |
Palette | Caractère | Référence palette. Obligatoire. |
InvLisBas | Caractère | Référence liste palette : Clé de regroupement pour contenu liste de comptage, lien avec WFInvCptLDe. Obligatoire. |
Liste de palettes
La première liste porte le nom WfInvLisArt (Stock : Articles à inventorier) et correspond à la liste des articles ou des palettes à rattacher à l’inventaire (obligatoire dans le cas d’un inventaire de type Contenu Seul par requête)
Champ | Type | Description |
RefArt | Caractère | Référence article à inventorier |
MdiArt | Caractère | Mot directeur article |
Palette | Caractère | Référence palette |
InvLisBas | Caractère | Clef de lien avec la Liste WfInvCptLDe |
La seconde liste porte le nom WFInvLisSec (Stock : Liens Emplacements/Section) et correspond à la liste des emplacements devant être inventoriés pour les sections spécifiées.
Champ | Type | Description |
RefSection | Caractère | Section sur laquelle s'applique la liste. Information obligatoire. |
RefEmpla | Caractère | Référence Emplacement Stockage : Information obligatoire. |
DesLisCpt | Caractère | Désignation liste de comptage : facultatif. |
MdiLisMDi | Caractère | Mot Directeur : facultatif. |
Liste Sections/Emplacements
La liste porte le nom WFInvLisSec (Stock : Liens Emplacements/Section) et correspond à la liste des emplacements devant être inventoriés pour les sections spécifiées (Obligatoire dans le cas des inventaires LIEU) .
Champ | Type | Description |
RefSection | Caractère | Section sur laquelle s'applique la liste. Information obligatoire. |
RefEmpla | Caractère | Référence Emplacement Stockage : Information obligatoire. |
DesLisCpt | Caractère | Désignation liste de comptage : facultatif. |
MdiLisMDi | Caractère | Mot Directeur : facultatif. |
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