Bei der Übergabe von Strukturen (DS) ist das mit dem PI etwas komplizierter, die einfachere Version ist dann wieder *ENTRY (nur geht das leider bei Prozeduren wieder nicht).

Meine Lösung lautet dann:

d MyProg PI
d MyDs 1

d MyDsPtr s *
d MyOrigDs ds based(MyDsPtr)
d Field1 ....

c/free
MyDsPtr = %adr(Myds)
/end-free

Oder hast du eine bessere Lösung Birgitta ?