Xi payload data
Hi,
I am trying to fetch xi payload using CL_XMS_PERSIST.This is my partial code.
CALL METHOD xms_persist->READ_MSG_ALL
EXPORTING
IM_MSGGUID = MSGGUID
IM_PID = PID
IM_VERSION = VERS
IM_CLIENT = CLIENT
IM_READ_PAYLOAD = 'X'
IMPORTING
EX_MESSAGE = ex_message.
CALL METHOD ex_message>GETATTACHMENTS
RECEIVING
SIZE = SIZE.
But , i am recieving SIZE as ZERO , there by i could not execute other methods.The SIZE is ZERO as the table URES in method GETATTACHMENTS has no entries.
What could be the right solution to get payload..
Thanks
--Pradeep
Edited by: pradeep nellore on Jun 19, 2009 11:37 AM
Edited by: pradeep nellore on Jun 22, 2009 8:44 AM
Edited by: pradeep nellore on Jun 22, 2009 8:51 AM
Edited by: pradeep nellore on Jun 22, 2009 9:19 AM
Edited by: pradeep nellore on Jun 22, 2009 12:01 PM
Edited by: pradeep nellore on Jun 23, 2009 7:00 AM
Edited by: pradeep nellore on Jun 23, 2009 7:04 AM
Did you try posting the Q in [ABAP Development |/community [original link is broken];forum? If no then please do....may be you will get some reply.
Regards,
Abhishek.
Similar Messages
-
Getting payload data in alert category
Is there anyway to fetch XI payload data(IDOC number) in ALRTCATDEF along with other container variable?
We have been sending email alerts without BPM(Alert rule and alert cat).
Please suggest.Hi Rajesh,
Check this blog:/people/michal.krawczyk2/blog/2005/03/13/alerts-with-variables-from-the-messages-payload-xi--updated
Sachin -
How to extract payload data from SOA database schema using Java
I am trying to extract the payload data and output as XML text files using Java. Seems that is stored in SOA table XML_DOCUMENT. I am trying the following Java code to get started and it's not working as I would expect. I only get a few actual lines of output and, when I do, I only get the *<?xml version ... ?>* line.
I appreciate any advice to extract the payload data from the database. Ultimately I will want to include the composite instance ID in the SQL but for now I'm just using the code shown here:
OracleDataSource ods = new OracleDataSource();
ods.setURL("soa_db_connection_string");
ods.setUser("soa_db_user_id");
ods.setPassword("soa_db_password");
Connection conn = ods.getConnection();
String sql = "select document from xml_document where rownum < 10";
OraclePreparedStatement stmt = (OraclePreparedStatement)conn.prepareStatement(sql);
DBBinXMLMetadataProvider dbrep = BinXMLMetadataProviderFactory.createDBMetadataProvider();
dbrep.setConnectionPool(ods);
dbrep.associateDataConnection(conn);
OracleResultSet rset = (OracleResultSet)stmt.executeQuery();
XMLDOMImplementation domimpl = new XMLDOMImplementation();
BinXMLProcessor proc = BinXMLProcessorFactory.createProcessor(dbrep);
while (rset.next()) {
Blob blob = rset.getBlob("DOCUMENT");
BinXMLStream inpbin = proc.createBinXMLStream(blob);
BinXMLDecoder dec = inpbin.getDecoder();
InfosetReader xmlreader = dec.getReader();
XMLDocument doc = (XMLDocument)domimpl.createDocument(xmlreader);
doc.print(System.out);
}I found a method using a slight variation of the code I originally posted. Essentially you remove the DBBinXMLMetadataProvider dbrep portion. I believe, with this included, the XML being extracted is validated against the database (which is referenced as a "metadata provider"). Since the SOA schema doesn't seem to contain the information to validate the XML it returns as blank. If you don't include the dbrep portion then the XML is extracted as desired.
OracleDataSource ods = new OracleDataSource();
ods.setURL("soa_db_connection_string");
ods.setUser("soa_db_user_id");
ods.setPassword("soa_db_password");
Connection conn = ods.getConnection();
String sql = "select document from xml_document where rownum < 10";
OraclePreparedStatement stmt = (OraclePreparedStatement)conn.prepareStatement(sql);
OracleResultSet rset = (OracleResultSet)stmt.executeQuery();
XMLDOMImplementation domimpl = new XMLDOMImplementation();
BinXMLProcessor proc = BinXMLProcessorFactory.createProcessor();
while (rset.next()) {
BLOB blob = rset.getBLOB("DOCUMENT");
BinXMLStream inpbin = proc.createBinXMLStream(blob);
BinXMLDecoder dec = inpbin.getDecoder();
InfosetReader xmlreader = dec.getReader();
XMLDocument doc = (XMLDocument)domimpl.createDocument(xmlreader);
doc.print(System.out);
} -
Splitting large message (60MB) based on payload data
Hi,
I have a file (Flat) to file (xml) scenario. The source flat file is being read by FCC. Since the source flat file is large (upto 60MB) so I have to split it into small files then I have applied "recordset per messages" in FCC level to split large file into small ones. But the clients requirement is to split the large document based on payload data (that is DeliveryDate). That means I cannt split the message based on number of rows of flat file instead I have to split the file on the basis of DeliveryDate so that after splitting into small files, each small file should contain data for exactly one date (say in one file data for 15th NOV and in another file data for 16NOV and so on).
Please suggest some solution to split the large file (60MB) based on payload data(DeliveryDate).
Br,
Madan AgrawalHi Madan,
in this case split the message in to different messages like 2 mb file,
XI doesn't support 60 mb files, U have to split the flat files based one some condition.
i have same requirement flat file having huge data i split that data using java map.]
then i processed its work fine for me.
I think u can also do it,
But in my case i divided message based on sequence number uniquenumber to diffentiate data.
if there is any sequence number split the message .
Regards,
Raj -
Passing Payload data to alert container for all SAP PI erros
Hi All,
I have a alert requirement as follows.
One alert has to be raised for all PI errors including Integration Engine errors and Adapter Engine errors. The scenario is ABAP PROXY >XI->SOAP.
Payload will have n number of fields including Delivery Number and Mail ID of a business User.
Mail has to be triggered from PI to this particular user along with delivery number. Please note this alert has to be triggered for all PI errors ( Mapping, Adapter Error,Apllication Error ...etc).
Triggering alert from an UDF by calling report SALERT_CREATE does cover only integration engine errors.It should not cover any adapter engine error.
By creating a alert rule and alert category in RWB will not have Payload data in the mail and Alert will be sent to fixed receipients. Alert rule does cover all PI errors.
How should i do this>Hey
By regular alert mechanism,this is not possible,you need to use BPM to trigger e-mail to include delivery number.
/people/michal.krawczyk2/blog/2005/03/13/alerts-with-variables-from-the-messages-payload-xi--updated
>>Mail has to be triggered from PI to this particular user along with delivery number
Well this can only be done via mail adapter,alert mechanisms need a specific user ID or user with specific roles.
Thanks
Aamir -
Hi,
I would like to know the table in which the payload data is being stored.
Many Thanks
BalaHi,
take a look at Michal's reply in this thread,
In Which Database Table the Messages are Stored in XI
Regards,
Bhavesh -
Large payload data to SOA platform
In our BPEL how to upload large payloads data. Please let me know your suggestions.
Thank you
Balaji
Edited by: Hari.luckey on Dec 5, 2012 6:19 PMHi,
Thanks for your reply!
Actually, I got this error:
Error parsing envelope: (92635, 79) Expected 'EOF'.; nested exception is:
javax.xml.soap.SOAPException: Error parsing envelope: (92635, 79) Expected 'EOF'.
when the WS method returns a large payload.
I got this error only when the WS returns a lot of data. So I supposed that was the problem?!
I've tried your solution, but nothing has changed.
any idea?
Many thanks,
Regards -
Determine the size of EDI payload data
Hi Experts,
As far as my B2B Knowledge is concerned, in order to know the size of an EDI payload... we download the payload from wire message or payload, copy the data and paste it in a file. The size of the file determines the EDI payload size.
But, this is a tedious task, particularly in cases where there are huge number of EDI data. To far as I know, the size of EDI files ranges from 1 MB to 1GB.
Please advise what should I do in cases of files with large payload sizes(more than 25MB).
Please advise if there is any B2B table whose one of the columns depicts the size of the payload.
I have searched through some b2b table as b2b_messageinstance, b2b.ip_b2b_report but could not find any such columns.
Please advise what exactly the procedure is to determine the size of EDI payload data, particularly for cases where payload data is larger than 25 MB.I am afraid that there is no direct way of finding the payload size in 10g. You may write your own standalone program or API which may calculate the size of payload by querying the b2b_instancemessage view or by calling the B2B InstanceMessage API -
http://www.oracle.com/technetwork/testcontent/b19324-01-instance-msg-api-129535.zip
Regards,
Anuj -
ABAP Table for PI payload data
Hi
Please let me know the Standard SAP table where XI payload data ( not headers, application data like Invoice No,Delivery No )has been storedHi Rajesh,
Check out the following Article to get an idea on how to fetch the PI payload from the tables. https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/909760cb-0ec8-2a10-4a96-ee8417acfbc9
https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/b050ff4f-84c3-2b10-3d99-8f9c44f57a17
SAP PI doesnt store payload in an XML format.
Thanks,
PP -
Message payload(data) not availabe during message transformations
Hi,
I have a JMS-XI-JDBC scenario, my problem is after the content conversion in JMS the message <b>reaches</b> XI(I am able to see in Moni) and but(payload) it is not available during message transformation(mapping) ( I have debugged it using Trace the data is not available)..Target elements gets generated but without any data..Hi,
I am a bit confused with your problem.
<i>my problem is after the content conversion in JMS the message reaches XI(I am able to see in Moni) and but(payload) it is not available during message transformation(mapping)</i>
If the message reaches XI, then, the mapping has already taken place.
<i>but(payload) it is not available during message transformation(mapping)</i>
Do you mean to say that, you are not able to view your payload in the IR trace?
In your IR, did you test the mapping, by entering dummy values?was the output generated with the correct values in the IR?
Regards,
Smitha. -
Transfer Payload data to Screen
Dear All
I have to retrieve a perticular value of a field (say MATNR) from an IDOC MATMAS which is in XI.
I know that this value is stored in the payload of the message. By searching I have found that the payload is stored in SXMSCLUP TABLE.
How can I retrieve this value and display it to the screen of my report program screen?
Edited by: Sourabh Nirmal on Sep 24, 2008 1:24 PMHi
I found the answer for my query...
1) the data that we try to upload in InfoPackage should be in form of XML.
2) their should right objects in InfoObject ... same as XML
Thanx
Shivanjali -
Problem in code to get xi payload data
Hi,
I am trying to fetch xi payload using CL_XMS_PERSIST.This is my partial code.
CALL METHOD xms_persist->READ_MSG_ALL
EXPORTING
IM_MSGGUID = MSGGUID
IM_PID = PID
IM_VERSION = VERS
IM_CLIENT = CLIENT
IM_READ_PAYLOAD = 'X'
IMPORTING
EX_MESSAGE = ex_message.
CALL METHOD ex_message>GETATTACHMENTS
RECEIVING
SIZE = SIZE.
But , i am recieving SIZE as ZERO , there by i could not execute other methods.The SIZE is ZERO as the table URES in method GETATTACHMENTS has no entries.
What could be the right solution to get payload..
Thanks
--Pradeep
Edited by: pradeep nellore on Jun 23, 2009 7:29 AMPart of the ethos of these forums is to share information. So please let us know what the solution was.
matt -
How to update payload/data within an in-flight SOA process
Hi,
I have a SOA process (Process A) deployed to my server and for instances of that process I need to change/update the value of instance variables within the payload of the process instance.
I want to do this through Process B which will contain a step to go and update the value of an instance variable within Process A's in-flight instances. E.g. Process A has a variable called 'Status'
and the process is in-flight and running. I then require Process B to go in and update this variable with a new value.
Can someone please confirm whether this is possible, and if so, how this could be achieved and which API's to use etc? I was wondering whether the SOA-Infra schema or dehydration store could be used to do this?
I am working in a SOA/BPM 11g environment with Weblogic Server 11g. Any help is appreciated.
ThanksHi
You can try something along these lines given in this post of mine: Assign role, group to Human Task when initiated
BUT the thing is, the above notes works fine for any HumanTasks within the same Process. But you have like 2 different processes. If they are like Sub-Process, inside one big single Process, still it should work. But the above CallBackHandler class is usually attached to a HumanTask in events section.
Thanks
Ravi Jegga -
Hello,
The Scenario is Idoc-file, we are generating XML file at target.
The requirement is to have IDOC number in file name eg. "File_IDOCNUMBER_datetimestamp.xml".
but in target file structure we have no separate field to map the IDOC number.
Kinldy help me, or give some possible solution
Regards,
Anu Singhal>
Anu Singhal wrote:
> The requirement is to have IDOC number in file name eg. "File_IDOCNUMBER_datetimestamp.xml".
create a simple UDF. Suppose to the UDF you are passing two input values
a - IDOCNUMBER from the IDoc
b - datetimestamp
in your case your code will be something like;
DynamicConfiguration conf = (DynamicConfiguration) container
.getTransformationParameters()
.get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey key = DynamicConfigurationKey.create(
u201Chttp://sap.com/xi/XI/System/Fileu201D,
u201CFileNameu201D);
String MyFileName = "File_" + a + "_" + b + ".xml";
conf.put(key, MyFileName); -
Data should be in non readable format in payload-- SXMB_MONI
Hi All;
I have a scenario where I need to send MT103 file to bank with digital signature and this configuration is done and working good.I have a new requirement, that the payload data/content should not be in readable format in SXMB_MONI. This is where I am not able to succeed. In RWB the data is not in readable format, so there is no issue.
I have the following options with me;
1.Create a copy of SXMB_MONI & add authorization object only for not to display payload content.
2.Create a new role with less privilege for XI Monitoring and assign this to all the users. (even XI administrator will have less privilege which is not good)
3.Do the signature part in R/3 before XI is picking. (so that the data is not readable , ABAP development not preferred ).
4.Send the file in Binary Format to bank. (Bank rejected this option, because they donu2019t support this process)
5.Create a Internal FTPS site. MT103 file will be placed in FTPS site folder. When XI picks the file adds the digital signature in (sender CC).(I have a doubt, will the data be in non readable format in SXMB_MONI?)
If you know any better/preferred solution, please let me know.
Thanks;
Prabhu RajeshHello
Check the link below:
Messaging Components of the Integration Engine
http://help.sap.com/saphelp_nw70/helpdata/en/42/52f7415e639c39e10000000a155106/frameset.htm
Use authorization object S_XMB_MONI if you want to prevent message trace headers or message payloads being visible in the PI monitoring tools.
Regards
Mark
Maybe you are looking for
-
App store says I have lion installed, and wont open iWork
Every time I try to open any iWork app I get an error message saying "Keynote cannot be opened because of a problem. Check with the developer to make sure Keynote works with this version of Mac OS X. (Below is the problem details and system config.)
-
Nedd to tick the GR based IV in an open PO
Hi all, I need to tick the GR based IV tab for an open PO. I have raised a PO for 100 qty and received 50 qty, Later i found the tab is not ticked and its in display mode. I found the root cause for it in vendor master - Purchasing data view. There i
-
I have a mac pro for work and they made it log on windows at start up. how can i switch back to Mac as well so i will use the i cloud fetures ?
-
Nexus 7010 port-channel to ESXi host running on Dell 910 and 810
Was wondering has anyone had any experience with configuring a port-channel going back to ESXi host. My basic config is below. My issue is with what to put in the spanning-tree port type. Do I use normal, edge, network, or edge trunk?? Yes I have rea
-
Regular Expressions / String Match
Hi Everyone, thankx for reading this I'm programing a oracle form which at one part read's the full path into a file (a text file) and place's it on a VARCHAR2 field. This is the path into the file and not the file data. I would like to match this st