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                                            LRJ'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 !