Wir arbeiten mit Stored Procedures, die wir über den JT400-JDBC-Treiber aufrufen, Jetzt, auf V5R4 kommen einige StoProcs mit "High-order nibble of the byte at array offset 722 is not valid." zurück. Wir haben das Problem etwas isoliert, der Fehler kommt aus den Result-Sets. Ist aber für mich nicht nachvollziehbar.

Die StoProc ist banal:

CREATE PROCEDURE TESTPGM/STOTEST
(IN HDNR NUMERIC(6, 0),
IN FILIAL NUMERIC(4, 0))
RESULT SETS 1
LANGUAGE RPGLE
SPECIFIC TESTPGM/STOTEST
NOT DETERMINISTIC
CALLED ON NULL INPUT
EXTERNAL NAME 'TESTPGM/EXETEST'
PARAMETER STYLE GENERAL;
COMMENT ON SPECIFIC PROCEDURE TESTPGM/STOTEST
IS 'Testen StoProcs V5R4'


Das Programm auch:

FONT="Fixedsys"]HDEBUG(*INPUT : *DUMP : *XMLSAX) DFTACTGRP(*NO) ACTGRP(*CALLER)
FHDSTAM IF E K DISK
DXHDSTAM E DS occurs(1)
DXHDNR S 6S 0
DXFILIAL S 4S 0
C *ENTRY plist
C parm XHDNR
C parm XFILIAL
C*
C key_hd klist
C kfld XHDNR
C kfld XFILIAL
C key_hd chain HDSTAMF
C if %found
C 1 occur XHDSTAM
C/exec sql
C+ set result sets array :XHDSTAM for 1 rows
C/end-exec
C else
C/exec sql
C+ set result sets none
C/end-exec
C end
C DUMP(A)
C RETURN
C SETON LR [/FONT]

Je nachdem, ob ich jetzt in meiner Datenstruktur (LF) ein Feld mehr oder weniger habe, kommt der Fehler oder nicht. Das nächste Feld geht aber wieder usw.

???????

Gruß

Peter