API Gestion Analytique Créer Détail Analytique

Version : 5.0-00

Edition spéciale ES2

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

GestionAnalytiqueCreerDetailAnalytique

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

Cette API permet d’effectuer l’imputation analytique selon une nature d'imputation et pour plusieurs niveaux d’événements : en-tête, poste, frais divers ou remise globale.

L'API recherche le guide analytique selon le couple QUI/QUOI et génère l'en-tête et le détail analytique de chaque axe analytique.

API imbriquées : GestionMotClechargerMotCle - GestionQueQuerechercherQueQue -

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

RAS.

Paramétrage (PPE)

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

P_PHI (Module ACE FINANCE avec ACE COMMERCE).

Processus, contrôles et règles de gestion

Etape Description du Processus
1 Vérifier la présence des paramètres GESANA, et P_PHI (avec A1="O")
2 Si la nature est de type « Désengagement » (iae.inddeg="D"), aucun traitement n’est réalisé.
3
On vérifie que la nature d'imputation n'a pas déjà été traitée.
  • Lire la table EVYE en chargeant la clé d'accès de la façon suivante :
    • achvte = eve.achvte
    • typeve = eve.typeve
    • numeve = eve.numeve
    • numpos = evp.numpos si connu
    • codnia = iae.codnia
    • codfrd = p_CODFRD
    • grtgui = "1"
  • Si l'élément existe dans la table EVYE, cela signifie que la nature d'imputation a déjà été générée è aucun traitement n’est réalisé.
  • On récupère le guide analytique grâce au couple QUI/QUOI défini dans la table IAE (champ « typcot »). La recherche du guide dans la table PCI permet de rapatrier les informations suivantes :
    • Le guide analytique (pci.p_1gccod),
    • Le pourcentage d'imputation (pci.pourcent),
    • L'indicateur Automatique/Manuel (pci.automanu).

La clé d'accès à la table PCI est définie de la façon suivante :
  • Pci.achvte = eve.achvte
  • Pci.typcot = iae.typcot
  • Pci.typpca = "A'
  • Pci.tqui = à compléter suivant mécanisme des qui/quoi
  • Pci.clequi = à compléter suivant mécanisme des qui/quoi
  • Pci.tqoi = à compléter suivant mécanisme des qui/quoi
  • Pci.cleqoi = à compléter suivant mécanisme des qui/quoi

Le guide analytique est stocké dans le champ « p_1gccod ».

4

Si le guide retourné par la recherche est « manuel », on continue ou on arrête le traitement en fonction de l’indicateur passé en entrée de l’API.

Si le guide n’a pas été trouvé ou si l’on ne demande pas de génération automatique, aucun traitement n’est réalisé.

5
Recherche des plans analytiques du guide dans la table P_5GL.
  • On recherche tous les plans analytiques dont le champ « p_5gacod » contient le même guide que le guide retourné par la recherche par couple QUI/QUOI .
  • Si l'élément de plan commence par @ ou #, il s’agit d’un mot clé. Dans ce cas, on fait appel à l'API qui permet de traduire les mots-clés : GestionMotClechargerMotCle.
    • Si le mot clé commence par @, on vérifie son existence dans la table des éléments de planP_PLE et on le crée s'il n'existe pas.
  • On mémorise, dans un tableau, le nom du plan (p_5gl.p_plncod) et l'élément de plan (p_5gl.p_plecod éventuellement traduit).
6

Générer le détail analytique pour chaque axe indiqué sur IAE.

Pour chacun des caractères composant le champ « iae.axe », on effectue les traitements suivants :
  • Si le champ « iae.axe » n’est pas renseigné, on affiche le message d'erreur « IAE_PASAXE ».
  • Sinon on recherche la description de l'axe analytique (table P_5AX, avec la clé d'accès p_5axecod = axe traité).
    • Si inexistant, envoyer message d'erreur.
  • Créer le détail analytique (nouvel enregistrement dans la table EVYD).
    • Associer les éléments du guide analytique à l'axe analytique :
    • Ne pas créer le détail analytique si aucun élément de plan n'est renseigné.
    • Compléter le détail analytique
      • Evyd.achvte = eve.achvte
      • Evyd.typeve = eve.typeve
      • Evyd.numeve = eve.numeve
      • Evyd.numpos = evp.numpos
      • Evyd.codfrd = p_codfrd
      • Evyd.conia = iae.codnia
      • Evyd.grtgui = "1"
      • Evyd.numord = compteur qui s'incrémente à chaque création de evyd
      • Evyd.p_5axcod = axe en cours de traitement.
      • Evyd.pourcent = 100,00
    • Créer l'élément dans la table EVYD .
7 Si au moins un élément a été créé dans la table EVYD, créer l'en-tête analytique dans la table EVYE :
  • Evye.achvte = eve.achvte
  • Evye.typeve = eve.typeve
  • Evye.numeve = eve.numeve
  • Evye.numpos = evp.numpos
  • Evye.codfrd = p_codfrd
  • Evye.conia = iae.codnia
  • Evye.grtgui = "1"
  • Evye.codana = p_codana
  • Evye.pourcent =
    • Si p_pourcent <> 0
      • Evye.pourcent = p_pourcent
    • Sinon
      • Evye.pourcent = 100,00

Cas d’erreurs

Cause Effet
Paramètre « GESANA » non positionné Aucun traitement n’est réalisé.
Paramètre « P_PHI » non positionné Aucun traitement n’est réalisé.
La nature d'imputation a déjà été traitée. Aucun traitement n’est réalisé.
La nature est de type « Désengagement » (iae.inddeg="D"). Aucun traitement n’est réalisé.
Le guide analytique n’a pas été trouvé. Aucun traitement n’est réalisé.
L’événement n’existe pas. Aucun traitement n’est réalisé.
Si l’enregistrement n’existe pas dans la table IAE. Aucun traitement n’est réalisé.
Si le champ « iae.axe » est vide. Aucun traitement n’est réalisé.
Si l'axe analytique n’est pas présent dans P_5AX. Aucun traitement n’est réalisé.
On ne crée pas le détail si aucun élément de plan renseigné. Aucun traitement n’est réalisé.