Code: Alles auswählen.
mth_cycles_del = VALUE #( FOR <ls_t811s> IN mt_t811s ( CORRESPONDING #( BASE ( VALUE #( sdate_delete = COND sydatum( WHEN <ls_t811s>-sdate = '00000000' THEN sy-datum ) ) ) <ls_t811s> ) ) ).
Code: Alles auswählen.
mth_cycles_del = VALUE #( FOR <ls_t811s> IN mt_t811s ( CORRESPONDING #( BASE ( VALUE #( sdate = COND sydatum( WHEN <ls_t811s>-sdate = '00000000' THEN sy-datum ) ) ) <ls_t811s> ) ) ).
Code: Alles auswählen.
REPORT.
TYPES: BEGIN OF lts_datum,
datum TYPE sydatum,
END OF lts_datum.
DATA: ls_syst TYPE syst.
ls_syst = CORRESPONDING #( BASE ( syst ) VALUE lts_datum( datum = '11111111' ) ).
BREAK-POINT.
Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
DeathAndPain
Code: Alles auswählen.
TYPES:
BEGIN OF tp_source,
date TYPE d,
END OF tp_source,
BEGIN OF tp_target,
date TYPE d,
END OF tp_target.
DATA:
t_source TYPE STANDARD TABLE OF tp_source,
t_target TYPE STANDARD TABLE OF tp_target.
* füllen
t_source = VALUE #( ( date = '19000101' )
( date = '00000000' ) ).
t_target = VALUE #( FOR <s_source> IN t_source ( CORRESPONDING #( BASE ( VALUE #( date = COND #( WHEN <s_source>-date = '00000000' THEN sy-datum ) ) ) <s_source> ) ) ).
Code: Alles auswählen.
t_target = VALUE #( FOR <s_source> IN t_source
( VALUE #( BASE CORRESPONDING #( <s_source> )
date = COND #( WHEN <s_source>-date = '00000000' THEN sy-datum
ELSE <s_source>-date ) ) ) ).
Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag:
Romaniac
Code: Alles auswählen.
SELECT itab~*,
CASE itab~sdate WHEN '00000000' THEN itab~sdate ELSE @sy-datum END AS sdate
FROM mt_t811S as itab
INTO CORRESPONDING FIELDS OF TABLE @mth_cycles_del
Code: Alles auswählen.
mth_cylces_del = CORRESPONDING #( mt_t811s ).
MODIFY mth_cylces_del FROM VALUE #( sdate = sy-datum ) TRANSPORTING sdate WHERE sdate IS INITIAL.
Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag (Insgesamt 4):
ewx • Romaniac • DeathAndPain • tar