How to encode XML to Idoc and decode Idoc to XML in business connector?
Hi all,
first of all: thanks for all, who are reading and perhaps responding this question!
Here some facts and my question(s):
The facts:
- I have the business connector version 4.6!
- I'm not working with any SAP Netviewer!
- I have XML files on an FTP-server and Idoc-files on an FTP-server --> so no connection between SAP and business connector, meaning: the files are just on the ftp-server!
What am i doing and what is working properly:
- Business connector logs in into the FTP-server (with FTP-service: pub.client.ftp:login)
- gets the file (with FTP-service: pub.client.ftp:get) (the idoc-file, when i want to convert it into XML or the XML-file, when i want to convert it into idoc-format)
- puts the file into another place in the server (with service wm.PartnerMgr.gateway.transport.FTPTransport:OutboundProcess)
!!!So far only getting and putting of the file works!!!
What is missing between getting the file in one format - for example idoc-format - and putting the file into the server in the other format - for example XML-format is:
CONVERSION FROM XML INTO IDOC AND VICE VERSA
My question:
- which services i have to use between getting and putting the files?
Thanks to all,
Tamer
Hi,
I have the same problem. I do fix it?
Thanks
Wilson Xavier
Brazil
Similar Messages
-
Difference between Master Idoc and Communication Idoc.
Can anyone list out the difference between Master Idoc and Communication Idoc?
IDoc (for intermediate document) is a standard data structure for electronic data interchange (EDI) between application programs written for the popular SAP business system or between an SAP application and an external program. IDocs serve as the vehicle for data transfer in SAP's Application Link Enabling (ALE) system. IDocs are used for asynchronous transactions: each IDoc generated exists as a self-contained text file that can then be transmitted to the requesting workstation without connecting to the central database. Another SAP mechanism, the Business Application Programming Interface (BAPI) is used for synchronous transactions.
Form and content: IDoc terminology
As is often the case with proprietary technologies, SAP assigns specific, object-oriented meanings to familiar terms. When referring to IDocs, the term document refers to a set of data comprising a functional group of records with a business identity. (For example, all the data in a purchase order, or all the profile information of a supplier in a supplier master record.)
A message refers to the contents of a specific implementation of an IDoc; its a logical reference. This differs from a reference to the IDoc itself, which specifies the messages physical representation. Think of it this way: If youre watching a parade pass by, the mayor waving to the crowd from his limousine is the message, and the mayors limousine (which is specific to the mayor) is the IDoc. Youre building a logical object, and the IDoc is both its container and the vehicle that moves it.
The IDoc control record
Each IDoc has a single control record, always the first record in the set. The structure of this record describes the content of the data records that will follow and provides administrative information, such as the IDocs functional category (Message Type/IDoc Type), as well as its origin (Sender) and destination (Receiver) as in conventional EDI
Layout of an IDoc control record
This cover slip format informs the receiving system of the IDocs purpose, and the receiving system uses it to determine the correct processing algorithm for handling the arriving IDoc.
Data records
The data records following the control record are structured alike, including two sections: a segment information section and a data section.
In the first part of a data record, the segment information section describes the structure of the data that follows, for the benefit of the IDoc processor. There is a segment name (like an EDI segment identifier) that corresponds to a data dictionary structure to which the IDoc processor has access. The remaining information is useful for foreign systems, such as a partner companys Oracle system, which has no such data dictionary.
The second part of the record is the data itself, a storage area of 1,000 characters.
Status records
If youve ever ordered a package from a faraway location and tracked its progress using the Internet-based tracking utilities now provided by most major parcel carriers, youre familiar with the list of stops and transfer points through which a package passes on its way to you.
This collection of records is exactly what youll see in an IDoc that has begun its work. Following the data records in an IDoc, status records accumulate as an IDoc makes its way from one point in a process to another.
Typically, an IDoc will acquire several of these records as its does its job. They are simple records, consisting of a status code (there are more than 70 codes, covering a broad range of conditions and errors), a date/time stamp, and some additional status information fields for system audit purposes. In addition, as errors occur in the processing of an IDoc, status records are used to record these errors and the date/time of their occurrence.
IDoc Base
IDocs, as data formatting tools, enable the easy sharing of data between databases and applications within a company as well as being an efficient data courier between companies. Typically in SAP, a database of IDoc definitions exists, to which any application may have access.
This IDoc Base gives all the applications and processes in your company domain the capacity to send, receive, and process a document in a contextually appropriate way, without doing anything to the data. For example, a purchase order IDoc can filter through every process it touches, passing from system to system, accumulating status records to track its progress.
Every department using the data can use it appropriately without any cumbersome intermediate processes, because each department draws its key to interpreting the IDoc from the same source.
Multiple messages
One cumbersome feature of conventional EDI is the embedding of more than one functional record type in a document. The unwieldy X-12 888 Item Maintenance transaction set is an example: It purports to handle so many different configurations of product master data that it is horrifically difficult to integrate into an existing system.
IDocs, on the other hand, handle multiple messages with ease. Given the centralized IDoc interpretation that SAP provides to all its parts, its no problem to define an IDoc that will contain more than one message, that is, more than one data record type.
A customer master IDoc, for example, may contain customer profile information records for a customer with many locations. But it may also contain location-specific pricing information records for that customer in the same document. This is an incredibly efficient way of bundling related records, particularly when passing large amounts of complex information from system to system Records in a multiple-message IDoc -
How to correlate a specific Idoc and a specific XI xml message
Hi, I have an Idoc and want to find the belonging xml message in XI. There are more than 90 xml messages to pick from, so I hope there are some other methods to find it, instead of looking inside each one!
Thanks!Hi Rune,
for that task you have to extend the standard monitoring. Plz have a look at <a href="/people/alessandro.guarneri/blog/2006/02/14/super-message-monitor-for-sap-xi Message Monitor for SAP XI</a>
Regards,
Udo
Message was edited by: Udo Martens -
How to send single person-records with HRMD_A Idoc and change Idoc header?
Hello group,
we have different companies in our SAP system (BUKRS). Now when an infotype is changed the changepointers are activated and using program RBDMIDOC we can send Idocs of type HRMD_A to f.i. files. In order to have these files distributed to different parties depending on BUKRS of the person we would like to have HRMD_A to deliver single records, an Idoc for each person and the Idoc header fields for variant and function should be filled so that the partner profile would distribute the Idoc to the partie.
Is this possible? And if yes how?
Regards, Léon Hoeneveld The NetherlandsTransaction PFAL lets me trigger the Idoc manually, but with a job for RBDMIDOC this is automatically.
I found fm RH_HRMD_BLOCK_SIZE in wich you can enhance the code to set the block size for an Idoc-type to 1.
But now I still have to change the Idoc header with an enhancement of user-exit.
HRALE00OUTBOUND_IDOC BADi does not have the functionallity.
Regards, Léon Hoeneveld -
How to use my own DTD and table using the XML SQL utility.
Hey,
Here is my question. I have succesfully installed Oracle XML SQL utility and I had played around on that. Now I have my own DTD that too from Rosettanet(PIP). Tell me how can I use my own table, and my dtd using the existing utility. What are all the changes do I need to do. I am strugling it from past 4 days. I couldn't. Please help me!Hi chris,
Yes, the SQL can be changed only by using Discoverer Administrator.
Open the report/workbook that is based on the custom SQL that you want to change in Discoverer Plus. Look at the Folder that is being used to select the columns of the report.
Open up the Discoverer Administrator with the id that has access to the tables referenced in the report. And the custom folder with the same name as in Disc Plus would be listed down in the Business Area (Which Business Area the custom folder belongs to can be determined with the help of disc plus).
Just open up that folder, and change the SQL in it. You can pasted your new sql in there and click on Validate SQL to validate it for errors. If no errors, then the custom folder is successfully changed.
In order to have it reflected, close your existing disc plus session and reopen it, and you can go about using the custom folder.
Hope this helps!
Thanks. -
Hi,
I am working in SAP BI extraction presently.
In sap bi/bw systems, data is taken out from SAP R/3 system and sent into BI/BW via Idocs.
This process is called as extraction. I know that data transfer between the SAP R/3 and BI systems happen via idocs.
But here in sap bi we have two type of idocs,
1. Request idocs ( Message type is RSRQST)
2. Info Idocs (Message type is RSINFO)
Request idocs come from BI system to R/3 and from R/3 system data is sent to BI system via Info idocs.
Please can some one give clear explanation about these request and info idocs and how technically they are different
from normal idocs.
Regards,
Lakshminarasimhan.Nno reply to the question and hence closing the question from open status to answered status
-
Calling StroreProcedure contain XML as Input and store proce return XML as out-BizTalk
I have a requirement in BizTalk that
- I will receive XML from Source and i need to submit this XML data in SQL storeprocedure as a parameters and submit data
Ex: My_SP(myXML xml Input,myXML1 xml OUT)
Could you please help me how to call storeprocedure and submit XML and how to retrieve XML from SP.One of the way is to return xml from stored procedure instead of getting a typed schema
You can have xml auto defined at stored procedure something like below stored procedure.
SELECT [Employee_ID] ,[Name] ,[DOJ] ,[Designation] ,[Job_Description] ,cast([Rating] as varchar(100)) as Rating ,[Salary] ,[Last_Modified] ,[Status] ,[Address]
FROM [Adapt_Doc].[dbo].[Employee] for xml auto, xmlschema
After that you can directly assign the message to the typed schema something like below
MessageTypedSQL=MessageUntypedSQl;
For reference you can look into below MSDN articles
SQL and XML: Use XML to Invoke and Return Stored Procedures
Executing Stored Procedures Having a FOR XML Clause
Thanks
Abhishek -
Query on sorting XML using XSLT and getting the same XML as output !
Hi,
Looking for one information regarding sorting XML using XSLT , with the sorted XML as output. For eg. my XML is :
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="sort1.xsl"?>
<levelone>
<child ID="1" sort="5">
<name>Paul</name>
</child>
<child ID="2" sort="1">
<name>Adam</name>
</child>
<child ID="3" sort="2">
<name>Will</name>
</child>
</levelone>
and XSL :
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/levelone">
<xsl:copy>
<xsl:apply-templates>
<xsl:sort select="@sort"/>
</xsl:apply-templates>
</xsl:copy>
</xsl:template>
<xsl:template match="child">
<xsl:copy-of select="."/>
</xsl:template>
</xsl:stylesheet>
This does the sort based on Name. But I want to get the same xml as output with the name sorted. Eg.
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="sort1.xsl"?>
<levelone>
<child ID="2" sort="1">
<name>Adam</name>
</child>
<child ID="1" sort="5">
<name>Paul</name>
</child>
<child ID="3" sort="2">
<name>Will</name>
</child>
</levelone>
Any pointers will be highly appreciated.
- ThanksDon't you want <xsl:sort select="name"/> rather than <xsl:sort select="@sort"/>?
-
How to get the column name and table name from xml file
I have one XML file, I generated xsd file from that xml file but the problem is i dont know table name and column name. So my question is how can I retrieve the data from that xml file?
Here's an example using binary XML storage (instead of Object-Relational storage as described in the article).
begin
dbms_xmlschema.registerSchema(
schemaURL => 'my_schema.xsd'
, schemaDoc => xmltype(bfilename('TEST_DIR','my_schema.xsd'), nls_charset_id('AL32UTF8'))
, local => true
, genTypes => false
, genTables => true
, enableHierarchy => dbms_xmlschema.ENABLE_HIERARCHY_CONTENTS
, options => dbms_xmlschema.REGISTER_BINARYXML
end;
genTables => true : means that a default schema-based XMLType table will be created during registration.
enableHierarchy => dbms_xmlschema.ENABLE_HIERARCHY_CONTENTS : indicates that a repository resource conforming to the schema will be automatically stored in the default table.
If the schema is not annotated, the name of the default table is system-generated but derived from the root element name :
SQL> select table_name
2 from user_xml_tables
3 where xmlschema = 'my_schema.xsd'
4 and element_name = 'employee';
TABLE_NAME
employee1121_TAB
(warning : the name is case-sensitive)
To annotate the schema and control the naming, modify the content to :
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xdb="http://xmlns.oracle.com/xdb">
<xs:element name="employee" xdb:defaultTable="EMPLOYEE_XML">
<xs:complexType>
Next step : create a resource, or just directly insert an XML document into the table.
Example of creating a resource :
declare
res boolean;
doc xmltype := xmltype(
'<employee>
<details>
<emp_id>1</emp_id>
<emp_name>SMITH</emp_name>
<emp_age>40</emp_age>
<emp_dept>10</emp_dept>
</details>
</employee>'
begin
res := dbms_xdb.CreateResource(
abspath => '/public/test.xml'
, data => doc
, schemaurl => 'my_schema.xsd'
, elem => 'employee'
end;
The resource has to be schema-based so that the default storage mechanism is triggered.
It could also be achieved if the document possesses an xsi:noNamespaceSchemaLocation attribute :
SQL> declare
2
3 res boolean;
4 doc xmltype := xmltype(
5 '<employee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6 xsi:noNamespaceSchemaLocation="my_schema.xsd">
7 <details>
8 <emp_id>1</emp_id>
9 <emp_name>SMITH</emp_name>
10 <emp_age>40</emp_age>
11 <emp_dept>10</emp_dept>
12 </details>
13 </employee>'
14 );
15
16 begin
17 res := dbms_xdb.CreateResource(
18 abspath => '/public/test.xml'
19 , data => doc
20 );
21 end;
22 /
PL/SQL procedure successfully completed
SQL> set long 5000
SQL> select * from "employee1121_TAB";
SYS_NC_ROWINFO$
<employee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceS
<details>
<emp_id>1</emp_id>
<emp_name>SMITH</emp_name>
<emp_age>40</emp_age>
<emp_dept>10</emp_dept>
</details>
</employee>
Then use XMLTABLE to shred the XML into relational format :
SQL> select x.*
2 from "employee1121_TAB" t
3 , xmltable('/employee/details'
4 passing t.object_value
5 columns emp_id integer path 'emp_id'
6 , emp_name varchar2(30) path 'emp_name'
7 ) x
8 ;
EMP_ID EMP_NAME
1 SMITH -
Parse xml in inputstreamobject and decode base64
Hello
I have got a http-package with content-type text/xml, from a HttpURLConnection object.
From the HttpURLConnection object i get an InputStreamObject.
Now i'm looking for the easiest to parse the xml, that is in the Inputstream object.
The xml just contains base64 encoded data and i need to decode this data into a byte array.
I have not much experience with java and xml, so it would be nice when somebody could help me.
Kind regards,
ClaudeMichelleClaudeMichelle wrote:
i'm looking for the easiest to parse the xml, that is in the Inputstream object.
The xml just contains base64 encoded data and i need to decode this data into a byte array.Below tutorial will help.
BASE64 Decoder Stream from Sun Microsystems:*
This class implements a BASE64 Decoder. It is implemented as a FilterInputStream, so one can just wrap this class around any input stream and read bytes from this filter. The decoding is done as the bytes are read out.
Authors: John Mani, Bill Shannon+[For actual tutorial visit here |http://www.java2s.com/Code/Java/File-Input-Output/BASE64DecoderStreamfromSunMicrosystems.htm]
*Cheers,
typurohit* (Tejas Purohit) -
How to remove a font file and its mapping from XML Publisher Administrator
Hello,
I am trying to remove a font file and its mapping from the XML Publisher Administrator. If this is not possible, is there a way to disable it?
The reason why I am asking this is because we just got a new check printer, and I was able to print just fine. However, the MICR font was not coming up properly on the check, so I went ahead and configured the font with the XML Publisher Administrator. Now my check output is coming up blank after running the XML report publisher program. The only change I did was to upload the MICR font and mapped it.
My template and rdf report file are working fine in another environment we have, so I know that's not the problem.
Any help is appreciate it.
Thanks.This is how you do it
Font
DELETE FROM xdo_lobs
where lob_code like '<Font_name>';
Font Mapping Set
DELETE FROM xdo_font_mapping_sets_TL
WHERE mapping_code like '<MAPPING_CODE>' -
How to filter xml using dtd and create a new xml document
Good morning my name is Antonio and I'm an italian programmer.
I need an help about the follow question.
I want to filter the contents of a XML document using a DTD to allow
only the valid elements and attributes as specified in the DTD to be
passed through to the output, any data that does not conform to the DTD
should be filtered out.
To resolve this problem there's XML Translator Generator (XTransGen): http://www.alphaworks.ibm.com/tech/xmltranslatorgenerator
but at moment it's not avaiable.
Can you help me?
Many thanks.
ciao
Antonio...
-
How to encode multiple camera views and display them separately on the same page
Does any one know if this is possible with just one
encoder/streaming server or would you need multiple encoders to
send separate views?Hello after a long time.
I have 2 the same capture card. And I am trying to stream to 2 diffrent rtmp server. I start first one and no problem. But when I run second FME instance and select second stream card, first one turns to black and second one shows up. When I close second, first one again comes back.
What shoul I do for streaming multiple streams form multiple stream cards?
Best regards. -
How do you generate uml diagrams And decoding java programs
1)Hi i have neatbeans 5.0 i have finished witting my code and i wanted to know if there is a way to generate uml diagrams straight from the code.
2) Also i think i have bought a java programme to improve your memory and i wanted to know is there a way you look in the java sorce code so i can change the settings the file has a dynamic.dll(application extension), a level(dat File) and a unins000(dat file)Darryl.Burke wrote:
Also i think i have bought a java programme to improve your memory
Did you remember to install it?I don't think his memory goes back that far :) -
Missing IDoc and recurring IDoc errors
Hi,
I would like to ask for a help or any ideas on below case.
We encountered almost everyday a number of generated IDoc errors and the number increases everyday. All of these IDocs has Status "51" (application document not posted) and description "EDI: IDoc 63120 does not exist, please check data".
This IDoc errors does not happen before. It only started when the IDoc 63120 was missing and we can't find it already. We don't know why this is missing and we really need to get rid of these recurring IDoc errors whcih increases almost everyday.
Your response will be helpful in solving my problem.
Thanks in advance!Hi Juan Francisco Zurita Duque
KNREF : Customer description of partner (plant, storage location)
internal data type : CHAR
Internal length : 000030 characters
Position in segment : 040, Offset : 0906. external length : 000030
Use
Sold-to party number sent in by the customer in delivery schedules.
Use
The system uses this number to automatically determine the ship-to party.
Every thing good for ORDRE05 IN ECC6.0
Check your config settign related to Message type and idoc type.....once again.....
RR
Maybe you are looking for
-
My partner and I both have MACs She copied from CD our entire CD music collection and has turned on I-Cloud. I want to import her library to my MAC rather than copy all the CDs again. We have Home share on The Apple advice "In the Show menu at the bo
-
10.4.6 Update Caused Powerbook & eMac to stop booting up
Very strange problem. I installed 10.4.6 on two different computers at two different times. PowerBook G4 17" and emac G4. Soon thereafter the PowerBook started going into startup ****, that is the gray spinning timer would sit there for several HOURS
-
When using iSight with iChat on AOL or using the iSight with the Yahoo messenger, there is picture but no sound on either end. I can record video & sound on the computer so I know the camera and sound works on my computer. Where's the sound?
-
Generic document Search in ISA
Hello, Would anyone have details on extending the Generic Search for documents in CRM ISA 5.0? Any help would be greatly appreciated. Thanks, Rohini.
-
How can I download Flash Player 10.3.183.11 for my Mac OS 10.5.8
I tried to get to the archive software on your site to get Flash Player 10.3.183.11 for my Mac OS 10.5.8. It is not clickbable to download. Please help. Thank you