cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

using RFC CLOI_DOWNLOAD_TRIGGER_MDAT

former_member246543
Participant
0 Likes
590

Hi all,

I want to use the RFC "CLOI_DOWNLOAD_TRIGGER_MDAT"

I have some doubts regarding its usage

1.Do we need to configure IDoc listener to recieve the IDoc?

2.what are the compulsary and optional input parameter need to be provided to this RFC?

3.if we dont need to configure IDoc listener, then does the response of thisRFC is the required IDoc?

4.what setting needs to be done from ECC side for using this RFC?

If any one can guide me quickly then it will be of great help.

Thanks

Sanjeev

Accepted Solutions (1)

Accepted Solutions (1)

agentry_src
Active Contributor
0 Likes

http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/801e9072-ae80-2a10-5e90-8ee2e4f70... is the download of the 12.x sample project. Look in folder IDOC and you will see some transactions which utilize this RFC.

And yes you will need to configure an IDoc Listener in MII to receive the IDocs that get sent. There are several configuration guides there. Use the IDOC Listeners in MII 12.1 if you are using ECC 6.0 and MII 12.1. Depending on your system architecture, you may need to use one of the other guides. http://wiki.sdn.sap.com/wiki/display/xMII/MII+Connectivity

Regards,

Mike

former_member246543
Participant
0 Likes

Thanks Michael,

I have few more doubts like,

1.RFC CLOI_DOWNLOAD_TRIGGER_MDAT does this RFC only triggers the IDoc or it also returns the IDOc as a response?

2.I want to trigger these two IDocs MATMAS and LOIBOM , so to which request fields of the above RFC i should map these IDoc names.

agentry_src
Active Contributor
0 Likes

1. The IDoc is triggered, but is not a response to the RFC. You will recieve the IDoc separately using the IDoc Listener.

2. You will have to look at the transaction. It has been a while since I built it and I do not remember the requirements. I think both are already configured for use.

Good luck and please post your results.

Regards,

Mike

former_member246543
Participant
0 Likes

Hi Michael,

First of all thanks for your valuable guidance,

I am now able to trigger the IDoc using this RFC,

I have created one processing rule which stores the received IDoc in a catagorised message,

but now my problem is that , i am not able to view the IDoc in Message monitor

this is the error which i get

"Unknown error has occured, no message was provided"

I have tried reading this mesasge using Query message action block but this is the error which i get when i configure the query message action block

"White spaces are required between PublicId and SystemId"

also in the MII log viewer i am getting the following error

Message:

Error in reading message list

[EXCEPTION]

java.text.ParseException: Unparseable date: "1/06/11 11:53:00 EST"

at java.text.DateFormat.parse(DateFormat.java:335)

at com.sap.xmii.Illuminator.gui.handlers.JCoMessageMonitorHandler.listMessage(JCoMessageMonitorHandler.java:287)

at com.sap.xmii.Illuminator.gui.handlers.JCoMessageMonitorHandler.process(JCoMessageMonitorHandler.java:96)

at com.sap.xmii.Illuminator.gui.handlers.AbstractHandler.processRequest(AbstractHandler.java:75)

at com.sap.xmii.servlet.Admin.service(Admin.java:68)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)

at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.runServlet(FilterChainImpl.java:162)

at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:81)

at com.sap.xmii.system.SecurityFilter.doFilter(SecurityFilter.java:96)

at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:73)

at com.sap.xsrf.filter.XSRFProtectorFilter.doFilter(XSRFProtectorFilter.java:62)

at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:73)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:468)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:298)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:399)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:388)

at com.sap.engine.services.servlets_jsp.filters.DSRWebContainerFilter.process(DSRWebContainerFilter.java:48)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

at com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:84)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:244)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:78)

at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

at com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)

at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

at com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)

at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

at com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)

at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

at com.sap.engine.services.httpserver.filters.MemoryStatisticFilter.process(MemoryStatisticFilter.java:43)

Could u please tell me what this error is all about.

Thanks anf regards,

Sanjeev

agentry_src
Active Contributor
0 Likes

Hi Sanjeev,

What version and service pack of MII and NWCE are you using? Also did you test your IDoc Listener with LOIPRO? Also you can change from Category to Transaction. Point to a simple transaction which has an xml input property and a XMLSaver action block. Save it to web://<project>/WEB/<somename.xml>. You can then open the IDoc and verify the content without using the Message Queue.

And just to verify your transaction process. You need to use the list of messages and then using the list (message ID) to pull up the message you are interested in. I do not have access to a system right at the moment, but you will need to look at the message queue Action Blocks to get the correct two.

Perhaps someone else can name them for you. Also, there are now three different message queue systems in MII, so make sure you get the correct action block groups for this message queue.

Regards,

Mike

former_member246543
Participant
0 Likes

Hi Mike,

Thank you very much for your guidance,I am now able to see the IDoc in the message monitor , It seems that the problem was with the localisation of time zone .I just changed the time zone of my machine and also changed the regional language settings.

But when i configure the server name and message catagory in the Query message action block , i still get this error "White Space required between publicId and systemID" but despite of this error i am still getting the Message Xml in the read message action block.

Can u please tell me how to resolve this error?

Again one more question

if my RFC is triggering 10 IDocs and in the Message Monitor i receive only say 8 IDoc then how can I Log this error in the MII Transaction? Is there any way?

Thanks and regards,

Sanjeev Sharma

agentry_src
Active Contributor
0 Likes

Let me make sure I understand your comments. You are receiving an error message about White Space, but other than the error message itself, the action block is processing correctly. If this is correct, please open a ticket.

If you are successfully triggering a download of 10 IDocs and you are only receiving 8, you will need to trouble shoot the problem. Are the IDocs all the same type? That triggering RFC can push more than one IDoc type down at the same time. If the rest of the IDoc listener configuration is not correctly configured for all the types, that might be the cause. They need to be configured for the Partner Profile AND the Distribution Model. See the configuration guide in the MII wiki for more information.

First go to SM58/SM59 to make sure the IDocs are being passed successfully to the Port associated with your IDoc Listener.

Also check your NW log to see if there are any errors being reported. Especially look for BEAN related messages.

I will also say that the most common reason for only receiving some of the IDocs sent, is multiple usage of the Program ID when setting up the IDoc Listener. Even if you delete the second instance, the name will not be fully removed from NW and will cause this kind of an issue. You also can not use the same Prog ID on multiple instances of MII nor for an IDoc Listener and an RFC Listener. It really, really needs to be unique and used one to one for an ECC Logical System (aka RFC Destination, and probably several more).

Regards,

Mike

Edited by: Michael Appleby on Jul 1, 2011 1:05 PM

former_member246543
Participant
0 Likes

Hi Mike,

I haven't faced this issue yet but I just wanted to know that can I log this error message using MII transaction?

In my application, I have a single table in the database in which i am logging all the various error which i am getting while executing the transaction, if I receive less no. of IDocs than expected so how can I log this in my database table ?

I am using 12.1.8 (build 43).

Thanks in advance,

Sanjeev Sharma

agentry_src
Active Contributor
0 Likes

Hi Sanjeev,

I guess the first question is how will you program MII to recognize that you did not recieve all your IDocs.

If your table has a string field of a reasonably large size, you can use a simple Insert Command SQL Query action block. You can either drop the entire Return message into the field or you can extract into a concatenated string the error number, code, message, etc.

Or you can simply create your own error message depending upon the circumstances.

Regards,

Mike

Edited by: Michael Appleby on Jul 5, 2011 5:59 PM

former_member246543
Participant
0 Likes

Thanks Mike,

I am planning to extract the error no. , code, message and concatenate it into a string.

Now Moving back , regarding the error WHITE SPACE REQUIRED BETWEEN PUBLICID AND SYSTEMID I have found that this error occurs only with my login. I am having the MII_Developer role. Those with MII_Administrator rights do not face this error.

In the error log i am getting this type of message:

[EXCEPTION] 
com.sap.xmii.illuminator.logging.LHException:You do not have permission to access service JCoDataBufferServlet at 
com.sap.xmii.servlet.JCoDataBufferService.service(JCoDataBufferService.Java:64)

Could you please tell which rights I require to solve this problem?

Regards

Sanjeev Sharma

agentry_src
Active Contributor
0 Likes

Hi Sanjeev,

Can you provide the specific path (folder in the workbench) to the Message action blocks that you are using?

I just want to make sure you are not using the JMS Message action blocks and also not the older xml message queuing system.

Regards,

Mike

former_member246543
Participant
0 Likes

Hi Mike,

This is how I am trying to read the IDoc recieved,

First I am using the Query Message action Block (Which is there in the message services actions).in this block I am providing the server name, Message name, message catagory,message type =IDoc,message status=catagorised,start date,end date.

Then I am repeating on the JCOMessage in the BufferListDoc of this query messages ,

next I am using the Read Message query action block to read message Xml for every message Id and passing this Message Xml to another transaction for further processing.

I am not using the JMS action block anywhere.

Regards,

Sanjeev Sharma

Answers (0)

Ask a Question