| API / API Web | |
|
Version : 5.0-00 Edition spéciale ES2 |
||
|
Package : fr.ACE.metier.bc4j.gestionanalytique.common GestionAnalytiqueControlerAnalytique |
||
| Schémas d’entrée et de sortie : | IN | OUT |
Cette API permet de contrôler la comptabilité analytique :
1- Elle vérifie que, pour chaque nature d'imputation, la somme des pourcentages de répartition sur les différentes combinaisons analytiques (evyd.pourcent) correspond à 100 %.
2- En présence du paramètre CTRANA, elle vérifie que les deux premiers éléments de la combinaison analytique sont renseignés
3- Elle vérifie l'existence des éléments de plan et la période de validité de la section et de la rubrique (au cas où la date d'écriture aurait été modifiée depuis le dernier contrôle).
4- Elle contrôle le caractère obligatoire ou facultatif. de certains couples (section/rubrique) ou plans secondaires.
API imbriquées : aucune.
Contraintes et limites de fonctionnement (hors périmètre)
| RAS. |
Paramétrage (PPE)
| CTRANA (Contrôle sur l'imputation analytique) |
Processus, contrôles et règles de gestion
| Etape | Description du Processus |
| 1 |
Boucle de lecture sur le détail analytique (table EVYD) en fonction du champ p_option |
| 2 |
En présence du paramètre CTRANA, on vérifie que les deux premiers éléments de la combinaison analytique sont renseignés :
|
| 3 |
Lire la définition de l'axe dans la table P_5AX
Cette date doit être comprise entre la valeur du champ « p_pledeb » et la valeur du champ « p_plefin ». Si les champs « eve.datcli » et « eve.dateve » ne sont pas renseignés alors il n’y a aucun contrôle de la période de validité de la section et de la rubrique.
Exemple : p_5ax.p_plncodpj = " " donc evyd.pl_plecods3 = " " |
| 4 |
L’API gère le contrôle de couple : pour certains couples (section/rubrique), les plans secondaires peuvent être obligatoires ou facultatifs. Le système contrôle le caractère obligatoire ou non des plans secondaires. Lecture du couple et vérification du caractère obligatoire ou non des éléments de plans si : q la section est paramétrée avec contrôle (p_ple.p_plectspb) ou q l'axe est paramétré avec contrôle systématique : si « p_5ax.p_5axctspb » =
Si l'indicateur « p_plectspb » de la section (p_ple_sect.p_plectspb) = "O" ET si l'indicateur p_plectspb de l'axe = 2 ou 1, Alors : Accès à la table P_5CPL avec :
Si non trouvé, on effectue le même accès mais en chargeant la rubrique avec le mot clé « #RUB » : Accès à la table P_5CPL avec :
Si non trouvé, on s'assure que les couples ne sont pas gérés sur une longueur inférieure à celle de la section et on effectue le même accès mais en chargeant la section de la façon suivante : Accès à la table P_5CPL avec :
Si non trouvé, on effectue le même accès mais en chargeant la rubrique avec le mot clé « #RUB » Accès à la table P_5CPL avec :
Si non trouvé : on affiche le message P_CPLANINE « Couple analytique inexistant @ / @. » Sinon :
Si p_5cplss1 = "O" et p_5ax.plncods1 <> " " et evyd.p_plecods1 = " " Erreur P_5CPLOBL : indiquer à le plan de section à renseigner : p_5ax.p_plncods1 à le numéro de poste si evyd.numpos <> "0" à le code frais si evyd.codfrd <> " " à préciser que l'erreur concerne l'en-tête si numpos=0 et codfrd = " "
Si p_5cplss2 = "O" et p_5ax.plncods2 <> " " et evyd.p_plecods2 = " " Erreur P_5CPLOBL : indiquer à le plan de section à renseigner : p_5ax.p_plncods2 à le numéro de poste si evyd.numpos <> "0" à le code frais si evyd.codfrd <> " " à préciser que l'erreur concerne l'en-tête si numpos=0 et codfrd = " "
Si p_5cplprg = "O" et p_5ax.plncodpj <> " " et evyd.p_plecods3 = " " Erreur P_5CPLOBL : indiquer à le plan de section à renseigner : p_5ax.p_plncodpj à le numéro de poste si evyd.numpos <> "0" à le code frais si evyd.codfrd <> " " à préciser que l'erreur concerne l'en-tête si numpos=0 et codfrd = " "
Si p_5cplss1 = "N" et p_5ax.plncods1 <> " " et evyd.p_plecods1 <> " " Erreur P_5CPLNOBL : indiquer à le plan de section à reblanchir : p_5ax.p_plncods1 à le numéro de poste si evyd.numpos <> "0" à le code frais si evyd.codfrd <> " " à préciser que l'erreur concerne l'en-tête si numpos=0 et codfrd = " "
Si p_5cplss2 = "N" et p_5ax.plncods2 <> " " et evyd.p_plecods2 <> " " Erreur P_5CPLNOBL : indiquer à le plan de section à reblanchir : p_5ax.p_plncods2 à le numéro de poste si evyd.numpos <> "0" à le code frais si evyd.codfrd <> " " à préciser que l'erreur concerne l'en-tête si numpos=0 et codfrd = " "
Si p_5cplprg = "N" et p_5ax.plncodpj <> " " et evyd.p_plecods3 <> " " Erreur P_5CPLNOBL : indiquer à le plan de section à reblanchir : p_5ax.p_plncodpj à le numéro de poste si evyd.numpos <> "0" à le code frais si evyd.codfrd <> " " à préciser que l'erreur concerne l'en-tête si numpos=0 et codfrd = " " |
| 5 | Pour chaque nature d'imputation, on vérifie que la somme des pourcentages de répartition sur les différentes combinaisons analytiques (evyd.pourcent) correspond à 100 %. |
Cas d’erreurs
| Cause | Effet |
| L’événement n’existe pas. |
Aucun traitement n’est effectué. |
|
Si la section et la rubrique n’est pas renseigné (EVYD.p_plecodpr = " " et EVYD.p_plecodpb = " "). |
Aucun traitement n’est effectué. |
|
Si l’enregistrement dans la table IAE n’est pas présent. |
Aucun traitement n’est effectué. |
|
La section principale n’existe pas dans la table P_PLE. |
Aucun traitement n’est effectué. |
| La définition du plan n’existe pas dans la table P_PLN. |
Aucun traitement n’est effectué. |