Bonjour tout le monde,
j'ai tenté de convertir un script déjà écrit sous DB2 (sous AS400), il est tout simple mais apparement j'ai un problème dans la déclaration de variables. mon script est comme suit :

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
CREATE FUNCTION ZK_UTIL.GETNBRSTR ( PARD DECIMAL(11, 0) ) 
RETURNS VARCHAR(500) BEGIN 
DECLARE UTLZTN VARCHAR ( 500 ) CCSID 297 ; 
DECLARE VALSUPML , VALMILLE , VALCENT INTEGER ; 
DECLARE VALEUR DECIMAL ( 30 ) ; 
DECLARE VAL10 , VALUNITE INTEGER ; 
SET UTLZTN = '' ; 
SET VALEUR = PARD ; 
--Nous allons convertir les chifres entre 1 000 000 et 999 999 999 
IF VALEUR >= 1000000 THEN 
SET VALSUPML = DECIMAL ( VALEUR / 1000000 ) ; 
IF VALSUPML > 1 THEN 
SET UTLZTN = CONCAT ( CONCAT ( UTLZTN , ZK_UTIL . GETNSTR100 ( VALSUPML ) ) , ' million ' ) ; 
ELSE 
SET UTLZTN = CONCAT ( CONCAT ( UTLZTN , ZK_UTIL . GETNSTR100 ( VALSUPML ) ) , ' million ' ) ; 
END IF ; 
SET VALEUR = VALEUR - ( VALSUPML * 1000000 ) ; 
END IF ; 
--Nous allons convertir les chiffres entre 1000 et 999 999 
IF VALEUR >= 1000 THEN 
SET VALMILLE = DECIMAL ( VALEUR / 1000 ) ; 
IF VALMILLE > 1 THEN 
SET UTLZTN = CONCAT ( CONCAT ( UTLZTN , ZK_UTIL . GETNSTR100 ( VALMILLE ) ) , ' mille ' ) ; 
ELSE 
SET UTLZTN = CONCAT ( UTLZTN , ' mille ' ) ; 
END IF ; 
SET VALEUR = VALEUR - ( VALMILLE * 1000 ) ; 
END IF ; 
SET UTLZTN = CONCAT ( UTLZTN , ZK_UTIL . GETNSTR100 ( VALEUR ) ) ; 
RETURN UTLZTN ; 
END ;
Help please