Was versuchst du mir damit zu zeigen ?
Was erreichst du damit, die Datei zu öffnen ?

Mit C-Routinen kannst du eine DSPF natürlich auch verarbeiten, dies hilft jedoch immer noch nicht dem übergeordneten Programm, wenn du keine defiierte Übergabestruktur zwischen den Programmen hast.

Eine Datei (egal wieviele Formate bei DSPF/PRTF) hat intern nur genau einen einzigen Puffer, der je nach gewünschtem Format aufzubauen ist.
Dies leistet RPG automatisch durch den Compiler, da ja (wie gesagt) die Adressen der Variablen im RPG-Programm überhaupt nichts mit der tatsächlichen Pufferposition zu tun haben.

Hinzukommt ja noch, dass bei einer DSPF der Ausgabepuffer eines Satzformates anders aufgebaut ist, als der Eingabepuffer !
Enthält ein Format O-Felder (also reine Ausgabe) so sind diese zwar im Ausgabe- jedoch nicht im Eingabeformat enthalten.

Kodierst du ein WRITE FMT wird durch den Compiler halt der benötigte Code generiert um die Daten zusammenzubauen, kodierst du ein READ FMT, werden die Daten wieder zerpflückt.
Kodierst du ein EXFMT wird der intern in WRITE und READ aufgelöst.

Fazit:
Die Speicheradressen deiner Variablen im Programm haben überhaupt nichts mit der Pufferposition der geöffneten Datei zu tun!