Some quesionts about message mapping
becase I need use some pics to explain my question, so I post the question to my googlepage.
<a href="http://wanghui1225.googlepages.com/xi_question_1">http://wanghui1225.googlepages.com/xi_question_1</a>
Regards,
Hui
Message was edited by: Wang Hui
Hi,
Since you are using collapse context, the SUPPRESS is coming. Functionality of collapse is it delete all values from all contexts from the inbound queue except for the first value. <b>Empty contexts (= ResultList.SUPPRESS) are replaced by empty strings.</b>. Finally, all internal context changes are deleted, so that all values belong to one and the same context.
Give the input queue for collapseContext, then it will be really helpful.
See the input queue had 3 true's followed by false (2) and true (2). As you can see that the starting context itself is false and so SUPRESS came in the output queue.
What i suggest is to check all these queues simultaneously:
1) exist
2) context
3) splitbyvalue
with different values then you will be able to figure out the reason.
Regards
Suraj
Message was edited by: S.R.Suraj
Similar Messages
-
Hi Experts,
I have to get list of materials from sap r/3 system which starts with some Alphabate. Where can i do it .And how to do it . I think we can do it in Message Mapping. Please let me know the step by step process.
Helpful Ans wi be reward
Regards
KhannaHi Michal,
Here i am implementing HTTP TO RFC scenario
i have BAPI BAPI_MATERIAL_GETLIST
i have source structure MaterialNo.And in the receiver side i have BAPI.
Now my question is i want to get the materials which starts with some CA*
How can i achieve this in Message Mapping????????
Please Explain me in detail
Regards
Khanna -
Hi,about message mapping
why is always disabled the dependencies button in the message mapping editor of IR.
it is for ever gray whether in edit mode or not?Hi,
The dependency button in Message mapping is used to show the Source field mapped to which target field.
Can u explain ur query clearly...
Regards
San
Remember to set the thread to solved when you have received a solution there is a Way. -
Issue about message mapping in XI
Hi,
I faced a mapping issue.
Mapping check the decimal pont position in the total string.
suppose value from ABAp side is 9.55
if length is 5.
then XI will give the value is 00955 ( i applied the right justified condition )
This is OK...
But in mapping when no value is coming from ABAP side,that time XI give error.
How do i create this mapping...????????
Regards,
sanghaitraHello,
This is OK...
But in mapping when no value is coming from ABAP side,that time XI give error.
Assuming that the value is null or suppressed, you can use the node function mapWithDefault for your mapping e.g
source -> mapWithDefault:00000 -> target
If the value is a space or blank, you can use this logic
constant:00000 -> \
source -> trim -> equalsS ----> ifThenElse -> target
constant: -> / source -> /
Hope this helps,
Mark
Edited by: Mark Dihiansan on Sep 8, 2011 8:08 AM -
Question about message mapping
Hi,
When I use the visual mapping tool, I specify the condition that:
<SourceValue> equalsA 1, <TargetValue> value is 1; else it's 0.
However in the source XML, sometimes source XML is like:
<Root>
</Root>
where there's no SourceValue element. And now the mapping has exception. Then I try to use IsNil functionality, however then another exception saying "cannot cast '' to decimal" occurrred.
Is there a way for me to judge in the mapping so that I can pass through, e.g., when there's no this element, the target value is also 0.
Best regards,
-StanleyHi ,
Refer these blogs . It will help to u
Workflow in SAP NetWeaver
Visual Composer demo - Customer and Google API
Need to get a SAP NetWeaver component implemented quickly? Try SAP Best Practices
Visual Composer7.1 and Yahoo Maps - Part I
Regards,
Suryanarayana -
Require some complex logic scenario in message mapping
Hi all,
I need some complex logic scenarios for practice in message mapping . Kindly forward some links for message mapping logic scenarios.
Thank you so much in advance.always search sdn first....
http://wiki.sdn.sap.com/wiki/display/XI/MappingConceptsinSAPXI -
Different options for message mapping in BPM
Hey guys
i m in the learning phase of BPM and am kinda confused with the different ways we can do message mapping in a BPM scenario.
first of all we can do message mapping before BPM,we can also do after BPM and lastly we can do inside BPM(ofcurse this is not recommended as its too resource consuming)
i have bene through starters blog on BPM by Krishna moorthy and Arpit seth,and now am wondering how to use the mapping in diff. ways
suppose i m doing a simple File to File with BPM(just for practise purpose)
now here is what i have designed in IR
DT_sender_File DT_receiver_File
MT_sender_File MT_receiver_File
MI_Outbound_sender(async,outbound), MI_Inbound_receiver(async,inbound)
AI_sender(abstract,async) AI_receiver(abstract,async)
MM_File_File(using MT_sender_File and MT_receiver_File)
now i want to clear some doubts about interface mapping.my understanding is
if i do interface mapping between MI_Outbound_sender and AI_receiver,this will be interface mapping before BPM.
if i do interface mapping between AI_sender and MI_Inbound_receiver,this will be interafce mapping after BPM
and if i do interface mapping between AI_sender and AI_receiver then it will be mapping inside BPM.
is my understanding correct?if yes,then does that means we can we any of the above mapping in our scenario.(if we dont consider the performance issue as of now)
thanx
saifHi Saif,
<i>
is my understanding correct?</i>
Yes, thts correct
<i>if yes,then does that means we can we any of the above mapping in our scenario</i>
Of course, u can use any of them (overlooking the performance issue)
Regards,
Prateek -
Hi,
1)I need some information regarding Message Mapping. I need to map the field TDLINE of segment E1EDKT2 of IDOC ORDERS05 to the target fields. But based upon the index number of the record of this segment, I must map it to different fields (eg.E1EDKT2[10], E1EDKT2[3]). How can I incorporate this in Message Mapping?
2)And one more scenario is as follows.Use PARTN if exists or use LIFNR to map to target and it must satisfythe conidtion PARVW = AG. Should we need Java code or can we achieve this using two 'If' conditions.
3)We are looping at a source segment and it has multiple occurances.How to create multiple segments in target based on condition.
Can anyone help me.
Thanks,
Srinivas> 1) I need to map the field TDLINE of segment E1EDKT2
> of IDOC ORDERS05 to the target fields. But based upon
> the index number of the record of this segment, I
> must map it to different fields (eg.E1EDKT2[10],
> E1EDKT2[3]). How can I incorporate this in Message
> Mapping?
You can use the index function (with SP13):
E1EDKT2* - index
equalS
constant(10) /
ifWithoutElse - target
TDLINE - removeContexts /
check the correct context
> 2)And one more scenario is as follows. Use PARTN if
> exists or use LIFNR to map to target and it must
> satisfy the conidtion PARVW = AG. Should we need Java
> code or can we achieve this using two 'If'
> conditions.
Sure you can chain if statements:
PARVW
equalS
constant(AG) /
ifWithoutElse
PARTN /
PARTN - exist - if - target
LIFNR
This mapping assumes, that PARVW = AG is available, when PARTN is available.
> 3)We are looping at a source segment and it has
> multiple occurances. How to create multiple
> segments in target based on condition.
Here is a pattern:
condition - createIf - target
condition has to be a queue of true and false with the same occurrency as source.
All sub nodes of source are now arranged correctly under the target node.
Regards
Stefan
Message was edited by: Stefan Grube -
1: N multi mapping -----Message Mapping Error
Hi,
I am doing this scenario
Various multi-mappings and Optimizing their Implementation in Integration Processes (BPM) in XI.
In the design part of the mapping.
How can I perform the message mapping
Step 1. We are controlling occurrence of Output Piyush_msg_out_3 by mapping it with element2 with message context.
Step 2.
We are using u201CUseOneAsManyu201D under category node functions (SP14). It has three inputs ;
1. Element which is going to be used for multiple times. In our case it is Element1 with message context.
2. The element which is going to define how many times it will be replicated. Important thing, context should be same.
3. Same as second input but with its own context in our case it is Element2.
For Step 1,
I have mapped piyush_msg_out_3 with Element2 (context is root)
For Step 2,
I have mapped
Element1(context root)----
|
Element2(context root)----
| useOneAsMany -
>Element1
Element2(context root)----
|
subelement------> subelement
I did not do root mapping.
when do the test I am getting the following error
Start of test
Compilation of MM_multimappingandoptimizing successful Cannot produce target element
/ns0:Messages/ns0:Message1/ns1:piyush_msg_out_3[2]/root/Element1. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd Cannot produce target element
/ns0:Messages/ns0:Message1/ns1:piyush_msg_out_3[2]/root/Element1. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd
End of test
I thought error generated due to Parent Node condition fails, How do I map the Top node,
even though I mapped root------->root, I am getting the same error in the instance test
Please give me some suggestions
my message mapping is correct or do I need to change the context of the node or what should I have to do ?
thanks
manianHi Praveen,
I have checked the XSD tab of Source and Target message types. I can see the complete XSD.
Source Message Type XSD:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:mlr:multimappingandoptimizing" targetNamespace="urn:mlr:multimappingandoptimizing">
<xsd:element name="piyush_msg_in_1" type="piyush_msg_in_1" />
<xsd:complexType name="piyush_msg_in_1">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
f1fd03a0cddd11ddc1c4001cc01cef0d
</xsd:appinfo>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="root">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
99ffb9e0cd1a11ddc6b0001cc01cef0d
</xsd:appinfo>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Element1" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
99ffb9e1cd1a11dd8843001cc01cef0d
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="Element2" maxOccurs="unbounded">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
99ffb9e2cd1a11dd8f7a001cc01cef0d
</xsd:appinfo>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="subelement" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
99ffb9e3cd1a11dd8ff2001cc01cef0d
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
Target Message Type XSD:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:mlr:multimappingandoptimizing" targetNamespace="urn:mlr:multimappingandoptimizing">
<xsd:element name="piyush_msg_out_3" type="piyush_msg_out_3" />
<xsd:complexType name="piyush_msg_out_3">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
058e2b60cdde11ddaffd001cc01cef0d
</xsd:appinfo>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="root">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
7fb0d7d0cd1b11dd99ae001cc01cef0d
</xsd:appinfo>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Element1" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
7fb0d7d1cd1b11ddc07e001cc01cef0d
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="Element2">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
7fb0d7d2cd1b11dd9385001cc01cef0d
</xsd:appinfo>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="subelement" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
7fb0d7d3cd1b11dda9d7001cc01cef0d
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
thanks
manian -
Step by step message mapping/testing examples
Hi!
I have read many blogs and SAP literature about message mapping.
However, none of them gives step by step details.
Can anybody give any very detailed mapping procedures?
Thanks a lot!Lee,
Have you seen this three series of weblogs where he is explained very clearlyn (2nd one is for mapping):
/people/james.guanzon/blog/2006/02/22/how-to-support-industry-standards-in-xi-part-i-of-iii--interfaces
/people/james.guanzon/blog/2006/03/23/how-to-support-industry-standards-in-xi-part-ii-of-iii--mapping
/people/james.guanzon/blog/2006/09/09/how-to-support-industry-standards-in-xi-part-iii-of-iii--config-test
If you want to test your mapping go through the weblog:
/people/michal.krawczyk2/blog/2005/09/16/xi-how-to-test-your-mapping-in-real-life-scenarios
Also check this weblogs for reference on mapping:
/people/claus.wallacher/blog/2006/04/17/replication-of-nodes-using-the-graphical-mapping-tool
/people/daniel.graversen/blog/2006/09/15/message-mapping-verification
/people/harrison.holland5/blog/2006/12/08/mapping-context-changes-in-xi
---Satish -
Hi,
I have some questions about shared maps. Our Olite Applications has 96 tables. On these 96 tables, 54 tables are tables with DISABLED DML = UID. So, change on the client database are not uploaded to the server. Some of those tables have no where clause and some have a where clause which is the same where clause for all.
Is it true to say I could put all those tables as shared maps?
Are they automatically shared because DISABLED DML = UID?
What would be the advantages of putting those publications items as shared maps?
Thanks for your help.Thanks for your help.
I looked into CMP$ tables and CLID$$CS is not 0 but egal to my usersnames. I use a java program to create my items and publications.
I also found in the table C$ALL_TEMPLATE_ITEMS a COLUMN named SHARED and they are all with the value N. So I think they are not shared.
I think I found where in the API I should make the table shared. It is in the addPublicationItem procedure of the Class ConsolidatorManager. I will try it.
If we want all users to have all the table data, must we use the groups you talked about?
If yes, how do i define those groups?
Thanks -
About message queue in message mapping?
Hi SDNer,
I have been read help.sap.com and sdn threads about message queue
I hope this thread should be help for all like me.
thank you
ShaHi Shankar,
XI uses Queue's to store messages, If you worked on message mapping you can see the how queue look like,
Every queue having context ,it separate the values,it store the messages in highrarchy manner.
Using Context Handling we resoleve context issues.
Using node functions we aceive Context Handling.
Search in SDN there is some good blogs abt Node Functions, if you understand nodefunction you wil understand the Queue concepts.
Regards,
Raj -
[RFC to File]Problem about Changing file name in message mapping.
Hi,
my problem:
Type:RFC to File
I change the file name in message mapping.
when I call the RFC to send the data twice at the same time, both of the output file names are changed while I only want to change the second output file name.
thanks
SamIn my MM, the input values to these variables (var1, var2 and var3) are (<ZZCOMBI>array,G499999,END_FIFC0029) ,
var1 is an array of input <ZZCOMBI> item list;
var2 is get from a property file by call another UDF;
var3 is constant value.
the test input data :
I send the data for the first time:
- <rfc:Z_IFCFR821_ZIFCTT82100010 xmlns:rfc="urn:sap-com:document:sap:rfc:functions">
- <T_ZIFCTS82100010>
- <item>
<ZZCOMBI>G000002G000002</ZZCOMBI>
<ZZKYKBN>*</ZZKYKBN>
<ENAME_VE />
<ENAME_Z5 />
</item>
</T_ZIFCTS82100010>
</rfc:Z_IFCFR821_ZIFCTT82100010>
so the input values to these variables (var1, var2 and var3) are (G000002G000002,G499999,END_FIFC0029)
the output file name(File1) :END_FIFC002920090413-171534-053.dat
output record: G000002G000002
because the data what I send is the last record, the system send the dummy data for the second time by program.
- <rfc:Z_IFCFR821_ZIFCTT82100010 xmlns:rfc="urn:sap-com:document:sap:rfc:functions">
- <T_ZIFCTS82100010>
- <item>
<ZZCOMBI>G499999</ZZCOMBI>
<ZZKYKBN />
<ENAME_VE />
<ENAME_Z5 />
</item>
</T_ZIFCTS82100010>
</rfc:Z_IFCFR821_ZIFCTT82100010>
so the input values to these variables (var1, var2 and var3) are (G499999,G499999,END_FIFC0029)
the output file name(File2) :END_FIFC002920090413-171533-928.dat
output record: G499999
I find that File2(20090413-171533-928) was ouput before File1(20090413-171534-053 ) from the time stamp.
I am not sure about that "XI will create a message ID for each message and the messages are independent." as you mentioned above.
Best regards
Sam
Edited by: YONGHE ZHOU on Apr 15, 2009 3:59 AM -
Problem in Graphical message mapping.Need UDF to add array based on some co
Hi All,
I have been struck in message mapping.Below i am explaining it,
I have two input array,
one array lets call X [24]
[25]
[26]
[24]
[25]
other array is Y [10]
[11]
[12]
[13]
[14] .length of both the array will be same .
Now I want the output as: if there is any same value in first array i.e array X then corresponding value of second array should be added.i.e in array X if 24 is coming as twice (1st and 4th) then 1st and 4th value of array Y will be added.So here there will be only three output as Z[23]
[25]
[12]
Please guide me if posiible .I tried to use the for loop but its not working as the value of X is repeating.
Regards,
SaurabhHi,
Tru this..
public void test(String[] a,String[] b,ResultList result,Container container){
int flaga,flagb;
for(int i=0;i<a.length;i++)
flaga =0;
for(int j=i+1;j<a.length;j++)
int p = Integer.parseInt(a<i>);
int q = Integer.parseInt(a[j]);
if(p==q)
flaga =1;
int c = Integer.parseInt(b<i>)+Integer.parseInt(b[j]);
String d = new Integer(c).toString();
result.addValue (d);
if (flaga ==0)
flagb=0;
for(int q =i-1; q>=0;q--)
if(Integer.parseInt(a<i>) == Integer.parseInt(a[q]))
flagb = 1;
if (flagb == 0) result.addValue((b<i>));
I have tested with the same input... it is working for me
http://www.flickr.com/photos/28929439@N06/2721471681/
Thanks
SaNv... -
Problemin activating Message Mapping
Hi experts,
I am facing some problem while activating the message mapping, error is as follows:
"Internal error while checking object Message Mapping.
[][db2][jcc][102][10040] Non-atomic batch failure.
The batch was submitted, but at least one exception
occurred on an individual member of the batch.
Use
getNextException() to retrieve the exceptions for specific
batched elements."
PLEASE PROVIDE ME WITH SOME IDEA ABOUT WHY IT IS HAPPNING.
Thanks in advance.
Regards
PradeepHi,
The same error is solved in this thread..
Problem Activating Mappings in the IR -- see the last 2 comments.
Thanks
Swarup
Maybe you are looking for
-
Adding form pagination without the wizard
Hello, I'm trying to add a form pagination feature into an existing page. When I'm trying to use the Create Form Pagination Wizard I'm getting the following error: "The Create Form Pagination Wizard uses the onChange JavaScript event to alert users w
-
My iphone will not ring when calls come in. I have it set to ring and vibrate. The Do not disturb is turned off and I have reset it but still it will not ring. What can I do?
-
Report CATS_DA, long text
Hi. If I run report CATS_DA and someone have filled in something in the long text, there is a little pen and paper there. If I then would like to save this to an excel sheet, the long text will not follow. I can understand why, because there can be a
-
I have tried to change the time & date on my 6500a officejet printer... I have used the EWS web page..when I do attempt to change either date or time I get an error... What Am I missing Thanks in advance
-
Is Selphy OK for Mountain Lion
Reacently upgraded to Mountain Lion now Selphy cp760 is not acceptded any one know how to overcome hickup?