PDA

View Full Version : RTVDTAARA aus RPGLE-Programm herraus



Kaufmann
14-09-07, 10:16
Ich folgendes Problem.
Aus einem RPGLE-Programm will ich eine DTAARA lesen und darin wieder etwas speichern. Möchte aber den Umweg über ein CL-Programm nicht gehen.

Gibt es hierfür eine Möglichkeit??

Fuerchau
14-09-07, 10:21
Dafür gibts *NAMVAR und die Befehle IN sowie OUT.

D MyDtaAra DS
D MyInhalt 100

C *NAMVAR DEFN MyDtaAra EXTNAM

C IN MyDtaAra
C :
C :
C OUT MyDtaAra

ggf. können noch LOCK und UNLOCK verwendet werden, wobei IN automatisch sperrt und OUT eben entsperrt.

Kaufmann
14-09-07, 10:55
Vielleicht stelle ich mich etwas an, aber wenn ich C *NAMVAR DEFN MyDtaAra EXTNAM in mein Programm kopiere dann bekomme ich diese Fehlermeldung

Nachrichten-ID . . . . : RNF5001 Bewertung . . . . . . : 20
Nachrichtenart . . . . : Diagnose

Nachricht . . . : Eintrag für die Gruppenstufe ist ungültig; standardmäßig
wird die vorherige Gruppenstufe angenommen.
Ursache . . . . : Der Eintrag für die Gruppenstufe (Stelle 7-8) ist nicht
L0-L9, LR, SR, AN, OR oder leer. SR kann nur in einer Unterroutine angegeben
werden.
Fehlerbeseitigung: Den Eintrag für die Gruppenstufe (Stelle 7-8) korrigieren.
Wiederholen Sie die Umwandlung.

Vielleicht setze ich nicht alles an die richigen Stellen.

Gibt es für das Ganze eine Free-Version?

Wenn wir Programme einbinden dann wird das bei uns folgendermasen gemacht:

D pgmProgNam PR EXTPGM('ProgNam')
D pParm1 1A
D pParm2 6A
D pParm3 7A
.....

Kann man eine DTAARA nicht ähnlich einbinden?

Fuerchau
14-09-07, 11:08
Auf die Spalten musst du natürlich achten !

Alternativ:

D MyDtaAra DS DTAARA(EXTNAME)

Die IN/OUT-Befehle bleiben jedoch.

In den C-Bestimmungen gibts auch eine neue Syntax:
C *DTAARA DEFINE MyDtaAra EXTNAME

Spalten beachten !

Kaufmann
14-09-07, 12:28
Danke für die schnelle Hilfe.
Funktoniert super