XMan
20-08-13, 14:21
Hallo Gemeinde,
habe folgendes Problem:
Ich möchte gerne ein Programm mit 3 Parametern aufrufen (1000A, 5,0, 1A).
Der erste Parameter kann vom aufrufenden Programm kürzer übergeben werden (z.B. nur 50 Stellen).
Nun habe ich versucht mit Hilfe des API´s CEEDOD mir die Länge ermitteln zu lassen.
Leider geht das nicht weil ich hier imme den Fehler "Fehlender Operationsdeskriptor" bekomme.
Definiert habe ich das ganze wie folgt:
Programm:
d MD0910 PR extpgm('MD0910')
d pi_Text 1000A const options(*varsize)
d pi_TextLen 5 0 const
d po_RtnCode 1A
d MD0910 PI opdesc
d pi_Text 1000a const options(*varsize)
d pi_TextLen 5 0 const
d po_RtnCode 1a
CEEDOD:
DCEEDOD pr
D PosNbr 10i 0 Const
D DescTyp 10i 0
D DataTyp 10i 0
D DescInf1 10i 0
D DescInf2 10i 0
D DataLen 10i 0
D FeedBck 12a Options(*Omit)
// API CEEDOD
d eDescTyp s 10i 0 inz
d eDataTyp s 10i 0 inz
d eDescInf1 s 10i 0 inz
d eDescInf2 s 10i 0 inz
d eDataLen s 10i 0 inz
Aufruf dann in FREE
CEEDOD(1:eDescTyp:eDataTyp: eDescInf1:eDescInf2:eDataLen:*Omit);
Lt. IBM kann man bei Angabe von EXTPGM('MD0910') kein OPDESC angeben.
Wie kann ich hier das lösen?
Bzw. was ist hier falsch?
Danke!
habe folgendes Problem:
Ich möchte gerne ein Programm mit 3 Parametern aufrufen (1000A, 5,0, 1A).
Der erste Parameter kann vom aufrufenden Programm kürzer übergeben werden (z.B. nur 50 Stellen).
Nun habe ich versucht mit Hilfe des API´s CEEDOD mir die Länge ermitteln zu lassen.
Leider geht das nicht weil ich hier imme den Fehler "Fehlender Operationsdeskriptor" bekomme.
Definiert habe ich das ganze wie folgt:
Programm:
d MD0910 PR extpgm('MD0910')
d pi_Text 1000A const options(*varsize)
d pi_TextLen 5 0 const
d po_RtnCode 1A
d MD0910 PI opdesc
d pi_Text 1000a const options(*varsize)
d pi_TextLen 5 0 const
d po_RtnCode 1a
CEEDOD:
DCEEDOD pr
D PosNbr 10i 0 Const
D DescTyp 10i 0
D DataTyp 10i 0
D DescInf1 10i 0
D DescInf2 10i 0
D DataLen 10i 0
D FeedBck 12a Options(*Omit)
// API CEEDOD
d eDescTyp s 10i 0 inz
d eDataTyp s 10i 0 inz
d eDescInf1 s 10i 0 inz
d eDescInf2 s 10i 0 inz
d eDataLen s 10i 0 inz
Aufruf dann in FREE
CEEDOD(1:eDescTyp:eDataTyp: eDescInf1:eDescInf2:eDataLen:*Omit);
Lt. IBM kann man bei Angabe von EXTPGM('MD0910') kein OPDESC angeben.
Wie kann ich hier das lösen?
Bzw. was ist hier falsch?
Danke!