API Gestion Analytique dupliquer Analytique

Version : 5.0-00

Edition spéciale ES2

Package : fr.generix.metier.bc4j.analytique.common

GestionAnalytiqueDupliquerAnalytique

   
Schémas d’entrée et de sortie : IN OUT

Cette API permet de dupliquer les données analytiques de l'événement d’origine vers un événement de destination.

API imbriquées : aucune.

Contraintes et limites de fonctionnement (hors périmètre)

RAS.

Paramétrage (PPE)

GENANA (Génération de l'imputation l'analytique) avec la zone N2 : Génération du guide analytique avec ACE FINANCE).

GESANA (Gestion de l’analytique d’un événement commercial)

P_PHI (Module ACE FINANCEavec la zone A1 : ACE FINANCE avec ACE COMMERCE).

DUPEVE (Duplication d’événement)

Processus, contrôles et règles de gestion

Etape Description du Processus  
 

Règles de gestion

  • Pour être dupliquée, la nature d'imputation de l'événement d’origine doit se trouver dans le paramétrage de l'événement de destination.
  • Si l'enregistrement existe déjà dans l'événement de destination, il n'est pas dupliqué, ni modifié.
  • Si le numéro de poste de l'origine n'est pas connu, on ne duplique que l'analytique de l'en-tête : le numéro de poste de la destination du flux en entrée n'est pas utilisé dans ce cas là
  • Si le code frais est connu, on duplique l'analytique du frais vers le même code frais.

Dans le flux de sortie de l’API, une liste donne les natures d’imputation qui n’ont pas été dupliquées et une autre liste donne celles qui ont été dupliquées. Pour la liste des natures non dupliquées, des informations sur la cause peuvent se trouver dans le champ « Information ».

 
 

Règles d’héritage des données analytiques

La propagation de l’analytique entre la commande et la livraison, puis entre la livraison et la facture tient compte du paramètre DUPEVE.

On ne propage en effet que les natures d’imputation de l’origine que l’on retrouve dans le paramétrage de la destination.

Exemple :

  • V/CDE/V natures d’imputation PP1 et PP2
  • V /LIV/C nature d’imputation PP1

signifie que l’analytique associée à la nature PP2 ne sera pas propagée de la commande vers la livraison BL.

 
1
On vérifie que :
  • le paramètre GENANA est positionné avec N2=1, alors on ne duplique pas l'analytique.
  • le paramètre DUPEVE est positionné :
    • Si N2 = 1 et ORI_ACHVTE = DES_ACHVTE, alors on ne duplique pas l'analytique,
    • Si N2 = 2 et ORI_ACHVTE <> DES_ACHVTE, alors on ne duplique pas l'analytique,
    • Si N2 = 3, alors on ne duplique pas l'analytique.
      • le paramètre GESANA est positionné ainsi que le paramètre P_PHI avec la zone A1="O".

2
On examine l’ensemble des enregistrements de la table EVYE correspondant à l'événement origine :
  • EVYE.ACHVTE = ORI.ACHVTE,
  • EVYE.TYPEVE = ORI.TYPEVE,
  • EVYE.NUMEVE = ORI.NUMEVE,
  • EVYE.NUMPOS = ORI.NUMPOS,
  • EVYE.CODFRD = ORI_CODFRD.

3

On vérifie que la nature d'imputation existe dans le paramétrage de destination (table IAE) :

IAE_DES.ACHVTE = DES.ACHVTE,

IAE_DES.TYPEVE = DES.TYPEVE,

IAE_DES.NUMEVE = DES.NUMEVE,

IAE_DES.CODETA = EVE.CODETA (que l'on aura au préalable lue),

IAE_DES.CODNIA = EVYE.CODNIA.

  • Si l'élément IAE_DES n'existe pas dans IAE, on passe à l'enregistrement EVYE suivant.

4

On vérifie que l'élément EVYE à créer n'existe pas déjà pour l'événement de destination

EVYE_DES.ACHVTE = DES.ACHVTE,

EVYE_DES.TYPEVE = DES.TYPEVE,

EVYE_DES.NUMEVE = DES.NUMEVE,

EVYE_DES.NUMPOS = DES.NUMPOS,

EVYE_DES.CODNIA = EVYE.CODNIA,

EVYE_DES.CODFRD = EVYE.CODFRD,

EVYE_DES.GTRGUI = EVYE.GRTGUI.

  • Si l'élément EVYED_DES existe déjà dans EVYE pour l'événement de destination, on passe à l'enregistrement EVYE suivant.

5
On contrôle la cohérence entre le paramétrage de l'origine et celui de la destination.
  • On consulte le paramétrage de la nature d'imputation de l'origine (table IAE)

    IAE_ORI.ACHVTE = ORI.ACHVTE

    IAE_ORI.TYPEVE = ORI.TYPEVE

    IAE_ORI.NUMEVE = ORI.NUMEVE

    IAE_ORI.CODETA = ORI.CODETA (événement origine)

    IAE_ORI.CODNIA = EVYE.CODNIA

    • Si l'élément IAE_ORI n'existe pas dans IAE, on ne duplique pas l’en-tête de l'imputation analytique et on passe à l'enregistrement suivant.
  • On vérifie qu'entre IAE_DES et IAE_ORI,
    • Les matrices de recherche du guide analytique pour le payant sont identiques (IAE_ORI.TYPCOT = IAE_DES.TYPCOT)
    • Les matrices de recherche du guide analytique pour le gratuit sont identiques (IAE_ORI.GRTCOT = IAE_DES.GRTCOT)
    • Les axes analytiques à ventiler sont identiques (IAE_ORI.axe = IAE_DES.axe)

    Sinon un message d'erreur "ERR_PARAM : GIAE" est affiché et l’on passe à l'élément EVYE suivant.

  • Si la nature d'imputation de l'origine est de type « Engagement » avec des OD analytiques imputées en comptabilité, la nature de l'événement de destination ne peut être que de type « désengagement ».
  • Si la nature d'imputation de l'origine est de type « Désengagement » avec des OD analytiques non imputées en comptabilité, la nature de l'événement de destination ne peut être que de type « désengagement ».
  • Si la nature d'imputation de l'origine est de type « Engagement » avec des OD analytiques non imputées en comptabilité, la nature de l'événement de destination ne peut être que de type « Engagement ».
  • Si la nature d'imputation de l'origine est de type « Désengagement » avec des OD analytiques imputées en comptabilité, L'événement de destination n'hérite pas de l'analytique.

6
Si les contrôles de cohérence sont vérifiés, l'en-tête de l’imputation analytique (EVYE) et le détail analytique (EVYD) sont créés.
  • On utilise les données de l'enregistrement d’origine pour initialiser l'enregistrement de destination : EVYE_DES = EVYE_ORI
  • On alimente l'identifiant avec les informations passées en entrée :
    • EVYE_DES.ACHVTE = DES.ACHVTE
    • EVYE_DES.TYPEVE = DES.TYPEVE
    • EVYE_DES.NUMEVE = DES.NUMEVE
    • EVYE_DES.NUMPOS = DES.NUMPOS
  • Si on duplique un événement de même code achat/vente et de même type d’événement, alors l'événement « ENG » est vide.
  • On initialise à 0 les champs « qtecde », « prxvdu » et « totdeg » ((respectivement Quantité exprimée en UV, Prix en devises pour 1 UV et Total désengagé en quantité).
  • On crée l'enregistrement EVYE_DES et on alimente ensuite le détail analytique (table EVYD)
  • On utilise la table EVYD avec les éléments suivants :
    • EVYD_ORI.achvte = EVYE_ORI.achvte
    • EVYD_ORI.typeve = EVYE_ORI.typeve
    • EVYD_ORI.numeve = EVYE_ORI.numeve
    • EVYD_ORI.numpos = EVYE_ORI.numpos
    • EVYD_ORI.codfrd = EVYE_ORI.codfrd
    • EVYD_ORI.codnia = EVYE_ORI.codnia
    • EVYD_ORI.grtgui = EVYE_ORI.grtgui
  • On utilise les données de l'enregistrement origine pour initialiser l'enregistrement de destination.
  • On alimente l'identifiant avec les informations passées en entrée :
    • EVYD_DES.ACHVTE = DES.ACHVTE
    • EVYD_DES.TYPEVE = DES.TYPEVE
    • EVYD_DES.NUMEVE = DES.NUMEVE
    • EVYD_DES.NUMPOS = DES.NUMPOS
  • Pour un désengagement, on propage le montant désengagé forcé. Dans ce cas :
    • L'origine est forcément de type « désengagement » et la destination également.
    • Le montant forcé du désengagement est enregistré dans le champ « MONTENG » de la table EVYD
  • On réinitialiser, dans tous les cas, le montant désengagé
  • On crée l'enregistrement EVYD_DES.

Cas d’erreurs

Cause Effet
L’événement n’existe pas. Aucun traitement n’est réalisé.
L'élément n'existe pas dans la table EVYE. Aucun traitement n’est réalisé.
Le paramétrage de destination existe dans la table IAE. Aucun traitement n’est réalisé.