Performance tuning
Hi guys!
I'll be always in favour to you if u could really help me this out.The program displays all the Sales order(RMA's) who's series starts with number 6 in our company ie for Return Manufacturing Authoriazation.What ever the orders which are returned back has a return reason text of more than 600 char long(for this i'm using FM read_text).The problem here is the we have around 6 fields in the selection screen and the end user only enters three fields ie Plant Org,Document Type(only two values ZORE and ZSRE) and the sales order creation date range.Now when i give a date range of four months it is taking 9 minutes to display the data.And the end user wants the date range of one year.When i give the range for 1 year it is running out of time and displays a runtime erro.Please find the solution for this to improve the performance.For your refrence i'm attaching my coding.Its really urgent.........................Please help..............................
REPORT z_rma_gr_report NO STANDARD PAGE HEADING LINE-SIZE 700.
TYPE-POOLS: slis.
TABLES: ekko,
ekkn,
ekpo,
ekbe,
vbak,
vbap.
SELECTION-SCREEN BEGIN OF BLOCK rmd WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_org FOR vbak-vkorg OBLIGATORY, "PURCHASE ORG IMR928388
s_pnt FOR ekbe-werks, "PLANT
s_doc FOR vbak-auart, "DOCUMENT TYPE
s_so FOR vbak-vbeln, "RMA
s_pno FOR ekko-ebeln, "PURCHASE ORDER NUMBER
s_pdate FOR ekbe-budat, "PURCHASE ORDER DATE
s_cdate FOR vbak-erdat OBLIGATORY. "SO CREATION DATE
SELECTION-SCREEN END OF BLOCK rmd.
TYPES : BEGIN OF ty_itab,
rma LIKE vbak-vbeln,
enpointe_po LIKE ekkn-ebeln,
po_line_item LIKE ekkn-ebelp,
vendor_no LIKE vbap-zzp_lifnr,
vendor_name LIKE lfa1-name1,
material_doc LIKE ekbe-belnr,
gr_rev_date LIKE ekbe-budat,
rma_return(600) TYPE c,
END OF ty_itab.
TYPES: BEGIN OF ty_vbak,
vbeln TYPE vbak-vbeln,
erdat TYPE vbak-erdat,
auart TYPE vbak-auart,
END OF ty_vbak.
TYPES: BEGIN OF ty_vbap,
vbeln TYPE vbap-vbeln,
posnr TYPE vbap-posnr,
vgbel TYPE vbap-vgbel,
vgpos TYPE vbap-vgpos,
zzp_lifnr TYPE vbap-zzp_lifnr,
END OF ty_vbap.
TYPES: BEGIN OF ty_ekkn,
ebeln TYPE ekkn-ebeln,
ebelp TYPE ekkn-ebelp,
vbeln TYPE ekkn-vbeln,
vbelp TYPE ekkn-vbelp,
loekz TYPE ekkn-loekz,
END OF ty_ekkn.
TYPES: BEGIN OF ty_ekbe,
ebeln TYPE ekbe-ebeln,
ebelp TYPE ekbe-ebelp,
belnr TYPE ekbe-belnr,
bewtp TYPE ekbe-bewtp,
bwart TYPE ekbe-bwart,
budat TYPE ekbe-budat,
END OF ty_ekbe.
TYPES: BEGIN OF ty_ekko,
ebeln TYPE ekko-ebeln,
lifnr TYPE ekko-lifnr,
END OF ty_ekko.
TYPES: BEGIN OF ty_lfa1,
lifnr LIKE lfa1-lifnr,
name1 LIKE lfa1-name1,
END OF ty_lfa1.
DATA: t_itab TYPE STANDARD TABLE OF ty_itab WITH NON-UNIQUE DEFAULT KEY
INITIAL SIZE 10 WITH HEADER LINE .
DATA: w_fieldcat TYPE slis_fieldcat_alv.
DATA: t_fieldcat TYPE slis_t_fieldcat_alv.
DATA: t_vbak TYPE ty_vbak OCCURS 0 WITH HEADER LINE.
DATA: t_vbap TYPE ty_vbap OCCURS 0 WITH HEADER LINE.
DATA: t_ekko TYPE ty_ekko OCCURS 0 WITH HEADER LINE .
DATA: t_ekkn TYPE ty_ekkn OCCURS 0 WITH HEADER LINE.
DATA: t_ekbe TYPE ty_ekbe OCCURS 0 WITH HEADER LINE.
DATA: t_lfa1 TYPE ty_lfa1 OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF t_line OCCURS 0.
INCLUDE STRUCTURE tline.
DATA: END OF t_line.
START-OF-SELECTION.
PERFORM rma_sales.
END-OF-SELECTION.
PERFORM display_data.
*& Form t_fieldcat
Subroutine for fielcat and alv_list_display
FORM display_data.
PERFORM fieldcat.
PERFORM alv_list_display.
ENDFORM. "display_data
*& Form fieldcat
For the output field Columns
FORM fieldcat.
CLEAR w_fieldcat.
w_fieldcat-col_pos = '1'.
w_fieldcat-fieldname = 'RMA'.
w_fieldcat-seltext_l = 'RMA'.
w_fieldcat-ref_fieldname = 'VBELN'.
APPEND w_fieldcat TO t_fieldcat.
CLEAR w_fieldcat.
w_fieldcat-col_pos = '2'.
w_fieldcat-fieldname = 'ENPOINTE_PO'.
w_fieldcat-ref_fieldname = 'EBELN'.
w_fieldcat-seltext_l = 'ENPOINTE PO#'.
APPEND w_fieldcat TO t_fieldcat.
CLEAR w_fieldcat.
w_fieldcat-col_pos = '3'.
w_fieldcat-fieldname = 'PO_LINE_ITEM'.
w_fieldcat-ref_fieldname = 'EBELP'.
w_fieldcat-seltext_l = 'PO Line Item'.
APPEND w_fieldcat TO t_fieldcat.
CLEAR w_fieldcat.
w_fieldcat-col_pos = '4'.
w_fieldcat-fieldname = 'VENDOR_NO'.
w_fieldcat-ref_fieldname = 'ZZP_LIFNR'.
w_fieldcat-seltext_l = 'Vendor No'.
APPEND w_fieldcat TO t_fieldcat.
CLEAR w_fieldcat.
w_fieldcat-col_pos = '5'.
w_fieldcat-fieldname = 'VENDOR_NAME'.
w_fieldcat-ref_fieldname = 'NAME1'.
w_fieldcat-seltext_l = 'Vendor Name'.
APPEND w_fieldcat TO t_fieldcat.
CLEAR w_fieldcat.
w_fieldcat-col_pos = '6'.
w_fieldcat-fieldname = 'MATERIAL_DOC'.
w_fieldcat-ref_fieldname = 'BELNR'.
w_fieldcat-seltext_l = 'Material Do#(Reversal)'.
APPEND w_fieldcat TO t_fieldcat.
CLEAR w_fieldcat.
w_fieldcat-col_pos = '7'.
w_fieldcat-fieldname = 'GR_REV_DATE'.
w_fieldcat-ref_fieldname = 'BUDAT'.
w_fieldcat-seltext_l = 'GR Reversal Date'.
APPEND w_fieldcat TO t_fieldcat.
CLEAR w_fieldcat.
w_fieldcat-col_pos = '8'.
w_fieldcat-fieldname = 'RMA_RETURN'.
w_fieldcat-outputlen = 600.
w_fieldcat-datatype = 'CHAR'.
w_fieldcat-seltext_l = 'RMA(Return Reason Details)'.
APPEND w_fieldcat TO t_fieldcat.
ENDFORM. "fieldcat
*& Form alv_list_display
Displaying the output
FORM alv_list_display.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = sy-repid
it_fieldcat = t_fieldcat
TABLES
t_outtab = t_itab.
ENDFORM. "alv_list_display
*& Form rma_sales
*Queries for Getting the Sales order Number and its corresponding PO,
*Line Item,Material Doc and Reversal date values.
FORM rma_sales.
SELECT vbeln
erdat
auart
FROM vbak
INTO TABLE t_vbak
WHERE vbeln IN s_so "Sales order
AND erdat IN s_cdate "Sales order creation date
AND auart IN s_doc "Document type
AND vkorg IN s_org. "IMR928535
SORT t_vbak BY vbeln.
IF sy-subrc = 0.
SELECT vbeln
posnr
vgbel
vgpos
zzp_lifnr
FROM vbap
INTO TABLE t_vbap
FOR ALL ENTRIES IN t_vbak
WHERE vbeln = t_vbak-vbeln
AND werks IN s_pnt. "IMR928388
IF sy-subrc = 0.
SELECT ebeln
ebelp
vbeln
vbelp
loekz
FROM ekkn INTO TABLE t_ekkn
FOR ALL ENTRIES IN t_vbap
WHERE ebeln IN s_pno
AND vbeln = t_vbap-vgbel
AND vbelp = t_vbap-vgpos.
AND loekz = ' '. "IMR928535
IF sy-subrc = 0.
SORT t_ekkn BY ebeln ebelp.
DELETE ADJACENT DUPLICATES FROM t_ekkn COMPARING ebeln ebelp."IMR928405
SELECT ebeln
ebelp
belnr
bewtp
bwart
budat
FROM ekbe INTO TABLE t_ekbe
FOR ALL ENTRIES IN t_ekkn
WHERE ebeln = t_ekkn-ebeln
AND ebelp = t_ekkn-ebelp
AND bewtp = 'E'
AND bwart = '122'
AND budat IN s_pdate.
ENDIF.
ENDIF.
ENDIF.
LOOP AT t_vbak.
LOOP AT t_vbap WHERE vbeln = t_vbak-vbeln.
LOOP AT t_ekkn WHERE vbeln = t_vbap-vgbel
AND vbelp = t_vbap-vgpos.
LOOP AT t_ekbe WHERE ebeln = t_ekkn-ebeln "IMR928405
AND ebelp = t_ekkn-ebelp.
t_itab-rma = t_vbak-vbeln.
t_itab-enpointe_po = t_ekkn-ebeln .
t_itab-po_line_item = t_ekkn-ebelp .
t_itab-material_doc = t_ekbe-belnr.
t_itab-gr_rev_date = t_ekbe-budat .
t_itab-vendor_no = t_vbap-zzp_lifnr.
ENDLOOP.
ENDLOOP.
PERFORM vendor_detail.
PERFORM rejection_reason.
ENDLOOP.
PERFORM vendor_detail. "IMR928442
PERFORM rejection_reason.
IF NOT t_itab-rma IS INITIAL.
APPEND t_itab.
ENDIF.
CLEAR t_itab.
ENDLOOP.
ENDFORM. "rma_sales
*& Form vendor_details
*Subroutine for vendor name
FORM vendor_detail.
CLEAR t_lfa1.
REFRESH t_lfa1.
SELECT lifnr
name1 FROM lfa1
INTO TABLE t_lfa1
FOR ALL ENTRIES IN t_vbap
WHERE lifnr = t_vbap-zzp_lifnr.
IF sy-subrc = 0.
SORT t_lfa1 BY lifnr.
DELETE ADJACENT DUPLICATES FROM t_lfa1.
MOVE t_vbap-zzp_lifnr TO t_lfa1-lifnr.
LOOP AT t_lfa1 WHERE lifnr = t_vbap-zzp_lifnr.
READ TABLE t_lfa1 WITH
KEY lifnr = t_vbap-zzp_lifnr
BINARY SEARCH. "IMR928442
MOVE t_lfa1-name1 TO t_itab-vendor_name.
t_itab-vendor_name = t_lfa1-name1.
ENDLOOP.
ENDIF.
ENDFORM. "vendor_detail
*& form rejection_reason
Subroutine for Rma return reasons
FORM rejection_reason. "IMR928405
DATA: i_tdname TYPE thead-tdname.
DATA: l_vbak(10) TYPE c VALUE '0000000000'.
DATA: l_vbap(6) TYPE c VALUE '000000'.
DATA: text1(132) TYPE c,
text2(132) TYPE c,
text3(132) TYPE c,
text4(132) TYPE c,
text5(132) TYPE c.
*REFRESH: t_line. "IMR928521
*CLEAR: t_line.
OVERLAY t_vbak-vbeln WITH l_vbak."IMR928521
OVERLAY t_vbap-posnr WITH l_vbap.
CONCATENATE t_vbak-vbeln t_vbap-posnr INTO i_tdname.
CONDENSE i_tdname.
CALL FUNCTION 'READ_TEXT'
EXPORTING
id = 'Z010'
language = 'E'
name = i_tdname
object = 'VBBP'
TABLES
lines = t_line
EXCEPTIONS
id = 1
language = 2
name = 3
not_found = 4
object = 5
reference_check = 6
wrong_access_to_archive = 7
OTHERS = 8.
CLEAR: t_itab-rma_return.
IF sy-subrc <> 0.
ELSE .
READ TABLE t_line INDEX 1. "IMR928442
IF sy-subrc = 0.
text1 = t_line-tdline.
ENDIF.
READ TABLE t_line INDEX 2.
IF sy-subrc = 0.
text2 = t_line-tdline.
ENDIF.
READ TABLE t_line INDEX 3.
IF sy-subrc = 0.
text3 = t_line-tdline.
ENDIF.
READ TABLE t_line INDEX 4.
IF sy-subrc = 0.
text4 = t_line-tdline.
ENDIF.
READ TABLE t_line INDEX 5.
IF sy-subrc = 0.
text5 = t_line-tdline.
ENDIF.
LOOP AT t_line.
IF sy-tabix GT 5.
EXIT.
ENDIF.
CONCATENATE t_itab-rma_return t_line-tdline INTO t_itab-rma_return.
ENDLOOP.
ENDIF.
ENDIF.
CONCATENATE text1 text2 text3 text4 text5 INTO t_itab-rma_return.
ENDFORM. "vendor_detail
OK - I end up with:
FORM rma_sales.
PERFORM do_reads.
* LOOP AT t_vbak.
* LOOP AT t_vbap WHERE vbeln = t_vbak-vbeln.
* LOOP AT t_ekkn WHERE vbeln = t_vbap-vgbel
* AND vbelp = t_vbap-vgpos.
* LOOP AT t_ekbe WHERE ebeln = t_ekkn-ebeln "IMR928405
* AND ebelp = t_ekkn-ebelp.
* t_itab-rma = t_vbak-vbeln.
* t_itab-enpointe_po = t_ekkn-ebeln .
* t_itab-po_line_item = t_ekkn-ebelp .
* t_itab-material_doc = t_ekbe-belnr.
* t_itab-gr_rev_date = t_ekbe-budat .
**t_itab-vendor_no = t_vbap-zzp_lifnr.
* ENDLOOP.
* ENDLOOP.
** PERFORM vendor_detail.
** PERFORM rejection_reason.
* ENDLOOP.
* PERFORM vendor_detail. "IMR928442
* PERFORM rejection_reason.
* IF NOT t_itab-rma IS INITIAL.
* APPEND t_itab.
* ENDIF.
* CLEAR t_itab.
* ENDLOOP.
ENDFORM. "rma_sales
*& Form do_reads
* text
FORM do_reads .
DATA: vbak_index LIKE sy-tabix,
vbap_index LIKE sy-tabix,
ekkn_index LIKE sy-tabix,
ekbe_index LIKE sy-tabix.
SORT: t_vbak BY vbeln,
t_vbap BY vbeln,
t_ekkn BY vbeln vbelp,
t_ekbe BY ebeln ebelp.
PERFORM get_all_vendors.
LOOP AT t_vbak.
READ TABLE t_vbap WITH KEY
vbeln = t_vbak-vbeln
BINARY SEARCH.
IF sy-subrc = 0.
vbap_index = sy-tabix.
WHILE sy-subrc = 0.
READ TABLE t_ekkn WITH KEY
vbeln = t_vbap-vgbel
vbelp = t_vbap-vgpos
BINARY SEARCH.
IF sy-subrc = 0.
ekkn_index = sy-tabix.
WHILE sy-subrc = 0.
READ TABLE t_ekbe WITH KEY
ebeln = t_ekkn-ebeln
ebelp = t_ekkn-ebelp
BINARY SEARCH.
IF sy-subrc = 0.
ekbe_index = sy-tabix.
WHILE sy-subrc = 0.
t_itab-rma = t_vbak-vbeln.
t_itab-enpointe_po = t_ekkn-ebeln .
t_itab-po_line_item = t_ekkn-ebelp .
t_itab-material_doc = t_ekbe-belnr.
t_itab-gr_rev_date = t_ekbe-budat .
PERFORM: vendor_detail,
rejection_reason.
APPEND t_itab. " ????
ekbe_index = ekbe_index + 1.
READ TABLE t_ekbe INDEX ekbe_index.
IF sy-subrc = 0.
IF t_ekbe-ebeln <> t_ekkn-ebeln OR
t_ekbe-ebelp <> t_ekkn-ebelp.
sy-subrc = 9.
ENDIF.
ENDIF.
ENDWHILE.
ENDIF.
ekkn_index = ekkn_index + 1.
READ TABLE t_ekkn INDEX ekkn_index.
IF sy-subrc = 0.
IF t_ekkn-vbeln <> t_vbap-vgbel OR
t_ekkn-vbelp <> t_vbap-vgpos.
sy-subrc = 9.
ENDIF.
ENDIF.
ENDWHILE.
ENDIF.
vbap_index = vbap_index + 1.
READ TABLE t_vbap INDEX vbap_index.
IF sy-subrc = 0.
IF t_vbap-vbeln <> t_vbak-vbeln.
sy-subrc = 9.
ENDIF.
ENDIF.
ENDWHILE.
ENDIF.
LOOP AT t_vbap WHERE vbeln = t_vbak-vbeln.
LOOP AT t_ekkn WHERE vbeln = t_vbap-vgbel
AND vbelp = t_vbap-vgpos.
LOOP AT t_ekbe WHERE ebeln = t_ekkn-ebeln "IMR928405
AND ebelp = t_ekkn-ebelp.
t_itab-rma = t_vbak-vbeln.
t_itab-enpointe_po = t_ekkn-ebeln .
t_itab-po_line_item = t_ekkn-ebelp .
t_itab-material_doc = t_ekbe-belnr.
t_itab-gr_rev_date = t_ekbe-budat .
ENDLOOP.
ENDLOOP.
ENDLOOP.
PERFORM vendor_detail. "IMR928442
PERFORM rejection_reason.
IF NOT t_itab-rma IS INITIAL.
APPEND t_itab.
ENDIF.
CLEAR t_itab.
ENDLOOP.
ENDFORM. " do_reads
*& Form get_all_vendors
* text
FORM get_all_vendors .
SELECT lifnr
name1 FROM lfa1
INTO TABLE t_lfa1.
SORT t_lfa1 BY lifnr.
ENDFORM. " get_all_vendors
*& Form vendor_details
*Subroutine for vendor name
FORM vendor_detail.
READ TABLE t_lfa1 WITH
KEY lifnr = t_vbap-zzp_lifnr
BINARY SEARCH.
t_itab-vendor_name = t_lfa1-name1.
ENDFORM. "vendor_detail
This is <b>untested</b> and should just be a model. In addition, getting vendor details needed some work.
Rob
Similar Messages
-
Report running for long time & performance tuning
Hi All,
(1). WebI report is running for long time.so what are the steps i need to check for it ?
(2). Can you tell me about performance tuning in BO ?
please help me.....
Thanks
Kumar(1). WebI report is running for long time.so what are the steps i need to check for it ?
The first step is to see if the problem lies in the query on the data source or in webi itself. Depending on the data source there are different ways to extract the query and try to run it against the database. Which source does your report uses?
(2). Can you tell me about performance tuning in BO ?
I would recommend to start by reading the administrator's guide. There is a section about how to improve performance.
Regards,
Stratos -
Oracle 11g Performance tuning approach ?
Hello Experts,
Is it the right forum to follow oracle performance tuning discussions ? If not, let me know what will be the forum to pick up some thread on this subject.
I am looking for performance tuning approach for oracle 11g. I learned there are some new items in 11g in this regard. For persons, who did tuning in earlier versions of Oracle,
what will be the best way adopt to 11 g?
I reviewed the 11g performance tuning guide, but I am looking for some white papers/blogs with case studies and practical approaches. I hope that you have used them.
What are the other sources to pick up some discussions?
Do you mind, share your thoughts?
Thanks in advance.
RIThe best sources of information on performance tuning are:
1. Jonathan Lewis: http://jonathanlewis.wordpress.com/all-postings/
2. Christian Antognini: http://www.antognini.ch/
3. Tanel Poder: http://blog.tanelpoder.com/
4. Richard Foote: http://richardfoote.wordpress.com/
5. Cary Millsap: http://carymillsap.blogspot.com/
and a few dozen others whose blogs you will find cross-referenced in those above. -
Performance tuning of BPEL processes in SOA Suite 11g
Hi,
We are working with a customer for performance tuning of SOA Suite 11g, one of the areas is to tune the BPEL processes. I am new to this and started out with stress testing Hello World process using SOAPUI tool. I would like help with the below topics -
1. How do I interpret the statistics collected during stress testing? Do we have any benchmark set that can indicate that the performance is ok.
2. Do we need to run stress tests for every BPEL process deployed?
2. Is there any performance tuning strategy documentation available? Or can anybody share his/her experiences to guide me?
Thanks in advance!
Sritama1. How do I interpret the statistics collected during stress testing? Do we have any benchmark set that can indicate that the performance is ok.
You need
pay attention to:
java heap usage vs java heap capacity
java eden usage vs java eden capacity
JDBC pool initial connections vs JDBC pool capacity connections
if you are using linux: top
if you are using aix: topas
2. Do we need to run stress tests for every BPEL process deployed?
yes, you need test each BPEL. You can use "Jmeter" tool.
Download Jmeter from here: Apache JMeter - Apache JMeter&trade;
Other tools:
jstat
jstack
jps -v
Enterprise Manager
WebLogic Console
VisualVM
JRockit Mission Control
3. Is there any performance tuning strategy documentation available? Or can anybody share his/her experiences to guide me?
I recommend "Oracle SOA Suite 11g Performance Tuning Cookbook" http://www.amazon.com/Oracle-Suite-Performance-Tuning-Cookbook/dp/1849688842/ref=sr_1_1?ie=UTF8&qid=1378482031&sr=8-1&keywords=oracle+soa+suite+11g+performance+tuning+cookbook -
Performance tuning related issues
hi experts
i am new to performance tuning application. can any one share some stuff(bw3.5& bi7)related to the concern area.send any relavent docs to my id: [email protected] .
thanks in advance
regards
gavaskar
[email protected]hi Gavaskar,
check this, you can download lot of performance materials
Business Intelligence Performance Tuning [original link is broken]
and e-learning -> intermediate course and advance course
https://www.sdn.sap.com/irj/sdn/developerareas/bi?rid=/webcontent/uuid/fe5b0b5e-0501-0010-cd88-c871915ec3bf [original link is broken]
e.g
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/media/uuid/10b589ad-0701-0010-0299-e5c282b7aaad
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/media/uuid/d9fd84ad-0701-0010-d9a5-ba726caa585d
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/media/uuid/8e6183ad-0701-0010-e083-9ab1c6afe6f2
performance tools in bw 3.5
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/media/uuid/07a4f070-0701-0010-3b91-a6bf7644c98f
(here also you can download the presentation by righ click the disk drive icon)
hope this helps. -
[ADF-11.1.2] Proof of view performance tuning in oracle adf
Hello,
Take an example of : http://www.gebs.ro/blog/oracle/adf-view-object-performance-tuning-analysis/
It tells me perfectly how to tune VO to achieve performance, but how to see it working ?
For example: I Set Fetch size of 25, 'in Batch of' set to 1 or 26 I see following SQL Statement in Log
[1028] SELECT Company.COMPANY_ID, Company.CREATED_DATE, Company.CREATED_BY, Company.LAST_MODIFY_DATE, Company.LAST_MODIFY_BY, Company.NAME FROM COMPANY Companyas if it is fetching all the records from table at a time no matter what's the size of Batch. If I am seeing 50 records on UI at a time, then I would expect at least 2 SELECT statement fetching 26 records by each statement if I set Batch Size to 26... OR at least 50 SELECT statement for Batch size set to '1'.
Please tell me how to see view performance tuning working ? How one can say that setting batch size = '1' is bad for performance?Anandsagar,
why don't you just read up on http://download.oracle.com/docs/cd/E21764_01/core.1111/e10108/adf.htm#CIHHGADG
there are more factors influencing performance than just query. Btw, indexing your queries also helps to tune performance
Frank -
Performance tuning in PL/SQL code
Hi,
I am working on already existing PL/SQL code which is written by someone else on validation and conversion of data from a temporary table to base table. It usually has 3.5 million rows. and the procedure takes arount 2.5 - 3 hrs to complete.
Can I enhance the PL/SQL code for better performance ? or, is this OK to take so long to process these many rows?
Thanks!
YoginiCan I enhance the PL/SQL code for better performance ? Probably you can enhance it.
or, is this OK to take so long to process these many rows? It should take a few minutes, not several hours.
But please provide some more details like your database version etc.
I suggest to TRACE the session that executes the PL/SQL code, with WAIT events, so you'll see where and on what time is spent, you'll identify your 'problem statements very quickly' (after you or your DBA have TKPROF'ed the trace file).
SQL> alter session set events '10046 trace name context forever, level 12';
SQL> execute your PL/SQL code here
SQL> exitWill give you a .trc file in your udump directory on the server.
http://www.oracle-base.com/articles/10g/SQLTrace10046TrcsessAndTkprof10g.php
Also this informative thread can give you more ideas:
HOW TO: Post a SQL statement tuning request - template posting
as well as doing a search on 10046 at AskTom, http://asktom.oracle.com will give you more examples.
and reading Oracle's Performance Tuning Guide: http://www.oracle.com/pls/db102/to_toc?pathname=server.102%2Fb14211%2Ftoc.htm&remark=portal+%28Getting+Started%29 -
hi,
I have to do perofrmance for one program, it is taking 67000 secs in back ground for execution and 1000 secs for some varints .It is an ALV report.
please suggest me how to proced to change the code.Performance tuning for Data Selection Statement
<b>http://www.sap-img.com/abap/performance-tuning-for-data-selection-statement.htm</b>Debugger
http://help.sap.com/saphelp_47x200/helpdata/en/c6/617ca9e68c11d2b2ab080009b43351/content.htm
http://www.cba.nau.edu/haney-j/CIS497/Assignments/Debugging.doc
http://help.sap.com/saphelp_erp2005/helpdata/en/b3/d322540c3beb4ba53795784eebb680/frameset.htm
Run Time Analyser
http://help.sap.com/saphelp_47x200/helpdata/en/c6/617cafe68c11d2b2ab080009b43351/content.htm
SQL trace
http://help.sap.com/saphelp_47x200/helpdata/en/d1/801f7c454211d189710000e8322d00/content.htm
CATT - Computer Aided Testing Too
http://help.sap.com/saphelp_47x200/helpdata/en/b3/410b37233f7c6fe10000009b38f936/frameset.htm
Test Workbench
http://help.sap.com/saphelp_47x200/helpdata/en/a8/157235d0fa8742e10000009b38f889/frameset.htm
Coverage Analyser
http://help.sap.com/saphelp_47x200/helpdata/en/c7/af9a79061a11d4b3d4080009b43351/content.htm
Runtime Monitor
http://help.sap.com/saphelp_47x200/helpdata/en/b5/fa121cc15911d5993d00508b6b8b11/content.htm
Memory Inspector
http://help.sap.com/saphelp_47x200/helpdata/en/a2/e5fc84cc87964cb2c29f584152d74e/content.htm
ECATT - Extended Computer Aided testing tool.
http://help.sap.com/saphelp_47x200/helpdata/en/20/e81c3b84e65e7be10000000a11402f/frameset.htm
Just refer to these links...
performance
Performance
Performance Guide
performance issues...
Performance Tuning
Performance issues
performance tuning
performance tuning
You can go to the transaction SE30 to have the runtime analysis of your program.Also try the transaction SCI , which is SAP Code Inspector. -
Performance tuning in CRM server
Hi everyone,
My CRM server working very slow. Idont know the exact reason. My server configuration IBM Xeon processor 3 Ghz 3GB RAM.There are about 25 users. Is this problem with SAP or Hardware.If any one have performance tuning document plz post it.
Thanks,
MuraliChech the following:-
Processor usage
Ram usage
background jobs
how many user at a time
what kind of job they do
Any Network Problem
Increse Work Processor
increase Virtual Ram
And for 25 users, You need System with 2 CPU and 4 Gb Ram
Regards -
Performance tuning in XI, (SAP Note 857530 )
Could any one pls tell me where to find sap notes.
I am looking for "SAP Note 857530 "
Integration process performance(in sap XI).
or how can I view the performance of the integration process ? or exactly how performance tuning is done.
pls help,
Best regards,
verma.Hi,
SAP Note:
Symptom
Performance bottlenecks when executing integration processes.
Other terms
ccBPM
BPE
Performance
Integration Processes
Solution
This note refers to all notes that are concerned with improving the performance of the ccBPM runtime.
This note will be continually updated as improvements are made.
Also read the document "Checklist: Making Correct Use of Integration Processes" in the SAP Library documentation, on SAP Service Marketplace, and in SDN; it contains information about performance issues to bear in mind when you model integration processes.
Refer to the appended notes and maintain the default code changes by using SNOTE, or by importing the relevant service packs. Note that some performance improvements cannot be implemented by using SNOTE and are instead only available in service packs.
Regards
vijaya -
Performance Tuning in JDev11.1.14
Hi Experts,
Any docs to describe how to improve the performance tuning of the ADF (across the layer) application.
JDev 11.1.1.4g
thnkshttp://download.oracle.com/docs/cd/E16764_01/core.1111/e10108/toc.htm
-
Performance tuning in oracle 10g
Hi Guys
i hope all are well,Have a nice day Today
i have discuss with some performance tuning issue
recently , i joined the new project that project improve the efficiency of the applicaton. in this environment oracle plsql langauage are used , so if i need to improve effiency of application what are the step are taken
and what are the way to go through the process improvement
kindly help megenerate statspack/AWR reports
HOW To Make TUNING request
https://forums.oracle.com/forums/thread.jspa?threadID=2174552#9360003 -
Performance tuning in EP6 SP14
Hi,
We just migrated our development EP5 SP6 portal to NW04 EP6 SP14 and are seeing some performance problems with a limited number of users (about 3).
Please point me to some good clear documentation related to performance tuning. Better yet, please tell me some things you have done in your EP6 portal to improve performance.
Any help is greatly appreciated.
Regards,
RickHi
In general we have experienced that NW04 is faster than earlier versions.
One of the big questions is if the response time is SERVER time (used for processing on the J2EE server), NETWORK time (latency and many roundtrips), CLIENT time (rendering, virus-scanning etc) or a combination.
1) Is the capacity on the server ok? CPU utilization and queue lenght high? Memory swapping?
2) A quick optimazation server-side is logging: Plese verify that that log and trace levels are ERROR /FATAL or NONE on J2EE and also avoid logging on IIS and IIS proxy is used
3) Using a HTTP trace you can see if the NW portal for some reason generetes more roundtrips (more GETS) that the old portal for the same content - what is the network latency? Try to do a "ping <server>" from a client pc and see the time (latency) - if it is below 20 ms the network should do a big difference.
4) On the client try to call the portal with anti-virus de-activated if the delta/difference in response times are HUGE your client could be to old? (don't underestimate the client). Maybee the compression should be set different to avoid compres (server) and uncompres (client) - this is a tradeoff with network latency however.
Also client-side caching (in browser) is important.
These are just QUICK point to consider - tuning is complex
BR
Tom Bo -
Hello All,
We have created some reports using Interactive Reporting Studio. The volume of data in that Oracle database are huge and in some tables of the relational database are having above 3-4 crores rows individually. We have created the .oce connection file using the 'Oracle Net' option. Oracle client ver is 10g. We earlier created pivot, chart and report in those .bqy files but had to delete those where-ever possible to decrease the processing time for getting those report generated.
But deleting those from the file and retaining just the result section (the bare minimum part of the file) even not yet helped us out solving the performance issue fully. Still now, in some reports, system gives error message 'Out of Memory' at the time of processing those reports. The memory of the client PCs,wherefrom the reports are being generated are 1 - 1.5 GB. For some reports, even it takes 1-2 hours for saving the results after process. In some cases, the PCs gets hanged at the time of processing. When we extract the query of those reports in sql and run them in TOAD/SQL PLUS, they take not so much time like IR.
Would you please help us out in the aforesaid issue ASAP? Please share your views/tips/suggestions etc in respect of performance tuning for IR. All reply would be highly appreciated.
Regards,
RajSQL + & Toad are tools that send SQL and spool results; IR is a tool that sends a request to the database to run SQL and then fiddles with the results before the user is even told data has been received. You need to minimize the time spent by IR manipulating results into objects the user isn't even asking for.
When a request is made to the database, Hyperion will wait until all of the results have been received. Once ALL of the results have been received, then IR will make multiple passes to apply sorts, filters and computed items existing in the results section. For some unknown reason, those three steps are performed more inefficiently then they would be performed in a table section. Only after all of the computed items have been calculated, all filters applied and all sorts sorted, then IR will start to calculate any reports, charts and pivots. After all that is done, the report stops processing and the data has been "returned"
To increase performance, you need to fine tune your IR Services and your BQY docs. Replicate your DAS on your server - it can only transfer 2g before it dies, restarts and your requested document hangs. You can replicated the DAS multiple times and should do so to make sure there are enough resources available for any concurrent users to make necessary requests and have data delivered to them.
To tune your bqy documents...
1) Your Results section MUST be free of any sorts, filters, or computed items. Create a staging table and put any sorts or local filters there. Move as many of your computed items to your database request line and ask the database to make the calculation (either directly or through stored procedures) so you are not at the mercy of the client machine. Any computed items that cannot be moved to the request line, need to be put on your new staging table.
2) Ask the users to choose filters. Programmatically build dynamic filters based on what the user is looking for. The goal is to cast a net only as big as the user needs so you are not bringing back unnecessary data. Otherwise, you will bring your server and client machines to a grinding halt.
3) Halt any report pagination. Built your reports from their own tables and put a dummy filter on the table that forces 0 rows in the table until the report is invoked. Hyperion will paginate every report BEFORE it even tells the user it has results so this will prevent the user from waiting an hour while 1000s of pages are paginated across multiple reports
4) Halt any object rendering until request. Same as above - create a system programmically for the user to tell the bqy what they want so they are not waiting forever for a pivot and 2 reports to compile and paginate when they want just a chart.
5) Saved compressed documents
6) Unless this document can be run as a job, there should be NO results stored with the document but if you do save results with the document, store the calculations too so you at least don't have to wait for them to pass again.
7) Remove all duplicate images and keep the image file size small.
Hope this helps!
PS: I forgot to mention - aside from results sections, in documents where the results are NOT saved, additional table sections take up very, very, very small bits of file size and, as long as there are not excessively larger images the same is true for Reports, Pivots and Charts. Additionally, the impact of file size only matters when the user is requesting the document. The file size is never an issue when the user is processing the report because it has already been delivered to them and cached (in workspace and in the web client)
Edited by: user10899957 on Feb 10, 2009 6:07 AM -
Performance tuning in progress
Due to performance issues caused by high traffic, if you see
a blank page, just go to Create to start using kuler. Performance
tuning is in progress.Hello, I'm the lead developer on kuler. Over the weekend we
added a new database server as well as made many performance
enhancements to the site. The kuler site is a lot more stable now
and you should not experience the slowdowns previously encountered.
Thanks,
Tim Strickland -
Hi All,
Can any one help me to important OSS Notes in CRM performance tuning, CRMIC webclient performance, web client channel performance.
Thanks & Regards,
SandeepHi Sandeep,
Please take a look at the following SAP NOTES for performance tuning in CRM 2007 Webclient:
Note 1048388 - General Performance improvements of BSP transactions
Note 1228076 - CRM Web UI: Frontend performance DDLB and input changes
Note 1246144 - Advanced Search right side hidden when resolution: 1024X768
Note 1242599 - IE7: Message # shines through the "More" dropbox
Note 1240769 - Native DDLB value not set when its disabled
Note 1237437 - Config Mode: FireFox support and Visual enhancements
Note 1230443 - Scrollbar missing or not showing up on some CRM views
Best Regards,
Gabriel
Maybe you are looking for
-
How to add a field in a table control of the subscreen 6103 of tcode f-03
hi abap gurus....i m new to abap and this is my first post ..i m hoping for a reply soon as it is urgent.... my requirement is to add a field PAYR-CHECF to a table control of the subscreen 6103 of tcode f-03
-
Mail not working in lion.
For all those people that may be having problems with mail, its a simple fix. When you click on mail with lion after the upgrade, your old mail icon may still be there. You must remove that old one from the dock, go to applications, and click on the
-
Reg: Subtotal text in alv grid.
Hi All, I need to display the subtotal text in ALV. If: data: i_layout type slis_layout_alv. Then, we can used i_layout-subtotal_text = my subtotal text. But my declaration is : Data: ls_layout type lvc_s_layo. This dosnt have subtotaltext. I hav
-
Why isn't my iMac compatible with airplay mirroring with the new Mountain Lion upgrade?
Yesterday, I upgraded to the newly released Max OS X Mountain Lion, mainly because I was very interested in the airplay mirroring function that Mountain Lion brings to the table. To my dismay, however, I found that AirPlay is not available on my devi
-
Trouble accessing premium service on more than 1 c...
I am having an issue where I subscribed on my windows desktop but cannot see the premium availability on my macbook. I am on version 5.5.0.2340 of the Skype for mac. Any answers out there how I can use premuim on both without buying again. I am logge