FOVFAF : Appel de fonction Oracle en fin de validation de factures

(Paramètre actif depuis la version ACE 1.55)

Standard

Ce paramètre permet, en toute fin de la validation des factures et avoirs (traitement différé en mode Client/Serveur), de lancer la fonction Oracle définie dans la zone L1. Cette fonction Oracle peut effectuer des mises à jour (exemple : cryptage des informations de la facture).

Fonctions concernées : toute fonction de validation différée des factures et avoirs, notamment GBFAV1 -

Utilisation avec d’autres paramètres :

Paramètres amis FOVBLF -
L1     Nom de la fonction Oracle à lancer en fin de traitement de validation des factures et avoirs.

Paramètres en entrée de la fonction

Paramètres en sortie

En sortie, la fonction retourne une chaine de 80 caractères codifiés ainsi :

Premier caractère :

Les autres caractères (79 caractères disponible) :

Messages d’erreur à créer

"FCTORA_MES" : "Message de la fonction oracle (@1) : @2"

"FCTORA_ERR" : "Erreur dans la fonction oracle (@1) : @2"

Exemple :

Appel d’une fonction permettant le cryptage de données concernant l’événement en cours de validation.

    CREATE OR REPLACE
     FUNCTION f_crypt_eve(
     p_codsoc IN NUMBER,
     p_codpev IN VARCHAR2,
     p_uticod IN VARCHAR2,
     p_datsys IN VARCHAR2,
     p_heusys IN NUMBER,
     p_soceve EVE.CODSOC%TYPE,
     p_achvte EVE.ACHVTE%TYPE,
     p_typeve EVE.TYPEVE%TYPE,
     p_numeve EVE.NUMEVE%TYPE )
     RETURN VARCHAR2
     IS
     RETOUR VARCHAR2(80);
     BEGIN
     RETOUR:='0';
     -- Création d'un row dans spfa_eve_crypt pour l'eve traité pour mémoriser les infos à
      crypter
     INSERT
     INTO spfa_eve_crypt
     (
     codsoc,
     achvte,
     typeve,
     numeve,
     dateve,
     datcre,
     heuvali,
     totttc,
     info_crypt
     )
     SELECT codsoc,
     achvte,
     typeve,
     numeve,
     dateve,
     datcre,
     heuvali,
     totttc,
     ' ' -- Cryptage des informations le nécessitant
     FROM eve
     WHERE codsoc = p_soceve
     AND achvte = p_achvte
     AND typeve = p_typeve
     AND numeve = p_numeve;
     RETURN (SUBSTR(RETOUR,1,80));
     EXCEPTION
     WHEN OTHERS THEN
     RETURN SUBSTR('0'||'('||SQLCODE||') '||SQLERRM,1,80);
     END F_CRYPT_EVE;
     
     
    S’appuyant ici sur une table spécifique :
     
    create table spfa_eve_crypt (
    codsoc number(*,0),
    achvte varchar2(1 BYTE),
    typeve varchar2(3 BYTE),
    numeve number(*,0),
    dateve varchar2(8 BYTE),
    datcre varchar2(8 BYTE),
    heuvali number,
    totttc number,
    info_crypt varchar2(1024 CHAR)
    );
    commit;
    alter table spfa_eve_crypt add constraint spfa_eve_crypt_idx1 primary key
      (codsoc,achvte,typeve,numeve);