Skip to Content
avatar image
Former Member

BAPI_CUSTOMER_CREATEFROMDAT1 issue with parallel processing

Hi Team,

we are creating lakhs (100,000) of customer records at a time using BAPI BAPI_CUSTOMER_CREATEFROMDAT1 using parallel job approach.

Below are the details

1. Fetch the records from HANA schema table using ADBC query.

2. Split the records in to 4 parts ( Ex: 25000 records for single job

3. Call BAPI using SUBMIT programs by sending the records using DB Index.

Export itab to database index indx(zb).

4. Used asynchronous updates BAPI_TRANSACTION_COMMIT with out wait.

Issue :

Creating extra records in ECC side ex: 101000 records when we process 100000 records of HANA schema table.

Tried with SET UPDATE TASK LOCAL with BAPI_TRANSACTION_COMMIT without wait

Tried with SET UPDATE TASK LOCAL with BAPI_TRANSACTION_COMMIT with wait = 'X'



Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

3 Answers

  • Apr 12 at 09:35 PM

    Hi Rajasrikanth,

    Consider reviewing your steps and testing as below.

    2. Delete adjacent duplicates before Split records into 4 parts ( Ex: 25000 records ).

    2.a.Save those records separated by comma into 4 ABAP Flat Files Interface (ex.: client01.txt, client02.txt etc.) into SAP Application Server (ex.: \\...\inbound\client01.txt etc.).

    https://help.sap.com/http.svc/rc/abapdocu_752_index_htm/7.52/en-US/abenfile_interface_statements.htm

    3. Process another program/report to each file created above but regarding 4 different jobs (background mode) and calling BAPI directly using BAPI_TRANSACTION_COMMIT with wait = 'X'.

    Regards,

    Add comment
    10|10000 characters needed characters exceeded

  • Apr 12 at 03:48 PM

    For parallel processing use CALL FUNCTION STARTING NEW TASK and pass data as an input parameter rather than memory export/import.

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      if we use single program it is taking around 17 hours of time for 1000,000( 1 million). So to make it 4 to 5 hours we have created 4 parallel jobs.

      Not sure why the BAPI buffers causing the issue. Internally it is creating multiple customers.

      Regards

      Raja

  • Apr 12 at 03:58 PM

    You may have better luck using CALL FUNCTION STARTING NEW TASK. Idocs would be another option but you may require several different Idoc types (adrmas, cremas, debmas).

    Add comment
    10|10000 characters needed characters exceeded