SAP BW BEx Queryの使用状況の統計
お客様が実施しているSAP BWシステムについて1年近く経ちましたが、先日突然需要があり、以前開発したレポートの使用状況を統計したいので、このプログラムがありました.
*&---------------------------------------------------------------------*
*& Report ZBW_BEXQUERY_USAGE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zbw_bexquery_usage.
TABLES:rsddstat_olap.
TYPES: BEGIN OF typ_data,
objname LIKE rsddstat_olap-objname,
stepuid LIKE rsddstat_olap-stepuid,
END OF typ_data.
DATA: gt_data TYPE TABLE OF typ_data WITH HEADER LINE.
TYPES: BEGIN OF typ_line,
objname LIKE rsddstat_olap-objname,
number TYPE p,
END OF typ_line.
DATA: gt_line TYPE TABLE OF typ_line WITH HEADER LINE.
DATA: gt_result TYPE TABLE OF typ_line WITH HEADER LINE.
SELECTION-SCREEN BEGIN OF BLOCK blk01 WITH FRAME.
SELECT-OPTIONS: p_day FOR rsddstat_olap-calday.
SELECTION-SCREEN END OF BLOCK blk01.
START-OF-SELECTION.
PERFORM select_data.
PERFORM show_data.
END-OF-SELECTION.
*&---------------------------------------------------------------------*
*& Form SELECT_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM select_data .
SELECT objname stepuid INTO CORRESPONDING FIELDS OF TABLE gt_data
FROM rsddstat_olap
WHERE calday IN p_day
AND objname NE ''
AND handletp = 'OLAP'
AND STEPTP = 'BEX'
ORDER BY objname stepuid.
DELETE ADJACENT DUPLICATES FROM gt_data.
LOOP AT gt_data.
gt_line-objname = gt_data-objname.
gt_line-number = 1.
COLLECT gt_line.
ENDLOOP.
ENDFORM. " SELECT_DATA
*&---------------------------------------------------------------------*
*& Form SHOW_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM show_data .
LOOP AT gt_line.
WRITE:/ gt_line-objname, gt_line-number.
ENDLOOP.
ENDFORM. " SHOW_DATA