Code: Alles auswählen.
REPORT RSAN_WB_ROUTINE_TEMP_REPORT .
TYPES: BEGIN OF y_source_fields ,
ID1 TYPE ObjektID ,
BWMELDBEG TYPE OIBWMELDBEG ,
BWMELDEND TYPE OIBWMELDEND ,
END OF y_source_fields .
TYPES: yt_source_fields TYPE STANDARD TABLE OF y_source_fields .
TYPES: BEGIN OF y_target_fields ,
ID1 TYPE ObjektID ,
BWMELDBEG TYPE OIBWMELDBEG ,
BWMELDEND TYPE OIBWMELDEND ,
END OF y_target_fields .
TYPES: yt_target_fields TYPE STANDARD TABLE OF y_target_fields .
*---------- Begin of type definitions -------------------------------
*----------- End of type definitions --------------------------------
FORM compute_data_transformation
USING it_source TYPE yt_source_fields
ir_context TYPE REF TO if_rsan_rt_routine_context
EXPORTING et_target TYPE yt_target_fields .
*--------- Begin of transformation code -----------------------------
DATA:
ls_source TYPE y_source_fields,
ls_target TYPE y_target_fields.
LOOP AT IT_SOURCE INTO ls_source.
MOVE-CORRESPONDING LS_SOURCE TO ls_target.
APPEND ls_TARGET TO et_target.
ENDLOOP.
*---------- End of transformation code ------------------------------
ENDFORM.
Code: Alles auswählen.
LOOP AT IT_SOURCE INTO ls_source.
if LS_SOURCE-BWMELDBEG >= LS_SOURCE-BWMELDEND.
MOVE-CORRESPONDING LS_SOURCE TO ls_target.
APPEND ls_TARGET TO et_target.
endif.
ENDLOOP.
Code: Alles auswählen.
" liefere mit alle Mitarbeiter mit Name 'Mueller','Meier','Schulze' (Das ist sicher nicht der Key ;-)!) aus Tabelle a, die seit 2011 in einem Betrieb sind,
" aber nicht im selben Jahr oder früher in einem anderen Betrieb waren
SELECT * FROM a AS mitarbeiter_neu WHERE mitarbeiter in ('Mueller','Meier','Schulze')
AND year >= '2011'
AND NOT EXISTS ( SELECT * FROM a AS mitarbeiter_füher WHERE mitarbeiter_füher~mitarbeiter = mitarbeiter_neu~mitarbeiter
AND mitarbeiter_füher~Year <= '2011'
AND mitarbeiter_füher~betrieb <> mitarbeiter_neu~betrieb )
Folgende Benutzer bedankten sich beim Autor bigld für den Beitrag:
meistercoach