Bonjour,

J'ai un montant euro et je souhaite renseigner dans ma table la valeur du montant en devise société.

J'ai pour cela créé une fonction où je passe en paramètre mon montant et mon code société et je renvoie mon montant convertie.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 FUNCTION FCT_CONV_DEV_STC(PR_mt_eur IN NUMBER, PR_ste_com_c IN VARCHAR2 )  RETURN NUMBER IS
 
    CONV_DEV_STC_return NUMBER;
 
  BEGIN
    -- Conversion du montant euro en devise de la societe
	SELECT (FCT_CONV_DEV_STC.pr_mt_eur*DIR_TPA) INTO CONV_DEV_STC_return
	FROM PMD_STC stc, PMD_TPA tpa
	WHERE FCT_CONV_DEV_STC.pr_ste_com_c = stc.ste_com_c
	AND stc.dev_c = tpa.cib_dev_c
	AND tpa.ori_dev_c='EUR'
	AND tpa.TPA_CRE_DT=(SELECT MAX(TPA_CRE_DT)FROM PMD_TPA);
 
  RETURN CONV_DEV_STC_return;
  END FCT_CONV_DEV_STC;
Lors de mon update la fonction me renvoie une valeur nulle.
(UPDATE PMD_COU
SET CR_STC=Pmd_Pck_General.FCT_CONV_DEV_STC(CR_EUR,ste_com_c))


quelqu'un a t-il une idée ?


Le problème me parait très simple mais je suis coincée !

Merci de vos réponses