Page 1 sur 1

[Résolu]Pb avec passage de paramètres entre CL et RPGLE

Posté : mar. 24 janv. 2023, 16:14:13
par BrigitteG
Bonjour,

Depuis une procédure stockée j'appelle un CL qui va soumettre un rpgle.

Paramètre de la procédure stockée
Parm1 char(4) 'S999'
Parm2 char(50) 'Racial'
Parm3 char(50) 'mail@ok.fr'
Parm4 char(20000) 'select * from'
Parm5 char(500) ' '

Paramètre CL
Parm1 char(4)
Parm2 char(50)
Parm3 char(50)
Parm4 char(20000)
Parm5 char(500)

Le passage des données de la procédure stockée au CL se passe bien.

Le cl appel le rpgle avec la cmd SBMJOB

SBMJOB CMD(CALL PGM(EXECRSBM) PARM(&parm1 &parm2 +
&parm3 &parm4)) JOB(EXECSBM) LOG(*JOBD +
*JOBD *SECLVL) LOGCLPGM(*YES)

Paramètre RPGLE
DCL-PI *N;
Parm1 CHAR(4);
Parm2 CHAR(50);
Parm3 CHAR(50);
Parm4 CHAR(20000);
End-Pi;

Les valeurs dans les paramètres

Parm1 S999
Parm2 Racial mail@ok.fr
Parm3 mail@ok.fr select * from…
Parm4 select * from… Racial mail…

Les paramètres ont bien la même longueur mais contiennent des parties des autres paramètres et je ne comprends pas pourquoi.

Avez-vous déjà rencontré ce problème et comment le solutionner ?

Merci pour votre aide

Re: Pb avec passage de paramètres entre CL et RPGLE

Posté : mar. 24 janv. 2023, 18:45:36
par aapra
Hello,

"Le passage des données de la procédure stockée au CL se passe bien." => C'est sûr à 100 % ?
J'obtiens le même résultat en appelant le CL avec les valeurs en dur. :?

Re: Pb avec passage de paramètres entre CL et RPGLE

Posté : mer. 25 janv. 2023, 07:48:37
par BrigitteG
Bonjour Aapra,
Oui c'est sur à 100%.
Si j'appelle le pgm rpgle en direct call pgm(RPGLE) parm('S999' 'Racial' 'mail@ok.fr' 'select * from...') j'ai le même problème.
Ce problème est apparu avec une version mais je ne sais plus laquelle. (Nous sommes en V7r4)
Je vois bien une solution en passant par des variables intermédiaire qui seront chargées par du blanc.
Mais je me demande s'il n'y a pas une meilleurs solution.

Re: Pb avec passage de paramètres entre CL et RPGLE

Posté : mer. 01 févr. 2023, 11:49:07
par BrigitteG
Après installation des dernières ptf de la v7r4

La solution est de mettre dans la call la longueur de chaque paramètre.

Re: [Résolu]Pb avec passage de paramètres entre CL et RPGLE

Posté : mar. 28 févr. 2023, 06:31:10
par Marotti
Bonjour,

Il est effectivement important de spécifier la longueur de chaque paramètre dans une procédure lors de l'appel de celle-ci. Cela permet de s'assurer que les données envoyées à la procédure sont correctement interprétées. Sans la spécification de la longueur des paramètres, la procédure risque de recevoir des données tronquées ou mal formatées, ce qui peut causer des erreurs de traitement.

Optimisation des performances d'un programme RPGLE.

Posté : mer. 14 févr. 2024, 22:48:03
par Georgesnott
Je suis confronté à des problèmes de performances dans mon programme RPGLE et je souhaite l'optimiser. Quelles sont les meilleures pratiques et techniques que je peux utiliser pour améliorer les performances de mon programme ? J'aimerais également savoir s'il existe des outils ou des méthodes spécifiques pour mesurer et analyser les performances d'un programme RPGLE. Merci d'avance pour vos conseils et suggestions.