Advertisement
Guest User

Untitled

a guest
Jul 20th, 2018
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ABAP 5.05 KB | None | 0 0
  1. *&---------------------------------------------------------------------*
  2. *& Report  ZVIP_VARIANT_CHECK
  3. *&
  4. *&---------------------------------------------------------------------*
  5. *&
  6. *&
  7. *&---------------------------------------------------------------------*
  8.  
  9. REPORT  zvip_variant_check.
  10.  
  11. TYPE-POOLS slin .
  12.  
  13. TYPES: BEGIN OF valu,
  14.         report TYPE rsvar-report,
  15.         variant TYPE rsvar-variant,
  16.         selname TYPE rsparams-selname,
  17.         low TYPE rsparams-low,
  18.         high TYPE rsparams-high,
  19.       END OF valu.
  20.  
  21.  
  22.  
  23.  
  24.  
  25. DATA: lv_report_name TYPE rsvar-report,
  26.       lv_variant_name TYPE rsvar-variant,
  27.       lv_z_search_report TYPE string,
  28.       it_all_reports TYPE TABLE OF varid,
  29.       it_variants TYPE TABLE OF varid,
  30.       wa_varid TYPE varid,
  31.       lv_y_search_report TYPE string,
  32.       lv_search_variant TYPE string,
  33.       it_reports TYPE TABLE OF varid,
  34.       it_valutab TYPE rsparams OCCURS 0,
  35.       g_grid TYPE REF TO cl_gui_alv_grid,
  36.       it_valu TYPE TABLE OF valu.
  37.  
  38.  
  39. START-OF-SELECTION.
  40.  
  41.   PARAMETERS lp_srch(100) TYPE c LOWER CASE.
  42.  
  43.  
  44.   CONCATENATE '%' lp_srch INTO lv_search_variant.
  45.   CONCATENATE lv_search_variant '%' INTO lv_search_variant.
  46.  
  47.  
  48.  
  49.  
  50. ********************************
  51.   DATA wa_valutab type rsparams.
  52.   DATA lv_report LIKE rsvar-report.
  53.   DATA lv_variant LIKE rsvar-variant.
  54.   DATA wa_reposrc TYPE reposrc.
  55.   DATA wa_valu TYPE valu.
  56.   "data lr_error type ref to cx_root.
  57.   DATA it_res TYPE slin_result.
  58.   DATA lv_rep TYPE syrepid.
  59.   DATA it_err_rep TYPE TABLE OF rsvar-report.
  60.   DATA lv_err_rep TYPE rsvar-report.
  61.  
  62.  
  63.   SELECT *
  64.       FROM varid
  65.       INTO CORRESPONDING FIELDS OF TABLE it_reports
  66.       WHERE REPORT LIKE 'Z%' OR REPORT LIKE 'Y%'.
  67.  
  68.   LOOP AT it_reports into wa_varid.
  69.     CLEAR it_valutab.
  70.     CLEAR it_res.
  71.     CLEAR wa_reposrc.
  72.     SELECT SINGLE *
  73.       FROM reposrc
  74.       INTO wa_reposrc
  75.       WHERE progname = wa_varid-report.
  76.  
  77.     IF wa_reposrc is INITIAL.
  78.       CONTINUE.
  79.  
  80.     ENDIF.
  81.     IF lv_err_rep = wa_varid-report.
  82.       CONTINUE.
  83.     ENDIF.
  84.  
  85.     lv_report = wa_varid-report.
  86.     lv_variant = wa_varid-variant.
  87.     lv_rep = wa_varid-report.
  88.  
  89.  
  90.     CALL FUNCTION 'EXTENDED_PROGRAM_CHECK'
  91.       EXPORTING
  92. *       COMMENT_FLAG = ABAP_FALSE
  93. *       CALL_CNTX    = 'S'
  94. *       CACHE_USE    = SLIN_CACHE_USE-ALL
  95.         PROGRAM      = lv_rep
  96. *       TEST_FLAGS   =
  97. *       TEST_ALL     = ABAP_FALSE
  98. *       TEST_BRE     = ABAP_FALSE
  99. *       TEST_CAL     = ABAP_FALSE
  100. *       TEST_DAT     = ABAP_FALSE
  101. *       TEST_DYC     = ABAP_FALSE
  102. *       TEST_GES     = ABAP_FALSE
  103. *       TEST_MES     = ABAP_FALSE
  104. *       TEST_OPF     = ABAP_FALSE
  105. *       TEST_PER     = ABAP_FALSE
  106. *       TEST_PFS     = ABAP_FALSE
  107. *       TEST_UNR     = ABAP_FALSE
  108. *       TEST_STE     = ABAP_FALSE
  109. *       TEST_WRN     = ABAP_FALSE
  110. *       TEST_TXT     = ABAP_FALSE
  111. *       TEST_SUB     = ABAP_FALSE
  112. *       TEST_AUT     = ABAP_FALSE
  113. *       TEST_LOA     = ABAP_FALSE
  114. *       TEST_MLS     = ABAP_FALSE
  115. *       TEST_PAC     = ABAP_FALSE
  116. *       TEST_SEC     = SLIN_FALSE
  117.       IMPORTING
  118.         RESULT       = it_res
  119. *       RESULT_STAT  =
  120.       .
  121.  
  122.  
  123.     if it_res is INITIAL.
  124.  
  125.       " try.
  126.       CALL FUNCTION 'RS_VARIANT_CONTENTS'
  127.         EXPORTING
  128.           REPORT                      = lv_report
  129.           VARIANT                     = lv_variant
  130. *       MOVE_OR_WRITE               = 'W'
  131. *       NO_IMPORT                   = ' '
  132. *       EXECUTE_DIRECT              = ' '
  133. *     IMPORTING
  134. *       SP                          =
  135.         TABLES
  136. *       L_PARAMS                    =
  137. *       L_PARAMS_NONV               =
  138. *       L_SELOP                     =
  139. *       L_SELOP_NONV                =
  140.           VALUTAB                     = it_valutab
  141. *       VALUTABL                    =
  142. *       OBJECTS                     =
  143. *       FREE_SELECTIONS_DESC        =
  144. *       FREE_SELECTIONS_VALUE       =
  145.        EXCEPTIONS
  146.          VARIANT_NON_EXISTENT        = 1
  147.          VARIANT_OBSOLETE            = 2
  148.          OTHERS                      = 3
  149.                 .
  150.       "  CATCH cx_root into lr_error.
  151.       " ENDTRY.
  152.     IF SY-SUBRC <> 0.
  153.  
  154.     ENDIF.
  155.  
  156.       LOOP at it_valutab into wa_valutab.
  157.         CLEAR wa_valu.
  158.         IF wa_valutab-low is NOT INITIAL OR wa_valutab-high is NOT INITIAL.
  159.  
  160.           IF wa_valutab-low CS lp_srch OR wa_valutab-high CS lp_srch.
  161.             wa_valu-report = lv_report.
  162.             wa_valu-variant = lv_variant.
  163.             wa_valu-selname = wa_valutab-selname.
  164.             wa_valu-low = wa_valutab-low.
  165.             wa_valu-high = wa_valutab-high.
  166.             APPEND wa_valu to it_valu.
  167.             WRITE:/ wa_valu-report, '        ', wa_valu-variant, '        ', wa_valu-selname, '        ', wa_valu-low, '        ', wa_valu-high.
  168.           ENDIF.
  169.         ENDIF.
  170.       ENDLOOP.
  171.     else.
  172.       lv_err_rep = lv_report.
  173.       append lv_err_rep to it_err_rep.
  174.     ENDIF.
  175.  
  176.  
  177.   ENDLOOP.
  178.  
  179.   DATA wa_err_rep TYPE rsvar-report.
  180.   LOOP AT it_err_rep into wa_err_rep.
  181.     WRITE:/ 'ERROR at report:', wa_err_rep.
  182.  
  183.   ENDLOOP.
  184.  
  185.  
  186. END-OF-SELECTION.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement