Anmelden

View Full Version : [gelöst] DtaAra im DSPF ?



FNeurieser
11-04-12, 13:15
Hallo und guten Tag allerseits,

ich hab da mal eine Frage an die werte Community. Vielleicht gibt es ja jemanden der mir hier weiterhelfen kann:

In einem DSPF habe ich 20 1-stellige Felder die B1FLD01 bis B1FLD20 lauten.

Im RPG-Programm soll nun aus einer Dtaara ein 20 stellen langer String als Array mit 1 Stelle ausgelesen werden und jedes Element in das entsprechende Feld im DSPF gestellt werden.

Die Dtaara lautet wie folgt:



DRI_BAUMLDT DS DtaAra
D D0PRGR 1A Dim(20)
D D0STKL 2A Dim(15)
D D0SORT 1A
D D0LAGB 1A
D D0FREI 203A


Dazu habe ich dann eine DS gebildet:



D B1PRGR DS
D B1PRGR01 1A
D B1PRGR02 1A
D B1PRGR03 1A
D B1PRGR04 1A
D B1PRGR05 1A
D B1PRGR06 1A
D B1PRGR07 1A
D B1PRGR08 1A
D B1PRGR09 1A
D B1PRGR10 1A
D B1PRGR11 1A
D B1PRGR12 1A
D B1PRGR13 1A
D B1PRGR14 1A
D B1PRGR15 1A
D B1PRGR16 1A
D B1PRGR17 1A
D B1PRGR18 1A
D B1PRGR19 1A
D B1PRGR20 1A


und eine Table:



D B1PRGRD 1A Dim(20)


Wie man sich als kleiner Wutzi so denkt habe ich nun folgendes versucht:



C *Lock In RI_BAUMLDT
C Out RI_BAUMLDT
*
C 1 Do 20 X#
C Move D0PRGR(X#) B1PRGRD(X#)
C EndDo
C Eval B1PRGR = B1PRGRD


Nun bekomme ich aber beim umwandeln die folgende Fehlermeldung:


46 D B1PRGRD 1A Dim(20)
======> aa
*RNF3703 20 a 004600 Unterfeld- oder Parameterdefinition nicht in einer Gruppe
angegeben.


und für das Statement



C Eval B1PRGR = B1PRGRD

Feldgruppe hat zu viele übergangene Indizes; die Bestimmung
wird ignoriert.


Kann mir bitte hier jemand weiterhelfen? Bin für jede Unterstützung dankbar.

cbe
11-04-12, 13:42
Hallo FNeurieser

vielleicht hilft statt dem eval ein movea ?
So in etwa:

C movea D0PRGR B1PRGR

Gruß,
Christian

andreaspr@aon.at
11-04-12, 13:49
Hallo,

kann es sein dass du B1PRGRD NICHT innerhalb einer Datenstruktur definieren willst?


D B1PRGRD S 1A Dim(20)

lg Andreas

B.Hauser
11-04-12, 13:58
Ändere den SourceCode wie folgt ab und es sollte funktionieren:



D B1PRGR DS
D B1PRGR01 1A
D B1PRGR02 1A
D B1PRGR03 1A
D B1PRGR04 1A
D B1PRGR05 1A
D B1PRGR06 1A
D B1PRGR07 1A
D B1PRGR08 1A
D B1PRGR09 1A
D B1PRGR10 1A
D B1PRGR11 1A
D B1PRGR12 1A
D B1PRGR13 1A
D B1PRGR14 1A
D B1PRGR15 1A
D B1PRGR16 1A
D B1PRGR17 1A
D B1PRGR18 1A
D B1PRGR19 1A
D B1PRGR20 1A
D B1FG 1A Dim(20) Overlay(B1PRGR)
....

C******** Eval B1PRGR = B1PRGRD
C Eval B1FG = B1PRGRD


Birgitta

FNeurieser
11-04-12, 14:01
Danke Brigitta,

das war des Pudels Kern.

LG

Franz