TCode for abap program performance testing
Hi
I have tuned a abap program which was consuming lot of time. I still have the old version with diff name. I would like to know the tcodes where in i could see the performance of the program.
regards
Balaji
Hi balaji,
This is kiran Kumar.G.I will give some steps.you better to follow those steps to get ur report performance.
If u r satisfy with my answer give me REWARD POINTS.
HAVE A NICE DAY.
STEPS:
1.OPEN UR REPORT IN SE38 TRANSACTION.
2.SELECT THE MENU PATH
UTILITIES-->MORE UTILITIES-->RUNTIME ANALYSIS
3.SELECT THE PROGRAM RADIO BUTTON AND GIVE UR REPORT NAME THERE.AND CLICK <b>EXECUTE</b> BUTTON
4.IT WILL TAKE U TO ANOTHER SCREEN THERE U CAN EXECUTE UR REPORT AND COME BACK.
5.CLICK ON ANALYZE BUTTON.(PRESENT IN BELOW OF THE SCREEN).
THEN U WILL GET ONE GRAPH
NOTE:
1.IF IT IS RED UR PROGRAM IS HAVING VERY POOR PERFORMANCE
2.IF IT IS GREEN IT IS OK.
ABAP GRAPH : TELLS UR CODING IN THE REPORT.
DATABASE GRAPH : U R RETREIVE DATA FROM DATABASE IN UR REPORT..
SOME STEPS USED TO IMPROVE UR PERFORMANCE:
1. Avoid using SELECT...ENDSELECT... construct and use SELECT ... INTO TABLE.
2. Use WHERE clause in your SELECT statement to restrict the volume of data retrieved.
3. Design your Query to Use as much index fields as possible from left to right in your WHERE statement
4. Use FOR ALL ENTRIES in your SELECT statement to retrieve the matching records at one shot.
5. Avoid using nested SELECT statement, SELECT within LOOPs.
6. Avoid using INTO CORRESPONDING FIELDS OF TABLE. Instead use INTO TABLE.
7. Avoid using SELECT * and Select only the required fields from the table.
8. Avoid nested loops when working with large internal tables.
9. Use assign instead of into in LOOPs for table types with large work areas
10. When in doubt call transaction SE30 and use the examples and check your code
11. Whenever using READ TABLE use BINARY SEARCH addition to speed up the search. Be sure to sort the internal table before binary search. This is a general thumb rule but typically if you are sure that the data in internal table is less than 200 entries you need not do SORT and use BINARY SEARCH since this is an overhead in performance.
12. Use "CHECK" instead of IF/ENDIF whenever possible.
13. Use "CASE" instead of IF/ENDIF whenever possible.
14. Use "MOVE" with individual variable/field moves instead of "MOVE-
CORRESPONDING", creates more coding but is more effcient.
Regards,
Kiran Kumar.G
Similar Messages
-
ABAP Programs Performance Tuning and Web Services
Hi,
Can anyone give me any good material link or eBook on SAP ABAP programs Performance Tuning. What are the things that needs to be done for performance tuning etc..
Also, any material or simple eBook on web services.
my email is [email protected]
Thanks a ton in advance.
Swetha.Check this link ABAP Development Performance Tuning
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/abap/performance%2btuning
Check these threads.
How do you take care of performance issues in your ABAP programs?
http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9bd335c111d1829f0000e829fbfe/frameset.htm -
How to create tcode for modulepool program with selection screen?
hi,
How to create tcode for modulepool program with selection screen?
thanks,
sagarHi,
We need to goto SE80.
In our program we right click on object name and goto create
-> transaction. Enter the module pool program and screen number and save and activate.
Or by SE93 also we can create a transaction code for our program.
Hope ths helps.
plz reward if useful.
thanks,
dhanashri..
Edited by: Dhanashri Pawar on Jul 22, 2008 8:29 AM -
Hi all..
how to create Tcode for print program??? i did the usual way like went se 93 then chose 2nd option (with selection screen) asign the GUI also. but it not working...
without tcode it is working vrey fine..
thanks well in advance..
points will be rewarded..Hi Soumya,
It is normal way like how you create Tcode for executable programs.
But in real time we never creates TCodes for Print Programs, which will get triggered when you print the layout.
<b>Reward points if it useful,</b>
Satish -
Hello everyone! I have created my very first ABAP Query, but I still need to create/assign TCODE for the said report. Can anyone help me with it? Somebody told me to use SE93. I found out that there are 5 options in SE93 to create a TCode, I tried all options but I could not get through it because I was asked for a program name or a transaction. What should I put in there? The query name? Please help.
Thanks!HI Ervyone! Got it Already. To Get the program name of the ABAP Query,
1. Go to SQ01> Query Menu>More Function--> Generate Program
2. Go to SQ01> Query Menu>More Function--> Display Report Name. Copy the Report Name that Will be displayed.
3. Go to SE93 Enter the TCODE that you want to use, then click on Create BUtton. Choose the second option "Program
and Selection Screen (Report Option)". The next screen will ask for your program name, Paste/copy the program
name and save it.
Thanks!
Edited by: Ksbaizas on Jun 22, 2010 3:19 AM -
Hello,
Can anyone tell me how I can create a transport for and ABAP Program. It is currently in DEV but needs to go to test.
ThanksI think you must have created this object as a Local Object. You need to do 2 things here :
Reassign the Development Class to a Z Dev Class.
Use trx code SE38. On the first screen, specify the program name & click on Goto-->Object Directory Entry.
You will get a popup here, change the Dev Class to whatever you have on your side, this will prompt you for a Workbench Transport request. Follow up with Basis to get it to Test. -
Re: Tcode for finding programs
Hi
Is there any tcode for seeing for all the programs, customised programs for shipping side through my development server r testing serverYou can search in se93 transaction
do search like V* ( Sales related)
M* (Purchasing related)
here are important transactions :
check with below standard reports :
Sales summary - VC/2
Display Customer Hierarchy - VDH2
Display Condition record report - V/I6
Pricing Report - V/LD
Create Net Price List - V_NL
List customer material info - VD59
List of sales order - VA05
List of Billing documents - VF05
Inquiries list - VA15
Quotation List - VA25
Incomplete Sales orders - V.02
Backorders - V.15
<b>Outbound Delivery Monitor - VL06o
Incomplete delivery - V_UC</b>Customer
Returns-Analysis - MC+A
Customer Analysis- Sales - MC+E
Customer Analysis- Cr. Memo - MC+I
Deliveries-Due list - VL04
Billing due list - VF04
Incomplete Billing documents - MCV9
Customer Analysis-Basic List - MCTA
Material Analysis(SIS) - MCTC
Sales org analysis - MCTE
Sales org analysis-Invoiced sales - MC+2
Material Analysis-Incoming orders - MC(E
General- List of Outbound deliveries - VL06f
Material Returns-Analysis - MC+M
Material Analysis- Invoiced Sales - MC+Q
Variant configuration Analysis - MC(B
Sales org analysis-Incoming orders - MC(I
Sales org analysis-Returns - MC+Y
Sales office Analysis- Invoiced Sales - MC-E
Sales office Analysis- Returns - MC-A
Shipping point Analysis - MC(U
Shipping point Analysis-Returns - MC-O
<b>Blocked orders - V.14</b>
Order Within time period - SD01
Duplicate Sales orders in period - SDD1
Display Delivery Changes - VL22
Some other transactions :
MM01 - Material master creation
MM02 - Material master change
MM03 - Material master display
XD01 - Customer master Creation
XD02 - Customer master Change
XD03 - Customer master display
XK01 - Vendor master Creation
XK02 - Vendor master Change
XK03 - Vendor master display
Thanks
Seshu -
Import issue for ABAP program in Production Server ?
Hi Experts,
I have an ABAP program which gets executed properly in BW Development server but getting the following error when I am trying to execute it in the BW Production while I could activate the program successfully.
Kindly help me to resolve this issue.
Thanks in advance !!!
Regards,
Gokulkumar RDHi Golkul,
Can you debug the program while execute?
I think there is some hardcoding in the program for checkiing the client and then raised a custom message in the program.
Can you share the coding of the prorgam if possible?
Try to check for any messages raised in the program. Also click on the on the message pop up and see the details on the message and let us know.
Thanks
Amit -
How to setup the environment for doing the Performance Testing?
Hi,
We are planning to start the performance testing for iProcurement Product, Max number of user we are going to use 1000. For this simulation, what are all basic setups need to do for Application Tier, Database Tier,etc... Can anyone suggest what is procedure to setup environment depending upon the load?User Guides for thee rv120W are here:
http://www.cisco.com/en/US/docs/routers/csbr/rv220w/quick_start/guide/rv220w_qsg.pdf
http://www.cisco.com/en/US/docs/routers/csbr/rv120w/administration/guide/rv120w_admin.pdf
and theres some more stuff over on my site:
http://www.linksysinfo.org/index.php?forums/cisco-small-business-routers-and-vpn-solutions.49/ -
How do i create a header template for ABAP programs?
Hi all.
Need a little bit of help here. When you create a new program you get a template with space for comments at the top of the program and basic stuff. If I want to change this template to add areas that we want to have comments on for every program we make at work. How do I do that?
Instead of :
I want to have in a way similar to this:
* Author: *
* Function: *
And so on
I want the words to be there when our developers creates the program.
How can I do that?
BR
KalleAfter I create a new report program, I delete everything but the REPORT line. I then put this code in for my skeleton.
* Created By: Walter Industries (Paul Chapman)
* Created On: 02/29/2008
* Tran Code: ZLMxx
* Program Name: YPTC_REPORT_SKELETON " replace New Progam Name herer
* Program Descr: Configurable Leads Data Query
* Modification Log
* Programmer :Issue: Date : Chg Req. : Description
* Paul Chapman :00000:02/29/2008:DEVK000000:New Program
REPORT yptc_report_skeleton MESSAGE-ID zleads_msg. " replace New Progam Name herer
*_________________________________________________ Tables
TABLES: zpca, cepc, zlmlead.
*_________________________________________________ Constants
CONSTANTS:
line_length TYPE i VALUE 100,
c_tab TYPE x VALUE 9, " x'09'
c_crlf TYPE x VALUE 3338. " x'ODOA'
*_________________________________________________ Types
TYPES: BEGIN OF scr_text_line,
line(line_length) TYPE c,
END OF scr_text_line.
*_________________________________________________ DATA
DATA:
curr_screen_tab(4) TYPE n.
*_________________________________________________ ALV Area
*_________________________________________________ Ranges
RANGES:
r_branch FOR zpca-branch.
*_________________________________________________ Selection Screen
SELECTION-SCREEN:
BEGIN OF TABBED BLOCK tabs FOR 36 LINES,
TAB (20) tab1 USER-COMMAND push1 DEFAULT SCREEN 1010,
TAB (20) tab2 USER-COMMAND push2 DEFAULT SCREEN 1020,
END OF BLOCK tabs.
* Tab1 Options S E L E C T I O N S C R E E N S Tab 01 *
SELECTION-SCREEN BEGIN OF SCREEN 1010 AS SUBSCREEN.
SELECTION-SCREEN: BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
SELECT-OPTIONS:
sdiv FOR cepc-prctr MATCHCODE OBJECT zdivjwh,
ssbrch FOR zlmlead-branch.
SELECTION-SCREEN: END OF BLOCK blk1.
SELECTION-SCREEN: BEGIN OF BLOCK bl10 WITH FRAME TITLE text-010.
PARAMETERS:
cparm1 AS CHECKBOX USER-COMMAND sel,
cparm2 AS CHECKBOX USER-COMMAND sel,
cparm3 AS CHECKBOX USER-COMMAND sel,
cparm4 AS CHECKBOX USER-COMMAND sel,
cparm5 AS CHECKBOX USER-COMMAND sel.
SELECTION-SCREEN: END OF BLOCK bl10.
SELECTION-SCREEN END OF SCREEN 1010.
* Tab 2 Options S E L E C T I O N S C R E E N S Tab 02 *
SELECTION-SCREEN BEGIN OF SCREEN 1020 AS SUBSCREEN.
SELECTION-SCREEN: BEGIN OF BLOCK blk2 WITH FRAME TITLE text-002.
SELECT-OPTIONS:
sctype FOR zlmlead-ctype,
sprfcnt FOR zlmlead-prefcont.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(25) text-201.
SELECTION-SCREEN POSITION 30.
PARAMETERS: rb_opt1 RADIOBUTTON GROUP gr20.
SELECTION-SCREEN COMMENT 34(03) text-991. " Yes
SELECTION-SCREEN POSITION 40.
PARAMETERS: rb_opt2 RADIOBUTTON GROUP gr20.
SELECTION-SCREEN COMMENT 44(03) text-992. " No
SELECTION-SCREEN POSITION 50.
PARAMETERS: rb_opt3 RADIOBUTTON GROUP gr20.
SELECTION-SCREEN COMMENT 54(06) text-993. " Either
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN: END OF BLOCK blk2.
SELECTION-SCREEN: BEGIN OF BLOCK bl20 WITH FRAME TITLE text-020.
PARAMETERS:
cb_opt1 AS CHECKBOX,
cb_opt2 AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN: END OF BLOCK bl20.
SELECTION-SCREEN END OF SCREEN 1020.
*____________________________________________ Screen Actions
AT SELECTION-SCREEN OUTPUT.
PERFORM what_tab_am_i_on.
CASE curr_screen_tab.
WHEN '1010'. " Tab 1
WHEN '1020'. " Tab 2
WHEN OTHERS.
ENDCASE.
PERFORM tab_hide_unhide.
*___________________________________________ Initialization
INITIALIZATION.
* Tab Text
tab1 = 'Tab 1'.
tab2 = 'Tab 2'.
*_________________________________________________ Load of Program
LOAD-OF-PROGRAM.
*_________________________________________________ Start of Selection
START-OF-SELECTION.
PERFORM set_up_branch_range.
*_________________________________________________ End of Selection
END-OF-SELECTION.
*& Form what_tab_am_i_on
FORM what_tab_am_i_on.
LOOP AT SCREEN.
IF screen-name CS 'BLOCK_1010'.
curr_screen_tab = '1010'.
ELSEIF screen-name CS 'BLOCK_1020'.
curr_screen_tab = '1020'.
ENDIF.
ENDLOOP.
ENDFORM. " what_tab_am_i_on
*& Form tab_hide_unhide
FORM tab_hide_unhide.
LOOP AT SCREEN.
CHECK screen-group3 = 'TAB'.
CASE screen-name.
WHEN 'TAB1'.
* IF
* screen-active = 1.
* screen-required = 1.
* screen-input = 1.
* screen-output = 1.
* screen-intensified = 1.
* screen-invisible = 1.
* ELSE.
* screen-active = 0.
* screen-required = 0.
* screen-input = 0.
* screen-output = 0.
* screen-intensified = 0.
* screen-invisible = 0.
* ENDIF.
WHEN 'TAB2'.
* IF
* screen-active = 1.
* ELSE.
* screen-active = 0.
* ENDIF.
ENDCASE.
MODIFY SCREEN.
ENDLOOP.
ENDFORM. " tab_hide_unhide
*& Form set_up_branch_range
FORM set_up_branch_range.
r_branch[] = ssbrch[].
CHECK NOT sdiv IS INITIAL.
r_branch = 'IEQ'.
SELECT branch INTO r_branch-low
FROM zpca
WHERE region = 'JWHCO'
AND division IN sdiv.
APPEND r_branch.
ENDSELECT.
SORT r_branch.
DELETE ADJACENT DUPLICATES FROM r_branch.
ENDFORM. " set_up_branch_range -
Client export for ABAP programs, repository objects cross client objects
Hello,
Let me first explain the scenario here. Our Development system crashed we are rebuilding the development system from a client export of the production. Client does not want migration etc so the only way we want to do it is through client export.
Now the question is whether cross client objects can really be imported through client export KT, KO, KX requests?
I thought it was possible but after successfully importinng the client export (which was taken using profile SAP_EXPC) of the Production client all the customizing has been imported but non of the ABAP programs have been imported.
Can anyone explain how this is done and if it is possible?
Steps I performed:
1] Exported Production client with profile SAP_EXPC
2] Imported the 3 requests KT, KO, KX using command line
tp import <KT req> <SID> U2 client=<my client> pf=<profile path>
tp import <KX req> <SID> U2 client=<my client> pf=<profile path>
tp import <KO req> <SID> U2 client=<my client> pf=<profile path>
3] After successful import ran scc7 which finished successfully
Thank youYou can transport client independent customizing, read sap note [24853 - CC-INFO: Client copy, functionality|https://service.sap.com/sap/support/notes/24853].
But you cannot transport abap repository objects (abap programs) with a client copy.
Can you explain what you mean by "Our Development system crashed". If you still can happily do client copies to that system, then i really wonder what you mean by crashed...
Cheers Michael -
How to create a tcode for abap query
how to create a transaction code for abap query,
i used a single table , my requirment is as i enter the tcode i should get the selectioin screen of my query.Hi
Follow this
. Make a transaction with parameters transaction from se93 .
2. Put START_REPORT in the transaction
3. Check the skip intial screen checkbox
4. in the table control in the end of screen put these values
D_SREPOVARI-REPORTTYPE = AQ
D_SREPOVARI-REPORT = <USER GROUP in WHICH THE QUERY IS CREATED> G
(G stands for GLOBAL AREA:)(Entered after a space)(G should come after 9
chanracters(8 char for user group,one space and then G)
D_SREPOVARI-EXTDREPORT = <QUERY NAME>
refer this:
http://sap.ittoolbox.com/groups/technical-functional/sap-dev/how-to-assign-a-tcode-to-a-sap-query-579623
Regards
Shiva -
How to transport a ABAP program to Test and Production?
I created a ABAP program and used in a Process chain. I did transport to Testing system. I got an error message that program didn't not find when I was trying to run that Process Chain.
How can collect the Program and transport it again? Thanks!steps required.
1) find the name of the program
2) collect it in the transport request.
1)go to the process chains maintaincne and right click on the abap process > to the maintaince screen and note down the name of the program
2) go to se37 type in the program name > display > menu > goto > object directory entry.
3) go to se10 > request and check the attributes of the object >
r3tr-fugr- ( package name ) > select the request and release it.
Regards,
BWer -
ABAP Queary Or SAP Queary Doc/ How to Create Tcode for ABAP queary report
Hi All,
Please send the documentation on ABAP Queary.
How to create transaction code Report developed using ABAP Queary.
Regards
sudheerHi,
Check out these links.
http://help.sap.com/saphelp_46c/helpdata/en/35/26b413afab52b9e10000009b38f974/content.htm
http://www.thespot4sap.com/Articles/SAP_ABAP_Queries_Introduction.asp
Step-by-step guide for creating ABAP query
http://www.sappoint.com/abap/ab4query.pdf
ABAP query is mostly used by functional consultants.
SAP Query
Purpose
The SAP Query application is used to create lists not already contained in the SAP standard system. It has been designed for users with little or no knowledge of the SAP programming language ABAP. SAP Query offers users a broad range of ways to define reporting programs and create different types of reports such as basic lists, statistics, and ranked lists.
Features
SAP Query's range of functions corresponds to the classical reporting functions available in the system. Requirements in this area such as list, statistic, or ranked list creation can be met using queries.
All the data required by users for their lists can be selected from any SAP table created by the customer.
To define a report, you first have to enter individual texts, such as titles, and select the fields and options which determine the report layout. Then you can edit list display in WYSIWYG mode whenever you want using drag and drop and the other toolbox functions available.
ABAP Query, as far as I Believe, is the use of select statements in the ABAP Programming. This needs a knowledge of Open SQL commands like Select,UPdtae, Modify etc. This has to be done only by someone who has a little bit of ABAP experience.
To sum up, SAP queries are readymade programs given by SAP, which the user can use making slight modification like the slection texts, the tables from which the data is to be retrieved and the format in which the data is to be displayed.ABAP queries become imperative when there is no such SAP query existing and also when there is a lot of customizing involved to use a SAP Query directly -
PHYSICAL FILES FOR ABAP PROGRAM
hi friends
i would like to know are there any physical files on os level for the ABAP programs.for example, when we create a customized report for sales in ABAP does SAP also create a corresponding copy on os level. if yes then in which file system .?
we have ECC 5.0 on AIX & use oracle 9i.
thanks in advance.
regards.imran mohd wrote:
> hi friends
>
> i would like to know are there any physical files on os level for the ABAP programs.for example, when we create a customized report for sales in ABAP does SAP also create a corresponding copy on os level. if yes then in which file system .?
>
>
> we have ECC 5.0 on AIX & use oracle 9i.
>
> thanks in advance.
>
> regards.
The code you write in ABAP is not stored on OS-level (at least not in an ABAP-stack system) - it's contained in the database. As for the 'copies' your management wishes (for some ambigous reason) to have - there's no need. The code you write is versionised, so that every change made to the code is automatically documented when you press 'Save'.
That was answering a 'basic' question - but you have made me very curious now: would you mind to explain why you would want a 'copy' of your custom code on OS-level? Any special reason??
Edited by: Mylène Dorias on Jun 9, 2010 1:37 PM typo
Maybe you are looking for
-
Portal navigation missing in portal object (java)
hi, first of all, i hope thats the right forum. i'm trying to write my first portal application/object, but my studio can't find the "com.sapportals.portal.navigation"-package and i cant import and use the navigation classes which i need.. is that a
-
How do I make a Portfolio open in Details view ?
Anytime I create a PDF Portfolio it opens in LAYOUT View in both READER and Acrobat (it was created in Acrobat Acrobat 9 Pro). How can I program the Portfolio open in DETAILS View when a user opens the file in Reader ? (or Acrobat for that matter)
-
My username (email address) has changed. Apps that I purchased with the old username ca not be updated as the password from the old username no longer works and apple can not send me info to an addres that no longer exists. What can I do?
-
hi, I'm working with Antenna House Formatter. When I publish my XML files to PDF and open it with Adobe Reader, the internal links (Xrefs) do not work. When I use another PDF Reader, it works. Can you help me, please?
-
No value could be determined for variable 0P_FVAEX
We are on BW 7.0 and BEx7.0 I have activated BI Content of InfoCube 0WBS_C11 and all it's SAP delivered Query elements. The InfoCube is loaded with data already. When I run any of the query in BEx, I got the same error as below: Initial RANGE-LOW fo