Bonjour,

j'ai une fonction existe licence que voici:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
create or replace FUNCTION EXIST_LICENSE 
(  MyLISENSE IN VARCHAR2 ) 
  RETURN NUMBER IS
 
      v_count NUMBER(1);
 
 
BEGIN
    SELECT COUNT(1)INTO v_count FROM CA2IENABLEDLICENSES WHERE CA2IBUNDLEID=MYLISENSE ;
 
		return	(v_count);
 
END EXIST_LICENSE;
Ensuite j'utilise cette fonction comme condition pour la compilation d'une sequence dans ma procedure tel que ci dessous:

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
28
29
30
31
32
33
34
CREATE OR REPLACE PROCEDURE MONTEST IS
 
  CURSOR courant IS
    SELECT ID,
          CHAMPS1,
          $IF EXIST_LICENSE('com.ca2i.app.bol')=1
          $THEN CHAMPS_OPT ;
          $END
          FROM TEST;
 
BEGIN
 
  FOR i in courant LOOP
 
        INSERT INTO TEST_COPIE (
                                    ID,
                                    CHAMPS1,
                                    CHAMPS_OPT                                    
               )
 
        VALUES(
                        i.ID,
                        i.CHAMPS1,
                        i.CHAMPS_OPT                        
 
 
              ); 
  END LOOP;
 
 
 
 
 
END MONTEST;
Je reçoit une erreur : Erreur(6,15): PLS-00174: vous devez utiliser une expression booléenne statique
Es-ce que quelqu'un a une idée d'où viens le problème?
Merci