Selektionstabelle als Variante sichern:
Also nachdem z.B. in einem Report für Massenupdates eine umfangreiche Selektionseingrenzung vorgenommen wurde soll vor oder nach dem Verarbeiten diese Selektion als Variante abgelegt werden um sie später wieder herstellen zu können.
* * Coded by Thorsten Neubüser - www.4ap.de *
*Variante DATA: seltab TYPE TABLE OF rsparams WITH HEADER LINE, g_repid LIKE sy-repid. d_text TYPE TABLE OF varit WITH HEADER LINE, d_varid LIKE varid, d_variant LIKE rsvar-variant. " 14 Char
g_repid = sy-repid.
* Selektionstabelle einlesen REFRESH seltab. CLEAR seltab. * Selektionen lesen und merken CALL FUNCTION 'RS_REFRESH_FROM_SELECTOPTIONS' EXPORTING curr_report = g_repid TABLES selection_table = seltab.
PERFORM selektionstabelle_sichern.
*---------------------------------------------------------------------* * Form selektionstabelle_sichern *---------------------------------------------------------------------* FORM selektionstabelle_sichern.
* Variantennamen bilden CONCATENATE 'ZU' sy-datum+2(6) sy-uzeit INTO d_variant. " max 14
* Variantentabelle füllen MOVE: g_repid TO d_varid-report, d_variant TO d_varid-variant, 'F' TO d_varid-transport, 'A' TO d_varid-environmnt, 'X' TO d_varid-protected, '1' TO d_varid-version, sy-uname TO d_varid-ename, sy-datum TO d_varid-edat, sy-uzeit TO d_varid-etime, sy-langu TO d_varid-mlangu. * '20' to d_varid-xflag1, * '00' to d_varid-xflag2.
*Beschreibungstext füllen MOVE: sy-langu TO d_text-langu, g_repid TO d_text-report, d_variant TO d_text-variant. CONCATENATE sy-uname sy-datum sy-uzeit INTO d_text-vtext SEPARATED BY space. APPEND d_text.
* Variante anlegen. CALL FUNCTION 'RS_CREATE_VARIANT' EXPORTING curr_report = g_repid curr_variant = d_variant vari_desc = d_varid TABLES vari_contents = seltab vari_text = d_text * VSCREENS = EXCEPTIONS illegal_report_or_variant = 1 illegal_variantname = 2 not_authorized = 3 not_executed = 4 report_not_existent = 5 report_not_supplied = 6 variant_exists = 7 variant_locked = 8 OTHERS = 9. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. ENDFORM. " selektionstabelle_sichern
|