<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: doubt in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/doubt/m-p/2990458#M706304</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;REPORT zstatfile LINE-SIZE 164.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This is an example of how to dig out some interesting performance&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;and statistical data from the STAT file.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;The program creates a rank list of users based upon their database&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;update and read activity. The results are the accumulated database&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;time and row number per user for the different categories:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;insert/delete/modify and sequential/direct read. The results can be&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;sorted by any of these categories.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are a lot more interesting data in the STAT file that can&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;be used to write similar programs.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: STATISTIC_VERSION_USED LIKE  SAPWLPSTRC-VERSION. "SAP Workload: St&lt;/P&gt;&lt;P&gt;DATA: sort_field(20).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;General input parameters: from/to, client, STAT file path&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE t7.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 1(30) f1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 40.&lt;/P&gt;&lt;P&gt;PARAMETERS: fdat LIKE SY-DATUM,&lt;/P&gt;&lt;P&gt;             ftim LIKE SY-UZEIT.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 1(30) f2.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 40.&lt;/P&gt;&lt;P&gt;PARAMETERS: tdat LIKE SY-DATUM,&lt;/P&gt;&lt;P&gt;             ttim LIKE SY-UZEIT.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 1(30) f4.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 40.&lt;/P&gt;&lt;P&gt;PARAMETERS: cli LIKE sy-mandt.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;*SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;*SELECTION-SCREEN COMMENT 1(35) F3.&lt;/P&gt;&lt;P&gt;*SELECTION-SCREEN POSITION 40.&lt;/P&gt;&lt;P&gt;*PARAMETERS: FILE(128) LOWER CASE.&lt;/P&gt;&lt;P&gt;*SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Sort order input&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE t5.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 1(30) f5.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 40.&lt;/P&gt;&lt;P&gt;PARAMETERS: asc RADIOBUTTON GROUP ord,&lt;/P&gt;&lt;P&gt;             desc RADIOBUTTON GROUP ord.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Sort criteria input&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE t6.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 1(30) t1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 62.&lt;/P&gt;&lt;P&gt;PARAMETERS: a1 RADIOBUTTON GROUP SORT.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 1(55) t2.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 62.&lt;/P&gt;&lt;P&gt;PARAMETERS: a2 RADIOBUTTON GROUP SORT.&lt;/P&gt;&lt;P&gt;PARAMETERS: a3 RADIOBUTTON GROUP SORT.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 67.&lt;/P&gt;&lt;P&gt;PARAMETERS: a4 RADIOBUTTON GROUP SORT.&lt;/P&gt;&lt;P&gt;PARAMETERS: a5 RADIOBUTTON GROUP SORT.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 1(55) t3.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 62.&lt;/P&gt;&lt;P&gt;PARAMETERS: a6 RADIOBUTTON GROUP SORT.&lt;/P&gt;&lt;P&gt;PARAMETERS: a7 RADIOBUTTON GROUP SORT.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 67.&lt;/P&gt;&lt;P&gt;PARAMETERS: a8 RADIOBUTTON GROUP SORT.&lt;/P&gt;&lt;P&gt;PARAMETERS: a9 RADIOBUTTON GROUP SORT.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 72.&lt;/P&gt;&lt;P&gt;PARAMETERS: aa RADIOBUTTON GROUP SORT.&lt;/P&gt;&lt;P&gt;PARAMETERS: ab RADIOBUTTON GROUP SORT.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 1(50) t4.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 62.&lt;/P&gt;&lt;P&gt;PARAMETERS: ac RADIOBUTTON GROUP SORT.&lt;/P&gt;&lt;P&gt;PARAMETERS: ad RADIOBUTTON GROUP SORT.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 67.&lt;/P&gt;&lt;P&gt;PARAMETERS: ae RADIOBUTTON GROUP SORT.&lt;/P&gt;&lt;P&gt;PARAMETERS: af RADIOBUTTON GROUP SORT.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 72.&lt;/P&gt;&lt;P&gt;PARAMETERS: ag RADIOBUTTON GROUP SORT.&lt;/P&gt;&lt;P&gt;PARAMETERS: ah RADIOBUTTON GROUP SORT.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Internal tables&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF v1_normal_records OCCURS 100.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE  sapwlstatr.&lt;/P&gt;&lt;P&gt;DATA: END OF v1_normal_records.&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF v2_normal_records OCCURS 100.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE  sapwlpfnrm.&lt;/P&gt;&lt;P&gt;DATA: END OF v2_normal_records.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF sum OCCURS 100,&lt;/P&gt;&lt;P&gt;         account(32),&lt;/P&gt;&lt;P&gt;         readseqrec TYPE i,&lt;/P&gt;&lt;P&gt;         readseqti TYPE i,&lt;/P&gt;&lt;P&gt;         readdirrec TYPE i,&lt;/P&gt;&lt;P&gt;         readdirti TYPE i,&lt;/P&gt;&lt;P&gt;         updrec TYPE i,&lt;/P&gt;&lt;P&gt;         updti TYPE i,&lt;/P&gt;&lt;P&gt;         delrec TYPE i,&lt;/P&gt;&lt;P&gt;         delti TYPE i,&lt;/P&gt;&lt;P&gt;         insrec TYPE i,&lt;/P&gt;&lt;P&gt;         insti TYPE i,&lt;/P&gt;&lt;P&gt;         sum_rd_row TYPE i,&lt;/P&gt;&lt;P&gt;         sum_rd_tim TYPE i,&lt;/P&gt;&lt;P&gt;         sum_mod_row TYPE i,&lt;/P&gt;&lt;P&gt;         sum_mod_tim TYPE i,&lt;/P&gt;&lt;P&gt;         sum_all_row TYPE i,&lt;/P&gt;&lt;P&gt;         sum_all_tim TYPE i,&lt;/P&gt;&lt;P&gt;END OF sum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Initialize the selection screen&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;   t1 = 'User Name and Report Name'. &lt;/P&gt;&lt;P&gt;   t2 = 'READ: Sequential(row/time) Direct(row/time)'. &lt;/P&gt;&lt;P&gt;   t3 = 'Update(row/time) Delete(row/time) Insert(row/time)'. &lt;/P&gt;&lt;P&gt;   t4 = 'SUM: Read(row/time) Modify(row/time) All(row/time)'. &lt;/P&gt;&lt;P&gt;   t5 = 'Sort'. &lt;/P&gt;&lt;P&gt;   t6 = 'By'. &lt;/P&gt;&lt;P&gt;   t7 = 'Period, Client and STAT file'. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   f1 = 'From: (date/time)'. &lt;/P&gt;&lt;P&gt;   f2 = 'To: (date/time)'. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;F3 = 'STAT file path(only for old stat)'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   f4 = 'Client'. &lt;/P&gt;&lt;P&gt;   f5 = 'Ascending/Descending'. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   fdat = SY-DATUM. ftim = SY-UZEIT.&lt;/P&gt;&lt;P&gt;   fdat = fdat - 1.  ttim = SY-UZEIT.&lt;/P&gt;&lt;P&gt;   tdat = SY-DATUM.&lt;/P&gt;&lt;P&gt;   cli = sy-mandt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Write a page header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;  WRITE: / 'User and Report ' COLOR 2,&lt;/P&gt;&lt;P&gt;              34(15) 'Sequential read' COLOR 2,&lt;/P&gt;&lt;P&gt;              50(15) 'Direct read' COLOR 2,&lt;/P&gt;&lt;P&gt;              66(15) 'Update' COLOR 2,&lt;/P&gt;&lt;P&gt;              82(15) 'Delete' COLOR 2,&lt;/P&gt;&lt;P&gt;              98(15) 'Insert' COLOR 2,&lt;/P&gt;&lt;P&gt;             114(15) 'Sum Read' COLOR 5,&lt;/P&gt;&lt;P&gt;             130(15) 'Sum Modify' COLOR 5,&lt;/P&gt;&lt;P&gt;             146(15) 'Sum All' COLOR 6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE: / 'name' COLOR 2,&lt;/P&gt;&lt;P&gt;             34(6) 'rows' COLOR 2,&lt;/P&gt;&lt;P&gt;             41(8) 'time(ms)' COLOR 2,&lt;/P&gt;&lt;P&gt;             50(6) 'rows' COLOR 2,&lt;/P&gt;&lt;P&gt;             57(8) 'time(ms)' COLOR 2,&lt;/P&gt;&lt;P&gt;             66(6) 'rows' COLOR 2,&lt;/P&gt;&lt;P&gt;             73(8) 'time(ms)' COLOR 2,&lt;/P&gt;&lt;P&gt;             82(6) 'rows' COLOR 2,&lt;/P&gt;&lt;P&gt;             89(8) 'time(ms)' COLOR 2,&lt;/P&gt;&lt;P&gt;             98(6) 'rows' COLOR 2,&lt;/P&gt;&lt;P&gt;            105(8) 'time(ms)' COLOR 2,&lt;/P&gt;&lt;P&gt;            114(6) 'rows' COLOR 5,&lt;/P&gt;&lt;P&gt;            121(8) 'time(ms)' COLOR 5,&lt;/P&gt;&lt;P&gt;            130(6) 'rows' COLOR 5,&lt;/P&gt;&lt;P&gt;            137(8) 'time(ms)' COLOR 5,&lt;/P&gt;&lt;P&gt;            146(6) 'rows' COLOR 6,&lt;/P&gt;&lt;P&gt;            153(8) 'time(ms)' COLOR 6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Main&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Figure out the sort field name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF a1 = 'X'. &lt;/P&gt;&lt;P&gt;     sort_field = 'ACCOUNT'. &lt;/P&gt;&lt;P&gt;  ELSEIF a2 = 'X'. &lt;/P&gt;&lt;P&gt;     sort_field = 'READSEQREC'. &lt;/P&gt;&lt;P&gt;  ELSEIF a3 = 'X'. &lt;/P&gt;&lt;P&gt;     sort_field = 'READSEQTI'. &lt;/P&gt;&lt;P&gt;  ELSEIF a4 = 'X'. &lt;/P&gt;&lt;P&gt;     sort_field = 'READDIRREC'. &lt;/P&gt;&lt;P&gt;  ELSEIF a5 = 'X'. &lt;/P&gt;&lt;P&gt;     sort_field = 'READDIRTI'. &lt;/P&gt;&lt;P&gt;  ELSEIF a6 = 'X'. &lt;/P&gt;&lt;P&gt;     sort_field = 'UPDREC'. &lt;/P&gt;&lt;P&gt;  ELSEIF a7 = 'X'. &lt;/P&gt;&lt;P&gt;     sort_field = 'UPDTI'. &lt;/P&gt;&lt;P&gt;  ELSEIF a8 = 'X'. &lt;/P&gt;&lt;P&gt;     sort_field = 'DELREC'. &lt;/P&gt;&lt;P&gt;  ELSEIF a9 = 'X'. &lt;/P&gt;&lt;P&gt;     sort_field = 'DELTI'. &lt;/P&gt;&lt;P&gt;  ELSEIF aa = 'X'. &lt;/P&gt;&lt;P&gt;     sort_field = 'INSREC'. &lt;/P&gt;&lt;P&gt;  ELSEIF ab = 'X'. &lt;/P&gt;&lt;P&gt;     sort_field = 'INSTI'. &lt;/P&gt;&lt;P&gt;  ELSEIF ac = 'X'. &lt;/P&gt;&lt;P&gt;     sort_field = 'SUM_RD_ROW'. &lt;/P&gt;&lt;P&gt;  ELSEIF ad = 'X'. &lt;/P&gt;&lt;P&gt;     sort_field = 'SUM_RD_TIM'. &lt;/P&gt;&lt;P&gt;  ELSEIF ae = 'X'. &lt;/P&gt;&lt;P&gt;     sort_field = 'SUM_MOD_ROW'. &lt;/P&gt;&lt;P&gt;  ELSEIF af = 'X'. &lt;/P&gt;&lt;P&gt;     sort_field = 'SUM_MOD_TIM'. &lt;/P&gt;&lt;P&gt;  ELSEIF ag = 'X'. &lt;/P&gt;&lt;P&gt;     sort_field = 'SUM_ALL_ROW'. &lt;/P&gt;&lt;P&gt;  ELSEIF ah = 'X'. &lt;/P&gt;&lt;P&gt;     sort_field = 'SUM_ALL_TIM'. &lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'SAPWL_STATREC_READ_FILE' &lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;             read_client = cli&lt;/P&gt;&lt;P&gt;             read_end_date = tdat&lt;/P&gt;&lt;P&gt;             read_end_time = ttim&lt;/P&gt;&lt;P&gt;             read_start_date = fdat&lt;/P&gt;&lt;P&gt;             read_start_time = ftim&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          STATISTIC_FILE         = FILE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;             statistic_version_used = statistic_version_used&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;             v1_normal_records = v1_normal_records&lt;/P&gt;&lt;P&gt;             v2_normal_records = v2_normal_records.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT v2_normal_records.&lt;/P&gt;&lt;P&gt;     v2_normal_records-readseqti = v2_normal_records-readseqti / 1000.&lt;/P&gt;&lt;P&gt;     v2_normal_records-readdirti = v2_normal_records-readdirti / 1000.&lt;/P&gt;&lt;P&gt;     v2_normal_records-updti = v2_normal_records-updti / 1000.&lt;/P&gt;&lt;P&gt;     v2_normal_records-delti = v2_normal_records-delti / 1000.&lt;/P&gt;&lt;P&gt;     v2_normal_records-insti = v2_normal_records-insti / 1000.&lt;/P&gt;&lt;P&gt;    MODIFY v2_normal_records.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT v1_normal_records.&lt;/P&gt;&lt;P&gt;     v1_normal_records-readseqti = v1_normal_records-readseqti / 1000.&lt;/P&gt;&lt;P&gt;     v1_normal_records-readdirti = v1_normal_records-readdirti / 1000.&lt;/P&gt;&lt;P&gt;     v1_normal_records-updti = v1_normal_records-updti / 1000.&lt;/P&gt;&lt;P&gt;     v1_normal_records-delti = v1_normal_records-delti / 1000.&lt;/P&gt;&lt;P&gt;     v1_normal_records-insti = v1_normal_records-insti / 1000.&lt;/P&gt;&lt;P&gt;    MODIFY v1_normal_records.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT v2_normal_records.&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING v2_normal_records TO sum.&lt;/P&gt;&lt;P&gt;    CONCATENATE v2_normal_records-account v2_normal_records-cua_prog&lt;/P&gt;&lt;P&gt;INTO sum-account SEPARATED BY space.&lt;/P&gt;&lt;P&gt;     COLLECT sum.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT v1_normal_records.&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING v1_normal_records TO sum.&lt;/P&gt;&lt;P&gt;    CONCATENATE v1_normal_records-account v1_normal_records-cua_prog&lt;/P&gt;&lt;P&gt;INTO sum-account SEPARATED BY space.&lt;/P&gt;&lt;P&gt;     COLLECT sum.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT sum.&lt;/P&gt;&lt;P&gt;     sum-sum_rd_row = sum-readseqrec + sum-readdirrec.&lt;/P&gt;&lt;P&gt;     sum-sum_rd_tim = sum-readseqti + sum-readdirti.&lt;/P&gt;&lt;P&gt;     sum-sum_mod_row = sum-updrec + sum-delrec + sum-insrec.&lt;/P&gt;&lt;P&gt;     sum-sum_mod_tim = sum-updti + sum-delti + sum-insti.&lt;/P&gt;&lt;P&gt;     sum-sum_all_row = sum-sum_rd_row + sum-sum_mod_row.&lt;/P&gt;&lt;P&gt;     sum-sum_all_tim = sum-sum_rd_tim + sum-sum_mod_tim.&lt;/P&gt;&lt;P&gt;    MODIFY sum.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF asc = 'X'. &lt;/P&gt;&lt;P&gt;    SORT sum BY (sort_field) ASCENDING.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    SORT sum BY (sort_field) DESCENDING.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT sum.&lt;/P&gt;&lt;P&gt;    WRITE: /  sum-account,&lt;/P&gt;&lt;P&gt;               34(7) sum-readseqrec,&lt;/P&gt;&lt;P&gt;               42(7) sum-readseqti,&lt;/P&gt;&lt;P&gt;               54(7) sum-readdirrec,&lt;/P&gt;&lt;P&gt;               58(7) sum-readdirti,&lt;/P&gt;&lt;P&gt;               66(7) sum-updrec,&lt;/P&gt;&lt;P&gt;               74(7) sum-updti,&lt;/P&gt;&lt;P&gt;               82(7) sum-delrec,&lt;/P&gt;&lt;P&gt;               90(7) sum-delti,&lt;/P&gt;&lt;P&gt;               98(7) sum-insrec,&lt;/P&gt;&lt;P&gt;              106(7) sum-insti,&lt;/P&gt;&lt;P&gt;              114(7) sum-sum_rd_row,&lt;/P&gt;&lt;P&gt;              122(7) sum-sum_rd_tim,&lt;/P&gt;&lt;P&gt;              130(7) sum-sum_mod_row,&lt;/P&gt;&lt;P&gt;              138(7) sum-sum_mod_tim,&lt;/P&gt;&lt;P&gt;              146(7) sum-sum_all_row,&lt;/P&gt;&lt;P&gt;              154(7) sum-sum_all_tim.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---" /&gt; END OF PRGORAM -&lt;HR originaltext="-------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 05 Nov 2007 08:01:36 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-11-05T08:01:36Z</dc:date>
    <item>
      <title>doubt</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/doubt/m-p/2990456#M706302</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have internal table with following fields.&lt;/P&gt;&lt;P&gt;Vbeln  netwr sum_netwr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I already calculated sum of netwr for all line item.now I need to send netwr to sum_netwr &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Eg: VBELN   NETWR Sum_of_NETWR &lt;/P&gt;&lt;P&gt;      1000         10                 30&lt;/P&gt;&lt;P&gt;      1000          20                30&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please help me.&lt;/P&gt;&lt;P&gt;To be reward all helpful answers.&lt;/P&gt;&lt;P&gt;JNJ&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 05 Nov 2007 07:46:27 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/doubt/m-p/2990456#M706302</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-05T07:46:27Z</dc:date>
    </item>
    <item>
      <title>Re: doubt</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/doubt/m-p/2990457#M706303</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Just modify your internal table at the end.&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;* Calculate sum.
LOOP AT itab.
  AT LAST.
    SUM.
    w_sum = itab-netwr.
  ENDAT.
ENDLOOP.
* Update internal table
itab-sum_of_netwr = w_sum.
MODIFY itab TRANSPORTING sum_of_netwr WHERE sum_of_netwr IS initial.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 05 Nov 2007 07:58:27 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/doubt/m-p/2990457#M706303</guid>
      <dc:creator>RaymondGiuseppi</dc:creator>
      <dc:date>2007-11-05T07:58:27Z</dc:date>
    </item>
    <item>
      <title>Re: doubt</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/doubt/m-p/2990458#M706304</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;REPORT zstatfile LINE-SIZE 164.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This is an example of how to dig out some interesting performance&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;and statistical data from the STAT file.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;The program creates a rank list of users based upon their database&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;update and read activity. The results are the accumulated database&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;time and row number per user for the different categories:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;insert/delete/modify and sequential/direct read. The results can be&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;sorted by any of these categories.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are a lot more interesting data in the STAT file that can&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;be used to write similar programs.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: STATISTIC_VERSION_USED LIKE  SAPWLPSTRC-VERSION. "SAP Workload: St&lt;/P&gt;&lt;P&gt;DATA: sort_field(20).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;General input parameters: from/to, client, STAT file path&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE t7.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 1(30) f1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 40.&lt;/P&gt;&lt;P&gt;PARAMETERS: fdat LIKE SY-DATUM,&lt;/P&gt;&lt;P&gt;             ftim LIKE SY-UZEIT.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 1(30) f2.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 40.&lt;/P&gt;&lt;P&gt;PARAMETERS: tdat LIKE SY-DATUM,&lt;/P&gt;&lt;P&gt;             ttim LIKE SY-UZEIT.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 1(30) f4.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 40.&lt;/P&gt;&lt;P&gt;PARAMETERS: cli LIKE sy-mandt.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;*SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;*SELECTION-SCREEN COMMENT 1(35) F3.&lt;/P&gt;&lt;P&gt;*SELECTION-SCREEN POSITION 40.&lt;/P&gt;&lt;P&gt;*PARAMETERS: FILE(128) LOWER CASE.&lt;/P&gt;&lt;P&gt;*SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Sort order input&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE t5.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 1(30) f5.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 40.&lt;/P&gt;&lt;P&gt;PARAMETERS: asc RADIOBUTTON GROUP ord,&lt;/P&gt;&lt;P&gt;             desc RADIOBUTTON GROUP ord.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Sort criteria input&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE t6.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 1(30) t1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 62.&lt;/P&gt;&lt;P&gt;PARAMETERS: a1 RADIOBUTTON GROUP SORT.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 1(55) t2.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 62.&lt;/P&gt;&lt;P&gt;PARAMETERS: a2 RADIOBUTTON GROUP SORT.&lt;/P&gt;&lt;P&gt;PARAMETERS: a3 RADIOBUTTON GROUP SORT.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 67.&lt;/P&gt;&lt;P&gt;PARAMETERS: a4 RADIOBUTTON GROUP SORT.&lt;/P&gt;&lt;P&gt;PARAMETERS: a5 RADIOBUTTON GROUP SORT.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 1(55) t3.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 62.&lt;/P&gt;&lt;P&gt;PARAMETERS: a6 RADIOBUTTON GROUP SORT.&lt;/P&gt;&lt;P&gt;PARAMETERS: a7 RADIOBUTTON GROUP SORT.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 67.&lt;/P&gt;&lt;P&gt;PARAMETERS: a8 RADIOBUTTON GROUP SORT.&lt;/P&gt;&lt;P&gt;PARAMETERS: a9 RADIOBUTTON GROUP SORT.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 72.&lt;/P&gt;&lt;P&gt;PARAMETERS: aa RADIOBUTTON GROUP SORT.&lt;/P&gt;&lt;P&gt;PARAMETERS: ab RADIOBUTTON GROUP SORT.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 1(50) t4.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 62.&lt;/P&gt;&lt;P&gt;PARAMETERS: ac RADIOBUTTON GROUP SORT.&lt;/P&gt;&lt;P&gt;PARAMETERS: ad RADIOBUTTON GROUP SORT.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 67.&lt;/P&gt;&lt;P&gt;PARAMETERS: ae RADIOBUTTON GROUP SORT.&lt;/P&gt;&lt;P&gt;PARAMETERS: af RADIOBUTTON GROUP SORT.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 72.&lt;/P&gt;&lt;P&gt;PARAMETERS: ag RADIOBUTTON GROUP SORT.&lt;/P&gt;&lt;P&gt;PARAMETERS: ah RADIOBUTTON GROUP SORT.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Internal tables&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF v1_normal_records OCCURS 100.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE  sapwlstatr.&lt;/P&gt;&lt;P&gt;DATA: END OF v1_normal_records.&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF v2_normal_records OCCURS 100.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE  sapwlpfnrm.&lt;/P&gt;&lt;P&gt;DATA: END OF v2_normal_records.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF sum OCCURS 100,&lt;/P&gt;&lt;P&gt;         account(32),&lt;/P&gt;&lt;P&gt;         readseqrec TYPE i,&lt;/P&gt;&lt;P&gt;         readseqti TYPE i,&lt;/P&gt;&lt;P&gt;         readdirrec TYPE i,&lt;/P&gt;&lt;P&gt;         readdirti TYPE i,&lt;/P&gt;&lt;P&gt;         updrec TYPE i,&lt;/P&gt;&lt;P&gt;         updti TYPE i,&lt;/P&gt;&lt;P&gt;         delrec TYPE i,&lt;/P&gt;&lt;P&gt;         delti TYPE i,&lt;/P&gt;&lt;P&gt;         insrec TYPE i,&lt;/P&gt;&lt;P&gt;         insti TYPE i,&lt;/P&gt;&lt;P&gt;         sum_rd_row TYPE i,&lt;/P&gt;&lt;P&gt;         sum_rd_tim TYPE i,&lt;/P&gt;&lt;P&gt;         sum_mod_row TYPE i,&lt;/P&gt;&lt;P&gt;         sum_mod_tim TYPE i,&lt;/P&gt;&lt;P&gt;         sum_all_row TYPE i,&lt;/P&gt;&lt;P&gt;         sum_all_tim TYPE i,&lt;/P&gt;&lt;P&gt;END OF sum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Initialize the selection screen&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;   t1 = 'User Name and Report Name'. &lt;/P&gt;&lt;P&gt;   t2 = 'READ: Sequential(row/time) Direct(row/time)'. &lt;/P&gt;&lt;P&gt;   t3 = 'Update(row/time) Delete(row/time) Insert(row/time)'. &lt;/P&gt;&lt;P&gt;   t4 = 'SUM: Read(row/time) Modify(row/time) All(row/time)'. &lt;/P&gt;&lt;P&gt;   t5 = 'Sort'. &lt;/P&gt;&lt;P&gt;   t6 = 'By'. &lt;/P&gt;&lt;P&gt;   t7 = 'Period, Client and STAT file'. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   f1 = 'From: (date/time)'. &lt;/P&gt;&lt;P&gt;   f2 = 'To: (date/time)'. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;F3 = 'STAT file path(only for old stat)'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   f4 = 'Client'. &lt;/P&gt;&lt;P&gt;   f5 = 'Ascending/Descending'. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   fdat = SY-DATUM. ftim = SY-UZEIT.&lt;/P&gt;&lt;P&gt;   fdat = fdat - 1.  ttim = SY-UZEIT.&lt;/P&gt;&lt;P&gt;   tdat = SY-DATUM.&lt;/P&gt;&lt;P&gt;   cli = sy-mandt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Write a page header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;  WRITE: / 'User and Report ' COLOR 2,&lt;/P&gt;&lt;P&gt;              34(15) 'Sequential read' COLOR 2,&lt;/P&gt;&lt;P&gt;              50(15) 'Direct read' COLOR 2,&lt;/P&gt;&lt;P&gt;              66(15) 'Update' COLOR 2,&lt;/P&gt;&lt;P&gt;              82(15) 'Delete' COLOR 2,&lt;/P&gt;&lt;P&gt;              98(15) 'Insert' COLOR 2,&lt;/P&gt;&lt;P&gt;             114(15) 'Sum Read' COLOR 5,&lt;/P&gt;&lt;P&gt;             130(15) 'Sum Modify' COLOR 5,&lt;/P&gt;&lt;P&gt;             146(15) 'Sum All' COLOR 6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE: / 'name' COLOR 2,&lt;/P&gt;&lt;P&gt;             34(6) 'rows' COLOR 2,&lt;/P&gt;&lt;P&gt;             41(8) 'time(ms)' COLOR 2,&lt;/P&gt;&lt;P&gt;             50(6) 'rows' COLOR 2,&lt;/P&gt;&lt;P&gt;             57(8) 'time(ms)' COLOR 2,&lt;/P&gt;&lt;P&gt;             66(6) 'rows' COLOR 2,&lt;/P&gt;&lt;P&gt;             73(8) 'time(ms)' COLOR 2,&lt;/P&gt;&lt;P&gt;             82(6) 'rows' COLOR 2,&lt;/P&gt;&lt;P&gt;             89(8) 'time(ms)' COLOR 2,&lt;/P&gt;&lt;P&gt;             98(6) 'rows' COLOR 2,&lt;/P&gt;&lt;P&gt;            105(8) 'time(ms)' COLOR 2,&lt;/P&gt;&lt;P&gt;            114(6) 'rows' COLOR 5,&lt;/P&gt;&lt;P&gt;            121(8) 'time(ms)' COLOR 5,&lt;/P&gt;&lt;P&gt;            130(6) 'rows' COLOR 5,&lt;/P&gt;&lt;P&gt;            137(8) 'time(ms)' COLOR 5,&lt;/P&gt;&lt;P&gt;            146(6) 'rows' COLOR 6,&lt;/P&gt;&lt;P&gt;            153(8) 'time(ms)' COLOR 6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Main&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Figure out the sort field name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF a1 = 'X'. &lt;/P&gt;&lt;P&gt;     sort_field = 'ACCOUNT'. &lt;/P&gt;&lt;P&gt;  ELSEIF a2 = 'X'. &lt;/P&gt;&lt;P&gt;     sort_field = 'READSEQREC'. &lt;/P&gt;&lt;P&gt;  ELSEIF a3 = 'X'. &lt;/P&gt;&lt;P&gt;     sort_field = 'READSEQTI'. &lt;/P&gt;&lt;P&gt;  ELSEIF a4 = 'X'. &lt;/P&gt;&lt;P&gt;     sort_field = 'READDIRREC'. &lt;/P&gt;&lt;P&gt;  ELSEIF a5 = 'X'. &lt;/P&gt;&lt;P&gt;     sort_field = 'READDIRTI'. &lt;/P&gt;&lt;P&gt;  ELSEIF a6 = 'X'. &lt;/P&gt;&lt;P&gt;     sort_field = 'UPDREC'. &lt;/P&gt;&lt;P&gt;  ELSEIF a7 = 'X'. &lt;/P&gt;&lt;P&gt;     sort_field = 'UPDTI'. &lt;/P&gt;&lt;P&gt;  ELSEIF a8 = 'X'. &lt;/P&gt;&lt;P&gt;     sort_field = 'DELREC'. &lt;/P&gt;&lt;P&gt;  ELSEIF a9 = 'X'. &lt;/P&gt;&lt;P&gt;     sort_field = 'DELTI'. &lt;/P&gt;&lt;P&gt;  ELSEIF aa = 'X'. &lt;/P&gt;&lt;P&gt;     sort_field = 'INSREC'. &lt;/P&gt;&lt;P&gt;  ELSEIF ab = 'X'. &lt;/P&gt;&lt;P&gt;     sort_field = 'INSTI'. &lt;/P&gt;&lt;P&gt;  ELSEIF ac = 'X'. &lt;/P&gt;&lt;P&gt;     sort_field = 'SUM_RD_ROW'. &lt;/P&gt;&lt;P&gt;  ELSEIF ad = 'X'. &lt;/P&gt;&lt;P&gt;     sort_field = 'SUM_RD_TIM'. &lt;/P&gt;&lt;P&gt;  ELSEIF ae = 'X'. &lt;/P&gt;&lt;P&gt;     sort_field = 'SUM_MOD_ROW'. &lt;/P&gt;&lt;P&gt;  ELSEIF af = 'X'. &lt;/P&gt;&lt;P&gt;     sort_field = 'SUM_MOD_TIM'. &lt;/P&gt;&lt;P&gt;  ELSEIF ag = 'X'. &lt;/P&gt;&lt;P&gt;     sort_field = 'SUM_ALL_ROW'. &lt;/P&gt;&lt;P&gt;  ELSEIF ah = 'X'. &lt;/P&gt;&lt;P&gt;     sort_field = 'SUM_ALL_TIM'. &lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'SAPWL_STATREC_READ_FILE' &lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;             read_client = cli&lt;/P&gt;&lt;P&gt;             read_end_date = tdat&lt;/P&gt;&lt;P&gt;             read_end_time = ttim&lt;/P&gt;&lt;P&gt;             read_start_date = fdat&lt;/P&gt;&lt;P&gt;             read_start_time = ftim&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          STATISTIC_FILE         = FILE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;             statistic_version_used = statistic_version_used&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;             v1_normal_records = v1_normal_records&lt;/P&gt;&lt;P&gt;             v2_normal_records = v2_normal_records.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT v2_normal_records.&lt;/P&gt;&lt;P&gt;     v2_normal_records-readseqti = v2_normal_records-readseqti / 1000.&lt;/P&gt;&lt;P&gt;     v2_normal_records-readdirti = v2_normal_records-readdirti / 1000.&lt;/P&gt;&lt;P&gt;     v2_normal_records-updti = v2_normal_records-updti / 1000.&lt;/P&gt;&lt;P&gt;     v2_normal_records-delti = v2_normal_records-delti / 1000.&lt;/P&gt;&lt;P&gt;     v2_normal_records-insti = v2_normal_records-insti / 1000.&lt;/P&gt;&lt;P&gt;    MODIFY v2_normal_records.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT v1_normal_records.&lt;/P&gt;&lt;P&gt;     v1_normal_records-readseqti = v1_normal_records-readseqti / 1000.&lt;/P&gt;&lt;P&gt;     v1_normal_records-readdirti = v1_normal_records-readdirti / 1000.&lt;/P&gt;&lt;P&gt;     v1_normal_records-updti = v1_normal_records-updti / 1000.&lt;/P&gt;&lt;P&gt;     v1_normal_records-delti = v1_normal_records-delti / 1000.&lt;/P&gt;&lt;P&gt;     v1_normal_records-insti = v1_normal_records-insti / 1000.&lt;/P&gt;&lt;P&gt;    MODIFY v1_normal_records.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT v2_normal_records.&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING v2_normal_records TO sum.&lt;/P&gt;&lt;P&gt;    CONCATENATE v2_normal_records-account v2_normal_records-cua_prog&lt;/P&gt;&lt;P&gt;INTO sum-account SEPARATED BY space.&lt;/P&gt;&lt;P&gt;     COLLECT sum.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT v1_normal_records.&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING v1_normal_records TO sum.&lt;/P&gt;&lt;P&gt;    CONCATENATE v1_normal_records-account v1_normal_records-cua_prog&lt;/P&gt;&lt;P&gt;INTO sum-account SEPARATED BY space.&lt;/P&gt;&lt;P&gt;     COLLECT sum.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT sum.&lt;/P&gt;&lt;P&gt;     sum-sum_rd_row = sum-readseqrec + sum-readdirrec.&lt;/P&gt;&lt;P&gt;     sum-sum_rd_tim = sum-readseqti + sum-readdirti.&lt;/P&gt;&lt;P&gt;     sum-sum_mod_row = sum-updrec + sum-delrec + sum-insrec.&lt;/P&gt;&lt;P&gt;     sum-sum_mod_tim = sum-updti + sum-delti + sum-insti.&lt;/P&gt;&lt;P&gt;     sum-sum_all_row = sum-sum_rd_row + sum-sum_mod_row.&lt;/P&gt;&lt;P&gt;     sum-sum_all_tim = sum-sum_rd_tim + sum-sum_mod_tim.&lt;/P&gt;&lt;P&gt;    MODIFY sum.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF asc = 'X'. &lt;/P&gt;&lt;P&gt;    SORT sum BY (sort_field) ASCENDING.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    SORT sum BY (sort_field) DESCENDING.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT sum.&lt;/P&gt;&lt;P&gt;    WRITE: /  sum-account,&lt;/P&gt;&lt;P&gt;               34(7) sum-readseqrec,&lt;/P&gt;&lt;P&gt;               42(7) sum-readseqti,&lt;/P&gt;&lt;P&gt;               54(7) sum-readdirrec,&lt;/P&gt;&lt;P&gt;               58(7) sum-readdirti,&lt;/P&gt;&lt;P&gt;               66(7) sum-updrec,&lt;/P&gt;&lt;P&gt;               74(7) sum-updti,&lt;/P&gt;&lt;P&gt;               82(7) sum-delrec,&lt;/P&gt;&lt;P&gt;               90(7) sum-delti,&lt;/P&gt;&lt;P&gt;               98(7) sum-insrec,&lt;/P&gt;&lt;P&gt;              106(7) sum-insti,&lt;/P&gt;&lt;P&gt;              114(7) sum-sum_rd_row,&lt;/P&gt;&lt;P&gt;              122(7) sum-sum_rd_tim,&lt;/P&gt;&lt;P&gt;              130(7) sum-sum_mod_row,&lt;/P&gt;&lt;P&gt;              138(7) sum-sum_mod_tim,&lt;/P&gt;&lt;P&gt;              146(7) sum-sum_all_row,&lt;/P&gt;&lt;P&gt;              154(7) sum-sum_all_tim.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---" /&gt; END OF PRGORAM -&lt;HR originaltext="-------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 05 Nov 2007 08:01:36 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/doubt/m-p/2990458#M706304</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-05T08:01:36Z</dc:date>
    </item>
    <item>
      <title>Re: doubt</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/doubt/m-p/2990459#M706305</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;use the following...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;move the total value into field sum_netwr of your work_area (or header line) &amp;amp;&lt;/P&gt;&lt;P&gt;modify the complete table.&lt;/P&gt;&lt;P&gt;e.g if u have the total value in a variable say L_TOTAL,&lt;/P&gt;&lt;P&gt;use...&lt;/P&gt;&lt;P&gt;MOVE  L_TOTAL TO ITAB-sum_netwr.&lt;/P&gt;&lt;P&gt;MODIFY ITAB WHERE VBELN IS NOT INITIAL TRANSPORTING sum_netwr.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 05 Nov 2007 08:04:55 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/doubt/m-p/2990459#M706305</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-05T08:04:55Z</dc:date>
    </item>
  </channel>
</rss>

