Bonjour,

J’ai des messages d’erreurs lors de la compilation de ma procedure qui utilise une fonction CASE :

PLS-00220: simple name required in this context

Je cherche à soustraire une monnaie et un montant et à les mettre dans les variables v_spec_div_prov_currency , v_spec_div_in_prov_amount

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
16
17
18
19
20
21
22
23
24
25
26
27
 
BEGIN
   IF is_RIMES 
   THEN
       SELECT vt.currency_code,
              vt.terms,
              vt.event_type
        INTO  v_sec_currency_code,
              v_terms,
              v_event_type,
              CASE vt.event_type
              WHEN 'SPEC_DIV' THEN
                   substr(regexp_substr(vt.terms,'Special [[:upper:]]{3} [[:digit:]]{1}.[[:digit:]]*',1),9,3)
                 ELSE NULL
              END v_spec_div_prov_currency,
              CASE vt.event_type
                 WHEN 'SPEC_DIV' THEN
                   substr(regexp_substr(vt.terms,'Special [[:upper:]]{3} [[:digit:]]{1}.[[:digit:]]*',1),13)
                  ELSE NULL
               END v_spec_div_in_prov_amount 
          FROM VALUATION_TEMP vt
         WHERE vt.termsdate = vt.evaluation_date
           AND vt.STATUS = 'OK' ;        
          --
 
END IF; 
END;
Toutes mes variables v_sec_currency_code, v_terms, v_event_type, v_spec_div_prov_currency , v_spec_div_in_prov_amount sont bien déclarées.

Pourriez-vous SVP m’aider à la corriger ?

Grand merci !
Djene