Mapping IDoc to file
Hi,
I am using INVOIC02 idoc at the sender side and file at the receiver side.I have a doubt in mapping.
Mapping rule is as follows.
map E1EDK02-BELNR if QUALF=009 .
E1EDK02 is the segment and BELNR is the field.
target field is billing doc number.
My understanding is map belnr to billing doc number and map qualf to constant 009.
Am i right or wrong?
Can someone help me?
Dear Mani,
You suppose to use QUALF to check for the constant value of 009. And map if this is only true, This is what your requirement is.
For this in Message Mapping take
get
Billing Doc Number from target structure
BELNR from Source IDOC
QUALF from Source IDOC
Use If - witout else function then map the fields like this
you need a constant for this mapping scenario to work.
assign 009 to constant
Map like this:
If BELNR is equal to Constant(009) then ---> Billing Doc Number
you can use If-then-else as well
just map with some dummy value if the condition is false.
Best Regards
Praveen
Similar Messages
-
Graphic Mapping:IDOC to File-Avoid Error in Adapter Engine
Hi all,
I'm using Graphic Mapping in my IDOC to File scenario in which each segment in source IDOC will generate a ROW in target File with the condition: DATBI >= currentdate (and some other conditions)
I have a UDF and use the mapping function CREATEIF for this purpose:
DATBI -> UDF -> CREATEIF -> ROW
Problem scenario: In the source IDOC if all the segments have DATBI < currentdate then there is no ROW created, and I get the error in Adapter Engine
Exception in XML Parser (format problem?):'java.lang.Exception: Message processing failed in XML parser: 'Conversion configuration error: Unknown structure ...
How can I avoid this?
I've tried to put this condition using XPATH in Interface Determination and got the error.
There is a way to use function current-date() in XPATH condition?
Thanks for your help,
ElaineHi all,
How can I "suppress the row node if condition fails"? I'm new in PI, so please give more details.
My FCC as follows:
Record Structure: Record, Row
Row.addHeaderLine 0
Row.fieldSeparator ,
Record.fieldSeparator 'nl'
Row.endSeparator ; 'nl'
It works fine if the condition satisfied.
In Message Mapping, I've use Test to double check my mapping, and in the scenario that conditions fails, there is no Row in the target message.
Please advise.
Thanks,
Elaine -
Hello!!
I have send the IDoc CHRMAS.CHRMAS04 from my R/3 to another system via file adapter.
My problem is I have to pass several fields of the idoc to a complex structure on the XML with the structure:
<ITEM>
<FIELDNAME>Weight</FIELDNAME>
<FIELDVALUE>17.0 </FIELDVALUE>
</ITEM>
<ITEM>
<FIELDNAME>Colour</FIELDNAME>
<FIELDVALUE>Blue</FIELDVALUE>
</ITEM>
Somebody knows how to map for each segement of the IDoc an ITEM substructure?
I hope will be clear enough.
Thanks and regards,
Manuel.And in which way is this workflow related?
Regards,
Martin -
Hi,
I ahve a following mapping requirement.
map E1EDK02-BELNR if QUALF=009 .
Source field is BELNR and target is Billing document number.
I have done mapping as follows.
Map QUALF and constant[009] to equalsS function fron text function.Then output of the above is mapped to if condition and BELNR is mapped to then condition.Output of if then condition is apped to billing document nymber.
I am getting the following error.
RuntimeException in Message-Mapping transformation: Runtime exception during processing target field mapping /ns0:MT_BillingDocuments/PONumber. The message is: Exception:[java.lang.IllegalArgumentException: Cannot cast 01 to boolean] in class com.sap.aii.mappingtool.flib3.Bool method or[01, 17, com.sap.aii.mappingtool.tf3.rt.Context@1cb2d89]Hi,
The value which is mapped to PO Number
is throwing an Exception.
please copy the payload from moni..
and try to test it at message mapping.
warm regards
mahesh. -
Mapping Error- In IDoc to File scenario
Hi Experts,
Got the Mapping error for one interface (IDoc to file). After comparing with successful message found that the field value (TDLINE) is not availbale in first segment (E1EDT10) in idoc for this failed one.
Mapping is :
TDLINE -- Exists --- Creatif --- Receiver field(in the file)
But here due to the the empty value in first segment the message is failed in XI system, next segment values is not trasmitted to the recever end(maping is the same above). To overcome this issue please suggest the suitable mapping design in IR.
Regards
MaheshHi,
After your CreateIf, use a "IfWithoutElse" by selecting the properties "Keep SUPPRESS Values". To do that, do a right click on IfWithoutElse, choose "Properties".
With this option, you will keep the fact that you have nothing in the source, and so the target context will have a "SUPPRESS" line. I have not THE solution, so do your own test.
If it's not enough, see also about the "mapWithDefault" (but that depends of your real rule).
Regards.
Mickael -
IDOC- XI- FILE(s) 1..n mapping problem
I am working on a IDOC->XI->FILES scenario and am stuck on mapping of idoc segments to output structure.
IDOC structure is as following,
WBBDLD05 (1..1)
IDOC (1..1)
EDI_DC40 (1..1)
E1WBB01 (1..10000) ...
so the idoc being sent has multiple E1WBB01 segments, i need to do some content check for each E1WBB01 segment and create files based on thats. (ie. if there are 10 of E1WBB01 segments that meets a condition like "E1WBB02:ATTYP = 01", then i should create a file with 10 lines, and if there are 5 segments that meets "E1WBB01.E1WBB02:ATTYP = 00 or 02" condition , then i need to ALSO create another file with another structure with 5 lines)
i intend to use ccbpm as i find it easier to manipulate control steps. So far i am able to receive abstract idoc message interface, but as i am stuck on this mapping issue, i am not able to use the transformation step for checking content of each E1WBB01 data.
thank you in advance for any helpu wud need to loop thru to check for all the contents and have them transformed accordingly. u can check with block . but before that have E1WBB01 into a multiline interface and then use this interface in the transformation step.
<u>Message Mapping</u>
SOURCE TARGET
WBBDLD05 (1..1)
IDOC (1..1)
EDI_DC40 (1..1)
E1WBB01 (1..10000)---------------------------MI_E1WBB01 -
Mapping problem: IDOC - XI - File
Hi,
in my scenario (Z-IDOC - XI - File) I have problems with the mapping:
Z-IDOC :
ZFIBUCH1
_IDOC
___Begin
___EDI_DC40
___Z1L061 (0..999999999)
_____Z1L062 (0..999999999)
example
L061 18000 DE 0101 23236318 050605 EUR
__L062 18000 XXX XXX
__L062 18000 XX1 CCC3
L061 87000 DE 0101 050605 EUR
__L062 87000 XXX XXX
__L062 87000 XX1 XAA4
the result should look like this :
L061 18000 DE 0101 23236318 050605 EUR
L062 18000 XXX XXX
L062 18000 XX1 CCC3
L061 87000 DE 0101 050605 EUR
L062 87000 XXX XXX
L062 87000 XX1 XAA4
I tried the following (target)-data types in the mapping but nothing didnt work very well :
MT_ZIFUCH_FILE
__ row
_____L061
_______L062
or
MT_ZIFUCH_FILE
__ row
_____L061
_____L062
or
MT_ZIFUCH_FILE
_____L061
_____L062
Do I need here a BPM? Or should I use XSLT-Mapping??
Or knows somebody a easyer way?
Regards
ChristophHi,
As per my understanding to have a flat file struture you would require a flat structure at the target side.One similar to the second structure mentioned by you.
DT_Target
|_Header
|______L61.....segment (child of header)
|______L62.....segment (child of header)
Using the mapping we convert the idoc structure to flat structure and then use content conversion like this :
Recordset structure : L61,L62
L61.fieldSeparator = ,(for you this value should be space)
L62.fieldSeparator = ,
I have not been able to convert the Target hierarchial structure to a flat file via content conversion.
when i tried I got the values as
L61,1800,...EUR,L62,8700,......
Hope this helps,
Regards,
Sulakshana -
Problem in idoc to file mapping
Hi Experts,
I am doing a idoc to file scenario...
There is a single idoc with multiple header and line items .
I am using multi mapping for header and lineitems.
The problem i am facing is regarding the occurences in target strucure...
at which level they should be specified so all the headers come in one strucure and line items in another...or should the occurences be o to unbounded at each field level.
Kindly help me regarding the same ...hi
i have the same scenario : IDOC (orders) to Flat File. can you plz help in mapping. the input format to XI is in the given way
idoc
a1---(0-1)
a2---(0-1)
b1--
a3---(0-1)
b1---(0-n)
c1---
b2---
c1---
a3---(0-n)
b1---
b2---
a3---
b1---
b2---
a3
b1---
b2---
i have created the same output DT in the same format (parent-child) for flat file. and my questions are
1. is that correct, do i need to create the same DT as the above idoc (like parent and child) or different?
2. how to map the idoc fields to my file DT..do i need to map parent to parent and child to child...or different.
plz help me out
Thanks
ram -
Error in Operation Mapping for Idoc to File Scenario
Hi Experts,
I am doing Idoc to File Scenario for Timesheet IDoc "HRSM_C" and following step are through,
Sender agreement --> Receiver Determination --> Interface Determination
got stuck in Operation mapping, it sahows error
"Unable to find resource 193c0e01-bd37-11dd-850c-d879ac131b1f in the following software component versions: http://clarityPOCcom/sap/xi/tf/_MM_Timesheets_iDocToFile_.class-1"
Also not all the fields of IDoc HRSM_C are transferred to the XI server as I am unable to see all the fields in xml file using transaction idx5, as I suppose the reason behind may be there are no values in those fields.
Please suggest how to resove the issue and transfer all the fields from R3 to XI in Idoc eventhough it doesn't contain any value.Hi
Refresh CPA cache using user PIDIRUSER.
Look Note 951318 for Mapping Cache Refresh. -
Questions to a Mapping for IDOC-to-File Scenario
Hi all,
I want do develop a Message-Mapping for an IDOC-to-File Scenario. A SAP System sends an IDOC to the XI-System and the XI-System should make a mapping an send a XML-File to a FTP-Server. The Strukture of the target message is very easy:
<xdoc>
<Invoice>
@purno
<HeaderInfo>
<invno/>
<shipdate/>
<extvalue/>
</HeaderInfo>
<DetailInfo>
<LineItem>
@lineno
<vpartno/>
<descrip/>
<qtyord/>
<cost/>
<vendmemo/>
</LineItem>
</DetailInfo>
</Invoice>
</xdoc>
The source message is an IDOC. This IDOC can contain one or more positions (E1EDP01). Those different positions should be mapped into different LineItem's (see target structure) -> so in the target file one or more LineItems can appear.
Is it possible to implement this process with a common message-mapping or have I to implement a business process?
Thanks
with best regards
ChristopherHi Christopher,
<i>Is it possible to implement this process with a common message-mapping or have I to implement a business process?</i> - This thing is possible with common message mapping......you dont need business proces for it.......in msg mapping after taking the source IDOC and target xml struc, map the E1EDP01 field to LineItem field.......just check the occurance of these nodes.....it should be 0..unbounded.........so as many E1EDP01 nodes will be there in idoc, that many LineItem nodes in target will be created.......
Thanks,
Rajeev Gupta -
Context handling in message mapping for an IDoc to File Scenario
Hi,
Can somebody help me with this issue. I have an Idoc to file scenario. heres my idoc structure. Its a custom Idoc
Header (1..1)
Detail (0..Unbounded)
DependentDetail (0...Unbounded) Note: This dependentdetail is a subelement of Detail
Trailer(1...1)
I created my target structrure the same way as the Idoc structure.
My output is a simple text file. I need the output in this format
Header
Detail1
Dependentdetail1
DependentDetail2
DependentDetail3
Detail2
DependentDetail1
Dependentdetail2
Detail3
Detail4
Trailer
Since the Detail and Dependent Detail records are unbounded .
But right now i m getting my output like this:
Header
Detail1
Detail2
Detail3
Detail4
Trailer
But the DependentDetail record in not showing up in the output file. I didnot do any context change in my mapping. So do I need to do any context handling??...If so can somebody explain me with this.
Thanks,
Adam
Edited by: hymanroth on Apr 29, 2011 11:11 PMThanks Kenneth foryour quick reply,
Yes, I see the payload for Dependent detail in SXMB_MONI. So as you said earlier there's a problem with my content conversion.
my content conversion is as follows:
Header.fieldNames
Header.fieldFixedLengths
Header.endSeparator
Detail.fieldNames
Detail.fieldFixedLengths
Detail.endSeparator
DependentDetail.fieldNames
DependentDetail.fieldFixedLengths
DependentDetail.endSeparator
Trailer.fieldNames
Trailer.fieldFixedLengths
Trailer.endSeparator
So As I told earlier. With the above content conversion. I am not able to get the Dependent detail record in my output file. So If there is a change in my content conversion can u check it and tell me where I went wrong.
Thanks,
Harsh
Edited by: hymanroth on May 2, 2011 7:03 PM -
Pass through scenario in SAP PI with no mapping for File to IDoc and Idoc to file scenarios
Hi Experts,
Can i have step by step process in SAP PI for pass through scenario with no mapping in case of file to Idoc and Idoc to file both cases please.
What objects i can skip.
My PI system is 7.3 dual stack.
I have seen below blogs, still its confusing to me.
When and how to create an scenario in SAP PI without mapping objects.
Pass Through Scenario with no Mapping in PI 7.1
Appreciate your help on this.
Regards,
Mohan.Hi Mohan
In pass thru interface you don't need to create any ESR objects, only ID objects are required.
Just Create a Receiver Determination and Receiver Agreement for your scenario (no need for Interface Det. and Sender Agreement).
Specify the IDOC in the Sender Interface and namespace as urn:sap-com:document:sap:idoc:messages
Or instead of creating objects manually, Run the wizard with Idoc name/namespace in sender/receiver interface
Regards
Osman -
Mapping Logic in XI for Idoc to File
Hi All,
I have the scenario like this Idoc to File
I have Quantity field inside E1EDL24(Line Item)--E1EDL43Quantity, i have to Sum up the Quantity field.
I have used the ligic like this and works perfectly.
Quantity--Sum-Total and the context od Quantity is set to IDOC level.
Now the problem is, Inside the Line item(E1EDL24) Segment, we have E1EDL43 Segment and this E1EDL43 can repeats twice
then, i have to consider only first Segment quantity value coming from E1EDL43 . I should not take the second E1EDL43 segment .
But here in my case what is happening is while doing the SUM function it is considering the second segment quantity also. and giving the total.
For Example...
-E1EDl24
--E1EDL43
---Quantity -
20
--E1EDL43
---Quantity -
30
And second line item
-E1EDl24
--E1EDL43
---Quantity -
10
--E1EDL43
---Quantity -
50
In this case i shld get 20 + 10 = 30
But iam getting 203010+50 = 110 which is not correct.
Please help me on this
Regardsset the context to Idoc level
use the UDF
int sum=0;
for(int i=0;i<a.length;i++)
sum =sum + Integer.parseInt(a<i>);
i++;
String res = sum;
return res;
Do the mapping as
Quantity----->UDF---->Total
this logic works if E1EDL43 should repeats twice -
Mapping Problem. Idoc to file senerio...
Hi XI Gurus
I need a help.
I have an idoc.The output is papped to a file , this being a IDOC to File senerio. The Idoc contains segmnent1,2,3,4,5,6,7.The occurance of segment 7 is optional.It may come, it may not come. If segment 7 comes then there is a field callled mwskz which would contain 2 digits, say 'D1', or 'D2' or D3' or 'D4' or D5' or 'D6' or D7'or 'F8' or D9'. The file has a mapping, where there are 9 fields [ say F1, f2, f3, f4, f5, f6, f7, f8, and f9 ] in the ROOT. If at any instance, for a given segment 1, there is a segment7, then the contents of the fields MWSKZ is mapped based on it's content , say if the content ofnwskz is D6 then all fields from F1 - F9 would be populated by the constant term 'N' except for the field 'F6' which would contain 'Y'.
I have done a mapping, but it is failing...
I have used, remove contexts for the field as well as segment . I have use the function exists...but, after putting PAYLOASD, what I can see is, the mapping of the occurance of SEGMENT7 is not synchronised with field mwskz.
Experts Pls help.
Pls send me ur email address so that I can show u the screen-shots of the mapping !!!!
Many Thanks in Advance
Arnab
Please read the Forum's Rules of Engagement,
i.e.,
[/thread/117188 [original link is broken];
and refrain from using email correspondence as the main objective of the Forums is to share knowledge.
SDN PI/XI Forum ModeratorHi Arnab,
If i have understood your requirement correctly, you need to duplicate your ROOT node which has fields f1.. f9 for 9 times and map it to a constant. Now you can provide the condition like this:
mwskz = D6-> createIf -> ROOT
and so on....
In the ROOT segment now you can directly map the fields f1 to f9 as per the requirement, i.e., f1 to f5 and f7 to f9 can be mapped to N directly and f6 can be mapped to Y.
Correct me if i have misunderstood your requirement.
Regards,
Sanjeev. -
IDOC to File Mapping problem.
Hi all,
I am working on IDOC to file scenario. Here I need to create CSV file for some fields of the IDOC. Actually flat file should contain around 65 comma separated fields irrespective (independent of the segment presence in the IDOC) of the existence of the corresponding filed in the idoc structure. So could you please tell me how to handle this situation?
Here file is supposed to be created with 65 fields. But it only contains few of those, as some segments in the IDOC are missing. Is there any dependency between the filed and its header/segment?
Thanks in advance,
-Kanth.Hi Prasad,
<i>But it only contains few of those, as some segments in the IDOC are missing. Is there any dependency between the filed and its header/segment?</i> - yes, if your source IDOC is having some segments missing, then your target will not have those segments, so some of your target data will be lost.......
To avoid this you can go for a JAVA mapping.....
Thanks,
Rajeev Gupta
Maybe you are looking for
-
Folder Structure in Library Mergers
Hi - I'm sure this has already been asked but I cant find it by searching - sorry. I'd like to merge two LR3.5 libraries. Both have many folders with different subjects in each folder - i'd like to preserve this folder arrangment in the final merged
-
Hi how to set the visible property in oracle adf?
Hi, I am new to oracle adf in my application one of the field is id and it is sequence generated value Whenever I entered remaining values and click on save then only it has to display with sequence generated value before saving it has to be in hide
-
ALE EDI /IDOC Documents needed
Hi All, Can any body send the ALE ,EDI and IDOC Dcouments with live examples. My mail id is : [email protected] Thanks and Regards, Muralikrishna
-
Carry out modification comparison for J_1BV45A first. No changes possible
Hi, every expert, when I change the object J_1BV45A, It appears the error as below: "Carry out modification comparison for J_1BV45A first. No changes possible Message no. EU 526 Diagnosis You are trying to edit an SAP object which has already been c
-
ESS / MSS - HR Functional Point of View
Dear Friends, I am HR functional consultant and i am new to ESS/MSS. Now we have a requirement. Clients current SAP version is 4.6c and in that they have implemented ESS through Workplace 2.1. Now they are going for an upgrade to mySAP ERP 2005 (ECC)