查询计划功能执行情况

查询计划功能执行情况,通用功能,直接复制粘贴可用。

效果图:


代码:

*&---------------------------------------------------------------------*
*& Report  ZBPS_LAY_EXE_STAT
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZBPS_LAY_EXE_STAT.
TABLESUPC_STATISTIC3,"计划功能执行记录
  UPB_PS_PROP,"计划文件夹内容设置
  UPB_PS_NAME_T,"计划文件夹名称
  USR02.
TABLES:UPC_AREAT,UPC_PLEVELT,UPC_PACKAGET,
UPF_PARAMT,UPP_PARAMT.

DATA GT_STAT LIKE TABLE OF UPC_STATISTIC3 WITH HEADER LINE.
DATA GT_PROP LIKE TABLE OF UPB_PS_PROP WITH HEADER LINE.
DATA GT_NAME LIKE TABLE OF UPB_PS_NAME_T WITH HEADER LINE.
FIELD-SYMBOLS <FS_STAT> LIKE LINE OF GT_STAT.
FIELD-SYMBOLS <FS_PROP> LIKE LINE OF GT_PROP.
FIELD-SYMBOLS <FS_NAME> LIKE LINE OF GT_NAME.

DATA:
GT_UPC_AREAT LIKE TABLE OF UPC_AREAT WITH HEADER LINE,
GT_UPC_PLEVELT LIKE TABLE OF UPC_PLEVELT WITH HEADER LINE,
GT_UPC_PACKAGET LIKE TABLE OF UPC_PACKAGET WITH HEADER LINE,
GT_UPF_PARAMT LIKE TABLE OF UPF_PARAMT WITH HEADER LINE,
GT_UPP_PARAMT LIKE TABLE OF UPP_PARAMT WITH HEADER LINE.
FIELD-SYMBOLS <FS1> LIKE LINE OF GT_UPC_AREAT.
FIELD-SYMBOLS <FS2> LIKE LINE OF GT_UPC_PLEVELT.
FIELD-SYMBOLS <FS3> LIKE LINE OF GT_UPC_PACKAGET.
FIELD-SYMBOLS <FS4> LIKE LINE OF GT_UPF_PARAMT.
FIELD-SYMBOLS <FS5> LIKE LINE OF GT_UPP_PARAMT.
TYPE-POOLSslis.
DATAit_fieldcat    TYPE slis_t_fieldcat_alv.
DATAi_layout       TYPE slis_layout_alv.
DATAI_SORT  TYPE  SLIS_T_SORTINFO_ALV.

DATABEGIN OF GT_ALV OCCURS 0.
  INCLUDE STRUCTURE UPC_STATISTIC3.
  DATA LAY_NAME TYPE UPB_Y_PS_NAME.
  DATA LAY_TEXT TYPE UPB_Y_PS_NAMETXT.
*  DATA ZTEXT TYPE CHAR10 .
  DATA ZTEXT1 TYPE CHAR100 .
  DATA ZTEXT2 TYPE CHAR100 .
  DATA ZTEXT3 TYPE CHAR100 .
  DATA ZTEXT4 TYPE CHAR100 .

DATA END OF GT_ALV.
SELECTION-SCREEN BEGIN OF BLOCK blk01 WITH FRAME.
  SELECT-OPTIONS S_DATE FOR UPC_STATISTIC3-DATUM DEFAULT SY-DATUM.
  SELECT-OPTIONS S_BNAME FOR USR02-BNAME.
  SELECT-OPTIONS S_LNAME FOR UPB_PS_PROP-NAME MATCHCODE OBJECT ZUPB_PS_NAME_F4 .

  PARAMETERS P_DTL TYPE AS CHECKBOX .
SELECTION-SCREEN END OF BLOCK blk01.

START-OF-SELECTION.
    PERFORM select_data.
    PERFORM process_data.
    PERFORM show_data.

FORM select_data .
  SELECT INTO TABLE GT_STAT
    FROM UPC_STATISTIC3
    WHERE DATUM IN S_DATE
    AND UNAME IN S_BNAME .
   CHECK GT_STAT[] IS NOT INITIAL.

   SELECT INTO TABLE GT_PROP
     FROM UPB_PS_PROP
     FOR ALL ENTRIES IN GT_STAT
     WHERE AREA GT_STAT-AREA .
   IF GT_PROP[] IS NOT INITIAL.
     SELECT INTO TABLE GT_NAME
       FROM UPB_PS_NAME_T
       FOR ALL ENTRIES IN GT_PROP
       WHERE NAME GT_PROP-NAME.
*       AND LANG = SY-LANGU .
   ENDIF.

  SELECT INTO TABLE GT_UPC_AREAT FROM UPC_AREAT
    FOR ALL ENTRIES IN GT_STAT
    WHERE AREA GT_STAT-AREA AND LANGU SY-LANGU.

  SELECT INTO TABLE GT_UPC_PLEVELT FROM UPC_PLEVELT
    FOR ALL ENTRIES IN GT_STAT
    WHERE AREA GT_STAT-AREA AND LANGU SY-LANGU.

  SELECT INTO TABLE GT_UPC_PACKAGET FROM UPC_PACKAGET
    FOR ALL ENTRIES IN GT_STAT
    WHERE AREA GT_STAT-AREA AND LANGU SY-LANGU.

  SELECT INTO TABLE GT_UPF_PARAMT FROM UPF_PARAMT
    FOR ALL ENTRIES IN GT_STAT
    WHERE AREA GT_STAT-AREA AND LANGU SY-LANGU.

  SELECT INTO TABLE GT_UPP_PARAMT FROM UPP_PARAMT
    FOR ALL ENTRIES IN GT_STAT
    WHERE AREA GT_STAT-AREA AND LANGU SY-LANGU.

ENDFORM.
FORM process_data.
  FIELD-SYMBOLS <FS>.

  SORT GT_PROP BY AREA PLEVEL PPACKAGE METHOD PARAM .
  SORT GT_NAME BY NAME LANG.

  SORT GT_UPC_AREAT   .
  SORT GT_UPC_PLEVELT   .
  SORT GT_UPC_PACKAGET   .
  SORT GT_UPF_PARAMT   .
  SORT GT_UPP_PARAMT   .

  LOOP AT GT_STAT ASSIGNING <FS_STAT>.
    MOVE <FS_STAT> TO GT_ALV.

    READ TABLE GT_PROP ASSIGNING <FS_PROP> BINARY SEARCH WITH KEY
      AREA <FS_STAT>-AREA
      PLEVEL <FS_STAT>-PLEVEL
      PPACKAGE <FS_STAT>-PPACKAGE
      METHOD <FS_STAT>-METHOD
      PARAM <FS_STAT>-PARAM .
    IF SY-SUBRC 0.
      GT_ALV-LAY_NAME <FS_PROP>-NAME.
      READ TABLE GT_NAME ASSIGNING <FS_NAME>
      BINARY SEARCH WITH KEY NAME <FS_PROP>-NAME LANG SY-LANGU.
      IF SY-SUBRC 0.
        GT_ALV-LAY_TEXT <FS_NAME>-TEXT.
      ELSE.
        READ TABLE GT_NAME ASSIGNING <FS_NAME>
        BINARY SEARCH WITH KEY NAME <FS_PROP>-NAME .
        IF SY-SUBRC 0.
          GT_ALV-LAY_TEXT <FS_NAME>-TEXT.
        ENDIF.
      ENDIF.
    ENDIF.

    IF S_LNAME[] IS NOT INITIAL.
      IF GT_ALV-LAY_NAME IN S_LNAME.
      ELSE.
        CONTINUE.
        CLEAR GT_ALV.
      ENDIF.
    ENDIF.


    IF P_DTL 'X'.
      READ TABLE GT_UPC_AREAT ASSIGNING <FS1>  BINARY SEARCH WITH KEY
      AREA <FS_STAT>-AREA .
      IF SY-SUBRC 0.
        GT_ALV-ZTEXT1 <FS1>-TEXT.
      ENDIF.
      READ TABLE GT_UPC_PLEVELT ASSIGNING <FS2>  BINARY SEARCH WITH KEY
      AREA <FS_STAT>-AREA PLEVEL <FS_STAT>-PLEVEL.
      IF SY-SUBRC 0.
        GT_ALV-ZTEXT2 <FS2>-TEXT.
      ENDIF.
      READ TABLE GT_UPC_PACKAGET ASSIGNING <FS3>  BINARY SEARCH WITH KEY
      AREA <FS_STAT>-AREA PLEVEL <FS_STAT>-PLEVEL PPACKAGE <FS_STAT>-PPACKAGE.
      IF SY-SUBRC 0.
        GT_ALV-ZTEXT3 <FS3>-TEXT.
      ENDIF.
      IF <FS_STAT>-METHOD '0-MP'.
        READ TABLE GT_UPP_PARAMT ASSIGNING <FS5>  BINARY SEARCH WITH KEY
        AREA <FS_STAT>-AREA PLEVEL <FS_STAT>-PLEVEL PARAM <FS_STAT>-PARAM.
        IF SY-SUBRC 0.
          GT_ALV-ZTEXT4 <FS5>-PARAMTXT.
        ENDIF.
      ELSE.
        READ TABLE GT_UPF_PARAMT ASSIGNING <FS4>  BINARY SEARCH WITH KEY
        AREA <FS_STAT>-AREA PLEVEL <FS_STAT>-PLEVEL METHOD <FS_STAT>-METHOD PARAM <FS_STAT>-PARAM.
        IF SY-SUBRC 0.
          GT_ALV-ZTEXT4 <FS4>-TEXT.
        ENDIF.
      ENDIF.
    ENDIF.

*    GT_ALV-ZTEXT = 'Executed'.
    APPEND GT_ALV.
    CLEAR GT_ALV.
  ENDLOOP.
  SORT GT_ALV .
  IF P_DTL ''.
    SORT GT_ALV BY DATUM UNAME LAY_NAME .
    DELETE ADJACENT DUPLICATES FROM GT_ALV COMPARING DATUM UNAME LAY_NAME .
    DELETE GT_ALV WHERE LAY_NAME ''.
  ENDIF.

ENDFORM.
FORM show_data .
  PERFORM build_fieldcat.
  PERFORM build_layout.
  PERFORM build_sort.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      i_callback_program       sy-cprog
      i_callback_pf_status_set 'SET_PF_STATUS'
      i_callback_user_command  'FRM_USER_COMMAND'
      is_layout                i_layout
      it_fieldcat              it_fieldcat
      IT_SORT                   I_SORT
    TABLES
      t_outtab                 GT_ALV[]
    EXCEPTIONS
      program_error            1
      OTHERS                   2.
  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.

FORM build_layout .
  i_layout-zebra                'X'.
  i_layout-colwidth_optimize    'X'.
  i_layout-detail_popup         'X'.
  i_layout-detail_initial_lines 'X'.

ENDFORM.

FORM build_fieldcat .
PERFORM sub_fill_fieldcat_alv TABLES it_fieldcat USING '' 'DATUM' 'Date' '' '' .
IF P_DTL 'X'.
PERFORM sub_fill_fieldcat_alv TABLES it_fieldcat USING '' 'UZEIT' 'Time' '' '' .
ENDIF.
PERFORM sub_fill_fieldcat_alv TABLES it_fieldcat USING '' 'UNAME' 'User' '' '' .
PERFORM sub_fill_fieldcat_alv TABLES it_fieldcat USING '' 'LAY_NAME' 'Layout' '' '' .
PERFORM sub_fill_fieldcat_alv TABLES it_fieldcat USING '' 'LAY_TEXT' 'LayoutName' '' '' .
*PERFORM sub_fill_fieldcat_alv TABLES it_fieldcat USING '' 'ZTEXT' 'Status' '' '' .
IF P_DTL 'X'.
PERFORM sub_fill_fieldcat_alv TABLES it_fieldcat USING '' 'AREA' 'Area' '' '' .
PERFORM sub_fill_fieldcat_alv TABLES it_fieldcat USING '' 'ZTEXT1' 'AreaName' '' '' .

PERFORM sub_fill_fieldcat_alv TABLES it_fieldcat USING '' 'PLEVEL' 'Level' '' '' .
PERFORM sub_fill_fieldcat_alv TABLES it_fieldcat USING '' 'ZTEXT2' 'LevelName' '' '' .

PERFORM sub_fill_fieldcat_alv TABLES it_fieldcat USING '' 'PPACKAGE' 'Package' '' '' .
PERFORM sub_fill_fieldcat_alv TABLES it_fieldcat USING '' 'ZTEXT3' 'PackageName' '' '' .

PERFORM sub_fill_fieldcat_alv TABLES it_fieldcat USING '' 'METHOD' 'Method' '' '' .


PERFORM sub_fill_fieldcat_alv TABLES it_fieldcat USING '' 'PARAM' 'PARAM' '' '' .
PERFORM sub_fill_fieldcat_alv TABLES it_fieldcat USING '' 'ZTEXT4' 'ParamName' '' '' .
ENDIF.
*IF P_DTL = ''.

*ENDIF.
IF P_DTL 'X'.
PERFORM sub_fill_fieldcat_alv TABLES it_fieldcat USING '' 'TYPE' 'TYPE' '' '' .
PERFORM sub_fill_fieldcat_alv TABLES it_fieldcat USING '' 'RUNTIME_BRUTTO' 'Total Execution Time' '' '' .
PERFORM sub_fill_fieldcat_alv TABLES it_fieldcat USING '' 'BW_READ_RECS' 'Data Records Read by BW' '' '' .
PERFORM sub_fill_fieldcat_alv TABLES it_fieldcat USING '' 'BW_READ_RECS_DEL' 'BW Number of Deleted Zero Records' '' '' .
PERFORM sub_fill_fieldcat_alv TABLES it_fieldcat USING '' 'BW_READ_CALLS' 'Number of Read Accesses' '' '' .
PERFORM sub_fill_fieldcat_alv TABLES it_fieldcat USING '' 'BW_READ_TIME' 'Total Read Time for Data Recs' '' '' .
PERFORM sub_fill_fieldcat_alv TABLES it_fieldcat USING '' 'PF_RECS_READ' 'Planning function: Number of Recs Read' '' '' .
PERFORM sub_fill_fieldcat_alv TABLES it_fieldcat USING '' 'PF_RECS_CHANGED' 'Plng Function: Records Changed' '' '' .
PERFORM sub_fill_fieldcat_alv TABLES it_fieldcat USING '' 'PF_RECS_NEW' 'Planning Function: Newly Gen. Recs' '' '' .
PERFORM sub_fill_fieldcat_alv TABLES it_fieldcat USING '' 'PF_RECS_READ_REF' 'Planning Function: Number of Read Reference Data' '' '' .
PERFORM sub_fill_fieldcat_alv TABLES it_fieldcat USING '' 'MP_P_CELLS_TIME' 'MP Time to Transport and Presnt Data Cells to PC' '' '' .
PERFORM sub_fill_fieldcat_alv TABLES it_fieldcat USING '' 'MP_P_CELLS_NUM' 'No. of Data Cells, which Are Transferred to Front End' '' '' .
PERFORM sub_fill_fieldcat_alv TABLES it_fieldcat USING '' 'MP_OPEN_VIEWER' 'MP Time to Start the Display Tool' '' '' .
PERFORM sub_fill_fieldcat_alv TABLES it_fieldcat USING '' 'MP_LOG_SCR' 'MP Time to Build the Logical Screen' '' '' .
PERFORM sub_fill_fieldcat_alv TABLES it_fieldcat USING '' 'MP_P_DATA_TIME' 'MP Prepare and Write Data Frontend' '' '' .
PERFORM sub_fill_fieldcat_alv TABLES it_fieldcat USING '' 'WEB_PAI' 'Web Input Processing' '' '' .
PERFORM sub_fill_fieldcat_alv TABLES it_fieldcat USING '' 'WEB_PBO' 'Web Output Process' '' '' .


ENDIF.
ENDFORM.

FORM sub_fill_fieldcat_alv  TABLES lt_fieldcat TYPE slis_t_fieldcat_alv
  USING ref_tabname fieldname fieldlabel p_hotspot p_just
                         .
  DATAws_fieldcat TYPE slis_fieldcat_alv .
  DATAw_col_pos TYPE i.

*  ws_fieldcat-tabname = 'GT_ALV'.
  w_col_pos w_col_pos + 1.
  CLEAR ws_fieldcat.
  IF ref_tabname <> space.
    ws_fieldcat-ref_tabname ref_tabname.
  ENDIF.
  ws_fieldcat-fieldname fieldname.
  IF fieldlabel <> space.
    ws_fieldcat-seltext_l fieldlabel.
    ws_fieldcat-seltext_m fieldlabel.
    ws_fieldcat-seltext_s fieldlabel.
    ws_fieldcat-ddictxt 'M'.
    ws_fieldcat-reptext_ddic fieldlabel.
  ENDIF.
  ws_fieldcat-key space.
  ws_fieldcat-do_sum space.
  ws_fieldcat-col_pos w_col_pos.
  ws_fieldcat-no_out space.
  ws_fieldcat-hotspot p_hotspot.
  ws_fieldcat-just p_just.

  APPEND ws_fieldcat TO lt_fieldcat .
ENDFORM.                    " sub_fill_fieldcat_alv

FORM set_pf_status USING  extab TYPE slis_t_extab.

  SET PF-STATUS 'STANDARD_FULLSCREEN' .

ENDFORM.                    "SET_PF_STATUS

FORM frm_user_command USING r_ucomm LIKE sy-ucomm
                           selfield TYPE slis_selfield.
  CASE r_ucomm.
    WHEN  '&F03' OR '&F15' OR '&F12'.
    WHEN OTHERS.
  ENDCASE.
***&刷新
*  selfield-refresh = 'X'.
ENDFORM.

FORM BUILD_SORT .
  DATA L_SORT TYPE slis_sortinfo_alv .
         L_SORT-spos .
         L_SORT-fieldname 'DATUM' .
         APPEND L_SORT TO I_SORT.
         L_SORT-spos .
         L_SORT-fieldname 'UNAME' .
         APPEND L_SORT TO I_SORT.
ENDFORM.                    " BUILD_SORT


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值