cancel
Showing results for 
Search instead for 
Did you mean: 

IDOC Listener Not invoking xMII transaction for Control Recipe IDOC

Former Member
0 Kudos

Hi,

I have created a generic Listener Transaction. Based on the input IDOC, it has logic to call the appropriate transactions. The routing is configured to call this listener for all IDocs.

Message Type *

Path C:/Lighthammer/JCO/Output/test/

Logic Server Name localhost

User Name

Transaction POListener

Input Params InputParam1

Legacy false

I am using POIT to send Process Order IDOCs to this destination, and CO53 to send Control Recipe.

I can see that the Listener transaction POListener is getting called for Process Orders. But I think POListener is not getting called for Control Recipe. When I send Control Recipe using CO53, the Control Recipe is dumped into the folder 'C:/Lighthammer/JCO/Output/test/' but the listener is not called.

Any direction/inputs to solve this issue is highly appreciated!

Thanks in Advance,

Ravi.

Accepted Solutions (1)

Accepted Solutions (1)

0 Kudos

Ravi,

Make sure that you're using v11.5.3 and not an earlier version. Also, add in a write file action block to generate a file so that you can verify that the transaction is actually running. Hopet this helps.

Sam

Former Member
0 Kudos

Sam,

I am using v11.5 SR3. I have put a write file action in the first block to print the input. For the Process Order, it writes it into a file but not for a Control Recipe. But since it has put the Control Recipe xml in the output folder, I know that its not a configuration issue from my ECC, but some configuration issue on xMII. I have put the tracer on and tried looking into the logs, but there is no data added in any of the logs.

Thanks for your reply.

Ravi.

0 Kudos

Ravi,

Just so that you know the Tracer will only work during design-time and is skipped if run any other way. If you want to "log" what going on use the "Event Logger" action block to do it.

As for your issue, is the * the only thing set for the Routing Rule or do you have anything else added to the drop down list?

Sam

Former Member
0 Kudos

Sam,

I have only a * thing set in the Routing Table. There are no other rules set.

Yeah, I understand that things in the Tracer will be skipped. But I was hoping to see that something in cmsaudit.log that a call was made.

Ravi.

Message was edited by:

Ravi

0 Kudos

Ravi,

This will probably not show up in the audit log either, try looking in the Runner and SOAPRunner logs. Make sure that they are configured to capture data at the "Info" level (Log Management -> Log Configuration). This should display to you what's going on.

Also I believe that the "Event Logger" action message will appear in the User Log.

Sam

Former Member
0 Kudos

Runner and SOAPRunner logs are empty. I can check the log management, but I have the file writer action in the first block that write the input param. That dumps the input for Process Order but not for the Control Recipe. So, I am assuming that the listener transaction 'POListener' is not getting called at all for Control Recipe.

Thanks,

Ravi.

Former Member
0 Kudos

I am using CO53 to send Control Recipe to the RFC destination which I configured as xMII. This is the same as the destination for POIT. But I think the Control Recipe that is generated by CO53 is from CONTROL_RECIPE_DOWNLOAD function. I dont this this is an IDoc. Is this an IDoc?

On the receiving side, will an IDoc Listener configuration work for this one? Or do I need something different. I have checked some documentation and it says to use CONTROL_RECIPE_DOWNLOAD to send from PP-PI to destinations which can take Type 2. I am confused as to how to get this in a PUSH mode (from PP-PI to xMII) than PULL mode.

Any pointers?

Thanks

Ravi.

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Ravi,

the control recipe is not an IDoc, but the CONTROL_RECIPE_DOWNLOAD function which is called by CO53 sends the recipe via RFC (xMII type 1).

We are using the functionality in the following way:

- CO53 sends the control recipe

- xMII has defined a rule with Message Name "CONTROL_RECIPE_DOWNLOAD", Message Type RFC, Transaction "handleControlRecipe", which has a transaction input parameter of type xml "SapControlRecipe"

- in the rule Parameter section we defined that the transaction stores the "ReceivedMessageXML" Parameter which contains the CONTROL_RECIPE_DOWNLOAD xml in "SapControlRecipe" input parameter

Is it a problem for you to define a special rule for the recipe? Then you have no need to use a generic transaction and you can easily work with the CONTROL_RECIPE_DOWNLOAD xml contents.

Regards

Michael

Former Member
0 Kudos

Thanks Michael.

Few questions about defining a rule. What does this exactly mean and where can I define a rule? I think this is something that I can do outside the transaction. If it is Routing rules in IDOC Listener configuration, then I don't see 'Message Type' there. I am using xMII 11.5 SR3.

Thanks Again,

Ravi.

Former Member
0 Kudos

Ravi,

Probably Mike is talking about xMII 12.0 where in now the Message Listeners are capable of processing RFCs & Web Services apart from IDOCs.

Former Member
0 Kudos

But did you go through the blog written by Dipankar?It definitely seems possible in 11.5. Only thing I guess is instead of a * for the Message Type (in routing rules) you need an explicit CONTROL_RECIPE_DOWNLOAD

refer /people/dipankar.saha3/blog/2007/04/20/how-to-send-control-recipe-data-from-ecc-to-sap-xmii

Former Member
0 Kudos

Hi Ravi,

we are indeed working with 12.0.1, where you can choose the type and the name of the message.

Unfortunately I have no access to a 11.5 system.

Regards

Michael

Former Member
0 Kudos

No matter, what options I tried, CONTROL_RECIPE_DOWNLOAD was not triggering the listener. So, now I using a PULL approach (Changed the Control Recipe Destination to type 3).

Thanks everyone for your pointers. Hope to try the type 2 approach again at a later date.