Code: Alles auswählen.
Begin of type t_pers,
mzbt type p0000-mzbt,
ghkl type p0000-ghkl,
kkjl type p0000-kkjl,
end of t_pers.
Code: Alles auswählen.
Begin of type t_pers,
wwxy type p0000-wwxy,
ghkl type p0000-ghkl,
kkjl type p0000-kkjl,
end of t_pers.
Code: Alles auswählen.
begin of type t_dyntype,
name(20) type c,
type(30) type c,
end of t_dyntype
Data: wa_dyntype type t_dyntype.
Code: Alles auswählen.
Bsp.
Select Case betart. "Betriebsart
When '1'.
wa_dyntype-name = 'mzbt'.
wa_dyntype-type = 'p0000-mzbt'.
When '2'.
wa_dyntype-name = 'wwxy'
wa_dyntype-type = 'p0000-wwxy'
Endcase.
Code: Alles auswählen.
Begin of type t_pers,
mzbt type p0000-mzbt,
wwxy type p0000-wwxy,
ghkl type p0000-ghkl,
kkjl type p0000-kkjl,
end of t_pers.
ach das Problem mit "AT NEW xyz", das kannst umgehen wenn du beim LOOP das ASSIGNING machst.Anonymous hat geschrieben:Nein, geht leider nicht. Die Sache ist die, dass ich die interne Tabelle anschließend sortiere und mit den Ereignissen AT NEW ***, AT LAST usw. arbeite.
Alternativ wäre, dass ich für jede Betriebsart eine eigene interne Tabelle anlege mit unterschiedlichen Typen. Aber ich hätte es gerne was eleganter, sofern das möglich ist.
Mit assinging machst du sozusagen einen Zeiger auf die Jeweilige Zeile.Anonymous hat geschrieben:In wie fern? Was bewirkt denn ASSIGNING?
Code: Alles auswählen.
SELECT [dynfeld] FROM [dyntab] where [dynbed]
Code: Alles auswählen.
TYPES: line(72) TYPE c.
DATA: itable TYPE STANDARD TABLE OF line.
APPEND 'REPORT testrep.' TO itable.
APPEND 'WRITE ''test''.' TO itable.
INSERT REPORT 'Z_TESTREPORT' FROM itable.
Code: Alles auswählen.
DATA: dref TYPE REF TO DATA,
table LIKE dd02l-tabname VALUE 'USR02'.
FIELD-SYMBOLS: <fs> TYPE ANY.
CREATE DATA dref TYPE (table).
ASSIGN dref->* TO <fs>.
Du kannst natürlich dynamisch eine Tabelle in Deinem Select unterbringen :Anonymous hat geschrieben:Hmmm...okay !!! Danke schonmal.
Aber was sagst du zur Fragestellung dynamische Typisierung. Geht so etwas in ABAP?
So in der Art wie beim dynamischen SELECT
in den [] stehen dann jeweils Variablen mit bestimmtem Inhalt in form einer Zeichenkette.Code: Alles auswählen.
SELECT [dynfeld] FROM [dyntab] where [dynbed]
Code: Alles auswählen.
Types: Begin of type my_type,
<fs1>,
zzabc type p0000-zzabc,
zzdef type p0000-zzdef,
end of type my_type.