Dynamic Config Troubles in 2:1 Message Mapping
I am using PI 7.1, and I have a 2:1 mapping that takes two input messages and combines them. The mapping itself is very simple: it takes message A, adds two values from message B and creates message C.
This mapping is in a transformation step in a BPM. Message A has several values stored in its dynamic configuration, but after the transformation step, the dynamic configuration values are no longer available (message C has no DynamicConfiguration object in the SOAP Header).
I tried adding a UDF to the mapping that attempts to read and print one of the dc values contained in message A, but I get a null value. It's as if the dc values that came in with message A are destroyed once the 2:1 mapping begins. How can I pass on these original dc values?
I would appreciate any help you could offer!
Thanks,
David
Hi Abhishek,
Thanks for the response. I don't understand when you say that DC does not work in a BPM. I tried removing the second input message (just making it a 1:1 mapping inside the BPM as a test), and the DC values were read and passed successfully. I also have a mapping in the exception branch in the BPM that reads a value in from DC without problems. It would appear that the problem is the fact that the problem mapping is 2:1 rather than that it's in a BPM, right?
Thanks!
David
Similar Messages
-
Dynamic config for attachment without any message mapping in mail adapter
Hi,
In our scenario, we are not using any message mapping as a specification.A fixed length file is sent from source via proxy as an attachment to the mail.
here the issue is with the file name of the attachment. how do we configure the attachment file name dynamically with out using any message maping.
Regards,
DivyaHi Divya,
I understand you want to set name for mail attachment.
SAP Note: Mail Adapter sapnote_0000856599
Q: Can I choose the name of an attachment in the mail?
A: Yes. Most mail clients use some heuristics based on some *MIME headers to derive the name of an attachment.* The MIME headers involved in most heuristics are Content-Type, Content-Description,and Content-Disposition. When you create an XI message, the XI payload name is automatically set in the Content-Description. If you want to change or set all of these headers, you can use the MessageTransformBean module (Note 793922) [Link|http://help.sap.com/saphelp_nwpi711/helpdata/en/57/0b2c4142aef623e10000000a155106/frameset.htm]
in the adapter framework.
Q: How can I set the file name of a mail attachment?
There are several MIME headers that play a role in how the client retrieves the file name of an attachment. Unfortunately, this behavior differs among various mail clients. The reason for this inconsistent behavior comes from the fact that this mechanism has been extended incrementally. The old way is to use the name parameter in the Content-Type header as specified in RFC1341. For example, you can set the content type of an XML attachment as:
Content-Type: application/xml; name="abc.xml"
RFC1521 discourages the use of this name parameter in anticipation of the new header Content-Disposition, which is defined in RFC1806.
With this Content-Disposition header, you can set the file name as:
Content-Disposition: attachment; filename="abc.xml"
Some clients may show the Content-Description value as the file name. The Content-Description header is typically used to associate some descriptive information to an attachment (RFC1341) as in
Content-Description: my xml file
To avoid potential interpretation problems, it is recommended to combine the use of these headers.
Regards,
Raghu_Vamsee
Edited by: Raghu Vamsee on Feb 3, 2011 12:23 PM -
Dynamically change Receiver Business system in message mapping
Dear all,
I would like to change the receiver business system in the message mapping that is used in the interface determination. I do understand there is an enhanced receiver determination where I can use a mapping but that is not what I am looking for.
I think this should be possible if we can change the appropriate value in the SOAP(message) header.
Possible candidates I can think of by looking at the SOAP header in SXMB_MONI are
1. SOAP:Header- SAP:Main- SAP:Receiver- SAP:Service
2. SOAP:Header- SAP:OutboundBinding - SAP:OutboundBindingEntry - SAP:ToServiceName
Q1. Which one of the above is relevant while identifying the receiver agreement ?
Q2. What is the best way to access them from the mapping(preferably from a UDF) ?
Thanks in advance.
Cheers
danus
PS: I have tried to set "http://sap.com/xi/XI/System","ReceiverService" in Dynamic config & ReceiverService, BusinessSystemReceiver and ReceiverSystem in the Containers Transformation Parameters, but didn't get the expected result.Chidambaram,
You use an enhanced receiver determination to have a mapping program determine the receivers of the message dynamically at runtime. Instead of creating the receivers in the receiver determination manually, you assign a mapping to the receiver determination and this returns a list of receivers at runtime.
A typical usage case is if you do not yet know the names of the receivers at configuration time. In this case, you can define a mapping program, for example, which reads a list of receivers from a table or from the payload of the message at runtime.
Go through the following link:
[Receiver Determination enhancement|http://www.****************/Tutorials/XI/RecvDetermination/Enhancement.htm]
Hope your problem gets resolved.
Regards,
Kiran Bobbala
Edited by: kiran Bobbala on May 7, 2008 5:47 PM -
File-name not being fetched in a multi-message mapping by Dynamic Conf
In a scenario, i have a BPM which has a transformation step which contains a mutimapping ...means 2 messages mapped to 1 messgaes, here in the mapping i m using an UDF and written code to extract the file name from dynamic configuration.....
the problem is ...the same BPM contains another transformation step which contains a message mapping (which is not multi mapping), and here the code (UDF) works to fetch the file name...
the code is all correct....and it looks like
DynamicConfiguration conf = (DynamicConfiguration)
container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
String sourceFileName = conf.get(key);
if (sourceFileName == null ){
sourceFileName = "ErrorFile.xml";}
return sourceFileName;Hi,
The scenario I am trying to test is a multi mapping scenario where I am trying to split one source message and create two target messages by using two different receiver interfaces, one for each message.
I am on PI 7.1 and when I test message mapping and operation mapping using the payload from SXMB_MONI, it is successful. Whereas when I test the scenario end to end I am getting the following error messages:
Operation Mapping
Employee_Out_SI_To_Employee1_In_SI_AND_Employee2_In_SI_OM
Name
Employee_Out_SI_To_Employee1_In_SI_AND_Employee2_In_SI_OM
Namespace
http://accenture.com/1:N_multi-mapping
Runtime error
Split mapping created no messages
Start tag ns0:Messages Add raw attribute xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge" Start tag ns0:Message1 Close tag ns0:Message1 Start tag ns0:Message2 Close tag ns0:Message2 Close tag ns0:Messages
Could someone please help
Cheers,
S -
Java Message Mapping : Dynamic FileName and Directory for ASMA
How to Put Dynamic FileName and Directory for ASMA Properties of File Receiver adapter in Java Message Mapping ???
I know How to Do this in UDF , But In Java Type Message Mapping . How to do this ????
Regards
PS.Hi
chk this:
http://wiki.sdn.sap.com/wiki/pages/viewpage.action?pageId=95093307
Thanks
Amit -
Calling Message mapping Dynamically based on a field value
Hi gurus,
I have
1 source inteface
1 target interface
3 Message mapping programs based on the 1 source and 1 Target Interfaces
I need to decide Dynamically as which message mapping program should be called based on the Input provided by the source system.
For example:
If the souce side file sends a field value=1 then message mapping 1 should be called
If the source side file sends a field value=2 then message mapping 2 should be used...
Pls provide me help on this ASAP.As ur source and target structures are always same, u should have used same mapping with multiple conditions instead of using three different mappings.
Right now for ur requirement, in ID -> standard Interface Determination, u can use multiple interface mappings based on condition.
Check heading "Specifying Conditions (for Multiple Inbound Interfaces)" here
http://help.sap.com/saphelp_nw04s/helpdata/en/42/ea20e737f33ee9e10000000a1553f7/content.htm
Regards,
Prateek -
Message mapping with dynamic node
Hi,
I am doing message mapping where my source structure is
<root>
<EmpCount>2</EmpCount>
<Emp>
<item>
<code>1</code>
<name>ABC</name>
</item>
<item>
<code>2</code>
<name>PQR</name>
</item>
</Emp>
<root>
If EmpCount is having value 2 then Emp node will have only 2 items
Target structure is flat structure like (something like fix file format)
<root>
<EmpData>EmpDetails</EmpData> occurrences 0...unbounded
</root>
With above sources data following is expected target sturcure
<root>
<EmpData>2ABC</EmpData>
<EmpData>3PQR</EmpData>
</root>
Here my query is how I can create more than one node to target structure with employee details.
I already tried with following Re: how to create target node a constant number of times
This help to get all 2 nodes of EmpData in target structure but it is showing only First value in both nodes. Following is output I am getting
<root>
<EmpData>2ABC</EmpData>
<EmpData>2ABC</EmpData>
</root>Sunil,
Please see the sample i/p and o/p payload. Also please let me know , is this the same u are looking for
I/P
<?xml version="1.0" encoding="UTF-8"?>
<ns0:MT_Check xmlns:ns0="urn:hdmc:samplescenarios">
<EmpCount>2</EmpCount>
<Emp>
<Item>
<Code>1</Code>
<Name>A</Name>
</Item>
<Item>
<Code>1</Code>
<Name>B</Name>
</Item>
</Emp>
</ns0:MT_Check>
O/P
<?xml version="1.0" encoding="UTF-8"?>
<ns0:MT_Check_Out xmlns:ns0="urn:hdmc:samplescenarios">
<Root>
<EmpData>2A</EmpData>
<EmpData>2B</EmpData>
</Root>
</ns0:MT_Check_Out>
Best regards,
raj. -
Java function with Dynamic config throws null pointer exception
hi Experts,
I am using dynamic config using java function in my message mapping.
The source message has a field called "fname".
The value of "fname" is the input to my java UDF.
The java UDF code is:
public String getDynamicFile(String fname, Container container) throws StreamTransformationException{
String str = fname + ".xml";
DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey FileName = DynamicConfigurationKey.create("http:/"+"/sap.com/xi/XI/System/File","FileName");
conf.put(FileName, str);
return str;
When I test this message mapping I get the following exception:
Runtime Exception:[java.lang.NullPointerException: while trying to invoke the method com.sap.aii.mapping.api.DynamicConfiguration.put(com.sap.aii.mapping.api.DynamicConfigurationKey, java.lang.String) of an object loaded from local variable '<4>'] in class com.sap.xi.tf._<message mapping>_ method getDynamicFile[test, com.sap.aii.mappingtool.tf7.rt.Context@2e52cb31]
What am I doing wrong in this UDF?
Thanks
GopalHi,
Your UDF will run fine in an end to end execution,i.e, during runtime. However, if you want to test your message mapping test tab without the dynamic config UDF throwing an exception, encpasulate the code in a try catch block
public String getDynamicFile(String fname, Container container) throws StreamTransformationException{
String str = fname + ".xml";
try{
DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey FileName = DynamicConfigurationKey.create("http:/"+"/sap.com/xi/XI/System/File","FileName");
conf.put(FileName, str);
}catch(Exception ex){}
return str;
The above code should run fine when you test in the message mapping test tab.
Regards -
Send Alerts(e-mail) for errors in SXMB_MONI(message mapping exceptions)
Good afternoon !
I´m configuring SAP Netweaver PI 7.0(SP13) to use Alert Framework to send Alerts when errors occurs in the interfaces processing.
I just achieved configure to send alerts when errors ocurrs in the Adapter Framework but, I can´t configure correctly to send alerts when errors ocurred only in SXMB_MONI(for example, message mapping exception in asyncronous interface).
I just followed the instructions at Michal Krawczyk
weblog(/people/michal.krawczyk2/blog/2005/09/09/xi-alerts--step-by-step) and, initially, this was not sufficient to start to send alert when errors occurs only on SXMB_MONI, so, I researched and found some configurations to do in CCMS(started from here: http://help.sap.com/saphelp_nw70/helpdata/en/e3/bf3b7a8ccb8040b638ff732c551aeb/content.htm), jobs to start events collectors, etc, and after this, I could see a mail for an message mapping exception. BUT, this message, sent from CCMS to ALM, doesn´t carry out all the message parameters, like message Id, sender(service, interface), receiver(service, interface), that is very important to help to find the message with errors to be solved.
There is somebody here that already done the Alert configuration to send messages for errors found only in SXMB_MONI(Monitor for processed XML Messages) ?
There is a better way to achieve this ?
Thank you for your attention,
Wilson Rodrigo dos Santos
SAP Netweaver XI/PI ConsultantHi
Go through these links and follow it.
ALERTS CONFIG AND STUFF
http://help.sap.com/saphelp_nw04/helpdata/en/80/942f3ffed33d67e10000000a114084/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/49/cbfb40f17af66fe10000000a1550b0/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/49/cbfb40f17af66fe10000000a1550b0/frameset.htm
XI: Alerts - Step by step
/people/michal.krawczyk2/blog/2005/09/09/xi-alerts--step-by-step
http://help.sap.com/saphelp_nw04s/helpdata/en/d0/d4b54020c6792ae10000000a155106/frameset.htm
Triggering by Calling a Function Module Directly.
/people/bhavesh.kantilal/blog/2006/07/25/triggering-xi-alerts-from-a-user-defined-function
Alerts with variables from the messages payload (XI) u2013 UPDATED
/people/michal.krawczyk2/blog/2005/03/13/alerts-with-variables-from-the-messages-payload-xi--updated
Simple Steps to Get Descriptive Alerts from BPM in XI
/people/community.user/blog/2006/10/16/simple-steps-to-get-descriptive-alerts-from-bpm-in-xi
Triggering XI Alerts from a User Defined Function
/people/bhavesh.kantilal/blog/2006/07/25/triggering-xi-alerts-from-a-user-defined-function
Throwing Smart Exceptions in XI Graphical Mapping
/people/alessandro.guarneri/blog/2006/01/26/throwing-smart-exceptions-in-xi-graphical-mapping
/people/sukumar.natarajan/blog/2007/01/07/how-to-raise-alerts-from-abap-proxy
/people/michal.krawczyk2/blog/2005/09/09/xi-alerts--troubleshooting-guide
/people/sravya.talanki2/blog/2006/11/22/error-handling-framework-xiout-of-the-box-episode-1
/people/ginger.gatling/blog/2005/06/16/integrating-alerts-into-uwl--its-no-problem
/people/aravindh.prasanna/blog/2006/02/20/configuring-scenario-specific-e-mail-alerts-in-xi-ccms-part-3
/people/aravindh.prasanna/blog/2005/12/24/configuring-scenario-specific-e-mail-alerts-in-xi-ccms-part-2
/people/aravindh.prasanna/blog/2005/12/23/configuring-scenario-specific-e-mail-alerts-in-xi-ccms-part--1
http://help.sap.com/saphelp_nw2004s/helpdata/en/56/d5b54020c6792ae10000000a155106/content.ht
http://help.sap.com/saphelp_nw04/helpdata/en/2c/abb2e7ff6311d194c000a0c93033f7/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/80/942f3ffed33d67e10000000a114084/frameset.htm
/people/michal.krawczyk2/blog/2005/09/09/xi-alerts--step-by-step
check this links.
https://www.sdn.sap.com/irj/sdn/forums
Trouble shooting Alert configuration:
/people/michal.krawczyk2/blog/2005/09/09/xi-alerts--troubleshooting-guide
/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions
Alert Inbox
http://help.sap.com/saphelp_nw04/helpdata/en/80/942f3ffed33d67e10000000a114084/frameset.htm
Alert Notification Step-by-Step
http://help.sap.com/saphelp_nw04/helpdata/en/49/cbfb40f17af66fe10000000a1550b0/frameset.htm
Defining Alert Classifications
http://help.sap.com/saphelp_nw04/helpdata/en/49/cbfb40f17af66fe10000000a1550b0/frameset.htm
Triggering Alerts
http://help.sap.com/saphelp_nw04/helpdata/en/49/cbfb40f17af66fe10000000a1550b0/frameset.htm
Setting up alerts
Setting up alerts in RZ20
Alert Management
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e04141e8-0f11-2a10-adaa-9d97b062c2df
Alert Notification
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/90f449a8-a6db-2910-a386-d2b5999f5751
/people/matt.kangas/blog/2006/06/27/personalized-alert-delivery
Thanks
Saiyog -
Possible to set Dynamic Config from ABAP Proxy
Hi,
I know how to get and set Dynamic Config from Java/XSLT mappings and adapter modules. But I want to do this from an outbound ABAP Proxy Call (in the same way I can set the serialization context for EOIO), is that possible?
The scenario is: I have an interface; Proxy -> Xi -> ftp, with no mapping. It seems unnecessary to introduce a mapping just to set some dynamic config values for the receiving adapter which are already known at the outbound proxy call...
rgds JohanHi Bhavesh,
In the thread you mention it is shown that you can set Dynamic Config properties during an ABAP mapping. My question was if I can set these properties already in the proxy call? Or did I miss something?
Of-course I can introduce a dummy mapping in Java/XSLT/ABAP which copies the source message to the result message and sets the dynamic config properties, but I would rather not introduce a mapping if not neccessary...
rgds Johan -
Exception in Message mapping for JDBC - XI- file
Hi,
In the above scenario, Sender JDBC adapter has processed the message but when i checked the processed XML messages, its giving an error message with details
<i>During the application mapping
com/sap/xi/tf/_MM_XXXX_a
com.sap.aii.utilxi.misc.api.BaseRuntimeException
was thrown: RuntimeException in Message-Mapping
transformatio~</i>
how to make the source structure so that it gets correctly populated with the result set of sender JDBC adapter? Are there any constraints while making the Data type for the source structure?
Regards,
Nitin Aggarwal.Hi,
The problem is solved...
Actually, the runtime system was not able to map the result set generated by the Sender JDBC adapter to the source structure of message mapping. This was because the result set has a particular structure and its like
<resultset>
<row>
<column1>value1</column1>
<column2>value2<column2>
</row>
</resultset>
To map this kind of structure to the source structure, a <b>row</b> element should always be there below the root node and the structure fields should be placed as sub elements to row. One more thing the root node of the source structure should be same as the document name specified in the sender JDBC adapter config.
Anyways, Thanks to all for the valuable efforts.
Regards,
Nitin. -
Need Clarification on Looping in Message Mapping.
Hi All,
I'm trying to implement the Dynamic emailing as explained in the Michals blog.
/people/michal.krawczyk2/blog/2005/03/07/mail-adapter-xi--how-to-implement-dynamic-mail-address
I have this partially working for the scenario I have.
XI will be receiving a ORDRSP IDoc from an external system and XI needs to do the following.
1) Check the value of <b> E1EDP01-ABGRU </b> equals to Z2. If any of the E1EDP01-ABGRU has a value of Z2, it should do the following
a) Get the email address from the E1EDKA1-ILNNR and map it to the TO field as shown in the blog.
b) Get the values of BELNR-E1EDK01, MENEE, VPREI, POSEX, PEINH, ABGRT from the E1EDP01 segment and concatenate them all and map it to the Content tag as explained in Michals blog.
I have this process partially working. The XI interface is only mapping for the first occurrence of E1EDP01 and not the subsequent occurrences of E1EDP01 which matches the criteria ( E1EDP01-ABGRU = Z2)
Any help in getting fixing this problem??
ThanksMake sure to define multiple target messages in your message and interface mappings, for the mail package message definition (occurrence = 0...unbounded).
Also, in the logic of your message mapping, you need to create a new mail package message only if E1EDP01-ABGRU = 'Z2'. Use it like this:
ABGRU --- EqualS --- createIf --- Mail
Constant[Z2]
Regards,
Henrique. -
How to implement validations in message mapping?
Hi experts,
I have a simple requirement:
I have a simple synchronous scenario:
SOAP -> XI -> RFC
In a message mapping, one of the fields in the source message is of type String.
However, the target application (RFC) does not expect a non-numeric characters in this string.
My question is how can I perform the validation in XI and tell the sender that this field contains Non-numeric characters?
Please help.
Thanks.
Ron> Ron,
>
> >>With a RunTime Exception thrown, how can I tell
> the sender an error has occured?
>
> Sure. You can do this with out a BPM. You need to
> configure alerts for this. If you configure ALERTS
> and SCOTT, this will send an email of the errors
> occuring in your scenario.
>
> For configuring and trouble shooting alerts check
> these
>
> https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/
> 2327
> https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/
> 2328
>
> Regards,
> Jai Shankar
Hi Jai
I already have alerts configured.
But what I had in mind is to send a response to the sender (The sender is waiting for a reply since this is synchronous), instead of telling the sender through an alternative means such as email, sms, etc.
Is this possible? -
Attachments deleted during message mapping in PI 7.1
We have upgraded our SAP XI 3.0 SP 22 system to SAP PI 7.1 SP06. In XI 3.0 we created some message mappings that mapped an XML payload with attachments to another message type. The attachments would still exist after the mapping step. In SAP PI 7.1 we now see that attachements are deleted from the message. We cannot see why this is happening. We have tried to set the 3 new option in the operation mappings without any results. The attachements are still being deleted.
Active Options in operation mappings:
Use SAPXMLToolkit = true
Do Not Resolve XOP includes = false
Read Attachements = false
In the SXMB_MONI we can see that the attachements are deleted after the Request Message Mapping step. It is a simple proxy-to-proxy scenario with interface and message mapping.
<Trace level="1" type="B" name="CL_MAPPING_XMS_PLSRV3-ENTER_PLSRV">
<Trace level="2" type="T">......attachment XI_Context not found</Trace>
<Trace level="3" type="T">Mapping already defined in interface determination</Trace>
<Trace level="3" type="T">Object ID of Interface Mapping 46842937562139BCA3F2AC1F36E729FE</Trace>
<Trace level="3" type="T">Version ID of Interface Mapping 5D945F00B00611DDB04FF8CF0A5B0156</Trace>
<Trace level="1" type="T">Interface Mapping urn:kadaster-nl:SERV:ZA:KAD:DOVO im_mail_to_dms</Trace>
<Trace level="3" type="T">Mapping Steps 1 JAVA com/sap/xi/tf/_mm_mail_to_dms_</Trace>
<Trace level="3" type="T">MTOM Attachments are Transferred to the Payload</Trace>
<Trace level="3" type="T">Dynamic Configuration Is Empty</Trace>
<Trace level="2" type="T">Mode 0</Trace>
<Trace level="3" type="T">Search com/sap/xi/tf/_mm_mail_to_dms_.class (urn:kadaster-nl:SERV:ZA:KAD:DOVO, -1) in swcv 5d945f00-b006-11dd-b04f-f8cf0a5b0156.</Trace>
<Trace level="2" type="T">Loaded class com.sap.xi.tf._mm_mail_to_dms_</Trace>
<Trace level="3" type="T">Search com/sap/xi/tf/_mm_mail_to_dms_$MT$InnerLibsList.class (urn:kadaster-nl:SERV:ZA:KAD:DOVO, -1) in swcv 5d945f00-b006-11dd-b04f-f8cf0a5b0156.</Trace>
<Trace level="2" type="T">Loaded class com.sap.xi.tf._mm_mail_to_dms_$MT$InnerLibsList</Trace>
<Trace level="3" type="T">Search com/sap/xi/tf/_mm_mail_to_dms_$MT$InnerParamsList.class (urn:kadaster-nl:SERV:ZA:KAD:DOVO, -1) in swcv 5d945f00-b006-11dd-b04f-f8cf0a5b0156.</Trace>
<Trace level="2" type="T">Loaded class com.sap.xi.tf._mm_mail_to_dms_$MT$InnerParamsList</Trace>
<Trace level="2" type="T">Call method execute of the application Java mapping com.sap.xi.tf._mm_mail_to_dms_</Trace>
<Trace level="1" type="T">*** START APPLICATION TRACE ***</Trace>
<Trace level="3" type="T">Document start</Trace>
<Trace level="3" type="T">Start tag [ns1:OpvoerenDocumentRequest]</Trace>
<Trace level="3" type="T">Add raw attribute [ xmlns:ns1="urn:kadaster-nl:SERVICES:DMS:Opvoeren:ZI_KAD_DMS_MAIN"]</Trace>
<Trace level="3" type="T">Start tag [DocumentInfoRecord]</Trace>
<Trace level="3" type="T">Start tag [Type]</Trace>
<Trace level="3" type="T">Put value [302]</Trace>
<Trace level="3" type="T">Close tag [Type]</Trace>
<Trace level="3" type="T">Start tag [Omschrijving]</Trace>
<Trace level="3" type="T">Put value [Apeldoorn]</Trace>
<Trace level="3" type="T">Close tag [Omschrijving]</Trace>
<Trace level="3" type="T">Close tag [DocumentInfoRecord]</Trace>
<Trace level="3" type="T">Close tag [ns1:OpvoerenDocumentRequest]</Trace>
<Trace level="3" type="T">Document end</Trace>
<Trace level="1" type="T">*** END APPLICATION TRACE ***</Trace>
<Trace level="2" type="T">Java mapping com/sap/xi/tf/_mm_mail_to_dms_ completed. (executeStep() of com.sap.xi.tf._mm_mail_to_dms_).</Trace>
<Trace level="3" type="T">Dynamic Configuration Is Empty</Trace>
<Trace level="3" type="T">Attached will be Deleted cid:payload-001708D1A20E1DEDAD96471B4CCBC447(@)sap.com</Trace>
<Trace level="3" type="T">Attached will be Deleted cid:payload-001708D1A20E1DEDAD96471B4C758447(@)sap.com</Trace>
<Trace level="1" type="T">ContentType application/xml</Trace>
Regards,
JeroenHi Michal,
Already tried this option too. However this option would only transfer the attachments to
the mapping runtime in JAVA. We only map the actual payload in a graphical message
mapping, so for our purpose, the other attachments could stay untouched and remain
in the abap part for further pipeline processing.
You can find the result of the Read attachment option during runtime here:
<!-- ************************************
-->
- <Trace level="1" type="B" name="CL_MAPPING_XMS_PLSRV3-ENTER_PLSRV">
<Trace level="2" type="T">......attachment XI_Context not found</Trace>
<Trace level="3" type="T">Mapping already defined in interface determination</Trace>
<Trace level="3" type="T">Object ID of Interface Mapping 46842937562139BCA3F2AC1F36E729FE</Trace>
<Trace level="3" type="T">Version ID of Interface Mapping 5D945F00B00611DDB04FF8CF0A5B0156</Trace>
<Trace level="1" type="T">Interface Mapping urn:kadaster-nl:SERV:ZA:KAD:DOVO im_mail_to_dms</Trace>
<Trace level="3" type="T">Mapping Steps 1 JAVA com/sap/xi/tf/_mm_mail_to_dms_</Trace>
<Trace level="3" type="T">MTOM Attachments are Transferred to the Payload</Trace>
<Trace level="3" type="T">Dynamic Configuration Is Empty</Trace>
<Trace level="2" type="T">Mode 0</Trace>
<Trace level="3" type="T">Search com/sap/xi/tf/_mm_mail_to_dms_.class (urn:kadaster-nl:SERV:ZA:KAD:DOVO, -1) in swcv 5d945f00-b006-11dd-b04f-f8cf0a5b0156.</Trace>
<Trace level="2" type="T">Loaded class com.sap.xi.tf._mm_mail_to_dms_</Trace>
<Trace level="3" type="T">Search com/sap/xi/tf/_mm_mail_to_dms_$MT$InnerLibsList.class (urn:kadaster-nl:SERV:ZA:KAD:DOVO, -1) in swcv 5d945f00-b006-11dd-b04f-f8cf0a5b0156.</Trace>
<Trace level="2" type="T">Loaded class com.sap.xi.tf._mm_mail_to_dms_$MT$InnerLibsList</Trace>
<Trace level="3" type="T">Search com/sap/xi/tf/_mm_mail_to_dms_$MT$InnerParamsList.class (urn:kadaster-nl:SERV:ZA:KAD:DOVO, -1) in swcv 5d945f00-b006-11dd-b04f-f8cf0a5b0156.</Trace>
<Trace level="2" type="T">Loaded class com.sap.xi.tf._mm_mail_to_dms_$MT$InnerParamsList</Trace>
<Trace level="2" type="T">Call method execute of the application Java mapping com.sap.xi.tf._mm_mail_to_dms_</Trace>
<Trace level="1" type="T">*** START APPLICATION TRACE ***</Trace>
<Trace level="3" type="T">Document start</Trace>
<Trace level="3" type="T">Start tag [ns1:OpvoerenDocumentRequest]</Trace>
<Trace level="3" type="T">Add raw attribute [ xmlns:ns1="urn:kadaster-nl:SERVICES:DMS:Opvoeren:ZI_KAD_DMS_MAIN"]</Trace>
<Trace level="3" type="T">Start tag [DocumentInfoRecord]</Trace>
<Trace level="3" type="T">Start tag [Type]</Trace>
<Trace level="3" type="T">Put value [302]</Trace>
<Trace level="3" type="T">Close tag [Type]</Trace>
<Trace level="3" type="T">Start tag [Omschrijving]</Trace>
<Trace level="3" type="T">Put value [Apeldoorn]</Trace>
<Trace level="3" type="T">Close tag [Omschrijving]</Trace>
<Trace level="3" type="T">Close tag [DocumentInfoRecord]</Trace>
<Trace level="3" type="T">Close tag [ns1:OpvoerenDocumentRequest]</Trace>
<Trace level="3" type="T">Document end</Trace>
<Trace level="1" type="T">*** END APPLICATION TRACE ***</Trace>
<Trace level="2" type="T">Java mapping com/sap/xi/tf/_mm_mail_to_dms_ completed. (executeStep() of com.sap.xi.tf._mm_mail_to_dms_).</Trace>
<Trace level="3" type="T">Dynamic Configuration Is Empty</Trace>
<Trace level="3" type="T">Attached will be Deleted cid:payload-001708D1A20E1DDDAD97A993DAB6CB91(@)sap.com</Trace>
<Trace level="3" type="T">Attached will be Deleted cid:payload-001708D1A20E1DDDAD97A993DB0E4B91(@)sap.com</Trace>
<Trace level="1" type="T">ContentType application/xml</Trace>
</Trace>
</Trace>
</Trace>
Thanks -
Manipulate Dates in XI Message Mapping
Hello all,
I have a problem in which I need to take a date from my source file and manipulate this date to help produce my target structure.
<i><b>This is not my actual XML</b></i>
<source root>
<field 1>A</field 1>
<field 2>Any value</field 2>
<field 3>Next value</field 3>
<field 4>20070201</field4>
</source root>
Consider the above XML as my source. I would like to have logic in the message mapping that will check the value of a field (field 1) and based on it's value add or subtract days from the date value provided.
This would be my output for adding ten (10) days if '<b>field 1</b>' has a value of '<b>A</b>'
<target root>
<target 1>A</target 1>
<target 2>Any Value</target 2>
<target 3>Next Value</target 3>
<target 4>20070211</target 4>
</target root>
This would be my output for subtracting five (5) days if '<b>field 1</b>' has a value of '<b>B</b>' (Same source file)
<target root>
<target 1>B</target 1>
<target 2>Any Value</target 2>
<target 3>Next Value</target 3>
<target 4>20070127</target 4>
</target root>
As you can see there is a field in my source system that will tell me what type of logic to perform. The problem that I am having now is that the message mapping functions that currently exist are not helping me satisfy this requirement. I have viewed several forums and tried several of the suggestions given but nothing seems to help. Does anyone know how to solve this problem? Is there a UDF that anyone has used that would help me in solving this requirement? The solution should be dynamic to account for leap years as well as for the different days that each month has.
Answers received will be rewarded with points.
Thanks in advance for the help that you provide.Hi,
Here i am sending UDF code,which takes date(format:yyyyMMdd) as input and does addition or subtraction operations based on <field 1> value,return the result date(format:yyyyMMdd) as string value.
public String GenerateDate(String date_input, String field1,Container container){
//Here "date_input" and "field1" are inputs for this UDF
int date = Integer.parseInt(date_input);
Calendar cal;
int day = date % 100;
int month = (date/100) % 100 - 1;
int year = date / 10000;
cal = Calendar.getInstance();
cal.set(year, month, day);
/implement addition or subtraction logic here as your needs/
if (field1 == "A")
cal.add(Calendar.DATE, 10);
else if(field == "B")
cal.add(Calendar.DATE, -5);
day = cal.get(Calendar.DATE);
month = cal.get(Calendar.MONTH)+ 1;
year = cal.get(Calendar.YEAR);
date = year * 10000 + month * 100 + day;
return (""+date);
if you need any other details regarding this UDF, plz let me know.
Cheers,
Jag
Maybe you are looking for
-
please help
-
IPhone - serious email issue - there has to be a fix?
Iphone Model MC608LL Version 4.3.1 Firmware 4.10.10 Cellular ATT Mail Charter I have a new iPhone. It will not drop the mail connection to the email server. Please read the following thread before responding if you would please. I have been working o
-
Can servlets be developed locally using IE without dialing out?
beyond the user changing their settings is their something I can do?
-
The questions in the title pretty well say it all. Each version of the program works differently and wondering what it would take to standardized them for being the same across the board. Menu items are in different locations depending on what OS you
-
Audigy and HL2/CSS 5.1 sou
I have an Audigy ES with the Jan 2th Vista beta drivers. I cannot get true 5. sound from Half Life 2 or CSS... for example when I do the sound test ingame, the 'Rear right, rear left' sound come out of the front speakers as well, which shows it is mo