Skip to Content
author's profile photo Former Member
Former Member

Batch Processing in SAP C4C

Hi Experts,

We have requirement to create large number of entries in Target BO from Source BO. We have written ABSL code to create an instances in Target

BO, Its creating slowly when we try with less number of entries (eg: <100) , If we try to create more number of entries (eg:1000 or 10000 or 50000)

It will end up with Dump after taking too much time.

We consult this issue with SAP, we came to know this is an timeout Error at Back-end and SAP is suggested to Optimize the programming logic or try to create with small Batches.

1.Is there any Batch Process to create large number of entries in another BO? If yes, Please suggest any link or documentation. If NO please suggest me any alternative method to achieve.

And below is the code we are using to create an instance's, Please suggest us to optimize the code.

var itemData : elementsof TargetBO;

if (this.Qty > 0)

{

// creating the instances of based on the Qty

var Qty = this.Qty;

while (Qty > 0)

{

var numberRangeObject1 : ID="ID";

itemData.ID = NumberRange.DrawNumber(numberRangeObject1);

itemData.RuleID = this.V_RuleID;

itemData.Desc = this.V_Desc;

itemData.VNumber = ReuseLibrary1.Random_C();

itemData.VStatus = "Created";

// Different NR for Different Types

if (this.V_type == VTypeCode.CO_VALUE)

{

var numberRangeObject2 : ID="Value";

itemData.vSerialNO = NumberRange.DrawNumber(numberRangeObject2);

}

if (this.V_type == VTypeCode.CO_ADMITPASS)

{

var numberRangeObject3 : ID="AdmitPass";

itemData.vSerialNO = NumberRange.DrawNumber(numberRangeObject3);

}

if (this.V_type == VTypeCode.CO_ECODES)

{

var numberRangeObject4 : ID="Ecodes";

itemData.vSerialNO = NumberRange.DrawNumber(numberRangeObject4);

}

var Create = TargetBO.Create(itemData);

Qty = Qty - 1;

this.ToTargetBO = Create; // Association

}

}

Thanks in Advance

Regards

Ravi

Add a comment
10|10000 characters needed characters exceeded

Related questions

2 Answers

  • Posted on Jul 08, 2016 at 04:07 AM

    Hi,

    May be you could use internal communication,


    search "Configure Internal Communication" in help documentation http://help.sap.com/saphelpiis_studio_1602/studio_od_1602.pdf


    also refer: http://scn.sap.com/docs/DOC-73609

    Thanks, Pradeep.

    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Jul 08, 2016 at 12:27 PM

    Just a small unrelated observation:

    You need to add the following code after the while loop to prevent creating huge amounts of instances:

    this.Qty = 0;

    Rationale:

    If you do not reset this.Qty, you will create Qty instances each time this particular code is called again.

    That should speed up your code a lot and keep your database small.

    Best regards,

    Ludger

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.