Skip to Content
0

Performance problem of CALL Transaction CO15

Dec 22, 2017 at 02:00 PM

127

avatar image
Former Member

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

10 |10000 characters needed characters left characters exceeded

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

0
* Please Login or Register to Answer, Follow or Comment.

3 Answers

Raymond Giuseppi
Dec 22, 2017 at 02:15 PM
0

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.

Share
10 |10000 characters needed characters left characters exceeded
Sandra Rossi Dec 23, 2017 at 10:32 AM
0

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).

Share
10 |10000 characters needed characters left characters exceeded
Iftah Peretz
Jan 05 at 09:13 AM
0

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.

Share
10 |10000 characters needed characters left characters exceeded