J'ai tenté la création d'une fonction qui retourne une table, pour pouvoir l'utiliser dans un SELECT avec un JOIN. Ca marche super bien sauf que même en essayant d'utiliser l'option FINAL CALL ou pas, je ne reviens jamais une dernière fois dans mon programme avec un call_type à 2 me permettant de réaliser mon SETON LR pour terminer mon programme.
En effet, je rentre dans mon programme avec un call_type à 0 autant de fois que j'ai de ligne et lorsque je mets mon SQLSTATE = "02000", je ne devrais pas revenir (si je n'ai pas de FINAL CALL), eh bien je reviens quand même, et avec un call_type à 0 !!!
Ci-joint mon extrait de code :
Code : Tout sélectionner
....
....
c if call_type < 0
....
....
C eval SQLSTATE = '00000'
C return
c endif
....
....
c if call_type = 0
....
....
c movel EVT_COCEIA COCEIA
c movel EVT_RAIARE RAIARE
c movel EVT_IDAGIA IDAGIA
c movel EVT_xxx xxx
C
C add 1 i
C return
C else
c eval SQLSTATE = '02000'
C return
c end
C end
*---------------------------------------------------------------------
* Fin de programme
C seton LR
J'ai tenté de faire mon SETON LR juste après mon SQLSTATE mais l'appel de ma fonction SQL plante (car ce n'est surement pas comme cela qu'il faut faire).
Si quelqu'un a une idée, je suis preneur.
Merci d'avance !