Code: Alles auswählen.
LOOP AT ABWESENHEITEN ASSIGNING FIELD-SYMBOL(<ABWESENHEITEN>).
* Feldsymbol <M> auf Tabellenzeile mit Personalnummer aus aktueller Abwesenheit setzen.
* Sofern diese Tabellenzeile noch nicht existiert, wird sie bei dieser Gelegenheit angelegt.
ASSIGN M[ PERNR = <ABWESENHEITEN>-PERNR ] TO FIELD-SYMBOL(<M>).
IF SY-SUBRC <> 0.
INSERT VALUE #( PERNR = <ABWESENHEITEN>-PERNR ) INTO TABLE M.
ASSIGN M[ PERNR = <ABWESENHEITEN>-PERNR ] TO <M>.
ASSIGN MITARBEITER_DATA[ PERNR = <M>-PERNR ] TO FIELD-SYMBOL(<MITARBEITER_DATA>).
IF SY-SUBRC = 0.
MOVE-CORRESPONDING <MITARBEITER_DATA> TO <M>.
ENDIF.
ENDIF.
APPEND <ABWESENHEITEN> TO <M>-ABWESENHEITEN.
ENDLOOP.
Code: Alles auswählen.
MOVE-CORRESPONDING <MITARBEITER_DATA> TO <M> EXCLUDING PERNR.
Code: Alles auswählen.
<M> = CORRESPONDING #( <MITARBEITER_DATA> EXCEPT PERNR ).
Code: Alles auswählen.
INSERT VALUE #( PERNR = <ABWESENHEITEN>-PERNR ) INTO TABLE M.
ASSIGN M[ PERNR = <ABWESENHEITEN>-PERNR ] TO <M>.
Code: Alles auswählen.
INSERT VALUE #( PERNR = <ABWESENHEITEN>-PERNR ) INTO TABLE M ASSIGNING <M>.
Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
DeathAndPain
Code: Alles auswählen.
TYPES: BEGIN OF ts_data,
a TYPE i,
b TYPE i,
c TYPE i,
END OF ts_data,
BEGIN OF ts_struc,
k TYPE n LENGTH 1.
INCLUDE TYPE ts_data AS data.
TYPES: END OF ts_struc,
tt_table TYPE SORTED TABLE OF ts_struc WITH UNIQUE KEY k.
DATA data TYPE tt_table.
DATA new TYPE ts_struc.
INSERT VALUE #( k = '1' a = 1 b = 1 c = 1 ) INTO TABLE data.
new-k = '1'.
new-a = 2.
new-b = 2.
new-c = 2.
READ TABLE data ASSIGNING FIELD-SYMBOL(<data>) INDEX 1.
IF sy-subrc = 0.
MOVE-CORRESPONDING new TO <data>-data.
ENDIF.
Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
DeathAndPain
In diesem Fall könnte ich das machen, da die Zeile ohnehin neu eingefügt werden soll. Aber dann bräuchte ich halt wieder eine Workareastruktur zum Aufbau der Tabellenzeile und wäre damit letztlich wieder auf Pre-7.40-Codingniveau. Das hätte ich mir gerne erspart.black_adept hat geschrieben:Coding umstellen. Erst eine Struktur füllen und dann komplett via INSERT einfügen weil du beim Befüllen der Struktur noch ein Move-Corresponding machen kannst.