Application Development 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: 

Performance problem of CALL Transaction CO15

Former Member
0 Kudos

Dear all,

though the production create order confirmation to be made by Call Transaction 'CO15' data has been passed with BDC, speed is terrible and slow:

------------------------------------------------------------------------------

data l_mode like ctu_params-dismode.

refresh bdcdata.

perform bdc_dynpro using 'SAPLCORU' '0400'.
perform bdc_field using 'BDC_CURSOR'
'CORUF-AUFNR'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'CORUF-AUFNR'
zhdrlevel-orderid.

perform bdc_dynpro using 'SAPLCORU' '0410'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'BDC_CURSOR'
'AFRUD-MEINH'.

perform bdc_field using 'CORUF-TEILR'
'X'.
data: x_qta(18).
write zhdrlevel-yield to x_qta.

perform bdc_field using 'AFRUD-LMNGA'
x_qta.

data: lv_data(8).

concatenate tb_log-cpudt+6(2) tb_log-cpudt+4(2)
tb_log-cpudt(4) into lv_data.

data: lv_time(8).

move tb_log-cputm to lv_time.

perform bdc_field using 'AFRUD-ISDD'
lv_data.

perform bdc_field using 'AFRUD-ISDZ'
lv_time.

perform bdc_field using 'AFRUD-IEDD'
lv_data.

perform bdc_field using 'AFRUD-IEDZ'
lv_time.

concatenate sy-datum+6(2) sy-datum+4(2)
sy-datum(4) into lv_data.

perform bdc_field using 'AFRUD-BUDAT'
lv_data.

perform bdc_field using 'AFRUD-LTXA1'
tb_log-zzfile_name.

perform bdc_dynpro using 'SAPLCORU' '0410'.
perform bdc_field using 'BDC_OKCODE'
'=BU'.

move 'N' to l_mode.
move p_mode to l_mode.
refresh gt_messtab.
call transaction l_tcode using bdcdata
mode l_mode
update 'S'
messages into gt_messtab.

Isn't there any method of improving the performance?

I know the bapi BAPI_PRODORDCONF_CREATE_HDR but I do not know the differences

that can be there from BDC process.

Thanks

Regards

4 REPLIES 4

raymond_giuseppi
Active Contributor
0 Kudos

Use asynchronous update (UPDATE 'A') so removing the WAIT option in the executed COMMIT. (Of course I supposed you wont try to read data again too early after execution,) You could even move the call transaction in a RFC call of ABAP4_CALL_TRANSACTION_VB or ABAP4_CALL_TRANSACTION.

Sandra_Rossi
Active Contributor
0 Kudos

Please, format your code with the button "CODE".

Sandra_Rossi
Active Contributor
0 Kudos

Batch input is slow, that's a fact, and you can't accelerate it. The only thing you can do is to parallelize the batch input (do it in several jobs).

iftah_peretz
Active Contributor
0 Kudos

Hi,

Are you experiencing that in online mode? It could be (for various reason, e.g. multiple time-consuming user-exit/BADI/enhancements) that this is a process that takes time either way.