API Gestion Contrat modifier Poste Contrat

Version : ACE 1.0

Edition spéciale ES2

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

GestionContratmodifierPosteContrat

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

Cette API permet de modifier un poste de contrat et la condition tarifaire associée. Elle est notamment utilisée dans le scénario de saisie des contrats (voir documentation « Gestion des contrats (accords de prix) », mais aussi dans le cadre de la collecte des céréales (I_CEREAL_F).

Cette API met à jour les tables CNP et CTS.

API imbriquées : GestionQueQuecreerConditionTarifaire.

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

RAS.

Paramétrage (PPE)

CTSLIGGESCNT -

Processus, contrôles et règles de gestion

Etape Description du Processus
En entrée
  • Code société.
  • Identifiant du contrat (achvte, numcnt, tqoi, codpro).
  • Données du poste (coduni, qteini, monini, datapp, datval, codzn1 à codzn20).
  • Données de la condition tarifaire (uniquement les champs modifiables : Codcre, Typrem et Valrem).

En sortie Le numéro de la condition tarifaire créée ou modifié (champ « numcot »).
1 Vérification de l’existence de l’en-tête du contrat (table CNT avec les informations « codsoc/achvte/numcnt »).
2 Vérification de l’existence du poste de contrat (table CNP avec les informations codsoc/achvte/numcnt/tqoi/codpro).
3 Mise à jour du poste de contrat avec les valeurs fournies en entrée.
4 Si le numéro de la condition tarifaire du poste de contrat est renseigné alors l’API utilise les informations de cette condition tarifaire. Si la condition tarifaire n’existe pas, alors l’API efface le numéro de la condition tarifaire du poste de contrat et procède comme s’il s’agissait d’une création de condition tarifaire.
  • Pour les conditions tarifaires, plusieurs cas se présentent :
  • Si le numéro de la condition tarifaire du poste de contrat n’est pas renseigné mais que le code catégorie est renseigné en entrée alors :

    Mode CREATION sur cts : Créer la condition tarifaire par appel de l’API GestionQueQuecreerConditionTarifaire.

    Paramètres en entrée :
    • Achvte = cnp.achvte
    • Typcot = A1 du paramètre CTSLIG à défaut LIG
    • Tqui = ‘4’
    • Clequi = cnp.numcnt
    • Tqoi = cnp.tqoi
    • Cleqoi = cnp.codpro
    • Datapp = cnp.datapp
    • Datval = cnp.datval
    • Coduni = cnp.coduni
    • Coddev = cnt.coddev
    • Codcre = champ passé en paramètre d’entrée
    • valeurRemise= champ passé en paramètre d’entrée.
    • Typrem = champ passé en paramètre d’entrée

    Puis, alimenter le numéro de la condition tarifaire du poste de contrat avec le numéro de la condition fourni par l’API GestionQueQuecreerConditionTarifaire.

  • Si le numéro de la condition tarifaire du poste de contrat est renseigné mais que le code catégorie n’est pas renseigné en entrée alors :

    Mode SUPPRESSION : suppression de la condition tarifaire dont les informations « codsoc/achvte/tqui/clequi/tqoi/cleqoi/typcot » correspondent à la valeur définie dans la zone A1 du paramètreCTSLIG, à défaut « LIG ». Le champ « cnp.numcot » est remis à zéro.

    Les conditions tarifaires ayant le même numéro sont supprimées ainsi que les conditions tarifaires complexes (table CTSC).

  • Si le numéro de la condition tarifaire du poste de contrat et le code catégorie sont renseignés en entrée alors :
    Si changement de code catégorie alors :
    • Mode SUPPRESSION, puis CREATION : suppression de la condition tarifaire actuelle et création à nouveau avec les données transmises à l’API.

Sinon

Mode MODIFICATION : limitée aux champs suivants :
  • valeurRemise= champ passé en paramètre d’entrée,
  • Typseuil = champ passé en paramètre d’entrée,
  • Typrem = champ passé en paramètre d’entrée.

Cas particulier Collecte des céréales

Cette API permet de calculer le prix de base officielle en création et en modification d’un poste de contrat typé « poste de fixation de prix ».

In AM GestionContratCereale :
  • Méthode actualiserComplementPosteContrat (surchargée)
  • Méthode creerCtsPosteContrat (surchargée)
  • Méthode actualiserCtsPosteContrat (surchargée)
  • Méthode actualiserCtsContrat (surchargée)
  • Nouvelle méthode calculerPrixBaseOfficielle
  • Nouvelle méthode rechercherBaseOfficielle
  • Nouvelle méthode rechercherBaseContrat
  • Nouvelle méthode rechercherPrixContrat
  • Nouvelle méthode rechercherDonneesCoutMajoration

Cas d’erreur

Cause Effet
En-tête de contrat inexistante Aucun traitement n’est effectué.
Poste de contrat inexistant Aucun traitement n’est effectué.