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!