|
Le contrôle ATP - du progicie l integre a la
solution spécifique
|
|
|
5.2 Premiere experience o tout specifique » : un
succes
Le contrôle industrie l de disponibilité
existait déjà ; le Due Date Quoting (DDQ) était realise
par chaque usine se lon ses propres critères.
central Due Date Quoting (cDDQ) remp lit le même
role, mais dans un système centralise.
J'ai tout d'abord congu l'architecture de
cDDQ.
J'aime les choses simples, et l'architecture de cDDQ ne
déroge pas a cette règ le.
Figure 80 - Paysage applicatif de cDDQ
a) BRMS
Pour centra liser ce controle dans un outil commun,
il fa llait repondre en central a tous les critères de toutes les
usines. Ce qui aurait ete lourd, très difficile a maintenir et
impossible a faire evoluer.
L'idée d'un Système de Gestion des
Règ les Métier (Business Rules Management System, BRMS) s'est a
lors imposée. Mais des produits te ls que JRu les de ILOG m'ont vite
paru trop difficiles a maitriser par les utilisateurs. Trop complexes pour une
utilisation somme toute assez simple.
|
Le contrô le ATP - du progicie l
intégré a la solution spécifique
|
|
|
Figure 81 - L'appel au service Decision de
3Rules (Source IBM)
J'ai a lors émis l'idée d'un BRMS
« maison >>, et obtenu de pouvoir écrire un « Proof of
Concept >> (POC). Une des forces de l'ABAP est de pouvoir
générer dynamiquement... de l'ABAP.
La premiere version de ce POC générait
le code de la regle avant chaque éva luation. La version finale
génere le code lors de la sauvegarde de la regle, pour une performance
optima le.
|
Le contrôle ATP - du progicie l integre a la
solution spécifique
|
|
|
Plutot qu'une interrogation du BRMS prealable au check
ATP, c'est le check ATP qui se charge d'appe ler BRMS.
ATP
CHECK MPIs
Figure 82 - BRMS renvoie MPIs et délais a
ATP
Product Sub-family Pdt Sub-Fam char(3) Long
Description char(50)
Level numeric(2)
Short description char(30)
Level
Code
Finishing line MPI Type
Last Change by Last Change on
Note : The MPI "Finishing line" is entered at MPI creation. It
is used to retrieve dependent objects, and to check
authorizations.
ATP will pass the plant, which BRMS will retrieve the lines
from.
MPI
char(10) char(4) char(3) char(12) date
0.. ·
0.. ·
0.. ·
0.. ·
Plant
Cluster
Medium Description
1.. ·
Code
Version
Level
Pdt Sub-Fam MPI Group
Status
Long Description Constraint / Resource Group
Standard Lead-time Planned start date Planned stop date Last
Change by Last Change on Last Change at
Plant
char(4) char(3) char(40)
MPI Group
MPI Group char(10)
Short Description char(30)
1.. ·
char(10) numeric(3) numeric(2) char(3) char(10)
char(1) char(50) char(10) char(10) integer date
date char(12) date
time
MPI Type Finishing line IsCentral
Short Description Type Status Last Changed By Last Changed on
Last Change at
0.. ·
Cluster
Cluster char(3) Short Description char(30)
MPI Version
Finishing line Plant
Time unit
Medium Description
0.. ·
MPI Type
Finishing Line
1.. ·
char(3) char(4) smallint char(30) char(1) char(12)
date
time
char(4) char(4) char(1) char(40)
0.. ·
Code
Version
Rule shType Finiing line Rule Name Rule
Version Last Change by Last Change on Last Change at
User Group Finishing line Short Description
0.. ·
char(10) numeric(3) char(1) char(4) char(20)
numeric(3) char(12) date
time
MPI Rules
User Group
Finishing line Rule Name Rule Type
Last Change by Last Change on Last Change at
Rule Type
Long Description Is Mandatory Default value
char(10) char(4) char(30)
0.. ·
0.. ·
0.. ·
Code
Version Finishing line Rule Name Rule Version Rule
Type
Last Change by Last Change on Last Change at
0.. ·
char(4) char(20) char(1) char(12) date time
1.. ·
Rule Type
char(1) char(50) smallint char(30)
Note : the user belongs to a user group; this link is checked
but not represented
here, to improve the diagram
readability
Rule
Finishing line Rule Name Rule Version Constant Name
Constant Version Value
Last Change by Last Change on Last Change at
0.. ·
MPI Rules Archive
mchar(10) meric(3) ar(4) char(20) numeric(3)
char(1) char(12) date
time
Constant Archive
char(4) char(20) numeric(3) char(22) numeric(3)
char(30) char(12) date
time
0.. ·
0.. ·
0.. ·
Note : the rule, implemented by the IT team with ABAP code, is
not represented here, to improve the
diagram readability
User Group User
1.. ·
Finishing line Rule Name
Rule Version Constant Name Char. Name Const Type Constant
Length Instructions
Value
Last Change by Last Change on Last Change at
Finishing line Rule Name Rule Version Long
Description Last Change by Last Change on Last Change at
DDQ User
char(10) char(12)
Constant
char(4) char(20) numeric(3) char(22) char(20) char(4)
numeric(6) char(50) char(30) char(12) date
time
0.. ·
Char. Name Data Element Char Type Char Length Char
Decimals Lev Name
The table "Characteristics" is defined in ATP.
char(4) char(20) numeric(3) char(50) char(12) date
time
Rule Version
0.. ·
Characteristics
char(20) char(30) char(4) numeric(6) numeric(6)
char(10)
Char. Name Finishing line Rule Name Rule
Version
0.. ·
Used Characteristics
0..1
char(20) char(4) char(20) numeric(3)
Figure 83 - Le Modèle Conceptuel de
Données (MCD) de BRMS
|
Le contrô le ATP - du progicie l
intégré a la solution spécifique
|
|
|
BRMS - is gestion des MPIs
Les Main Planning Items (MPIs) sont
gérés par les utilisateurs. I ls peuvent décider de
gérer leurs allocations a un niveau macroscopique, ou a un niveau plus
fin. Par ailleurs ils mettent ce qu'ils veu lent derrière un MPI : un
MPI peut gérer le laminé a chaud revêtu, un autre les
expéditions par bateau, un troisième la production pour Renault
Douai.
Les MPIs sont versionnés, et le statut de chaque
version obéit a un schéma.
Version Changes -- Version n can be based on any
previous version
Version 1
Version 2
Version 3
Version n
Draft Test Released Disabled
Draft
Draft Test Released Disabled
Draft
Test
Test
Released
Released
Disabled
Disabled
Figure 84 - Les statuts des MPIs
|
Le contrô le ATP - du progicie l
intégré a la solution spécifique
|
|
|
BRMS - la gestion des regles
Les ragles permettent de déterminer dans que
l(s) pot(s) consommer, mais aussi dans que lle p lage de semaines faire les
recherches arrière/avant, les dé lais acceptab les, les
exceptions a la faisabilité, le ratio équiva lent
tonnes...
Les ragles sont définies par les utilisateurs.
Elles sont envoyées a l'IT qui les code.
Figure 85 - C'est l'IT qui code les règles pour
les usines
|
Le contrô le ATP - du progicie l
intégré a la solution spécifique
|
|
|
Ci-apres les quatre écrans d'une r#g le
:
|
Le contrô le ATP - du progicie l integre a la
solution spécifique
|
|
|
Lors de la sauvegarde de la r#g le, trois objets sont
automatiquement generes :
n Un include, qui contient le code de la r#g
le
n Un %cran (« dynpro ») qui permettra la
gestion des parametres de la r#g le par l'utilisateur
n Un programme, qui contient les declarations et les
routines
Une r#g le, une fois validée, peut être
associée a un MPI.
Le moteur de r#g les évaluera toutes les r#g les
actives, et déterminera ainsi les MPIs a utiliser dans le contrô
le ATP.
|
Le contrô le ATP - du progicie l integre a la
solution spécifique
|
|
b) ATP - le contrale de disponibilite
Le module ATP peut être appelé pour un check
ou pour une annu lation.
I l y a p lusieurs types de check, ils ne se limiteront
fina lement pas aux 3 cidessus :
NOR : le check normal
FOR : le check en force, pour specifier une date, en
risquant la
surconsommation ; seu le erreur possible : aucun MPI
calculd SIM : c'est la simulation d'un check normal (pas de consommation) CAN :
annu lation des consommations
MPI : appe lle BRMS et renvoie les MPIs
TES : comme le mode « MPI » mais renvoie les
MPIs en statut Test LIM : un check normal qui ne tient pas compte de la forward
limit VAL : pour va lider un check sur des MPIs de type BLO
CBA : CopyBack, après validation d'une
MR
|
Le contrô le ATP - du progicie l
intégré a la solution spécifique
|
|
Le check de décompose en :
1. Appel a BRMS
2. Contrô le des MPIs (notamment la
non-ambiguIté, c'est-h-dire que BRMS n'a pas renvoyé p lusieurs
MPIs d'un même niveau)
3. Lock des MPIs (ceux renvoyés par BRMS mais
aussi ceux d'une consommation précédente)
4. Recherche d'a llocation sur chaque MPI et
détermination de la due date
5. Déconsommation éventue lle et
Consommation
6. Unlock des MPIs
Ce que représente le use-case suivant
:
Ou le diagramme d'activité ci-dessous
Figure 86 - Diagramme d'activités du cDDQ
check
|
Le contrô le ATP - du progicie l integre a la
solution spécifique
|
|
La determination de la due date obeit au respect de
delais :
n l' « Acceptable Lead Time »(ALT) est le
délai en degh duque l on ne peut pas commencer la production d'une
commande ; il est determine par le « Standard Lead Time » (SLT) auque
l peut s'ajouter un « Extra Lead Time » (ELT)
n les allocations sont cherchées dans un interva
lle défini par les backward et forward limits, toutes deux
définies par des ragles.
Current Week Requested Week
Booking Rights
Acceptable Lead Time Search booking rights in this
window
Standard LT
Extra LT
Backward Limit
Forward Limit
Weeks
Figure 87 - Les délais dans ATP
|
Le contrô le ATP - du progicie l integre a la
solution spécifique
|
|
|
L'interva lle de recherche est ainsi borne par
:
n le Max de ALT et de BL
n La date demand%e + 52 semaines
Figure 88 - cDDQ-ATP cas normal
Si on trouve une date au-dela de la FL, on emet une
erreur avec la mention « Due Date after Forward Limit ».
Enfin, un cas particu lier peut se produire ; si la date
demand%e est proche et que l'Acceptab le Lead-Time est grand on rencontre ce
cas :
Figure 89 - cDDQ-ATP cas particulier
Et la date MIN étant supérieure a la date
MAX on ne trouve aucune allocation.
|
Le contrô le ATP - du progicie l
intégré a la solution spécifique
|
|
|
La due date est déterminée successivement
sur chacun des MPIs.
Figure 90 - Les checks sur chacun des MPIs
La due date du poste de commande est la plus grande de
ces due dates.
|
Le contrô le ATP - du progicie l integre a la
solution spécifique
|
|
|
Les erreurs sont gerees et renvoyees pour etre traitees
par l'utilisateur dans le workflow de la commande.
Figure 91 - La gestion des erreurs dans
cDDQ
|
Le contrô le ATP - du progicie l integre a la
solution spécifique
|
|
|
c) VM - la gestion des allocations
La gestion des allocations est rea lis%e dans BI-IP. La
seu le complexite reside dans la mise a jour des MPIs en temps reel depuis
BRMS.
Figure 92 - L'écran de selection
cDDQ-VM
Elle est tres simple car elle ne souffre pas des
handicaps de ses homologues commercia les:
n VM est basée sur le MPI, sans lien avec la
tentacu laire hiérarchie client
n Les Booking Rights (allocations cDDQ) ne sont pas
gérés au trimestre ET au mois, mais uniquement a la
semaine
Figure 93 - Les flux dans Volume
Management
|