Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Performance tuning for BDC program

Former Member
0 Likes
1,693

Is there any special method for performance tuning for the BDC program. Is it different that the normal performance tuning?

Regards,

Subhasish

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,321

No its not different from performance tuning of any other program.

regards,

Ravi

8 REPLIES 8
Read only

Former Member
0 Likes
1,322

No its not different from performance tuning of any other program.

regards,

Ravi

Read only

Former Member
0 Likes
1,321

I donn think there is any different techniques for BDC.

Please goto transaction SE30 for performance tuning tips and tricks.

regards,

Sumit.

Read only

Former Member
0 Likes
1,321

Subhasish,

You should use the same pefrormance tunning methods like <b>SE30</b> for BDC as well.

rgds,

TM

Read only

Former Member
0 Likes
1,321

no same for all .

ST05,SE30..

use COMMITWORK. after tecords update.

little bit hepful..

Regards,

Ramesh.

Read only

Former Member
0 Likes
1,321

Subhasish,

Here are some useful transactions to help you.

SM50 – Process Overview

SM51 – App. Servers Overview

STAT – Display Statistical Records

ST05 – SQL Trace

SE30 – Runtime Analysis

ST03 – Analysis of Workload

DB02 – Database Performance : Tables and Indexes.

DB05 – Analysis of Table w.r.t. Indexed Fields

ST04 – Database Performance Analysis : Oracle View

SM66 – Global Work Process Overview (Over All App Servers)

Regards

David

Read only

Former Member
0 Likes
1,321

Hi Subhasish,

There is no hard and fast rule to improve performance for BDC programs. The following guidelines are useful.

1) Try to reduce Nested LOOPS if any.

2) Avoid select statements inside the LOOP.

3) Use READ TABLE with Binary Search using the key fields(The internal table should be sorted).

4) If you are using Transactions like IA06(Change Task List), ME22(PO change) etc. try to include all the line items at one shot for the corresponding (it can be create, change) header.

Regards,

Arun Sambargi.

Message was edited by: Arun Sambargi

Read only

Former Member
0 Likes
1,321

Better Option is Going for BAPI , adv of BAPI is u can avoid Screen Flow.

Regards

Prabhu

Read only

Former Member
0 Likes
1,321

Hi Subhasish,

Not exactly performance tuning for BDC but a slight modification can improve performance of the program if BDC is involved with a very large volume of data.

Instead of calling the BDC performs like:

PERFORM bdc_dynpro      USING 'SAPMF05A' '0122'.

PERFORM bdc_field       USING 'BDC_CURSOR'

                                'BKPF-BKTXT'.

we can demodularize these performs and directly write the code commenting the performs like :

*PERFORM bdc_dynpro      USING 'SAPMF05A' '0122'.

CLEAR it_bdcdata.

  it_bdcdata-program  = 'SAPMF05A'.

  it_bdcdata-dynpro   =  '0122'.

  it_bdcdata-dynbegin = c_x.

  APPEND it_bdcdata.

*PERFORM bdc_field       USING 'BDC_CURSOR'

*                                'BKPF-BKTXT'.

    CLEAR it_bdcdata.

    it_bdcdata-fnam = 'BDC_CURSOR'.

    it_bdcdata-fval = 'BKPF-BKTXT'.

    APPEND it_bdcdata.

 

and in case of field performs in which variables are passed, it is better to use the IF..ENDIF condition unlike above where we were dealing with text.

Eg:

* PERFORM bdc_field       USING 'BKPF-WAERS'

*                                wa_bsis-waers.

  IF wa_bsis-waers <> space.

    CLEAR it_bdcdata.

    it_bdcdata-fnam = 'BKPF-WAERS'.

    it_bdcdata-fval = wa_bsis-waers.

    APPEND it_bdcdata.

  ENDIF.

In this way we can save the small time needed in calling the module. Implemented this in a program and was able to save more than 20mins because of this change when dealing with around 26000 lines.

This demodularization should be done very carefully and should be properly commented or else this could lead to big mess.

Thanks

Shivam