Hallo,
ich glaube ich habe da jetzt für Verwirrunbg gesorgt , also ich wollte natürlich nicht "F04" senden . Der Benutzer drückt die "F04" dann wird das bedienerführungsPGM gestartet und dieses PGM sendet dann , nachdem der Benutzer den entsprechenden Wert ausgewählt hat zB ein "J" und da wo der Cursor steht wird dann "J" (das ist dann genau das Feld für das die BedFührung angefordert wurde) eingefügt.

Das Beispiel mit dem fremden Programm hatte nichts mit "F04" zu tuen. Da habe ich einfach ein vorhandenes Programm gestartet und dann mit SendKeys die eingaben "simuliert", von VBA aus.

Aber egal mein jetzt Stand ist folgender:

Habe eine ds als Input und eine als Output (so wie du beschrieben hast) angelegt. Das mit dem Qualifizierten namen (MeineDatei.MeinSatzformat) ging bei uns nicht.

Dann nach dem EXFMT ein Chain ( RCDNBR Chain SFL1 DS_INPUT)

dann mit eval DS_OUTPUT = DS_INPUT (eval-corr ging auch nicht) die output ds gefüllt per %subst die entsprechende stelle geändert .

Als abschluss UPDATE SFL1 DS_OUTPUT.

so hat es funktioniert

Nun habe ich noch 2 Fragen
1.Das was bei uns nich funktioniert hat , kann das am Betriebssystem liegen?
2.Beim ersten Versuch war meine input und output DS unterschiedlich in der input DS waren nur die als eingabe oder Both in der DSPF definierten Felder in der Output waren alle. Deshalb hatte ich beim UPDATE bzw beim darauffolgenden EXFMT immer ungültige Daten.
Nun habe ich alle Felder in der DSPF als Both definiert und mittels DSPATR(PR) gesperrt (manche) normaöerweise ist das bei uns gemischt manche sind von anfang an nur als ausgabe definiert ander per Programm und PR.
Muss man das so machen oder habe ich etwas anderes falsch gemacht.?

Aber bis jetzt bin ich zufrieden , danke nochmals.


Viele Grüße
Volker.