Hallo nochmal,

also mit den API's hat es bisher gut geklappt, zumal es ja auch super Musterroutinen der IBM gibt. Ich habe für das Holen der Spooldateiinformationen das API QUSLSPL verwendet. Es läuft auf der AS/400 super nur leider unter VARPG leider nicht. Hier bricht das Programm ab und ich bekomme in der Log-File FVDCERR.LOG folgenden Eintrag:
DRU01V2.EXE Mon Jun 7 08:57:53 2010 ** Error logging begins **
DRU01V2.EXE Mon Jun 7 08:57:53 2010 Environment variable not found
DRU01V2.EXE Mon Jun 7 08:57:55 2010 CPF3C18 Zeigerparameter nicht auf einer 16-Byte-Grenze.

Es scheint Problem mit einem Pointer zu geben. Diese sind in den D-Bestimmungen zu finden
DLSTPTR S *
DLSTPTR2 S *
DSPCPTR S *
Einer der Pointer wird als Parameter bei einem CALL mitgegeben.
C*
C* Get a resolved pointer to the User Space for performance
C*
C CALL 'QUSPTRUS'
C PARM SPC_NAME
C PARM SPCPTR
C PARM QUSEC
C*
Mir ist aufgefallen, das der Pointer in der Umwandlungsliste des ILE eine Größe von 16 hat und in der Umwandlungsliste des VARPG nur eine Größe von 4 hat.
Wie bekomme ich dieses Problem in den Griff?