| FONCTION | FONCTION « avant » |
|
XC286 |
- |
|
Paramètre GÉNÉRAL |
|
|
Option FONCTION |
|
|
Paramètre PASSERELLE |
- |
Cette interface permet l’intégration dans Cegid Orli de mouvements de stocks et de jalonnement issus d’un autre logiciel.
Cette passerelle traite les points suivants :
- Emmagasinage (SP001)
- Emmagasinage direct (SP001)
- Réception (SP001)
- entrée CQ
- maintenance CQ
- sortie CQ et mise en stock d’une commande fournisseur PF ou retour fournisseur
- emmagasinage direct ou retour fournisseur
- Jalonnement (LA600)
- Entrée seule (SP005)
- Sortie seule (SP005)
- Mouvement entre 2 magasins (SP005)
- Solde d’OF ou commandes négoces (LA902/LA001W02)
- Retour fournisseur PF sur stock (NE006)
- Affectation possible des commandes clients PF d’après les quantités entrées en stock sur une commande fournisseur PF (SP001 / LI002)
Ce module est basé sur toutes les natures de mouvement de stocks de produits finis que Cegid Orli sait gérer dans son système d’information.
Le but de ce module est de récupérer les informations de stock contenues dans un fichier séquentiel afin de les intégrer dans Cegid Orli.
3 parties importantes de Cegid Orli sont prises en compte :
- l’ENTRÉE EN STOCK PF
(entrée sur ordre de fabrication, commande négoce ou entrée manuelle) - la SORTIE DE STOCK PF
(sorties diverses) - les JALONNEMENTS
(jalonnement d’entrée et de sortie de phase)
L’interface permet de recevoir les quantités de produits finis réellement produites pour une ligne de commande de produits finis (ligne de commande fournisseur PF.).
Elle permet enfin d’indiquer qu'une ligne de commande fournisseur PF ou une commande fournisseur PF complète est soldée bien que la quantité totale de produits finis ne soit pas entièrement livrée.
IMPORTANT
PAS-STO n’est PAS compatible avec le stock par emplacement ; la passerelle ne peut donc pas alimenter un stock logique/physique dans un emplacement d’attente de rangement, ni remplacer SP005
(exemple : dans le cadre d’un déménagement d’entrepôt avec magasin logique inclus dans 1 seul magasin physique)
L'ordre de traitement revêt une importance capitale; en effet, des mouvements de stock (en + ou en – ) n'auront pas les mêmes effets selon l'ordre dans lequel ils seront exécutés. Il incombe donc à l'application émettrice d'utiliser le champ NUM_ORDR_TRAIT qui pilote cela pour ordonner les mouvements (exemple : opérations métiers réalisées dans un WMS), assurer un import cohérent, et ainsi prémunir de tout écart de stocks entre Cegid Orli et un WMS.
Dans le même ordre d'idées, la notion de niveau conceptuel permet d'assurer une cohérence entre plusieurs provenances / origines :
cf . Documentation Généralités Import/Export
Description des fonctions du module
Ce module se compose d’une seule fonction assez complexe qui peut gérer plusieurs cas.
Aussi, nous retrouvons dans ce module le programme suivant :
XC286 Intg. Stock PF (Jalon)
Cette passerelle est utilisée en passant par le module standard d’intégration des données XC20B ; après lecture, il effectue les mises à jour nécessaires.
Le traitement se déroule en deux parties bien distinctes.
- le module effectue tous les contrôles nécessaires
- le module réalise les mises à jour des tables.
On peut ensuite vérifier les actions réalisées par le module dans Cegid Orli :
- LA651 :
Consultation en-cours de fabrication- pour voir l’intégration du jalonnement
- SP902 / SP010
Consultation / édition stock produits finis- pour voir le stock après les entrées / sorties
- SP039 / SP003
Consultation / Edition historique produits finis- pour voir les mouvements d’entrée et de sortie de stock
- LA902
Consultation / maintenance ligne cde four PF- pour voir l’état d’avancement des lignes cde fournisseur après réception / entrée / retour stock
- LI003
État décisionnel préparation / CD902 : Situation commerciale client- pour voir le résultat de l’affectation du stock aux commandes client
- LA651
Consultation en-cours de fabrication c’est-à-dire toutes les phases de jalonnement.- on peut effectuer cette vérification lorsqu’on l’on fait du jalonnement simple.
- SP902
Consultation stock produits finis, et utilisé lorsque l’on fait des mouvements de stock- possibilité de retrouver le mouvement généré dans l’historique
- SP010
éditer le stock résultant c’est-à-dire après les mises à jour effectuées par le module-
N.B. : il peut prendre en compte les mises à jour faites par d’autres utilisateurs dans Cegid Orli)
-
- SP039 / SP003
vérifier l’historique des produits finis et donc de lister les mouvements de stock effectués. - LA902
Consultation lignes des commandes fournisseur PF afin de voir leur état après réception (solde ou pas, quantités restantes). - LI003 / CD902
visualiser le résultat des affectations de stock faites sur les cdes client.
Le module permet également de générer automatiquement les pertes. Celles-ci sont calculées par ligne de commande fournisseur PF (ce calcul ne peut donc pas se faire dans le cas de mouvement manuel).
Ce calcul s’effectue taille à taille. Il est défini ainsi :
quantités lancées - quantités jalonnées
N.B. :
les coches des phases en jalon facultatifs sont passées en jalon interdit (supprimé) ou en jalon obligatoire (jalon conservé et imposé), selon l’état d’avancement du jalonnement, dès la 1ère entrée en stock mais ce, que pour les jalons dont la conso. est en proportionnelle.
Le lancement d’une passerelle par XC20B nécessite au préalable un paramétrage particulier défini par Cegid dans TA350.
Le programme d’intégration des données reçoit en entrée le fichier séquentiel décrit ci-dessous.
À partir de ce fichier, XC20B intègre les données dans la table réceptacle prévue (ORL_STOCK cf. Annexe) et lance XC286 qui se charge de lire chaque enregistrement de cette table ordonné par numéro de commande fournisseur PF, ligne de commande fournisseur PF, numéro d’ordre, phase et type de mouvement. XC286 se contente alors d’appeler les programmes de contrôle de données et d’intégration de la passerelle pour chaque enregistrement.
Par XC20B, on saisit la provenance (‘SEPARAT’ ou ‘FIXE’), l’origine (‘STK’) fournis par Cegid. Il est également possible de lancer la passerelle par code EDI (il faut pour cela avoir défini le code EDI dans TA440 pour la passerelle). Le numéro de lot permet de lancer un traitement sur un lot particulier (cas des fichiers normés dans TA350 2ème onglet).
Le mode d’intégration permet de savoir à partir de quelles données on travaille :
un fichier (0 ou 1), un recyclage à la suite d’une anomalie (2), directement depuis la table réceptacle (4).
N.B. :
le type d’intégration est à 0 par défaut (intégration classique). La valeur 1 permet de faire une reprise de données, ne se lance qu’une seule fois et permet de faire une reprise de l’en cours de stock (on ne met pas à jour le stock). La valeur 1 ne doit être utilisée que pour faire une reprise de l’encours et surtout pas pour faire un jalonnement, une sortie de stock ou autre…
Contrôles et initialisations des données
Plusieurs types de contrôles sont réalisés à des étapes différentes dans l’intégration.
Dans un premier temps, lors de l’extraction des données du fichier pour intégration dans les tables réceptacles, un premier contrôle est réalisé.
Celui-ci consiste à vérifier :
- Si tous les champs obligatoires sont présents dans l’enregistrement
- Si le type des champs est correct : numérique, caractère, date, ...
Seuls les enregistrements pour lesquels aucune erreur de structure n’aura été détectée, sont intégrés dans les tables réceptacles.
Les enregistrements à problème (exemple : champ obligatoire non présent) sont rejetés et insérés dans un fichier de sauvegarde de structure identique au fichier reçu. L’utilisateur peut venir le consulter s’il le souhaite sous le répertoire $ODIE/XC200.
Les noms des différents fichiers générés lui seront remis le jour du paramétrage.
Toutefois, à chaque intégration, des fichiers avec les extensions ci-dessous sont présents dans le répertoire $ODIE/XC200 :
- .err :
fichier des enregistrements sortis en anomalie contenant l’enregistrement à intégrer avec une phrase explicative de l’erreur - .rej :
fichier des enregistrements rejetés contenant tous les enregistrements pour lesquels une anomalie a été détectée (à chaque anomalie présente dans le .err correspond un enregistrement dans .rej) - .temp :
fichier temporaire utilisé par le traitement, il est toujours vide.
Si ces fichiers sont vides à la fin du traitement, ils sont détruits automatiquement.
Chaque anomalie rencontrée donne lieu à l’écriture d’une ligne d’erreur dans la table des anomalies qui est ensuite éditée.
Les anomalies sont gérées par XC20B dans la table ORL_ANOMALIE et éditées en fin d’intégration ; la liste exhaustive des codes rejets STOxxx et de leurs messages respectifs est disponible dans le document MODULE_Passerelle (Liste Rejets).
Dans un deuxième temps, des initialisations et des contrôles sont effectués (sous programme SPXC2861W01).
Cette partie est assurée par le sous-programme SPXC2862W01.
La table qui servira de base à l’intégration est la table réceptacle ORL_STOCK
La description complète de la structure de la table est présente en Annexe.
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)
CODE_ORIG_CDE VARCHAR2(25) STK
CRITERE_1 VARCHAR2(25) N° OF
CRITERE_2 VARCHAR2(25) N° Ligne
CRITERE_3 VARCHAR2(25) Saison article
CRITERE_4 VARCHAR2(25) code article
CRITERE_5 VARCHAR2(25) code coloris
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, l’enregistrement sera automatiquement placé en anomalie (Mise à jour à ‘X’ de la zone FLAG_ANO dans la table réceptacle traitée).
Il existe 2 types d’utilisation du paramétrage provenance (SEPARAT ou FIXE) origine STK pour le lancement de cette passerelle Intégration mvt jalonnement & Stock article par XC20B.
Ils correspondent à 2 particularités d’envoi de données, à savoir :
- soit le libellé taille n’est pas renseigné auquel cas le fichier d’entrée doit contenir les 20 champs quantités,
- soit le libellé taille est renseigné auquel cas on ne fait l’entrée en stock que pour la taille et un seul champ quantité (sur la 1ère quantité)
Traitement :
N.B. :
le traitement ne traite pas les enregistrements dans l’ordre du fichier d’entrée mais d’abord les enregistrements d’entrée et ensuite les enregistrements de sortie.
Les protocoles demandés sont:
- CHAR
Cadré à gauche et complété à droite par des 'blancs' - NUMBER
Cadré à droite et complété par la gauche avec des '0'- Décimal formaté sans le '.' Et complété à droite par des '0'
- Signe négatif '-' éventuel positionné en 1er caractère.
- DATE
Formatée en JJMMAAAA
Le fichier doit contenir les 70 informations décrites dans le fichier de structure (.xlsx)
Avec le même dessin de fichier, il est possible d’envoyer trois types de message différents :
- jalonnement simple
- entrée en stock
- sortie de stock
Toutes les zones du fichier ne sont pas obligatoires, mais chacune a son importance en fonction du mouvement que l’on a choisi d’envoyer.
Ainsi dans le cas d’un mouvement manuel, les zones à compléter sont : magasin, type de mouvement, flag annul, saison, article, coloris, code finition spéciale, taille, quantité par taille, choix, date du mouvement, phase et le motif, magasin de réception et choix d’origine éventuellement pour informations.
Gestion des PERTES en validation de fin de phase
Les pertes sont calculées automatiquement dans le cas où on traite un mouvement sur commande fournisseur PF et que le champ ligne soldée (ou le champ commande soldé) est coché. En effet, grâce à celui-ci, on peut déterminer s’il y aura ou non encore des jalonnements concernant cette ligne de commande fournisseur PF. et cette phase.
Ce calcul est fait par ligne de commande fournisseur PF On peut ainsi pour chaque phase déduire au plus vite les pertes et les relancer en fabrication.
Gestion des REBUTS (ou perte en cours de phase)
La gestion des rebuts (ou pertes en cours de phase) n’est possible que si le champ « type choix » est renseigné avec un choix de type perte (fonctionnalité = ‘9’) et que le champ « ligne soldée » (Zone n° 15) est positionné à ‘1’.
Lorsqu’un rebut est géré sur une phase, on génère un enregistrement de type perte, on consomme la matière correspondant aux quantités du rebut, puis on désaffecte toutes les matières affectées aux phases suivantes pour la quantité du rebut et on recalcule le besoin théorique pour ces phases.
La gestion d’une annulation en cours de phase n’est possible que si le champ « ligne soldée » (Zone n° 15) est positionné à ‘2’.
Lorsqu’on gère une annulation en cours de phase, on génère un enregistrement de type annulation (fonctionnalité = ‘9’) (prise en compte de la valeur du paramètre CHOI_ANNU), on désaffecte les matières affectées à la phase et aux phases suivantes pour la quantité annulée et on recalcule le besoin théorique pour ces phases.
La différence entre un rebut et une annulation est qu’on consomme la matière dans le cas d’un rebut et pas dans le cas d’une annulation.
Gestion des PHASES en consommation automatique
A chaque mouvement, correspond une certaine consommation de matière. Cette consommation tient compte non seulement de la valeur d’un champ de la phase du circuit de fabrication de l’OF mais également de la valeur du paramètre DESTO_MAT_PF afin de déterminer si la consommation doit être faite automatiquement par ce programme ou si elle doit être faite manuellement ultérieurement.
Si DESTO_MAT_PF=0, la consommation des matières affectées à l’OF est faite
Si DESTO_MAT_PF=1 ou 2, la consommation n’est pas faite automatiquement. Elle devra être faite ultérieurement manuellement.
De plus, si DESTO_MAT_PF=0, le champ du circuit de fabrication (TA079 champ FLAG_CONSO) permet de déterminer si la consommation doit être faite automatiquement par cette fonction (valeur 2 ou 3) ou si elle devra être faite manuellement ultérieurement (valeur 1).
Dans le cas où rien n’a été spécifié pour la phase jalonnée, il y a consommation en entrée de jalon si jalon d’entrée, sinon consommation en sortie de jalon ( comportement classique).
Gestion d’un JALON sur un atelier autre que celui prévu
Cegid Orli donne la possibilité de gérer un jalon sur un atelier autre que celui prévu dans le circuit de fabrication. Dans ce cas, on désaffecte les matières affectées à l’atelier initial (afin de les rendre disponibles car non consommées) et on réaffecte et on consomme pour le nouvel atelier du jalon. Dans le cas de mouvements reçus par taille et si le fichier transmis est bien organisé, Cegid Orli prévoit de cumuler en mémoire les informations reçues dès qu'elles concernent la MÊME ligne de commande fournisseur PF (ou Produit/FS si Mouvement Manuel) et le même type de choix.
Gestion des RETOURS fournisseur avant entrée en stock
Le traitement des retours ne se lance que si le type de choix est ‘X’ et le type de mouvement ‘S’ pour phase de jalon ou ‘MAG’ et ‘E’ pour ‘STK’, sachant que l’on peut retourner des pièces que la commande fournisseur PF soit ou non affectée à une ou plusieurs commandes. La zone phase (n°12) en type de mouvement ‘S’ détermine sur quelle phase a lieu le retour. Elle permet ainsi de trouver l’atelier retour.
Si le n° de retour est renseigné, c’est celui-ci qui est mémorisé en tant qu’identifiant du retour fournisseur. Il est accepté que s’il n’existe pas déjà ou s’il existe mais pour la date du jour, pour l’atelier traité et non encore édité.
Si le n° de retour n’est pas renseigné, il est automatiquement attribué selon la règle suivante : Recherche d’un n° de retour existant dont l’atelier correspond, dont le flag d’édition du bon de retour est nul ayant une date de retour égale à la date du jour.
A défaut, génération d’un nouveau n° de retour.
Les tables mises à jour : OF_JALO & HIST_OF_JALO (si on gère le contrôle qualité), RET_FOUR_LIGN_PF et RET_FOUR_ENT_PF.
Gestion des RETOURS fournisseur après entrée en stock
Le traitement des retours après entrée en stock ne se lance que si le type de mouvement est S et la phase ‘STK’.
Un retour fournisseur met à jour les tables de jalonnement de manière à mémoriser les quantités retournées comme un jalonnement négatif sans défalquer les historiques de jalonnement existants.
Attention, le magasin à partir duquel on retourne les pièces est celui saisi dans la zone 01 du fichier. Le programme se charge de trouver l’atelier du fournisseur sur lequel on retourne les pièces, il prend l’atelier associé à la dernière phase du circuit.
Si le n° de retour est renseigné, c’est celui-ci qui est mémorisé en tant qu’identifiant du retour fournisseur. Il est accepté que s’il n’existe pas déjà ou s’il existe mais pour la date du jour, pour l’atelier traité et non encore édité.
Si le n° de retour n’est pas renseigné, il est automatiquement attribué selon la règle suivante : Recherche d’un n° de retour existant dont l’atelier correspond, dont le flag d’édition du bon de retour est nul ayant une date de retour égale à la date du jour.
À défaut, génération d’un nouveau n° de retour. Les tables mises à jour : OF_JALO & HIST_OF_JALO (si on gère le contrôle qualité), RET_FOUR_LIGN_PF (mis à jour avec la phase STK) et RET_FOUR_ENT_PF. Dans le cas de mouvements faits au titre de matricule (pièce unitaire), le fichier contient un enregistrement par matricule, mais les lignes sont ensuite regroupées sur une seule et même ligne de retour pour les informations concernant la même donnée, même si plusieurs matricules sont retournés en même temps. Ceci afin de faciliter la gestion ultérieure des retours.
Gestion des COMMANDES FOURNISSEUR PF pré-affectées aux commandes client
Les traitements des commandes fournisseur PF affectées aux commandes client ne se lancent que si le flag OF/CDE vaut X. À chaque entrée en stock sur une commande fournisseur PF affectée aux commandes client, on défalque les quantités rentrées en stock, de la table des liens entre la commande fournisseur PF et sa ou ses commandes, chaque pièce défalquée est alors historisées dans la table de l’historique du lien OF/commande.
- Cas où la ligne d’entrée en stock concerne un choix différent du 1er choix :
Si les quantités à entrer sont inférieures ou égales aux quantités de la ligne de commande fournisseur PF non affectées aux commandes (Quantités lancées - Quantités de commandées) on ne fera PAS DE MISE À JOUR PARTICULIÈRE.
Sinon, s’il existe au moins une taille où la quantité à entrer est strictement supérieure à la quantité de la ligne de commande fournisseur PF non affectée, alors il y a un message bloquant.
Dans ce cas, l’utilisateur devra d’abord désaffecter les lignes de commandes de la commande fournisseur PF par l’intermédiaire de LA010 Pré-affectation commandes fournisseur PF / commandes client PF avant de pouvoir saisir ces incidences par ce programme.
On ne peut pas rentrer en stock plus qu’il n’existe de non affecté aux cdes.
exemple :
je rentre en stock 40
je fabrique (OF) 50
je commande 10
PAS DE PB
je rentre en stock 45je fabrique (OF) 50
je commande 10
PB CAR JE N’AI EN STOCK QUE 40 (50-10) DE NON AFFECTE
on doit alors passer par LA010 pour désaffecter des lignes de commandes.Ensuite on fait une entrée en stock classique.
- Cas où la ligne d’entrée en stock concerne un 1er choix (Paramètre CHOI_1) :
Pour toutes les mises à jour on raisonne en taille à taille.
Dans ce cas, l’entrée en stock est accompagnée d’une affectation automatique de ce stock aux lignes de commandes concernées.
Tables mises à jour : OF_ENT, OF_LIGN, OF_JALO, OF_LIGN_CDE, PROD_STOK, PROD_HIS, CDE_CLI_ENT, CDE_CLI_LIGN, CDE_SIT_LIGN, LIV_CDE, HIST_CDE_SIT_LIGN, HIST_OF_LIGN_CDE, AFF_CLI_LIGN (si magasin tampon).
Appel de MJCDE et LIVCDE.
Dans OF_ENT, mise à jour de flags si toutes les lignes de la commande fournisseur PF sont soldées ou en stock.
OF_LIGN, mise à jour de flags si la ligne de commande fournisseur PF est soldée ou en stock.
OF_JALO, insertion des quantités entrées en stock pour la commande fournisseur PF (celles du fichier séquentiel, quelles que soient les quantités commandés)
OF_LIGN_CDE contient au départ les quantités commandées pour la commande fournisseur PF, on défalque les quantités en fonction de l’entrée en stock. Une commande fournisseur PF peut avoir plusieurs commandes auquel cas on commence à défalquer la première commande ( définie par tranche de départ usine, code priorité, date de départ usine, commande, groupe de livraison, numéro de lien, saison, article, coloris, finition spéciale....) ou si on ne précise que le numéro de commande, on ne défalquera que les lignes de la commande précisée (selon le même ordre que celui précédemment cité et si on entre plus en stock que l’on a de commandé sur toutes les lignes de commande confondues alors ne touche pas aux autres commandes de la commande fournisseur PF) ou si on précise la commande et son numéro de ligne, on ne défalquera alors que la ligne de commande de la commande fournisseur PF (même si on entre plus en stock que l’on a de commandé sur cette ligne de commande). Il reste des lignes dans OF_LIGN_CDE si on entre moins en stock que l’on ne commande.
PROD_STOK, création d’un enregistrement de type 0, contenant les quantités réellement rentrées en stock (celles du fichier séquentiel) et un enregistrement de type 1 ne contenant que les quantités affectées aux commandes de la commande fournisseur PF et non pas le surplus.
PROD_HIS, historique de ce qui est réellement entré en stock (type d’enregistrement 0 de PROD_STOK).
CDE_CLI_ENT, mise à jour du total des quantités commandées (par ligne de commande) satisfaites par l’entrée en stock (il est possible d’entrer en stock moins que l’on a commandé).
CDE_CLI_LIGN, mise à jour des flags PABLE = 1
AFF = ’’
OF = 1
si une commande est affectée partiellement (cas où on cde plus qu’on ne rentre en stock)
Flags PABLE = 2
AFF = X
OF = 0
si une commande est affectée totalement
(cas où on cde au moins autant qu’on rentre en stock).CDE_SIT_LIGN, mise à jour d’un enregistrement de type 30 si une commande a été partiellement affectée, on crée un enregistrement avec les quantités commandées que l’on a pu satisfaire avec les quantités rentrées.
Si une commande est totalement affectée alors il n’y a pas d’enregistrement dans cette table.
HIST_CDE_SIT_LIGN, contient ce qui s’est passé dans CDE_SIT_LIGN en cas de commande totalement affectée.
LIV_CDE, création d’un enregistrement par commande affectée à la commande fournisseur PF.
- Cas où les quantités entrées en stock 1er choix sont inférieures au total des lignes de commandes affectées et que l’on solde la ligne de commande fournisseur PF
Dans ce cas, on détruit le lien en surplus, on met à jour la ligne de commande (FLAG_AFF à null et FLAG_OF à 0).
On ne crée pas d’historique de ligne de commande affectée (HIST_OF_LIGN_CDE).
- Cas où les quantités entrées en stock 1er choix sont supérieures au total des lignes de commandes affectées
Dans ce cas, les lignes de commandes de la commande fournisseur PF seront automatiquement affectées avec le stock entré correspondant et 2 cas se présentent selon la valeur de l’option RECE_AFF_OF_CDE :
2 cas de surplus peuvent se produire :
1/ On reçoit plus que le reste à entrer (si autorisé par le programme),
donc plus que le pré-affecté.
2/ On reçoit moins que le reste à entrer mais plus que le pré-affecté
(cas de pré-affectation partielle de la ligne de commande fournisseur
à la ligne de commande client).
3 comportements différents sont possibles selon les 3 valeurs prévues pour cette option :
- 0 = le surplus est mis dans le stock restant à affecter
- 1 = imputation du surplus aux lignes de commande fournisseur et client
- 2 = imputation du surplus à la ligne de commande client
Valeur 0 :
Les lignes des commandes fournisseur et client ne sont pas modifiées.
Les quantités de PF en surplus sont mises en stock restant à affecter.
Valeur 1 :
La quantité traitée est supérieure au pré-affecté (et éventuellement au reste à entrer) et impacte les commandes FRS et CLI.
Les quantités de PF en surplus augmentent la ligne de commande FRS et sont générées sur une nouvelle ligne de commande CLI (et ce, même s’il y a du reste à recevoir non pré-affecté, ce qui fait qu’on conserve dans ce cas la part de PF non pré-affectée devant arriver en stock).
En général, on est dans le cas où l’utilisateur a créé une ligne de commande FRS pour une ligne de cde CLI avec une pré-affectation faite à 100%. L’approvisionnement du PF est fait exclusivement pour la commande CLI. Donc tout surplus est répercuté sur les commandes en question.
On distingue 2 scenarii possibles :
a) La ligne de commande FOURNISSEUR est pré-affectée à une seule ligne de commande CLIENT.
Ainsi on sait sur quelle commande CLI générer la nouvelle ligne et sur quelle ligne prendre modèle pour en générer une autre.
Cela permet de retrouver facilement les informations nécessaires à la création d'une ligne de commande CLI (prix spéciaux, textes spécifiques à la ligne de commande, éléments de tarification, tranche de livraison, etc...) qui sont par défaut dupliquées sur la nouvelle. La ligne de commande FRS est augmentée du surplus généré sur la nouvelle ligne de commande CLI.
b) La ligne de commande FOURNISSEUR est pré-affectée à plusieurs lignes de commande CLIENT.
Dans ce cas, soit on nomme précisément la commande à traiter (si le programme de réception utilisé le permet) et on retombe dans le cas « a) » décrit ci-dessus, soit on ne précise rien.
Ce cas impose de faire un choix sur la commande CLI sur laquelle on va générer la nouvelle ligne et sur la ligne qui va nous servir de "modèle" pour cette génération.
La logique appliquée consiste à se baser sur la dernière commande CLI à affecter trouvée selon le tri défini par le paramètre TRI_AFF.
En prenant la dernière ligne, on part du principe que les premières lignes de commandes ont été "servies" (donc affectées au stock généré) par la réception des quantités prévues initialement. C'est donc la dernière qui "gagne" le surplus de réception.
Une fois ce choix effectué, on applique alors le même fonctionnement de génération de ligne de commande prévu dans le cas "a)" décrit ci-dessus (duplication des informations principales).
Une fois la nouvelle ligne de commande CLI générée avec les quantités en surplus et la ligne de commande FRS augmentée, on simule la réception des quantités en question afin d'obtenir le traitement classique fait normalement en réception de ligne de cde FRS affectée à une ligne de commande CLI.
C'est-à-dire suppression des quantités liées, marquage d'une trace dans l'historique des liens « commande FRS - commande CLI », réception en stock physique et affectation de ce stock à la nouvelle ligne de commande CLI.
Valeur 2 :
La quantité traitée est supérieure au pré-affecté (et éventuellement au reste à entrer) et n’impacte que la commande CLI.
Les quantités de PF en surplus sont générées sur une nouvelle ligne de commande CLI mais n'impacte pas la ligne de commande FRS (et ce, même s'il y a du reste à recevoir non pré-affecté, ce qui signifie qu'on diminue la part de PF non pré-affectée devant arriver en stock).
Le fonctionnement prévu est exactement le même que celui décrit pour la valeur 1 sauf que la ligne de commande FRS n'est pas modifiée. Seule la nouvelle ligne de commande CLI est générée avec les quantités en surplus.
En général, on est dans le cas où l’utilisateur gère manuellement la pré-affectation d’une ligne de commande FRS à un ensemble de lignes de commande CLI (qui n’est pas forcément faite à 100%).
L’approvisionnement du PF est pour un ensemble de commande CLI avec auto-affectation dès entrée en stock.
On conserve donc la commande FRS telle qu'elle a été passée au fournisseur.
Concernant la nouvelle ligne de commande client :
Si RECE_AFF_CDE=1 ou 2, et QTE_PLUS > 0 alors maj de :
-
CDE_CLI_LIGN_TEXT
-
CDE_ELMT_TARI
Si prix spéciaux :
-
CDE_PRIX_SPEC_LIGN
Une commande fournisseur PF n’est placée en pré-stock que s’il est issu de l’éclatement d’une autre commande fournisseur PF et qu’il n’est pas considéré comme perte auquel cas la commande fournisseur PF subit le traitement décrit ci-dessus.
Une entrée en pré-stock ne met pas à jour l’historique de stock.
La commande fournisseur PF éclatée (le père) n’est pas « pré-stockable », un message bloquant est spécifié en cas de traitement de la commande fournisseur PF « mère ».
Selon l'option QTE_PLUS, on peut demander à traiter toutes les lignes de commande fournisseur PF, aussi bien celles n’ayant plus de reste à entrer, que celles soldées, etc...
Ce qui veut dire qu’on peut dans ce cas effectuer une réception après que la ligne d’of ait été terminée / soldée en réception, AVEC TOUS LES RISQUES D’ERREUR IRREVERSIBLES QUE CELA COMPORTE (réception sur une ligne soldée alors qu’il ne fallait pas la toucher, réception sur un BL n’ayant plus de reste à entrer alors qu’il était réellement tout réceptionné, etc...).
Pour prévenir l’utilisateur, un message non bloquant est généré lorsque l’on fait une réception sur une ligne d’of ne possédant plus de quantité restante à entrer, message d’alerte non bloquant :
« Warning : Réception de quantités sur une ligne de commande fournisseur PF sans reste à entrer »
Pour la gestion des BL fournisseur, on ajoute une Date de BL censée contenir la date d’émission du bon et une référence gérée sur option SP001W01/GEST_REF_BL. Celle-ci, libre, peut contenir des remarques ou autres références utiles à la société, sachant que cette information ressort sur les avis et bons de réception de SP022 lorsqu’elle est renseignée.
Ces données sont facultatives.
Le n° de BL étant facultatif, il faut autoriser la saisie de sa date et de sa référence que lorsqu’il est renseigné.
Seuls les mouvements de réception, d’emmagasinage et d’emmagasinage direct tiennent compte de ces zones. Les autres mouvements font comme si elles étaient nulles.
Les contrôles d’anomalie suivants ne se font donc que lors des mouvements nommés ci-dessus :
- Si la date BL est renseignée alors que le n° BL est nul, message d’anomalie :
« Date de BL interdite car numéro de BL non renseigné »
- Si la référence BL est renseignée, il faut contrôler si l’option SP001W01/GEST_REF_BL=1; si ce n’est pas le cas, message d’anomalie :
« Référence BL interdite car non gérée »
- Si la référence BL est gérée (SP001W01/GEST_REF_BL=1) et renseignée alors que le n° BL est nul, message d’anomalie :
« Référence BL interdite car numéro de BL non renseigné »
Gestion de l’historique de stock
On trace la réception en contrôle qualité qui correspond en fait à une arrivée physique du produit dans le magasin.
Pour les autres mouvements possibles, on les différencie par un type de mouvement (TA037) afin de bien les reconnaître dans le but d’une utilisation ultérieure. Il existe une bibliothèque de types de mouvement dédiée à PAS-STO, parallèlement à la bibliothèque des types de mouvement utilisés par la fonction mère (SP001) et les WebServices :
| Fonction | Sens | Phase | Choix | Type mouvement PAS-STO |
Type mouvement Fonction / WebServices |
| Entrée STK directe / Commande ("Emmagasinage DIRECT") |
E | STK | 650 | 600 SP001 | |
| Mouvement entre 2 Magasins | E/S | 651 | 601 SP005 | ||
| Mouvement interne (1 Magasin) | E/S | 652 | 602 SP005 | ||
| Entrée STK / sortie CQ ("Emmagasinage CQ") |
S | MAG | 654 | 640 SP001 | |
| Retour Fournisseur / entrée STK | S | STK | 660 | 613 NE006 | |
| Retour Fournisseur / entrée STK | S | STK | "X" | 669 | 639 SP001 |
| Retour Fournisseur / sortie CQ | S | MAG | "X" | 661 | 641 NE006 + SP001 |
| Entrée CQ / Commande | E | MAG | 662 | 642 SP001 | |
| (maintenance) Réception en CQ | M | MAG | 663 | 643 SP001 | |
N.B. : (sur types 650 & 600)
on ne trace pas de mouvement en historique de stock PF sur un emmagasinage direct avec choix à ‘X’ car on considère qu’il n’y a pas eu de réception physique de produits finis, ceux-ci étant directement renvoyés à l’expéditeur.
Pour pouvoir reconstituer le stock à une date donnée, on mémorise dans l’historique de stock, le date de mouvement réelle.
Solde d’une ligne commande fournisseur PF bloquée si encours en contrôle qualité
Selon l'option SOLD_CTRL, on peut bloquer le solde d’une ligne de commande si les pièces en contrôle qualité ne sont pas toutes sorties du contrôle qualité (valeur de l’option = 1).
Gestion de l’affectation de stock aux commandes sur mesure
Ce traitement n’est actif que si le numéro (et numéro de ligne) de commande fournisseur PF est nul, le numéro (et numéro de ligne) de commande client non nul, le type de mouvement ‘E’ et le code phase ‘STK’.
Appel de la procédure stockée P_MAJ_AFFECT_PF_CDE.
Gestion de l’affectation de stock aux commandes client PF
Lors d’une entrée en stock de PF, on génère un stock physique.
Ce stock peut être utilisé ensuite pour couvrir un besoin commercial à affecter.
Afin d’affecter au plus tôt ce nouveau stock physique généré, il est possible dès l’entrée en stock d'enchaîner automatiquement le traitement d’affectation du stock aux commandes clients PF.
Cette fonctionnalité est disponible sur les mouvements suivants :
Sur mouvements d’alimentation du stock PF en choix 1 :
- emmagasinage direct en stock au titre d’une commande fournisseur PF
- sortie CQ et mise en stock d’une commande fournisseur PF
- entrée seule au titre d’un mouvement manuel
- entrée depuis un autre magasin au titre d’un mouvement manuel
Sans gestion du n° de réception mais en limitant quand même l’affectation qu’à concurrence des quantités mises en stock (et non de la totalité des quantités disponibles en stock).
2 options en plus de colonnes intégrées dans le fichier plat permettent de paramétrer le fonctionnement de cette affectation :
- Option XC286W01/CHAIN_AFFECT
Lors d’une entrée en stock en choix identique au paramètre CHOI_1, il est possible d'enchaîner immédiatement l’affectation du stock généré aux commandes clients.
Ce traitement dépend de cette option :
- 0 = L’affectation automatique du stock aux commandes client n’est jamais appelée.
- 1 = L’affectation automatique du stock aux commandes client est systématiquement appelée dès lors qu’on fait une entrée en stock en choix identique au paramètre CHOI_1.
- 2 = L’affectation automatique du stock aux commandes client est appelée selon la valeur mise dans le champ « AFF_AUTO » de chaque enregistrement traité : Si « AFF_AUTO » = ‘X’, affectation automatique (si entrée en choix 1).
- Option XC286W01/REGLE_AFFECT
Lors d’une entrée en stock en choix identique au paramètre CHOI_1, il est possible d'enchaîner immédiatement l’affectation du stock généré aux commandes clients.
Plusieurs règles d’affectation sont possibles. Cette option permet de préciser la règle à utiliser :
- = Complet avec Réservation
- = Complet sans Réservation
- = Partiel
- = Par répartition
- = La règle d’affectation provient de la valeur mise dans le champ « REGLE_AFF » de chaque enregistrement traité
(valeurs possibles : 1 ou 2 ou 3 ou 4).
N.B. :
Si une règle d'affectation est choisie ici, valeurs 1 à 4, celle éventuellement mise sur chaque enregistrement n’est pas prise en compte.
Le principe de cette fonctionnalité est un enchaînement automatique de LI002 après l’alimentation du stock PF.
On génère alors une demande d’affectation à partir d’un fichier alimenté avec les quantités mises en stock avec le critère « Prise en compte fichier quantité » coché dans la demande de traitement de LI002.
On utilise donc les options de cette fonction pour appeler ensuite les différents traitements que l’on sait automatiser à la demande :
Options LI002W01/CHAIN_RESULT / LI002W01/CHAIN_ETI_PRI / LI002W01/CHAIN_ETI_LOGI
Ces options permettent de paramétrer l’enchaînement des éditions possibles suite au traitement d’affectation demandé.
Elles doivent être positionnées pour le WEBUSER appelant la passerelle PAS-STO.
Gestion de la maintenance de l’encours de contrôle qualité d’une commande frs PF
Lorsqu’on gère l’étape de contrôle qualité, on déclare les quantités entrées en contrôle qualité (phase MAG / E) et celles sorties du contrôle qualité (phase MAG / S).
La différence quantitative donnant alors l’encours de CQ.
Pour modifier cet encours de CQ, deux solutions sont possibles :
Déclarer une sortie de CQ (phase MAG type S) pour diminuer l’encours (ce qui augmente les quantités sorties)
Déclarer une maintenance de l’entrée de CQ (phase MAG type M) pour augmenter l’encours (ce qui augmente les quantités entrées) ou diminuer l’encours (ce qui diminue les quantités entrées, via l’utilisation du signe pour les quantités traitées).
N.B. :
il faut passer dans ce flux les quantités à additionner ou à soustraire de celles déclarées en entrée de CQ (et non les quantités totales à obtenir au final en entrée de CQ).
Cette maintenance de CQ est autorisée dans le contexte suivant :
- Type de mouvement M (maintenance)
autorisé exclusivement pour la phase MAG - Signe (valeur nulle ou ‘-‘)
utilisé que pour un mouvement MAG / M - Contrôle (comme pour un mouvement MAG E) qu’on ne dépasse pas le reste à entrer de la ligne de commande traitée selon l’option QTE_PLUS
- Contrôle (en cas de maintenance à la baisse, donc avec un signe égal à ‘-‘) qu’on ne soustrait pas plus que ce qui est présent en encours de CQ : exemple : Si j’ai 10 qtés en entrée de CQ et 4 qtés en sortie de CQ, donc un encours de 6, je ne peux pas passer un flux de maintenance négatif de l’entrée de CQ avec 7 qtés.
Gestion de la réception d’une Packing List
Les zones 30 à 32, 34 à 40 et 20 permettent de faire une réception ou un jalonnement à partir d’une Packing list.
Chacune de ces zones est facultative, le programme se charge de retrouver les lignes de commande fournisseur PF définies pour le ou les élément(s) de la Packing List renseignés.
Sans quantité, on reçoit complètement la Packing List nommée.
Avec quantité + produit, on reçoit partiellement la Packing List.
Pour solder une Packing List, 2 possibilités :
Solde de la ligne de BL :
il suffit d’associer l’élément Packing List à la zone solde ligne (zone 15). On ne solde que les lignes de BL de l’élément Packing List nommé.
Solde de la Packing List :
il suffit d’associer l’élément Packing List à la zone solde cde (zone 16). On solde toutes les lignes de BL de l’élément Packing List nommé.
exemple : Packing List
- Réception BC + BE1 + BL11 + solde ligne
- Réception et solde LBL111 et LBL112
- Réception BE1 + BL11 + solde cde
- Réception LBL111 et LBL112 et solde LBL111 LBL112 LBL121
- Réception BC + BE1 + BL11 + solde cde
- Réception LBL111 et LBL112 et solde de toutes les LBL
- Contrôle du bon déroulement du lancement du module
- Contrôle des données contenues dans le fichier ou dans l’enregistrement
- Contrôle de cohérence du message
Contrôle du lancement du module
- on doit avoir spécifié 5 arguments (numéro de demande, lot, null, utilisateur (OPS$),webuser)
- le nom du fichier à traiter ne doit pas être trop long
- l’enregistrement ne doit pas dépasser la longueur admise
- l’ouverture du fichier à traiter de même que sa fermeture doit être possible.
Dans un premier temps, le module contrôle qu’aucune donnée ne manque. Sont obligatoires :
* type de mouvement
- saison de l’article
- code de l’article
- code du coloris
- code choix
- phase
- numéro de la ligne de commande fournisseur PF si numéro de commande fournisseur PF rempli
- magasin ou numéro de commande fournisseur PF / numéro de ligne sont remplis
Dans un deuxième temps, le module contrôle que les données sont cohérentes avec Cegid Orli. Ce contrôle porte sur :
- magasin
- type de mouvement
- saison
- article (saison/article)
- produit (saison/article/coloris)
- code finition spéciale
- taille
- type de choix
- phase
- numéro de commande fournisseur PF : pour les lancements éclatés, seuls les commandes fournisseurs PF éclatés de type ‘2’ (« Personnalisé ») sont autorisés.
- numéro de la ligne de commande fournisseur PF
- motif
- numéro de bon de Livraison pour une sortie de contrôle qualité ou une entrée en stock doit être identique au BL de l’entrée en contrôle qualité ( si elle a eu lieu).
- numéro de commande spécifié doit être associé à la ligne de commande fournisseur PF.
Dans un troisième temps, le module contrôle que les données sont correctes :
- valeur des flags (flag_annul, cde_soldée) est égale à NULL ou X
- valeur du flag (ligne_soldée) est égale à NULL, 1, 2 ou X
- type de mouvement vaut E ou S ou M
- quantités numériques
Contrôle de la cohérence de l’enregistrement
Cette vérification permet de déterminer si :
- des quantités pour la commande fournisseur PF demandée ont été lancées
- la phase que l’on a indiquée appartient au circuit de fabrication
- la phase que l’on a indiquée est à jalonner
- la phase que l’on a indiquée est à jalonner en entrée
- la phase que l’on a indiquée est à jalonner en sortie
- un choix perte doit avoir été défini au niveau des paramètres généraux.
- si gestion d’une annulation, un choix annulation (de type perte) doit avoir été défini au niveau des paramètres généraux.
Cette passerelle bénéficie de ses propres options :
|
CTRL_QTE_JALO |
|
|
CTL_FAB |
|
|
QTE_PLUS |
|
|
SAIS_BL |
|
|
GEST_REF_BL |
|
|
JALO |
Entrée Stock alors que dernière phase non jalonnée :
|
|
SOLD |
|
|
SOLD_CTRL |
|
|
FONC |
|
|
CTRL_APRO_MAT_P |
|
|
CTRL_APRO_MAT_J |
|
|
AFF_OF_CDE_MOIN |
Si of aff cde et si tout n'est pas reçu :
|
|
RECE_AFF_OF_CDE |
|
|
CDE_MULT_SOCANA |
|
|
ECLAT_RELIQUAT |
cas du jalon partiel, éclatement reliquat sur autre ligne
|
|
GEST_MOTIF |
gestion du motif de jalonnement :
|
|
STOK_NEG |
|
|
STOK_NEG_SF |
|
|
CHAIN_AFFECT |
|
|
REGLE_AFFECT |
Règle d'affectation à utiliser si on enchaîne l'affectation automatique |
Ce fonctionnement reste marginal et s’adresse à des utilisateurs avertis.
Les programmes SPXC2861W01 et SPXC2862W01 peuvent être appelés indépendamment, le premier pour contrôler les données et le deuxième pour faire les mises à jour de tables.
En revanche, il faut que le webuser soit initialisé dans le package ORLPK0 par l’appel de la procédure SET_WEBUSER en amont de l’appel de SPXC2862W01.