Procédure stockée, integer tronqué
Posté : mar. 16 août 2022, 11:39:47
Bonjour,
Nous venons de passer notre serveur en V7R4, et je tombe sur un souci.
Certains scripts PHP font appel à des procédures stockées écrites en RPGLE.
L'une d'elle en particulier, est chargée de traiter des données à partir d'un n° d'enregistrement transmis par le script PHP.
Normalement pas de soucis, la procédure stockée n'a qu'un paramètre en E/S, une variable INTEGER contenant le n° d'enregistrement.
Çà a toujours parfaitement fonctionné, mais depuis le passage en V7R4 (PHP 7.3.33), le programme RPGLE appelé se retrouve à traiter les mauvais enregistrements, ce qui devient fâcheux.
Au debug du PHP la variable contient le bon n°.
Mais dans le RPGLE appelé, le dernier chiffre est perdu. Si on demande l'enregistrement 22852 on obtient la valeur 2285 dans le RPGLE. Si on demande le 17451 on obtient le 1745.
J'ai bien entendu tout revérifier, j'ai modifié le RPGLE pour utiliser une variable en 9B 0 au lieu du 10i 0 habituel au cas où. Sans changement.
Quelqu'un aurait une idée ? Je tourne en rond et je deviens dingue.
Merci.
Nous venons de passer notre serveur en V7R4, et je tombe sur un souci.
Certains scripts PHP font appel à des procédures stockées écrites en RPGLE.
L'une d'elle en particulier, est chargée de traiter des données à partir d'un n° d'enregistrement transmis par le script PHP.
Normalement pas de soucis, la procédure stockée n'a qu'un paramètre en E/S, une variable INTEGER contenant le n° d'enregistrement.
Çà a toujours parfaitement fonctionné, mais depuis le passage en V7R4 (PHP 7.3.33), le programme RPGLE appelé se retrouve à traiter les mauvais enregistrements, ce qui devient fâcheux.
Au debug du PHP la variable contient le bon n°.
Mais dans le RPGLE appelé, le dernier chiffre est perdu. Si on demande l'enregistrement 22852 on obtient la valeur 2285 dans le RPGLE. Si on demande le 17451 on obtient le 1745.
J'ai bien entendu tout revérifier, j'ai modifié le RPGLE pour utiliser une variable en 9B 0 au lieu du 10i 0 habituel au cas où. Sans changement.
Quelqu'un aurait une idée ? Je tourne en rond et je deviens dingue.
Merci.