Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- *&---------------------------------------------------------------------*
- *& Report ZVIP_VARIANT_CHECK
- *&
- *&---------------------------------------------------------------------*
- *&
- *&
- *&---------------------------------------------------------------------*
- REPORT zvip_variant_check.
- TYPE-POOLS slin .
- TYPES: BEGIN OF valu,
- report TYPE rsvar-report,
- variant TYPE rsvar-variant,
- selname TYPE rsparams-selname,
- low TYPE rsparams-low,
- high TYPE rsparams-high,
- END OF valu.
- DATA: lv_report_name TYPE rsvar-report,
- lv_variant_name TYPE rsvar-variant,
- lv_z_search_report TYPE string,
- it_all_reports TYPE TABLE OF varid,
- it_variants TYPE TABLE OF varid,
- wa_varid TYPE varid,
- lv_y_search_report TYPE string,
- lv_search_variant TYPE string,
- it_reports TYPE TABLE OF varid,
- it_valutab TYPE rsparams OCCURS 0,
- g_grid TYPE REF TO cl_gui_alv_grid,
- it_valu TYPE TABLE OF valu.
- START-OF-SELECTION.
- PARAMETERS lp_srch(100) TYPE c LOWER CASE.
- CONCATENATE '%' lp_srch INTO lv_search_variant.
- CONCATENATE lv_search_variant '%' INTO lv_search_variant.
- ********************************
- DATA wa_valutab type rsparams.
- DATA lv_report LIKE rsvar-report.
- DATA lv_variant LIKE rsvar-variant.
- DATA wa_reposrc TYPE reposrc.
- DATA wa_valu TYPE valu.
- "data lr_error type ref to cx_root.
- DATA it_res TYPE slin_result.
- DATA lv_rep TYPE syrepid.
- DATA it_err_rep TYPE TABLE OF rsvar-report.
- DATA lv_err_rep TYPE rsvar-report.
- SELECT *
- FROM varid
- INTO CORRESPONDING FIELDS OF TABLE it_reports
- WHERE REPORT LIKE 'Z%' OR REPORT LIKE 'Y%'.
- LOOP AT it_reports into wa_varid.
- CLEAR it_valutab.
- CLEAR it_res.
- CLEAR wa_reposrc.
- SELECT SINGLE *
- FROM reposrc
- INTO wa_reposrc
- WHERE progname = wa_varid-report.
- IF wa_reposrc is INITIAL.
- CONTINUE.
- ENDIF.
- IF lv_err_rep = wa_varid-report.
- CONTINUE.
- ENDIF.
- lv_report = wa_varid-report.
- lv_variant = wa_varid-variant.
- lv_rep = wa_varid-report.
- CALL FUNCTION 'EXTENDED_PROGRAM_CHECK'
- EXPORTING
- * COMMENT_FLAG = ABAP_FALSE
- * CALL_CNTX = 'S'
- * CACHE_USE = SLIN_CACHE_USE-ALL
- PROGRAM = lv_rep
- * TEST_FLAGS =
- * TEST_ALL = ABAP_FALSE
- * TEST_BRE = ABAP_FALSE
- * TEST_CAL = ABAP_FALSE
- * TEST_DAT = ABAP_FALSE
- * TEST_DYC = ABAP_FALSE
- * TEST_GES = ABAP_FALSE
- * TEST_MES = ABAP_FALSE
- * TEST_OPF = ABAP_FALSE
- * TEST_PER = ABAP_FALSE
- * TEST_PFS = ABAP_FALSE
- * TEST_UNR = ABAP_FALSE
- * TEST_STE = ABAP_FALSE
- * TEST_WRN = ABAP_FALSE
- * TEST_TXT = ABAP_FALSE
- * TEST_SUB = ABAP_FALSE
- * TEST_AUT = ABAP_FALSE
- * TEST_LOA = ABAP_FALSE
- * TEST_MLS = ABAP_FALSE
- * TEST_PAC = ABAP_FALSE
- * TEST_SEC = SLIN_FALSE
- IMPORTING
- RESULT = it_res
- * RESULT_STAT =
- .
- if it_res is INITIAL.
- " try.
- CALL FUNCTION 'RS_VARIANT_CONTENTS'
- EXPORTING
- REPORT = lv_report
- VARIANT = lv_variant
- * MOVE_OR_WRITE = 'W'
- * NO_IMPORT = ' '
- * EXECUTE_DIRECT = ' '
- * IMPORTING
- * SP =
- TABLES
- * L_PARAMS =
- * L_PARAMS_NONV =
- * L_SELOP =
- * L_SELOP_NONV =
- VALUTAB = it_valutab
- * VALUTABL =
- * OBJECTS =
- * FREE_SELECTIONS_DESC =
- * FREE_SELECTIONS_VALUE =
- EXCEPTIONS
- VARIANT_NON_EXISTENT = 1
- VARIANT_OBSOLETE = 2
- OTHERS = 3
- .
- " CATCH cx_root into lr_error.
- " ENDTRY.
- IF SY-SUBRC <> 0.
- ENDIF.
- LOOP at it_valutab into wa_valutab.
- CLEAR wa_valu.
- IF wa_valutab-low is NOT INITIAL OR wa_valutab-high is NOT INITIAL.
- IF wa_valutab-low CS lp_srch OR wa_valutab-high CS lp_srch.
- wa_valu-report = lv_report.
- wa_valu-variant = lv_variant.
- wa_valu-selname = wa_valutab-selname.
- wa_valu-low = wa_valutab-low.
- wa_valu-high = wa_valutab-high.
- APPEND wa_valu to it_valu.
- WRITE:/ wa_valu-report, ' ', wa_valu-variant, ' ', wa_valu-selname, ' ', wa_valu-low, ' ', wa_valu-high.
- ENDIF.
- ENDIF.
- ENDLOOP.
- else.
- lv_err_rep = lv_report.
- append lv_err_rep to it_err_rep.
- ENDIF.
- ENDLOOP.
- DATA wa_err_rep TYPE rsvar-report.
- LOOP AT it_err_rep into wa_err_rep.
- WRITE:/ 'ERROR at report:', wa_err_rep.
- ENDLOOP.
- END-OF-SELECTION.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement