on ‎2011 Jun 17 2:22 PM
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
Request clarification before answering.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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
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
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
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
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
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
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
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
| User | Count |
|---|---|
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.