How to handle Hirarchy structures in MESSAGE MAPPING
Hi...
I'm getting data from a file.. and that is contain Hierarchy structure.. but i want to load it to a plain structure.. for this how can we map the source fields to target fields..
here my source structure is...
HEADER :
--DATE
--COMPANY
--LINE_ITEM_1:
-----CUSTOMER_NO
-----LINE_ITEM2:
ORDER_NO
MATERIAL_NO
QUANTITY
PRICE
DELIVARYDATE
-----LINE_ITEM2
ORDER_NO
MATERIAL_NO
QUANTITY
PRICE
DELIVARYDATE
-----CUSTOMER_NO
-----LINE_ITEM2
ORDER_NO
MATERIAL_NO
QUANTITY
PRICE
DELIVARYDATE
-----LINE_ITEM2----
ORDER_NO
MATERIAL_NO
QUANTITY
PRICE
DELIVARYDATE
this structure i want to map it to a plin structure..
regards
Jain
Hi,
removeContext:- Deletes all context changes in a queue.
For Eg:-
<RootNode>
<Node1>
Value1
Value2
</Node1>
<Node2>
Value3
Value4
</Node2>
</RootNode>
When removeContext not used:-
<RootNode>
Value1
Value2
</RootNode>
When removeContext used:-
<RootNode>
Value1
Value2
Value3
Value4
</RootNode>
Refer [https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/9202d890-0201-0010-1588-adb5e89a6638]
Hope this helps.
Regards,
Ambili
Similar Messages
-
How to validate a date in message mapping
Hi experts,
how to validate a date in message mapping. For ex: if date comes as 2008/02/31, then file it shold not get processed.how to achieve this in message mapping. Please help .
Thanks&Regards,
Reyaz HussainHi,
There are few simple ways for date validation as follow,
1.If you would like to handle it in XI only, then in message mapping you could verify about it with the help of generating smart exception.
For e.g in mapping there is one Date conversion API i.e. somthing DateTransformation It converts the incoming date format to required format. Here give the date format i.e expected from Sender File.
If in case the format miss-matched then it will create the exception.
You could handle this exception with the use of [Alert notification|http://help.sap.com/saphelp_nw04/helpdata/en/2c/abb2e7ff6311d194c000a0c93033f7/frameset.htm] and could be even able to notify to sender system about it.
2. The another solution is easy for SAP synchornous communication --If you are passing the file data to SAP, then you could use below function modules to verify date format in receiver RFC/BAPI or inbound IDOC program. If the sy-subrc is not 0 then don't process further.
CONVERT_DATE_FORMAT
ISU_DATE_FORMAT_CHECK
Thanks
Swarup -
How to handle Tree structure in bdc
Hi Experts,
How to handle Tree structure in bdc, can any one have any idea regarding this.
In the top most of the tree i have : Occupational Health under that Identification is there .
Occupational Health
Identification
Regards,
Sudhakar Reddy.AHi Experts,
Thanks Parvatha reddy for your reply.
Can any one provide BAPI for this T.Code EHSQCATOH or can any one tell me how to handle Tree structure .
Regards,
Sudhakar Reddy .A -
How to use node functions in Message mapping !!
Hi Gurus,
I have got one issue in message mapping, please can any one put some ideas on this !!
Source Structure
<Group_ZA> 0..unbound
<D02_ZA> 0.. unbound
ZA_01 0..1 - QA
ZA_02 0..1 20
ZA_03 0..1
ZA_04 0..1
</D02_ZA>
<D02_ZA>
ZA_01 0..1 QD
ZA_02 0..1 40
ZA_03 0..1
ZA_04 0..1
</D02_ZA>
<D02_ZA>
ZA_01 0..1 QN
ZA_02 0..1 12
ZA_03 0..1
ZA_04 0..1
</D02_ZA>
<D02_ZA>
ZA_01 0..1 QP
ZA_02 0..1 60
ZA_03 0..1
ZA_04 0..1
</D02_ZA>
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
<D02_ZA>
ZA_01 0..1 QA
ZA_02 0..1 20
ZA_03 0..1
ZA_04 0..1
</D02_ZA>
<D02_ZA>
ZA_01 0..1 QD
ZA_02 0..1 40
ZA_03 0..1
ZA_04 0..1
</D02_ZA>
<D02_ZA>
ZA_01 0..1 QN
ZA_02 0..1 12
ZA_03 0..1
ZA_04 0..1
</D02_ZA>
<D02_ZA>
ZA_01 0..1 QP
ZA_02 0..1 60
ZA_03 0..1
ZA_04 0..1
</D02_ZA>
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
<D02_ZA>
ZA_01 0..1 QN
ZA_02 0..1 12
ZA_03 0..1
ZA_04 0..1
</D02_ZA>
<D02_ZA>
ZA_01 0..1 QP
ZA_02 0..1 60
ZA_03 0..1
ZA_04 0..1
</D02_ZA>
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
<D02_ZA>
ZA_01 0..1 QA
ZA_02 0..1 20
ZA_03 0..1
ZA_04 0..1
</D02_ZA>
<D02_ZA>
ZA_01 0..1 QD
ZA_02 0..1 40
ZA_03 0..1
ZA_04 0..1
</D02_ZA>
<D02_ZA>
ZA_01 0..1 QN
ZA_02 0..1 12
ZA_03 0..1
ZA_04 0..1
</D02_ZA>
<D02_ZA>
ZA_01 0..1 QP
ZA_02 0..1 60
ZA_03 0..1
ZA_04 0..1
</D02_ZA>
</Group_ZA>
Target Structure
ProductActivityNotification 0..unbound
ProductActivity 1..1
Item 1..unbound
Inventory 0..1
UnrestrictedUseQuantity 0..1
The Group_ZA comes 'n' number of times and D02_ZA comes sometimes 5 times and sometimes 6 times etc.,
ZA_01 field can come with 5 to 6 different values like 'QA','QD','QN' etc., sometimes ZA_01 comes only 3 times QA,QD,QN.
if ZA_01 = 'QA' then only we need to pass ZA_02 value on to ''UnrestictedUseQuantity'' (target side),
I mapped the fields, the vlaue ZA_02 passing properly on to 'UnrestictedUseQuantity' when D02_ZA comes 5 or 6 times, all the times 'QA' value comes into ZA_01 field. In case if QA value missed or doesn't come from source, the Target side ' 'UnrestictedUseQuantity' field last value comes into last but one.
Ex: QA value is in 3 times, but I have 4 source message on top. values comes into target side like
20
20
20
suppose to come like
20
20
-- (Space)
20
Please required your valuable inputs in bit urget !!
how to map field level please?
Many Thanks in Advance
Kind Regards
SanPetre:
If you want to use standard functions then you try this:
If-->currentdate -OR- Constant(01.02)
currentdate -OR- Constant(02.02) --> OR -->
currentdate -OR- Constant(03.02)
Then give some output
Else give some output
So give the output for the first two conditions to another OR and the result of the third to the same OR. So whenever the condition is true in any of the condition you will get the THEN value else you will get the ELSE value.
---Satish -
How to handle rpc/encoded style messages using BizTalk?
I am integrating with a lot of services and one of our customers has a service with rpc/encoded style
I could consume and generate schema from their wsdl file via BizTalk consume WCF wizard.
Once I am trying to call the service with request message that generated from the schema, it is giving an error that can not desterilize the first element of the message.
No Deserializer found to deserialize a 'FieldName' using encoding style 'null'
I compared the stub xml request message from SaopUI and I noticed that the xml expecting the data type with the element like this .
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsb="WSBanka">
<soapenv:Header/>
<soapenv:Body>
<wsb:bnkBorcsorgulama soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<sozlesmeNo xsi:type="xsd:string">?</sozlesmeNo>
<bankaKodu xsi:type="xsd:string">?</bankaKodu>
<anahtar xsi:type="xsd:string">?</anahtar>
</wsb:bnkBorcsorgulama>
</soapenv:Body>
</soapenv:Envelope>
On the other hand, I got the request of the message from Fiddler using the BizTalk , and the generate xml of the BizTalk schema without the data type.
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsb="WSBanka">
<soapenv:Header/>
<soapenv:Body>
<wsb:bnkBorcsorgulama>
<sozlesmeNo>?</sozlesmeNo>
<bankaKodu>?</bankaKodu>
<anahtar>?</anahtar>
</wsb:bnkBorcsorgulama>
</soapenv:Body>
</soapenv:Envelope>
In SoapUi, if I remove a datatype from the message, I will get same error from the BizTalk request.
I read some articles that rpc/encoded style are not supported but I am not sure and these articles are not clear.
I also read that it was supported with Soap adapter but now it is deprecated.
So, Is there any one has an experience in rpc/encoded style messages and how to handle these message in BizTalk or is there any work around to handle these messages?
Your inputs really appreciate it.
Thanks in advance,
When you see answers and helpful posts, please click Vote As Helpful, Propose As Answer, and/or Mark As AnswerHi,
Please refer to the document which might help you:
#RPC/Encoded Style
http://www.c-sharpcorner.com/UploadFile/martinkropp/DesigningInteroperableWebService11232005044847AM/DesigningInteroperableWebService.aspx -
Error while forming Structur in Message Mapping.
Hi ,
I have taken source payload from Moni and tried to test the Message mapping.
When i paste the Pay load in Test tab,under XML, my structure is getting well formed., But 3 feilds from structure is showing in Red color.
Please advice
Regards
DineshHi Dinesh,
Please cross check with filling the values into the test tab and display it in source xml format and copy in notepad and compare with the payload data there must be some tag problem.
Thanks!
Edited by: Sudhir Tiwari on Nov 25, 2008 2:20 PM -
How to handle duplicate nodes in xslt mapping
Hi,
in my scenario that i have a source mapped to the canonical structure and from canonical to target.
source structure
<empid>
<national_id>
canonical structure
<id> 0 to unbounded
<id>
<type>
the mapping from source to canonical
is like i have duplicated the canonical structure and then mapped
id -
empid
type--- assigned a constant employee
id -
national_id
type--- assigned a constant National
i have used xslt mapping using stylus studio and mapping from source to canonical is not the problem
when i mapped the canonical to target there is a problem
the node id is visible once in the canonical when the structure is a source
but there is a dupicate node in the structure but not visible. how to procedue with the mapping for canonical to target
kindly help me
with regards
pradeep Nhi,
Udo Martens.
<b>source xml</b>
<?xml version="1.0" encoding="UTF-8"?>
<ns0:Materail_fileReceive xmlns:ns0="http://www.aprilbiztec.in/MM_MultiFile">
<Emp_ID>12</Emp_ID>
<National_ID>91</National_ID>
</ns0:Materail_fileReceive>
<b>canonical xml</b>
<?xml version="1.0" encoding="UTF-8"?>
<ns0:Materail_file xmlns:ns0="http://www.aprilbiztec.in/MM_MultiFile"><Material><ID>12</ID><Type>Employee</Type></Material><Material><ID>91</ID><Type>National</Type></Material></ns0:Materail_file>
<b>source to canonical mapping is</b>
<?xml version='1.0' ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns0="http://www.aprilbiztec.in/MM_MultiFile">
<xsl:template match="/">
<ns0:Materail_file xmlns:ns0="http://www.aprilbiztec.in/MM_MultiFile">
<Material>
<ID>
<xsl:value-of select="ns0:Materail_fileReceive/Emp_ID"/>
</ID>
<Type>Employee</Type>
</Material>
<Material>
<ID>
<xsl:value-of select="ns0:Materail_fileReceive/National_ID"/>
</ID>
<Type>National</Type>
</Material>
</ns0:Materail_file>
</xsl:template>
i want the<b> canonical to target mapping</b> where my target structure is similar to that of my source
kindly help.
regards
pradeep N. -
SOAP fault - How to log error in response message map
Hi,
I have a scenario ABAP Proxy <-> XI <-> SOAP.
Occassionally there is an issue with communication to the destination system and an HTTP 500 Error is returned. I assume this is due to a system related error and it is returned as a SOAP Fault as opposed to a SOAP response with payload.
How do I get this "HTTP-500" error into my message map to return to the calling system ?
I have looked at Fault Messages but need to know if these are relevant for the SOAP Adapter and how they can be utilised ?
Thanks for any help.
Kind regards
Colin.SOAP fault message not in correcto format to allow an application error to be caught.
-
How to load DTD structure runtime in Mapping
Dear All,
I have Interface, used DTD as external definition and did mapping.
Customer said, there is one tag, that Tag name will be changed dynamically based on Ship type.
How to handle this in XI Mapping to not to fail mapping
RegardsHi,
Few suggestions:
1) Create a custom adapter module and while parsing the xml handle that tag as per your requirement.
OR
2) If the Ship types are just of 2 or 3 types and interface is simple. Create a different interface for each ship type.
Regards,
Aravind -
How to set EXPORT parameter from message mapping
Again, ask the question of export parameter.
I wrote a java version transformation and it worked good with export parameter.
However I can not work it out in graphical message mapping. I refered http://help.sap.com/saphelp_nwpi71/helpdata/en/43/c3e1fa6c31599ee10000000a1553f6/frameset.htm.
In PI7.1, I add an export parameter "EXPORT_PARA" in the "Signature" tab. Are there any special step to assign this parameter to an UDF? I did not find a way to do it.
And then I define an UDF,
public String SetExportPara(String sss, Container container) throws StreamTransformationException{
String str = "GOOD";
GlobalContainer gc = container.getGlobalContainer();
OutputParameters paras= gc.getOutputParameters();
if(paras.exists("EXPORT_PARA ") == true) {
paras.setString("EXPORT_PARA ", str);
}else {
str = "NOT FOUND EXPORT_PARA";
return str;
And I assign this UDF to one element of my output XML, I tried to run it in IE, it always output "NOT FOUND EXPORT_PARA.
why?????
I know there is a blog : https://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/8654. [original link is broken] [original link is broken] [original link is broken]
But it did not talk how to set export parameters.Hi,
i read thread
How to export parameters from Message Mapping
and blog
/people/jin.shin/blog/2008/02/14/sap-pi-71-mapping-enhancements-series-parameterized-message-mappings
but not found issue
in this topic
http://help.sap.com/saphelp_nwpi71/helpdata/en/43/c3e1fa6c31599ee10000000a1553f6/frameset.htm.
if i writting this code in UDF, i getting an error.
If use this code:
GlobalContainer gc = container.getGlobalContainer();
OutputParameters paras= gc.getOutputParameters();
paras.setString("EXPORT_PARA ", str);
the export parameter is defined locally (in transformation step area). In integration process area parameter is equal to NULL.
How send export parameter to Integration Process? For exapmple, i wanna send parameter to other transformation step in my integration process.
thx. -
How can i test after creating Message mapping transformations
Hi guys,
How can i test my transformation after creation of message mapping in Integration Repository.
Pleae expain step by step procedure
Thanks & Regards.,
Pushparaju.BHi,
1. If you just want to test the mapping --In message Mapping there are three tab, the second one being hte Test tAb. So u can pu the values in the left side XML and do test.
http://help.sap.com/saphelp_nw04/helpdata/en/c3/e3072e65f04445a010847aa970b68b/content.htm
2. You can do the Testing from Interface mapping also. There is a Test tab there too.
3. If you have created the whole scnerio then you can do testing from Integration directory:
http://help.sap.com/saphelp_nw04/helpdata/en/6b/874a4273bb3830e10000000a155106/content.htm
Regards
Vijaya -
How to handle "Memory Low" warning message?
Recently users have been getting a warning message when they log on: "Memory low. Leave the transaction before taking a break." When we look at SM50 the user has a status of "On Hold" and the reason column says "PRIV". We are on ECC 6.0 (since January 2010) and V7R1 (March 2011).
Usually the message is received as soon as the user logs on so it is not like it is related to a particular program. We can go weeks without any reported instance of the message so it is not a regular occurrence. Fortunately there does not seem to be any other symptom other than getting the message.
I have seen a post on an SAP forum that said to adjust the instance profile with these parameters:
rdisp/max_priv_time
rdisp/wppriv_max_no
I do not have any entries for this now and am not sure what the values should be.
Does anyone have any suggestions on how to handle this on an AS/400? Thanks in advance.
AlanHi Alan,
what 1024 ???
then we definetely do NOT need as4/MAXSHR64 !
I would normally at least go for em/initial_size_MB = 8000 - as you are having issues right now ...
Or is this a small DEV-system ?
then 4000 might be sufficient ...
(the 4096 is just crap - make it simple and use e.g. 4000 then ...)
Regards
Volker Gueldenpfennig, consolut international ag
http://www.consolut.com http://www.4soi.de http://www.easymarketplace.de -
How to check a field in Message mapping wether it is Non Numeric?
Hi XI Guru's
I am totally new to XI world, Kindly help hopw can I chexk a field while doing message mapping whether the field is non numeric or not.
I dont find any built in function for the same.
If it is using UDF can some body help me in providoing a UDF for this.
Many Thanks
ArunHi Arun,
In SAP PI, all the XML contents by default treated as STRINGS.
So if u want to check whether the incoming field is numeric or not... the only way is to write a UDF code for the same.
the UDF will be,
1. At first
import java.util.regex.Matcher;
import java.util.regex.Pattern;
in functions.
2.UDF content:
input: field,container
output:boolean
Code
boolean return_Value;
Pattern p = Pattern.compile("[0-9]*"); // If u are using the decimals please change the regular expression accordingly.
Matcher m = p.matcher(field);
if(m.matches())
retuen_Value = true;
else
return_Value = false;
return return_Value ;
I hope this will solve ur problem....
Babu -
How to find the name of message mapping
Hi folks
i want to check the name of message mapping which is used at run time. i can find the name of Interface mapping name in trace of message in SXMB_MONI.
but i am not able to find the MM name.
can some one help me .....
Regards
Gagan> but i am not able to find the MM name.
You will find your message mapping name as class name in the pipeline step Request Message Mapping. Please search for interface mapping and below which you will find the mapping name as this format...
<Trace level ='"3" type="T"> Mapping steps 1 JAVA_JDK
com/sap/xi/tf/_<your mapping name> </Trace>
Example as similar below... -
How to handle the system error messages?
Hi...
I was doing File to RFC scenario with BPM. If i give the correct values for the Bapi Input it is working . If i give the some wrong input to the BAPI, it is not executing and the scenario is stopping. If i click on PE , it is going to the Inbound Queue.
If this type of issue occurs i need to capture the system error and store it in a database. Could you pelase help in this issue.
Thanks,
Leela
Edited by: leelaratnam morampudi on Nov 21, 2008 2:24 PMHi Leela,
You need to handle this in BPM. Check the thread describing how to catch exceptions in BPM.
How to handle system errors in XI using BPM? please help!
Thanks!
Maybe you are looking for
-
Hi, I have a MacBook Pro from Jan '07. Still runs awesome and it's great, but in the past couple days I noticed a little problem I need a little help with. When I close the lid now, you can see the little hooks coming out of the lid part, and they co
-
Hai Guys, i have a problem while designing Smart Form 1) in that i need one box like to draw half line between the box but i am not able to divide the box. Some text Some Text Some TextSome Text Some Text Some Text ________________ Some T
-
Hi can u plz send poer point presentation sap sd sales process. plz send this mail id [email protected] zapakmail is not working. aditya
-
No login via Web Interface possible
Hello, after installing iFS (version 9.0.1.1.0) access via Windows Network-neighborhood makes no trouble. Using the Web Interface iFS doesn't authenticate login and password although this user exists. The default system/manager has also no chance to
-
NullPointerException in LockType.getUpgrade on 3.3.75
Our production system is still on an older version of JE (3.3.75), but I can't see anything in the release notes that addresses this problem. We got a NPE in LockType.getUpgrade from a collections iterator constructor: java.lang.NullPointerException