API Gestion Opération Commerciale créer Opération Commerciale

  Version : 1.2

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

GestionOperationCommercialecreerOperationCommerciale

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

Cette API permet de créer une opération commerciale avec ou sans duplication d’une autre opération commerciale.

API imbriquées : GestionElaborationcreerElaborationLigne -

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

RAS.

Paramétrage (PPE)

PACKNUMOPENUMTAL -

Processus, contrôles et règles de gestion

Etape Description du Processus
Cas 1

Création d’une nouvelle opération commerciale sans duplication d’une autre opération commerciale et quel que soit le mode PACK (Négoce ou Retail)

L’API crée une en-tête d’opération commerciale et une en-tête d’élaboration tarifaire, puis restitue en sortie les numéros de chaque en-tête.

L’opération commerciale est créée dans la table OPE avec les informations suivantes :

  • code opération commerciale,
  • libellés de l’opération commerciale,
  • code campagne commerciale,
  • code avantage.

Si le code opération n’est pas renseigné en entrée, il est alors calculé automatiquement par l’objet métier OPE. L’objet métier met également à jour le code état de l’opération commerciale avec l’état « en cours » de la cible.

Une en-tête d’élaboration tarifaire de type Promotion Vente est créée.

L’API appelle une autre API GestionElaborationcreerElaborationLigne avec les critères suivants :

  • type Achat/Vente (« V »)
  • Code opération commerciale
  • Date de début de l’ opération commerciale
  • Date de fin de l’ opération commerciale
  • Type d’élaboration tarifaire (« PRO »)

L’API alimente les champs en sortie :

  • « codeopDestination » avec le code de l’opération commerciale créée,
  • « numelabo » avec le numéro d’élaboration tarifaire.
Cas 2

En mode PACK Négoce, création d’une opération commerciale par duplication d’une autre.

Plusieurs cas :

  1. L’opération d’origine a été créée en mode Client/Serveur ou l’élaboration tarifaire liée à l’opération commerciale a été supprimée : pas d’en-tête d’élaboration tarifaire (table TAL),
  2. L’opération d’origine a été créée en mode web et est encore dans l’état « en cours ». Les conditions tarifaires sont créées en utilisant le code achat/vente « E » pour l’en-tête et « L » pour les lignes d’élaboration.
  3. L’opération d’origine a été créée en mode web et est maintenant dans l’état « validé ». Il ne reste que l’en-tête de l’opération commerciale. Les conditions tarifaires sont créées avec le code achat/vente « V ».

En mode PACK Retail, création d’une opération commerciale par duplication d’une autre.

Plusieurs cas :

  1. L’opération d’origine a été créée en mode Client/Serveur ou l’élaboration tarifaire liée à l’opération commerciale a été supprimée : pas d’entête d’élaboration tarifaire (table TAL),
  2. L’opération d’origine a été créée en mode web et est dans l’état « en cours » ou « validé ». Les conditions tarifaires sont créées avec le code achat/vente « E » pour l’entête et « L » pour les lignes d’élaboration.
  3. L’opération d’origine a été créée en mode web et est dans l’état « appliquée ». Les conditions tarifaires sont créées avec le code achat/vente « V ». Les conditions tarifaires créées, avec le code achat/vente « E » pour l’en-tête et « L » pour les lignes d’élaboration, peuvent encore exister si l’élaboration tarifaire n’a pas été purgée complètement.

L’opération commerciale est créée dans la table OPE avec les informations suivantes :

  • code opération commerciale,
  • libellés de l’opération commerciale,
  • code campagne commerciale,
  • code avantage.

Si le code opération n’est pas renseigné en entrée, il est alors calculé automatiquement par l’objet métier OPE. L’objet métier met également à jour le code état de l’opération commerciale avec l’état « en cours » de la cible.

L’API crée une en-tête d’élaboration tarifaire de type Promotion Vente. Elle utilise l’objet métier TAL en création avec le minimum de paramètres nécessaires en entrée. Les autres données (champs « codeta », « coddev », « codcre », « datdeb », …), si elles ne sont pas renseignées, sont alimentées automatiquement par l’objet métier.

Le nouveau numéro d’élaboration créé est enregistré. Il servira dans l’étape de duplication des conditions tarifaires.

L’API vérifie qu’il existe une élaboration tarifaire pour l’opération d’origine (table TAL).

Si c’est le cas, certains champs de l’élaboration d’origine sont propagés vers la nouvelle élaboration :

  • prix de vente fixe,
  • taux d’évolution fixe.

Propagation de certaines données de l’opération commerciale d’origine vers la nouvelle opération commerciale

Données de l’en-tête de l’opération commerciale (table OPE)

  • Les champs suivants sont propagés de l’opération d’origine vers l’opération de destination :
  • type d’opération,
  • mode de saisie,
  • indicateur d’attribution,
  • description de l’opération commerciale,
  • libellé réduit de l’opération commerciale,
  • code de l’opération commerciale
  • indicateur du ciblage type forcé à ‘N’
  • Ciblage clients (tables OCC et OPC)
  • En mode PACK Négoce uniquement (ppe PACK.A1 non renseigné ou différent de RETAIL).

Si on demande à l’API de dupliquer le ciblage client (indicateur optionCiblage en entrée à true) alors faire les mises à jour suivantes :

OPE(destination).procib = OPE(origine).procib. (nombre de prospects ciblés)

OPE(destination).modope = non renseigné

Dupliquer le ciblage de l’opération origine vers la nouvelle opération. Pour cela, lire la table OPC sur codsoc / codeop = ope(origine).modope à défaut ope(origine).codeop. Pour chaque occurrence lue, créer une occurrence dans la table OPC en changeant le code opération qui devient l’opération à créer.

Dupliquer les critères de ciblage de l’origine vers la nouvelle opération. Pour cela, lire la table OCC sur codsoc / codeop = ope(origine).modope à défaut ope(origine).codeop. Pour chaque occurrence lue, créer une occurrence dans la table OCC en changeant le code opération qui devient l’opération à créer.

Assortiment magasin (table EVPG)

En mode PACK Retail uniquement (ppe PACK.A1 = RETAIL).

Si on demande à l’API de dupliquer l’assortiment magasin (indicateur optionCiblage en entrée à true) alors faire les mises à jour suivantes :

OPE(destination).procib = 0 (nombre de prospects ciblés)

OPE(destination).modope = non renseigné

Dupliquer l’assortiment de l’opération origine vers la nouvelle opération. Pour cela, lire la table EVPG sur codsoc / typtrt = ‘MAG’ / numedi = numéro élaboration origine / codpev= ‘GTAL’. Pour chaque occurrence lue, créer une occurrence dans la table EVPG en changeant le numéro d’élaboration qui devient le numéro d’élaboration à créer.

Conditions tarifaires (tables CTS et CTSC)

Si on demande à l’API de dupliquer les conditions tarifaires (optionConditions à true) alors faire les mises à jour suivantes.

La boucle de recherche des conditions à dupliquer est différente selon les cas suivants :

  1. s’il existe une élaboration tarifaire origine à l’état en cours (tal.codeta = pev.codeta). Deux boucles à faire :
    • niveau entête : Lire la table CTS sur Codsoc/achvte=’E’/Numelabo=élaboration origine avec tri croissant sur typcot, tqui, clequi, tqoi, cleqoi, numcot.
    • niveau ligne : Lire la table CTS sur Codsoc/achvte=’L’/Numelabo=élaboration origine avec tri croissant sur typcot, tqui, clequi, tqoi, cleqoi, numcot.
  2. s’il existe une élaboration tarifaire origine appliquée (tal.codeta = pev.soleta). Lire la table CTS sur Codsoc/achvte=’V’/Numelabo=élaboration origine avec tri croissant sur typcot, tqui, clequi, tqoi, cleqoi, numcot.
  3. s’il n’existe pas d’élaboration tarifaire origine. Lire la table CTS sur Codsoc / Achvte = ‘V’ / Tqui = ’85’ / Clequi = codeopOrigine avec tri croissant sur typcot, tqoi, cleqoi, cts.numcot.

Pour chaque condition lue dans la table CTS, vérifier s’il s’agit d’une condition de niveau Produit (type de quoi = 501) ou d’un autre niveau (type de quoi différent de 501).

  • Si cts(origine).tqoi est égal à ’501’ alors
    • Dupliquer toutes les données de cette condition sur l’élaboration associée à l’opération destination sauf les champs suivants :
      • Cts.achvte = ‘L
      • Cts.numelabo = numéro d’élaboration tarifaire créé
      • Cts.numcot et Cts.numcts à ne pas renseigner pour que l’objet métier CTS procède à une renumérotation
    • Si la condition tarifaire est de type complexe alors il faut dupliquer les occurrences de la table CTSC associées à l’occurrence lue de la table CTS. Pour cela, si cts(origine).typseuil = ‘C’ alors
      • Faire une boucle de lecture sur la table ctsc avec
        • Codsoc
        • Achvte = cts(destination).achvte
        • Numcts = cts(destination).numcts
        • Numlig = cts(destination).numlig
      • Pour chaque condition complexe lue dans la table CTSC, dupliquer toutes les données de cette condition sur l’élaboration associée à l’opération destination sauf pour les champs suivants
        • Ctsc (destination).numcts = cts (destination).numcts
        • Ctsc (destination).achvte = ‘L
    • Créer une ligne d’élaboration Produit dans la table TAL. Pour cela, appeler l’API creerElaborationLigne avec les paramètres en entrée suivants :
      • Achvte = ‘V
      • Numelabo = tal(nouvelle).numelabo
      • Codpro = cts (destination ou origine).cleqoi
  • Si cts(origine).tqoi est différent de ’501’ alors
    • Dupliquer toutes les données de cette condition sur l’élaboration associée à l’opération destination sauf les champs suivants :
      • Cts.achvte = ‘E
      • Cts.numelabo = numéro d’élaboration tarifaire créé
      • Cts.numcot et Cts.numcts à ne pas renseigner pour que l’objet métier CTS procède à une renumérotation
    • Si la condition tarifaire est de type complexe alors il faut dupliquer les occurrences de la table CTSC associées à l’occurrence lue de la table CTS. Pour cela, si cts(origine).typseuil = ‘C’ alors
      • Faire une boucle de lecture sur la table ctsc avec

        • Codsoc
        • Achvte = cts(origine).achvte
        • Numcts = cts(origine).numcts
        • Numlig = cts(origine).numlig
      • Pour chaque condition complexe lue dans la table CTSC, dupliquer toutes les données de cette condition sur l’élaboration associée à l’opération destination sauf pour les champs suivants

        • Ctsc (destination).numcts = cts (destination).numcts
        • Ctsc(destination).achvte = ‘E

Commentaires et zones paramétrées (table OPE)

Si on demande à l’API de dupliquer les commentaires et zones paramétrées (optionCommentairesZones à true) alors

Transférer les champs commen1 à commen5 et codzn1 à codzn20 de l’ope origine vers l’ope destination.

Alimenter le paramètre en sortie codeopDestination avec le code opération créée et numelabo avec le numéro d’élaboration.