IDoc 2 Flat mapping
Hello,
my task is to integrate a legacy application which uses the plain flat edi_dc, edi_dd (sdata), edi_ds structures in a database for communication up and down.
My problem is not the database (will use JDBC), but the IDoc XML 2 Flat conversion. I have seen the new HowTo desribing an ABAP mapping with IDX_XML_TO_IDOC. Is there also existing sample code for a Java mapping ? For both directions ? I know I can write any conversion in a Java Mapping, but I would expect this conversion to be standard functionality which is delivered by SAP.
Thanks for your help,
Christian Sy
Magicon Systems GmbH
Udo, From what i understand , the background code that gets generated when we do GUI mappings is in Java. So there should not be much of a difference b/w the Java mappings we do and the Java code that is created when doing GUI mappings rite!! Let know of ur thoughts
May be its a call we have to make b/w the Java code we write and the Java code SAP tool writes
-Saravana
Similar Messages
-
Send Idoc flat file message in JMS receiver adapter
Hello,
I am working on a scenario where we send Delvry 03 idoc from ECC to external system. To external system, we send the whole Idoc in flat file structure through JMS queue. I have used Idoc to flat file program in my interface mapping and have configured JMS receiver adapter with just default Module configs but, I am getting an error in communication channel monitoring for the messages.
Please note that Idoc xml to flat file structure conversion is already done in the mapping, I need to just pass this idoc flat structure in the jms adapter. Hence ther eis no content conversion i nthe adapter..
Please give some inputs..Here are the modules in my receiver adapter and nothing else..
SAP XI JMS Adapter/ConvertMessageToBinary
SAP XI JMS Adapter/SendBinarytoXIJMSService
The error I get is in audit log
Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: No transition found from state: ERROR, on event: process_commence for DFA: CC_JMS_R:ca336a6689f837da8bd3387140fc4447
in turn the message has this error if I open the message
Whitespace is not allowed at this location. Error processing resource 'http://host:port/mdt/messageconten...
and it shows one of the lines from idoc..flat file
Any idea is greatly appreciated..Thank you..ThanujjaThe difference in what I suggest is that it is way simpler.
Maybe you did not understand this, so will try to explain it better. Its not the best thing to do, but if JMS adapter doesn't budge then you can give it a shot.
1. You continue to use the ABAP mapping in your interface mapping to map the Idoc xml to Idoc flat.
2. Write a Java Map that will take the output of the ABAP mapping ; and then create a XML output which would be something like,
<Root>
<Idoc_Flat>
<Data>ABAP Mapping Output<Data>
</Idoc_Flat>
</Root>
3. Now use the simple content conversion in the JMS adapter to convert this to flat file.
Regards
Bhavesh -
IDoc flat file over AS2 adapter to IDoc adapter
Hi,
The scenario is IDoc flat file(.txt) over AS2 adapter to IDoc adapter. Could anyone help on how to convert the IDoc flat file to xml in AS2 adapter to execute the mapping further? we are using PI 7.0.
Thanks in advance!
-zameerHi,
Since you are on Pi 7.0, you would not be able to use the modules for this in PI 7.1.
You would need to refer this document for converting from Idoc flat to XML
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/46759682-0401-0010-1791-bd1972bc0b8a?quicklink=index&overridelayout=true
In your sender AS2 adapter, you can pass the file as is to an abap mapping which will do the conversion to Idoc xml. the output of the abap mapping goes to your message mapping then for conversion.
Another option would be to use a custom adapter module in the sender AS2 adapter to call the Aabap mapping to do the conversion into Idoc xml.
The custom adapter module would do a JCO/RFC call which will do the conversion before passing the data back to the adpter module.
Regards -
I am receiving flat file in SFTP Server which need to be posted into SAP (No mapping involved)
What will be the best approach ?
1. I tried using IDOCFlatToXmlConvertor (The limitation in the format of source file. The parent and child node relationship should be explicitly mentioned in IDoc flat file which legacy system is not able to do) - Any workarounds ?
2. I moved the Idoc flat file into SAP application server. Now need to schedule job using program RSEINB00
3. File Content Conversion
Any other better solution ? Appreciate your help.
Thanks and regards,
Jose AugastineFor converting Idoc Flat file to idoc xml, ABAP mapping is one of the feasible option.
-
How to read an IDOC flat file and send it to XI
Hi,
I'm looking for a way to read a complicated Idoc structured flat file sent to XI by a legacy system and then pushing that data to and R/3 system. Can anyone recommend a good technique?
Thanks,
Steevehi steven....
this shud help u...
for FileXIIDoc
File->XI->IDOC (how to start?)
also check this blog for specifying adapter specific identifiers in this scenario
These are steps to follow:
STEPS IN DESIGN
1. Import idoc from the SAP System (SAP02) through imported objects.
2. Create Data Type, Message Type, Message Interface for the Outbound File.
3. Create Message Mapping with file Message and idoc (Matmas04)
5.Create Interface mapping between File Interface and the idoc.
Steps to be followed in Creation of Technical and Business System
Technical System
In SLD, click on technical landscape->New Technical System->WebAS ABAP.
Business System.
1.Goto Business Landscape->New Business System->Name the business system.
2. Choose the technical system that needs to be attached->WebAS ABAP->Technical System Name.
Preconfiguration steps for transfer of data to IDOCS
1.Create a RFC Destination in SM59 of XI Server of type.
2.In transaction IDX1 ,create a port for the client of XI server.
3. The port has to be displayed in the idx2 transaction and we should be able to view the idocs which we imported through integration repository.
Steps in Configuration
1. Goto service without party, right click->Assign a business system.
2. Choose the business system to be added.
3. Create a File Sender Service with communication channel for the same.
4. Create an idoc receiver channel under the business system. Mention the RFC Destination and the port created for the same.
5. Mention the logical Name in the Service->Adapter Specific Parameters of both the File Sender Service as well as the business system.
6. Make the Sender Agreement for theFile Sender with communication channel.
7.Create the Receiver Determination and Interface Determination for the business system.
8.Create the Receiver Agreement for the Business system.
TCODES for File>XI>IDoc
SM59-rfc destination on recving side
IDX1-port on recving side
IDX2-load metadata
Bus. service adapter specific Identifiers-->Logical sys name (check this blog:/people/michal.krawczyk2/blog/2005/03/29/xi-error--unable-to-convert-the-sender-service-to-an-ale-logical-system )
we05-IDoc status records
BD54-Create Partner Number
We20-Create Partner Profile
and also go thru this blog...
/people/anish.abraham2/blog/2005/12/22/file-to-multiple-idocs-xslt-mapping
hope it helps....
regards...
vishal
/people/michal.krawczyk2/blog/2005/03/29/xi-error--unable-to-convert-the-sender-service-to-an-ale-logical-system -
Picking a IDOC Flat File stored in SAP R/3 Application Server by SAP PI
Hi,
Can SAP PI pickup a IDOC Flat File stored in SAP R/3 Application Server Directory and send it back as an Inbound IDOC.
Scenario:
We have a data in the EXCEL Sheet, which will be used to a fill an IDOC and the IDOC will be just save in the SAP R/3 Application Server Directory, but can not be triggered due to its peculiar behavior. Afterwards, SAP PI should pole the SAP R/3 and pick up that IDOC Flat File from the R/3 Application Server and send it back to the SAP R/3 as an Inbound IDOC.
For Ref: IDOC does not have a Outbound Process Code, thus can not be triggered and send to SAP PI. It is always used as a Inbound IDOC in SAP R/3 system.
Regards,
SaurabhSAP PI should pole the SAP R/3 and pick up that IDOC Flat File from the R/3 Application Server
If SAP PI = 7.11 --> /people/william.li/blog/2009/04/01/how-to-use-user-module-for-conversion-of-idoc-messages-between-flat-and-xml-formats
send it back to the SAP R/3 as an Inbound IDOC
why to send some information again into R3 which it already has? cant some internal code in R3 read the info from excel and then update the IDOC directly? -
Hi,
I have a requirement wherein we have to read the IDOC flat file and post it as IDOC to SAP using XI. I understand we have to use the Flat File Sender adapter and the IDOC Receiver Adapter. On the Sender Side we have to define the Content Conversion to convert the IDOC Flat File to IDOC XML. Writing File Content Conversion for the IDOC Flat File would be very tedious because of the number of fields and fixed structure of the flat file.
I have don through the following guide Section 3.2 where it talks abt converting IDOC to IDOC XML using reportRSEINB00.
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/xi-how-to-guides/how%20to%20convert%20between%20idoc%20and%20xml%20in%20xi%203.0.pdf
I am not clear how to invoke this report in the Flat File Sender adapter. Also is there any other approach.
Thanks
Rajeev GuptaHi Rajeev
You have a flatfile at the sender side so you dnt have any feasiable option to do other than FCC....FCC is not a tediuos one...if you can provide the strucutrre we will help you out...
Check out you have a fixedlength file or piple separated one....
In the functional design how many fields re present and buil the DT,MT MI accoprdingly.....
you have to just use some conecnt conversion parameters that's it...
item.fieldSeparator
item.endSeparator
item.fieldNames
here item is your recordset name
let us know your strucutre
regards
Nisar -
Horizontal Mapping and Flat mapping with Metadata Value Indicator
Hi
I have an abstract class B which itself extends another abstract class A.
There is no table for A. The fields in A are mapped to B. I believe this
is called "horizontal mapping"
C and D inherit off B. There's a also a table named B (mapped to class B),
but none for C or D. Instances of C and D are recorded in table B. I
believe this is called "flat mapping"
B has a field foo whose possible values are 'fred' and 'wilma'.
If foo='fred', then the record is of type C
If foo='wilma', then the record is of type D
I believe this is called "class indicator" of type metadata.
To express this, I have package.jdo which says
<class name="A"/>
<class name="B" persistence-capable-superclass="A"/>
<class name="C" persistence-capable-superclass="B"/>
<class name="D" persistence-capable-superclass="B"/>
In B.mapping, I have
<mapping>
<package name="domain">
<class name="B">
<jdbc-class-map type="horizontal"/>
<jdbc-class-ind type="metadata-value" column="foo"/>
</class>
</package>
</mapping>
B.java has a private String foo.
In C.mapping, I have
<mapping>
<package name="domain">
<class name="C">
<jdbc-class-map type="flat"/>
<jdbc-class-ind-value value="fred"/>
field mappings for C
</class>
</package>
</mapping>
and similarly in D for value='wilma'
My questions are...
1. Is this kind of mapping supported by kodo?
2. If so, is this configuration correct? I guess not, since I don't
specify the table name anywhere. Where should it go?
3. If I remove the "class indicator" mapping and run a simple test I get
kodo.util.FatalUserException: There is no superclass mapping for mapping
for "class domain.D".
at
kodo.jdbc.meta.FlatClassMapping.assertParentMapping(FlatClassMapping.java:49)
at kodo.jdbc.meta.FlatClassMapping.getTable(FlatClassMapping.java:85)
at
kodo.jdbc.meta.OneToManyFieldMapping.fromMappingInfo(OneToManyFieldMapping.java:87)
at
kodo.jdbc.meta.RuntimeMappingProvider.getFieldMapping(RuntimeMappingProvider.java:160)
at
kodo.jdbc.meta.MappingRepository.getFieldMapping(MappingRepository.java:443)
at
kodo.jdbc.meta.AbstractClassMapping.getFieldMapping(AbstractClassMapping.java:949)
4. If I run a simple test with the horizontal, flat and class-indicator
mappings, I get
kodo.jdbc.meta.MappingInfoNotFoundException: The "class-column"
attribute/extension for the class indicator on type
"domain.B.<class-indicator>" is missing or names a column that does not
exist.
at kodo.jdbc.meta.Mappings.invalidMapping(Mappings.java:135)
at kodo.jdbc.meta.Mappings.invalidMapping(Mappings.java:121)
at
kodo.jdbc.meta.ColumnClassIndicator.fromMappingInfo(ColumnClassIndicator.java:95)
at
kodo.jdbc.meta.RuntimeMappingProvider.initialize(RuntimeMappingProvider.java:135)
at
kodo.jdbc.meta.MappingRepository.getMappingInternal(MappingRepository.java:378)
What am I doing wrong?
Thanks in advance
SriniI solved this problem by removing the identifier field from the
class/mapping (kodo support).
Thanks
Srini
Stephen Kim wrote:
Do you have two fields mapped to the same column? Did you make sure you
set everything which maps to the column?
Srinivasan Ranganathan wrote:
I found what was wrong with this, fixed it and got a different (more
sensible) error. To correct this mapping, I specified B's mapping type as
"base" and gave its table and pk names. Also, I moved the common field
mappings to B.mapping so C.mapping and D.mapping only have fields that are
specific to each.
Now when I run a simple test, I get
testC:
kodo.util.FatalUserException: Attempt to set column "B.FOO" to two
different values: (java.lang.Object)"java.lang.Object@2f608ac2",
(java.lang.String)"fred" This can occur when you fail to set both sides of
a two-sided relation between objects, or when you map different fields to
the same column, but you do not keep the values of these fields in synch.
at kodo.jdbc.runtime.VRow.setObjectInternal(VRow.java(Compiled Code))
at kodo.jdbc.sql.AbstractRow.setObject(AbstractRow.java(Compiled Code))
at
kodo.jdbc.meta.ColumnClassIndicator.insert(ColumnClassIndicator.java:143)
at kodo.jdbc.runtime.UpdateManagerImpl.insert(UpdateManagerImpl.java:216)
at kodo.jdbc.runtime.UpdateManagerImpl.insert(UpdateManagerImpl.java:219)
at kodo.jdbc.runtime.UpdateManagerImpl.flush(UpdateManagerImpl.java:108)
at kodo.jdbc.runtime.UpdateManagerImpl.flush(UpdateManagerImpl.java:73)
testD:
kodo.util.FatalUserException: Attempt to set column "B.FOO" to two
different values: (java.lang.Object)"java.lang.Object@2f608ac2",
(java.lang.String)"wilma" This can occur when you fail to set both sides
of a two-sided relation between objects, or when you map different fields
to the same column, but you do not keep the values of these fields in
synch.
at kodo.jdbc.runtime.VRow.setObjectInternal(VRow.java(Compiled Code))
at kodo.jdbc.sql.AbstractRow.setObject(AbstractRow.java(Compiled Code))
at
kodo.jdbc.meta.ColumnClassIndicator.insert(ColumnClassIndicator.java:143)
at kodo.jdbc.runtime.UpdateManagerImpl.insert(UpdateManagerImpl.java:216)
at kodo.jdbc.runtime.UpdateManagerImpl.insert(UpdateManagerImpl.java:219)
at kodo.jdbc.runtime.UpdateManagerImpl.flush(UpdateManagerImpl.java:108)
at kodo.jdbc.runtime.UpdateManagerImpl.flush(UpdateManagerImpl.java:73)
I've checked for the two possible errors to the best of my knowledge. Any
input to resolve this issue is appreciated.
Thanks in advance
Srini
Srinivasan Ranganathan wrote:
Hi
I have an abstract class B which itself extends another abstract class A.
There is no table for A. The fields in A are mapped to B. I believe this
is called "horizontal mapping"
C and D inherit off B. There's a also a table named B (mapped to class B),
but none for C or D. Instances of C and D are recorded in table B. I
believe this is called "flat mapping"
B has a field foo whose possible values are 'fred' and 'wilma'.
If foo='fred', then the record is of type C
If foo='wilma', then the record is of type D
I believe this is called "class indicator" of type metadata.
To express this, I have package.jdo which says
<class name="A"/>
<class name="B" persistence-capable-superclass="A"/>
<class name="C" persistence-capable-superclass="B"/>
<class name="D" persistence-capable-superclass="B"/>
In B.mapping, I have
<mapping>
<package name="domain">
<class name="B">
<jdbc-class-map type="horizontal"/>
<jdbc-class-ind type="metadata-value" column="foo"/>
</class>
</package>
</mapping>
B.java has a private String foo.
In C.mapping, I have
<mapping>
<package name="domain">
<class name="C">
<jdbc-class-map type="flat"/>
<jdbc-class-ind-value value="fred"/>
field mappings for C
</class>
</package>
</mapping>
and similarly in D for value='wilma'
My questions are...
1. Is this kind of mapping supported by kodo?
2. If so, is this configuration correct? I guess not, since I don't
specify the table name anywhere. Where should it go?
3. If I remove the "class indicator" mapping and run a simple test I get
kodo.util.FatalUserException: There is no superclass mapping for mapping
for "class domain.D".
at
kodo.jdbc.meta.FlatClassMapping.assertParentMapping(FlatClassMapping.java:49)
at kodo.jdbc.meta.FlatClassMapping.getTable(FlatClassMapping.java:85)
at
kodo.jdbc.meta.OneToManyFieldMapping.fromMappingInfo(OneToManyFieldMapping.java:87)
>>
at
kodo.jdbc.meta.RuntimeMappingProvider.getFieldMapping(RuntimeMappingProvider.java:160)
>>
at
kodo.jdbc.meta.MappingRepository.getFieldMapping(MappingRepository.java:443)
at
kodo.jdbc.meta.AbstractClassMapping.getFieldMapping(AbstractClassMapping.java:949)
>>
>>
>>
>>
4. If I run a simple test with the horizontal, flat and class-indicator
mappings, I get
kodo.jdbc.meta.MappingInfoNotFoundException: The "class-column"
attribute/extension for the class indicator on type
"domain.B.<class-indicator>" is missing or names a column that does not
exist.
at kodo.jdbc.meta.Mappings.invalidMapping(Mappings.java:135)
at kodo.jdbc.meta.Mappings.invalidMapping(Mappings.java:121)
at
kodo.jdbc.meta.ColumnClassIndicator.fromMappingInfo(ColumnClassIndicator.java:95)
>>
at
kodo.jdbc.meta.RuntimeMappingProvider.initialize(RuntimeMappingProvider.java:135)
>>
at
kodo.jdbc.meta.MappingRepository.getMappingInternal(MappingRepository.java:378)
>>
>>
>>
What am I doing wrong?
Thanks in advance
Srini
Steve Kim
[email protected]
SolarMetric Inc.
http://www.solarmetric.com -
Hi Experts.
I need the Idoc flat file for Delfor01(delivery schedule).
Advance Thanks.Hi Bala,
Follow the procedure
IDOC to XML Convertion using ALE Interface
1) Send an outbound IDOC data(MATMAS) to a flat file(XML) on client1(SENDER).
- Create File Port (WE21) of XML Type for outbound file.
- Specify the Physical directory and file under the Outbound File tab
- Maintain Distribution Model (BD64) for sender ->receiver system.
- Create Partner Profile (WE20) for logical system.
- You can use this program RBDSEMAT (t/code BD10) to generate IDoc MATMAS file(s).
_ Then you can FTP the file(s) to receiver system.
2) Upload the flat file as an IDOC on the inbound sytem
which is Client2(RECIEVER).
- Create File Port (WE21) for inbound file.
- Maintain Distribution Model (BD64) for receiver -> sender system.
- Create Partner Profile (WE20) for logical system.
- You can use this program RSEINB00 to upload IDoc MATMAS file(s).
A sample scenario for idoc generation
Sending System(Outbound ALE Process)
Tcode SALE ? for
a) Define Logical System
b) Assign Client to Logical System
Tcode SM59-RFC Destination
Tcode BD64 ? Create Model View
Tcode BD82 ? Generate partner Profiles & Create Ports
Tcode BD64 ? Distribute the Model view
Message Type MATMAS
Tcode BD10 ? Send Material Data
Tcode WE05 ? Idoc List for watching any Errors
Receiving System(Inbound ALE )
Tcode SALE ? for
a) Define Logical System
b) Assign Client to Logical System
Tcode SM59-RFC Destination
Tcode BD64 ? Check for Model view whether it has distributed or not
Tcode BD82 -- Generate partner Profiles & Create Ports
Tcode BD11 Getting Material Data
Tcode WE05 ? Idoc List for inbound status codes
ALE IDOC Steps
Sending System(Outbound ALE Process)
Tcode SALE ?3 for
a) Define Logical System
b) Assign Client to Logical System
Tcode SM59-RFC Destination
Tcode BD64 !V Create Model View
Tcode BD82 !V Generate partner Profiles & Create Ports
Tcode BD64 !V Distribute the Model view
This is Receiving system Settings
Receiving System(Inbound ALE )
Tcode SALE ?3 for
a) Define Logical System
b) Assign Client to Logical System
Tcode SM59-RFC Destination
Tcode BD64 !V Check for Model view whether it has distributed or not
Tcode BD82 -- Generate partner Profiles & Create Ports
Tcode BD11 Getting Material Data
Tcode WE05 !V Idoc List for inbound status codes
Message Type MATMAS
Tcode BD10 !V Send Material Data
Tcode WE05 !V Idoc List for watching any Errors
STEP 1)a Goto Tcode SALE
Click on Sending & Receiving Systems-->Select Logical Systems
Here Define Logical Systems---> Click on Execute Button
go for new entries
-System Name : ERP000
-Description : Sending System
-System Name : ERP800
-Description : Receiving System
press Enter & Save
it will ask Request
if you want new request create new Request orpress continue for transfering the objects
B) goto Tcode SALE
Select Assign Client to Logical Systems-->Execute
000--> Double click on this
Give the following Information
-Client : ERP 000
-City :
-Logical System
-Currency
-Client role
Save this Data
Step 2) For RFC Creation
Goto Tcode SM59-->Select R/3 Connects
Click on Create Button
RFC Destination Name should be same as partner's logical system name and case sensitive
to create the ports automatically while generating the partner profiles
give the information for required fields
RFC Destination : ERP800
Connection type: 3
Description
Target Host : ERP000
System No:000
lan : EN
Client : 800
User : Login User Name
Password:
save this & Test it & RemortLogin
STEP 3) Goto Tcode BD64 -- click on Change mode button
click on create moduleview
short text : xxxxxxxxxxxxxx
Technical Neme : MODEL_ALV
save this & Press ok
select your just created modelview Name :'MODEL_ALV'.
goto add message type
Model Name : MODEL_ALV
sender : ERP000
Receiver : ERP800
Message type :MATMAS
save & Press Enter
STEP 4) Goto Tcode BD82
Give Model View : MODEL_ALV
Partner system : ERP800
execute this by press F8 Button
it will gives you sending system port No :A000000015(Like)
STEP 5) Goto Tcode BD64
select the modelview
goto >edit>modelview-->distribute
press ok & Press enter
STEP 6) goto Tcode : BD10 for Material sending
Material : mat_001
Message Type : MATMAS
Logical System : ERP800
and Execute
STEP 7)goto Tcode : BD11 for Material Receiving
Material : 100-300
Message Type : MATMAS
and Execute --> 1 request idoc created for message type Matmas
press enter
Here Master Idoc set for Messge type MATMAS-->press Enter
1 Communication Idoc generated for Message Type
Now go to the physical directory and check your idoc converted as an XML File.
Note enter required message type
OR try this
Just pass the IDoc Document no in the FM - IDOC_XML_TRANSFORM.
IDOCS_OUTPUT_IN_XML_FORMAT
IDX_IDOC_TO_XML
it will transform the IDoc in XML format
Regards,
Sridhar -
Which field from idoc INVOIC01 maps to Item Text field in MIRO transaction?
Hi
Will anybody please tell me which of the field in which segment of IDOC INVOIC01 maps to Item text (INVFO-SGTXT) field in Basic data tab of MIRO transactionThanks Ravi for your response.
But I have tried with all fielsd related to texts in IDOC but it is not being filled in transcation .
If you see the F4 help in text field then Text Id is four character and when I manually assign this in transactin then it is putting = symbol in fron of the id. And then if we save or go to other tab then it is filling text.
I am not able to find the error bcoz document is being posted through idoc but text field is not getting filled. -
Flat file to idoc MATMAS05 - mapping
Hi,
I want to create 2 Idocs from one recordset.
Can any one tell me how do I map this Recordset to an Idoc?
Example source and target IDOC structures:
Source:-
<Recordset>
<SA010>
<IDENTS>1234</IDENTS>
<BEZ>Dummytxt</BEZ>
</SA010>
<SA088>
<IDENTS>1234</IDENTS>
<MARC1>010</ MARC1>
<MARC2>020</MARC2>
</SA088>
</Recordset>
Target:-
<MATMAS05>
<IDOC BEGIN="1">
<E1MARAM SEGMENT="1">
<MATNR>1234</MATNR>
<E1MARCM SEGMENT="2">
<WERKS>010</WERKS>
</E1MARCM>
</E1MARAM>
</IDOC>
</MATMAS05>
<MATMAS05>
<IDOC BEGIN="1">
<E1MARAM SEGMENT="1">
<MATNR>1234</MATNR>
<E1MARCM SEGMENT="2">
<WERKS>020</WERKS>
</E1MARCM>
</E1MARAM>
</IDOC>
</MATMAS05>
Thanks and Regards,
ErenHello Varun,
My flat structure:
<Recordset>
<b><SA010></b>
<i><IDENTS>1234</IDENTS>
<BEZ>Dummytxt</BEZ></i>
<b></SA010></b>
<b><SA088></b>
<IDENTS>1234</IDENTS>
<i><MARC1>010<>
<MARC2>020</MARC2></i>
<b></SA088></b>
</Recordset>
The MATNR field is <IDENTS>. I can pick the value from node <SA010> or <SA088>.
Thanks -
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. -
IDOC to map Dunning Letter Info to Flat File
Hi,
Can anyone tell me IDOC or BAPI used for the Dunning Letter?
Regards,
AkshaySales Order Management Transactions
Generate Dunning Letters - F150 -
Converting Idoc flat file representation to XML
Hi ,
I went through the guide for How To Convert Between IDoc and XML in XI 3.0. I'm concerned with the second part of the guide which says convert from falt file representation of Idoc to XML. Can anyone tell me what are the other design and configuration objects to be created for this scenario ( message types,interfaces, mapping , etc )
Also which step of the pipeline does the converted XML goes to ?
The program also expects a filename, what if I want to pass the file name dynamically ? Any ideas on this one.
Hope someone replies this time.........:)
Thanks for you help and improving my knowledge
Thanks
Advait Gode.Hi Advait,
Let me give you a small overview on how inbound IDOCs work before answering your question-
The control record is the key in identifying the routing of the IDOC. If you try to think IDOCs as normal mails(post), the control record is the envolope. It contains information like who the sender is and who the receiver should be and what the envelope contains (no different than receiving mails/letters by post).
Then the data records contain the actual data, in our example would be the actual letter. The status records contain the tracking information.
Traditionally SAP's IDOC interface (even before XI comes in picture) has utility programs to post incoming IDOCs in to SAP. One such program is RSEINB00 which basically takes the IDOC file name and the port as input. This program opens the file and posts the contents to the SAP IDOC interface (which is a set of function modules) via the port. The idea is to read the control record and determine the routing and further posting to application. Note that one information in the control record is the message type/idoc type which decides how the data records need to be parsed.
Now in XI scenario, what happens if we receive data as flat file? Normally, we use flat file adapter and in the file adapter we provide information on how to parse the file. But, if the incoming file is flat and in IDOC structure, why do we have to configure the file adapter, when the parsing capability is already available using RSEINB00/Standard IDOC interface.
This the reason, the guide suggests you to use RSEINB00. Now, your concern is what if you need to provide a dynamic filename. My idea is to write a wrapper program. This would be an ABAP program in your integration engine. This program will determine the file name (based on a logic which should be known to you) and then call program RSEINB00 using a SUBMIT/RETURN. You would then schedule this ABAP program in background to run in fixed schedules.
There are other ways of handling your scenario as well but from limited information from your request, I will stop with this now. Post me if you have any more queries.
KK -
Reg: File to Idoc Hierarchial mapping
Hi Experts,
We have a scenario of flat file to idoc where in we have 4 segments(01 to 04)(with hierarchies) in source file to be mapped to idoc. We have followed Riaz blog http://www.riyaz.net/blog/xipi-convert-flat-file-to-deeply-nested-xml-structures-using-only-graphical-mapping/.on mapping flat file to deeply nested structures .
We have encountered one unique issue in the intermediate level mapping where, when assigning hte id numbers, the instances of one segment are grouped together. This is creating a problem.
Ex: in source str we have nodes in the order
01
02
03
04
02
03
04 and so on..
After the test of intermediate mapping, it shows teh follw sequence:
01
02
02
03
03
04..
The node seq in the target str should have been similar to that of the source.. but here its not so..
if i am using just one instance of 01 till 04 nodes.. the final xml str is created perfect.. Can any please let me know what could be the possible error??
Or please let me know if there is any other simple procedure to finish this.
Thanks in advance, awaiting your reply..
Best Regards,
GiriHi,
Please go through the following links..
http://wiki.sdn.sap.com/wiki/display/XI/SampleJAVAMappingcodeusingPI7.1+API
http://wiki.sdn.sap.com/wiki/display/XI/UsingPI7.1APIforJavamapping
and also,
http://help.sap.com/saphelp_nwpi71/helpdata/en/bd/c91241c738f423e10000000a155106/content.htm
If u get any doubt u can post the problem....
Babu
Maybe you are looking for
-
I am trying to can a document on my computer. However, when I bring up the printer utility it does not give me the option to scan. I have a laptop that does allow this option, but I don't want to go through the hassle of downloading to one device a
-
Multicast Error When Starting Managed Servers
Environment: HP-UX 11i, Weblogic 8.1 SP1. We're getting the following error when we start managed servers in our clustered environment: <Feb 24, 2004 6:33:12 PM CST> <Error> <Cluster> <BEA-000116> <Failed to join cluster PDICluste
-
Server 2012 Standard Edition network teaming issue at bootup
I have a Windows server 2012 x64 standard edition server (not R2) using two Intel I210AT nic's on an ASUS P9D-X motherboard. They are setup in a team using the Microsoft teaming. No special options, latest updates and the latest Intel drivers. Th
-
OKay, unlike some people, I actually prefer my podcasts to be part of my playlist because i subscribe to a daily music service that I want to be part of my itunes Library. Anyone know how to get the podcasts back into my library??? This upgrade has c
-
Ext. Drive issues/ invalid node structure
I am running a few Lacie 500GB drives and one of them has gone kapoo. it will not mount and says it has no volume OSX can read, in Disk utility it shows up but after first aid verify it says the underlining task reported failure on exit (-9972) and a