Appel d'un programme de service dans une procédure stockée
Posté : ven. 16 oct. 2009, 09:27:54
Bonjour à tous,
Savez vous s'il est possible d'appeler un programme de service dans une procédure stockée en V5R4?
J'ai un programme de service nommé RtvDtaAra faisant réference à une fonction portant le même nom.
l'appel dans la procédure est fait sous cette forme :
j'ai une erreur à l'execution :
Ludovic Braconnier
Savez vous s'il est possible d'appeler un programme de service dans une procédure stockée en V5R4?
J'ai un programme de service nommé RtvDtaAra faisant réference à une fonction portant le même nom.
l'appel dans la procédure est fait sous cette forme :
Code : Tout sélectionner
CREATE PROCEDURE CDP543SQ
(
INOUT CDRETOU CHAR(1),
INOUT CDNIVGR CHAR(2),
INOUT PANNEOP DEC(4),
INOUT PCDTYPO CHAR(2),
INOUT DTTRAIT CHAR(10)
)
LANGUAGE SQL
NOT DETERMINISTIC
DYNAMIC RESULT SETS 1
READS SQL DATA
BEGIN
DECLARE ERREUR CHAR(7);
(...)
SET CDRETOU = '0';
SET CDNIVGR = '00';
SET ERREUR = RtvDtaAra(DTTRAIT,'CD3456BD');
-- Si pas d'annee passee en parametre (PANNEOP = 0)
IF PANNEOP = 0 THEN
OPEN C1;
SET RESULT SETS CURSOR C1;
-- Sinon
ELSE
OPEN C2;
SET RESULT SETS CURSOR C2;
END IF;
END;
Merci, pour vos éventuelles pistes.ID message . . . . . . : SQL0204 Gravité . . . . . . . : 30
Type de message . . . : Diagnostic
Date d'envoi . . . . . : 16/10/09 Heure d'envoi . . . . : 10:22:56
Message . . . . : RTVDTAARA de type *N dans *LIBL non trouvé.
Cause . . . . . : RTVDTAARA de type *N dans *LIBL n'a pas été trouvé. Si
*ALL est le nom du membre, la table n'est pas partitionnée. S'il s'agit
d'une instruction ALTER TABLE et que le type est *N, aucune contrainte ou
aucune partition n'a été trouvée. S'il ne s'agit pas d'une instruction ALTER
TABLE et que le type est *N, une fonction, une procédure, un déclencheur ou
un objet séquence est introuvable.
Si aucune fonction n'a été trouvée, RTVDTAARA est le programme de service
contenant la fonction. La fonction ne sera pas trouvée, à moins que le nom
externe et le nom d'usage ne correspondent exactement. Recherchez dans
l'historique du travail un message donnant plus de détails sur la fonction
recherchée et le nom qui ne correspondait pas.
Ludovic Braconnier