IDOC to JMS and JMS to IDOC.
Hi All,
I read most of the thread and found also some good link . But failed to get the exact thing that i need to carry out for this implementation. So , i am looking forward for your valuable help to get a clear understanding on this.
Scenerio : IDOC to JMS.
1. What need to carry out for configuring the JMS adapter as the receiver.
I know the configuration side from SAP[IDOC] to XI side. But dont have any idea on configuring the JMS adapter.
2. What drivers that i need to instal on ? & how can i know which driver should i use for my scenerio ?
3. What details do i need from the client ?
Scenerio : JMS to IDOC.
1. I have the same thing to configure from JMS to SAP[IDOC], SO for this what else do i need to configure?
2. What need to carry out for configuring the JMS adapter as sender?
Can anyone, please provide me the details on this..
Thanks in advance.
Jay.
Hi,
Check the links
http://help.sap.com/saphelp_nw2004s/helpdata/en/c1/739c4186c2a409e10000000a155106/frameset.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/65/52693cab05e079e10000000a114084/frameset.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/f8/24ee41c334c717e10000000a155106/frameset.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/f4/2d6189f0e27a4894ad517961762db7/frameset.htm
Thanks!
Similar Messages
-
I have a scenario, ECC-PI-Message broker. ECC sending IDOC to PI, PI execute mapping and sends data to Message borker(thru JMS channel).(with almost one to one mapping)., IDOC(AAE)-PI-JMS. Now my requirement is., from PI after mapping we need to create file with same data what ever send to Message broker and put the file in SAP folder without touching mapping. Is it possible? Please advise with the steps. We are using the ICO for this senario. Quick response is appriciated.
Hi Pratik,
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/502991a2-45d9-2910-d99f-8aba5d79fb42?quicklink=index&overridelayout=true
This link might help.
regards
Anupam -
Multi Mapping without BPM (JMS 2 IDoc)
Hi,
i have a JMS-Query where it is necessary to map the given data to two different IDoc Types.
Therefore i have to mappings in two different namespaces. Is it possible to use these insde of the interface Mapping?! Or does the target types have to be in one mapping and one namespace?!
Can i use context objects?!
Please guide me! br, JensHI,
Ingeneral multi mapping in IM , we can use , to do it it should satisfies accordingly .. i mean see the below link
/people/michal.krawczyk2/blog/2005/11/01/xi-xml-node-into-a-string-with-graphical-mapping
Multiple message mappings in one integration scenario
With context object , we can route based on condition , this will be used in interface determination with condition , to this condition , we can use Context object, but it should be configured in MI.
Regards
Chilla -
Send Idoc flat file message in JMS receiver adapter
Hello,
I am working on a scenario where we send Delvry 03 idoc from ECC to external system. To external system, we send the whole Idoc in flat file structure through JMS queue. I have used Idoc to flat file program in my interface mapping and have configured JMS receiver adapter with just default Module configs but, I am getting an error in communication channel monitoring for the messages.
Please note that Idoc xml to flat file structure conversion is already done in the mapping, I need to just pass this idoc flat structure in the jms adapter. Hence ther eis no content conversion i nthe adapter..
Please give some inputs..Here are the modules in my receiver adapter and nothing else..
SAP XI JMS Adapter/ConvertMessageToBinary
SAP XI JMS Adapter/SendBinarytoXIJMSService
The error I get is in audit log
Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: No transition found from state: ERROR, on event: process_commence for DFA: CC_JMS_R:ca336a6689f837da8bd3387140fc4447
in turn the message has this error if I open the message
Whitespace is not allowed at this location. Error processing resource 'http://host:port/mdt/messageconten...
and it shows one of the lines from idoc..flat file
Any idea is greatly appreciated..Thank you..ThanujjaThe difference in what I suggest is that it is way simpler.
Maybe you did not understand this, so will try to explain it better. Its not the best thing to do, but if JMS adapter doesn't budge then you can give it a shot.
1. You continue to use the ABAP mapping in your interface mapping to map the Idoc xml to Idoc flat.
2. Write a Java Map that will take the output of the ABAP mapping ; and then create a XML output which would be something like,
<Root>
<Idoc_Flat>
<Data>ABAP Mapping Output<Data>
</Idoc_Flat>
</Root>
3. Now use the simple content conversion in the JMS adapter to convert this to flat file.
Regards
Bhavesh -
Hi
I have to build interface for scenario IDOC-XI-JMS adapter and legacy syetem is MQ-series. All the jar files has been deployed which is the pre-requisite to use JMS adapter.
Can anyone tell me if I should send data in file or as message.
Also if you can tell me the steps to build this interface. Please refer to some relevant blogs but would appriciate if you can explain me steps.
Points will be rewarded for the appropirate replies.
RegardsHi,
>IDOC-XI-JMS adapter
Sender Side IDOC Adapter, Hence No Need Sender Agreement, Import the IDOC in XI System , Declare the Data Type for the Receiver side..Message Type..Message Interface as Ingoung..Do Message Mapping..Interface Mapping..In Configuratio Receiver JMS Adapter. Mention the Driver Information,User ID & Password and go ahead and test it
Regards
Agasthuri Doss -
Idoc xml message in JMS adapter
Hi All,
Question 1:
My scenario is MQ series(JMS adaptr) to SAP(IDOC adptr) . In my mapping both source and target structure is same IDOC structure.Where MQ series will send IDOC xml. In such case shall i need to do content conversion at JMS adapter level or not.whthr IDOC xml can be directly handle at Mapping level without doing any content conversion in adapter level.
Question 2(viceversa):
SAP(IDOC adptr) to MQ series(JMS adaptr) . In my mapping both source and target structure is same IDOC structure.Where MQ series expect me IDOC xml. How to handle content conversion at JMS recvr adapter level.
my assumption only in case of (xml to plain) and (plain to xml) require content conversion here my Input and output is IDOC xml.Saravanan,
As Expert Vishnu Mentioned,
>In such case shall i need to do content conversion
NO need to use
>How to handle content conversion at JMS recvr adapter level
http://help.sap.com/saphelp_nw04/helpdata/en/24/4cad3baabd4737bab64d0201bc0c6c/content.htm
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/xi-adapters/how%20to%20use%20the%20content%20conversion%20module%20with%20xi%203.0%20j2ee%20jms%20adapter.pdf
Cheers
Agasthuri Doss -
How to implement this Scenario(JMS to IDOC)
Hi Frnds,
I am working on one scenario JMS to IDOC .based on JMS Message my XSLT Mapping will genarate Multiple Idocs(max 3) or 2 or one.
I have to send this IDOCS based on some conditions,the conditions mentioned below.
xslt mapping genarats one message ,but this contains 3 IDOCS or 2 or 1.(Order Create , Order Change and Order Response),
what is the best approach to implement this scenario
1)f Order Create segment exists (new PO), first check SAP to see if PO does actually exist using RFC Z_BBPR46_GET_PO_FROM_FPA ,If it does not exist, pass Order Create idoc to SAP to create new purchase order
If it does exist, retrieve PO details from RFC and pass Order Change idoc to SAP to update existing purchase order
2)If Order Change segment exists (change PO), retrieve PO details using RFC Z_BBPR46_GET_PO_FROM_FPA and pass Order Change idoc to SAP to update existing purchase order
3)If Order Response segment exists (goods movement), retrieve PO details using RFC Z_BBPR46_GET_PO_FROM_FPA and pass Order Response idoc to SAP to create goods movement.
Above logic i implemented in one mesage mapping Source is XSLT Mapping Output and Receiver message in message mapping is Multimapping selected 3 IDOCS.
Regards,
rajthanks
-
IDOC to JMS with Dynamic Configuration.
Dear Experts,
IDOC -> SAP PI -> JMS.
We will receive a value in the IDOC-message, based on which the target queue is to be defined.
1) So which property in Dynamic Configuration will help me?
2) Will it be the normal procedure (UDF in Message Mapping and then select the ASMA attribute in receiver channel)?
I went through: http://wiki.sdn.sap.com/wiki/display/XI/FAQ+J2EEJMS+Adapter (question 2.9 and 2.8)
But in one thread it was mentioned that such configuration (of queue) is not possible.
Any idea on how to proceed?
~Thanks.Hello Stefan,
Thank you for the response.
-----> Company1
IDOC -> SAP PI -----> Company2
-----> Company3
We have the above integration in place. Now without ASMA, we will have to create three different JMS Channels; one in each of the Business Service. This would mean that in future if the receivers increase, the corresponding channels have to be increased
But now I am confused as to what the Q 2.9 in this wiki link means: http://wiki.sdn.sap.com/wiki/display/XI/FAQ+J2EEJMS+Adapter
~Thanks -
Hi Experts,
I am recivieng an IDOC into PI and sending to legacy using JMS adapter in MONI i am able to see successfull flag but in RWB its showing Status: System error
error code : CHANNEL_ DETERMINATION_FAILED
Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException
Error while processing message 'db0458de-26fd-11e1-8c18-000030facf5b'; detailed error description: java.lang.NullPointerException at com.sap.aii.adapter.jms.core.connector.ConnectorImpl.disconnectOnDemand(ConnectorImpl.java:225) ...
Can you help me on this.
Regards,
Prasad.hi Prasad,
check in your CC the connection option like "Create Connection on Demand": [http://help.sap.com/saphelp_nw70/helpdata/en/c1/739c4186c2a409e10000000a155106/content.htm]
check also with your JMS provider, if connection is operational.
Mickael -
How to reduce processing time in case of jms to idoc scenario
hi all,
i am doing jms to idoc scenario.
in this i'm using xslt and graphical mapping.
while perfroming E2E testing the messages are taking lot of time to get processed.
please tell me as how can i reduce this processing time or in short how can i overcome this problem.this is a critical issue in production.
regards
madhuHi,
1. To reduce the processing time for JMS -> IDOC scenario, try to get the Average processing time taken by JMS adapter, IE, IDOC adapter for the messages that are processed so far by going thro the Adapter Audit logs, SXMB_MONI race and Time in WE02 in R/3 system. Calculate this for 5 - 10 messages at different time to get the clear idea of which step is consuming more time. Then it will be helpful to focus on tuning that specific step. If you are using BPM, check the processing time taken by PE.
2. Check the Inbound and Outbound queues used by this interface, if required try to configure Prioritized Queue with more time allocated for this interface in Integration Engine.
3. Check the load on the Integration Server when this Interface messages are getting processed, to understand/ isolate the interfaces which are consuming more processing time and system resources.
4. If this is not in Production try to perform the Mapping/ transformation in graphical mapping itself, it will be helpful to minimise use of XSLT mapping to get better performance.
5. Check if the Archive and Delete jobs are running successfully in the Integration Server, since this will free up the occupied resources in the system.
6. If possible post seperate Forum questions for issues in different Interface scenarios, it will be easy to understand the problem for all of us.
Hope this will be helpful,
Regards,
S.Santhosh Kumar -
JMS - PI - IDoc scenario: possible to disable check for duplicate JMS message ID?
Dear all,
we have a scenario JMS - PI - IDoc. We are on 7.4 SP 7 AEX.
Once and again we get this error in PI Logs
com.sap.aii.adapter.jms.core.channel.filter.InboundDuplicateCheckFilter.filter(MessageFilterContext filterCtx)
Duplicated and already processed JMS message with JMSMessageID ID:414d512053415050523120202020202053f0f4852000fb39 and XI message id b0beffdbcee64c2605779eaacf27b335 detected.
We are currently investigating the error and it seems that the duplicate message IDs already exist on the JMS (MQ) side. The messages with the same ID reside in the same queue but have different payloads, so really are different messages
While it's certainly true that we need to get rid of those duplicate IDs in the long run, I'd like to ask if it is possible to tackle the problem from both sides.
My sender JMS Adapter looks like this:
Transactional JMS Session = Checked
Set PI Message ID (MessageID) to = GUID
Set PI conversation ID (ConversationID) to = No Value
Enable Duplicate Handling = Unchecked
Prefix Channel ID = Unchecked
--> Is there any way to tell PI to just ignore the duplicate JMS ID and continue processing?
Many thanks
Kind regards
JensHi Jens - Please have a look at the below note if it helps.
If you want the duplicate messages received from different channels (that is JMS Messages with the same Message ID) to be processed as a distinct JMS messages and not as duplicate messages, select Prefix Channel ID to JMS Message ID
Reference :
Configuring the Sender JMS Adapter - Advanced Adapter Engine - SAP Library -
Passing Idoc Control Record information to JMS header
Hi All,
We have a requirement where we need to pass the 'MESCOD' and 'MESFCT" in the EDIDC_40 - Control record for the idoc to the Header of a JMS message.
Basically we are trying to pass IDOC Control segment to the JMS header.
I was looking at the options we have in the JMS adapter, and i am not sure how can this be achieved.
Would appreciate any info on how this can be done.
Thanks,
KarthikHi Karthik,
As suggested by Ravi, you can hardcode this values in XI mapping before pushing data to JMS.
Otherway round would be...check for User Exit where you can populate EDIDC_40 with MESCOD and MESFCT.
Nilesh -
Character Encoding for IDOC to JMS scenario with foreign characters
Dear Experts,
The scenario is desribed as follows:
Issue Description:
There is an IDOC which is created after extracting data from different countries (but only one country at a time). So, for instance first time the data is picked in Greek and Latin and corresponding IDOC is created and sent to PI, the next time plain English and sent to PI and next Chinese and so on. As of now every time this IDOC reaches PI ,it comes with UTF-8 character encoding as seen in the IDOC XML.
I am converting this IDOC XML into single string flat file (currently taking the default encoding UTF-8) and sending it to receiver JMS Queue (MQ Series). Now when this data is picked up from the end recepient from the corresponding queue in MQ Series, they see ? wherever there is a Greek/latin characters (may be because that should be having a different encoding like ISO-8859_7). This is causing issues at their end.
My Understanding
SAP system should trigger the IDOC with the right code page i.e if the IDOC is sent with Greek/Latin code page should be ISO-8859_7, if this same IDOC is sent with Chinese characters the corresponding code page else UTF-8 or default code page.
Once this is sent correctly from SAP, Java Mapping should have to use the correct code page when righting the bytes to outputstream and then we would also need to set the right code page as JMS Header before putting the message in the JMS queue so that receiver can interpret it.
Queries:
1. Is my approach for the scenario correct, if not please guide me to the right approach.
2. Does SAP support different code page being picked for the same IDOC based on different data set. If so how is it achieved.
3. What is the JMS Header property to set the right code page. I think there should be some JMS Header defined by MQ Series for Character Encoding which I should be setting correctly) I find that there is a property to set the CCSID in JMS Receiver Adapter but that only refers to Non-ASCII names and doesn't refer to the payload content.
I would appreciate if anybody can give me pointers on how to resolve this issue.
Thanks,
PratikHi Pratik,
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/502991a2-45d9-2910-d99f-8aba5d79fb42?quicklink=index&overridelayout=true
This link might help.
regards
Anupam -
Hi,
My Scenario is to recieve IDocs from SAP Backend System and send it to MQ queue via JMS Adapter.
When recieving the IDoc messages in XI from SAP Backend system I get the following error message in transaction SXMB_MONI:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!-- Call Adapter
-->
- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
<SAP:Category>XIAdapterFramework</SAP:Category>
<SAP:Code area="MESSAGE">GENERAL</SAP:Code>
<SAP:P1 />
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText>com.sap.aii.af.ra.ms.api.ConfigException: ConfigException in XI protocol handler. Failed to determine a receiver agreement for the given message. Root cause: com.sap.aii.af.service.cpa.impl.exception.CPALookupException: Couldn't retrieve outbound binding for the given P/S/A values: FP=;TP=;FS=KMD_SAPR3_Z52002;TS=KMD_MQ;AN=IA_XITEST;ANS=http://kmd.dk/gfx/vl906/LoadTest/SingleClient/MQ;</SAP:AdditionalText>
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack />
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
I have checked that receiver agreement has been set up correctly.
Hope that someone can help.
Regards,
MortenHi,
Check the receiver agreement is properly configured and edit it then save and activate and try it out
Regards
Agasthuri Doss -
IDOC to JMS (JBOSS) Interface
HI,
I am doing the interface from IDOC to JMS (Jboss) and I am getting the below error message in the Communication Channel Monitoring.
Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: No transition found from state: STARTING, on event: process_commence for DFA: CC_SAPSubobj_Receiver:dde2d0a49072388787ae2a0a2abdcf34
the below parameters I used in the communication Channel.
Access JMS PRovider with JNDI
JNDI Lookup Name of QueueConnectionFactory: jmsfactory/default/TopicConnectionFactory
JNDI Lookup Name of JMS Queue: queue name
Name of JNDI Initial COntext Factory: com.sap.engine.services.jndi.InitialContextFactoryImpl
JNDI Server Address: servername/port
Is someone faced the same issue?
Edited by: KISHORE RACHAMALLU on Feb 1, 2010 2:30 PMHi Sunil,
I folloowd the note, but I am getting the below error message
Channel error occurred. Detailed error (if any) : com.sap.aii.adapter.jms.api.connector.ConnectorException: Fatal Error looking up connection factoryConnectionFactory, for profile: ConnectionProfile of channel: cc name node: 216615450 having object id: c836e3a216e9376982fc5d52d0a6eae1: SAPNoClassDefFoundError:
org/jboss/aop/Advised at com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createConnectionFactory(JndiConnectorImpl.java:141)
Maybe you are looking for
-
so, just read the title, there's not much that i can say about this..it ****** me off. who else has had this problem..should i just sell it and buy a new one..or is it because of the update? I'd appreciate the help and maybe some step by step instruc
-
String substitutions in format fields
It's dawning on me that if the owner of the app I'm working on ever decides that all currency fields should display 2 decimal places instead of rounding to the nearest dollar, it's going to be a lot of work to go through all the currency fields in th
-
Activesync flat file configuration
configured activesync flat file using csv format, able to create users succesfully but when I try to modify user showing User already exist. It is trying to create user again. Any help would be highly appreciative.
-
Recmd for low cost, multi point temp logging
Can someone recommend the best, low cost way to monitor temp at 16 pts. We are doing qualifiation tests of an oven used in an bio tech research application. But we are a startup and I need to stretch my capital budget as much as possible. Here are th
-
Help needed on accessing an arraylist
Hello I have declared an arrayList globally as follows: ArrayList itemList = new ArrayList();I have then wrote a method to test if a user's session is new, if so set the arrayList into the session using setAttribute. The code then gets the attri