| ORIGINE | FONCTION |
|
ACC |
XC950 XC951 |
Dans le cadre des échanges de commandes via EDI, il se peut que le partenaire EDI demande la génération d’un accusé de réception pour les différentes commandes échangées.
La nécessité de générer un accusé de réception est gérée par la fonction TA471 qui décrit les différentes modalités d’échange avec les différents partenaires EDI.
Pour la génération des accusés de réception, le module standard d’extraction de fichiers XC300 est utilisé.
Mise en place indispensable de trigger sur table ( code en fin de document)
Il faut un trigger sur la table des entêtes de commande et un trigger sur la table d’historique des commandes EDI ; cette mise en place doit être effectuée par Cegid et conditionne l’utilisation des passerelles assurant la génération des accusés de réception.
Déclenchement lors de chaque création d’un entête de commande ou lors de la mise à jour du flag annulation en entête d’historique de commande (cas d’une commande rejetée pour laquelle un accusé de réception négatif doit être généré).
Conditions d’utilisation du module d’extraction XC300
Il faut créer pour chaque société (si vous souhaitez obtenir un fichier par société), des passerelles d’extraction différentes qui correspondent aux différents langages gérés (EANCOM 93A, EANCOM 96A, EDI-SPORT, EFOVAD).
La création de ces passerelles s’effectue au niveau de la fonction TA450.
Chaque passerelle est caractérisée par un code provenance et un code origine particuliers
Le code origine doit toujours être ACC.
Le code provenance est libre.
Cependant, afin d’obtenir une « normalisation », il est conseillé d’utiliser la norme suivante :
Provenance = XXXXXX_Code société
(ou XXXXXX indique la norme utilisée à savoir 96A, 93A, EDISPO, EFOVAD).
Le fichier généré s’appelle :
<Code Origine>_<Code EDI Destinataire>_<Code EDI Site>.<No de demande>
Ce fichier est placé dans un répertoire UNIX paramétrable au niveau de la fonction TA450, par défaut le fichier se déposera sous $ODIS/XC300. La récupération de ce fichier et la mise à disposition de ce dernier dans la boite aux lettres du partenaire est à la charge du client.
Description des fonctions du module
Avant la première utilisation de ce module, une phase de paramétrage est indispensable.
Celle-ci est réalisée EXCLUSIVEMENT par Cegid. Elle permet notamment l’installation de triggers sur la table des entête de commande et des entêtes d’historique de commande.
N.B. :
Le descriptif du fichier généré est évolutif et peut être amené à être modifié en fonction de vos demandes et des contraintes imposées par vos partenaires. La description de votre fichier doit être cependant étudiée et peut nécessiter la création de fonctions annexes pour l’initialisation de certaines données. A l’issue de cette étude, un paramétrage sous forme d’INTERD et éventuellement la réalisation de fonctions sous forme d’aménagement seront nécessaires.
Les fonctions du module peuvent être scindées en plusieurs parties :
- PARAMÉTRAGE AVANT EXTRACTION
- LANCEMENT DE L’EXTRACTION
Avant d’utiliser ce module, un certain nombre de données doit être renseigné dans Cegid Orli.
Vous devez renseigner les informations suivantes :
JP014 : Gestion des paramètres généraux
EDI_ORLI_SIT
(indispensable pour l’utilisation du module d’extraction XC300).
XC300W01/SOUS_REP
XC950W01/LONG_LIG_ORDRSP
permet de spécifier si le No de ligne du segment LIN doit être sur 3 (valeur NULLE de l’option) ou 5 (valeur 1 de l’option).
TA440 : Référencement général des code EDI
Cette fonction permet à l’utilisateur de définir les différents codes EDI pour lesquels un fichier des accusés de réception doit être généré.
- Onglet « Code EDI »
L’utilisateur peut renseigner
- Soit un code EDI par partenaire (-> Génération d’un fichier par partenaire)
- Soit un code EDI générique qui regroupera tous les partenaires
(-> Génération d’un fichier multi partenaires).
Cet onglet permet également à l’utilisateur de suspendre toutes les passerelles d’extraction / intégration pour un destinataire donné (code EDI)
Paramétrage extractions de fichiers
Onglet « Paramétrage des Extractions »
Cette fonction permet à l’utilisateur de définir les différentes passerelles d’extraction pouvant être lancées.
EX : pour générer un fichier ORDRSP à la norme EFOVAD pour la société 1
Provenance Origine Indicatif Fonction extraction
EFOVAD1 ACC ACC XC951W01
Au niveau des paramètres d’extraction, vous pouvez renseigner (si besoin) :
| Paramètre | Libellé | Commentaire |
|
NUMCONF |
Gère No ORDRSP (0=Non,1=Oui) |
|
|
ENVOI-INFOS-SAP |
Envoi des données SAP |
X = Oui |
|
ENVOI-INFOS-RLD |
Envoi des données RLD |
X = Oui |
|
ENV-PRI-RETAIL |
Env Prix retail+ Date commande |
X = Oui La date sera renvoyée, que la commande soit confirmée en partiel ou en totalité |
|
ENV-PRI-CD001 |
Envoi du prix du CD001 |
X = Oui |
|
GEST-MULTI-ENV |
Gestion de multi-envois du msg |
X = Oui |
|
NB-JOURS-REA |
Nb jours pour "réassort" |
Voir § ‘Fonctionnement envois commandes Implantation et Réassort’ |
|
NB-JOURS-ENV |
Nb jours pour second envoi |
Voir § ‘Commandes Implantation premier et second envois’ |
|
DATE-BASE-REA |
1:Liv Confirmée 2:Liv Demandée |
Date de base pour calcul du nombre de jours de livraison pour évaluation du « réassort » |
N.B. :
Le répertoire n’est indiqué qu’à titre indicatif. Il est modifiable par l’utilisateur sans aucune contrainte particulière. Par défaut il dépose le fichier sous $ODIS/XC300.
Onglet «Liste des Extractions par code EDI »
Cette fonction permet à l’utilisateur de définir, pour chaque code EDI renseigné dans TA440, les différentes passerelles d’extraction pouvant être lancées ; on reportera donc ici les Provenance/Origine précédemment définies dans l’onglet « Paramétrage des extractions ».
La coche « Rupture » est aménagée pour ORDRSP, afin d’obtenir un fichier par commande.
N.B. :
avec XC951W01 paramétrable, les zones « Format extraction » et « Type format » correspondent au Format/Type définis dans JP562 (Différence par rapport à XC950W01).
Onglet « Association code EDI Cegid Orli – Entité Externe »
Cette fonction permet à l’utilisateur d’associer chaque partenaire EDI à un code EDI particulier. C’est au niveau de cette forme qu’il est possible de choisir de générer un fichier des pièces par partenaire (un code EDI ne doit être associé à un seul partenaire) ou un fichier des pièces multi partenaires
(il faut alors définir pour chaque code EDI, l’ensemble des partenaires qui lui sont rattachés au niveau des zones « Société client » et « Code client »).
Fonctionnement envois commandes Implantation et Réassort
Lors de l’envoi du message ORDRSP des commandes EDI, celles-ci sont considérées comme commande d’implantation ou commande de réassort selon le paramètre NB-JOURS-REA, la date de la commande, et la date de livraison de la commande.
Sont considérées comme commandes d’implantation, les commandes dont :
Date de livraison > Date de la commande + Nombre de jours de réassort
Sont considérées comme commandes de réassort, les commandes dont :
Date de livraison < Date de la commande + Nombre de jours de réassort
exemple :
|
N° cde |
Date cde |
Date de livraison |
NB-JOURS-REA |
Type cde |
|
001 |
01/04 |
28/04 |
15 |
Implantation |
|
002 |
01/04 |
12/04 |
15 |
Réassort |
La commande 001 dépasse le délai du 16/04 (01/04 + 15), c’est donc une commande d’implantation.
La commande 002 est inférieure au délai du 16/04, c’est donc une commande de réassort.
N.B. :
la date de livraison confirmée ou demandée (selon paramètre d’extraction DATE-BASE-REA) doit être supérieure à Date de la commande + Nombre de jours de réassort
TA471 : Gestion des partenaires EDI
Cette fonction permet à l’utilisateur de définir les différents partenaires avec lesquels la société souhaite effectuer des échanges EDI.
Il permet ainsi de définir, pour chaque partenaire, chaque langage et chaque version, les différents échanges gérés (réception de commandes, envoi d’accusés de réception (complets, partiels, avec modification), envoi des avis d’expédition, des pièces, des catalogues de prix, des catalogues articles).
CD624 Validation envoi/Accusé de réception
Cette fonction liste les commandes EDI intégrées, annulées ou non annulées, à envoyer, pour les partenaires gérant la validation des accusés de réception.
Les coches permettent de valider les commandes qui pourront être envoyées lors du prochain XC300.
Après avoir coché les commandes à envoyer, il faut valider. Ce traitement enlève les commandes topées de la liste, afin d’éviter que le MUL soit surchargé. Les données sont toujours visualisables dans CD362.
Deux cas de figure peuvent être envisagés :
Cas 1 :
le partenaire gère le multi-envois des accusés de réception
(paramètre d’extraction GEST-MULTI-ENV=X)
Mode de fonctionnement pour les commande d’implantation :
- Les commandes d’implantation partent automatiquement lors d’un XC300, pour le premier envoi. Il n’est pas nécessaire de venir les cocher dans CD624.
L’information ‘Date Accu. Recep 1’ permet d’identifier ces commandes ayant déjà fait l’objet d’un premier envoi.
Pour le second envoi d’une commande d’implantation, il faudra venir cocher la commande dans CD624. Celle-ci sera alors envoyée lorsqu’elle répondra au critère de date d’envoi souhaitée (date de livraison – Nb jours envoi) et éventuellement si, selon le paramétrage dans TA450, elle est commencée en affectation.
Mode de fonctionnement pour les commandes réassort :
- Les commandes réassort sont envoyées si elles sont cochées ‘à envoyer’ dans CD624 et éventuellement si elles sont commencées en affectation (selon le paramétrage dans TA450).
Cas 2 :
le partenaire ne gère pas le multi-envois des accusés de réception
(paramètre d’extraction GEST-MULTI-ENV=NULL)
Dans ce cas, les commandes sont envoyées si elles sont cochées ‘à envoyer’ dans CD624 (sans aucun contrôle d’affectation préalable).
8 types d’accusés peuvent être gérés :
- Accusé positif complet
Cas d’une commande acceptée sans aucune modification
(zone « Accusé Positif Complet » cochée dans TA471 pour le partenaire) - Accusé positif avec modification Entête
Cas d’une commande acceptée avec modification de l’entête (modification des délais)
(zone « Accusé Positif avec Modification » cochée dans TA471 pour le partenaire) - Accusé positif avec modification Ligne
Cas d’une commande acceptée avec modification des lignes de commande (modification des délais ou des tarifs)
(zone « Accusé Positif avec Modification » cochée dans TA471 pour le partenaire) - Accusé positif partiel
Cas d’une commande acceptée avec suppression de certaines lignes de commande
(zone « Accusé Positif Partiel » cochée dans TA471 pour le partenaire) - Accusé Positif partiel avec modification
(Rejet de certaines lignes + Modification délais entête ou ligne).
Cas d’une commande acceptée partiellement avec des modifications de délais au niveau entête ou lignes (zones « Accusé Partiel» et « Accusé Positif avec Modification » cochées dans TA471 pour le partenaire) - Accusé Négatif (rejet Entête uniquement)
Cas d’une commande rejetée avec un motif de rejet défini au niveau entête de commande (zone « Accusé Négatif » cochée dans TA471 pour le partenaire) - Accusé Négatif (rejet Ligne uniquement).
Cas d’une commande rejetée avec un motif de rejet défini au niveau lignes de commande (zone « Accusé Négatif » cochée dans TA471 pour le partenaire) - Accusé Négatif (rejet Entête et Ligne).
Cas d’une commande rejetée avec un motif de rejet défini au niveau lignes et entête de commande (zone « Accusé Négatif » cochée dans TA471 pour le partenaire)
Dans cette fonction, vous devez choisir également le format de fichier que vous souhaitez.
Vous avez le choix entre :
- Un format standard contenant le minimum d’information
- Un format complet contenant des informations plus détaillées sur la commande.
- Vous trouverez en annexe, les 2 structures de fichier correspondantes à ces 2 formats.
XC300 : Lancement de l’extraction
La première page permet d’indiquer le code provenance et le code origine renseignées en TA450 pour les passerelles d’extraction des accusés de réception (origine ACC).
ANNEXE : Trigger (déclencheur) sur table
-- trigger pour ORDRSP
CREATE OR REPLACE TRIGGER CDENT
after insert on CDE_CLI_ENT
for each row
declare
CURSOR TESTPARTCDE IS SELECT CL.CODE_EDI,
GPE.ACC_POS_CPLT,
GPE.ACC_POS_PART,
GPE.ACC_POS_MODIF,
GPE.ACC_NEG
FROM GEST_PART_EDI GPE,
CLIENT CL
WHERE CL.CODE_CLI = :new.code_cli_part
AND CL.CODE_SOC = :new.code_soc
AND GPE.CODE_CLI = CL.CODE_CLI
AND GPE.CODE_SOC = CL.CODE_SOC;
v_code_edi client.code_edi%type;
v_acc_pos_cplt gest_part_edi.acc_pos_cplt%type;
v_acc_pos_part gest_part_edi.acc_pos_part%type;
v_acc_pos_modif gest_part_edi.acc_pos_modif%type;
v_acc_neg gest_part_edi.acc_neg%type;
begin
IF INSERTING THEN
IF (:new.code_typ_cde_edi is not null) THEN
OPEN TESTPARTCDE;
FETCH TESTPARTCDE INTO v_code_edi, v_acc_pos_cplt,
v_acc_pos_part,v_acc_pos_modif,v_acc_neg;
CLOSE TESTPARTCDE;
IF (v_acc_pos_cplt='X' or v_acc_pos_part='X' or v_acc_pos_modif='X') THE
N
P_XCFIC_I9 ('ACC',:new.num_cde,:new.num_cde,v_code_edi,'C','');
END IF;
END IF;
END IF;
end;
/
-- trigger pour ORDRSP
CREATE OR REPLACE TRIGGER HPORE
after insert or update or delete on HIS_POR_CDE_ENT
for each row
declare
CURSOR TESTPARTCDE IS SELECT CL.CODE_EDI,
GPE.ACC_POS_CPLT,
GPE.ACC_POS_PART,
GPE.ACC_POS_MODIF,
GPE.ACC_NEG
FROM GEST_PART_EDI GPE,
CLIENT CL
WHERE CL.CODE_CLI = :new.code_cli_part
AND CL.CODE_SOC = :new.code_soc
AND GPE.CODE_CLI = CL.CODE_CLI
AND GPE.CODE_SOC = CL.CODE_SOC;
v_code_edi client.code_edi%type;
v_acc_pos_cplt gest_part_edi.acc_pos_cplt%type;
v_acc_pos_part gest_part_edi.acc_pos_part%type;
v_acc_pos_modif gest_part_edi.acc_pos_modif%type;
v_acc_neg gest_part_edi.acc_neg%type;
begin
IF INSERTING THEN
IF (:new.flag_ann='X') THEN
OPEN TESTPARTCDE;
FETCH TESTPARTCDE INTO v_code_edi, v_acc_pos_cplt,
v_acc_pos_part,v_acc_pos_modif,v_acc_neg;
CLOSE TESTPARTCDE;
IF (v_acc_neg='X') THEN
P_XCFIC_I9 ('ACC',:new.num_cde,:new.num_cde,v_code_edi,'C','');
END IF;
END IF;
END IF;
IF UPDATING THEN
IF (:new.flag_ann='X' and :old.flag_ann is null) THEN
OPEN TESTPARTCDE;
FETCH TESTPARTCDE INTO v_code_edi, v_acc_pos_cplt,
v_acc_pos_part,v_acc_pos_modif,v_acc_neg;
CLOSE TESTPARTCDE;
IF (v_acc_neg='X') THEN
P_XCFIC_I9 ('ACC',:new.num_cde,:new.num_cde,v_code_edi,'C','');
END IF;
END IF;
IF (:new.flag_ann is null and :old.flag_ann='X') THEN
OPEN TESTPARTCDE;
FETCH TESTPARTCDE INTO v_code_edi, v_acc_pos_cplt,
v_acc_pos_part,v_acc_pos_modif,v_acc_neg;
CLOSE TESTPARTCDE;
IF (v_acc_neg='X') THEN
P_XCFIC_I9 ('ACC',:new.num_cde,:new.num_cde,v_code_edi,'S','');
END IF;
END IF;
END IF;
end;
/