Fonction de type Table, impossible de faire le SETON LR

RPG (3 et 4, free), CL, SQL, etc...
Répondre
loic
Messages : 2
Enregistré le : lun. 19 nov. 2012, 12:12:05
Contact :

Fonction de type Table, impossible de faire le SETON LR

Message par loic »

Bonjour,

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 !

EL MANSSOURI
Messages : 13
Enregistré le : jeu. 03 déc. 2009, 17:13:03

(sans texte)

Message par EL MANSSOURI »

Vu les conditions IF..ELSE de votre code, même un call_type à 2 ne permet pas de passer par SETON LR

loic
Messages : 2
Enregistré le : lun. 19 nov. 2012, 12:12:05
Contact :

(sans texte)

Message par loic »

Je pense que si justement :D , car le call_type n'étant ni "< 0" ni "= 0", le programme ira jusqu'à la fin et croisera le SETON LR.

Le problème est surtout que mon programme ne se réouvre jamais avec un call_type à 2 et que même en faisant un SQLSTATE à 02000, l'appel suivant se fait avec un call_type à 0 !!

C'est vraiment bizarre :?

Répondre