FODAT1 : Calcul des dates d’expédition et de livraison en poste/lignes d’événement

 

Standard

Ce paramètre permet de déclencher une fonction Oracle qui calcule la date d’expédition et la date de livraison, notamment au niveau des commandes de vente en création/modification de poste/ligne.

Fonctions concernées : INTEGR (sur les evl) – APROG1APROG2APROG3APROG4APROG5APROG6APROG9

API concernée : GestionEvenementcreerPoste

BC4J concerné : JEvlViewRowImpl

Utilisation avec d’autres paramètres en mode web :

Paramètres amis FODAT2, MODEVL
L1     Code de la fonction Oracle à déclencher

Attention

Si la fonction est stockée dans un package, il faut préfixer le nom de cette fonction par le nom du package suivi d’un point (à définir dans la zone L1).

Utilisation en mode N1=1

Paramètres en entrée de la fonction

-- Contexte
     p_codsoc IN NUMBER, -- Code société du contexte
     p_codpev IN VARCHAR2, -- Cible (codpev)
     p_uticod IN VARCHAR2, -- Utilisateur courant
     p_datsys IN VARCHAR2, -- Date du serveur de traitement (format AAAAMMJJ) 
     p_heusys IN NUMBER, -- Heure du serveur de traitement (format HH.MMSS)
     -- Référence evl
     p_soceve EVL.CODSOC%TYPE, -- Code société de l’événement
     p_achvte EVL.ACHVTE%TYPE, -- Achat/vente de la facture (achvte)
     p_typeve EVL.TYPEVE%TYPE, -- Type de l’événement
     p_numeve EVL.NUMEVE%TYPE, -- Numéro de l’événement
     p_numpos EVL.NUMPOS%TYPE, -- Numéro du poste
     p_numlig EVL.NUMLIG%TYPE, -- Numéro de ligne
      

Paramètres en sortie

En sortie, la fonction retourne 1 ligne de structure GNX_FCT_FODAT1_RECORD permettant de ramener les champs datexp et datliv (au format AAAAMMJJ). Une date à 99999999 n’impactera par la date de la ligne (evl).

 
create or replace
type GNX_FCT_FODAT1_RECORD AS OBJECT
    (
    DATEXP VARCHAR2(8),
    DATLIV VARCHAR2(8)=
   
    ); 

Structure de la fonction Oracle (ici, avec des sorties pour test)

      drop type GNX_FCT_FODAT1_RECORD_LIST;
      drop type GNX_FCT_FODAT1_RECORD;
      drop function FCT_FODAT1;
       
      create or replace
      type GNX_FCT_FODAT1_RECORD AS OBJECT
      (
      DATEXP VARCHAR2(8),
      DATLIV VARCHAR2(8)
      );
       
      create or replace
      type GNX_FCT_FODAT1_RECORD_LIST is table of GNX_FCT_FODAT1_RECORD
       
      create or replace
      function FCT_FODAT1(
       -- Contexte
       p_codsoc IN NUMBER,
       p_codpev IN VARCHAR2,
       p_uticod IN VARCHAR2,
       p_datsys IN VARCHAR2,
       p_heusys IN NUMBER,
       -- Référence evl
       p_soceve EVL.CODSOC%TYPE,
       p_achvte EVL.ACHVTE%TYPE,
       p_typeve EVL.TYPEVE%TYPE,
       p_numeve EVL.NUMEVE%TYPE,
       p_numpos EVL.NUMPOS%TYPE,
       p_numlig EVL.NUMLIG%TYPE
       ) return GNX_FCT_FODAT1_RECORD_LIST pipelined as
       
      begin
       
       pipe row (GNX_FCT_FODAT1_RECORD(
       '20140113',
       '20140113'
       ));
       
       return;
      end FCT_FODAT1;
  

Messages d’erreur à créer

"FODAT1_ERR" ppe FODAT1 : problème sur la fonction Oracle @1

Utilisation en mode N1=2

Fonctionnement similaire au mode N1=1, mais avec 4 paramètres supplémentaires en entrée

Paramètres en entrée de la fonction

  -- Contexte
       p_codsoc IN NUMBER, -- Code société du contexte
       p_codpev IN VARCHAR2, -- Cible (codpev)
       p_uticod IN VARCHAR2, -- Utilisateur courant
       p_datsys IN VARCHAR2, -- Date du serveur de traitement (format AAAAMMJJ) 
       p_heusys IN NUMBER, -- Heure du serveur de traitement (format HH.MMSS)
       -- Référence evl
       p_soceve EVL.CODSOC%TYPE, -- Code société de l’événement
       p_achvte EVL.ACHVTE%TYPE, -- Achat/vente de la facture (achvte)
       p_typeve EVL.TYPEVE%TYPE, -- Type de l’événement
       p_numeve EVL.NUMEVE%TYPE, -- Numéro de l’événement
       p_numpos EVL.NUMPOS%TYPE, -- Numéro du poste
       p_numlig EVL.NUMLIG%TYPE, -- Numéro de ligne
       p_olddatexp EVL.DATEXP%TYPE, -- datexp avant modification (format AAAAMMJJ)
       p_newdatexp EVL.DATEXP%TYPE, -- datexp après modification (format AAAAMMJJ)
       p_olddatliv EVL.DATLIV%TYPE, -- datliv avant modification (format AAAAMMJJ)
       p_newdatliv EVL.DATLIV%TYPE -- datliv après modification (format AAAAMMJJ)