Anmelden

View Full Version : Parameterübergabe zwischen RPG-Programmen



Norbi
30-05-08, 08:52
Hallo,

ich habe folgendes Problem bei dem ich Hilfe benötige. Innerhalb eines RPG-Programmes wird mit SBMJOB ein weiteres RPG-Programm aufgerufen. Der erste Parameter ist vomTyp Integer, der zweite und dritte Parameter sind vom Typ Character. Die Aufbereitung der CHAR-Felder ist unproblematisch. Aber wie muß das Integer-Feld im CMD-String übergeben werden? So wie ich es versucht habe funktioniert es nicht.

// Parameter
D sidneu s 9B 0 Inz(*zeros)
d mand s 2 Inz(*blanks)
D umgeb s 4 Inz(*blanks)
D hk C x'7D'

cmd = 'SBMJOB CMD(CALLP PGM(XXX) '
+ 'PARM('
+ sidneu
+ hk + mand + hk + ''
+ hk + umgeb + hk
+ ')) '

Gruß
Norbi

Fuerchau
30-05-08, 10:09
Das geht per CALL so gar nicht, da der CALL automatisch nur 3 Formate unterstützt:
15p 5 <= Gepackt 15,5
32 <= wenn Text kürzer
NNN <= genauso, wie angegeben

9B 0 muss als Hex-Format übergeben werden: x'00000000', wobei die Nullen in den korrekten Hexwert umgerechnet werden muss.
x'00000100' entspricht z.B. 256 !

Sicherer ist dann die Erstellung eines CMD's, dass die Parameter korrekt umsetzt.

Anmerkung:
CALLP geht nicht bei SBMJOB, sondern nur CALL.

Pikachu
30-05-08, 10:21
Hier gibt's eine Beschreibung von IBM zur Übergabe von Parametern beim Befehl CALL (http://publib.boulder.ibm.com/infocenter/iadthelp/v7r0/topic/com.ibm.etools.iseries.pgmgd.doc/evfclmst80.htm), direkt oder in Verbindung mit einem SBMJOB.