Hallo,

ich habe ein PGM mit einer SubProcedure welche mir einen Pointer auf ein Array zurückgibt. Allerdings scheint der Speicherbereich des Arrays in der SubProcedure zerstört zu werden...

Hier ein bißchen Code

Code:
d ArtikelArray    s             10A   dim(999)  based(pArtikelArray)             
d pArtikelArray   S               *                                              
 *                                                                               
d getArtikel      PR              *                                              
d  Mat                           10A   value                                      
 *                                                                               
C                   eval      pArtikelArray  = getArtikel('MATERIAL')             
 *                                                                               
C                   EVAL      *inlr = *ON      
 **************************************************************************      
P getArtikel      B                   export                                     
 *                                                                               
D getArtikel      PI              *                                              
D  Einsatz                      10A   value                                      
 *                                                                               
d arrEins         S             10A   dim(999)                                   
d ax              S              3S 0 inz(0)                   
 *                                                             
d arrArtikel      S             10A   dim(999) inz(*HIVAL)     
 *                                                             
d bx              S              3S 0 inz(0)                   
d parrArtikel     S               *                            
d i               S              3S 0 inz(0)                   
 *                                                             
  .... arbeiten
C                   EVAL      parrArtikel =%ADDR(arrArtikel)       
 *                                                                 
C                   return    parrArtikel                          
 *                                                                 
P getArtikel      E
Beim return in der SubProcedure ist das Array arrArtikel sauber gefüllt. Beim *INLR in der Mainline ist das Array ArrayArtikel in einigen Elementen nicht mehr in Ordnung? Es stehen seltsame Sonderzeichen drin.

Wo ist der Fehler?

Danke an allen Helfenden!