| API / API Web | |
| Version ACE : 1.3 | ||
| Package : fr.ACE.metier.bc4j.evenement.common | ||
| Schémas d’entrée et de sortie : | IN | OUT |
Cette API permet de générer les éléments de répartition pour un poste d’un évènement ou pour une liste de produits et de magasins. Dans le cas d’une liste de produits et de magasins, l’API génère également les postes d’évènement correspondants.
Les éléments de répartition sont créés avec une quantité à zéro, les postes d’évènement également.
API imbriquées : GestionEvenementcreerPoste -
Contraintes et limites de fonctionnement (hors périmètre)
| RAS. |
Paramétrage (PPE)
| Aucun. |
Processus, contrôles et règles de gestion
| ETAPE | DESCRIPTION DU PROCESSUS |
| Le champ « SelectionEnregistrementProduit » ou le champ « Poste » doit être renseigné dans le schéma d’entrée. Les deux ne peuvent être renseignés en même temps (message d’erreur). | |
| L’API vérifier qu’il existe au moins 1 magasin trouvé dans l’enregistrement EVPG. | |
| L’API recherche le numéro de ciblage : max(numcible) + 1 à rechercher les numcible existants pour la même clé (evrpe.achvte, typeve, numeve) | |
|
Si SelectionEnregistrementProduit est renseigné, l’API identifie tous les postes à générer correspondants (table EVPG). Si aucun code produit n’est spécifié, l’API identifie tous les postes à générer. Pour tous les produits trouvés :
L’API crée un enregistrement dans EVRPE. Appeler la méthode creerRepartionMagasinSelection Si le champ « Poste » est renseigné, l’API ne crée pas de poste : Appeler la méthode creerRepartionMagasinSelection L’API supprime tous les enregistrements EVPG concernés (produits et magasins). |
|
|
Méthode creerRepartionMagasinSelection Créer un enregistrement dans EVRPE avec Evrpe.achvte = evp.achvte Evrpe.typeve = evp.typeve Evrpe.numeve = evp.numeve Evrpe.numpos = evp.numpos Evrpe.numlig = 0 Evrpe.codrrp = vide Evrpe.qtesai = 0 Evrpe.coduni = vide Evrpe.numcible = Numéro de ciblage Si EVRPE existe déjà ne pas générer d’erreur. Pour chaque magasin trouvé dans EVPG avec : Evpg.typtrt = SelectionEnregistrementMagasin.typtrt Evpg.numedi = SelectionEnregistrementMagasin.numedi Evpg.codpev = SelectionEnregistrementMagasin.codpev Evpg.typtie = SelectionEnregistrementMagasin.typtie Evpg.sigtie = SelectionEnregistrementMagasin.sigtie Evpg.uticod = SelectionEnregistrementMagasin.uticod Evpg.codpro = SelectionEnregistrementMagasin.codpro Evpg.sigdep = SelectionEnregistrementMagasin.sigdep Evpg.numlot = SelectionEnregistrementMagasin.numlot Evpg.libcom = SelectionEnregistrementMagasin.libcom Evpg.numpos = SelectionEnregistrementMagasin.numpos (Si SelectionEnregistrementMagasin.sigtie est vide, il faut parcourir tous les EVPG pour tous les sigtie) Créer un enregistrement dans EVRP avec Evrp.achvte = evp.achvte Evrp.typeve = evp.typeve Evrp.numeve = evp.numeve Evrp.numpos = evp.numpos Evrp.numlig = 0 Evrp.typtie = evpg.typtie Evrp.sigtie = evpg.sigtie Evrp.codaxe = evpg.z40l_1 Evrp.qteini = 0 Evrp.qtealiv = 0 Evrp.qteliv = 0 Evrp.coduni = vide Evrp.codunimag = vide Evrp.dateng = vide Evrp.achvto = vide Evrp.typevo = vide Evrp.numevo = 0 Evrp.numpoo = 0 Evrp.numlio = 0 Evrp.indtrt = N Evrp.coeffini = 0 Evrp.coeff = 0 Evrp.proass = N Evrp.valznx = vide Si EVRP existe déjà ne pas générer d’erreur. |
Erreurs possibles
| CAUSE | EFFET |
| Le champ « SelectionEnregistrementProduit » est renseigné et le champ « Poste » est renseigné. | Message d’erreur bloquant. |
|
Il n’existe aucun magasin dans l’enregistrement des postes à générer (table EVPG). |
MAG_INE - « Il n’y a aucun magasin dans la sélection » |
Exemples
Exemple 1 :
Pour un évènement commande d’achat A/CDA/340 sans aucun poste (EVP),
Contenu de la table EVPG après sélection des produits et magasins et avant l’appel de l’API
| numedi | Typtie | Sigtie | typtrt | codpev | Uticod | codpro | sigdep | numlot | Libcom | numpos | Z40l_1 |
| 340 | RPP | ACDA | DEMO | BR101 | |||||||
| 340 | RPP | ACDA | DEMO | BR102 | |||||||
| 340 | DEP | LILLE | MAG | ACDA | DEMO | NORD | |||||
| 340 | DEP | PARIS | MAG | ACDA | DEMO | IDF |
Après le traitement de l’API :
La table EVPG est vidée de ces éléments
Contenu de la table EVRPE :
| Achvte… | Codrrp | Qtesai | coduni | coduniaff | Numcible |
| A/CDA/340/1/0 | Vide | 0 | U | U | 1 |
| A/CDA/340/2/0 | vide | 0 | U | U | 1 |
Contenu de la table EVRP :
| Achvte… | Typtie | Sigtie | codaxe | Qteini/qtealiv/qteliv | coduni | codunimag | Dateng | indtrt | coeff | coeffini |
| A/CDA/340/1/0 | DEP | LILLE | NORD | 0 | U | U | 20072202 | N | 0 | 0 |
| A/CDA/340/1/0 | DEP | PARIS | IDF | 0 | U | U | 20072202 | N | 0 | 0 |
| A/CDA/340/2/0 | DEP | LILLE | NORD | 0 | U | U | 20072202 | N | 0 | 0 |
| A/CDA/340/2/0 | DEP | PARIS | IDF | 0 | U | U | 20072202 | N | 0 | 0 |
Dans EVP création de 2 postes pour les 2 produits : A/CDA/340/1/0 et A/CDA/340/2/0
Exemple 2 :
Pour un évènement commande d’achat A/CDA/340 avec un poste existant sur le produit BR101 (quantité 10)
Contenu de la table EVPG après sélection des produits et magasins et avant l’appel de l’API
| numedi | Typtie | Sigtie | typtrt | codpev | Uticod | codpro | sigdep | Numlot/numpos | Libcom | qtecde | Z40l_1 |
| 340 | RPP | ACDA | DEMO | BR101 | 10 | ||||||
| 340 | RPP | ACDA | DEMO | BR102 | |||||||
| 340 | DEP | LILLE | MAG | ACDA | DEMO | NORD | |||||
| 340 | DEP | PARIS | MAG | ACDA | DEMO | IDF |
Après le traitement de l’API :
La table EVPG est vidée de ces éléments
Contenu de la table EVRPE :
| Achvte… | Codrrp | Qtesai | coduni | coduniaff | Numcible |
| A/CDA/340/1/0 | Vide | 0 | U | U | 1 |
| A/CDA/340/2/0 | vide | 0 | U | U | 1 |
Contenu de la table EVRP :
| Achvte… | Typtie | Sigtie | codaxe | Qteini/qtealiv/qteliv | coduni | codunimag | Dateng | indtrt | coeff | coeffini |
| A/CDA/340/1/0 | DEP | LILLE | NORD | 0 | U | U | 20072202 | N | 2 | 3 |
| A/CDA/340/1/0 | DEP | PARIS | IDF | 0 | U | U | 20072202 | N | 6 | 6 |
| A/CDA/340/2/0 | DEP | LILLE | NORD | 0 | U | U | 20072202 | N | 2 | 4 |
| A/CDA/340/2/0 | DEP | PARIS | IDF | 0 | U | U | 20072202 | N | 9 | 7 |
Dans EVP création de 1 poste pour le produit BR102 : A/CDA/340/2/0