Subscribe

RSS Feed (xml)

Powered By

Skin Design:
Free Blogger Skins

Powered by Blogger

Sunday, March 2, 2008

ABAP Program for Detects the "heavy" ABAP programs of a certain period of time: data collector - report

*
* This program creates a sequential file of long running ABAPs.
* Later, with the ZHEAVYLS program, we can figure out the
* "heavy" ABAPs of a given period of time, by interpreting the
* sequential file.
* The program creates a snapshot every 5 minutes, of the workpocesses
* on the different app. servers and db. server, running ABAPs
* longer then 5 minutes.
*
REPORT ZHEAVYPR.

DATA: OUTPUT_FILE(40) VALUE '/oracle/SID/sapreorg/heavy_abaps'.
DATA: DEST(8).DATA: WITH_CPU TYPE X VALUE 10,
SRVNAME LIKE SPFID-APSERVER.
DATA: BEGIN OF SRV_TBL OCCURS 100.
INCLUDE STRUCTURE MSXXLIST.
DATA END OF SRV_TBL.
DATA: BEGIN OF WPLIST OCCURS 30.
INCLUDE STRUCTURE WPINFOS.
DATA: END OF WPLIST.
DATA: BEGIN OF LOC_WPLIST OCCURS 30.
INCLUDE STRUCTURE WPINFO.
DATA: END OF LOC_WPLIST.
DATA: BEGIN OF WPINFO OCCURS 30.
INCLUDE STRUCTURE WPINFO.
DATA: END OF WPINFO.
DATA: BEGIN OF PFNORM OCCURS 30.
INCLUDE STRUCTURE PFNORM.
DATA: END OF PFNORM.
DATA: BEGIN OF O,
1(10), 2(8), 3(8), 4(3), 5(8), 6(8),
END OF O.


CALL FUNCTION 'TH_SERVER_LIST' DESTINATION '????????'
TABLES
LIST = SRV_TBL.

REFRESH WPLIST.
LOOP AT SRV_TBL.
SRVNAME = SRV_TBL-NAME.
REFRESH LOC_WPLIST.
WITH_CPU = 1.
CALL FUNCTION 'TH_WPINFO' DESTINATION '???????'
EXPORTING
SRVNAME = SRVNAME
TABLES
WPLIST = LOC_WPLIST
EXCEPTIONS
OTHERS = 1.
IF SY-SUBRC = 0.
LOOP AT LOC_WPLIST.
MOVE-CORRESPONDING LOC_WPLIST TO WPLIST.
WPLIST-APSERVER = SRVNAME.
APPEND WPLIST.
ENDLOOP.
ENDIF.
ENDLOOP.
OPEN DATASET OUTPUT_FILE FOR APPENDING IN TEXT MODE.
LOOP AT WPLIST.
DEST = WPLIST-APSERVER.

CALL FUNCTION 'TH_WP_DETAIL_INFO' DESTINATION DEST
EXPORTING
WP = WPLIST-WP_NO
WITH_CPU = WITH_CPU
IMPORTING
WPINFO = WPINFO
PFNORM = PFNORM.
IF NOT WPINFO-WP_REPORT IS INITIAL AND WPINFO-WP_ELTIME > 310.
* write: / sy-datum no-gap, sy-uzeit, dest, ' ',wplist-wp_typ, ' ',
* wpinfo-wp_eltime, ' ', wpinfo-wp_report.
O-1 = SY-DATUM. O-2 = SY-UZEIT.
O-3 = DEST. O-4 = WPLIST-WP_TYP.
O-5 = WPINFO-WP_ELTIME. O-6 = WPINFO-WP_REPORT.
TRANSFER O TO OUTPUT_FILE.
ENDIF.
ENDLOOP.
CLOSE DATASET OUTPUT_FILE.

No comments: