| ORIGINE | FONCTION | FONCTION « avant » |
|
CFN |
XC265 |
XC_ |
|
Paramètre GÉNÉRAL |
|
|
Option FONCTION |
|
|
Paramètre PASSERELLE |
|
La passerelle « intégration Commande fournisseur PF » permet l’intégration dans Cegid Orli des ordres de fabrication ou des commandes négoces créées à partir d’un autre logiciel.
Elle permet de contrôler puis d’insérer les ordres de fabrication et les commandes négoces saisis dans des applicatifs autre que Cegid Orli.
Formats d'import / Lancement de l’import / Contrôles / Initialisations / Mise à jour des données
Toutes ces informations sont résumées dans :
Dans le cadre de cette passerelle, deux paramètres existent :
- REPRISE :
plus du tout utilisé, ce paramètre est supplanté par le critère fonctionnel TYPE D'INTEGRATION standard dans XC20B. - NUMERO_OF_AUTO :
permettant une renumérotation standard des numéros d’OF ou de commandes négoces.
Description des fonctions du module
Vocabulaire
Un fichier est un ensemble de données regroupées sous un même nom. Il est composé d’un enregistrement.
Un enregistrement représente une ligne d’un fichier, il est composé de champs présents chacun dans une colonne. Un enregistrement est composé de plusieurs champs ou données.
Dans un deuxième temps, des initialisations et des contrôles sont effectués (sous-programme SPXC2651W01).
Cette partie est assurée par le sous-programme SPXC2652W01.
Les tables qui serviront de base à l’intégration seront les tables réceptacles :
- 01
ORL_OF_ENT : Entêtes d’OF - 02
ORL_OF_LIGN : Ligne d’OF - 03
ORL_OF_LIGN_COUT : Coûts - 04
ORL_OF_DOC : Textes - 05
ORL_OF_CIRC_FAB : Circuits de fabrication - 06
ORL_OF_ELMT_PRI : Éléments PRI - 07
ORL_OF_LIGN_TEXT : Textes sur lignes - 09
ORL_OF_LIGN_CDE : Lignes cdes clients affectées aux lignes d’un OF - 10
ORL_OF_LIGN_MESUR : Lignes cdes clients nominatives affectées par lignes d’OF
Pour chaque OF à intégrer dans Cegid Orli, il faut générer les enregistrements suivants :
- 1 enregistrement
dans la table ORL_OF_ENT - 1 à X enregistrements
dans la table ORL_OF_LIGN - 0 à X enregistrements
dans la table ORL_OF_LIGN_COUT - (générée en automatique par défaut)
- 0 à X enregistrements
dans la table ORL_OF_DOC - 0 à X enregistrements
dans la table ORL_OF_CIRC_FAB - (générée en automatique par défaut)
- 0 à X enregistrements
dans la table ORL_OF_ELMT_PRI - 0 à X enregistrements
dans la table ORL_OF_LIGN_TEXT - 0 à X enregistrements
dans la table ORL_OF_LIGN_CDE - 0 à X enregistrements
dans la table ORL_OF_LIGN_MESUR
La description complète de la structure des tables est présente en Annexe. Cependant, seuls certains champs de cette table devront être renseignés par vos soins (les autres champs définis étant automatiquement mis à jour par Cegid Orli lors de la procédure de contrôle des données et avant l’intégration dans les tables).
La phase de contrôle des données est réalisée en PRO-C par la procédure standard XC265
Toute anomalie rencontrée lors du contrôle des données donnera lieu à l’écriture d’un enregistrement dans la table des anomalies d’intégration ORL_ANOMALIE.
Cette table a la structure suivante :
FONC NOT NULL VARCHAR2(5)
XC20B
NUM_DEM NOT NULL NUMBER
CODE_PROV_CDE VARCHAR2(25)
SEPARAT ou FIXE
CODE_ORIG_CDE VARCHAR2(25)
CFN
CRITERE_1 VARCHAR2(25)
N° OF
CRITERE_2 VARCHAR2(25)
N° Ligne
TEXT_ANO VARCHAR2(132)
Texte de l’erreur
REF_ANO VARCHAR2(132)
132 premiers caractères de l’enregistrement
Dès qu’une anomalie aura été détectée sur un OF, celui-ci sera automatiquement placé en anomalie (Mise à jour à ‘X’ de la zone FLAG_ANO dans la table réceptacle traitée).
N.B. :
seules des insertions d’OF seront possibles. Toute maintenance et suppression devront être réalisées par les fonctions standards c’est-à-dire LA001 manuellement et seules les maintenances sur les quantités sont possibles via la passerelle Intégration des modifications des OF et commandes négoces.
Il est ainsi possible de procéder à des maintenances de lancements dans LA001, après intégration par cette passerelle, avec l’option LA001W01/GDA_MAINTSOLDEX=0.
- un premier sous-programme réalise tous les contrôles (SPXC2651W01)
- un second sous-programme réalise toutes les intégrations dans les tables Cegid Orli.
Les OF intégrés seront ceux pour lesquels aucun enregistrement dans les tables réceptacles n’est rejeté en anomalie.
Tout OF créé avec cette passerelle est marqué comme OF issu d’un système externe, ceci permettant une gestion particulière de ces OF dans LA001
Dans le cadre d’une reprise, l’OF créé n’est pas marqué issu d’un système externe, ceci permettant une gestion plus large de ces OF.
Il est possible de limiter l’utilisation des OF créés par l’intégration des modifications des OF et commandes négoces par l’intermédiaire de la zone GES_STK_EXT.
Si GES_STK_EXT est à ‘X’, on empêche la gestion des OF dans les programmes d’entrée en stock et jalonnement SP001, NE006, LA650 ; cette gestion doit être faite par la passerelle d’intégration des mouvements de stock et jalonnement.
Si GES_STK_EXT est nul, on ne restreint pas la gestion des OF à la passerelle d’intégration des mouvements de stock et jalonnement.
La commande fournisseur PF est définie par une méthode d’approvisionnement issue du circuit de fabrication, 3 fonctionnalités existent pour définir une méthode d’approvisionnement :
- ‘01’: Fabrication, la commande est soit de type fabriqué, soit de type négoce (=prix obligatoire pour la phase négoce). La nomenclature de l’article/produit est prise en compte dans la fabrication du produit fini.
- ‘02’ : Achat, la commande est de type négoce, on ne prend pas en compte la nomenclature qu’elle existe ou non. Le produit est acheté fini et ne subit pas de transformation.
- ‘03’ : Transfert, uniquement dans le cadre du module de gestion des groupes. La commande peut être de type fabriqué ou négoce et on ne prend pas en compte la nomenclature. Le produit est acheté fini dans une autre société de production et ne subit pas de transformation.
Dans le cas d’un achat (fonctionnalité 02) ou d’un transfert (fonctionnalité 03), on ne prend pas en compte la nomenclature même si celle-ci existe pour le produit. Ceci permet de ne pas enfermer un produit dans une logique de fabrication. On peut occasionnellement l’acheter sans générer de besoin tout en gardant la définition de la nomenclature.
A chaque création de commande, on ajoute pour l’article / société (si gérée) toute nouvelle répartition (méthode d’approvisionnement / circuit). Pour savoir si une répartition est nouvelle, on lit les répartitions existantes valables (avec une date d’effet de fin antérieure à la date du jour) pour l’article, société, méthode d’approvisionnement, circuit. Cette répartition nouvellement créée n’est pas définie comme prioritaire (elle a forcément un rang moins important que les répartitions existantes).
Gestion des regroupements commerciaux
Contrairement à LA001, la passerelle ne gère pas automatiquement les regroupements commerciaux. On considère que le logiciel externe a déjà conçu le regroupement commercial et qu’il envoie juste l’information telle quelle à Cegid Orli. Il envoie donc le père et ses fils.
Description des différents types d’enregistrement avec leurs contrôles
Ce 1er enregistrement va permettre de mettre à jour la table :( * => champ obligatoire 0)
-
OF_ENT : table des entêtes d’OF
| N° | CHAMP | TYPE | * | COMMENTAIRES | |
|
0 |
Type enregistrement |
C2 |
O |
= 01 pour les entêtes |
|
|
1 |
NUM_OF |
C8 |
O |
Numéro de l’ordre de fabrication |
|
|
2 |
FLAG_OF_NEGO |
C1 |
|
= X si OF négoce |
|
|
3 |
SAIS |
C3 |
O |
Saison de l’OF |
|
|
4 |
CODE_SOC |
C1 |
|
Code de la société |
|
|
5 |
SAIS_ART |
C3 |
|
Saison de l’article |
|
|
6 |
CODE_ART_TEC |
C15 |
|
Code de l’article |
|
|
7 |
DATE_OF |
D |
O |
Date de l’OF |
|
|
8 |
CODE_TYP_LCT |
C3 |
|
Code type de lancement |
|
|
9 |
TRAN_OF |
C4 |
|
Tranche de l’OF |
|
|
10 |
DAT_SORT_PREV |
D |
|
Date de sortie prévisionnelle |
|
|
11 |
DAT_AFF_PREV |
D |
|
Date d’affectation prévue |
|
|
12 |
DAT_DEP_USI |
D |
|
Date de départ usine (date de mise à disposition) |
|
|
13 |
NUM_PLAN_LCT |
C8 |
|
Numéro du plan de lancement |
|
|
14 |
DAT_PLAN_LCT |
D |
|
Date du plan de lancement |
|
|
15 |
CODE_CIRC |
C10 |
|
Code du circuit de fabrication |
|
|
16 |
NUM_GROP_BES |
C8 |
|
Numéro du groupage de besoins sur OF |
|
|
17 |
DAT_GROP_BES |
D |
|
Date de groupage de besoins |
|
|
18 |
FLAG_TEST_FIAB |
C1 |
|
= X si en cours de test de fiabilité |
|
|
19 |
FLAG_AFF_PRIM |
C1 |
|
= X si affectation matière de base |
|
|
20 |
CODE_LIEU_RECE |
C3 |
|
Code lieu du magasin PF de réception pour les OF négoces |
|
|
21 |
CODE_MAGP_RECE |
C2 |
|
Code magasin PF de réception pour les OF négoces |
|
|
22 |
CODE_LIEU_FACT |
C3 |
|
Code lieu du magasin de facturation |
|
|
23 |
CODE_LFAC |
C2 |
|
Code magasin de facturation |
|
|
24 |
AU_TITRE_DE |
C1 |
|
= X si article lancé en tant que composant d’un ensemble INUTILISE |
|
|
25 |
SAIS_RGPT_COM |
C3 |
|
Saison de l’ensemble dont cet article est composant INUTILISE |
|
|
26 |
CODE_RGPT_COM |
C15 |
|
Code de l’ensemble dont cet article est composant INUTILISE |
|
|
27 |
FLAG_OF_CONST |
C1 |
|
= X si OF d’ensemble de constitution uniquement.INUTILISE |
|
|
28 |
CODE_GEST |
C3 |
|
Code gestionnaire. |
|
|
29 |
REF_CDE_NEG |
C25 |
|
Référence de la commande négoce |
|
|
30 |
CODE_TRANS |
C3 |
|
Code transporteur |
|
|
31 |
CODE_MOD_EXP |
C3 |
|
Code mode d’expédition |
|
|
32 |
APPRO_MAT_FINI |
C1 |
|
= X si approvisionnement matière déjà fait PLUS UTILISE |
|
|
33 |
OF_APPART |
C8 |
|
numéro de l’OF d’appartenance |
|
|
34 |
CODE_MON |
C3 |
|
Code monnaie |
|
|
35 |
CODE_EDI_CIRC |
C8 |
|
code EDI du circuit |
|
|
36 |
GES_STK_EXT |
C1 |
|
=’X’ si gestion du jalonnement et des stocks par PAS-STO uniquement |
|
|
37 |
CODE_DIV_PROD |
C3 |
|
Code de la division de production |
|
|
38 |
NUM_FOUR |
C8 |
|
Numéro de fournisseur |
|
|
39 |
LCT_ECLAT |
C1 |
|
Permet de définir que la cde est un regroupement commercial |
|
Commentaires :
01 : il faut contrôler que le numéro d’OF n’existe pas déjà dans la table des entêtes d’OF (OF_ENT) en tant que numéro d’OF ou en tant que numéro d’OF externe, en effet selon votre paramétrage vous pouvez demander une renumérotation automatique du numéro d’OF, par conséquent le numéro d’OF de la table réceptacle devient dans la table des entêtes d’OF (OF_ENT) un numéro d’OF externe.
02 : cette zone doit être égale à X ou NULL. Elle permet d’indiquer s’il s’agit d’un OF négoce ou fabriqué. Elle devient très importante au moment des insertions dans les tables.
03 :1er cas : OF non négoce
Si l’article est permanent alors la saison de l’OF doit être différente de la saison de l’article, sinon la saison de l’OF est égale à la saison de l’article. Le code saison doit exister dans la table des saisons (SAISON). Il est interdit d’avoir une saison d’OF correspondant aux articles permanents (à ‘00P’).
2ème cas : OF négoce
La saison doit exister dans la table des saisons (SAISON) et être différente d’une saison correspondant aux articles permanents (00P).
04 : Cette zone est facultative mais doit pouvoir être déduite en gestion multi sociétés du gestionnaire ou de la division ou du magasin de l’en-tête de commande fournisseur PF ou du premier magasin des lignes de commande fournisseur PF. Si ce n’était pas le cas une erreur serait générée pour signifier que la société est introuvable. En mono société, on la déduit du paramètre SOCIETE.
05 :
Cette zone est renseignée s’il s’agit d’une commande fournisseur PF mono-article sinon elle est NULL. Son existence est contrôlée dans la table des saisons (SAISON).
06 :
Le code article est renseigné s’il s’agit d’une commande fournisseur PF mono article sinon cette zone est NULL. On contrôle si la saison article et l’article sont renseignés ou les deux à null, sinon blocage.
Si l’article est renseigné, il faut contrôler l’existence de cet article à partir de son code, avec contrôle de la date d’arrêt technique qui doit être supérieure à la date de saisie de la commande.
Il faut contrôler aussi que l’article correspond au type à créer (négoce ou fabriqué) c’est-à-dire qu’on cherche dans ART_TEC_TYP_FAB une fonctionnalité de type ‘02’ pour « Négoce » et ‘01’ pour « fabriqué » ou de type ‘00’ correspondant aux articles fabriqués dans la chaîne négoce.
07 : Cette zone est obligatoire.
08 :Ce champ est facultatif grâce à l’option TYP_LCT donnant sa valeur par défaut. Dans le programme de contrôle de données si le type de lancement n’est pas renseigné en entrée, on va le rechercher dans l’option, si l’option est nulle, on envoie un message d’anomalie : ‘Le code type de lancement n’est pas renseigné et l’option par défaut est nulle’.
1er cas : OF non négoce
Il faut contrôler l’existence de ce code type de lancement dans la table TYLCT. Sinon on déclenche une anomalie
‘Type d’OF inexistant ou fonctionnalité correspondant aux livraisons directes.
2ème cas : OF négoce
Il faut contrôler l’existence de ce code type de lancement dans la table TYLCT.
Dans tous les cas, la création d’une commande associée à un type de commande prévisionnelle (fonctionnalité égale à 3) n’est pas autorisée avec la mise en test de fiabilité.
On affiche alors le message suivant :
Test de fiabilité interdit pour un type de commande de fonctionnalité cde prévisionnelle
09 :
1er cas : OF non négoce
Il faut tester l’existence de la tranche de l’OF dans la table TRANCHE
2ème cas : OF négoce
Cette zone doit être NULL, elle sera initialisée dans la suite du traitement.
10 :
1er cas : OF non négoce
Si l’option LA001W01/GEST_DDU=1 et que la date de départ usine du fichier est renseignée et que la date de sortie prévisionnelle est renseignée.
Il faut contrôler que la date de sortie prévisionnelle est inférieure à la date du jour, si c’est le cas, alors anomalie.
Si la date de sortie prévisionnelle est saisie et que le code tranche de fabrication est NULL alors, il faut initialiser la tranche de fabrication Sinon on déclenche une anomalie ‘Pas de tranche pour la date de sortie prévisionnelle de l’OF’.
Si le paramètre GEST_DAT_PHAS=1 ou si le paramètre LCT_MONO_DELA=1 et que la date de sortie prévisionnelle est NULL alors la date de sortie prévisionnelle de l’OF est obligatoire si gestion/phase ou lancement mono délai.
2ème cas : OF négoce
Les contrôles sont les mêmes que dans le cadre d’un OF non négoce.
11 :
1er cas : OF non négoce
Aucun contrôle car cette zone n’est pas utilisée.
2ème cas : OF négoce
Il faut contrôler que la date d’affectation prévue ne soit pas inférieure à la date du jour sinon anomalie.
12 :
1er cas : OF non négoce
La date de départ usine ne doit pas être inférieure à la date du jour sinon anomalie.
2ème cas : OF négoce
La date de départ usine ne doit pas être inférieure à la date du jour sinon anomalie.
On peut alors calculer la date de sortie prévisionnelle et lire la tranche de l’OF correspondante à partir de la date de sortie des lignes. Dans un premier temps, rechercher le nombre de jours de délai en fonction du circuit.
La valeur par défaut est 0.
La date de sortie prévisionnelle prend pour valeur la date de départ usine plus le nombre de jours trouvés. On peut alors, en fonction de cette date de sortie prévisionnelle trouver la tranche de l’OF. Sinon on gère une anomalie
‘Pas de tranche pour la date de livraison demandée calculée ! !’
13 :
1er cas : OF non négoce
Cette zone est libre et aucun contrôle n’est fait.
2ème cas : OF négoce
Cette zone est inutilisée dans le cadre d’un OF négoce.
14 :
1er cas : OF non négoce
Si le numéro de plan de lancement est renseigné, alors cette zone doit obligatoirement l’être.
2ème cas : OF négoce
Cette zone est inutilisée dans le cadre d’un OF négoce.
15 :
1er cas : OF non négoce
Le code circuit est facultatif si la zone CODE_EDI_CIRC ou numéro de fournisseur sont non nulles. Si la zone code circuit est nulle, on va rechercher, par défaut, le code circuit correspondant au Code EDI (table annexe TA443) Ou à défaut par rapport au fournisseur, on propose alors le circuit si le fournisseur n'existe que pour un seul circuit.
Dans un premier temps, il faut contrôler que le circuit de fabrication existe dans la table CIRC_FAB et qu’il n’est pas négoce. Sinon on gère une anomalie ‘Circuit de fabrication inexistant ou Négoce’.
Si le paramètre GEST_SOUM=1, si le champ LCT_SOUM de TYLCT est à X et si le champ CIRC_SOUM de CIRC_FAB est renseigné alors anomalie
‘Lancement de type soumission interdit ! !’
Si le paramètre GEST_SOUM=1, si le champ LCT_SOUM de TYLCT est à X et si le champ CIRC_SOUM de CIRC_FAB est NULL alors anomalie non bloquante
‘Attention, ce circuit ne possède pas de circuit de soumission ! !’
Dans un second temps, il faut contrôler que le circuit possède toutes les phases nomenclatures.
Si un enregistrement est ramené alors anomalie
‘Circuit de fabrication interdit car PHASE nomenclature non prévue ! !’
Ensuite, si le paramètre GEST_ORLI_PLAN=2 ou le paramètre GEST_ITI_FAB=1 alors il faut contrôler l’itinéraire.
Dans un premier temps, il faut contrôler qu’un itinéraire est défini au niveau de l’article.
Dans un second temps, il faut contrôler qu’un itinéraire est défini au niveau du circuit.
Enfin, il faut vérifier que le code itinéraire de l’article et le code itinéraire du circuit sont identiques sinon anomalie.
2ème cas : OF négoce
Cette zone est obligatoire et unique pour une commande. On contrôle l’existence du circuit dans la table CIRC_FAB en vérifiant qu’il s’agit bien d’un circuit négoce.
Ensuite, si le paramètre GEST_ORLI_PLAN=2 ou le paramètre GEST_ITI_FAB=1, si la saison et le code article sont renseignés alors, il faut contrôler l’itinéraire.
Dans un premier temps, il faut contrôler qu’un itinéraire est défini au niveau de l’article
Dans un second temps, il faut contrôler qu’un itinéraire est défini au niveau du circuit.
Enfin, il faut vérifier que le code itinéraire de l’article et le code itinéraire du circuit sont identiques sinon anomalie.
Si le code article est renseigné alors il faut contrôler si le circuit possède toutes les phases nomenclatures.
16 :
1er cas : OF non négoce
Il faut contrôler que des commandes de matières transformées ne sont pas liées au numéro de groupage.
Si la requête ramène un enregistrement alors anomalie
‘No de groupage interdit car des commandes de matières transformées lui sont liées.’
On vérifie que le groupage que l’on associe à cet OF possède bien la même phase de groupage que la première lue au niveau du circuit de l’OF (un groupage est mono-phase de groupage).
Si on trouve une phase de groupage pour le groupage, c’est que celui-ci existe déjà associé à un autre OF par phase. Comparaison par rapport à la première phase de groupage du circuit de l’OF en cours de saisie. Ainsi, si on trouve un enregistrement et si le champ GEST_GROP_PHAS de la table CIRC_FAB est non renseigné alors anomalie Erreur, groupage déjà lié à une phase de groupage, incompatible avec ce circuit.
Si le champ GEST_GROP_PHAS de la table CIRC_FAB est renseigné et si le champ PHAS_GROP de CIRC_FAB_DET ramené précédemment et le champ PHAS_GROP de CIRC_FAB_DET sont différents alors anomalie
‘Phase de groupage de ce groupage différente de la première phase de groupage du circuit ! !’
S’il n’existe pas de phase de groupage pour le circuit alors il faut vérifier que le groupage n’est pas associé à une phase de groupage, mais qu’il existe déjà, il ne peut, en effet, pas être lié à un OF dont le circuit gère les groupages à la phase.
Si on trouve un enregistrement et que le champ GEST_GROP_PHAS de CIRC_FAB est renseigné alors anomalie Erreur : ‘Circuit gérant les groupages par phase, incompatible avec ce groupage ! !’
Si le paramètre général GEST_STOK_GEST≠0 alors on recherche s’il existe des lancements associés à ce groupage et si le gestionnaire du groupage est identique à celui du fichier en gérant une anomalie
‘Les OF de ce groupage sont liés à un gestionnaire différent de celui saisi.’
Enfin, il faut contrôler que le circuit de fabrication ne soit pas différent de celui des autres OF du groupage.
Si le code circuit des OD du groupage et le code circuit du fichier sont différents alors anomalie
‘Le circuit de fabrication est différent de celui des autres OF du groupage ! !’
Si le numéro de groupage n’est pas nul, il est nécessaire de contrôler que si les circuits de fabrication sont différents pour les OFs du groupage, les phases communes à plusieurs circuits ont le même mode de déstockage. Dans le cas contrairement, l’OF ne peut pas faire partie du groupage et l’OF est rejeté. C’est-à-dire que les FLAG_CONSO des phases communes aux différents circuits de fabrication des OFs d’un groupage doivent être égaux.
2ème cas : OF négoce
Les contrôles sont les mêmes que pour les OF non négoce.
17 : Cette zone est obligatoire si le numéro de groupage est renseigné. (Tests identiques pour OF négoce et OF non négoce). Si elle n’est pas renseignée on prendra par défaut la date du jour.
18 : Cette zone ne peut être égale qu’à X ou NULL. Un OF est test de fiabilité est pris en compte nulle part sauf dans le programme de calcul de besoin sur test de fiabilité. (Tests identiques pour OF négoce et OF non négoce).
La mise en test de fiabilité est interdite pour une commande prévisionnelle (voir champ 08, type de commande fournisseur).
19 :
1er cas : OF non négoce
Si cette zone est à X cela signifie qu’il n’y a pas d’affectation matière de base à faire. Elle ne peut donc prendre pour valeur que X ou NULL.
2ème cas : OF négoce
Cette zone n’est pas utilisée dans ce cas.
20 :
1er cas : OF négoce
Contrôle d’existence dans la table MAGPF. La saisie de ce code est obligatoire.
Si cette zone est nulle, on lui met par défaut la valeur des options de magasin Produit fini LIEU_RECEP_PF) ou semi-fini (LIEU_RECEP_SF) selon le produit traité, si l’option est nulle on génère une erreur.
2ème cas : OF non négoce
Ce champ n’est pas obligatoire.
Si cette zone est nulle, on lui met par défaut la valeur des options de magasin Produit fini LIEU_RECEP_PF) ou semi-fini (LIEU_RECEP_SF) selon le produit traité, si l’option est nulle on ne génère pas d’erreur.
21 :
1er cas : OF négoce
Contrôle d’existence dans la table MAGPF en fonction du code lieu et du code magasin. La saisie de ce code est obligatoire.
Si cette zone est nulle, on lui met par défaut la valeur des options de magasin Produit fini MAGP_RECEP_PF) ou semi-fini (MAGP_RECEP_SF) selon le produit traité, si l’option est nulle on génère une erreur.
2ème cas : OF non négoce
Si le code lieu est NULL alors le code magasin doit être également NULL, par contre, si le code lieu est renseigné, le code magasin doit l’être aussi. Contrôle d’existence dans la table MAGPF en fonction du code lieu, du code magasin et avec un type de stockage par articles exclusivement.
Si cette zone est nulle, on lui met par défaut la valeur des options de magasin Produit fini MAGP_RECEP_PF) ou semi-fini (MAGP_RECEP_SF) selon le produit traité, si l’option est nulle on ne génère pas d’erreur.
22 :
1er cas : OF non négoce
Cette zone n’est pas utilisée dans ce cas et on ne prend pas la valeur de l’option LIEU_FACT.
2ème cas : OF négoce
Ce code est obligatoire.
Si cette zone est nulle, on lui met par défaut la valeur de l’option LIEU_FACT si l’option est nulle on génère une erreur.
23 :
1er cas : OF non négoce
Cette zone n’est pas utilisée dans ce cas et on ne prend pas la valeur de l’option MAGP_FACT.
2ème cas : OF négoce
Ce code est obligatoire. Contrôle d’existence dans la table LIEUFACT en fonction du code lieu et du code magasin.
Si cette zone est nulle, on lui met par défaut la valeur de l’option MAGP_FACT si l’option est nulle on génère une erreur.
24 :
1er cas : OF non négoce INUTILISE
Cette zone est cochée si l’article saisi est lancé en tant que composant d’un ensemble. Cette zone ne peut donc être égale qu’à X ou NULL.
2ème cas : OF négoce
Cette zone n’est pas utilisée dans ce cas.
25 :
1er cas : OF non négoce INUTILISE
Contrôle d’existence dans la table SAISON.
2ème cas : OF négoce
Cette zone n’est pas utilisée dans ce cas.
26 :
1er cas : OF non négoce INUTILISE
Le code article de regroupement est obligatoire si la saison de regroupement est spécifiée. Contrôle d’existence dans la table ART_COM en fonction de la saison et du code article.
Il faut vérifier que l’article soit un article de regroupement
contrôle dans la table ART_COM en fonction de la saison et du code article avec le CODE_TYP_RGPT non NULL.
Il faut vérifier enfin que l’article est lié à un regroupement qui le contient.
Si aucun enregistrement n’est ramené alors anomalie
‘Vous tentez de lier un article à un regroupement qui ne le contient pas.’
2ème cas : OF négoce
Cette zone n’est pas utilisée dans ce cas.
27 : 1er cas : OF non négoce
Cette zone est cochée ou NULL.
2ème cas : OF négoce
Cette zone n’est pas utilisée.
28 :
1er cas : OF non négoce
Si le paramètre GEST_STOK_GEST≠0 alors il faut contrôler l’existence dans la table GEST_GPAO. La saisie de ce code est alors obligatoire.
2ème cas : OF négoce
Les contrôles sont les mêmes que ceux précédemment cités.
29 :
1er cas : OF non négoce
Cette zone est non utilisée dans ce cas
2ème cas : OF négoce
Cette zone est présente à titre d’informations.
30 :
1er cas : OF non négoce
Cette zone n’est pas utilisée dans ce cas
2ème cas : OF négoce
Contrôle d’existence dans la table TRANSP. On prend par défaut le code transporteur associé au lieu de l’atelier négoce du circuit.
31 :
1er cas : OF non négoce
Cette zone n’est pas utilisée dans ce cas
2ème cas : OF négoce
Contrôle d’existence dans la table MODEXP. On prend par défaut le mode d’expédition associé au lieu de l’atelier négoce du circuit.
32 :
1er cas : OF non négoce
Cette zone ne peut être égale qu’à X ou NULL.
2ème cas : OF négoce
Cette zone ne peut être égale qu’à X ou NULL.
Dans les deux cas, si cette zone vaut X alors le FLAG_AFF et le FLAG_REEL doivent être positionnés à 2 et DAT_AFF et DAT_REEL doivent être initialisées à la date de l’OF. Ces zones seront mises à jour dans la table ORL_OF_ENT.
De plus, si cette zone est à X alors il n’est pas nécessaire de faire le calcul du besoin matière car il aura déjà été fait.
33 : Regroupement commerciaux
Cde fournisseur PF négoce et non négoce, même traitement.
Pour créer une sous-commande (fille) d’un regroupement commercial, la commande du regroupement (père) doit exister ou être en phase de l’être, sinon on retourne une anomalie.
(Test d’existence dans la table réceptacle ORL_OF_ENT ou OF_ENT. Anomalie si inexistant.)
34 :
1er cas : OF non négoce
Cette zone n’est pas utilisée dans ce cas
2ème cas : OF négoce
Test d’existence dans MONNAIE.
Si ce champ n’est pas obligatoire. S’il est nul, on prend le code monnaie du fournisseur de l’atelier qui réalise la phase négoce.
35 : Cette zone est facultative, elle permet de renseigné la zone CODE_CIRC si cette dernière est nulle en allant chercher la correspondance dans la table annexe TA443 entre le code EDI et le code du circuit.
36 : Cette zone est facultative. Si elle est renseignée cela signifie que le jalonnement et l’entrée en stock ne pourront se faire que par la passerelle PAS-STO et non par SP001, SP030, NE006 et LA650.
37 : Cette zone est obligatoire si le paramètre GEST_DIV_PROD=1.
38 : Cette zone est facultative et permet d’associer un fournisseur à l’entête de commande fournisseur PF. Si le fournisseur est renseigné, on l’utilise pour mettre par défaut à jour les zones lui étant associées comme sa monnaie, son mode et moyen de règlement, ses conditions de port, son échéance et son mode d’expédition.
Pour une commande négoce, on propose par défaut le fournisseur de l'atelier de la phase négoce. Pour un ordre de fabrication, si le circuit est saisi et que le fournisseur est nul, on propose le fournisseur de l'atelier de la première phase critique du circuit, si le circuit est multi-fournisseurs et ne contient pas de phase critique alors le fournisseur reste nul.
39 : Cette zone permet de définir qu’une commande est un regroupement commercial lancé en éclaté. On identifie qu’il s’agit d’une commande mère.
Implicitement cette commande mère aura des filles identifiées, elles, par un numéro de commande d’appartenance (OF_APPART) qui reprend le numéro de commande de la mère.
Contrôles généraux :
1er cas : OF non négoce
Si la zone TRAN_OF est NULL et si la date de sortie prévisionnelle est renseignée, alors il faut calculer la tranche de fabrication à partir de la date de sortie prévisionnelle _FIN;
Cette recherche permet d’initialiser les trois champs suivants de OF_ENT :
- TRAN_OF
- DAT_DEB
- DAT_FIN
Si aucun enregistrement n’est ramené alors anomalie Pas de tranche pour la date de sortie prévisionnelle de l’OF.
- Si le numéro du groupage de besoins sur OF (NUM_GROP_BES) est renseigné et si le paramètre général AFF_PRIM est à 0 alors FLAG_AFF_PRIM passe à X.
Si le paramètre général AFF_PRIM est différent de 0 et si il existe un enregistrement dans la table GBES_LCT pour le numéro de groupage de besoins indiqué alors FLAG_AFF_PRIM prend pour valeur le champ FLAG_AFF_PRIM de la table GBES_LCT pour le numéro de groupage de besoins.
- Si on ne gère pas l’affectation matière de base alors on considère que cette affectation matière de base comme étant faite. Ainsi si le paramètre général AFF_PRIM est différent de 1 alors la zone FLAG_AFF_PRIM est initialisée à X.
4) Insertion dans la table OF_ENT : il faut renseigner autant de zones qu’il est possible d’en renseigner en fonction des zones extraites du fichier et de celles initialisées au cours du traitement.
5) Insertion de la ligne relative au plan de lancement si cette insertion n’a pas déjà été faite :
Si le champ NUM_PLAN_LCT du fichier est renseigné et s’il n’y a aucun enregistrement dans la table PLAN_LCT en fonction de ce numéro de plan de lancement alors on insère la date de planification et son numéro dans la table des plans de lancement.
6) Insertion de la ligne relative au groupage de besoins si cette insertion n’a pas déjà été faite :
7) Il faut tester si l’OF ne possède qu’une partie de ses phases associées à un groupage. Si tel est le cas, et que le numéro de groupage est renseigné en entête, ce dernier est remis à NULL ainsi que sa date. En effet, il ne doit être renseigné que lorsque toutes les phases de l’OF (OF_CIRC_FAB) sont associées à un seul et même groupage :
2ème cas : OF négoce
1)
- La saison est obligatoire
- Le code type de lancement est obligatoire
- La société est obligatoire
- La date de commande est obligatoire
- Si le paramètre général GEST_DAT_PHAS=1 et si la date de sortie prévisionnelle n’est pas renseignée alors anomalie la date de sortie prévisionnelle de l’OF est obligatoire si elle est gérée par phase ! !
- Si le paramètre général GEST_STOK_GEST≠0 alors le code gestionnaire est obligatoire
- Le circuit est obligatoire
- Si le paramètre AFF_PRIM est différent de 1 alors le champ FLAG_AFF_PRIM prend pour valeur ‘X’
2) Mise à jour de OF_ENT en fonction de toutes les informations dont nous disposons.
3) Il faut tester si l’OF ne possède qu’une partie de ses phases associées à un groupage. Si tel est le cas, et que le numéro de groupage est renseigné en entête, ce dernier est remis à NULL ainsi que sa date. En effet, il ne doit être renseigné que lorsque toutes les phases de l’OF (OF_CIRC_FAB) sont associées à un seul et même groupage.
Que l’OF soit négoce ou non :
1) Si aucun enregistrement n’est présent dans la table réceptacle ORL_OF_CIRC_FAB pour cet OF, alors il faut générer en automatique l’enregistrement dans ORL_OF_CIRC_FAB à partir de la table CIRC_FAB_DET.
2) Si le paramètre GEST_DAT_PHAS=1 alors il faut calculer les dates de sortie et entrée prévisionnelles avec la procédure calc_dat_sort_entr_prev() ;
3) Quelle que soit le type de la commande (négoce ou fabriqué), on génère un enregistrement dans OF_CIRC_FAB_NEG (pour la phase négoce si négoce et sans phase pour le fabriqué).
Ce 2ème enregistrement va permettre de mettre à jour la table :( * => champ obligatoire 0)
-
OF_LIGN : table des lignes d’OF
| N° | CHAMP | TYPE | * | COMMENTAIRES |
|
0 |
Type enregistrement |
C2 |
O |
= 02 pour les lignes |
|
1 |
NUM_OF |
C8 |
O |
Numéro de l’ordre de fabrication |
|
2 |
NUM_LIGN |
C40 |
O |
Numéro de ligne |
|
3 |
SAIS |
C3 |
O |
Saison de l’article |
|
4 |
CODE_ART_TEC |
C15 |
O |
Code de l’article |
|
5 |
CODE_COLM |
C5 |
O |
Code coloris de l’article |
|
6 |
CODE_FINI_SPEC |
C8 |
|
Code finition spéciale de l’article |
|
7 |
DAT_SORT_PREV |
D |
O |
Date de sortie prévisionnelle |
|
8 |
DAT_DEP_USI |
D |
|
Date de départ usine |
|
9 |
QTE_LAN_T1 |
N5 |
|
Quantité lancée pour la taille 1 |
|
10 |
QTE_LAN_T2 |
N5 |
|
Quantité lancée pour la taille 2 |
|
11 |
QTE_LAN_T3 |
N5 |
|
Quantité lancée pour la taille 3 |
|
12 |
QTE_LAN_T4 |
N5 |
|
Quantité lancée pour la taille 4 |
|
13 |
QTE_LAN_T5 |
N5 |
|
Quantité lancée pour la taille 5 |
|
14 |
QTE_LAN_T6 |
N5 |
|
Quantité lancée pour la taille 6 |
|
15 |
QTE_LAN_T7 |
N5 |
|
Quantité lancée pour la taille 7 |
|
16 |
QTE_LAN_T8 |
N5 |
|
Quantité lancée pour la taille 8 |
|
17 |
QTE_LAN_T9 |
N5 |
|
Quantité lancée pour la taille 9 |
|
18 |
QTE_LAN_T10 |
N5 |
|
Quantité lancée pour la taille 10 |
|
19 |
QTE_LAN_T11 |
N5 |
|
Quantité lancée pour la taille 11 |
|
20 |
QTE_LAN_T12 |
N5 |
|
Quantité lancée pour la taille 12 |
|
21 |
QTE_LAN_T13 |
N5 |
|
Quantité lancée pour la taille 13 |
|
22 |
QTE_LAN_T14 |
N5 |
|
Quantité lancée pour la taille 14 |
|
23 |
QTE_LAN_T15 |
N5 |
|
Quantité lancée pour la taille 15 |
|
24 |
QTE_LAN_T16 |
N5 |
|
Quantité lancée pour la taille 16 |
|
25 |
QTE_LAN_T17 |
N5 |
|
Quantité lancée pour la taille 17 |
|
26 |
QTE_LAN_T18 |
N5 |
|
Quantité lancée pour la taille 18 |
|
27 |
QTE_LAN_T19 |
N5 |
|
Quantité lancée pour la taille 19 |
|
28 |
QTE_LAN_T20 |
N5 |
|
Quantité lancée pour la taille 20 |
|
29 |
CODE_LIEU_RECE |
C3 |
O |
Code lieu du magasin PF de réception prévisionnel |
|
30 |
CODE_MAGP_RECE |
C2 |
O |
Code magasin PF de réception prévisionnel |
|
31 |
AU_TITRE_DE |
C1 |
|
=X si lancé en tant que composant d’un ensemble |
|
32 |
SAIS_RGPT_COM |
C3 |
|
Saison de l’ensemble dont ce produit est composant |
|
33 |
CODE_RGPT_COM |
C15 |
|
Code de l’ensemble dont ce produit est composant |
|
34 |
CODE_COLM_RGPT |
C5 |
|
Code coloris de l’ensemble dont ce produit est composant |
|
35 |
CODE_LIEU_ORIG |
C3 |
O |
Code lieu du magasin PF d’approvisionnement |
|
36 |
CODE_MAGP_ORIG |
C2 |
O |
Code magasin PF d’approvisionnement |
|
37 |
NUM_LIGN_APPART |
C40 |
|
Numéro de ligne de l’ensemble dont cette ligne est composant |
Commentaires :
1 : Il faut contrôler qu’il existe un entête avec ce numéro d’OF dans la table réceptacle des entêtes d’OF.
2 : Il faut contrôler qu’il n’existe pas un autre enregistrement dans la table réceptacle des lignes d’OF avec le même numéro d’OF et le même numéro de ligne.
3 :
1er cas : OF non négoce
Si la zone SAIS_ART est renseignée au niveau entête, elle doit être égale à celle renseignée dans cette zone.
2ème cas : OF négoce
Si la zone SAIS_ART est renseignée au niveau entête, elle doit être égale à celle renseignée dans cette zone, sinon, il faut contrôler ce code dans la table SAISON. Ce code est obligatoire.
4 :
1er cas : OF non négoce
Si la zone CODE_ART_TEC est renseignée au niveau entête, elle doit être égale à celle renseignée dans cette zone.
2ème cas : OF négoce
Si le paramètre général GEST_ORLI_PLAN=2 ou si le paramètre général GEST_ITI_FAB=1 alors il faut contrôler l’itinéraire de l’article en recherchant dans un premier temps le CODE_ITI de l’article dans la table ART_TEC. Si on ne trouve pas d’enregistrements alors anomalie Article inexistant. Si on trouve un enregistrement mais si le code itinéraire est NULL alors anomalie
Itinéraire non défini au niveau de l’article.
Si le code itinéraire est renseigné, il faut rechercher le CODE_ITI du circuit de fabrication de l’entête dans la table CIRC_FAB. Si on ne trouve pas d’enregistrements alors anomalie Circuit inexistant. Si on trouve un enregistrement mais si le code itinéraire est NULL alors anomalie Itinéraire non défini au niveau du circuit.
Si le code itinéraire de l’article est différent du code itinéraire du circuit alors anomalie
Itinéraire article et itinéraire circuit doivent être identiques.
Il faut contrôler l’existence de l’article pour la société de l’OF (l’article doit être actif) en gérant éventuellement une anomalie
Article inconnu, inexploitable ou de société différente ! ! !
5 : 1er cas : OF non négoce
Il faut contrôler la validité du produit en gérant éventuellement une anomalie
Produit inexistant, inexploitable ou en arrêt de fabrication ! !
Le coloris est obligatoire.
Il faut contrôler qu’il existe une grille fabriquée pour ce produit en gérant éventuellement une anomalie
Aucune grille fabriquée pour ce produit ! !
Contrôle sur le type de fabrication en gérant éventuellement une anomalie
Le type de fabrication du produit n’a aucune taille négociée ! !
Si le paramètre général OF_MONO_TRAIT=1 alors il faut vérifier que le code traitement du produit soit égal aux codes traitements des autres produits de l’OF en gérant éventuellement une anomalie
Traitement du produit différent de celui appliqué aux autres produits de l’OF ! !
Si le paramètre général CTRL_PHAS_TRAIT=1 alors il faut rechercher dans la table PROD_TEC la valeur du champ CODE_TRAI.
Si le code traitement trouvé est renseigné alors il faut vérifier que le produit ne doit pas subir un traitement et que la phase de traitement est inexistante pour le circuit en gérant éventuellement une anomalie
Ce produit doit subir un traitement et phase de traitement inexistante pour circuit ! ! !
Si l’option WARN_CTRL_NOMEN=1 alors on vérifie qu’il existe un enregistrement dans la table NOMEN_PROD pour ce produit. S’il n’en existe pas alors message non bloquant
Il n’y a pas de nomenclature pour ce produit ! !
Par contre, s’il existe un enregistrement alors
- on lit les lignes de nomenclatures et on contrôle que les coloris des composants sont bien tous renseigné pour toutes les lignes de nomenclature. Si ce n’est pas le cas alors message non bloquant
-
Les coloris matière de la nomenclature du produit ne sont pas tous renseignés ! !
- on lit les lignes de nomenclatures et on contrôle que les codes emploi sont bien tous renseignés pour toutes les lignes de nomenclature. Si ce n’est pas le cas alors message non bloquant
-
Les emplois de la nomenclature du produit ne sont pas tous renseignés ! ! !
2ème cas : OF négoce
Le coloris est obligatoire.
Il faut contrôler la validité du produit en gérant éventuellement une anomalie
-
Produit inexistant ou inexploitable ou en arrêt de fabrication ! !
On affiche un message d’anomalie non bloquant si le magasin de réception, s’il a été saisi en entête, est différent du magasin de stock prévu pour le produit. S’il n’y a rien dans le magasin de réception en entête, on l’initialise avec celui du produit.
Il faut contrôler qu’il existe une grille fabriquée pour ce produit en gérant éventuellement une en gérant éventuellement une anomalie
-
Aucune grille fabriquée pour ce produit ! !
Et on contrôle le type de fabrication en gérant éventuellement une anomalie
-
Le type de fabrication du produit n’a aucune taille négociée ! !
Si le paramètre général GES_QTE_COU_FAC=0 alors on vérifie que le produit dispose d’un coût façon négoce en gérant éventuellement une anomalie si l’option du programme NE001 est à 0
-
Le produit n’a pas de coût façon négoce ! ! !
La saison de l’entête de commande fournisseur est considérée comme saison d’appro pour le coût façon (si saison appro gérée)
Si l’option LA001 est différente de 0 alors message non bloquant
Le produit n’a pas de coût façon négoce ! !
Il faut dans tous les cas avoir un enregistrement dans la table ORL_OF_LIGN_COUT pour cet OF. Les coûts indiqués seront soit des coûts spéciaux soit des coûts extraits d’une table de gestion des coûts façons négoces
(exemple : dans Cegid Orli il s’agit de COUT_FACON_NEGOCE).
Si le paramètre général OF_MONO_TRAIT=1 alors il faut rechercher dans la table PROD_TEC la valeur du champ CODE_TRAI.
Si le paramètre général OF_MONO_TRAIT=1 alors il faut vérifier que le code traitement du produit soit égal aux codes traitements des autres produits de l’OF en gérant éventuellement une anomalie
Traitement du produit différent de celui appliqué aux autres produits de l’OF ! !
Si le paramètre général CTRL_PHAS_TRAIT=1 alors il faut rechercher dans la table PROD_TEC la valeur du champ CODE_TRAI.
Si le code traitement trouvé est renseigné alors il faut vérifier que le produit ne doit pas subir un traitement et que la phase de traitement est inexistante pour le circuit en gérant éventuellement une anomalie
Ce produit doit subir un traitement et phase de traitement inexistante pour circuit ! ! !
Si l’option WARN_CTRL_NOMEN=1 alors on vérifie qu’il existe un enregistrement dans la table NOMEN_PROD pour ce produit. S’il n’en existe pas alors message non bloquant
Il n’y a pas de nomenclature pour ce produit ! !
En revanche, s’il existe un enregistrement alors
- on lit les lignes de nomenclatures et on contrôle que les coloris des composants sont bien tous renseignés pour toutes les lignes de nomenclature. Si ce n’est pas le cas alors message non bloquant
Les coloris matière de la nomenclature du produit ne sont pas tous renseignés ! !
- on lit les lignes de nomenclatures et on contrôle que les codes emploi sont bien tous renseignés pour toutes les lignes de nomenclature. Si ce n’est pas le cas alors message non bloquant
Les emplois de la nomenclature du produit ne sont pas tous renseignés ! ! !
6 : 1er cas : OF non négoce
Il ne peut pas y avoir de finition spéciale si l’option du programme LA001 nommée TOUTE_FSPE est égale à 1.
Si l’article est un semi-fini, il ne peut pas y avoir de finition spéciale donc anomalie
La notion de finition spéciale est interdite pour les articles SEMI-FINIS.
Si le paramètre général GEST_MULT_MAG=1 alors il faut effectuer les contrôles suivants.
Il faut vérifier qu’une finition spéciale est prévue pour l’article en gérant éventuellement une anomalie
Finition spéciale non prévue pour cet article ! !
Contrôle d’existence dans la table FINI_SPEC.
2ème cas : OF négoce
Si l’article est un semi-fini, il ne peut pas y avoir de finition spéciale donc anomalie
La notion de finition spéciale est interdite pour les articles SEMI-FINIS.
Si le paramètre général GEST_MULT_MAG=1 alors il faut effectuer les contrôles suivants.
Il faut vérifier qu’une finition spéciale est prévue pour l’article en gérant éventuellement une anomalie
Aucune finition spéciale spécifique n’est prévue pour l’article ! !
7 : 1er cas : OF non négoce
Si le paramètre général LCT_MONO_DELA=0 et si GEST_ORLI_PLAN=2 alors anomalie
Date de sorte prévisionnelle obligatoire ! ! ! !
Si le paramètre GEST_DDU=1 et si la date de départ usine au niveau des lignes est renseignée et si la date de sortie prévisionnelle est renseignée et si la date de sortie prévisionnelle est inférieure à la date de départ usine alors anomalie
Date de sortie prévisionnelle inférieure à la date de départ usine ! !
Si la date de sortie prévisionnelle est inférieure à la date du jour alors anomalie
Date de sortie prévisionnelle inférieure à la date du jour ! !
Il faut rechercher la tranche pour la date de sortie prévisionnelle en gérant éventuellement une anomalie ‘Pas de tranche pour la date de sortie prévisionnelle de la ligne d’OF’.
Cette recherche permet de mettre à jour le champ TRAN_LIGN_OF.
Il faut contrôler qu’il n’existe pas déjà une ligne d’OF pour cet OF avec la même saison, le même code article, le même code coloris, la même finition spéciale et la même date de sortie prévisionnelle. Si c’est le cas message non bloquant.
2ème cas : OF négoce
Cette date est obligatoire au niveau des lignes d’OF.
Si le paramètre GEST_DDU=1 et si la date de départ usine est renseignée et si la date de sortie prévisionnelle est inférieure à la date de départ usine alors anomalie
Date de sortie prévisionnelle inférieure à la date de départ usine ! !
Si la date de sortie prévisionnelle est inférieure à la date du jour alors anomalie
Date de sortie prévisionnelle inférieure à la date du jour ! !
Il faut rechercher la tranche pour la date de sortie prévisionnelle en gérant éventuellement une anomalie
Pas de tranche pour la date de sortie prévisionnelle de la ligne d’OF
Cette recherche va permette de mettre à jour le champ TRAN_LIGN_OF.
8 : 1er cas : OF non négoce
Si la date de départ usine est inférieure à la date du jour alors anomalie
Date de départ usine inférieure à la date du jour ! !
Si l’option LA001W01/CALC_DSP_AUTO=1 alors on recherche le nombre de jours de délai (dans CIRC_FAB)
Si on ne trouve aucun enregistrement, le nombre de jours prend pour valeur 0.
Ce nombre de jour est additionné à la date de départ usine afin de rechercher dans la table des tranches le code tranche correspondant.
Si aucun enregistrement n’est trouvé alors anomalie
Pas de tranche pour la date de livraison demandée calculée ! ! !
2ème cas : OF négoce
Les tests sont les mêmes que ceux effectués ci-dessus.
9 : 1er cas : OF non négoce
Il faut rechercher la grille de fabrication du produit en gérant éventuellement une anomalie
Aucune grille de fabrication pour ce produit ! ! !
Pour chacune des 20 quantités reçues, il faut vérifier que la taille est fabriquée. Ainsi, si le champ GRIL_FAB_TX est différent de NULL, alors on peut avoir une quantité de renseignée pour cette taille, sinon la quantité doit être forcément non renseignée ! !
2ème cas : OF négoce
On va rechercher la grille de taille fabriquée et négociée du produit en gérant éventuellement une anomalie
Aucune grille fabriquée pour ce produit ! ! !
On contrôle le type de fabrication en gérant éventuellement une anomalie
Le type de fabrication du produit n’a aucune taille négociée ! ! ! !
Si le champ GRIL_FAB_TX est renseigné alors il est possible d’avoir une quantité pour la taille X sinon c’est une anomalie.
10 à 28 : 1er cas : OF non négoce
Les tests sont les mêmes que ceux indiqués pour la zone 9
2ème cas : OF négoce
Les tests sont les mêmes que ceux indiqués pour la zone 9
29 : 1er cas : OF non négoce
Ce code est obligatoire. Si cette zone est nulle, on prend celle de l’entête d’OF. Il faut tester son existence dans la table MAGPF
2ème cas : OF négoce
Les tests sont les mêmes que dans le cas des OF non négoces.
30 : 1er cas : OF non négoce
Ce code est obligatoire. Si cette zone est nulle, on prend celle de l’entête. Il faut tester son existence dans la table MAGPF
2ème cas : OF négoce
Les tests sont les mêmes que dans le cas des OF non négoces.
31 : 1er cas : OF non négoce
Cette zone n’est renseignée que si la zone AU_TITRE_DE est cochée au niveau entête. Elle ne peut être égale qu’à X ou NULL.
2ème cas : OF négoce
Cette zone n’est pas utilisée dans ce cas.
32 :1er cas : OF non négoce
Cette zone est renseignée si la zone AU_TITRE_DE est cochée. Test d’existence dans la table SAISON.
2ème cas : OF négoce
Cette zone n’est pas utilisée dans ce cas.
33 :1er cas : OF non négoce
Cette zone est renseignée si la zone précédente est renseignée. Elle est alors obligatoire. Test d’existence dans ART_COM et test par rapport aux zones d’entête.
2ème cas : OF négoce
Cette zone n’est pas utilisée dans ce cas.
34 :1er cas : OF non négoce
Cette zone est renseignée si la zone précédente est renseignée. Test d’existence dans la table REGRO_PROD en gérant éventuellement une anomalie
Coloris inexistant ou invalide pour cet article de ce regroupement commercial/coloris ! ! !
2ème cas : OF négoce
Cette zone n’est pas utilisée dans ce cas.
35 : A ne renseigner que pour une commande de transfert (c’est-à-dire dont le circuit est rattaché à un code méthode d’approvisionnement dont la fonctionnalité est ‘03’).
Ce code est, dans ce cas, obligatoire sinon il doit être nul. On teste son existence dans la table MAGPF
Il s’agit du magasin où l’on va s’approvisionner pour couvrir le besoin et alimenter le magasin de besoin.
36 : A ne renseigner que pour une commande de transfert (c’est-à-dire dont le circuit est rattaché à un code méthode d’approvisionnement dont la fonctionnalité est ‘03’).
Ce code est, dans ce cas, obligatoire sinon il doit être nul. On teste son existence dans la table MAGPF
Il s’agit du magasin où l’on va s’approvisionner pour couvrir le besoin et alimenter le magasin de besoin.
37 : cette zone identifie, le numéro de la ligne de l’ensemble, c’est-à-dire la ligne mère.
On sait ainsi que la ligne de commande courante est la fille de la ligne mère renseignée ici.
N.B. :
le numéro de commande de la mère est déduit de l’entête de commande de la fille.
Contrôles généraux et insertions
OF non négoce :
- La date de création doit être renseignée avec la date du jour.
Le champ FCTN_TYP_LCT est mis à jour avec la valeur du champ FCTN_TYP_LCT de l’entête. - On teste si le numéro d’OF existe déjà en entête.
- Il faut contrôler qu’au moins une quantité est renseignée.
- On effectue l’insertion dans la table des lignes d’OF (OF_LIGN) avec toutes les informations dont on dispose à ce moment dans le traitement.
- Insertion d’un enregistrement dans PROD_STOK à 0 pour que les consultations sur le stock produits finis fonctionnent si on n’a encore rien entré en stock.
- Mise à jour de la table de gestion de la répartition de la fabrication pour un article (REPA_FAB_ART).
OF négoce :
- Mise à jour de la date de création avec la date du jour.
Le champ FCTN_TYP_LCT au niveau ligne est mis à jour avec celui de l’entête.
Contrôle de l’unicité de la ligne de commande en gérant éventuellement une anomalie ‘Attention, ligne avec même saison, même numéro de ligne, même article, même coloris, même finition spéciale et même date de sortie prévisionnelle déjà existante.’
- Il faut contrôler que le numéro de ligne n’existe pas déjà dans la table réceptacle des lignes d’OF (ORL_OF_LIGN).
- Il faut contrôler que si l’article est saisi en entête de l’OF cela signifie que la commande est mono article et que, par conséquent, l’article dans la ligne doit être celui de la commande.
- Il faut contrôler qu’il y a au moins une quantité renseignée.
- On peut à présent faire l’insertion dans la table des lignes d’OF (OF_LIGN) avec toutes les informations dont on dispose à ce moment du traitement.
7) On met à jour PROD_STOK de type 0.
8) Traitement du code entretien si le champ CODE_ENT est non nul.
On met alors à jour le champ FLAG_ENTR_COMPO à X ; sinon si la ligne d’OF existe dans la table des compositions produit spécifique par ligne de commande (OF_LIGN_COMPO), il faut mettre à jour le champ FLAG_ENTR_COMPO à X sinon il conserve la valeur NULL.
Si le champ FLAG_ENTR_COMPO est à X alors il faut rechercher la valeur du code entretien dans la table PROD_TEC pour le produit de la ligne d’OF.
On peut ensuite mettre à jour OF_LIGN.
Puis faire une insertion dans OF_LIGN_COMPO.
- Calcul du besoin matière pour la ligne d’OF si la zone APPRO_MAT_FINI de l’entête est NULL
SPGCOFC 3 1 ‘Numéro d’OF’ ‘NUM_GROP_BES du fichier’
‘FLAG_TEST_FIAB de l’entête d’OF’ ‘Numéro de la ligne d’OF’ MSG
Ce 3ème enregistrement va permettre de mettre à jour la table :( * => champ obligatoire 0)
-
OF_LIGN_COUT :
table des coûts façon et négoce par ligne d’OF/circuit/atelier et éventuellement phase
| N° | CHAMP | TYPE | * | COMMENTAIRES |
|
0 |
Type enregistrement |
C2 |
O |
= 03 pour les coûts |
|
1 |
NUM_OF |
C8 |
O |
Numéro de l’ordre de fabrication |
|
2 |
NUM_LIGN |
C40 |
O |
Numéro de ligne |
|
3 |
CODE_CIRC |
C3 |
O |
Code circuit de fabrication |
|
4 |
CODE_LIEU |
C3 |
O |
Code lieu |
|
5 |
CODE_ATEL |
C2 |
O |
Code atelier |
|
6 |
CODE_PHAS |
C3 |
|
Code phase de fabrication |
|
7 |
CODE_MON |
C3 |
O |
Code monnaie |
|
8 |
COUT_1 |
N10 |
|
Coût pour la taille 1 |
|
9 |
COUT_2 |
N10 |
|
Coût pour la taille 2 |
|
10 |
COUT_3 |
N10 |
|
Coût pour la taille 3 |
|
11 |
COUT_4 |
N10 |
|
Coût pour la taille 4 |
|
12 |
COUT_5 |
N10 |
|
Coût pour la taille 5 |
|
13 |
COUT_6 |
N10 |
|
Coût pour la taille 6 |
|
14 |
COUT_7 |
N10 |
|
Coût pour la taille 7 |
|
15 |
COUT_8 |
N10 |
|
Coût pour la taille 8 |
|
16 |
COUT_9 |
N10 |
|
Coût pour la taille 9 |
|
17 |
COUT_10 |
N10 |
|
Coût pour la taille 10 |
|
18 |
COUT_11 |
N10 |
|
Coût pour la taille 11 |
|
19 |
COUT_12 |
N10 |
|
Coût pour la taille 12 |
|
20 |
COUT_13 |
N10 |
|
Coût pour la taille 13 |
|
21 |
COUT_14 |
N10 |
|
Coût pour la taille 14 |
|
22 |
COUT_15 |
N10 |
|
Coût pour la taille 15 |
|
23 |
COUT_16 |
N10 |
|
Coût pour la taille 16 |
|
24 |
COUT_17 |
N10 |
|
Coût pour la taille 17 |
|
25 |
COUT_18 |
N10 |
|
Coût pour la taille 18 |
|
26 |
COUT_19 |
N10 |
|
Coût pour la taille 19 |
|
27 |
COUT_20 |
N10 |
|
Coût pour la taille 20 |
On peut valoriser aussi bien une commande négoce qu’un ordre de fabrication.
S’il n’est pas présent, il peut être généré automatiquement à partir de la table COUT_FACON_NEGOCE selon l’option GEN_COU_PHA_NUL de LA001.
Commentaires :
1 : Il faut contrôler qu’il existe un entête avec ce numéro d’OF dans la table réceptacle des entêtes d’OF.
2 : Il faut contrôler qu’il existe une ligne d’OF pour ce numéro d’OF et ce numéro de ligne dans la table réceptacle des lignes d’OF
3 : Ce code circuit doit être égal au code circuit de l’entête de l’OF : contrôle dans la table réceptacle ORL_OF_ENT.
4 : Contrôle d’existence dans la table LIEUX.
5 : Contrôle d’existence dans la table ATEFAB en fonction du code lieu et du code atelier.
Contrôle que l’atelier appartient au circuit de fabrication en gérant éventuellement une anomalie
Cet atelier n’appartient pas au circuit de fabrication ! !
6 : Contrôle d’existence dans la table PHASE.
Contrôle que cette phase est associée à l’atelier indiqué pour ce circuit de fabrication.
Il faut contrôler qu’il n’existe pas déjà un enregistrement pour cet OF, cet atelier et cette phase.
7 : Le code monnaie doit être égal au code monnaie de l’entête d’OF.
8 à 27 : Aucun contrôle particulier n’est nécessaire sur ces champs
Contrôles généraux :
- Il faut contrôler que les prix spéciaux pour les tailles à la vente ont été saisis. Pour se faire il faut rechercher la grille de fabrication et de négoce du produit (Réf. : Champ 9 de l’enregistrement des lignes dans le cas des OF négoces). Si le champ GRIL_FAB_TX est renseigné alors il doit y avoir un coût pour la taille X.
Mise à jour du champ suivant :
- DAT_CRE par SYSDATE
- USER_CRE par XC625W01
- DAT_MOD par ‘’
- USER_MOD par ‘’
- PRIX_SPEC par ‘’
Ce 4ème enregistrement va permettre de mettre à jour la table :( * => champ obligatoire 0)
-
OF_DOC_ENT : table des entêtes de commentaires
-
OF_DOC : table des lignes de commentaires
| N° | CHAMP | TYPE | * | COMMENTAIRES |
|
0 |
Type enregistrement |
C2 |
O |
= 04 pour les textes |
|
1 |
NUM_OF |
C8 |
O |
Numéro de l’ordre de fabrication |
|
2 |
CODE_CIRC |
C3 |
|
Code circuit |
|
3 |
CODE_LIEU |
C3 |
|
Code lieu |
|
4 |
CODE_ATEL |
C2 |
|
Code atelier |
|
5 |
CODE_LIAI |
C3 |
O |
Code liaison |
|
6 |
NUM_ORD |
N3 |
|
Numéro d’ordre |
|
7 |
CODE_TEXT |
C6 |
|
Code texte de commentaire |
|
8 |
FLAG_MOD |
C1 |
|
Flag modification du texte standard |
|
9 |
NUM_LIGN |
C40 |
|
Numéro de ligne du texte |
|
10 |
LIB |
C80 |
|
Commentaire |
Commentaires :
1 : Contrôler qu’il existe un entête dans la table réceptacle ORL_OF_ENT pour cet OF.
2 : Le code circuit doit être égal à celui saisi en entête de commande
3 : 1er cas : OF non négoce
Cette zone n’est pas utilisée dans ce cas
2ème cas : OF négoce
Le code lieu doit être celui du circuit de fabrication prévu pour la phase négoce
4 :1er cas : OF non négoce
Cette zone n’est pas utilisée dans ce cas
2ème cas : OF négoce
Le code magasin doit être celui du circuit de fabrication prévu pour la phase négoce en gérant éventuellement une anomalie Code lieu et code atelier sont incorrects.
5 : 1er cas : OF non négoce
Il faut contrôler la validité de ce code dans la table LIAIS avec une fonctionnalité (FCTN) < 50.
2ème cas : OF négoce
Il faut contrôler la validité de ce code dans la table LIAIS avec une fonctionnalité (FCTN) < 50.
6 : OF négoce ou non
Il faut contrôler qu’il n’y a qu’une seule entête dans la table réceptacle ORL_OF_DOC_ENT en gérant éventuellement une anomalie
Texte déjà existant pour cette commande/circuit/atelier/liaison/numéro d’ordre ! ! !
7 : OF négoce ou non
Contrôle d’existence dans la table des entêtes des codes textes à imprimer sur les documents (TEXT_DOC_ENT).
8 :OF négoce ou non
Cette zone ne peut être renseignée que si le code texte est renseigné sinon il doit être NULL.
Les seules valeurs possibles sont ‘X’ ou NULL.
9 : OF négoce ou non
Si le FLAG_MOD n’est pas coché alors il est impossible de renseigner le numéro de ligne du texte.
Ce numéro de ligne doit être unique pour l’OF, le circuit, le code lieu, le code atelier et le code liaison.
10 : OF négoce ou non
Ce champ est libre.
Contrôles généraux :
Les insertions dans les deux tables se font de la manière suivante.
On considère que l’entête de cet enregistrement est composé de :
- NUM_OF
- CODE_CIRC
- CODE_LIEU
- CODE_ATEL
- CODE_LIAI
- NUM_ORDR
A chaque rupture sur un de ces 6 champ, on insère un enregistrement dans la table des entêtes textes OF-circuit-atelier et éventuellement phase (OF_DOC_ENT).
Par contre, tous les enregistrements présents dans la table réceptacle ORL_OF_DOC doivent être insérés dans OF_DOC.
Si le code texte est renseigné et que le champ FLAG_MOD est NULL, il est impossible d’avoir des enregistrements dans OF_DOC.
Par contre, si le code texte est renseigné et le champ FLAG_MOD est à X,
alors on doit obligatoirement avoir un enregistrement dans OF_DOC pour ce NUM_ORDR.
Ce 5ème enregistrement va permettre de mettre à jour la table :( * => champ obligatoire 0)
-
OF_CIRC_FAB : table des circuits de fabrication
-
OF_CIRC_FAB_NEG : table des circuits de fabrication négoce
| N° | CHAMP | TYPE | * | COMMENTAIRES |
|
0 |
Type enregistrement |
C2 |
O |
= 05 pour les circuits de fabrication |
|
1 |
NUM_OF |
C8 |
O |
Numéro de l’ordre de fabrication |
|
2 |
NUM_ORD |
N3 |
|
Numéro d’ordre |
|
3 |
CODE_PHAS |
C3 |
|
Code phase |
|
4 |
CODE_LIEU |
C3 |
|
Code lieu |
|
5 |
CODE_ATEL |
C2 |
|
Code atelier |
|
6 |
DAT_SORT_PREV |
D |
|
Date de sortie prévisionnelle |
|
7 |
FLAG_JALO_PHAS |
C1 |
|
Flag indiquant si phase à jalonner |
|
8 |
CODE_ATEL_GROP |
C3 |
|
Code groupe de l’atelier |
|
9 |
FLAG_JALO_ENTR |
C1 |
|
Flag indiquant si jalon d’entrée obligatoire (1) ou facultatif (2) |
|
10 |
FLAG_JALO_SORT |
C1 |
|
Flag indiquant si jalon de sortie obligatoire (1) ou facultatif (2) |
|
11 |
NUM_GROP_BES |
C8 |
|
Numéro de groupage |
|
12 |
DAT_GROP_BES |
D |
|
Date de groupement |
|
13 |
REF_CDE_NEG |
C25 |
|
Référence de la commande négoce |
|
14 |
CODE_MON |
C3 |
|
Code monnaie |
|
15 |
CODE_MODE_REGL |
C3 |
|
Code mode de règlement |
|
16 |
CODE_MOYE_REGL |
C3 |
|
Code moyen de paiement |
|
17 |
CODE_ECHE |
C4 |
|
Code échéance |
|
18 |
CODE_MODE_EXP |
C3 |
|
Code mode d’expédition |
|
19 |
CODE_TRANS |
C3 |
|
Code transporteur |
|
20 |
CODE_COND_PORT |
C3 |
|
Code condition de port |
|
21 |
CODE_VIL_INCO |
C5 |
|
Code ville incoterm lié à la condition de port |
|
22 |
PHAS_DEP_USI |
C1 |
|
Flag définissant la phase comme phase de départ usine |
Commentaires :
Pour les champs 13 à 20, si la phase n’est pas négoce, ils ne doivent pas être renseignés.
Sinon, test de cohérence avec table réceptacle ORL_OF_ENT s’ils sont présents et mise à jour de leur valeur si elle est différente de celle de l’en-tête.
1 : il doit exister un enregistrement dans ORL_OF_ENT pour ce numéro d’OF sinon anomalie.
2 : Il faut contrôler que le numéro d’ordre existe dans la table CIRC_FAB_DET pour le code circuit.
3 : Il faut contrôler que la phase existe dans la table CIRC_FAB_DET pour le code circuit et le numéro d’ordre indiqué.
4 : Il faut contrôler que le code lieu est celui indiqué dans la table CIRC_FAB_DET pour le code circuit et le numéro d’ordre et la phase indiqués.
5 : Il faut contrôler que le code magasin est celui indiqué dans la table CIRC_FAB_DET pour le code circuit et le numéro d’ordre et la phase indiqués.
6 : Cette date est obligatoire si le paramètre GEST_DAT_PHAS=1 et facultative sinon.
Si elle est renseignée, il faut contrôler que la date de sortie prévisionnelle pour la phase précédente n’est pas supérieure à celle-ci.
Enfin, il faut contrôler que la date de sortie prévisionnelle de la phase ne soit pas supérieure à celle de l’OF.
7 : Cette zone ne peut être égale qu’à X ou NULL. Si la phase traitée est à jalonner pour le circuit et que le champ du fichier est à NULL alors si la phase du fichier est une phase d’affectation, on gère alors une anomalie
Jalonnement de la phase obligatoire en sortie, c’est une phase d’affectation.
8 : Pour contrôler cette donnée, il faut se baser par rapport au paramètre général GEST_ORLI_PLAN.
Si GEST_ORLI_PLAN=1 alors le code groupe atelier est obligatoire. Il faut contrôler son existence dans la table des groupes d’ateliers ATEL_GROP en gérant éventuellement une anomalie
Groupe d’atelier inconnu ! !
Si GEST_ORLI_PLAN=2 alors
Si la phase n’est pas une phase critique alors le code groupe atelier est obligatoire.
Il faut également contrôler son existence dans la table des groupes d’ateliers ATEL_GROP.
Si GEST_ORLI_PLAN est ni égal à 1, ni égal à 2 alors le code groupe atelier doit être NULL.
9 : Cette zone ne peut prendre que 3 valeurs différentes : NULL, 1 ou 2.
Elle ne peut être renseignée que si la zone FLAG_JALO_PHAS est à X.
10 : Il faut vérifier que cette phase n’est pas une phase d’affectation dans le cas où cette zone est NULL ou égale à 2.
Si la phase est une phase d’affectation alors warning
jalonnement de la phase obligatoire en sortie, c’est une phase d’affectation ! ! !
Si la zone FLAG_JALO_PHAS est non NULL, si la zone FLAG_JALO_ENTR est NULL et si la zone FLAG_JALO_SORT est NULL alors anomalie
La phase est jalonnée donc un jalon entrée ou sortie doit être renseigné ! !
11 : Pour contrôler la validité du numéro de groupage, il faut dans un premier temps rechercher si le circuit de fabrication gère les groupages à la phase.
Il faut dans un second temps rechercher la phase de groupage pour le circuit.
- Si GEST_GROP_PHAS est NULL alors on est dans le cas où le groupage est géré à l’OF. Le numéro de groupage doit donc être égal à celui de l’entête.
- Sinon, si PHAS_GROP est NULL alors on est dans le cas où le groupage est géré à l’OF. Le numéro de groupage doit donc être égal à celui de l’entête.
- Sinon, on est dans le cas où le groupage est géré à la phase. Le numéro de groupage est égal au groupage de l’entête si la PHAS_GROP de CIRC_FAB_DET est égal à la PHAS_GROP recherché précédemment sinon le numéro de groupage est NULL.
12 : Pour contrôler la validité de la date de groupage, il faut dans un premier temps rechercher si le circuit de fabrication gère les groupages à la phase.
Il faut dans un second temps rechercher la phase de groupage pour le circuit.
Si GEST_GROP_PHAS est NULL alors on est dans le cas où le groupage est géré à l’OF. La date de groupage doit donc être égale à celle de l’entête.
Sinon, si PHAS_GROP est NULL alors on est dans le cas où le groupage est géré à l’OF. La date de groupage doit donc être égale à celle de l’entête.
Sinon, on est dans le cas où le groupage est géré à la phase. La date de groupage est égale à celle de l’entête si la PHAS_GROP de CIRC_FAB_DET est égal à la PHAS_GROP recherché précédemment sinon la date de groupage est NULL.
13 : Cette zone est utilisée uniquement dans le cadre des OF négoces.
Le texte saisi est libre. Si la phase est négoce, il doit correspondre à celui indiqué en entête. Si ce n’est pas le cas, il sera écrasé par celui de l’entête. Si la phase n’est pas négoce, le champ doit être null.
14 : Cette zone est utilisée uniquement dans le cadre des OF négoces. Le code monnaie n’est pas obligatoire. On teste d’existence dans la table MONNAIE.
Si la monnaie est nulle, on prend le code monnaie du fournisseur de l’atelier qui réalise la phase négoce.
On vérifie aussi qu’il existe un taux de change pour cette monnaie en gérant éventuellement une anomalie Il n’y a pas de taux de change pour la monnaie ou la saison de la commande ! !
15 : Cette zone est utilisée uniquement dans le cadre des OF négoces. Contrôle d’existence dans la table MODREGL.
On prend par défaut le champ de la fiche fournisseur (FO001) associé à l’atelier de la phase négoce du circuit. Si le champ ramené n’est pas nul, alors on contrôle son existence dans les tables concernées.
16 : Cette zone est utilisée uniquement dans le cadre des OF négoces. Contrôle d’existence dans la table MOYREGL.
On prend par défaut le champ de la fiche fournisseur (FO001) associé à l’atelier de la phase négoce du circuit. Si le champ ramené n’est pas nul, alors on contrôle son existence dans les tables concernées.
17 : Cette zone est utilisée uniquement dans le cadre des OF négoces. Contrôle d’existence dans la table ECHEANCE.
On prend par défaut le champ de la fiche fournisseur (FO001) associé à l’atelier de la phase négoce du circuit. Si le champ ramené n’est pas nul, alors on contrôle son existence dans les tables concernées.
18 : Cette zone est utilisée uniquement dans le cadre des OF négoces. Contrôle d’existence dans la table MODEXP. Il doit correspondre à celui indiqué en entête. Si ce n’est pas le cas, il sera écrasé par celui de l’entête.
19 : Cette zone est utilisée uniquement dans le cadre des OF négoces. Contrôle d’existence dans la table TRANSP. Il doit correspondre à celui indiqué en entête. Si ce n’est pas le cas, il sera écrasé par celui de l’entête.
20 : Cette zone est utilisée uniquement dans le cadre des OF négoces. Contrôle d’existence dans la table CONDPORT.
On prend par défaut le champ de la fiche fournisseur (FO001) associé à l’atelier de la phase négoce du circuit. Si le champ ramené n’est pas nul, alors on contrôle son existence dans les tables concernées.
21 : Comme pour la condition de port, cette zone est utilisée uniquement dans le cadre des OF négoces.
Les contrôles sur le code ville incoterm dépendent de la présence du code condition de port.
Si ce dernier est nul, la ville incoterm doit être nulle
Si ce dernier est renseigné, la ville incoterm est facultative.
Si elle est renseignée, on contrôle son existence dans la table VILLE_INCOTERM.
Anomalies :
Ville incoterm interdite car condition de port non renseignée
Ville incoterm inexistante.
22 : Flag permettant de définir la phase servant de référence pour le calcul de la date de départ usine. (zone facultative, valeur ‘X’)
La phase de départ usine est unique pour le circuit.
exemple :
|
Circuit C1 : Durée fin de fabrication=4j |
|||
| Phase | Durée phase | durée inter-phase | Phase départ usine |
|
APR |
0 |
|
|
|
ACH |
1 |
5 |
X |
|
TRA |
15 |
1 |
|
|
DOU |
3 |
0 |
|
Pour une commande fournisseur PF faite sur le circuit C1, la Date de départ usine est la suivante:
DDU=Date de livraison prévue - durée fin fabr (4) - Durée phase DOU (3) - Durée interphase DOU-TRA (0) - Durée phase TRA (15) - Durée interphase TRA-ACH (1)
soit DDU= DLP - 23 jours
sans cette gestion de phase de départ usine : DDU= DLP - durée fin fabr (4).
Contrôles généraux et insertions :
Il faut insérer les enregistrements du fichier dans la table OF_CIRC_FAB avec les informations suivantes :
- NUM_OF
- NUM_ORD
- CODE_PHAS
- CODE_LIEU
- CODE_ATEL
- DAT_SORT_PREV
- FLAG_JALO_PHAS
- CODE_ATEL_GROP
- FLAG_JALO_ENTR
- FLAG_JALO_SORT
- NUM_GROP_BES
- DAT_GROP_BES
Dans le cadre des OF négoces, il faut en plus, insérer un enregistrement dans OF_CIRC_FAB_NEG avec les informations suivantes :
- NUM_OF
- NUM_ORD
- CODE_PHAS
- CODE_LIEU
- CODE_ATEL
- REF_CDE_NEG
- CODE_MON
- CODE_MODE_REGL
- CODE_MOYE_REGL
- CODE_ECHE
- CODE_MODE_EXP
- COE_TRANS
- CODE_COND_PORT
Ce 6ème enregistrement va permettre de mettre à jour la table :( * => champ obligatoire 0)
-
OF_ELMT_PRI : table des éléments PRI spécifiques à la commande négoce
| N° | CHAMP | TYPE | * | COMMENTAIRES |
|
0 |
Type enregistrement |
C2 |
O |
= 06 pour les éléments PRI |
|
1 |
NUM_OF |
C8 |
O |
Numéro de l’ordre de fabrication |
|
2 |
NUM_LIGN |
C40 |
|
Numéro de la ligne d’OF |
|
3 |
NIV |
N1 |
O |
Niveau d’application |
|
4 |
CODE_ELT |
C3 |
O |
Code élément |
|
5 |
COEF |
N3,2 |
|
Coefficient |
|
6 |
NBRE_FOIS |
N2,2 |
|
Nombre de fois où le montant éventuel est applicable |
|
7 |
MONT |
N10 |
|
Montant additionnel en monnaie du site |
|
8 |
CODE_PHAS |
C3 |
|
Code phase |
|
9 |
CODE_TYP_MAT |
C3 |
|
Code type de matière |
|
10 |
FLAG_MOIN |
C1 |
|
X si élément à soustraire lors du calcul |
|
11 |
CODE_ELT_REMP |
C3 |
|
Code élément par défaut remplacé |
|
12 |
FLAG_MONT_TOT |
C1 |
|
X si montant global pour ligne ou OF ’’ si montant unitaire |
Commentaires :
Les contrôles sont les mêmes qu’il s’agisse d’un OF non négoce ou d’un OF négoce ! ! !
1 : Il faut vérifier qu’il existe un entête d’OF dans la table réceptacle ORL_OF_ENT en fonction du numéro d’OF.
2 : Il faut vérifier qu’il existe une ligne d’OF pour cet OF dans la table réceptacle ORL_OF_LIGN en fonction du numéro d’OF et du numéro de ligne.
3 : Les seules valeurs possibles pour cette zone sont :
- 0 = Général
- 1 = Coût façon / négoce
- 2 = Nomenclature
- 3 = Gamme opératoire
4 : Si la zone NIV est égale à 0 alors il faut contrôler la validité du code élément dans la table des éléments complémentaires prix de revient applicables en global BIB_GEN_ELT.
Si la zone NIV est égale à 1 alors il faut contrôler la validité du code élément dans la table des éléments complémentaires prix de revient applicables par prix d’achat négoce BIB_NEG_ELT.
Si la zone NIV est égale à 2 alors il faut contrôler la validité du code élément dans la table des éléments complémentaires prix de revient applicables sur nomenclature BIB_NOM_ELT.
Si la zone NIV est égale à 3 alors il faut contrôler la validité du code élément dans la table des éléments complémentaires prix de revient applicables sur gammes BIB_GAM_ELT.
Si le coefficient (champ COEF) est NULL et si le montant additionnel en monnaie du site (champ MONT) est NULL alors FLAG_ELT prend pour valeur 1.
Si le coefficient (champ COEF) est NULL et si le montant additionnel en monnaie du site (champ MONT) est renseigné alors FLAG_ELT prend pour valeur 3.
Si le coefficient (champ COEF) est renseigné alors FLAG_ELT prend pour valeur 2.
Cette zone sera utile dans la suite du traitement.
5 : Si FLAG_ELT est égal à 3, cette zone ne doit pas être renseignée.
Cette zone ne peut pas être renseignée avec le chiffre 0. Il faut contrôler le nombre de décimales : maximum 2.
6 : Cette zone ne peut être renseignée que si FLAG_ELT est égal à 3 ou si la zone COEFF est null. Si cette zone est NULL et qu’elle devrait être renseignée alors elle sera initialisée par la valeur 1. Il faut contrôler le nombre de décimales : maximum 2.
7 : Cette zone ne peut être renseignée que si le coefficient l’est lui-même. Ce montant ne peut pas être renseigné avec le chiffre 0. Il est obligatoire.
8 : Il faut contrôler l’existence de la phase dans le circuit de l’OF avec gestion d’une anomalie ‘phase inexistante pour le circuit de la commande ! !’
Si le FLAG_ELT est à 1 et si le NIV est différent de 2 et différent de 0 alors cette zone peut être renseignée sinon elle doit être nulle.
9 : Il faut contrôler l’existence du code type de matière dans la table TYPMA. Cette zone ne peut être renseignée que si FLAG_ELT est égal à 1 et si le NIV est égal à 2.
10 : Cette zone ne peut être égale qu’à X ou NULL. Cette zone ne peut être renseignée que si le FLAG_ELT est à 1 et le NIV à 0 ou si le FLAG_ELT est différent de 1.
11 : Si le code élément de remplacement est renseigné alors :
- si le NIV est égal à 0
alors il faut tester l’existence du code élément de remplacement dans la table BIB_GEN_ELT. - si le NIV est égal à 1
alors il faut tester l’existence du code élément de remplacement dans la table BIB_NEG_ELT - si le NIV est égal à 2
alors il faut tester l’existence du code élément de remplacement dans la table BIB_NOM_ELT - si le NIV est égal à 3
alors il faut tester l’existence du code élément de remplacement dans la table BIB_GAM_ELT
12 : Cette zone ne peut être égale qu’à X ou NULL.
Contrôles généraux et insertions
L’insertion doit être faite dans la table OF_ELMT_PRI avec toutes les informations dont on dispose.
Ce 7ème enregistrement va permettre de mettre à jour la table :( * => champ obligatoire 0)
-
OF_LIGN_TEXT : table des textes par ligne d’OF, circuit, atelier et éventuellement phase
| N° | CHAMP | TYPE | * | COMMENTAIRES |
|
0 |
Type enregistrement |
C2 |
O |
= 07 pour les sur lignes |
|
1 |
NUM_OF |
C8 |
O |
Numéro de textes l’ordre de fabrication |
|
2 |
NUM_LIGN |
C40 |
O |
Numéro de la ligne d’OF |
|
3 |
CODE_CIRC |
C3 |
O |
Code circuit |
|
4 |
CODE_LIEU |
C3 |
O |
Code lieu |
|
5 |
CODE_ATEL |
C2 |
O |
Code atelier |
|
6 |
CODE_LIAI |
C3 |
O |
Code liaison |
|
7 |
NUM_ORD |
N4 |
|
Numéro d’ordre |
|
8 |
LIB |
C70 |
|
Libellé |
Commentaires :
Cet enregistrement ne doit être présent que dans le cadre d’un OF négoce.
1 : Il faut contrôler qu’il existe un enregistrement dans ORL_OF_ENT pour le numéro d’OF indiqué
2 : Il faut contrôler qu’il existe un enregistrement dans ORL_OF_LIGN pour le numéro d’OF et le numéro de ligne indiqué.
3 : Le code circuit doit être égal au code circuit de l’entête de l’OF.
4 : Le code lieu doit être égal au code lieu de l’entête de l’OF.
5 : Le code magasin doit être égal au code magasin de l’entête de l’OF
6 : Le code liaison est obligatoire. Il faut contrôler sa validité avec gestion éventuelle d’une anomalie ‘Liaison inconnue ou de fonctionnalité appartenance ! ! !’
7 : Le numéro d’ordre est obligatoire. Il faut contrôler que le numéro d’ordre est unique avec gestion d’une anomalie Numéro d’ordre déjà existant pour cette liaison ! ! !
8 : Ce texte est libre et sans contrôle.
Contrôles généraux et insertions :
L’insertion doit être faite dans la table OF_LIGN_TEXT avec toutes les informations dont on dispose.
Ce 9ème enregistrement va permettre de mettre à jour la table :( * => champ obligatoire 0)
-
OF_LIGN_CDE : table des lignes de commande client affectées aux lignes d’un O.F.
| N° | CHAMP | TYPE | * | COMMENTAIRES |
|
0 |
Type enregistrement |
C2 |
O |
= 09 pour les lignes de commande client affectées aux OF |
|
1 |
NUM_OF |
C8 |
O |
Numéro de l’ordre de fabrication |
|
2 |
NUM_LIGN |
C40 |
O |
Numéro de la ligne d’OF |
|
3 |
NUM_CDE |
C8 |
O |
Numéro de commande |
|
4 |
NUM_LIGN_CDE |
C40 |
O |
Numéro de la ligne de commande |
|
5 |
QTE_T1 |
N5 |
|
Quantité commandée taille 1 |
|
6 |
QTE_T2 |
N5 |
|
Quantité commandée taille 2 |
|
7 |
QTE_T3 |
N5 |
|
Quantité commandée taille 3 |
|
8 |
QTE_T4 |
N5 |
|
Quantité commandée taille 4 |
|
9 |
QTE_T5 |
N5 |
|
Quantité commandée taille 5 |
|
10 |
QTE_T6 |
N5 |
|
Quantité commandée taille 6 |
|
11 |
QTE_T7 |
N5 |
|
Quantité commandée taille 7 |
|
12 |
QTE_T8 |
N5 |
|
Quantité commandée taille 8 |
|
13 |
QTE_T9 |
N5 |
|
Quantité commandée taille 9 |
|
14 |
QTE_T10 |
N5 |
|
Quantité commandée taille 10 |
|
15 |
QTE_T11 |
N5 |
|
Quantité commandée taille 11 |
|
16 |
QTE_T12 |
N5 |
|
Quantité commandée taille 12 |
|
17 |
QTE_T13 |
N5 |
|
Quantité commandée taille 13 |
|
18 |
QTE_T14 |
N5 |
|
Quantité commandée taille 14 |
|
19 |
QTE_T15 |
N5 |
|
Quantité commandée taille 15 |
|
20 |
QTE_T16 |
N5 |
|
Quantité commandée taille 16 |
|
21 |
QTE_T17 |
N5 |
|
Quantité commandée taille 17 |
|
22 |
QTE_T18 |
N5 |
|
Quantité commandée taille 18 |
|
23 |
QTE_T19 |
N5 |
|
Quantité commandée taille 19 |
|
24 |
QTE_T20 |
N5 |
|
Quantité commandée taille 20 |
Commentaires :
Cet enregistrement correspond aux quantités de la commande que l’on affecte à l’OF que l’on crée. Il ne peut être utilisé que dans le cadre des OF non négoces.
1 : Il doit exister une entête d’OF dans la table réceptacle ORL_OF_ENT pour ce numéro d’OF
2 : Il doit exister un enregistrement dans la table réceptacle ORL_OF_LIGN pour ce numéro d’OF et cette ligne d’OF
3 : Il doit exister un enregistrement dans la table CDE_CLI_ENT pour ce numéro de commande
4 : Il doit exister un enregistrement dans la table CDE_CLI_LIGN pour ce numéro de commande et ce numéro de ligne de commande
De plus, il faut contrôler que la saison, le code article, le code coloris et la finition spéciale de la ligne de commande dans CDE_CLI_LIGN sont égaux à la saison, le code article, le code coloris et la finition de la ligne d’OF dans ORL_OF_LIGN.
5 à 24 : Il faut vérifier qu’au moins une de ces 20 quantités est renseignée avec un nombre différent de 0.
Contrôles généraux et insertions :
L’insertion doit être faite dans la table OF_LIGN_CDE avec toutes les informations dont on dispose.
Ce 10ème enregistrement va permettre de mettre à jour la table :( * => champ obligatoire 0)
-
OF_LIGN_MESUR : table des lignes de commande client nominatives affectées par les lignes d’OF
| N° | CHAMP | TYPE | * | COMMENTAIRES |
|
0 |
Type enregistrement |
C2 |
O |
= 10 pour les lignes de commande client affectées aux OF |
|
1 |
NUM_OF |
C8 |
O |
Numéro de l’ordre de fabrication |
|
2 |
NUM_LIGN |
C40 |
O |
Numéro de la ligne d’OF |
|
3 |
NUM_CDE |
C8 |
O |
Numéro de la commande |
|
4 |
NUM_LIGN_CDE |
C40 |
O |
Numéro de la ligne de commande |
|
5 |
NUM_LIGN_MESUR |
C40 |
O |
Numéro de la ligne de commande sur mesure |
|
6 |
QTE |
N5 |
|
Quantité affectée par OF pour la personne |
Commentaires :
Cet enregistrement correspond aux quantités de la commande que l’on affecte à l’OF que l’on crée. Il ne peut être utilisé que dans le cadre des OF non négoces.
1 : Il doit exister un entête d’OF dans la table réceptacle ORL_OF_ENT pour ce numéro d’OF
2 : Il doit exister un enregistrement dans la table réceptacle ORL_OF_LIGN pour ce numéro d’OF et cette ligne d’OF
3 : Il doit exister un enregistrement dans la table CDE_CLI_ENT pour ce numéro de commande
4 : Il doit exister un enregistrement dans la table CDE_CLI_LIGN pour ce numéro de commande et ce numéro de ligne de commande
De plus, il faut contrôler que la saison, le code article, le code coloris et la finition spéciale de la ligne de commande dans CDE_CLI_LIGN sont égaux à la saison, le code article, le code coloris et la finition de la ligne d’OF dans ORL_OF_LIGN.
5 : Il doit exister un enregistrement dans la table CDE_MESUR_LIGN pour ce numéro de commande, ce numéro de ligne de commande et ce numéro de ligne de commande sur mesure.
De plus, il faut contrôler que la saison, le code article, le code coloris et la finition spéciale de la ligne de commande dans CDE_MESUR_LIGN sont égaux à la saison, le code article, le code coloris et la finition de la ligne d’OF dans ORL_OF_LIGN.
6 : La quantité doit être différente de 0.
Contrôles généraux et insertions :
L’insertion doit être faite dans la table OF_LIGN_MESUR avec toutes les informations dont on dispose.
Annexe 1 : Description des tables réceptacles
ORL_OF_ENT: (ORL01)
NUM_OF VARCHAR2(3)
FLAG_OF_NEGO VARCHAR2(1)
SAIS VARCHAR2(3)
CODE_SOC VARCHAR2(1)
SAIS_ART VARCHAR2(3)
CODE_ART_TEC VARCHAR2(15)
DATE_OF DATE
CODE_TYP_LCT VARCHAR2(3)
TRAN_OF VARCHAR2(4)
DAT_SORT_PREV DATE
DAT_AFF_PREV DATE
DAT_DEP_USI DATE
NUM_PLAN_LCT VARCHAR2(8)
DAT_PLAN_LCT DATE
CODE_CIRC VARCHAR2(3)
NUM_GROP_BES VARCHAR2(8)
DAT_GROP_BES DATE
FLAG_TEST_FIAB VARCHAR2(1)
FLAG_AFF_PRIM VARCHAR2(1)
CODE_LIEU_RECE VARCHAR2(3)
CODE_MAGP_RECE VARCHAR2(2)
CODE_LIEU_FACT VARCHAR2(3)
CODE_LFAC VARCHAR2(2)
AU_TITRE_DE VARCHAR2(1)
SAIS_RGPT_COM VARCHAR2(3)
CODE_RGPT_COM VARCHAR2(15)
FLAG_OF_CONST VARCHAR2(1)
CODE_GEST VARCHAR2(3)
REF_CDE_NEG VARCHAR2(25)
CODE_TRANS VARCHAR2(3)
CODE_MODE_EXP VARCHAR2(3)
LCT_ECLAT VARCHAR2(1)
FCTN_TYP_LCT VARCHAR2(1)
FLAG_AFF VARCHAR2(1)
DAT_AFF DATE
FLAG_REEL VARCHAR2(1)
DAT_REEL DATE
CODE_PROV_CDE VARCHAR2(8)
CODE_ORIG_CDE VARCHAR2(3)
NUM_LOT VARCHAR2(5)
NUM_DEM NUMBER(8)
FLAG_ANO VARCHAR2(1)
FLAG_TRAIT VARCHAR2(1)
OF_APPART VARCHAR2(8)
CODE_MON VARCHAR2(3)
CODE_EDI_CIRC VARCHAR2(8)
GES_STK_EXT VARCHAR2(1)
ORL_OF_LIGN: (ORL02)
NUM_OF VARCHAR2(8)
NUM_LIGN VARCHAR2(40)
SAIS VARCHAR2(3)
CODE_ART_TEC VARCHAR2(15)
CODE_COLM VARCHAR2(5)
CODE_FINI_SPEC VARCHAR2(8)
DAT_SORT_PREV DATE
DAT_DEP_USI DATE
QTE_LAN_T1 NUMBER(5)
QTE_LAN_T2 NUMBER(5)
QTE_LAN_T3 NUMBER(5)
QTE_LAN_T4 NUMBER(5)
QTE_LAN_T5 NUMBER(5)
QTE_LAN_T6 NUMBER(5)
QTE_LAN_T7 NUMBER(5)
QTE_LAN_T8 NUMBER(5)
QTE_LAN_T9 NUMBER(5)
QTE_LAN_T10 NUMBER(5)
QTE_LAN_T11 NUMBER(5)
QTE_LAN_T12 NUMBER(5)
QTE_LAN_T13 NUMBER(5)
QTE_LAN_T14 NUMBER(5)
QTE_LAN_T15 NUMBER(5)
QTE_LAN_T16 NUMBER(5)
QTE_LAN_T17 NUMBER(5)
QTE_LAN_T18 NUMBER(5)
QTE_LAN_T19 NUMBER(5)
QTE_LAN_T20 NUMBER(5)
CODE_LIEU_RECE VARCHAR2(3)
CODE_MAGP_RECE VARCHAR2(2)
AU_TITRE_DE VARCHAR2(1)
SAIS_RGPT_COM VARCHAR2(3)
CODE_RGPT_COM VARCHAR2(15)
CODE_COLM_RGPT VARCHAR2(5)
CODE_LIEU_ORIG VARCHAR2(3)
CODE_MAG_ORIG VARCHAR2(2)
NUM_LIGN_APPART
LIB_TAIL VARCHAR2(5)
GENC VARCHAR2(15)
N.B. :
comme avec PAS_CDE, le champ NUM_LIGN doit être unique pour chaque EAN quand on travaille à l’EAN, car c’est ce N° ligne qui fait le lien entre toutes les tables.
ORL_OF_LIGN_COUT: (ORL03)
NUM_OF VARCHAR2(8)
NUM_LIGN VARCHAR2(40)
CODE_CIRC VARCHAR2(3)
CODE_LIEU VARCHAR2(3)
CODE_ATEL VARCHAR2(2)
CODE_PHAS VARCHAR2(3)
CODE_MON VARCHAR2(3)
COUT_1 NUMBER(10)
COUT_2 NUMBER(10)
COUT_3 NUMBER(10)
COUT_4 NUMBER(10)
COUT_5 NUMBER(10)
COUT_6 NUMBER(10)
COUT_7 NUMBER(10)
COUT_8 NUMBER(10)
COUT_9 NUMBER(10)
COUT_10 NUMBER(10)
COUT_11 NUMBER(10)
COUT_12 NUMBER(10)
COUT_13 NUMBER(10)
COUT_14 NUMBER(10)
COUT_15 NUMBER(10)
COUT_16 NUMBER(10)
COUT_17 NUMBER(10)
COUT_18 NUMBER(10)
COUT_19 NUMBER(10)
COUT_20 NUMBER(10)
CODE_PROV_CDE VARCHAR2(8)
CODE_ORIG_CDE VARCHAR2(3)
NUM_LOT VARCHAR2(5)
NUM_DEM NUMBER(8)
FLAG_ANO VARCHAR2(1)
FLAG_TRAIT VARCHAR2(1)
ORL_OF_DOC: (ORL04)
NUM_OF VARCHAR2(8)
CODE_CIRC VARCHAR2(3)
CODE_LIEU VARCHAR2(3)
CODE_ATEL VARCHAR2(2)
CODE_LIAI VARCHAR2(3)
NUM_ORD NUMBER(3)
CODE_TEXT VARCHAR2(6)
FLAG_MOD VARCHAR2(1)
NUM_LIGNVARCHAR2(40)
LIBVARCHAR2(80)
CODE_PROV_CDE VARCHAR2(8)
CODE_ORIG_CDE VARCHAR2(3)
NUM_LOT VARCHAR2(5)
NUM_DEM NUMBER(8)
FLAG_ANO VARCHAR2(1)
FLAG_TRAIT VARCHAR2(1)
ORL_OF_CIRC_FAB : (ORL05)
NUM_OFVARCHAR2(8)
NUM_ORDNUMBER(3)
CODE_PHASVARCHAR2(3)
CODE_LIEUVARCHAR2(3)
CODE_ATELVARCHAR2(2)
DAT_ENTR_PREVDATE
DAT_SORT_PREVDATE
FLAG_JALO_PHASVARCHAR2(1)
CODE_ATEL_GROPVARCHAR2(3)
FLAG_JALO_ENTRVARCHAR2(1)
FLAG_JALO_SORTVARCHAR2(1)
NUM_GROP_BESVARCHAR2(8)
DAT_GROP_BESDATE
REF_CDE_NEGVARCHAR2(25)
CODE_MONVARCHAR2(3)
CODE_MODE_REGLVARCHAR2(3)
CODE_MOYE_REGLVARCHAR2(3)
CODE_ECHEVARCHAR2(4)
CODE_MODE_EXPVARCHAR2(3)
CODE_TRANSVARCHAR2(3)
CODE_COND_PORTVARCHAR2(3)
CODE_PROV_CDE VARCHAR2(8)
CODE_ORIG_CDE VARCHAR2(3)
NUM_LOT VARCHAR2(5)
NUM_DEM NUMBER(8)
FLAG_ANO VARCHAR2(1)
FLAG_TRAIT VARCHAR2(1)
ORL_OF_ELMT_PRI: (ORL06)
NUM_OFVARCHAR2(8)
NUM_LIGNVARCHAR2(40)
NIVNUMBER(1)
CODE_ELTVARCHAR2(3)
COEFNUMBER(5,2)
NBRE_FOISNUMBER(4,2)
MONTNUMBER(10)
CODE_PHASVARCHAR2(3)
CODE_TYP_MATVARCHAR2(3)
FLAG_MOINVARCHAR2(1)
CODE_ELT_REMPVARCHAR2(3)
FLAG_MONT_TOTVARCHAR2(1)
CODE_PROV_CDE VARCHAR2(8)
CODE_ORIG_CDE VARCHAR2(3)
NUM_LOT VARCHAR2(5)
NUM_DEM NUMBER(8)
FLAG_ANO VARCHAR2(1)
FLAG_TRAIT VARCHAR2(1)
ORL_OF_LIGN_TEXT: (ORL07)
NUM_OFVARCHAR2(8)
NUM_LIGNVARCHAR2(40)
CODE_CIRCVARCHAR2(3)
CODE_LIEUVARCHAR2(3)
CODE_ATELVARCHAR2(2)
CODE_LIAIVARCHAR2(3)
NUM_ORDNUMBER(4)
LIBVARCHAR2(70)
CODE_PROV_CDE VARCHAR2(8)
CODE_ORIG_CDE VARCHAR2(3)
NUM_LOT VARCHAR2(5)
NUM_DEM NUMBER(8)
FLAG_ANO VARCHAR2(1)
FLAG_TRAIT VARCHAR2(1)
ORL_OF_LIGN_COMPO: (ORL08) PLUS UTILISÉ
ORL_OF_LIGN_CDE: (ORL09)
NUM_OFVARCHAR2(8)
NUM_LIGNVARCHAR2(40)
NUM_CDEVARCHAR2(8)
NUM_LIGN_CDEVARCHAR2(40)
QTE_T1NUMBER(5)
QTE_T2NUMBER(5)
QTE_T3NUMBER(5)
QTE_T4NUMBER(5)
QTE_T5NUMBER(5)
QTE_T6NUMBER(5)
QTE_T7NUMBER(5)
QTE_T8NUMBER(5)
QTE_T9NUMBER(5)
QTE_T10NUMBER(5)
QTE_T11NUMBER(5)
QTE_T12NUMBER(5)
QTE_T13NUMBER(5)
QTE_T14NUMBER(5)
QTE_T15NUMBER(5)
QTE_T16NUMBER(5)
QTE_T17NUMBER(5)
QTE_T18NUMBER(5)
QTE_T19NUMBER(5)
QTE_T20NUMBER(5)
CODE_PROV_CDE VARCHAR2(8)
CODE_ORIG_CDE VARCHAR2(3)
NUM_LOT VARCHAR2(5)
NUM_DEM NUMBER(8)
FLAG_ANO VARCHAR2(1)
FLAG_TRAIT VARCHAR2(1)
ORL_OF_LIGN_MESUR: (ORL10)
NUM_OFVARCHAR2(8)
NUM_LIGNVARCHAR2(40)
NUM_CDEVARCHAR2(8)
NUM_LIGN_CDEVARCHAR2(40)
NUM_LIGN_MESURVARCHAR2(40)
QTENUMBER(5)
CODE_PROV_CDE VARCHAR2(8)
CODE_ORIG_CDE VARCHAR2(3)
NUM_LOT VARCHAR2(5)
NUM_DEM NUMBER(8)
FLAG_ANO VARCHAR2(1)
FLAG_TRAIT VARCHAR2(1)