API Gestion Propagation Propager Zones

 

Version : 5.0-00

Edition spéciale ES1

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

GestionPropagationpropagerZones

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

Cette API permet d’intégrer, dans les zones paramétrées d’un enregistrement, les zones paramétrées ou champs d’autres enregistrements d’après les correspondances établies dans la table ZON.

API imbriquées : aucune.

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

RAS.

Paramétrage (PPE)

PROPAG - PZNxxx - PZNCLI - PZNDEP - PZNEAE - PZNEAP - PZNEVE - PZNEVP - PZNFOU - PZNPRO - PZNREF - PZNREP -

Processus, contrôles et règles de gestion

Etape Description du Processus
 

Si le code société n’est pas renseigné, la valeur prise par défaut est le code société de la session métier.

Si le champ « donneesOrigine » n’est pas renseigné, l’API n’intègrera que des valeurs par défaut constantes.

En fonction du type de l’objet d’entrée, l’API charge le segment correspondant (voir tableau).

Si segment == ‘CLI’ ou ‘DEP’ ou ‘EAE’ ou ‘EAP’ ou ‘EVE’ ou ‘EVP’ ou ‘FOU’ ou ‘PRO’ ou ‘REF’ ou ‘REP’ ou ‘TIE’, l’API recherche si un paramètre de type PZNxxx est positionné et réinitialise la valeur du segment avec la valeur du paramètre.

L’API recherche tous les segments origine correspondant au segment en effectuant une lecture sur la tbl ZON avec la clé (Cletbl like ‘segment%’).

Pour chaque enregistrement, l’API calcule la valeur correspondant au champ Lib3, auquel on a enlevé le premier caractère (origine).

Cette valeur peut être :

  • Si il existe un enregistrement dans ZON tel que Cletbl == origine

et que [0,1,2] représente un segment valide (segmentOrigine),

et que [3,4,5] représente un entier inférieur ou égal à 100,

et que donneesOrigine contient les données correspondant à segmentOrigine,

et que l’enregistrement trouvé grâce à ces données possède la zone paramétrée de l’indice,

alors la valeur correspond à une zone paramétrée classique,

  • Si il existe un enregistrement dans ZON tel que Cletbl == origine

et que [0,1,2] représente un segment valide (segmentOrigine),

et que [3,4,5] représente un entier supérieur ou égal à 101,

et que donneesOrigine contient les données correspondant à segmentOrigine,

et que l’enregistrement trouvé grâce à ces données possède un enregistrement dans ZOD avec Datmod != null,

alors la valeur correspond à une zone paramétrée datée,

  • Si origine.length == 11

et valeur [0,1,2,3,4] == ‘#ZOD_’,

et valeur [5,6,7] représente un segment valide (segmentOrigine),

et valeur [8,9,10] représente un entier supérieur ou égal à 101,

et que donneesOrigine contient les données correspondant à segmentOrigine,

et que l’enregistrement trouvé grâce à ces données possède un enregistrement dans ZOD avec Datmod == null,

alors la valeur correspond à un critère de segmentation,

  • Si origine.length > 5

et valeur [0] == ‘#’,

et valeur [4] == ‘_‘,

et valeur [1,2,3] représente un segment valide (segmentOrigine),

et que donneesOrigine contient les données correspondant à segmentOrigine,

et que l’enregistrement trouvé grâce à ces données possède le champ valeur [5,i,valeur.length],

alors la valeur correspond à un champ mot clef,

  • Si aucune des deux conditions précédentes n’est vérifiée, la valeur du segment d’origine est une valeur par défaut.

Dans les trois premiers cas, un segment est valide si il figure dans le tableau ci dessous ou s’il est égal à la valeur de PZNCLI ou PZNDEP ou PZNEAE ou PZNEAP ou PZNEVE ou PZNEVP ou PZNFOU ouPZNPRO ou PZNREF ou PZNREP.

Dans le quatrième cas, un segment est valide s’il est égal à une des tables suivantes : CNT, CNP, EVE, EVP, PRO, ADR.

L’API met à jour dans l’enregistrement correspondant à l’objet d’entrée, les zones paramétrées. Si la zone paramétrée n’est pas nulle, sa valeur n’est pas actualisée. Si la zone paramétrée datée existe déjà, et que sa valeur n’est pas nulle, sa valeur n’est pas actualisée.

numZonePropage

et

numZoneExclu

  • numZonePropage : liste de numéros de zones paramétrées à prendre en compte,
  • numZoneExclu : liste de numéros de zones paramétrées à ne pas prendre en compte

Grâce à la balise <choice>, il vous faut soit renseigner numZonePropage, soit numZoneExclu en entrée de l’API (ou aucun des 2 éventuellement, ces balises étant facultatives).

Le traitement principal reste globalement identique mais, si on a renseigné numZonePropage en entrée, on ne propagera que les numéros des zones paramétrées (ZOD) définis dans cette liste. Si en revanche, on a renseigné numZoneExclu, on propagera toutes les données définies dans le référentiel ZON, sauf celles dont le numéro est défini dans la liste.

 

L’objet de sortie contient la liste des zones paramétrées et zones paramétrées datées :

objetComplexe classe segment table
catalogue (A) Catalogue CTA cat
catalogue (V) Catalogue CTV cat
elementCatalogue (A) ElementCatalogue CEA cae
elementCatalogue (V) ElementCatalogue CEV cae
referencement (A) Referencement CAT prc

referencement (V)

operationCommerciale

Referencement

OperationCommerciale

REF

OPE

Prc

ope

campagne commerciale campagne CPG cpg
contrat (A) Contrat CNA cnt
contrat (V) Contrat CVT cnt
posteContrat (A) PosteContrat CAP cnp
posteContrat (V) PosteContrat CVP cnp
evenement (A) Evenement EAE eve
evenement (V) Evenement EVE eve
poste (A) Poste EAP evp
poste (V) Poste EVP evp
sousPoste (A) SousPoste EAS evs
sousPoste (V) SousPoste EVS evs
produit Produit PRO pro
installation (A) Installation IAS ise
installation (V) Installation IVS ise
posteInstallation (A) PosteInstallation IPA isp
posteInstallation (V) PosteInstallation IPV isp
sousPosteInstallation (A) PosteInstallation ISA isp
sousPosteInstallation (V) PosteInstallation ISV isp
contratService (A) ContratService ICA ice
contratService (V) ContratService ICV ice
posteContratService (A) PosteContratService IFA icf
posteContratService (V) PosteContratService IFV icf
objetStock ObjetStock OST ost
depotStock DepotStock DSK dsk
emplacementStock EmplacementStock EMP emp
adresse Adresse ADR adr
contact Contact CTC ctc
client Tiers CLI tie
fournisseur Tiers FOU tie
representant Tiers REP tie
transporteur Tiers TRA tie
depot Tiers DEP tie
groupe (V) Tiers GRC tie
groupe (A) Tiers GRF tie

Cas d’erreurs

Code Cause
ZOD_INEX Zone datée non trouvée.
RZO_INEX Segment de critère de segmentation inexistant.
SEG_INEX Critère de segmentation inexistant.
DO_PASTRO Enregistrement correspondant à un segment origine non trouvé.
ZN_INEX Zone inexistante sur l’enregistrement.
CMC_INEX Champ inexistant sur l’enregistrement.
ENR_INEX Enregistrement correspondant à l’objet d’entrée inexistant.