Zitat Zitat von camouflage Beitrag anzeigen
Hallo Baldur,

klar, blöd ist nur, dass der dcl-pi praktisch nochmals eine Deklaration bewirkt. Heisst, ich kann mich nicht direkt auf die dcl-ds referenzieren. Noch mehr Spass macht's, wenn die Struktur noch extern referenziert ist. :-)

Aber passt schon...
Wir deklarieren Strukturen als template. Dann belegen sie keinen Speicherplatz und man kann im Programm beliebig oft eine Instanz mit likeds erzeugen:

Z.B.:
Code:
dcl-ds testDS_templ qualified template;
    text varchar(1000);
    netto packed(15:2);
    brutto packed(15:2);
end-ds;

dcl-s testDS likeds(testDS_templ);

oder

dcl-pi *n;
   inputDS likeDS(testDS_templ);
end-pi;
Die neue dcl-pi - Anweisung ist eine tolle Sache. Jetzt sieht man jedem Parameter direkt an, welchen Datentyp er hat. Bei den alten Parm-Anweisungen konnte man z.B. ein Datumsfeld oder ein Boolean nicht erkennen. Dazu musste man immer erst zu deN D-Anweisungen blättern.

Dieter