AGILIX : flux d’informations d’AGILserver 3.76.1 vers ACE 1.3

Généralités

Introduction

Cette documentation vous décrit la version 1.03 de l’interface AGILIX assurant les échanges de données entre ACE (version 1.3) et AGILserver (version 3.76.1000). Le paramétrage de cette interface repose sur l’offre Pack d’ACE.

Les échanges entre AGIL et ACE sont décrits en plusieurs parties :
  • extraction des données d’Agil Server vers les tables temporaires d’ACE,
  • contrôle des données suite à intégration dans les tables temporaires ACE par « TradeXpress AGIL » et du portail utilisateur de correction des données,
  • extraction des données des tables temporaires ACE au format intégrateur par « TradeXpress ACE » et de l’intégration définitive dans ACE,
  • principe des extractions vers AGIL.
Pour en savoir plus sur la structure des échanges entre AGIL et ACE, consultez la documentation de référence “ AGILIX : architecture des échanges entre AGIL et ACE ».

Synthèse des données échangées

Domaine Entité ACE Sens Entité AGIL
Clients
· Fiche client Fiche client – données institutionnelles et données dynamiques ç è Le système maître de la fiche client est paramétrable
· Compte client Encours client et blocage client A définir Compte client
Opérations commerciales Pas d’échanges de données
Fidélisation client
Ventes Vente magasin ç Ticket
Trésorerie
· Trésorerie sur vente Règlement sur ventes ç Trésorerie sur vente
· Trésorerie client   ç Trésorerie client
· Trésorerie caisse   ç Trésorerie caisse

L’utilisation de cette interface est réalisée dans le contexte où ACE est utilisé en tant que back office magasin, ce qui signifie que ACE est maître des données du référencement Produit et Tarif.

Les opérations commerciales orientées B2C sont gérées exclusivement dans AGIL.

L’option fidélisation et la gestion client comptoir associée est également gérée exclusivement dans AGIL dans ce contexte.

Concernant les clients, un choix de paramétrage est à faire lors de l’implantation d’Agilix pour déterminer le système maître des clients AGIL ou ACE.

Concernant les ventes, il faut d’une part noter que cette remontée est gérée en traitement de nuit (caisse clôturée). Par ailleurs le mode de fonctionnement de l’interface vente est incompatible avec l’utilisation du mode annulation de vente disponible sur AGIL menant a de potentielles désynchronisations entre les deux systèmes. D’autre part seules les lignes de vente nette sont remontées sans déclinaison du détail des remises (cette dernière est connue comme une valeur globale entre prix de base et prix net vendu).

Tableau récapitulatif

Section d'échange

AGIL vers Interlocuteurs

Table temporaire

de destination

Remarques

Format

intégrateur

CUSTOMER AGILIX_CUSTOMER  

INTEG_TIE

INTEG_ADR

INTEG_CTC

CUSTOMER_NEW_CARD AGILIX_CUSTOMER   INTEG_CTC
CUSTOMER_ENABLED_CARD AGILIX_CUSTOMER   INTEG_CTC
CUSTOMER_DISABLED_CARD AGILIX_CUSTOMER   INTEG_CTC
CUSTOMER AGILIX_CUST_DYNINFO Translation des données (colonnes-lignes). INTEG_ZOD
       
VENTE AGILIX_VENTE Entête et ligne de type 0 uniquement.

INTEG_EVE

INTEG_EVP

       
TRESORERIE AGILIX_TRESO   INTEG_EVM
  • La 1ère colonne de ce tableau reprend les sections d’échanges qui sont traitées dans AGIL
  • La seconde précise les tables temporaires vers lesquelles ces données sont transférées par « TradeXpress AGIL »
  • La dernière colonne précise le nom du format de l’intégrateur dans ACE (extrait par « TradeXpress ACE »).

Extraction des données d’AGIL

Le principe d’extraction des données d’AGILserver par TradeXpress ACE est décrit dans le dossier : « DAL AGIL-TradeXpress.doc »

Deux cas d’extraction sont décrits dans ce document :
  • Cas 1 pour les ventes et la trésorerie = un témoin d’extraction est mis à disposition par TradeXpress pour déclencher l’extraction des ventes suivant la fréquence souhaitée,
  • Cas 2 pour les clients = AGILserver détecte la création d’un client et déclenche aussitôt une extraction des données pour TradeXpress AGIL.

Cette extraction consiste en l’alimentation de la table de distribution pour l’interlocuteur concerné dans Agil servant de base aux extractions de données réalisées par TradeXpress AGIL.

Table temporaires ACE

CLIENT : données institutionnelles

Structure client Origine
Rubrique Rubrique section échange ou valeur d'initialisation Description Format Longueur Remarque CUSTOMER CUSTOMER_NEW_CARD CUSTOMER_ENABLED_CARD CUSTOMER_DISABLED_CARD
Codsoc Société de référence paramétre Société de référence Numérique   Paramètre de TradeXpress_AGIL        
Numseq Séquence oracle AGILIX_CUSTOMER_SEQ.nextval Numéro de séquence oracle Numérique   Séquence oracle        
agx_typenr TYPENR Type d'enregistrement Caractère; 30

CUSTOMER

CUSTOMER_NEW_CARD

CUSTOMER_ENABLED_CARD

CUSTOMER_DISABLED_CARD

x      
codeta 1 Statut enregistrement Caractère; 1 1 = A CONTROLER        
agx_codano ' ' (valeur blanc) Code anomalie Caractère; 2 Positionné par traitement de contrôle        
codaction ' ' Code action C ou M Caractère; 1 Positionné par traitement de contrôle        
numadr 0 Numéro de contact ACE Numérique   Positionné par traitement de contrôle        
numctc 0 Numéro de contact ACE Numérique   Positionné par traitement de contrôle        
sigtie ' ' Sigle client Caractère; 12 Positionné par traitement de contrôle        
idclient IDENTIFIANT CLIENT Identifiant client Numérique     x x x x
idcontact IDENTIFIANT CONTACT Identifiant contact Numérique     x x x x
numcarte NUMERO DE CARTE Numéro de carte du contact Caractère; 20   x x x x
codciv CODE DE LA CIVILITE Code de la civilité Caractère; 2 Contrôle fonctionnel sur la table civilité x      
agx_nom NOM Nom du contact Caractère; 30   x x    
agx_prenom PRENOM Prénom du contact Caractère; 30   x x    
adresse1 ADRESSE1 Adresse 1 du client Caractère; 30   x      
adresse2 ADRESSE2 Adresse 2 du client Caractère; 30   x      
agx_codpos CODE POSTAL Code postal du client Caractère; 10   x      
ville VILLE Ville du client Caractère; 30   x      
codpay CODE DU PAYS Identifiant du pays Caractère; 2 Contrôle fonctionnel sur la table pays x      
agx_etat CODE DE L'ETAT Identifiant de l'état du pays Caractère; 2 Contrôle fonctionnel sur la table secteur géographique x      
agx_npai NPAI N'habite pas à l'adresse indiquée Caractère; 1 False=N, True=O x      
bloque BLOQUE Indique si le client est bloqué Caractère; 1 False=N, True=O x      
numtel NUMERO DE TELEPHONE Numéro de téléphone du contact Caractère; 20   x      
agx_datnai DATE DE NAISSANCE Date de naissance du contact Date 10   x x    
email E-MAIL E-mail du contact Caractère; 60   x      
ctcprin CTC PRINCIPAL Indique si le client est bloqué Caractère; 1 False=N, True=O x      
codlan CODE LANGUE Code de la langue du contact Caractère; 2 Contrôle fonctionnel sur la table langue x      
magrecr CODE MAGASIN RECRUTEUR Code du magasin recruteur du client Caractère 4   x      
daterecr DATE RECRUTEMENT Date de recrutement du client Date 10   x      
soldpoint SOLDE POINTS Solde de points du client Numérique     x      
datmajpoint DATE MISE A JOUR POINTS Date de dernière mise à jour des points du client Date 10   x      
datfinvalpoint DATE DE FIN DE VALIDITE DES POINTS Date de fin de validité des points du client Date 10   x      
datmajclient DATE DE MISE A JOUR DU CLIENT Date de dernière mise à jour de la fiche client Date 10   x      
datemis DATE Date d’émission de la carte Date 10 Renseigné en émission, activation et désactivation de carte   x x x
heuremis HEURE Heure d’émission de la carte Caractère; 8     x x
magemis MAGASIN Code du magasin émetteur de la carte Caractère, 4   x x x
Tpv TPV Code du TPV émetteur de la carte Caractère, 3   x x x
agx_datdebval DATE DEBUT VALIDITE Date de début de validité de la carte Date 10   x x  
agx_datfinval DATE FIN VALIDITE Date de fin de validité de la carte Date 10   x x  
z40l_1 ' ' Donnée libre 1 Caractère, 40          
z40l_2 ' ' Donnée libre 2 Caractère, 40          
z40l_3 ' ' Donnée libre 3 Caractère, 40          
z40l_4 ' ' Donnée libre 4 Caractère, 40          
z40l_5 ' ' Donnée libre 5 Caractère, 40          
datmod ' ' Date de dernière modification Caractère, 10 Positionné par le traitement de contrôle        
utimod ' ' Coude utilisateur dernière mod. Caractère, 8 Positionné par le traitement de contrôle        
  • L’identifiant de cette table est le code société et le numéro de séquence oracle numérotant chaque occurrence
  • Le code société de référence est un paramètre présent sur « TradeXpress AGIL » permettant de piloter l’environnement ACE destinataire. Ce paramètre est numérique géré sur 4 positions.
  • La colonne « rubrique section d’échange » précise la rubrique AGIL (prise en référence sur les sections d’échange AGIL vers interlocuteur)
  • Les quatre sections d’échange CUSTOMER_* sont chargées dans cette table par « TradeXpress AGIL ». Les dernières colonnes précisent les rubriques renseignées suivant la section d’échange traitée.
  • Comme le précise la colonne « remarques », les rubriques de la table temporaire sans origine AGIL sont soient chargées avec une valeur constante, soit complétée lors de la phase de contrôle des données ACE à l’issue du chargement.
  • Voir dossier AGILIX - SFD Echanges GCE2AGIL V1.03.doc pour les remarques générales liées au paramétrage de l’interface client)

CLIENT : données dynamiques

Structure infos dynamiques (1 ligne par donnée dynamique client) Section CUSTOMER
Rubrique Rubrique section échange ou valeur d'initialisation Description Format Longueur Remarque Entête Ligne
codsoc Société de référence Société de référence Numérique   Paramètre de TradeXpress_AGIL    
numseq Séquence oracle AGILIX_CUST_DYNINFO_SEQ.nextval Numéro de séquence oracle Numérique   Séquence oracle    
agx_typenr TYPENR Type d'enregistrement Caractère; 30 CUSTOMER x  
codeta 1 Statut enregistrement Caractère; 1 1 = A CONTROLER x x
agx_codano ' ' blanc Code anomalie Caractère; 2 Positionné par traitement de contrôle    
typzod 0 Type de ZOD ACE Numérique   Positionné par traitement de contrôle    
numzod 0 Numéro de ZOD ACE Numérique   Positionné par traitement de contrôle    
sigtie ' ' blanc Sigle client Caractère; 12 Positionné par traitement de contrôle    
idclient IDENTIFIANT CLIENT Identifiant client Numérique       x
dyninfo_code IDDYNINFO_CODE Code de l'information dynamiqye Caractère; 10 Contrôle fonctionnel table des données dynamique client x  
dyninfo_val IDDYNINFO_VAL Valeur de l'information dynamique Caractère; 40 Contrôle fonctionnel de la valeur   x
datmod ' ' Date de dernière modification Caractère, 10 Positionné par le traitement de contrôle    
utimod ' ' Coude utilisateur dernière mod. Caractère, 8 Positionné par le traitement de contrôle    
  • Les données dynamiques client sont gérées en « ligne » plutôt qu’en « colonne » tel que décrit dans la section d’échange CUSTOMER (ie : une occurrence de la table par donnée dynamique).
  • L’identifiant de cette table est le code société, le code client, le code info dynamique (dyninf_code).

VENTES

Structure données des ventes (une occurrence par ligne reprenant les données d'entête et de poste) Section VENTE
Rubrique Rubrique section échange Description Format Ln Remarque Entête Ligne 0
codsoc Société de référence Société de référence Numérique   Paramètre de TradeXpress_AGIL    
numseq Séquence oracle AGILIX_VENTE_SEQ.nextval Numéro de séquence oracle Numérique   Séquence oracle    
agx_typenr TYPENR Type d'enregistrement Caractère; 30 VENTE    
codeta 1 Statut enregistrement Caractère; 1 1 = A CONTROLER    
agx_codano ' ' blanc Code anomalie Caractère; 2 Positionné par le traitement de contrôle fonctionnel    
idmag ID MAGASIN Identifiant du magasin Caractère 4 Contrôle fonctionnel dans la table des magasins x  
idcaisse ID CAISSE Identifiant de la caisse Caractère 3   x  
noticket NO TICKET Identifiant ticket Numérique  

Contrôle fonctionnel vente non intégrée. Cette valeur est formatée sur 18 carartères : ttmmmmcccnnnnnnnnk

- tt : Type de ticket

- mmmm : code magasin

- ccc : numéro de la caisse

- nnnnnnnn : numéro de la vente

- k : clé de contrôle

x  
novente NO VENTE Numéro d’ordre de la vente Numérique     x  
agx_datref DATE REFERENCE Date de la journée statistique (JJ/MM/AAAA) Date 10   x  
datesyst DATE Date système (JJ/MM/AAAA) Date 10   x  
heuresyst HEURE Heure système (HH:MM:SS) Caractère 8   x  
idoper ID OPERATEUR Identifiant De l’opérateur Caractère 20   x  
idclient ID CLIENT Identifiant du client Caractère 20 Contrôle fonctionnel existence client x  
nbpoint NB POINTS Nombre total de points acquis du ticket Numérique     x  
codpos CODE POSTAL Celui de l’acheteur Caractère 5   x  
nodivers NO DIVERS Pour usage particulier Caractère 20   x  
nosession NO SESSION Numéro de session en cours Numérique     x  
cptticket COMPTEUR TICKET Numéro d’ordre de la vente Numérique     x  
noticket_orig NO TICKET ORIGINE Numéro de ticket origine Numérique     x  
cptticket_orig COMPTEUR TICKET ORIGINE Compteur ticket origine Numérique     x  
idvendeur ID VENDEUR Identifiant du vendeur Caractère 20     x
idarticle ID ARTICLE Référence interne de l’article Caractère 20 Contrôle fonctionnel existence article   x
agx_gencod CODE BARRE Code à barre de l’article Caractère 20 Contrôle fonctionnel existence gencod   x
agx_codtrt CODE TRAITEMENT Celui de l’article Caractère 2     x
qte QUANTITE Quantité vendue Numérique       x
nbuni NOMBRE D’UNITES Nombre d’unités vendues Numérique       x
agx_idmotif ID MOTIF RETOUR ID du motif du retour d’article (QTE < 0) Caractère 3     x
prx_ach PRIX ACHAT Prix d’achat (tarif) de l’article d’une quantité Numérique       x
prx_vte PRIX VENTE Prix vente (tarif) d’une quantité Numérique       x
prx_mod PRIX MODIFIE Prix unitaire modifié de vente par caissier / vendeur Numérique       x
type_modif TYPE MODIF Type de modification Caractère 1     x
mt_brut MONTANT BRUT montant brut Numérique       x
typrem TYPE REMISE Type de remise Caractère 1     x
valrem VALEUR REMISE Valeur de la remise Numérique       x
taurem TAUX REMISE Renseigné si type remise = P Numérique       x
idmotrem ID MOTIF REMISE ID du motif de la remise dans la table des motifs Caractère 3     x
idmotchp ID MOT CHG PRIX ID du motif du changement de prix dans la table des motifs Caractère 3     x
mt_net MONTANT NETLIG Montant net ligne Numérique       x
mt_reel MONTANT NETREEL Montant réel de la ligne (après déduction toutes remises) Numérique       x
tauxtva CODE TVA Code TVA issu de la vente Caractère 2     x
valtva TAUX TVA Taux de TVA applicable pour la ligne (sur montant net) Numérique       x
guelte VALEUR TVA Valeur de TVA pour la ligne (calculée depuis montant net réel) Numérique       x
nbpointsart GUELTE Montant de la guelte pour la ligne Numérique       x
nodiverslig NB POINTS Nombre de points de l’article Numérique       x
agx_codtva NO DIVERS Pour un usage particulier Caractère 20     x
coddev ' ' Code devise de la vente Caractère; 3 Positionné par le traitement de contrôle fonctionnel à la valeur de la devise du magasin    
posfis ' ' Position fiscale de la vente Caractère; 2 Positionné par le traitement de contrôle fonctionnel à la valeur de la position fiscale du magasin    
sigdep ' ' Identifiant du magasin dépôt Caractère 12 Positionné par le traitement de contrôle fonctionnel suivant le magasin    
sigtie ' ' Identifiant du client ACE Caractère 12 Positionné par le traitement de contrôle fonctionnel    
numeve 0 Numéro d'événement ACE Numérique   Positionné par le traitement de contrôle fonctionnel à la valeur de la la séquence AGILIX_TICKET_SEQ.nextval    
qtecde 0 Quantité vendue valorisée Numérique   Quantité valorisée par traitement de contrôle    
prxvdu 0 Prix vendu net ligne Numérique   Prix valorisé par traitement de contrôle    
coduni 0 Code unité de vente Caractère 3 Code unité valorisé par traitement de contrôle    
z40l_1 ' ' Donnée libre 1 Caractère, 40      
z40l_2 ' ' Donnée libre 2 Caractère, 40      
z40l_3 ' ' Donnée libre 3 Caractère, 40      
z40l_4 ' ' Donnée libre 4 Caractère, 40      
z40l_5 ' ' Donnée libre 5 Caractère, 40      
datmod ' ' Date de dernière modification Caractère, 10 Positionné par le traitement de contrôle    
utimod ' ' Coude utilisateur dernière mod. Caractère, 8 Positionné par le traitement de contrôle    
  • L’identifiant de cette table est le code société et le numéro de séquence oracle numérotant chaque occurrence
  • Parmi les sections d’échange VENTE, seule l’entête et les lignes de type 0 sont traitées. Les lignes de type 1 et 2 (remises) sont ignorées
  • Les données de l’entête du ticket sont répétées sur l’ensemble des occurrences de la table au niveau ligne

TRESORERIE

Structure données de trésorerie Section TRESORERIE
Rubrique Rubrique section échange Description Format Longueur Remarque Entête Ligne
codsoc Société de référence Société de référence Numérique   Société de référence    
numseq Séquence oracle AGILIX_TRESORERIE_SEQ.nextval Numéro de séquence oracle Numérique   Numéro de séquence oracle    
agx_typenr TYPENR Type d'enregistrement Caractère; 30 TRESORERIE    
codeta 1 Statut enregistrement Caractère; 2 1 = A CONTROLER    
agx_codano ' ' blanc Code anomalie Caractère; 2 Positionné par le traitement de contrôle    
idmag ID MAGASIN Identifiant du magasin Caractère 4 Contrôle fonctionnel dans la table des magasins x  
idcaisse ID CAISSE Identifiant de la caisse Caractère 3   x  
noticket NO TICKET Identifiant ticket Numérique  

Contrôle fonctionnel ticket tréso non intégré. Cette valeur est formatée sur 18 carartères : ttmmmmcccnnnnnnnnk

- tt : Type de ticket

- mmmm : code magasin

- ccc : numéro de la caisse

- nnnnnnnn : numéro de la vente

- k : clé de contrôle

x
novente NO DE VENTE Numéro de vente Date 10   x  
agx_datref DATE REFERENCE Date de la journée statistique Date 10   x  
datesyst DATE Date système Date 10   x  
heuresyst HEURE Heure système Caractère 8   x  
idoper ID OPERATEUR Identifiant de l’opérateur Caractère 20   x  
nosession NO SESSION Numéro de la session en cours Numérique     x  
idclient ID CLIENT Identifiant du client Caractère 20 Contrôle fonctionnel existence client x  
nodivers NO DIVERS Pour un usage particulier Caractère 20   x  
cod_ump UNITE MONETAIRE Unité monétaire principale utilisée Caractère 4 Contrôle fonctionnel existence devise x  
prxvdu 0 Prix unitaire produit trésorerie Numérique   Positionné par le traitement de contrôle fonctionnel   x
agx_idmotif ID MOTIF Motif pour certaines natures qui en appelle un Caractère 3 Contrôle fonctionnel pour traitement motif   x
montant MONTANT Montant signé de la ligne de trésorerie Numérique       x
agx_modrgl MOYEN PAIEMENT Code du mode de paiement Caractère 3 Contrôle fonctionnel existence mode de règlement   x
codetrt CODE TRAITEMENT Celui du mode de paiement Caractère 2     x
nopiece NO PIECE N° de chèque, de carte,… Caractère 40     x
nodivers_treso NO DIVERS Pour un usage particulier Caractère 20     x
coddev CODE DEVISE Code de la devise utilisée Caractère 4     x
mt_ump MT UMP Montant convertit dans l’unité monétaire principale Numérique       x
agx_commentaire COMMENTAIRE Commentaire justifiant les écarts (Nature 12) Caractère 255     x
posfis ' ' Position fiscale de la vente Caractère; 2 Positionné par le traitement de contrôle fonctionnel à la valeur de la position fiscale du magasin    
sigdep ' ' Identifiant du magasin dépôt Caractère 12 Positionné par le traitement de contrôle fonctionnel suivant le magasin    
sigtie ' ' Identifiant du client Caractère 12 Positionné par le traitement de contrôle fonctionnel    
numeve 0 Numéro d'événement ACE Numérique   Positionné par le traitement de contrôle fonctionnel à la valeur de la la séquence AGILIX_TICKET_SEQ.nextval    
numech 0 Numéro d'échénce ACE Numérique   Positionné par le traitement de contrôle fonctionnel (compteur interne pour un ticket)    
nature_treso NATURE Nature de trésorerie Caractère 2 Contrôle fonctionnel pour traitement natrure de trésorerie    
codpro_treso ' ' Code produit trésorerie Caractère 16 Positionné par le traitement de contrôle fonctionnel suivant la nature/motif de tréso    
z40l_1 ' ' Donnée libre 1 Caractère, 40      
z40l_2 ' ' Donnée libre 2 Caractère, 40      
z40l_3 ' ' Donnée libre 3 Caractère, 40      
z40l_4 ' ' Donnée libre 4 Caractère, 40      
z40l_5 ' ' Donnée libre 5 Caractère, 40      
datmod ' ' Date de dernière modification Caractère, 10 Positionné par le traitement de contrôle    
utimod ' ' Coude utilisateur dernière mod. Caractère, 8 Positionné par le traitement de contrôle    
  • L’identifiant de cette table est le code société et le numéro de séquence oracle numérotant chaque occurrence.
  • Les données de l’entête de trésorerie sont répétées sur l’ensemble des occurrences de la table au niveau ligne.

Contrôle des données

Principe

Le traitement de contrôle des données est une procédure stockée dans la base ACE (voir documentation UPRC) et lancée par « TradeXpress ACE » à l’issue du chargement des données d’AGIL dans les tables temporaires ACE.

Ce traitement réalise le contrôle fonctionnel des données intégrées et fait évoluer le statut de chaque ligne d’intégration, il enrichit également ces tables d’informations nécessaires à l’intégration définitive dans ACE.

Les occurrences traitées sont celles dont le statut est « 1 A CONTROLER ».

A l’issue du traitement de contrôle d’une occurrence, si le code anomalie a été positionné par le traitement, le statut est positionné à 2 « CONTROLE OK » sinon il est positionné à la valeur 3 « CONTROLE KO ». Dans le cas particulier de la trésorerie, si l’occurrence concernée est considérée comme à ne pas traiter, le statut est positionné à 4 « NE PAS TRAITER ».

Paramétrage

Paramétrage général

Le paramètre AG2GC permet de piloter les tables utilisées lors du contrôle d’intégration des données en provenance d’AGIL

Cibles utilisées
  • Intégration des clients

    La cible AGXCLI est celle utilisée lors de l’intégration des données client, elle permet de personnaliser les contrôles ou le comportement de l’intégration des clients en provenance d’AGIL. Deux paramètres sont positionnés et personnalisés dans le cadre de cette intégration par rapport à la cible VCLI de gestion des clients : NUMTIE (numéroter automatiquement les tiers) et TIEDEF (initialiser les données des tiers client intégrés depuis AGIL pour les données non gérées dans AGIL).

    • Seule l’option N1 du paramètre NUMTIE est utilisée car dans ce mode, c’est AGIL qui a en charge l’identification du client. L’identifiant client AGIL est numérique, ce paramètre permet donc de préciser le nombre de caractères utilisés dans le formatage du sigle tiers client une fois intégré dans ACE.
    • Seules les options A1 et M1 du paramètre TIEDEF sont utilisées dans le traitement de génération du fichier d’intégration ACE en provenance d’AGIL.
  • Intégration des ventes
    La cible et fonction VTIC est celle utilisée lors de l’intégration des tickets de vente, avec les modifications suivantes :
    • Type d’événement traité : TIC (créé préalablement dans GTTEV )
    • Pas de mise à jour des en cours
    • Paramètre CODCPT positionné sur compteur TIC (créé préalablement dans UCPT par société)
    • Paramètre REFEXT avec A2=N et N1=N2=N3=1
    • Paramètre TARTTC en local avec A1=O, A2=N, A3=A, N1=0

      Les cibles et fonctions associées : VTIC, VTICV1 et VTICA1

  • Intégration de la trésorerie

    La cible et fonction VTRE est celle utilisée lors de l’intégration des tickets de trésorerie, avec les modifications suivantes par rapport à la cible VTIC :

    • Type d’événement traité : TRE (créé préalablement dans GTTEV)
    • Pas de mise à jour des en cours
    • Paramètre CODCPT positionné sur compteur TRE (créé préalablement dans UCPT par société)
    • Paramètre REFEXT avec A2=N et N1=N2=N3=1
    • Paramètre TARTTC en local avec A1=O, A2=N, A3=A, N1=0

      Les cibles et fonctions associées : VTRE, VTREV1 et VTREA1

Tables utilisateurs
  • Définition des données dynamiques client
    Cette table définie la correspondance entre les données dynamique client définies dans AGIL et celles définies dans ACE, ces dernières étant gérées uniquement en tant que données complémentaires client (ZOD). Voir documentation de l’option A1 du paramètre AG2GC.
    Champs Signification
    Codtbl Code table identifiant les données dynamiques client (ag2gc.para1)
    Cletbl Code info dynamique tel que défini dans AGIL
    Lib Libellé descriptif de la donnée dynamique
    Lir Numéro de la zod associée à la donnée dynamique
    Lib2 Type de table associé à la liste de valeur gérée dans gtzon (TBL, TIE ou PRO) permettant de réaliser un contrôle de cohérence du contenu. Cette valeur doit être cohérente avec la nature de la table positionnée dans gtzon en regard de la donnée.
  • Code état intégration
    Cette table défini la liste des codes état d’intégration des données en provenance d’AGIL dans les tables temporaires ACE. Voir documentation de l’option A2 du paramètre AG2GC.
    Champs Signification
    Codtbl Code table identifiant les états d’intégration (ag2gc.para2)
    Cletbl Code état
    Lib Libellé message
    Lir Libellé réduit message
    La liste de valeurs est la suivante :
    Champs Signification
    1 A Contrôler
    2 Contrôlé OK
    3 Contrôlé KO
    4 A ne pas traiter
    5 Extrait pour intégration
  • Code état intégration

    Cette table défini la liste des codes anomalie d’intégration des données en provenance d’AGIL dans les tables temporaires ACE. Voir documentation de l’option A3 du paramètre AG2GC.

    Champs Signification
    Codtbl Code table identifiant les états d’intégration (ag2gc.para3)
    Cletbl Code anomalie
    Lib Libellé message
    Lir Libellé réduit message

    La liste de valeurs est la suivante :

    Champs Signification  
    00 Ne pas traiter
    01 Tiers inconnu
    02 Civilité inconnue
    03 Etat(secteur géo) inconnu
    04 Pays inconnu
    05 Langue inconnue
    06 Contact inconnu
    07 Donnée dynamique inconnue
    08 Valeur dynamique inconnue
    09 Magasin inconnu
    10 Ticket en double
    11 Client Inconnu
    12 Produit inconnu
    13 Code tva ligne inconnu
    14 Devise inconnue
    15 Mode de règlement inconnu
    16 Vente en anomalie
    17 Tréso vente sans ticket
  • Contrôle de trésorerie
    Cette table défini la liste des couples nature de trésorerie / motif de trésorerie à prendre en compte dans ACE les tickets de trésorerie. Voir documentation de l’option M1 du paramètre AG2GC.
    Champs Signification
    Codtbl Code table identifiant les états d’intégration (ag2gc.parm1)
    Cletbl Code nature / code motif (concaténation des deux codes)
    Lib Libellé nature/motif de trésorerie
    Lir Libellé réduit nature/motif
    Lib2 Code produit associé à la nature/motif traitée

    NB : pour une prise en compte minimum des ventes issues de la trésorerie, positionner une occurrence avec le code « 01 : VENTES » dans ce tableau. Pour les autres natures que 01, un code produit d’intégration est nécessaire, ce code produit est ajouté sur le ticket concerné (soit de vente si trésorerie sur vente, soit de trésorerie, si mouvement de trésorerie pure).

Compteurs utilisés

Compteurs de numérotation des clients identique au compteur de la cible VCLI.

Compteur NUMCTC pour la numérotation des contacts sur ACE lors de l’extraction de ces derniers vers AGIL.

Données institutionnelles client

Voir documentation AGILIX - Echanges GCE2AGIL V1.03 pour les remarques générales liées au paramétrage de l’interface client.

Contrôles réalisés
  • Valeur du code client : sigtie

La rubrique numérique « idclient » d’Agil est reformatée pour ACE suivant la norme définie par le paramètre NUMTIE de la cible AGXCLI (6 positions par défaut).

Si absent => Positionner anomalie 01

  • Valeur du code civilité si renseigné : codciv

Recherche de la valeur dans tbl pour le codtbl référencé dans le paramètre CTRCIV.PARA1 de AGXCLI.

Si absent => Positionner anomalie 02

  • Valeur du code Etat si renseigné : agx_etat

Recherche de la valeur dans tbl geo

Si absent et renseigné => Positionner anomalie 03

  • Valeur du code Pays obligatoire sur les sections @CUSTOMER : codpay

Recherche de la valeur dans tbl pay

Si absent => Positionner anomalie 04

  • Valeur du code Langue obligatoire sur les sections @CUSTOMER : codlan

Recherche de la valeur dans tbl lan

Si absent

=> Positionner anomalie 05

Enrichissement
  • Code action, numéro d’adresse et de contact : codaction, numadr et numctc
Si le code client n’existe pas dans la table TIE
  • Positionner le codaction à C

    Sinon

  • Positionner le codaction à M
Si le contact existe dans la table CTC
  • Positionner les numadr et numctc à la valeur du contact trouvé dans ctc

Si le contact existe dans la table agilix_customer (section CUSTOMER)
  • Positionner les numadr et numctc à la valeur du contact trouvé dans agilix_customer
Si il s’agit d’une création complète (contact et client absent de ctc et d’agilix_customer)
  • Positionner les champs « numadr » et « numctc » à la valeur 1.

Si la section traitée est autre que CUSTOMER et que le contact n’a pas été trouvé, => Positionner anomalie 06.

Si le client existe déjà dans la table TIE ou AGILIX_CUSTOMER mais que le contact est inconnu, alors positionner les champs « numadr » et « numctc » à la dernière valeur attribuée +1.

Données dynamiques client

Voir documentation AGILIX - Echanges GCE2AGIL V1.03 pour les remarques générales liées au paramétrage de l’interface client.

Contrôles réalisés
  • Code information dynamique : dyninf_code

Utilisation du paramètre AG2GC (option A1) pour la société de référence courante.

Recherche dyninf_code dans la table utilisateur référencée.

Si absent => Positionner anomalie 07

Sinon => Recherche de la définition de la donnée dans tbl zon pour le code associé (tbl.lir)

  • Valeur de l’information dynamique si elle est renseignée ou si le paramétrage de la table zon l’indique comme obligatoire (tbl.lib3) : dyninf_val

Si table liste de valeur (tbl.lib2) = ‘TBL’

=> Recherche de la valeur dans tbl pour le codtbl référencé sur gtzon

Si table liste de valeur (tbl.lib2) = ‘TIE’ => Recherche de la valeur dans tie pour le typtie référencé sur gtzon

Si table liste de valeur (tbl.lib2) = ‘PRO’ => Recherche de la valeur dans pro

Si absent => Positionner anomalie 08

Enrichissement
  • typzod = 3 1er caractères de la donnée complémentaire (tbl.lir)
  • numzod = 3 derniers caractères de la donnée complémentaire (tbl.lir)

Ventes

Contrôles réalisés
  • Valeur du code magasin : idmag

Recherche de la valeur dans tie pour le p_tieintgr et typtie=’DEP’ et codett = ‘PDV’

Si absent, => Positionner anomalie 09

  • Contrôle de doublon de vente: noticket (supprimer les caractères du code magasin)

Recherche de la valeur dans rfe pour achvte et typeve référencé sur la cible VTIC et tiers et type de tiers non renseigné

Si présent, => Positionner anomalie 10

  • Valeur du code magasin : idclient

La rubrique idclient d’Agil qui est numérique est reformatée pour ACE suivant la norme définie par le paramètre NUMTIE (option N1) de la cible AGXCLI (6 positions par défaut).

Si le champ « idclient » n’est pas renseigné, il s’agit d’un client comptoir dont l’identifiant ACE est remplacé par la valeur du paramètre AG2GC (option M1) positionné en général.

Recherche de la valeur dans tie pour le typtie type de tiers de la cible AGXCLI

Si absent, => Positionner anomalie 11

  • Contrôle du code produit

Recherche de la valeur dans pro pour le code interne

Si absent, => Positionner anomalie 12

  • Contrôle du code tva de la ligne : agx_codtva

Recherche de la valeur dans tva

Si absent, => Positionner anomalie 13

Enrichissement
  • Coddev = code devise du magasin,Posfis = position fiscale du magasin,
  • Sigdep = identifiant (sigtie) du magasin,
  • Qtecde = nbuni * qte,
  • Prxvdu = mtreel / qtecde,
  • Coduni = coduni de facturation sinon coduni du produit,
  • Numeve = Recherche (à rupture ticket et reporter sur les lignes de trésorerie correspondant au ticket traité) du numéro de séquence ticket suivant avec repositionnement du statut à contrôler (codeta=1).

Trésorerie

Contrôles réalisés
  • Contrôle du couple nature trésorerie / motif : nature || id_motif (ou nature seule si pas de motif associé)

    Recherche de la valeur dans la table utilisateur référencée par le paramètre AG2GC (option M2) uniquement pour la nature de trésorerie autre que ‘00’ « Paiement » et ‘01’ « Ventes »

    Si absent
    • Si le couple est absent il s’agit d’une occurrence de trésorerie à ne pas traiter, positionner alors le codeta à la valeur 4 (occurrence à ne pas traiter) avec code anomalie à 00 ainsi que pour les occurrences suivantes de nature de trésorerie ‘00’ (jusqu’à nouvelle nature de trésorerie rencontrée)
  • Contrôle de la vente : uniquement pour la nature de trésorerie ‘01’
    Si le numéro d’événement n’est pas renseigné (la vente n’est pas rattachée à un ticket) :
    • => Positionner anomalie 17

    Sinon positionner le codeta à la valeur 4 ne pas traiter mais uniquement pour cette occurrence, les occurrences suivantes de type paiement (nature 00) sont traitées.

  • Valeur du code magasin : idmag

    Recherche de la valeur dans tie pour le p_tieintgr et typtie=’DEP’

    Si absent

    => Positionner anomalie 09

  • Contrôle de doublon de vente: noticket (supprimer les caractères du code magasin)

    Recherche de la valeur dans rfe pour achvte et typeve référencé sur la cible VTRS si le numéro d’événement n’est pas renseigné (numeve) sinon la cible VTIC et tiers et type de tiers non renseigné

    Si présent

    => Positionner anomalie 10

  • Valeur du code magasin : idclient

    La rubrique idclient d’Agil qui est numérique est reformatée pour ACE suivant la norme retenue et définie par le paramètre NUMTIE de la cible AGXCLI (6 positions par défaut).

    Si l’idclient est non renseigné, il s’agit d’un client comptoir dont l’identifiant ACE est remplacé par la valeur du paramètre AG2GC positionné en général.

    Recherche de la valeur dans tie pour le typtie=’CLI’

    Si absent,
    • => Positionner anomalie 11
  • Contrôle du code devise : cod_ump

    Recherche de la valeur dans la table des devises (tbl dev)

    Si absent,
    • => Positionner anomalie 14
  • Contrôle du mode de règlement pour les natures ‘00’ : agx_modrgl

    Recherche de la valeur dans la table des modes de règlement (tbl mrg)

    Si absent,
    • => Positionner anomalie 15
  • Contrôle du statut de la vente associée

    Recherche d’au moins une occurrence de la vente correspondante (si trésorerie liée à un ticket de vente identifiée par un numeve affecté)

    Si présent,
    • => Positionner anomalie 16
Enrichissement
  • Posfis = position fiscale du magasin
  • Sigdep = identifiant (sigtie) du magasin
  • Numech = compteur interne (incrément 1 remis à zéro à rupture ticket)
  • Codpro_treso = Donné par la table de contrôle de la nature de trésorerie
  • Prxvdu = Si codpro_treso est renseigné donner la valeur du montant de règlement

Portails de correction des données

Principe

Suite au contrôle fonctionnel décrit précédemment, les données sont disponibles pour correction par l’utilisateur sur un portail dédié :
  • I_ACUS_F : Correction des données client
  • I_VTIC_F : Correction des données ticket (vente et trésorerie)

Pour en savoir plus, voir les documentations I_ACUS_F et I_VTIC_F.

Extraction au format intégrateur ACE

CLIENT

Seules les occurrences à l’état (agilix_customer.codeta) = 2 « CONTROLER OK » doivent être extraites de la table AGILIX_CUSTOMER dans l’ordre de la clé primaire : code société paramètre et numéro de séquence.

Pour chaque occurrence à extraire les structures d’intégration suivantes doivent être traitées dans cet ordre suivant la section d’échange traitée (agilix_customer.agx_typenr)

- CUSTOMER
- CUSTOMER_NEW_CARD / CUSTOMER_ENABLED_CARD /& CUSTOMER_DISABLED_CARD /
  • Structure contact : INTEG_CTC
  • Structure de purge : INTEG_REQ_SQL

    Pour chaque occurrence client de la table AGILIX_CUSTOMER, il faut vérifier la présence d’une ou plusieurs occurrences dans la table AGILIX_CUST_DYNINFO à l’état (agilix_cust_dyninfo.codeta) = 2 « CONTROLER OK » et générer pour chacune :

Si une occurrence est trouvée à l’état 3 « CONTROLER KO », l’ensemble des données du client ne doivent pas être extraites.

A la fin de l’extraction d’un client, la structure de transaction est écrite :

VENTES

La table AGILIX_VENTE est traitée suivant l’ordre suivant :
  • Code société (agilix_vente.codsoc),
  • Magasin (agilix_vente.idmag),
  • Numéro de ticket (agilix_vente.noticket),
  • Code produit (agilix_vente.idarticle).
Une vente ne peux être extraite que si l’ensemble des statuts des lignes la composant est à l’état (agilix_vente.codeta) = 2 « CONTROLER OK » et générer les structures suivantes :
  • En début de rupture magasin :
    • Structure multientité : INTEG_ME
    • En début de rupture numéro de ticket :

      Si sur l’ensemble des statuts du ticket il y a présence d’au moins une occurrence au statut (agilix_treso.codeta) 3 ignorer le ticket sinon réaliser le traitement

      • Structure entête : INTEG_EVE
      • Pour chaque occurrence de agilix_vente
      • En fin de rupture numéro de ticket :

TRESORERIE

La table AGILIX_TRESOR est traitée suivant l’ordre suivant :
  • Code société (agilix_treso.codsoc)
  • Magasin (agilix_treso.idmag)
  • Numéro de ticket (agilix_treso.noticket)
  • Numéro de séquence (agilix_treso.numseq)
Un ticket de trésorerie ne peux être extrait que si l’ensemble des statuts des lignes le composant est à l’état (agilix_treso.codeta) = 2 « CONTROLER OK » ou 4 « NE PAS TRAITER » et générer les structures suivantes :
  • En début de rupture magasin :
    • Structure multientité : INTEG_ME
    • En début de rupture numéro de ticket :

      Si, sur l’ensemble des statuts du ticket, il y a présence d’au moins une occurrence au statut (agilix_treso.codeta) 3 ignorer le ticket sinon réaliser le traitement

      • Si le numéro d’événement (agilix_treso.numeve) vaut zéro et que pour le ticket traité il existe au moins une occurrence de statut 2 : Structure entête : INTEG_EVE origine trésorerie
    • Pour chaque occurrence d’agilix_treso au statut 4 :
      • Structure de purge : INTEG_REQ_SQL car l’occurrence de trésorerie n’est pas retenue
    • Pour chaque occurrence d’agilix_treso au statut 2 :
      • Si le code produit trésorerie (agilix_treso.codpro_treso) est renseigné:
        • Structure poste : INTEG_EVP origine trésorerie
        • Structure de purge : INTEG_REQ_SQL (déjà décrite par ailleurs)
      • Sinon (le code produit trésorerie (agilix_treso.codpro_treso) n’est pas renseigné) :
    • En fin de rupture numéro de ticket :
      • Structure transaction : INTEG_RUP (déjà décrite par ailleurs)

Intégration définitive dans ACE

Principe

TradeXpress ACE génère un fichier d’échange dont le nom est de ce type :

agil2gce_<no_index_syslog>.ech

où “no_index_syslog” représente le numéro de syslog tradeXpress associé au traitement d’extraction.

Ce fichier qui comporte l’ensemble des données extraites d’AGIL depuis la dernière extraction (donc à savoir clients, ventes et trésorerie suivant les interlocuteurs définis sur AGIL) est déposé en fin d’extraction dans un répertoire à disposition d’ACE pour intégration définitive.

Caractéristiques de l’intégration

L’intégration de ce fichier dans ACE est assurée par la fonction INTAGX et son lanceur associé qui permettent d’intégrer les fichiers de format “agil2gce_*.ech” pour intégrer ces derniers dans l’ordre de leur arrivée et d’être mis en procédure à une fréquence souhaitée d’intégration.

Il est à noter que cette fréquence d’intégration doit être en cohérence avec le déclenchement d’extraction des ventes/trésorerie définis sur TradeXpress ACE (voir guide de mise en œuvre).

Comme décrit précédemment, le fichier d’intégration comporte les structures caractéristiques suivantes :
  • Integ_me 96 : Pour changement d’entité lors de l’intégration des ventes/trésorerie,
  • Integ_A9 : Bloc de suppression de l’occurrence traitée dans la table temporaire d’origine.
  • Integ_99 : Bloc de rupture logique pour intégration d’ensembles cohérents,

L’intégration est identifiée par un numéro et un statut visualisable par le biais de la fonction INTAGX. En cas d’anomalie d’intégration, cette dernière permet de régénérer les occurrences non traitées dans un fichier d’intégration spécifique (.rejet).