In RPG wird das Service-Programm folgendermassen aufgerufen:

Code:
SPE01N01(RC:SRDNR:SRNR)
RC=Rückcode (0 wenn alles OK is, 1 Fehler)
SRDNR und SRNR sind gepackte Zahlen

Code:
AS400Bin4 bin4Converter = new AS400Bin4();

        
        ProgramParameter[] parameterList=new ProgramParameter[3];
        parameterList[0]=new ProgramParameter(bin4Converter.toBytes(0));
        parameterList[1]=new ProgramParameter(bin4Converter.toBytes(400));
        parameterList[2]=new ProgramParameter(bin4Converter.toBytes(10002575));
        AS400 system=new AS400("xxx");
        system.setUserId("xxx");
        system.setPassword("xxx");
        ServiceProgramCall sPGMCall=new ServiceProgramCall(system, "/QSYS.LIB/BASOBJSTD.LIB/SPE01S.SRVPGM", parameterList);
        sPGMCall.setProcedureName("SPE01N01");
            
        
            if (sPGMCall.run() != true){
                AS400Message[] messageList = sPGMCall.getMessageList();
                for (int i = 0; i < messageList.length; ++i){    
                    System.out.println(messageList[i].getText());
                }
            }
Was ich noch nicht ganz verstehe ist folg:
Code:
sPGMCall.setReturnValueFormat(ServiceProgramCall.RETURN_INTEGER);
Es gibt nur Integer und void. Wie ist es wenn ich eine Zeichenkette, einen Datumswert oder eine Dezimalzahl zurückbekomemn soll??

LG
Vicky