Open an xml file thru Abap
i have an excel that has always the same formating.
Especially is a form this Excel .
I want to be able to import it to a ztable that i have .
I thought that i could save the Excel as Xml file and then open it in SAP .
Can anyone give a hint ?
Points will be rewarded (as usual) !!!!
Dimath,
There are some FM to use to upload information from excel file to SAP - find this example:
REPORT Z_TEST_EXCEL .
TYPE-POOLS truxs.
tables : ZTABLE_TEST, KNA1.
types: begin of t_tab,
col1 type ZTABLE_TEST-KUNNR,
col2 type ZTABLE_TEST-NAME1,
col3 type ZTABLE_TEST-VORNA,
end of t_tab.
data : itab type standard table of t_tab,
wa type t_tab.
data it_type type truxs_t_text_data.
parameter p_file type rlgrap-filename.
data ttab type tabname.
at selection-screen on value-request for p_file.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
FIELD_NAME = 'P_FILE'
IMPORTING
FILE_NAME = p_file.
start-of-selection.
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
i_tab_raw_data = it_type
i_filename = p_file
tables
i_tab_converted_data = itab[]
EXCEPTIONS
CONVERSION_FAILED = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
end-of-selection.
ZTEST_TEST-KUNNR = wa-col1.
ZTEST_TEST-NAME1 = wa-col2.
ZTEST_TEST-STRAS = wa-col3.
ZTEST_TEST-ORT01 = wa-col5.
ZTEST_TEST-PSTLZ = wa-col4.
modify ZTEST_TEST.
hope that helps,
please reward if useful!
Similar Messages
-
Simple Transformation to deserialize an XML file into ABAP data structures?
I'm attempting to write my first simple transformation to deserialize
an XML file into ABAP data structures and I have a few questions.
My simple transformation contains code like the following
<tt:transform xmlns:tt="http://www.sap.com/transformation-templates"
xmlns:pp="http://www.sap.com/abapxml/types/defined" >
<tt:type name="REPORT" line-type="?">
<tt:node name="COMPANY_ID" type="C" length="10" />
<tt:node name="JOB_ID" type="C" length="20" />
<tt:node name="TYPE_CSV" type="C" length="1" />
<tt:node name="TYPE_XLS" type="C" length="1" />
<tt:node name="TYPE_PDF" type="C" length="1" />
<tt:node name="IS_NEW" type="C" length="1" />
</tt:type>
<tt:root name="ROOT2" type="pp:REPORT" />
<QueryResponse>
<tt:loop ref="ROOT2" name="line">
<QueryResponseRow>
<CompanyID>
<tt:value ref="$line.COMPANY_ID" />
</CompanyID>
<JobID>
<tt:value ref="$line.JOB_ID" />
</JobID>
<ExportTypes>
<tt:loop>
<ExportType>
I don't know what to do here (see item 3, below)
</ExportType>
</tt:loop>
</ExportTypes>
<IsNew>
<tt:value ref="$line.IS_NEW"
map="val(' ') = xml('false'), val('X') = xml('true')" />
</IsNew>
</QueryResponseRow>
</tt:loop>
</QueryResponse>
</tt:loop>
1. In a DTD, an element can be designated as occurring zero or one
time, zero or more times, or one or more times. How do I write the
simple transformation to accommodate these possibilities?
2. In trying to accommodate the "zero or more times" case, I am trying
to use the <tt:loop> instruction. It occurs several layers deep in the
XML hierarchy, but at the top level of the ABAP table. The internal
table has a structure defined in the ABAP program, not in the data
dictionary. In the simple transformation, I used <tt:type> and
<tt:node> to define the structure of the internal table and then
tried to use <tt:loop ref="ROOT2" name="line"> around the subtree that
can occur zero or more times. But every variation I try seems to get
different errors. Can anyone supply a working example of this?
3. Among the fields in the internal table, I've defined three
one-character fields named TYPE_CSV, TYPE_XLS, and TYPE_PDF. In the
XML file, I expect zero to three elements of the form
<ExportType exporttype='csv' />
<ExportType exporttype='xls' />
<ExportType exporttype='pdf' />
I want to set field TYPE_CSV = 'X' if I find an ExportType element
with its exporttype attribute set to 'csv'. I want to set field
TYPE_XLS = 'X' if I find an ExportType element with its exporttype
attribute set to 'xls'. I want to set field TYPE_PDF = 'X' if I find
an ExportType element with its exporttype attribute set to 'pdf'. How
can I do that?
4. For an element that has a value like
<ErrorCode>123</ErrorCode>
in the simple transformation, the sequence
<ErrorCode> <tt:value ref="ROOT1.CODE" /> </ErrorCode>
seems to work just fine.
I have other situations where the XML reads
<IsNew value='true' />
I wanted to write
<IsNew>
<tt:value ref="$line.IS_NEW"
map="val(' ') = xml('false'), val('X') = xml('true')" />
</IsNew>
but I'm afraid that the <tt:value> fails to deal with the fact that in
the XML file the value is being passed as the value of an attribute
(named "value"), rather than the value of the element itself. How do
you handle this?Try this code below:
data l_xml_table2 type table of xml_line with header line.
W_filename - This is a Path.
if w_filename(02) = '
open dataset w_filename for output in binary mode.
if sy-subrc = 0.
l_xml_table2[] = l_xml_table[].
loop at l_xml_table2.
transfer l_xml_table2 to w_filename.
endloop.
endif.
close dataset w_filename.
else.
call method cl_gui_frontend_services=>gui_download
exporting
bin_filesize = l_xml_size
filename = w_filename
filetype = 'BIN'
changing
data_tab = l_xml_table
exceptions
others = 24.
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif. -
Hi,
Is there any way to upload an XML file into ABAP WD?
I just saw a blog for Java WD.
<a href="/people/johann.marty/blog/2006/10/03/create-a-web-dynpro-tree-from-an-xml-file:///people/johann.marty/blog/2006/10/03/create-a-web-dynpro-tree-from-an-xml-file
Is there a similar facility in ABAP WD?
Regards,
Haresh.hey u can do this by using CALL Transformation id.. command..
here is the example code where i wrote this to convert it DATA to XML format...it may help u..
DATA : BEGIN OF l_xml_tab OCCURS 0,
a(100) TYPE c,
END OF l_xml_tab.
DATA : xml_out TYPE string .
DATA : lw_xml_tab LIKE LINE OF l_xml_tab.
XML
CALL TRANSFORMATION id "('ID')
SOURCE tab = gt_outtab[]
RESULT XML xml_out.
Convert to TABLE
CALL FUNCTION 'HR_EFI_CONVERT_STRING_TO_TABLE'
EXPORTING
i_string = xml_out
i_tabline_length = 100
TABLES
et_table = l_xml_tab.
OPEN DATASET p_lgfil1 FOR OUTPUT IN BINARY MODE.
LOOP AT l_xml_tab INTO lw_xml_tab.
TRANSFER lw_xml_tab TO p_lgfil1.
ENDLOOP.
CLOSE DATASET p_lgfil1. -
Creating an xml file from abap code
Hello All,
Please let me know which FM do I need to execute in order to create an XML file from my ABAP code ?
Thanks in advance,
Paul.This has been discussed before
XML files from ABAP programs -
Create XML file from ABAP with SOAP Details
Hi,
I am new to XML and I am not familiar with JAVA or Web Service. I have searched in SDN and googled for a sample program for creating XML document from ABAP with SOAP details. Unfortunately I couldn't find anything.
I have a requirement for creating an XML file from ABAP with SOAP details. I have the data in the internal table. There is a Schema which the client provided and the file generated from SAP should be validating against that Schema. Schema contains SOAP details like Envelope, Header & Body.
My question is can I generate the XML file using CALL TRANSFORMATION in SAP with the SOAP details?
I have tried to create Transformation (Transaction XSLT_TOOL) in SAP with below code. Also in CALL transformation I am not able to change the encoding to UTF-8. It's always show UTF-16.
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sap="http://www.sap.com/sapxsl" version="1.0">
<xsl:template match="/">
<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP:Header>
<CUNS:HeaderInfo>
<CUNS:InterfaceTypeId>10006</InterfaceTypeId>
<CUNS:BusinessPartnerID>11223344</BusinessPartnerID>
<CUNS:SchemaVersion>1.0</SchemaVersion>
<CUNS:DateTime>sy-datum</DateTime>
</CUNS:HeaderInfo>
</SOAP:Header>
<SOAP:Body>
<xsl:copy-of select="*"/>
</SOAP:Body>
</SOAP:Envelope>
</xsl:template>
</xsl:transform>
In ABAP program, I have written below code for calling above Transformation.
call transformation ('Z_ID')
source tab = im_t_output[]
result xml xml_out.
call function 'SCMS_STRING_TO_FTEXT'
exporting
text = xml_out
tables
ftext_tab = ex_t_xml_data.
Please help me how to generate XML file with SOAP details from ABAP. If anybody have a sample program, please share with me.
Is there any easy way to create the XML file in CALL Transformation. Please help.
ThanksTry ABAP forum, as it seems not to be PI related.
-
How to open and XML file?
Does anyone have a way on Mac to open an XML file for viewing. This can be done with WIN Excel and XML toolkit but doesn't exist for Mac Excel in Office 2008. I can open with TextEdit but would like to see the info with headers and cells without all the XML coding. Numbers 09 can't open it at all.
Numbers uses XML to build the description of the documents but it's not an XML editor.
A simple search in Google with the intricate key string xml editor AND mac return numerous interesting links.
Yvan KOENIG (VALLAURIS, France) vendredi 9 octobre 2009 11:33:27 -
How to open a XML file in internet explorer from labview
I need to open the xml file and see the content in the internet explorer through labview. clicking the button in labview front panel i need to see the same view as we double click the xml file as it open in internet explorer .
Hi parthipan,
you can use the "Open URL in Default Browser.vi".
Mike -
Error while opening the XML file
Hi all,
i'am trying to download data from internal table to XML file with root node and its
corresponding child nodes.i have written the program in this way.
tables: mara.
include bcciixml_decl.
include bcciixml_impl.
parameters: p_matnr like mara-matnr.
start-of-selection.
data: piXML type ref to if_ixml,
pDocument type ref to if_ixml_document,
pStreamFactory type ref to if_ixml_stream_factory,
pIStream type ref to if_ixml_istream,
pParser type ref to if_ixml_parser,
pNode type ref to if_ixml_node,
pText type ref to if_ixml_text,
string type string,
count type i,
index type i,
totalSize type i,
dsn(40) type C,
xstr type xstring.
types: begin of it_mara,
matnr like mara-matnr,
ernam like mara-ernam,
aenam like mara-aenam,
vpsta like mara-vpsta,
end of it_mara.
data: itab_mara type table of it_mara.
select matnr ernam aenam vpsta from mara into table itab_mara where
matnr = p_matnr.
types: begin of xml_line,
data(256) type X,
end of xml_line.
data: xml_table type table of xml_line.
parameters: filename like rlgrap-filename.
pixml = cl_ixml=>create( ).
*-- create the initial document
pDocument = pixml->create_document( ).
pStreamFactory = pixml->create_stream_factory( ).
*-- create an input stream for the table
*pIStream = pStreamFactory->create_istream_itable( table = xml_table
size = totalSize ).
pParser = piXML->create_parser( stream_factory = pStreamFactory
istream = pIStream
document = pDocument ).
data: pOStream type ref to if_ixml_ostream.
pOStream = pStreamFactory->create_ostream_itable( table = xml_table ).
call method pDocument->render( ostream = pOStream ).
*-- how many bytes were written to the table?
totalSize = pOStream->get_num_written_raw( ).
*-- write the XML document back to the frontend
concatenate filename '.out' into filename.
condense filename no-gaps.
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
BIN_FILESIZE = totalSize
FILENAME = filename
FILETYPE = 'BIN'
TABLES
DATA_TAB = itab_mara
EXCEPTIONS
OTHERS = 11
IF SY-SUBRC <> 0.
ENDIF.
*-- print the whole DOM tree as a list...
pNode = pDocument.
perform print_node using pNode.
FORM print_node *
form print_node using value(pNode) type ref to if_ixml_node.
data: indent type i.
data: pText type ref to if_ixml_text.
data: string type string.
indent = pNode->get_height( ) * 2.
case pnode->get_type( ).
when if_ixml_node=>co_node_element.
string = pNode->get_name( ).
write: at /indent '<', string, '> '.
when if_ixml_node=>co_node_text.
pText ?= pNode->query_interface( ixml_iid_text ).
if pText->ws_only( ) is initial.
string = pNode->get_value( ).
write: at /indent string.
endif.
endcase.
pNode = pNode->get_first_child( ).
while not pNode is initial.
perform print_node using pNode.
pNode = pNode->get_next( ).
endwhile.
endform.
but when open the XML file which i created on the desktop it shows the following error.
The XML page cannot be displayed
Cannot view XML input using style sheet. Please correct the error and then click the Refresh button, or try again later.
XML document must have a top level element. Error processing resource 'file:///C:/Documents and Settings/anilda/Desktop/sim...
how to rectify this error.
Regards,
satish.You are going to need to provide more details about this shell script file you are executing and the environment it is in. Beyond being on a Windows box, you have provided none of those details.
If the SQL statement will execute cleanly in SQLDeveloper but not your script, then the issue lies in the script. How do you know the error is that SQL statement? Can your script even "select * from dual;" successfully?
Also, SQLDeveloper (which I don't use) may contain its own libraries for accessing the DB. You probably should consider upgrading to a SQL*Plus client that is at least the same version or later as your database.
Note:
As I recall, xmlgen in 9.2 is now a synonym for dbms_xmlgen. You should change the package name accordingly [url http://docs.oracle.com/cd/B10501_01/appdev.920/a96612/d_xmlge2.htm#1010709]dbms_xmlgen.getXML -
i am trying to open an xml file from a URL.
i have been using the standard (i think!) xml suite, part of the System Events. is this possible? is this the best way? are there alternatives? any good tutorials of how to use it too?
the file i am trying to open is: http://www.tvrage.com/feeds/episode_list.php?sid=xxxx
where "xxxx" is a number of a show, e.g. 2930 is buffy
regards
jingo_manIt works!!
I used the URL and BufferedReader classes to fill the parser. Here's how:
// create a new object of type URL
URL xmlURL = new URL( "http://ServerName/DbName/PageName?OpenPage&username=myname&password=mypassword");
// Create the SAX2 parser
SAXParser saxParser = spf.newSAXParser();
xr = saxParser.getXMLReader();
// Set the ContentHandler
DefHandlerClass myHandler = new DefHandlerClass();
xr.setContentHandler( myHandler );
// read the URL stream into the BufferedReader
BufferedReader in = new BufferedReader( new InputStreamReader(xmlURL.openStream()));
// parse the document
xr.parse( new InputSource( in ) );
// close the input stream
in.close();
PjR -
Transforming XML File to abap structure
Hello,
I am working in a new project for making an input interface.
The problem to resolv is :
1>Reading an XML file on a unix Server
2>Transforming this file in abap structure with the instruction
call transformation.
Format of the input file :
<LISTEART>
<ART code="A01" label="Designation A01"/>
<ART code="A02" label="Designation A02"/>
<ART code="A03" label="Designation A03"/>
<ART code="A04" label="Designation A04"/>
<ART code="A05" label="Designation A05"/>
</LISTEART>
Format of the abap structure :
DATA : BEGIN OF ws_art,
code(4) TYPE c,
label(3) TYPE c,
END OF ws_art.
DATA : wt_art LIKE ws_art OCCURS 0 WITH HEADER LINE.
is it possible to transform the input file to an internal table
with the call transformation ?
CALL TRANSFORMATION transfo
SOURCE XML xml_string
RESULT para = result.
Somebody can explain me how to create links between xml file
and abap structure ?
with regards
JLuc Ledoux
[email protected]Hi,
try like this.
TYPES: BEGIN OF day,
name TYPE string,
work(1) TYPE c,
END OF day.
DATA: BEGIN OF week,
day1 TYPE day,
day2 TYPE day,
day3 TYPE day,
day4 TYPE day,
day5 TYPE day,
day6 TYPE day,
day7 TYPE day,
END OF week.
DATA xml_string TYPE string.
DATA result LIKE week.
week-day1-name = 'Monday'. week-day1-work = 'X'.
week-day2-name = 'Tuesday'. week-day2-work = 'X'.
week-day3-name = 'Wednesday'. week-day3-work = 'X'.
week-day4-name = 'Thursday'. week-day4-work = 'X'.
week-day5-name = 'Friday'. week-day5-work = 'X'.
week-day6-name = 'Saturday'. week-day6-work = ' '.
week-day7-name = 'Sunday'. week-day7-work = ' '.
CALL TRANSFORMATION ...
SOURCE root = week
RESULT XML xml_string.
CALL TRANSFORMATION ...
SOURCE XML xml_string
RESULT root = result.
Regards,
Vijay -
As opening an xml file in excel?
I can not open a xml file in excel, and I get a message that is not a valid spreadsheet, and if the same file can be opened from a normal machine, anyone know how?
altairdfdfdf wrote:
I can not open a xml file in excel, and I get a message that is not a valid spreadsheet,
It's not a spreadsheet, that is why.
Open it with TextEdit. -
Unable to open the XML files in Nakisa
Hi Gurus,
We are unable to open certain XML files in Nakisa. They show up as encrypted in the notepad or fail to open using the XML Marker. The files in question are
AppResources.xml
LoginConfiguration_SAP_Standard
LoginConfiguration_Anonymous
Purpose: We want to enable the SSO with the portal . We have checked the radio button but nakisa does not recognize the SSO ticket from the portal (Any folder in Nakisa where we need to place the Portal ticket?)
Also we want Nakisa to show the org chart for the logged in user. Luke had mentioned that some changes need to be made in the AppResources.xml (hope i correctly remember this) and we were looking to make these changes (rather try out.. any pointers please..?)
Thanks and Regards,
Arun E VHi Arun,
These files are encrypted. If your organisation is a partner with Nakisa you can obtain the decrypter from them.
Portal SSO works without any configuration directly in the XML files. If you are getting an error stating that the Portal ticket cannot be interpreted then your configuration is not correct. In your URL iView you need to ensure the fully qualified domain name (FQDN) is used for the application URL. In the Administrator Console you need to ensure you enter the system details (Host, Sys Nr and Client) for the backend system which holds your SSO ticket for that Portal. You need to use FQDN here too.
There is additional security configuration that can be done in the XML files but SSO will still work with just the Administrator Console configuration.
I hope that helps!
Luke -
Hello All,
There is a requirement for parsing of XML files to ABAP.
1.How do we pick an XML file from Application server and also from FTP server?
2.After picking the XML file how to parse that XML file to process it to create material master?Hi,
Ur scenario is File to R/3
For creating material master ..i guess there is IDoc named MATMAS.
U can make use of it and execute File to IDoc Scenario.
link for File to IDoc--
https://www.sdn.sap.com/irj/scn/wiki?path=/display/xi/fileToIDOC&
U need to pick XML file from FTP server...No need to parse XML file...just create data type which represents ur xml file structure and map it to IDoc fields.
regards,
Manisha -
Can´t Open Model XML file - URGENT
Hi all,
I have made a model in SQL Developer Data Modeling, and save it. Now when I open the xml file the model is empty, but the all the information about entities and relations are on the other directory xml files. I send the main xml and the whole directory for evaluation... Can you please help, its about 1 week work... :(
Regards,
Sérgio TeixeiraHello Sergio,
I'm sorry for your problems. I'll try to help you if you send me your design ( design xml file and directory with the same name).
I see that mail information is hidden in the forum. You can use feedback application http://apex.oracle.com/pls/otn/f?p=2306:101 to post the problem.
Best regards,
Philip -
How to open an .xml file
Attempting to open an *.xml file; unreadable.
Thanks for your reply. The file has been saved on my computer; it was created via Surgeon General's "My Family Health Portrait". It can be uploaded to that site, and, in fact, the data contained in the xml file can be printed from the site after editing. So, I suppose it becomes less important to open the xml file, since all the data will be contained on the site.
I did spend considerable time attempting to open the xml file in a readable format, e.g. as a web page on Firefox, and I am still curious as to whether that can be done. By the way, I can open it in a text editor, but rendering it into something easily readable seems to me to be an outsized task.
Maybe you are looking for
-
How to download a text file from the server
hi everyone, can anyone tell me how to download and read a text file from the server and saved in into resource folder. with regards pallavi
-
Stuck in infinite loop of dialog boxes
I dragged a directory into Final Cut Pro 6.0.2 and this is the chain of dialog boxes: "Please choose a translation document file." <OK> "Choose a File" <Cancel> (I can't hit <Choose> because I don't have a translation document file) "ERROR: No transl
-
Cannot start Managed server from NodeManager
Hello All, Software version installed:- Oracle Jdeveloper 11.1.1.7 Weblogic 10.3.6 RCU:- 11.1.1.7 SOA suite:-11.1.1.7 OSB 11.1.1.7 OS windows 7 ultimate 64 bit ===================== Sucessfully installed all the above software. I planned to install A
-
Hi guys! I have a dynamic sql report with apex_item popup from lov function. Everything works fine except pop up itself. When I clich this poup icon and select a vaule it appears in different row (example two rows down) and not in the row I've clicke
-
Can't see Collaboration Launch Pad iView
Dear All, I setup Collaboration Launch Pad as online help(Enable Collaboration Launch Pad property to true...) But I still can't see the iView Collaboration Launch Pad, do I miss any actions ? Thanks for your help in advance.