Bonjour, j'ai un soucis (sinon je ne serais pas là... )
1/ J'ai écrit un "ptit" RPG sous forme de procédure (test validité de date en entrée (8 0) et renvoi de celle-ci en *ISO. Nom du machin DAT8_CHAR10.
2/ CRTRPGMOD de la procedure en question.
3/ CRTSRVPGM SRVPGM(DT_SQL) MODULE(DT8_CHAR10) EXPORT(*ALL).
Ensuite,
Je créé par SQL une fonction :
CREATE FUNCTION MaBib/DT8_CHAR10 (DEC(8 , 0) )
RETURNS CHAR(10)
EXTERNAL NAME 'MaBib/DT_SQL(DT8_CHAR10)
PARAMETER STYLE GENERAL
RETURNS NULL ON NULL INPUT
toujours sur une ligne SQL, je joue avec cette fonction, elle marche parfaitement. (Je suis alors dans "l'environnement" du STRSQL).
On complique :
J'ai un programme SQLRPGLE dans lequel en SQL je fait des INSERT, UPDATE, bref tout le bataclan "SQLesque".
Si j'utilise cette fonction, rien ne marche....
Le programme est compilé en classique *PGM (pas de *MOD SVRPGM et autres).
Faut-il que bien qu'étant une fonction SQL, le DT8_CHAR10 soit relié à mon prog prinçipal via création du prog prinçipal en module puis CRTPGM d'un appellant ?
Partager