cancel
Showing results for 
Search instead for 
Did you mean: 

OTC scenario RDS

Former Member
0 Kudos

Dear All ,

                  We have one EH for SO for OTC RDS and the EH is updated with information such as outbound delivery etc .

Now if the SO is blocked in some queue or has some issue  , how can we ensure that oubound delivery also gets stucked in the queue since if we don't do that the data is lost for the delivery.

Thanks,

Shubh.

Accepted Solutions (0)

Answers (2)

Answers (2)

former_member190756
Active Contributor
0 Kudos

Hello Shubh,

if the sequence is relevant in your process you must ensure that both changes are in the same queue.

For Single Document processing you could use the Queue Name Extractor that can be defined per Business Process Type (/n/SAPTRX/ASC0TO).

For Mass Document Processing there is no standard concept available.

Best regards,

Steffen

Former Member
0 Kudos

Hello Steffen/Ratnakar,

                                  Thanks a lot for your reply.

We are in the process of performance review for EM and we want to optimize the performance. Customer has some 1000 SO per hour. How can we optimize the no of Queue for Sales order to increase the performance .

Thanks,

Shubh.

former_member190756
Active Contributor
0 Kudos

Hello Shubh,

with this huge amount of data this won't be easy. Especially when you also want to guarantee that messages sent for the EH are handled in the same queue. I think this can only be done with a custom development an needs a deep analysis of your complete scenario.

Best regards,

Steffen

Former Member
0 Kudos

Hi Shubh,

Suggestion on EM Queue Optimization and Performance:

To optimize the queue on performance side and you have to create custom queue names to process large amounts of sales orders as suggested by Steffen. Create 5 or 10 custom queues for Sales Order event handler, so if you create 1000 sales orders in an hour then it would end up and split into 10 queues*100.

Also, you can define queue names last digits to split and process in same queue. 

v_last_digit = vbeln+9(1).

   case v_last_digit.

    when 1 or 2.

concatenate 'Z_SORDER' 'A' into v_queue.

    when 3 or 4.

      concatenate 'Z_SORDER' 'B' into v_queue.

    when 5 or 6.

concatenate 'Z_SORDER' 'C' into v_queue.

    when 7 or 8.

concatenate 'Z_SORDER' 'D' into v_queue.

    when 9 or 0.

concatenate 'Z_SORDER' 'E' into v_queue.

  endcase.

   condense v_queue.


Source from Kevin’s blog post where he suggested to define the queue names.

If one queue failed in Sales Order then other queues will process without any issues.  Also, this will be easy to split LUW to process in different queues and you can consult with ABAP’er and Basis team to route the queues to different application servers if they can.  Refer this queue template /SAPTRX/QUEUE_NAME_TEMPLATE, where you can copy this template and write custom function based on this requirement.

SAP standard Function module /SAPTRX/QUEUE_NAME_DETERMINE determines whether it has to determine custom queue or standard queue EM_*(Business Process Type).

We cannot hold failed queues for more than one hour, so you can implement CCMS Alert monitoring to trigger alert immediately to support team inbox email /mobile applications (consulting SAP OSS notes are available online).

Let me know your outcome and progress, we can suggest you ongoing development.

Regards

GGOPII

former_member190756
Active Contributor
0 Kudos

Yes, this would work for single document processing. But during mass processing it cannot work as you can give only one queue name per call to the Application Interface.

Best regards,

Steffen

Former Member
0 Kudos

HI,

Event messages can be posted in EM before creation of event handler.

In that case, Event messages will be processed automatically once event handler get created.

Also you would be able to find the event message data in the unprocessed event message list before creation of event handler and automatically transfered to processed event message list after creation of event handler.