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

Parallel processing

Former Member
0 Likes
1,122

Is it possible to implement parallel processing in the conversion program using BAPI call ?? I have a requirement to load 2 Million Material records Please guide me the best possible way of programming when data transfer load is this high.

Your help is appreciated.

1 ACCEPTED SOLUTION
Read only

christian_wohlfahrt
Active Contributor
0 Likes
931

Hi!

This is a quite common problem (usually my customers have 'just' 200.000 materials...).

Use LSMW to define the upload and take the IDOC approach. The IDOC interface is very similar to the BAPI, because the IDOC is creating the materials with the BAPI. But you get a very powerfull parallelization with just a view clicks (in the end, when planning the steps to book the IDOC, some in the beginning when you have to maintain the partner profile).

Regards,

Christian

5 REPLIES 5
Read only

Former Member
0 Likes
931

hi,

the best way is if possible split the records into dealable number of records.

santhosh

Read only

Former Member
0 Likes
931

it is advisable to split the file into various files and do a parallel processing...Use CALL Transaction method and execute all processing parallely in background.

Read only

Former Member
0 Likes
931

Yes it is possible to write parallel processing program to process materials using BAPI. Which i used for GR creation.

CALL BAPI_GOODSMVT_CREATE

starting new task w_taskname

destination in group p_srvgrp

performing gr_info on end of task

exporting

wa_gdsmvt_hdr = w_goodsmvt_header

wa_gdsmvt_code = w_goodsmvt_code

w_tstrun = p_test

tables

it_gdsmvt_itm = it_goodsmvt_item

it_gdsmvt_sno = it_goodsmvt_serialnumber

it_ret = it_return

exceptions

communication_failure = 1

system_failure = 2

resource_failure = 3.

case sy-subrc.

when 0.

w_taskname = w_taskname + 1.

w_snd_jobs = w_snd_jobs + 1.

when 1 or 2.

w_excep_flag = 'X'.

when 3.

if w_excep_flag = space.

w_excep_flag = 'X'.

wait until w_rcv_jobs >= w_snd_jobs up to '0.01' seconds.

else.

wait until w_rcv_jobs >= w_snd_jobs up to '0.1' seconds.

endif.

if sy-subrc eq 0.

clear w_excep_flag.

else.

exit.

endif.

I would suggest LSMW for doing the same instead of implementing parallel processing.

Read only

Former Member
0 Likes
931

Hi Sasi

Some codes for parallel processing,

/people/naresh.pai/blog/2005/06/16/parallel-processing-in-abap

/people/sap.user72/blog/2005/04/22/parallel-processing--an-introduction

This would not be the best approach. Create batch jobs and schedule them. They will do the rest. For any failures you can always reprocess the failed records.

Regards

Kathirvel

Read only

christian_wohlfahrt
Active Contributor
0 Likes
932

Hi!

This is a quite common problem (usually my customers have 'just' 200.000 materials...).

Use LSMW to define the upload and take the IDOC approach. The IDOC interface is very similar to the BAPI, because the IDOC is creating the materials with the BAPI. But you get a very powerfull parallelization with just a view clicks (in the end, when planning the steps to book the IDOC, some in the beginning when you have to maintain the partner profile).

Regards,

Christian