IDoc UTF-8 conversion
HI,
im getting IDoc from a Seeburger converter with UTF-8 text string.
is it possible to convert this string or is sap possible to read/show utf-8 string correct ?
we are using ECC6.0 unicode System.
example: Kapitän should be shown as Kapitän
Thanks,
Gordon
Edited by: Gordon Breuer on Oct 17, 2008 12:59 PM
which locale the other system is using? in SAP you will receive what was sent, so if the sender system sends the correct character, seeburger adaptor should be converting it to correct one in UTF-8. as your SAp system is unicode you should be able to see it properly, if it was correctly sent from the sedning system,and converted in Seeburger.
Similar Messages
-
Perform unicode to UTF-8 conversion on F110 bacs payment file in ABAP
Hi,
I am facing a conversion issue for the UK BACS payment files.
The payment run tcode F110 creates a payment file but the file when created on the application server has soem sort of code conversion. If I removed the # value, i can read most of the data.
The data example is as below-
#V#O#L#1#0#0#1#5#8#8# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #2#4#3#3#0#9#
#H#D#R#1#A#2#4#3#3#0#9#S# # #1#2#4#3#3#0#9#0#0#0#0#0#2#0#0#0#1#0#0#0#1# # # # # # # #1#0#1#1#2#
#H#D#R#2#F#0#2#0#0#0#0#0#1#0#0# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
#U#H#L#1# #1#0#1#1#3#9#9#9#9#9#9# # # # #0#0#0#0#0#0#0#0#1# #D#A#I#L#Y# # #0#0#0# # # # # # # #
This is then transferred to the bank via the FTP UNIX Script but after the conversion which is happening as-
#Perform unicode to UTF-8 conversion on bacs file
$a = "iconv -f UNICODE -t UTF-8 $tmpUNI > $tmpASC";
The need going forward is to bring the details via the interface and then make an uplaod.
The ABAP code should be able to make the conversion, remove the additional chracters and then send the file across.
I have searched everywhere but I am not able to find out how to make the same conversion in ABAP.
We are on ECC6.
Can someone please help me?
Regards,
ArchanaHi Archana,
can you please check SAP notes 1064779 and 1365764 (including the attachment) and see if this helps you ?
Best regards,
Nils Buerckel
SAP AG -
Error in Idoc to XML conversion
Hi,
I am doing Idoc to XML conversion using standard program RSEINB00. Can anyone plz tell me what are the pre-requisites to executing this program? I am getting an error message Port XXX segment defn YYYYY in IDoc type ZZZZZ CIM type do not exist.
Why am i getting this error? and what is the slution for it?
Regards,
Mateen.Hi
Delete the metadata in IDX2 for the corresponding IDOC type in PI.
Also re-import the same in IDX2.
Reimport the IDOC type into Integration Repository under your SWCV.
Then check it..
Refresh the cache also. -
Hi ABAPers,
Is there any standard procedure to convert IDOC's to XML format ? If
yes can anyone please help me the procedure or steps how to achieve
this conversion.
Regards
VEnk@HI Gautham,
Your answer was helpful.
I am trying to use IDOC_XML_Translate.
Here if you can see the source code of the function module
at the end data is holding by STR and transformed and passed into screen number 100.
But i am trying to download the file so i have created a ZFunModule and in source code
i have used GUI_DOWNLOAD here the problem in STR is string not a table, so how to pass the STR data to Internal table.
Transformation
CALL METHOD idoc->get_xmldata_as_string
IMPORTING
data_string = str.
CALL SCREEN 100.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = 'C:\Venkat\venkat.xml'
tables
data_tab = ?
Are you having any solution for this ? If yes please share.
Regards
VEnk@ -
Character encoding (unicode to utf-8) conversion problem
I have run into a problem that I can't seem to find a solution to.
my users are copying and pasting from MS-Word. My DB is Oracle with its encoding set to "UTF-8".
Using Oracle's thin driver it automatically converts to the DB's default character set.
When Java tries to encode Unicode to UTF-8 and it runs into an unknown character (typically a character that is in the High Ascii range) it substitutes it with '?' or some other wierd character.
How do I prevent this.my users are copying and pasting from MS-Word. My DB
is Oracle with its encoding set to "UTF-8".Pasting where? Into the database? If they are pasting into the database (however they might do that) and getting bad results then that's nothing to do with Java.
Using Oracle's thin driver it automatically converts
to the DB's default character set.Okay, I will assume that is correct.
When Java tries to encode Unicode to UTF-8 and it
runs into an unknown character (typically a character
that is in the High Ascii range) it substitutes it
with '?' or some other wierd character.This is false. When converting from Unicode to UTF-8 there are no "unknown characters". I don't know what you mean by the "High Ascii range" but if your users are pasting MS stuff into your Java program somehow, then a conversion from something into Unicode is done at that time. If "something" isn't the right encoding then you have the problems already, before you try to write to the DB.
How do I prevent this.First identify the problem. You have input coming from somewhere, then you are writing to the database. Two different steps. Either of them could have a problem. Test them separately so you know which one of them is the problem. -
Hi, I am New to EDI-IDocs,We have a requirement over here to send the iDocs from SAP to Non-SAP sys(JCAPS).
Need step-by-step details to convert the iDoc to EDI format.
Helpfull Answers will b Rewarded.
Regards
Giridhar ReddyHi,
Data Creation in Idoc
IDocs are text encoded documents with a rigid structure that are used to exchange data between R/3 and a foreign system. Instead of calling a program in the destination system directly, the data is first packed into an IDoc and then sent to the receiving system, where it is analyzed and properly processed. Therefore an IDoc data exchange is always an
asynchronous process. The significant difference between simple RFC-calls and IDoc data exchange is the fact, that every action performed on IDocs are protocolled by R/3 and IDocs can be reprocessed if an error occurred in one of the message steps.
While IDocs have to be understood as a data exchange protocol, EDI and ALE are typical use cases for IDocs. R/3 uses IDocs for both EDI and ALE to deliver data to the receiving system. ALE is basically the scheduling mechanism that defines when and between which partners and what kind of data will be exchanged on a regular or event triggered basis. Such a set-up is called an ALE-scenario.
IDoc is a intermediate document to exchange data between two SAP Systems.
*IDocs are structured ASCII files (or a virtual equivalent).
*Electronic Interchange Document
*They are the file format used by SAP R/3 to exchange data with foreign systems.
*Data Is transmitted in ASCII format, i.e. human readable form
*IDocs exchange messages
*IDocs are used like classical interface files
IDOC types are templates for specific message types depending on what is the business document, you want to exchange.
WE30 - you can create a IDOC type.
An IDOC with data, will have to be triggered by the application that is trying to send out the data.
FOr testing you can use WE19.
How to create idoc?
*WE30 - you can create a IDOC type
For more information in details on the same along with the examples can be viewed on:
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm#_Toc8400404
http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a6620507d11d18ee90000e8366fc2/frameset.htm
http://www.sappoint.com/presentation.html
http://www.allsaplinks.com/idoc_search.html
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://www.erpgenie.com/sapedi/idoc_abap.htm
To Create Idoc we need to follow these steps:
Create Segment ( WE31)
Create Idoc Type ( WE30 )
Create Message Type ( WE81 )
Assign Idoc Type to Message Type ( WE82 )
Creating a Segment
Go to transaction code WE31
Enter the name for your segment type and click on the Create icon
Type the short text
Enter the variable names and data elements
Save it and go back
Go to Edit -> Set Release
Follow steps to create more number of segments
Create IDOC Type
Go to transaction code WE30
Enter the Object Name, select Basic type and click Create icon
Select the create new option and enter a description for your basic IDOC type and press enter
Select the IDOC Name and click Create icon
The system prompts us to enter a segment type and its attributes
Choose the appropriate values and press Enter
The system transfers the name of the segment type to the IDOC editor.
Follow these steps to add more number of segments to Parent or as Parent-child relation
Save it and go back
Go to Edit -> Set release
Create Message Type
Go to transaction code WE81
Change the details from Display mode to Change mode
After selection, the system will give this message u201CThe table is cross-client (see Help for further info)u201D. Press Enter
Click New Entries to create new Message Type
Fill details
Save it and go back
Assign Message Type to IDoc Type
Go to transaction code WE82
Change the details from Display mode to Change mode
After selection, the system will give this message u201CThe table is cross-client (see Help for further info)u201D. Press Enter.
Click New Entries to create new Message Type.
Fill details
Save it and go back
Check these out..
Re: How to create IDOC
Check below link. It will give the step by step procedure for IDOC creation.
http://www.supinfo-projects.com/cn/2005/idocs_en/2/
ALE/ IDOC
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sappoint.com/abap.html
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.docs
go trough these links.
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sappoint.com/abap.html
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.allsaplinks.com/idoc_sample.html
http://http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
An IDoc is simply a data container that is used to exchange information between any two processes that can understand the syntax and semantics of the data...
1.IDOCs are stored in the database. In the SAP system, IDOCs are stored in database tables.
2.IDOCs are independent of the sending and receiving systems.
3.IDOCs are independent of the direction of data exchange.
The two available process for IDOCs are
Outbound Process
Inbound Process
AND There are basically two types of IDOCs.
Basic IDOCs
Basic IDOC type defines the structure and format of the business document that is to be exchanged between two systems.
Extended IDOCs
Extending the functionality by adding more segments to existing Basic IDOCs.
To Create Idoc we need to follow these steps:
Create Segment ( WE31)
Create Idoc Type ( WE30)
Create Message Type ( WE81)
Assign Idoc Type to Message Type ( WE82)
imp links
http://www.allsaplinks.com/idoc_sample.html
http://www.sapgenie.com/sapedi/idoc_abap.htm
www.sappoint.com
--here u can find the ppts and basic seetings for ALE
http://sappoint.com/presentation.html
www.sapgenie.com
http://www.sapgenie.com/ale/index.htm
WE30 - you can create a IDOC type.
An IDOC with data, will have to be triggered by the application that is trying to send out the data.
Try this..Hope this will help.
SAP ALE & IDOC<<<<
Steps to configuration(Basis) >>
1. Create Logical System (LS) for each applicable ALE-enabled client
2. Link client to Logical System on the respective servers
3. Create background user, to be used by ALE(with authorizaton for ALE postings)
4. Create RFC Destinations(SM59)
5. Ports in Idoc processing(WE21)
6. Generate partner profiles for sending system
The functional configuration(Tcode: SALE)
u2022 Create a Customer Distribution Model (CDM);
u2022 Add appropriate message types and filters to the CDM;
u2022 Generate outbound partner profiles;
u2022 Distribute the CDM to the receiving systems; and
u2022 Generate inbound partner profiles on each of the clients.
Steps to customize a new IDoc >>>
1. Define IDoc Segment (WE31)
2. Convert Segments into an IDoc type (WE30)
3. Create a Message Type (WE81)
4. Create valid Combination of Message & IDoc type(WE82)
5. Define Processing Code(WE41 for OUT / WE42 for IN)
6. Define Partner Profile(WE20)
Important Transaction Codes:
SALE - IMG ALE Configuration root
WE20 - Manually maintain partner profiles
BD64 - Maintain customer distribution model
BD71 - Distribute customer distribution model
SM59 - Create RFC Destinations
BDM5 - Consistency check (Transaction scenarios)
BD82 - Generate Partner Profiles
BD61 - Activate Change Pointers - Globally
BD50 - Activate Change Pointer for Msg Type
BD52 - Activate change pointer per change.doc object
BD59 - Allocation object type -> IDOC type
BD56 - Maintain IDOC Segment Filters
BD53 - Reduction of Message Types
BD21 - Select Change Pointer
BD87 - Status Monitor for ALE Messages
BDM5 - Consistency check (Transaction scenarios)
BD62 - Define rules
BD79 - Maintain rules
BD55 - Defining settings for IDoc conversion
WEDI - ALE IDoc Administration
WE21 - Ports in Idoc processing
WE60 - IDoc documentation
SARA - IDoc archiving (Object type IDOC)
WE47 - IDoc status maintenance
WE07 - IDoc statistics
BALE - ALE Distribution Administration
WE05 - IDoc overview
BD87 - Inbound IDoc reprocessing
BD88 - Outbound IDoc reprocessing
BDM2 - IDoc Trace
BDM7 - IDoc Audit Analysis
BD21 - Create IDocs from change pointers
SM58 - Schedule RFC Failures
Basic config for Distributed data:
BD64: Maintain a Distributed Model
BD82: Generate Partner Profile
BD64: Distribute the distribution Model
Programs
RBDMIDOC u2013 Creating IDoc Type from Change Pointers
RSEOUT00 u2013 Process all selected IDocs (EDI)
RBDAPP01 - Inbound Processing of IDocs Ready for Transfer
RSARFCEX - Execute Calls Not Yet Executed
RBDMOIND - Status Conversion with Successful tRFC Execution
RBDMANIN - Start error handling for non-posted IDocs
RBDSTATE - Send Audit Confirmations
FOr testing you can use WE19.
There are two filtering in IDoc.
Segment Filtering:
Segment filtering can be achieved using T/Code BD56. Here you can suppress a whole segment irrespective of data inside it . You have to give Message Type / Sender Prrtner / Receiver Partner.
Data Filtering:
Data filtering can be done in dustribution model (BD64) where you can restrict whole IDOCS or partials IDOCS to be send based on data in fields inside IDOC depending on whether the segment in which you filter is at the highest level or at a lower level. For example in MATMAS if you put a filter of E1MARCM for a particular plant , only data for this plant will go and other plants will be ignored.
Please check this link for more information.
http://help.sap.com//saphelp_470/helpdata/EN/0b/2a611c507d11d18ee90000e8366fc2/frameset.htm
Regards,
Shiva Kumar -
Suggestion for IDoc creation and conversion program
Hi Experts,
I want to send the data from SAP to Non-SAP System. The Non-SAP System needs the text file with delimiter.
So which way is better to send the data.
Via a IDOc with ALE OR
Just download the file by the program and send it to Non-SAP System.
Please suggest me, which option is best and cheapest and need the advantage and disadvantage for both the ways. And also how many hours will took to implement each scenarios.
As per my knowledge, The Idoc with ALE will took 3 Days to build the setup and prepare the IDoc and Conversion program will took 1.5 days to prepare the file.
Note:There are maximum 8 fields needs to send to the Non-SAP System from SAP. So not much information.
Thanks in Advance,
Warm Regards,
VijayHi Gangisetty,
For less no. of fields transfer there is no need at all to go with ALE.
If there is some Standard Master Data to be transfered then IDOC comes very handy.
But if requirement is to fetch data from different tables and some formatting before sending to Legacy System then you should go with conversion Report which will fetch all required data, format or manipulate as per requirement and then using outbound control it can send the flat file Common Shared FTP folder.
Using Conversion Report which will required less development time and you can schedule it as per bussiness requirement.
Using ALE-IDoc may consume some time as you need to create Partner Profile, Logical System etc and it might be required to have PI(XI) as middleware for some internal formatting etc.
Though, Both ways are possible it's upto your call which way to go.
As per info given by you i would suggest to by Conversion Report Method.
Regards,
Vivek -
File to IDOC with content conversion
Hi
I am trying to do a file content conversion scenario. This is a fixed length file which needs to be converted to idoc.
I have configured IR and ID (FCC parameters added). While testing the end-end scenario we are able to see that sender adapter has successfully read the message , but we are not able to see any message in SXMB_MONI.
Please helpFollowing is the file structure
"RecordType HeaderField2 HeaderField3"
"RecordType LineItem2 LineItem3"
"RecordType TrailerField2 TrailerField3"
Following are content conversion Parameters [KeyFieldName -> RecordType]
HeaderRow.beginSeparator -> '"'
HeaderRow.fieldFixedLengths -> 10,20,10 (for ex)
HeaderRow.fieldNames -> RecordType,HeaderField2,HeaderField3
HeaderRow.keyFieldValue -> 01 (COnstant)
HeaderRow1.endSeparator -> '"'
Similar for line item and trailer
Is there any way to check our input file against the content conversion parameters to make sure that they are correct
Thanks -
Inbound Idoc customer number conversion
I am new to EDI and have a question to ask you both about inbound IDOC's. We have customers sending remittance advices through EDI. The customer numbers in them are their own customer numbers. In SAP, we maintain different customer numbers. Where do the mapping of the customer numbers take place -- In the EDI subsytem itself or in SAP? If in SAP, can you let me know the procedure to do this.
Any help will be appreciated and points awarded.
Thanks,
Nile.Hey Fren,
1. Data Mapping
Within the framework of SAP EDI, the conversion of a business document in IDoc format to an EDI standard format (and vice versa) is the most important task performed by a subsystem. This process is resource intensive and, hence, is better done at the subsystem level than within SAP. The following conversions and translations are carried out by the subsystem.
Creating a control record for each inbound IDoc.
An inbound IDoc must have a control record. The EDI subsystem builds the control record using the information stored in its local repository or from the SAP repository.
Removing the control record during the outbound process.
The control record in the IDoc file is used by the subsystem for housekeeping functions, such as locating the trading partner profile. The data on the control record is not needed for translating the content of the EDI documents.
Translating data from IDoc format to EDI format.
For an outbound transaction, the EDI subsystem converts data in the IDoc format to a suitable EDI format.
Translating data from EDI format to IDoc format.
For an inbound transaction, the EDI subsystem converts data in the standard EDI format to IDoc format.
Bundling and unbundling IDocs.
If several IDocs are passed to the EDI subsystem in one file, the subsystem separates them into individual documents. Similarly, on the inbound process the subsystem can bundle multiple IDocs into a single file to improve performance.
2 Maintaining the Partner Profile
A partner is defined as the business partner with whom you conduct business and exchange EDI documents. These partners are not necessarily the same as the partners in the partner profile of SAP. However, the concept is quite similar. In SAP, the partner profile maintains parameters specific to the IDoc process, and in the subsystem the partner profile maintains parameters specific to the EDI process. Some typical attributes in a partner profile are
· A unique partner number
· The partner type (Customer, Vendor)
· The standard used (EDIFACT, ANSI X12, and so on)
· The version of the EDI standard
· The EDI message exchanged (850, 860, ORDERS, ORDCHG)
· A functional acknowledgment flag
3 Triggering the Inbound Process
After receiving an inbound EDI transmission and creating an IDoc file, the subsystem is often responsible for triggering the inbound process. SAP provides a program named startrfc to start any RFC−enabled function module from the operating system level. For the EDI process, the subsystem uses the startrfc program to
trigger the function module EDI_DATA_INCOMING. Chapter 6, "Configuring Basic EDI Components," provides the complete details and parameters of the startrfc progam.
4 Reporting Process Status to SAP
In an outbound process, after an IDoc has been transferred from SAP to the subsystem, SAP loses control over the process. However, SAP maintains visibility into the process by requiring the subsystem to report on the status of the process. SAP provides a file interface for the subsystem to send a status report at every milestone.
I hope you got some idea from this process.....
<REMOVED BY MODERATOR>
Warm Regards,
Abhi...
Edited by: Alvaro Tejada Galindo on Apr 25, 2008 4:36 PM -
IDOC reprocessing including conversion rules
with BD87 you can reprocess a IDOC, which was not properly processed because of any reasons.
For me it looks like that using BD87 conversion rules maintained for the IDOC message type are not reprocessed again. Is there any way to force the system to include the processing of conversion rules in the reprocess step.
Thanks for any help
MaritaHi Marita,
Have you tried with the application RBDMANI2
Shylesh -
Hi all,
I am trying to send an Idoc from sender to reciever side. While sending that I just want to flter some fields and segments. I know that while creating the model view few fields can be filtered. If I want to filter more fields, for that mater If I want to filter segment what should I need to take care of ? Is this done in tcode or any process ? same is the case with conversions ? Where are they done and how ? Kindly pease let me know the details.
Regards,
Varun.Hi.
you can reduced message type in T-code :BD53... ( Filter fields) for segmnet filter :BD56
BD65 for Maintain IDoc type required fields
You can create your Own segment in WE30 and see segment in WE31 ( if you want to add some fields )
Hope thisll help you .
Pl ..award the points .
Thanks
Message was edited by: Saquib Khan -
IDoc to File Conversion(Purchase order sent to XI mapped to a file )
Hi,
I have a requirement whr in i need to map the IDOC(ORDERS.ORDERS04) to a file....in IR I have created the data type,message type....in Message Mapping step ..i have mapped 1-1 as follows :-
E1EDK01/BELNR - -- > mapped to DT_ORDER/ebein
E1EDP01/NETWR - - --> mapped to DT_ORDER/metpr...similarly
so my problem is tht when iam defining the MESSAGE INTERFACE..I have given the source message,target message and hit read interfaces....
in these step am not able to load the MESSAGE MAPPING created earlier...no mapping program found is the error am getting when iam checking for errors..please help me in this regard..let me know if u have any questions
Regards,
Kiran>
Kiran Kumar wrote:
> Hi,
>
> I tried wht ever u have mentioned....this is the error am getting...
>
> " Check Result for Object IM_Orders_Mapped_File Mapping program Message Mapping MM_Orders_To_File | http://IDoc2FileScenario does not match request target message IDoc ORDERS.ORDERS04 | urn:sap-com:document:sap:idoc:messages. Target message Message Type MT_ORDERS_TO_FILE | http://IDoc2FileScenario of the message mapping is different ".
> Please let me know if u need any other information...
>
>
> Best Regards,
> Kiran
from the above it seems you have mixed the source and target in either the mapping or the interface mapping.
confirm.
in message mapping
source should be ORDERS.ORDERS04 and target message should be MT_ORDERS_TO_FILE
in interface mapping, source interface should be ORDERS.ORDERS04 and target MI_ORDERS_TO_FILE
if it is as mentioned above, try to refresh the cache and if the error still exist try creating the interface mapping with a different name and try -
Hello,
I call rfc (via xi) and get result as flat xml String from r/3.
This string contains english and hebrew characters. The english is o.k. but the value nodes in hebrew looks like " ׳ ׳�׳ ׳�׳׳ ׳׳�׳¨׳׳/׳׳׳�׳� "
how can i convert the string in order to see my language characters?
I think the source unicode is utf-8, and i need to convert it to utf-16 but i'm not sure about that nor how to do that.
Thanks for your help.
Roni.Hi Roni,
If your RFC returns an XML file as a java.lang.String object, the String itself is by definition UTF-16. To see if the XML file is correct, you could write it to disk and open it with your favourite text editor. Something like this.
private void save(String xml) throws IOException {
OutputStream out = new FileOutputStream(new File("/tmp/result.xml"));
out.write(xml.getBytes("UTF-8"));
out.close();
Or whatever supported encoding you like and that's supported by your text editor, e.g. ISO-8859-8 is Latin/Hebrew Alphabet; see http://java.sun.com/j2se/1.4.2/docs/guide/intl/encoding.doc.html
Obviously, to correctly see the characters you need the necessary fonts too.
In case the above doesn't work, it means the xml String you receive from the RFC call is already corrupt. However, if it does work, the RFC as such works correctly.
The next step is likely to parse the XML to extract the information you need and store it in your Web Dynpro context. An XML parser usually expects bytes (a java.io.InputStream) as input, which means you need to convert the String to bytes and by doing that, you need to choose a character encoding. It could be something like the following.
SAXParserFactory.newInstance().newSAXParser().parse(new ByteArrayInputStream(xml.getBytes("UTF-8")), handler);
Note that the character encoding you specify here does make a difference. It should be the same, in order not to "confuse" the XML parser, as defined in the XML file's document type declaration, e.g. <?xml version="1.0" encoding="UTF-8"?>
BTW, what exactly do you do with the received XML to obtain the value nodes?
Kind regards,
Sigiswald -
UTF-8 conversion to Unicode Error in Mapping
Hi
I have developed a java mapping program ..which in a normal scenario works properly but fails when it encounters the following kind of characters.
eför
and gives the following exception
org.xml.sax.SAXParseException: Zeichenumwandlungsfehler: "UTF-8 encoding of character 0x001b2925 can't be converted to Unicode."
please suggest how to resolve this error.
regards
Nilesh Taunk.hi nilesh,
UTF 8 does not recognise those special characters. You will have to change the encoding to <b>ISO-8859-1</b>.
For into on how to do this, check this thread,
Java Mapping Parsing Error
Regards,
Bhavesh -
Regarding outbound idoc into xml conversion
Hello everyone
can anyone let me kno all the procedure to make our idoc outbound and convert it into XML file, is there any standard program or any other method if i am using we21 then what thing i have to do. is it neccesary for us to go to tc we60 and change schema of our structure or not, i don't want to use XI, please tell me whole procedure if possible, waiting for your reply.
plz reply me.
Thanks & Regards
vimarsh b
Edited by: vimarsh b on Jan 8, 2008 5:58 AMhai,
check this.
Outbound Interface
PROCESS DIAGRAM for Outbound Interface
1. Analyse Hierarchy Levels
2. Create New segment
3. Create New IDoc Type
4. Create New Message Type
5. Link Message with IDoc Type
6. Create an entry in EDP13 via transactions WE20 and BD64
7. Populate the Custom IDoc via ABAP Program
7b Error Handling
7c. Send Status Email
8. Test the Population of the Custom IDoc
Step 1 Analyse Hierarchy Levels:
Analyse the data relationships being processed in the interface. Define the appropriate hierarchical Parent-to-Child relationships.
Navigate to transaction code WEDI
Transaction WEDI displays the IDOC main menu. This allows navigation around the various development and control areas to create a customised IDOC.
Step 2 Create a new segment:
via wedi : Development - IDOC Segments or Transaction code WE31.
Enter segment name and click on Create.
? The name of the segment type must start with Z1 , and have a maximum of eight characters.
Enter description and enter the relevant field names and data elements.
? The segment should represent a structure in the program so for each field in the segment a field name and a data element must be defined.
Save the segment and enter Person Responsible and Processing Person .
Go to Edit and Set Release.
Repeat this procedure for each new Segment in the IDOC.
Step 3 Create a new IDOC Type
via wedi Development - IDOC Types or Transaction WE30.
Enter segment name (starting with Z), click on Basic Type and then Create.
Create as new, enter Person Responsible and Processing Person and enter description.
On Create Basic Type screen decide where segments should be inserted and go to Edit/Create Segment.
Complete relevant fields in the Maintain Attributes screen:
From the relevant segments created in Step 2 enter the Segment type and if mandatory segment.
The Minimum and Maximum number of segments to be allowed in the sequence. (One minimum and one maximum if segment is mandatory).
The Parent Segment and Hierarchy Level will be automatically created depending on where in the IDOC tree you decided to create that particular segment.
Repeat this process for each segment needed in the IDOC type, deciding whether to add the next segments at the same level or as a Child.
When IDOC created return to initial screen. Go to Edit and Set Release.
Go to Transaction WE60 to view the IDoc Type you have created.
Step 4 Create new Message Type
via wedi Development - Message Types or Transaction WE81.
Display/Change and click on New Entries
Create a new Message Type and Save.
Step 5 Link Message Type to IDOC Type
via wedi Development - IDOC Type/Message or Transaction WE82.
Display/Change and then click on New Entries.
Enter Message Type, Basic Type (IDOC Type) and Release (46C) and Save.
Step 6 Create an entry in EDP13 via transactions WE20 and BD64.
The partner profile for the Idoc must be set up and generated in the transaction BD64 and transaction WE20.
WE20 Add Message Type to appropriate Partner Type, Enter Message Type, Receiver Port and Idoc Type and Save.
BD64 Create a Model View, Enter Sender and Receiver Ports, Attach Message Type. Go to Environment on Menu and click on Generate Partner Profiles and generate (not save) profile.
Step 7 Populate the custom IDOC via ABAP Program
See Test Program ZOUTBD_IDOC_TEMPLATE, Appendix IV.
Create an Internal Table for each segment type, this should be exactly the same structure as the segment type.
The control record is filled into a structure like EDIDC. The message type and the Idoc type for the Idoc must be populated into the eddic structure.
- PERFORM populate_Control_structure USING c_mestyp
c_SEGMENT_type1.
The data segments are filled into a structure like edidd-sdata; sdata and the segment name are populated into the edidd structure.
- PERFORM transfer_Parent_data_to_seg.
The standard SAP function module MASTER_IDOC_DISTRIBUTE is called to pass the populated IDOC to the ALE Layer.
- PERFORM master_idoc_distribute.
NOTE: This function module is only called for stand alone programs and Shared Master Data programs (SMD). It is not called when using extensions or output determination.
The ALE Layer handles the sending of the IDOC to the receiving system.
Error Handling (see Step 7b).
Commit work.
Project Specific
Step 7b Error Handling Analyse which fields in the interface are mandatory for the receiving system and who needs to receive error notification.
Declare a structure of type MCMAILOBJ for sending instructions.
Enter values for the internal table based on structure MCMAILOBJ
For selection processes, on SY-SUBRC checks and where fields are mandatory for the receiving system; insert Function Module MC_SEND_MAIL.
Enter values in the following parameters: -
MS_MAIL_SENDMODE = B (Batch Mode)
MS_MAIL_TITLE = 'Mail Title'
MS_MAIL_DESCRIPTION = Error description (e.g. MATNR not given)
MS_MAIL_RECEIVER = Name of Receiver (To be determined)
MS_MAIL_EXPRESS = E (Express Delivery)
MS_MAIL_DLINAME = Leave Blank
MS_MAIL_LANGU = 'E' (Language)
MS_MAIL_FUNKOBJ_NAME = Leave Blank
TABLES
MS_MAIL_CONT = I_MCMAILOBJ
Note:
It has to be determined separately for each interface how these errors and mail notifications are to be grouped dependant upon the number of errors that are potentially likely. One possible approach is to send an email for each reason for rejection and include all the records that failed for that reason in the mail notification. Another possible approach is to send an email for every failure.
When error checking for mandatory fields it is common SAP practice to reject a record on its first failure (irrespective of subsequent errors in that record)
Step 7c Send status mail
Append to table I_MCMAILOBJ details of the time the interface was processed, how many Idocs were created and how many of these produced a status of 03.
Select the user to receive the mail from ZINT_RECEIVER, using the name of the program as a key (SY-CPROG).
Use function Module MC_SEND_MAIL to send a mail to the user containing the contents of I_MCMAILOBJ at the end of the interface processing.
Step 8 Test the population of the custom IDOC
via wedi IDoc - Display IDoc or Transaction WE02.
Enter your message type and execute.
Status should be green, double click on one of the Idocs you have created to view its contents.
If a problem has occurred click on Status which will give you a description of the error.
Drop down Data Records arrow and this should list the data in the IDoc in the correct hierarchical structure.
Click on each individual segment and view the content to check that the correct data has been read.
If you have UNIX access by using AL11 you can view the file that you have created.
Note:
For some interfaces it may be valid to send an empty file to SAP. This empty file is converted to the custom IDOC format expected by SAP. This custom IDOC will contain dummy information. In the inbound processing code, if the dummy information is identified then the processing of the IDOC is considered to be complete and the IDOC should then be assigned a successfully processed status of 53, even though it has not been processed at all.
also gothroughthe links,
http://www.theobald-software.com/download/ERPConnect/ERPConnectDevGuide_EN.pdf.
http://help.sap.com/saphelp_nw04/helpdata/en/0b/2a611c507d11d18ee90000e8366fc2/frameset.htm
Check below link. It will give the step by step procedure for IDOC creation.
http://www.supinfo-projects.com/cn/2005/idocs_en/2/
With regards,
Sowjanya.B.
Maybe you are looking for
-
Issue with ipw2200 and local deauthentication in a network of many ap
Hey all, I am interested if anyone has had a similar issue and, if so, I just wanted to report a solution that is currently working for me. I am currently using a Lenovo Thinkpad Edge 0578. This is a wireless issue that still exists as of 2.6.33 with
-
my kids set up itune account on my computer years ago and no one remembers the password. They started new accounts on their macs. I want to start my own itunes account, but I would like to get some of the music off this account. Any suggestions?
-
Is there a way to use the eMac as an external monitor
I haven't used my Emac for awhile, but my 17" powerbook is now having a serious display problem and I can't even see the log-in screen. I want to use the Emac as an external monitor or at least have sharing between the two machines. They are both usi
-
can u tell me where i can get this upgrade thank u much!!!
-
adobe will not install what do i do?