DTP-Filter in Transformation lesen
DTP-Filter enthalten wichtige Informationen, die wir manchmal in weiterem Datenfluss benötigen. In einer Fortschreibung kommt es immer mal wieder vor, dass die Verarbeitungslogik abhängig ist von den zu ladenden Daten. Deshalb wäre es hilfreich auf den Filter des DTPs zugreifen zu können. In einem FULL-DTP sind hier in der Regel einige Merkmale mit einem Filter versehen.
Leider bieten, die SAP-Schnittstellen (Start- und Endroutine, oder das Mapping eines Merkmals) keinen direkten Zugriff auf den Filter. Deshalb muss dies über den Umweg des Request-Objekts vorgenommen werden.
Hier der Code-Schnipsel, der z.B. in der Startroutine der Transformation eingefügt werden kann.
DATA: lt_filter_values TYPE rsbk_th_range.
DATA: lv_date TYPE d.
FIELD-SYMBOLS: <ls_filter_values> LIKE LINE OF lt_filter_values.
* das globale Request-Objekt P_R_REQUEST bietet und die Methode GET_TH_RANGE, mit den Filterwerten als interne Tabelle.
lt_filter_values = p_r_request->get_th_range( ).* über das Feld FIELDNM können wir auf einen bestimmten Filter einschränken.
READ TABLE lt_filter_values ASSIGNING <ls_filter_values>
WITH KEY fieldnm = ‚DATEFROM‘.
IF sy–subrc = 0.
lv_date = <ls_filter_values>–low.
ELSE.
* DTP not working at Simulation
* => check with actual date
lv_date = sy–datum.
ENDIF.
0 Kommentare