cancel
Showing results for 
Search instead for 
Did you mean: 

How to ordered messages in a queue ?

Joseph_BERTHE
Active Contributor
0 Kudos

Hi,

When a Communication channel is stoped, all the messages are stored into a queue until the CC changed its status.

When we start the CC, the waiting messages are sent but not in right order.

How can I force a chronological order when CC starts ?

Regard

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

if the order of messages should be kept you need to use EOIO (exactly once in order) as Quality of service in cour communication channel! I think you use EO (exactly once) at the moment - which means parallel processing. EOIO is sequential processing.

Regards,

Kai

Joseph_BERTHE
Active Contributor
0 Kudos

Ok, but the problem with EOIO is when an error is raised, then all the children message are stoped (Hold status). I do not want that behaviour because it need a human action. In my flow, some error shouild appear but they are not dependent for the other messages.

Is there another solution ?

Former Member
0 Kudos

But this is the nature of the solution. You may not able to get the sweet whiout the bitter. EOIO will rovide the most solid solution to your requirement I guess. The problem with held messages in case of a processing error is true - but if you want to keep your message order, then I think it's best to manually decide whether I want to bypass a failed message or if I want to do a retry after I fixed to problem!

Regards,

Kai

former_member192295
Active Contributor
0 Kudos

Hi,

We can clear hold messages from queue by using sap standard program RSQIWKEX (to execute this program we need to give queue name as input). We can execute this program in background, whenever message hold in queue automatically hold message will be clear from queue and immediate next message will be execute. Bydefault this standard program will restart message only, to remove hold message from queue we need to modify one function module in this program.

Existing function: TRFC_QIN_RESET_LUW in program need to comment this function and add TRFC_QIN_DELETE_LUW function. this function will clear hold mesage from queue.

I hope now clear

Answers (2)

Answers (2)

Former Member
0 Kudos

refer this link

[http://help.sap.com/saphelp_nw70/helpdata/en/41/b714fe5ffc11d5b3ea0050da403d6a/frameset.htm] for Quality of service EOIO

[https://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/3566] [original link is broken] [original link is broken] [original link is broken];

former_member750652
Contributor
0 Kudos

Hi Joseph ,

There is a concept called Queue prioritization which can help us in restricting the order the queues has to be processed(Prioritization).Please refer the following article on the QUEUE PRIORITIZATION.

https://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/60832bd5-f4ff-2b10-8080-c8da8c6dbe8e&overrid...

Thanks,

Ram.

Joseph_BERTHE
Active Contributor
0 Kudos

I'm using PI7.0.

Thanks anyway

Joseph_BERTHE
Active Contributor
0 Kudos

I don't find any solution to my problem.

Nevertheless, I set my message processing to EOIO and I set more control into my mapping and my sender engine.

Thanks for you contribution, I do not put a 10 point to any body but I gave you some point. it was helpful.

Kind regards