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!
Bookmarks