Read xml file to table
Hi guys
I m trying to read a very big xml file to a table indicator in a labview
I had tried both read from xml.vi and read from spreadsheet.
Either of them gives me a lot of problem.
Can anyone of u help? I have also browse the example but in vain.
Can i have an example plss... very simple one...
Hi sean1985,
here is an example, how you can create an xml string and read from it. I don´t write the string to a file or read from it, but this should be no problem.
Hope it helps.
Mike
Attachments:
Unbenannt 7_LV80.vi 13 KB
Similar Messages
-
Please recommend if we have options to read xml file and insert data into table without a temporary table.
DECLARE @data XML;
SET @data =N'<Root>
<List RecordID="946236" />
<List RecordID="946237" />
<List RecordID="946238" />
<List RecordID="946239" />
<List RecordID="946240" />
</Root>'
INSERT INTO t (id) SELECT T.customer.value('@RecordID', 'INT') AS id
FROM @data.nodes('Root/List')
AS T(customer);
Best Regards,Uri Dimant SQL Server MVP,
http://sqlblog.com/blogs/uri_dimant/
MS SQL optimization: MS SQL Development and Optimization
MS SQL Consulting:
Large scale of database and data cleansing
Remote DBA Services:
Improves MS SQL Database Performance
SQL Server Integration Services:
Business Intelligence -
Reading XML file from application server and put into internal table-4.6C
Dear All,
Is there any way of reading XML file from application server to SAP? I am using 4.6C. Function module SCMS_STRING_TO_XSTRING function module is not available. Please suggest.
Thanks and regards,
AtanuHi Atanu!
Simply use the XSLT transformation 'ID'.
FIELD-SYMBOLS <ls_result> TYPE ANY.
CREATE DATA lref_data TYPE (your_structure).
ASSIGN lref_data->* TO <ls_result>.
CALL TRANSFORMATION id
SOURCE XML xmlstr
RESULT result = <ls_result>.
"xmlstr" contains your XML file. Just read it into it via standard I/O operations. "<ls_result>" will contain your DDIC formatted content.
Best regards
Torsten -
FM to read XML files from Application server in ECC5.0
Hi All,
We need to pick up an XML file from Application server/FTP server. The requirement is to parse the XML file and process it to create material master. SAP provides standard function modules to read XML files.
Now we need to read the XML file contents of MM01 and upload into SAP Data Base through BAPI
I need to know about the Function modules to read XML files from Application Server and also about the FM's that will update the Date base tables with the data obtained form XML files.
Regards
PrathimaParsing XML data:
http://help.sap.com/saphelp_nw04/helpdata/en/86/8280ba12d511d5991b00508b6b8b11/frameset.htm
or alternatively check out ABAP online help for "CALL TRANSFORMATION".
For creating the material master look at BAPI_STANDARDMATERIAL_CREATE.
Thomas -
Read XML file from presentation server
Hi All,
I want read XML file from presentation server currently i am using GUI_UPLOAD fm . but it is reading some junk data.
DATA : BEGIN OF upl OCCURS 0,
f(255) TYPE c,
END OF upl.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = D:\XX.XML'
filetype = 'BIN'
TABLES
data_tab = upl.
is there any other alternative.
Thanks
Swarup,Hi Swarup,
Use method IMPORT_FROM_FILE of class CL_XML_DOCUMENT.
A sample code snippet :-
PARAMETERS: p_filnam TYPE localfile OBLIGATORY
DEFAULT 'C:\Documents and Settings\ssaha\Desktop\test.xml'.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_filnam.
DATA: l_v_fieldname TYPE dynfnam.
l_v_fieldname = p_filnam.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
field_name = l_v_fieldname
IMPORTING
file_name = p_filnam.
START-OF-SELECTION.
TYPES:
BEGIN OF ty_tab,
name TYPE string,
value TYPE string,
END OF ty_tab.
DATA:
lcl_xml_doc TYPE REF TO cl_xml_document,
v_subrc TYPE sysubrc,
v_node TYPE REF TO if_ixml_node,
v_child_node TYPE REF TO if_ixml_node,
v_root TYPE REF TO if_ixml_node,
v_iterator TYPE REF TO if_ixml_node_iterator,
v_nodemap TYPE REF TO if_ixml_named_node_map,
v_count TYPE i,
v_index TYPE i,
v_attr TYPE REF TO if_ixml_node,
v_name TYPE string,
v_prefix TYPE string,
v_value TYPE string,
v_char TYPE char2.
DATA:
itab TYPE STANDARD TABLE OF ty_tab,
wa TYPE ty_tab.
CREATE OBJECT lcl_xml_doc.
CALL METHOD lcl_xml_doc->import_from_file
EXPORTING
filename = p_filnam
RECEIVING
retcode = v_subrc.
CHECK v_subrc = 0.
v_node = lcl_xml_doc->m_document.
CHECK NOT v_node IS INITIAL.
v_iterator = v_node->create_iterator( ).
v_node = v_iterator->get_next( ).
WHILE NOT v_node IS INITIAL.
CASE v_node->get_type( ).
WHEN if_ixml_node=>co_node_element.
v_name = v_node->get_name( ).
v_nodemap = v_node->get_attributes( ).
IF NOT v_nodemap IS INITIAL
* attributes
v_count = v_nodemap->get_length( ).
DO v_count TIMES.
v_index = sy-index - 1.
v_attr = v_nodemap->get_item( v_index ).
v_name = v_attr->get_name( ).
v_prefix = v_attr->get_namespace_prefix( ).
v_value = v_attr->get_value( ).
ENDDO.
ENDIF.
WHEN if_ixml_node=>co_node_text OR
if_ixml_node=>co_node_cdata_section.
* text node
v_value = v_node->get_value( ).
MOVE v_value TO v_char.
IF v_char <> cl_abap_char_utilities=>cr_lf.
wa-name = v_name.
wa-value = v_value.
APPEND wa TO itab.
CLEAR wa.
ENDIF.
ENDCASE.
* advance to next node
v_node = v_iterator->get_next( ).
ENDWHILE.
LOOP AT itab INTO wa.
ENDLOOP.
Regards
Abhii -
Reading XML file using BAPI and then uploading that xml file data into SAP
I am getting a xml file from Java server. I need to take
data from this file using BAPI and need to upload into SAP using SAP.
Please tell me how to read XML files using BAPI's.<b>SDIXML_DATA_TO_DOM</b> Convert SAP data (elementary/structured/table types) into DOM (XML
<b>SDIXML_DOM_TO_XML</b> Convert DOM (XML) into string of bytes that can be downloaded to PC or application server
<b>SDIXML_DOM_TO_SCREEN</b> Display DOM (XML)
<b>SDIXML_DOM_TO_DATA</b>
data: it_table like t001 occurs 0.
data: l_dom TYPE REF TO IF_IXML_ELEMENT,
m_document TYPE REF TO IF_IXML_DOCUMENT,
g_ixml TYPE REF TO IF_IXML,
w_string TYPE XSTRING,
w_size TYPE I,
w_result TYPE I,
w_line TYPE STRING,
it_xml TYPE DCXMLLINES,
s_xml like line of it_xml,
w_rc like sy-subrc.
start-of-selection.
select * from t001 into table it_table.
end-of-selection.
initialize iXML-Framework ****
write: / 'initialiazing iXML:'.
class cl_ixml definition load.
g_ixml = cl_ixml=>create( ).
check not g_ixml is initial.
write: 'ok'.
create DOM from SAP data ****
write: / 'creating iXML doc:'.
m_document = g_ixml->create_document( ).
check not m_document is initial.
write: 'ok'.
write: / 'converting DATA TO DOM 1:'.
CALL FUNCTION 'SDIXML_DATA_TO_DOM'
EXPORTING
NAME = 'IT_TABLE'
DATAOBJECT = it_table[]
IMPORTING
DATA_AS_DOM = l_dom
CHANGING
DOCUMENT = m_document
EXCEPTIONS
ILLEGAL_NAME = 1
OTHERS = 2.
if sy-subrc = 0. write 'ok'.
else. write: 'Err =', sy-subrc.
endif.
check not l_dom is initial.
write: / 'appending DOM to iXML doc:'.
w_rc = m_document->append_child( new_child = l_dom ).
if w_rc is initial. write 'ok'.
else. write: 'Err =', w_rc.
endif.
visualize iXML (DOM) ****
write: / 'displaying DOM:'.
CALL FUNCTION 'SDIXML_DOM_TO_SCREEN'
EXPORTING
DOCUMENT = m_document
EXCEPTIONS
NO_DOCUMENT = 1
OTHERS = 2.
if sy-subrc = 0. write 'ok'.
else. write: 'Err =', sy-subrc.
endif.
convert DOM to XML doc (table) ****
write: / 'converting DOM TO XML:'.
CALL FUNCTION 'SDIXML_DOM_TO_XML'
EXPORTING
DOCUMENT = m_document
PRETTY_PRINT = ' '
IMPORTING
XML_AS_STRING = w_string
SIZE = w_size
TABLES
XML_AS_TABLE = it_xml
EXCEPTIONS
NO_DOCUMENT = 1
OTHERS = 2.
if sy-subrc = 0. write 'ok'.
else. write: 'Err =', sy-subrc.
endif.
write: / 'XML as string of size:', w_size, / w_string.
describe table it_xml lines w_result.
write: / 'XML as table of', w_result, 'lines:'..
loop at it_xml into s_xml.
write s_xml.
endloop.
write: / 'end of processing'.
end of code
Hope this will be useful.
regards
vinod -
Reading XML file using BAPI I must use adapters .
Reading XML file using BAPI and then uploading that xml file data into SAP using BDC.
I cant take file on to my Application server I am getting the file dynamically from other file server and I need to use BAPis to read data from XML file.please tell me what should be my Import,Export and Tables parameterrs should be.
ThanksHi,
Import, export and table parameters for BAPI is required, without that BAPI will not able to collect the data from XML. What you need to do is write a Zprogram and collect the data, store that data in internal table and call the BAPI by passing required parameters.
Different Scanarios:
1) Before calling a BAPI write some other program which collects the data from XML and create a UNIX file. Try to get the data from UNIX FILE
2) If you see the XML tags, data will be in side that tags, try to get the data from XML tags and store that data in one SAP table. You can use the BAPI by fetching the data from table
3)Create a table and store the data in the table. Use the table in SAP to extract the data.
BAPI won't work without any parameters, you have to pass some parameters then the BAPI will return some values.
Hope i am clear.
Thanks&Regards,
-Suresh Revuru -
I am reading XML file from unix using :
FORM read_file USING p_name.
DO.
READ DATASET p_name INTO WXML_LINE LENGTH LENG.
ENDDO.
Then I am using subroutine below where I get a short dump at
case X_NODE->get_type( ).
FORM get_data tables Y_CAPXML structure GV_CAPXML
using value(x_node) type ref to if_ixml_node.
data: INDENT type i.
data: PTEXT type ref to if_ixml_text.
data: STRING type string.
data: TEMP_STRING(100).
case X_NODE->get_type( ).
when if_ixml_node=>co_node_element.
STRING = X_NODE->get_name( ).
GV_NODETEXT = STRING.
when if_ixml_node=>co_node_text.
PTEXT ?= X_NODE->query_interface( IXML_IID_TEXT ).
if PTEXT->ws_only( ) is initial.
STRING = X_NODE->get_value( ).
case GV_NODETEXT.
when 'NIIN'.
move STRING to GV_CAPXML-NIIN.
when 'FED_x0020_STOCK_x0020_CLASS'.
move STRING to GV_CAPXML-fed_stock_class.
when 'DODIC'.
move STRING to GV_CAPXML-dodic.
endcase.
The text for the short dump is : STACK_STATE_NO_ROLL_MEMORY
Can someone please explain what is it mean.
Thanks.May be this blog can help:
<a href="/people/r.eijpe/blog/2005/11/21/xml-dom-processing-in-abap-part-ii--convert-an-xml-file-into-an-abap-table-using-sap-dom-approach for Blog</a>
Sri -
Hello,
I am trying to insert a XML file into the tables. When I read the XSU documentation, I saw a command line utility java OracleXML.
In a book I read, it said before one uses java OracleXML commmand line utility, the XML file has to be converted to another XML file using XSLT for OracleXMLSave to recognize the XML file. This was because OracleXMLSave will know to insert the XML file into the tables only if the XML was generated by OracleXMLquery.
But in the Oracle XML documentation, it didn't explicitly say anything about converting using XSLT to do the loading of the XML file into the tables. But the examples in the site used only the XML file which was generated from the tables to load them into the table again.
Please clarify me on this point.
Thanks a lot for your help.
RamaUsing the Oracle XML DB Webdav are is one method as it acts like a file system, but essentially get's the documents directly into the database so they can be queried through the resouce_view.
Other methods involve reading the file as if it's a CLOB and then using XMLTYPE constructor to change that CLOB to an XMLTYPE which can then be stored as that datatype in the database or processed as you need.
The best place to look is over in the XML DB forum, which has it's own FAQ detailing various best practices for all sort of XML stuff, including reading XML files and shredding them into relational tables etc.
{thread:id=410714}
Edited by: BluShadow on 18-Jan-2012 08:53
corrected link -
Reading XML Files from oracle 9i or in Oracle 10g
Hi all,
Can any body suggest how to write a stored procedure to read XML file content and insert into a table.
Thanking you in AdvanceI know I am blasphemous, but ....
We had a similar requirement: one file, each line was a "simple" xml doc corresponding to one db table record. The keyword here is "simple". We looked at the xml stuff, but decided that the easiest, best runtime performance, most extensible, easiest to maintain was:
use (sed|awk|perl) to convert xml to a flat file of fields, and then load the file with SQL*Loader. After all, loading flat files with many records is a job for SQL*Loader.
caveat: the xml in question was very simple and the same for all records:
timestamp|<log><id>1</id><ns>ns1</ns><prod/><cmd>order</cmd><result>ok</result><time>1813></time></log>
"your milage may vary"
-tom -
Load and Read XML file size more than 4GB
Hi All
My environment is Oracle 10.2.0.4 on Solaris and I have processes to work with XML file as below detail by PL/SQL
1. I read XML file over HTTP port into XMLTYPE column in table.
2. I read value no.1 from table and extract to insert into another table
On test db, everything is work but I got below error when I use production XML file
ORA-31186: Document contains too many nodes
Current XML size about 100MB but the procedure must support XML file size more than 4GB in the future.
Belows are some part of my code for your info.
1. Read XML by line into variable and insert into table
LOOP
UTL_HTTP.read_text(http_resp, v_resptext, 32767);
DBMS_LOB.writeappend (v_clob, LENGTH(v_resptext), v_resptext);
END LOOP;
INSERT INTO XMLTAB VALUES (XMLTYPE(v_clob));
2. Read cell value from XML column and extract to insert into another table
DECLARE
CURSOR c_xml IS
(SELECT trim(y.cvalue)
FROM XMLTAB xt,
XMLTable('/Table/Rows/Cells/Cell' PASSING xt.XMLDoc
COLUMNS
cvalue
VARCHAR(50)
PATH '/') y;
BEGIN
OPEN c_xml;
FETCH c_xml INTO v_TempValue;
<Generate insert statement into another table>
EXIT WHEN c_xml%NOTFOUND;
CLOSE c_xml;
END
And one more problem is performance issue when XML file is big, first step to load XML content to XMLTYPE column slowly.
Could you please suggest any solution to read large XML file and improve performance?
Thank you in advance.
HikoSee Mark Drake's (Product Manager Oracle XMLDB, Oracle US) response in this old post: ORA-31167: 64k size limit for XML node
The "in a future release" reference, means that this boundary 64K / node issue, was lifted in 11g and onwards...
So first of all, if not only due to performance improvements, I would strongly suggest to upgrade to a database version which is supported by Oracle, see My Oracle Support... In short Oracle 10.2.x was in extended support up to summer 2013, if I am not mistaken and is currently not supported anymore...
If you are able to able to upgrade, please use the much, much more performing XMLType Securefile Binary XML storage option, instead of the XMLType (Basicfile) CLOB storage option.
HTH -
Read XML file into stored procedure
hi to all, i have this stored procedure :
create or replace
PROCEDURE INSERTXML(
p_xml_in CLOB,
p_table IN VARCHAR2 ) AS
insCtx DBMS_XMLStore.ctxType;
v_rows NUMBER;
BEGIN
insCtx := DBMS_XMLStore.newContext(p_table); -- get saved context
dbms_xmlstore.setRowTag(insCtx,'Row');
DBMS_XMLStore.clearUpdateColumnList(insCtx); -- clear the update settings
-- set the columns to be updated as a list of values
DBMS_XMLStore.setUpdateColumn(insCtx,'ORDERNUMBER');
DBMS_XMLStore.setUpdateColumn(insCtx,'PLANT');
DBMS_XMLStore.setUpdateColumn(insCtx,'MATERIAL');
DBMS_XMLStore.setUpdateColumn(insCtx,'LINENUMBER');
DBMS_XMLStore.setUpdatecolumn(insCtx,'NOMSPEED');
DBMS_XMLStore.setUpdatecolumn(insCtx,'STARTDATE');
DBMS_XMLStore.setUpdatecolumn(insCtx,'FINISHDATE');
DBMS_XMLStore.setUpdatecolumn(insCtx,'TARGETQTY');
DBMS_XMLStore.setUpdatecolumn(insCtx,'UNIT');
DBMS_XMLStore.setUpdatecolumn(insCtx,'SYSTEMSTATUS');
v_rows := DBMS_XMLStore.insertXML(insCtx, p_xml_in);
-- Close the context
DBMS_XMLStore.closeContext(insCtx);
END;
that passes xml file and puts in table but SAP Mii have the limitation that the maximun value of strings is 4000..how can i pass this limitation?!?! someone have some ideia?!?!...i have now to read XML file to stored procedure...could someone help me??
regards and thanks in advancehello Michael thanks for your help but appear to me some strange errors, i created this package in Oracle SQL Developer...
create or replace PACKAGE PACKAGE_XML AS
type return_cur IS ref CURSOR;
procedure INSERTXML4(
xmlDoc IN CLOB,
tableName IN VARCHAR2,
myRC IN OUT return_cur
END PACKAGE_XML;
and compile and everthing is ok, then i changed my SP and it looks like this:
create or replace PROCEDURE INSERTXML4
(xmlDoc in CLOB, tableName in VARCHAR2, refcur in out package_xml.return_cur)
AS
insCtx dbms_xmlsave.ctxType;
rowcnt number;
BEGIN
insCtx := dbms_xmlsave.newContext(tableName);
dbms_xmlsave.setignorecase(insCtx,1);
rowcnt := dbms_xmlsave.insertxml(insCtx, xmlDoc);
dbms_xmlsave.closecontext(insCtx);
OPEN refcur FOR SELECT rowcnt AS cnt FROM dual;
END INSERTXML4;
but i cant compile...it throws this errors:
Error(5,10): PLS-00201: identifier 'DBMS_XMLSAVE.CTXTYPE' must be declared
Error(5,10): PL/SQL: Item ignored
Error(8,3): PLS-00320: the declaration of the type of this expression is incomplete or malformed
Error(8,3): PL/SQL: Statement ignored
Error(9,3): PL/SQL: Statement ignored
Error(9,30): PLS-00320: the declaration of the type of this expression is incomplete or malformed
Error(10,3): PL/SQL: Statement ignored
Error(10,13): PLS-00201: identifier 'DBMS_XMLSAVE.INSERTXML' must be declared
Error(11,3): PL/SQL: Statement ignored
Error(11,29): PLS-00320: the declaration of the type of this expression is incomplete or malformed
do you could help..
regards
Mário -
Help needed badly Insert text data from xml files into tables
Hi all, I have asked to do insertion of text from a xml file into tables upon receiving using pro*c. i've done quite an amount of research on xml parser in c but there wasn't much information for mi to use for implementation...
Guys don't mind helping me to clarify few doubts of mine...
1. Where can i get the oracle xml parser libs? Is it included when i installed oracle 8i?
2. Is there any tutorials or help files for xml parser libs where i can read up?
I need the xml parser to recognise the tags, followed by recognising the text after the tags.
eg. xml format
<studentID> 0012 </studentID>
<student> john </student>
<studentID> 0013 </studentID>
<student> mary </student>
text willl be inserted into tables like this:
studentID | student
0012 | john
0013 | mary
by the way i'm using oracle 8i on HP-UX. Thanks in advance.I can answer one of of your questions at least
1. Where can i get the oracle xml parser libs? Is it included when i installed oracle 8i?You need the XML XDK. You can use http://www.oracle.com/technology/tech/xml/xdkhome.html as your starting point. I believe the 9i version works for 8i.
I have no pro*c experience so I can't offer any other suggestions regarding how to do this in pro*c. -
Function module to read xml files from application server
Hi experts,
I need to read xml files from application server to sap. Is the any siutable function moldule for that?Hi Cenosure,
Donno about FM which will upload data directly to SAP, I think you have to do some mapping for it so that it will suit the SAP format. Again it depends on your requirement..
Please elaborate more about your requirement.
Please have a look on below FM
TEXT_CONVERT_XML_TO_SAP
Also search on SCN there are many threads on the same topic available.
http://abapreports.blogspot.com/2008/09/upload-xml-file-from-application-server.html
This is the link which will give you the Code
http://www.geocities.com/rmtiwari/Resources/MySolutions/Dev/Codes/Report/Z_RMTIWARI_XML_TO_ABAP_46C.html
Use this XML file to Upload the same, this Program will work for your XML file also,
http://www.geocities.com/rmtiwari/Resources/MySolutions/Dev/Codes/Report/input_xml.xml
See the below thread also
Upload XML to internal table and vice versa in SAP 4.6C
Hope it will solve your problem..
Thanks & Regards
ilesh 24x7
ilesh Nandaniya -
Insert the record from XML file to Tables.
Hi guys,
I ill be getting the XML file from FRONT-END.It ill be stored one permanent location(Directory).I need to Insert the data to the corresponding table.Anybody knows Pls give some suggestion for this.......
Regards....
GKMUsing the Oracle XML DB Webdav are is one method as it acts like a file system, but essentially get's the documents directly into the database so they can be queried through the resouce_view.
Other methods involve reading the file as if it's a CLOB and then using XMLTYPE constructor to change that CLOB to an XMLTYPE which can then be stored as that datatype in the database or processed as you need.
The best place to look is over in the XML DB forum, which has it's own FAQ detailing various best practices for all sort of XML stuff, including reading XML files and shredding them into relational tables etc.
{thread:id=410714}
Edited by: BluShadow on 18-Jan-2012 08:53
corrected link
Maybe you are looking for
-
Photoshop Elements 7 files from pc to Photoshop Elements 13 on a mac?
I have loads of Photoshop Elements 7 .psd files and my catalogue on my old Windows based pc which I want to copy across to Photoshop Elements 13 on my new mac. How do I do this? Please tell me it's easy! I'm new to the mac so please don't assume even
-
AIR application not appearing in GotoMeeting Session
I was demo-ing an AIR application last Friday, but the group that was on the GotoMeeting session was not a able to see the app. That particular desktop window was not being transmitted. I've also noticed a similar issue when trying to screen capture
-
Zygna screens are half the size as normal how do i set this to be full screen
only in facebook mafia wars,cafe world frontierville the screen comes up in very small size like 1/4 of normal
-
Safari will not let me sign in to Yahoo mail??
Its been a few months that Safari will not allow me to sign in to my Yahoo account and ever other website I try to launch seems really sluggish. What can I do? I an not at all tech-savvy. Ran a Norton anti-virus but all seems ok? Can you help?
-
Repairing Disc Permissions gets stuck
Hi, I have only just started using 'Repair disk permissions' recently not being aware that I needed to do that after downloading upgrades of programs. I've tried running it on my hard drive a few times and it gets stuck each time. I have to force it