<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Storing XML in a database table - string or xstring? in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/storing-xml-in-a-database-table-string-or-xstring/m-p/1960400#M394884</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi-&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am writing a program that needs to upload an xml file and store the raw contents in a database table.  What are the relative merits of storing the xml contents as binary or just a regular string?  Is there any better way of storing it?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tristan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 13 Feb 2007 09:15:06 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-02-13T09:15:06Z</dc:date>
    <item>
      <title>Storing XML in a database table - string or xstring?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/storing-xml-in-a-database-table-string-or-xstring/m-p/1960400#M394884</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi-&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am writing a program that needs to upload an xml file and store the raw contents in a database table.  What are the relative merits of storing the xml contents as binary or just a regular string?  Is there any better way of storing it?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tristan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Feb 2007 09:15:06 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/storing-xml-in-a-database-table-string-or-xstring/m-p/1960400#M394884</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-02-13T09:15:06Z</dc:date>
    </item>
    <item>
      <title>Re: Storing XML in a database table - string or xstring?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/storing-xml-in-a-database-table-string-or-xstring/m-p/1960401#M394885</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI Tristan,&lt;/P&gt;&lt;P&gt; Is there any specific reason for storing the file data in a database table? XML data will typically have a lot of tags, which doesn't contain the data but have the meta data in them which will be common for all the records. &lt;/P&gt;&lt;P&gt;I think it is better to store the data in the application server only in normal string format.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Ravi&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Feb 2007 09:18:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/storing-xml-in-a-database-table-string-or-xstring/m-p/1960401#M394885</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-02-13T09:18:12Z</dc:date>
    </item>
    <item>
      <title>Re: Storing XML in a database table - string or xstring?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/storing-xml-in-a-database-table-string-or-xstring/m-p/1960402#M394886</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is the sample code to store the xml file into ABAP DB table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;First create a table called YTEST_BIN with following fileds.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Filed Nmae      Data Elemen     type       &lt;/P&gt;&lt;P&gt;MANDT	        MANDT 	        CLNT 	  &lt;/P&gt;&lt;P&gt;DESCRIPTION	HTTPBODY	RAWSTRING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now create a program to read the XML file from your desktop and load it into the table. &lt;/P&gt;&lt;P&gt;Below given is the code for loading the table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  y_store_xml.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;DATA: wf_filetab TYPE filetable .&lt;/P&gt;&lt;P&gt;DATA: wf_filerc TYPE i ,&lt;/P&gt;&lt;P&gt;      wf_filename TYPE string ,&lt;/P&gt;&lt;P&gt;      wf_path TYPE string ,&lt;/P&gt;&lt;P&gt;      wf_full_path TYPE string ,&lt;/P&gt;&lt;P&gt;      wf_file_length TYPE i .&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;DATA: wf_extension TYPE string ,&lt;/P&gt;&lt;P&gt;      wf_fname TYPE string .&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF int_tab1 OCCURS  0,&lt;/P&gt;&lt;P&gt;        int_txt(1000) TYPE x ,&lt;/P&gt;&lt;P&gt;      END OF int_tab1.&lt;/P&gt;&lt;P&gt;DATA: upd_tab TYPE STANDARD TABLE OF ytest_bin .&lt;/P&gt;&lt;P&gt;DATA: wa_upd_tab LIKE LINE OF upd_tab .&lt;/P&gt;&lt;P&gt;DATA: temp_xstring TYPE xstring .&lt;/P&gt;&lt;P&gt;PARAMETERS: p_file LIKE file_table-filename LOWER CASE  VISIBLE LENGTH 80  .&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file .&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  PERFORM browse_file CHANGING p_file .&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON p_file .&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  IF p_file IS INITIAL .&lt;/P&gt;&lt;P&gt;    MESSAGE e398(00) WITH&lt;/P&gt;&lt;P&gt;       'Enter Filename and path' .&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;START-OF-SELECTION .&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  CLEAR wf_filename .&lt;/P&gt;&lt;P&gt;  MOVE: p_file TO wf_filename .&lt;/P&gt;&lt;P&gt;  PERFORM load_file USING wf_filename .&lt;/P&gt;&lt;P&gt;  PERFORM save_file_contents .&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  browse_file&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_P_FILE  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM browse_file  CHANGING p_p_file.&lt;/P&gt;&lt;P&gt;  CLEAR wf_filename .&lt;/P&gt;&lt;P&gt;  CALL METHOD cl_gui_frontend_services=&amp;gt;file_open_dialog&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      window_title            = 'Select the File'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   DEFAULT_EXTENSION       = cl_gui_frontend_services=&amp;gt;FILETYPE_TEXT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   DEFAULT_FILENAME        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    FILE_FILTER             = cl_gui_frontend_services=&amp;gt;FILETYPE_EXCEL&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   INITIAL_DIRECTORY       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MULTISELECTION          =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      file_table              = wf_filetab&lt;/P&gt;&lt;P&gt;      rc                      = wf_filerc&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   USER_ACTION             =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      file_open_dialog_failed = 1&lt;/P&gt;&lt;P&gt;      cntl_error              = 2&lt;/P&gt;&lt;P&gt;      error_no_gui            = 3&lt;/P&gt;&lt;P&gt;      not_supported_by_gui    = 4&lt;/P&gt;&lt;P&gt;      OTHERS                  = 5&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e398(00) WITH 'Error Opening File' .&lt;/P&gt;&lt;P&gt;  ELSE .&lt;/P&gt;&lt;P&gt;    READ TABLE wf_filetab INDEX 1 INTO p_file .&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ENDFORM.                    " browse_file&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  load_file&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_WF_FILENAME  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM load_file  USING    p_wf_filename.&lt;/P&gt;&lt;P&gt;  CLEAR int_tab1 .&lt;/P&gt;&lt;P&gt;  REFRESH int_tab1 .&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      filename                      = p_wf_filename&lt;/P&gt;&lt;P&gt;      filetype                      = 'BIN'&lt;/P&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;P&gt;   filelength                    = wf_file_length&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  HEADER                        =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      data_tab                      = int_tab1&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     file_open_error               = 1&lt;/P&gt;&lt;P&gt;     file_read_error               = 2&lt;/P&gt;&lt;P&gt;     no_batch                      = 3&lt;/P&gt;&lt;P&gt;     gui_refuse_filetransfer       = 4&lt;/P&gt;&lt;P&gt;     invalid_type                  = 5&lt;/P&gt;&lt;P&gt;     no_authority                  = 6&lt;/P&gt;&lt;P&gt;     unknown_error                 = 7&lt;/P&gt;&lt;P&gt;     bad_data_format               = 8&lt;/P&gt;&lt;P&gt;     header_not_allowed            = 9&lt;/P&gt;&lt;P&gt;     separator_not_allowed         = 10&lt;/P&gt;&lt;P&gt;     header_too_long               = 11&lt;/P&gt;&lt;P&gt;     unknown_dp_error              = 12&lt;/P&gt;&lt;P&gt;     access_denied                 = 13&lt;/P&gt;&lt;P&gt;     dp_out_of_memory              = 14&lt;/P&gt;&lt;P&gt;     disk_full                     = 15&lt;/P&gt;&lt;P&gt;     dp_timeout                    = 16&lt;/P&gt;&lt;P&gt;     OTHERS                        = 17&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e398(00) WITH 'File may be open - Error loading' .&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ENDFORM.                    " load_file&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  save_file_contents&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM save_file_contents .&lt;/P&gt;&lt;P&gt;  CLEAR :wa_upd_tab , temp_xstring .&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  LOOP AT int_tab1 .&lt;/P&gt;&lt;P&gt;    CONCATENATE temp_xstring int_tab1-int_txt  INTO temp_xstring  IN BYTE MODE.&lt;/P&gt;&lt;P&gt;  ENDLOOP .&lt;/P&gt;&lt;P&gt;  IF NOT temp_xstring IS INITIAL .&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="7" type="ul"&gt;&lt;P&gt;optional&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        CALL METHOD cl_abap_gzip=&amp;gt;compress_binary&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            raw_in   = temp_xstring&lt;/P&gt;&lt;P&gt;          IMPORTING&lt;/P&gt;&lt;P&gt;            gzip_out = wa_upd_tab-description.&lt;/P&gt;&lt;P&gt;      CATCH cx_parameter_invalid_range .&lt;/P&gt;&lt;P&gt;      CATCH cx_sy_buffer_overflow .&lt;/P&gt;&lt;P&gt;      CATCH cx_sy_compression_error .&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    APPEND wa_upd_tab TO upd_tab .&lt;/P&gt;&lt;P&gt;  ENDIF .&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  IF NOT upd_tab IS INITIAL .&lt;/P&gt;&lt;P&gt;    MODIFY ytest_bin FROM TABLE upd_tab .&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0 .&lt;/P&gt;&lt;P&gt;      MESSAGE i398(00) WITH wf_filename ` Saved!`.&lt;/P&gt;&lt;P&gt;    ENDIF .&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " save_file_contents&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Vasanth&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Feb 2007 09:19:02 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/storing-xml-in-a-database-table-string-or-xstring/m-p/1960402#M394886</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-02-13T09:19:02Z</dc:date>
    </item>
  </channel>
</rss>

