Mapping Tracing in Java Section of Message Mapping
Hi,
Is it possible to get the Mapping Trace Object in the JAVA SECTION of the Message Mapping?
To access the<a href="http://help.sap.com/saphelp_nw04/helpdata/en/c8/98e7d5c1620642973565ea3dd319d1/content.htm">Mapping Trace Object</a>, we need the instance of the <a href="http://help.sap.com/saphelp_nw04/helpdata/en/78/b4ea10263c404599ec6edabf59aa6c/content.htm">Container Object</a>. SAP help says, Container Object is made available to every User Defined Function .
What we need is how can we get the current instance of the Container Object in the JAVA Section of Message Mapping. Any ideas?
Regards,
Bhavesh
Hi Bhavesh,
It seems you can access global container from any part of Graphical mapping.
According to Access StreamTransformation values in Java initialisation section:
<b>The mapping program is a class derived from the interface GlobalContainer. So you can use the methods of GlobalContainer all the time during the mapping program.</b>
Plz refer the link to the related thread.
Regards,
Ananth
Similar Messages
-
Web Service call from java UDF in message mapping
Hi,
Is it possible to call a web service from inside a java UDF in message mapping? The webservice can be any standard one. If this is possible please let me know how this can be done.
Regards,
ShiladityaHi Shila,
Hope u remember me
Here is the standard code used to call webservice from Java UDF
public String setSoapAction(String SOAPAction,Container container){
try{
DynamicConfiguration conf = (DynamicConfiguration)container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey soapurl = DynamicConfigurationKey.create("http:/"+"/sap.com/xi/XI/System/SOAP" , "THeaderSOAPACTION");
conf.put(soapurl, SOAPAction);
return "";
}catch(Exception e){
e.getMessage();
return "";
Regards,
Arijit -
Could Mapping Template be used in Multi Message mapping
I had a 1:1 message mapping: MM_A
but later i foudd that the mapping should be 1:n
Multi message mapping
so firstly i created mapping template of MM_A
but the template doesn't work when i am doing the multi mapping.
Could Mapping Template be used in Multi Message mapping?
Thank you very muchHi leo,
<i>
Could Mapping Template be used in Multi Message mapping?</i>
Yes it can be used......
Regards,
Abhy -
GlobalContainer object values acessed among UDF's in message mapping ?
hi
i have scenario where i am using globalContainer variable functionality in my message mapping.
in edit java section
String usr;
Container container ;
GlobalContainer globalContainer ;
intialize usr = "";
in First UDF
String inlogin_sess = " ashutosh test value" ;
globalContainer.setParameter(usr,inlogin_sess);
return any value :
now if i create another 2nd UDF and use :
String out =globalContainer.getParameter(usr);
return out ;
now 2nd UDF is giving null pointer exception...
for testing the code functionality..
IF i use the SET and GET in 1st UDF :
globalContainer.getParameter(usr); in 1st UDF than it is working sucessfully...
globalContainer.setParameter(usr,inlogin_sess);
String out = globalContainer.getParameter(usr);
return out ;
in help.sap it is mentioned that Globalcontainer objects values can be fetched among UDF's in one message mapping....
[http://help.sap.com/saphelp_nw04/helpdata/en/0f/80243b4a66ae0ce10000000a11402f/frameset.htm]
i have gone a lot of thread in sdn where Global container are used like sequence no creation etc, but every where the
GET and SET are used in SAME UDF...
any clue where is leak..
Regards,
ashutosh RHi Abhishek
Your point is legimate, but for my their is no such issue..
even i try to use it as :see image..
[http://www.screenshots.cc/show.php/14137_GlobalVariable.JPG.html]
UDF1 :
globalContainer.setParameter(usr,inlogin_sess);
return any value :
and in UDF2
String out = globalContainer.getParameter(usr);
return out ;
mainting the sequence
My concern is object globalContainer is local in UDF1, so it will through nullpointer ,if we try to access in UDF2.
if we declare globalContainer in edit jave -GlobalVariables also, still it is having the error..
Regards
AshutoshR -
Additional message mapping in the operation mapping-use
Hi Friends,
I could find the option for adding more than one message mappings in the operation mapping(Interface mapping). What is the actual purpose of it. when it is used. If there is any blogs regarding the same. refer any link for the same.
Regards
PremHi Prem
Refer the blog provided by Sarvesh
What is the actual purpose of it. when it is used. If there is any blogs regarding the same
You can use more than one mapping programs for requirement where your message mapping cannot generate the desired structure you want or you want to do some transformations in a sequence for meeting your requirement.
Example: You want to generate a excel sheet as a mail attachment but you have to read a flat file. What you can do here is you can read the Flat file in a single string variable itself. Use XSLT mapping1. Now in a sequence using XSLT Map2/Java mapping program to convert to excel and send as attachment over email
Thanks
Gaurav -
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 -
Message Mapping Problem with UTF-16LE Encoded XML
Hello,
we have the following scenario:
IDoc > BPM > HTTP Sync Call > BPM > IDoc
Resonse message of the HTTP call is a XML file with UTF-16LE processing instruction. This response should then be mapped to a SYSTAT IDoc. However the message mapping fails "...XML Parser: No data allowed here ...".
So obviously the XML is not considered as well-formed.
When taking a look at SXMB_MONI the following message appears: "Switch from current encoding to specific encoding not supported.....".
Strange thing however is if I save the response file as XML and use the same XML file in the test tab message mapping is executed successfully.
I also tried to use a Java Mapping to switch encodings before executing message mapping, but the error remains.
Could the problem be, that the codepage UTF-16LE is not installed on the PI system ? Any idea on that ?
Thank you!
Edited by: Florian Guppenberger on Feb 2, 2010 2:29 PM
Edited by: Florian Guppenberger on Feb 2, 2010 2:29 PMHi,
thank your for your answer.
This is what I have tried to achieve. I apply the java conversion mapping when receiving the response message - i tried to convert the response to UTF-16, UTF-8 but none of them has helped to solve the problem.
I guess that using adapter modules is not an option either as it would modify the request message, but not the response, right? -
Export Parameters in Parameterized Message Mapping does not work.
Hello, XI-Gurus!
I have a question: how to use an EXPORT parameter in Parameterized Message Mapping? seems it does not work...
(I use XI / PI 7.1)
For example, I have a follow scenario: a large message comes to XI from one BS (message contains a lot of rows), then this large message splits to some small messages (something about 1000 rows in one small message), and send small messaeg one by one from XI to second BS. So, after receive step I use a transformation step with Parameterized Message Mapping to get a total amount of rows in large message (it needs for making condition for loop in IP, for example). I want to use an EXPORT parameter to pass this number from Parameterized Message Mapping to Integration Process. How can I do it?
Of course, I know the way to how to make this scenario without any parameterizing, but I want to use exactly "Parameterized Message Mapping" like it writes in this help:
http://help.sap.com/saphelp_nwpi71/helpdata/en/43/c3e1fa6c31599ee10000000a1553f6/frameset.htm
This topic contains something about procedure how to use an EXPORT parameter, but this procedure does not work. I don't understand how to write this UserDefined Function, which I can set any export parameters.
I read this blog:
/people/jin.shin/blog/2008/02/14/sap-pi-71-mapping-enhancements-series-parameterized-message-mappings
this blog has NO solutions about EXPORT parameters. about IMPORT parameters - everything OK.
Some topics about how to use export parameters in MM in this forum marked as "answered", but this is not true.
How to export parameters from Message Mapping
Export parameter REALLY work in message mapping???????
Export parameter in Message mapping UDF
WBR,
VsevolodHi Rudolf,
It still does not works.
Great thanks for all your answers! If your advice works on your PI-server, it means that my problem not in UDF.
Step by step:
1) I create in "Signature" tab two parameters: FILE_NAME, FILE_TYPE (of course, they both Export and xsd:string type)
2) Then, I goes to "Functions" tab and create new function "testUDF" with one argument var1.
3) In body of this UDF insert 2 strings:
getOutputParameters.setString("FILE_NAME" , "Order");
getOutputParameters.setString("FILE_TYPE" , "PDF");
4) in "Definition" tab I bind function "Local.testUDF" with one field in my input message and goes to "Test" tab for testing.
5) And then I have a message window "Problems While Testing":
Source text of object Message Mapping: mm_ParamMap | urn:****.*.:****:TEST has syntax errors:
Function testUDF, Line 1:
cannot find symbol
symbol : variable getOutputParameters
location: class com.sap.xi.tf._mm_ParamMap_
getOutputParameters.setString("FILE_NAME" , "Order");
^
Function testUDF, Line 2:
cannot find symbol
symbol : variable getOutputParameters
location: class com.sap.xi.tf._mm_ParamMap_
getOutputParameters.setString("FILE_TYPE" , "PDF");
^
Note: /usr/sap/PID/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapb1562570ca9e11deb3fe00237d301cd6/source/com/sap/xi/tf/_mm_ParamMap_.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details. Note: /usr/sap/PID/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapb1562570ca9e11deb3fe00237d301cd6/source/com/sap/xi/tf/_mm_ParamMap_.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
2 errors
Look at this notes, first writes that I use a deprecated API, second - about unchecked or unsafe operations.
And I have no idea what's wrong... Can you help me?
Thanks!
WBR,
Vsevolod -
Accessing container variables from ccBPM in Message Mapping?
Hello Friends,
I have created a ccBPM and require to send response messages to the sending system at different points as the message proceeds from one state to another. I do not want to create multiple message mapping stating different status in every message mapping. The message mapping remains the same only the status is changing. So I am thinking if I can access container elements in ccBPM at message mapping then I should be able to use only one message mapping. Is it possible at all?
Let me know if you have other solutions. Let me know if I am not clear?
Thanks & Regards,
Anand PatilHi Abhishek,
Your suggestion to use Parameterized Mapping did solve my issue. I was looking something like this. Thanks.
Now I have only one Message Mapping and it is used in multiple places. Thanks a lot
Best regards,
Anand Patil -
Regarding Message Mapping in JDBC Scenario
Hello Experts,
I got struct up in message mapping. In message mapping we can able to see different types of Functions. So I need some clarifications on it. Functions are available like...
Conversions
Boolean
Node Functions
Constants
Date
Text
Static
Arithmetic
So please explain in simple for each functions.
Points will be rewarded.
Thank youHi
*Boolean*:-
And -- checks for 2condition, return a true value if both condition are satisfied
Or --checks for 2condition, return a true value if one condition is true.
Not - checks if the condition is not equal to.
Equals - Check whether 2 Boolean values are equal
NotEquals
If u2013 Returns second value if the first argument is true. otherwise returns third argument
If WithoutElse u2013 Returns value of second argument, if first argument is true.
Node Functions:-
createIf - Produces empty value if argument is true; Resultlist.SUPPRESS otherwise
removeContexts u2013 Produces plain stream of values with No context changes
replaceValue u2013 replaces value of source field to value specified in Function Properties.
Exists u2013 Returns true, if Node exists otherwise false
SplitByValue u2013 inserts context changes after event specified
collapseContexts u2013 Produces one empty string value out of each arguments context. All arguments are in one context
useOneAsMany u2013 Use First Argument as IS on same level as third argument. second argument defines when next value of first argument is used
sort u2013 sorts values in each context
sortByKey u2013 Sorts values in second queue by keys from first queue
mapwithDefault u2013 Inserts default values specified in the function properties into empty contexts
formatByExample u2013 Takes values from the first queue and inserts them in the structure of second queue.
Constants:-
Constant u2013 Generates constant value
CopyValue u2013 Takes specified value in argument stream and copies it an infinite number of times
Sender u2013 Sender System
Receiver u2013 Receiver System
Date:-
CurrentDate u2013 Return current date in specified format
DateTrans u2013 Transforms date from input format to output format
Dateafter u2013 Returns True if first date is after second otherwise false
DAteBefore - Returns True if first date is before second otherwise false
CompareDates u2013 Compares two dates
Text:-
Substring u2013 Returns substring depending upon the given parameters
Concat u2013 concatenates 2 strings inserting delimiter string parameter between them
Equals u2013 Check whether Strings are equal
indexOf2 u2013 returns the index where the second string is found for the first time in the first string
indexOf3 u2013 As with indexOf with 2 parameters, But starting search at the specified position
lastindexOf2 u2013 Returns the index where the second string is found for the last time in the first string
lastIndexOf3 u2013 As with lastIndexOf with 2 parameters starting search at the specified position
compare u2013 compares 2 strings lexicographically
replaceString u2013 Replaces each occurrence of pattern(2nd argument ) of source string(1st arg). By third string
length u2013 returns length of string
endsWith u2013 Tests whether string ends with specified suffix
startsWith2 u2013 Tests whether string starts with specified prefix
startsWith3 u2013 Tests whether string starts with specified prefix beginning at specified location
toUpperCase u2013 Converts all characters in string to upper case
trim u2013 Removes white space from both ends of string
toLowerCase u2013 Converts all characters in String to Lower case
Statistic:-
sum u2013 calculates sum of all numbers in each context
average u2013 calculates the average of all numbers in each context
count u2013 Counts number of values in each context
Index u2013 For each incoming value, this Function returns the index number of the incoming value in the context, String from the initial index and increasing by the increment defined in the parameters.
Arithmetic:-
Add u2013 add two values
Subtract u2013 subtracts second value from the first value
equalsA u2013 Returns true; If float numbers represented by argument strings are equal otherwise returns false
abs u2013 returns Absolute value of argument
sqrt u2013 Returns square root of the number
sqr u2013 Returns square of the number
sign u2013 Returns -1 if number is negative, +1 if positive, 0 if 0
neg u2013 Multiplies number to -1
1/x u2013 calculates 1/x
Power u2013 Returns value of the first argument to the power of the second argument
Less u2013 Returns true if the first number is less than the second number otherwise false
Greater - Returns true if the first number is greater than the second number otherwise false
Multiply u2013 Multiplies 2 values
Divide u2013 Divides first value by the second value
Max u2013 Returns maximum of 2 numbers
Min u2013 Returns Minimum of the 2 numbers
Ceil u2013 Returns the smallest (closest to the negative infinity) initial value that is not less than the argument and it is equal to the mathematical integer.
Floor - Returns the largest (closest to the negative infinity) initial value that is not Greater than the argument and it is equal to the mathematical integer.
Round u2013 Returns closest initial value to the argument
Counter u2013 Counts number of invocations. Initial value and increment defined by Parameters.
FormatNum u2013 Formats Number with given pattern.
Conversions:-
FixValues u2013 Creates a Local Table to perform a value Mapping
ValueMapping u2013 Define jump to Value Mapping table of Integration Directory.
Message Mapping(Node Function) Part-1
Message Mapping Simplified - Part I
Sravaya Talanki- Message Mapping(Node Function) Part-2
/people/sravya.talanki2/blog/2005/12/08/message-mapping-simplified-150-part-ii
Standard Functions
http://help.sap.com/saphelp_nw04/helpdata/en/43/c4cdfc334824478090739c04c4a249/frameset.htm
Advanced mapping function(mapwithdefault,formatbyexample,sort,sortbykey)
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/9202d890-0201-0010-1588-adb5e89a6638
Hope this is useful
Saiyog
Edited by: Saiyog Gonsalves on Jul 11, 2008 1:14 PM -
Get the mapping values from one message mapping into another message mappin
Hi All,
I created two graphical message mappings. In first message mapping i created one user defined function and set one global container parameter and I need to use this parameter in my second message mapping user defined function. But the global container parameters can be used in different user defined functions in same message mapping. So is there any way to use the values which are set in one message mapping into another message mapping. If yes, please help me how to get?Hi Koteswara rao,
As you said global container parameters from first message mapping are not accessible from second message mapping program.
i haven't faced situation like this.but, if you have some unmapped field in target message in first message mapping,you can put global variables data in that unmapped field.
anyway the output of first message mapping would be input for 2nd messages mapping,so you can access global data(unmapped field filled with global data in 1st MM) from 2nd mapping program..
Cheers,
Jag -
Message mapping crashes only in INterface Mapping
hi guys,
i have an issue with one of my interface mapping. the message mapping crashes when i run the interface mapping. however when i run the message mapping separately it works fine.
any hints?
thanks,
ali.Hi Ali,
If you are using try catch then in case of catch condition if you pass null to substring it will fail.. Either you call the substring inside your udf (so that you can make sure that the filename is available then only substring is called) else handle the null condition in message mapping before calling substring...
Also you can try looking into the display queue entry for substring in Message Mapping for further analysis. Here also you will not get any filename by dynamic configuration, but i am not sure why it was not failing there.. May be display queue will help you.
Regards
Suraj -
How do we use the Java Section (Message mapping>Design>Edit Java Sections) in IR.
Hi,
Edit Java function is to specify global variables and to mentioned about additional Java sections for all Java functions.
The mapping is internally based on Java SAX parsers so runtime first it will include the Java packages specified under Imports. It will be used if any special package need to be import else the standard Java.lang or Maths packages have default imported no need to mentione about it.
You can enter the same packages entered for a user-defined function. Then the mapping runtime declares the variables entered as global variables and executes the sections in the following order:
1. Initialization section
2. Message mapping
3. Cleanup section
Thanks
Swarup
Edited by: Swarup Sawant on Mar 10, 2008 7:25 AM -
User defined function in java for message mapping
I wrote the following user defined function in java for message mapping and mapped vendor with this. The aim of this function is to write a error file at defined path when i send empty Vendor value from File to RFC-Function module BAPI_PO_CREATE. The "err.txt" error file is not written when i execute in TEST but the value "ERROR" is returned to destination Vendor Field.
public String validation(String a, Container container) {
//write your code here
if (a.equals("")) {
try {
String source = "Vendor cannot be empty";
char buffer[] = new char[source.length()];
source.getChars(0, source.length(), buffer, 0);
for (int i = 0; i < buffer.length; i +=2)
f0.write(buffer<i>);
f0.close();
FileWriter f1 = new FileWriter("/10.10.0.55/sapmnt/trans/edixiin/err.txt");
f1.write(buffer);
f1.close();
catch (IOException e) {}
return "ERROR";Hi Senthil,
Check these things :
1) Whether you have permission to create a file in that directory.
2) try giving this
10.10.0.55
sapmnt
trans
edixiin
err.txt
3) Also check for permissions.
Hope this will help you.
Regards
Suraj -
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
Maybe you are looking for
-
Custom Field in Account Assignment with search help functionality..
Hello friends, I have added a custom field(Profit Center) in account assignment frame which is having search help also attached.. the data for search help read from R/3.. When i click the search help in WEB , I got an error message saying that 'N
-
Hi, First of all let me know if this is the correct forum for my post. I receive the following error in my kernel.log file every couple of days: Oct 31 11:33:16 Mac-Mini kernel[0]: USBF: 3170599.294 AppleUSBEHCI[0x838b000]::Found a transaction past t
-
Do I have to buy a data plan? please read desc.
I would like to purchase a iphone 4 (maybe 5) but i would ONLY like to continue with my plan with talk and text. I would NOT like to purchase a data plan for this phone. I would like the phone for its other uses including apps and music and such. But
-
Sales order - entering customer material
Hello, We have list of machine part numbers which do not tally with a customer machine parts numbers. For example our part number is TSS0001 whereas Customers part number is 004-XVG-43966-1 Customer would like to have his own part number listed in th
-
Like I will be checking on an account { page is fine} go to a different screen then go back.... This is the fun part. The page starts off normal then all the sudden it shrinks and moves to the right side of the page with out me touching anything. I h