Commande fournisseur PF

Cegid Orli - Documentation fonctionnelle - 2025

 

ORIGINE FONCTION FONCTION « avant »

CFN

XC265

XC_

 

Principe général

 

Paramètre GÉNÉRAL

 

Option FONCTION

 

Paramètre PASSERELLE

  • REPRISE
  • NUMERO_OF_AUTO 

 

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 :

Passerelle d’import

 

 

 

Dans le cadre de cette passerelle, deux paramètres existent :

  1. REPRISE :
    plus du tout utilisé, ce paramètre est supplanté par le critère fonctionnel TYPE D'INTEGRATION standard dans XC20B.
  2. 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).

 

Suivi de l’intégration

 

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.

 

 

Principe de programmation

  • 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

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.

 

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

 

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

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 :

 

  1. 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.
  2. On teste si le numéro d’OF existe déjà en entête. 
  3. Il faut contrôler qu’au moins une quantité est renseignée.
  4. 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.
  5. 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.
  6. Mise à jour de la table de gestion de la répartition de la fabrication pour un article (REPA_FAB_ART).

 

OF négoce :

 

  1. 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.’

 

  1. 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).

 

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

 

  1. Il faut contrôler qu’il y a au moins une quantité renseignée.

 

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

 

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

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 :

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

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

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

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

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.

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

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)