<?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 Dump OBJECTS_MOVE_NOT_SUPPORTED reported. in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/dump-objects-move-not-supported-reported/m-p/8395303#M1644234</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi ABAPERs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Due to I need to read the content of a file which record lenght depends on a value contained in a table, I've implemented the following code (let's say lenght for this record is 72):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
  DATA: l_o_table_line TYPE REF TO data,
        l_o_table      TYPE REF TO data,
        l_long_reg     TYPE        i,
        l_index_table  TYPE        i.

  FIELD-SYMBOLS: &amp;lt;fs_table_line&amp;gt; TYPE ANY,
                 &amp;lt;fs_table&amp;gt;      TYPE STANDARD TABLE.


          CLEAR: l_o_table_line,
                 l_o_table,
                 l_long_reg.
          l_long_reg = 82.

          CREATE DATA l_o_table_line TYPE c LENGTH l_long_reg.
          ASSIGN l_o_table_line-&amp;gt;* TO &amp;lt;fs_linea_tabla&amp;gt;.

          CREATE DATA l_o_table LIKE STANDARD TABLE OF l_o_table_line.
          ASSIGN l_o_table-&amp;gt;* TO &amp;lt;fs_table&amp;gt;.

* Read the content from the APP Server File
          REFRESH &amp;lt;fs_table&amp;gt;.
          TRY.
              OPEN DATASET d_filename FOR INPUT
                           IN TEXT MODE
                           ENCODING DEFAULT IGNORING CONVERSION ERRORS.
            CATCH cx_root INTO l_o_cx.
              l_mens_error = l_o_cx-&amp;gt;get_text( ).
          ENDTRY.
          IF l_mens_error IS INITIAL.
            DO.
              CLEAR &amp;lt;fs_table_line&amp;gt;.
              READ DATASET d_filename INTO &amp;lt;fs_table_line&amp;gt;.
              IF sy-subrc IS INITIAL.
                APPEND &amp;lt;fs_table_line&amp;gt; TO &amp;lt;fs_table&amp;gt;.
              ELSE.
                EXIT.
              ENDIF.
            ENDDO.
            CLOSE DATASET d_filename.
          ENDIF.

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When I execute this code, a dump is being generated in line "APPEND &amp;lt;fs_table_line&amp;gt; TO &amp;lt;fs_table&amp;gt; with this info:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;OBJECTS_MOVE_NOT_SUPPORTED&lt;/P&gt;&lt;P&gt;Conversion of type "C" to "l" is not Supported.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any keys to solve this problem? Does anyone find a problem in either data definion or creation?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kind Regards.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 06 Nov 2011 22:06:47 GMT</pubDate>
    <dc:creator>SantiMoreno</dc:creator>
    <dc:date>2011-11-06T22:06:47Z</dc:date>
    <item>
      <title>Dump OBJECTS_MOVE_NOT_SUPPORTED reported.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dump-objects-move-not-supported-reported/m-p/8395303#M1644234</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi ABAPERs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Due to I need to read the content of a file which record lenght depends on a value contained in a table, I've implemented the following code (let's say lenght for this record is 72):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
  DATA: l_o_table_line TYPE REF TO data,
        l_o_table      TYPE REF TO data,
        l_long_reg     TYPE        i,
        l_index_table  TYPE        i.

  FIELD-SYMBOLS: &amp;lt;fs_table_line&amp;gt; TYPE ANY,
                 &amp;lt;fs_table&amp;gt;      TYPE STANDARD TABLE.


          CLEAR: l_o_table_line,
                 l_o_table,
                 l_long_reg.
          l_long_reg = 82.

          CREATE DATA l_o_table_line TYPE c LENGTH l_long_reg.
          ASSIGN l_o_table_line-&amp;gt;* TO &amp;lt;fs_linea_tabla&amp;gt;.

          CREATE DATA l_o_table LIKE STANDARD TABLE OF l_o_table_line.
          ASSIGN l_o_table-&amp;gt;* TO &amp;lt;fs_table&amp;gt;.

* Read the content from the APP Server File
          REFRESH &amp;lt;fs_table&amp;gt;.
          TRY.
              OPEN DATASET d_filename FOR INPUT
                           IN TEXT MODE
                           ENCODING DEFAULT IGNORING CONVERSION ERRORS.
            CATCH cx_root INTO l_o_cx.
              l_mens_error = l_o_cx-&amp;gt;get_text( ).
          ENDTRY.
          IF l_mens_error IS INITIAL.
            DO.
              CLEAR &amp;lt;fs_table_line&amp;gt;.
              READ DATASET d_filename INTO &amp;lt;fs_table_line&amp;gt;.
              IF sy-subrc IS INITIAL.
                APPEND &amp;lt;fs_table_line&amp;gt; TO &amp;lt;fs_table&amp;gt;.
              ELSE.
                EXIT.
              ENDIF.
            ENDDO.
            CLOSE DATASET d_filename.
          ENDIF.

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When I execute this code, a dump is being generated in line "APPEND &amp;lt;fs_table_line&amp;gt; TO &amp;lt;fs_table&amp;gt; with this info:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;OBJECTS_MOVE_NOT_SUPPORTED&lt;/P&gt;&lt;P&gt;Conversion of type "C" to "l" is not Supported.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any keys to solve this problem? Does anyone find a problem in either data definion or creation?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kind Regards.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 06 Nov 2011 22:06:47 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dump-objects-move-not-supported-reported/m-p/8395303#M1644234</guid>
      <dc:creator>SantiMoreno</dc:creator>
      <dc:date>2011-11-06T22:06:47Z</dc:date>
    </item>
    <item>
      <title>Re: Dump OBJECTS_MOVE_NOT_SUPPORTED reported.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dump-objects-move-not-supported-reported/m-p/8395304#M1644235</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi again.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've found a similar forum post, but the difference in my problem is that in the older post, the table line type is known when the table is created, and here, I need to know the type of record before creating the table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kind Regards.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 06 Nov 2011 22:17:15 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dump-objects-move-not-supported-reported/m-p/8395304#M1644235</guid>
      <dc:creator>SantiMoreno</dc:creator>
      <dc:date>2011-11-06T22:17:15Z</dc:date>
    </item>
    <item>
      <title>Re: Dump OBJECTS_MOVE_NOT_SUPPORTED reported.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dump-objects-move-not-supported-reported/m-p/8395305#M1644236</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Solved problem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've created the table with the following code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
    CREATE DATA l_o_table_line TYPE c LENGHT l_long_ref.
    ASSIGN l_o_table_line-&amp;gt;* to &amp;lt;fs_table_line&amp;gt;.

    CREATE DATA l_o_table LIKE STANDARD TABLE OF &amp;lt;fs_table_line&amp;gt;
                                             WITH KEY table_line.
    ASSIGN l_o_table-&amp;gt;* to &amp;lt;fs_table&amp;gt;.   
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now, when I perform an &lt;STRONG&gt;INSERT &amp;lt;fs_table_line&amp;gt; INTO &amp;lt;fs_table&amp;gt; INDEX ...&lt;/STRONG&gt; no dump is triggered.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kind Regards and hope this could help anyone.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 06 Nov 2011 23:15:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dump-objects-move-not-supported-reported/m-p/8395305#M1644236</guid>
      <dc:creator>SantiMoreno</dc:creator>
      <dc:date>2011-11-06T23:15:53Z</dc:date>
    </item>
    <item>
      <title>Re: Dump OBJECTS_MOVE_NOT_SUPPORTED reported.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dump-objects-move-not-supported-reported/m-p/8395306#M1644237</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Santiago,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A few comments about your code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;This is not required&lt;/STRONG&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt; CLEAR: l_o_table_line,
             l_o_table,
             l_long_reg. &lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;This is not required&lt;/STRONG&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt; REFRESH &amp;lt;fs_table&amp;gt;.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;This is incorrect way to handle exception for open dataset&lt;/STRONG&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
TRY.
              OPEN DATASET d_filename FOR INPUT
                           IN TEXT MODE
                           ENCODING DEFAULT IGNORING CONVERSION ERRORS.
            CATCH cx_root INTO l_o_cx.
              l_mens_error = l_o_cx-&amp;gt;get_text( ).
          ENDTRY.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;The correct way to handle exception should be&lt;/STRONG&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
* App server processing
      OPEN DATASET iv_filename FOR INPUT IN TEXT MODE
        ENCODING DEFAULT IGNORING CONVERSION ERRORS
          WITH SMART LINEFEED MESSAGE lv_error.

      IF sy-subrc NE 0.
        MESSAGE e000 WITH text-e02 iv_filename text-e03 lv_error INTO lv_dummy.
        RAISE read_error.
      ENDIF.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Finally I'm not sure about the last part of your logic but I think your intention is to read a dataset and build an internal table from it dynamically i.e. the structure of the data is only know at run-time. I had developed a similar static method which works fine in our productive system for some time now - below is the code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Definition&lt;/STRONG&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
    CLASS-METHODS format_rawdata
      IMPORTING
        value(it_rawdata) TYPE string_table
        !iv_delimiter TYPE abap_char1 DEFAULT ','
      CHANGING
        !ct_formatted_data TYPE STANDARD TABLE .
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Implementation&lt;/STRONG&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
METHOD format_rawdata.

*************************************************************
* Author:  Sougata Chatterjee
* Date:    16/05/2011
* Purpose: Format Raw Data into ANY internal table structure
* Reason:  Development of Reusable Cross Application Objects
*************************************************************

  FIELD-SYMBOLS:
    &amp;lt;ls_rawdata&amp;gt;    TYPE string,
    &amp;lt;ls_string&amp;gt;     TYPE string,
    &amp;lt;ls_data&amp;gt;       TYPE ANY,
    &amp;lt;l_struc_field&amp;gt; TYPE ANY.

  DATA:
    lt_stringtab    TYPE string_table,
    ls_data         TYPE REF TO data.

  CREATE DATA ls_data LIKE LINE OF ct_formatted_data.
  ASSIGN ls_data-&amp;gt;* TO &amp;lt;ls_data&amp;gt;.

  LOOP AT it_rawdata ASSIGNING &amp;lt;ls_rawdata&amp;gt;.
    CLEAR:
      lt_stringtab,
      &amp;lt;ls_data&amp;gt;.
    SPLIT &amp;lt;ls_rawdata&amp;gt; AT iv_delimiter INTO TABLE lt_stringtab.
    DO.
      READ TABLE lt_stringtab ASSIGNING &amp;lt;ls_string&amp;gt; INDEX sy-index.
      IF sy-subrc &amp;lt;&amp;gt; 0.
        EXIT.
      ELSE.
        ASSIGN COMPONENT sy-tabix OF STRUCTURE &amp;lt;ls_data&amp;gt;  TO &amp;lt;l_struc_field&amp;gt;.
        &amp;lt;l_struc_field&amp;gt; = &amp;lt;ls_string&amp;gt;.
      ENDIF.
    ENDDO.
    APPEND &amp;lt;ls_data&amp;gt; TO ct_formatted_data.
  ENDLOOP.

ENDMETHOD.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Sougata.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 06 Nov 2011 23:25:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dump-objects-move-not-supported-reported/m-p/8395306#M1644237</guid>
      <dc:creator>Sougata</dc:creator>
      <dc:date>2011-11-06T23:25:32Z</dc:date>
    </item>
    <item>
      <title>Re: Dump OBJECTS_MOVE_NOT_SUPPORTED reported.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dump-objects-move-not-supported-reported/m-p/8395307#M1644238</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;STRONG&gt;This is incorrect way to handle exception for open dataset&lt;/STRONG&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;TRY.
              OPEN DATASET d_filename FOR INPUT
                           IN TEXT MODE
                           ENCODING DEFAULT IGNORING CONVERSION ERRORS.
            CATCH cx_root INTO l_o_cx.
              l_mens_error = l_o_cx-&amp;gt;get_text( ).
          ENDTRY.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;The correct way to handle exception should be&lt;/STRONG&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;* App server processing
      OPEN DATASET iv_filename FOR INPUT IN TEXT MODE
        ENCODING DEFAULT IGNORING CONVERSION ERRORS
          WITH SMART LINEFEED MESSAGE lv_error.
 
      IF sy-subrc NE 0.
        MESSAGE e000 WITH text-e02 iv_filename text-e03 lv_error INTO lv_dummy.
        RAISE read_error.
      ENDIF.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hello Sougata,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The way OP is handling the exceptions is correct. Why do you say otherwise, any specifics?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BR,&lt;/P&gt;&lt;P&gt;Suhas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 Nov 2011 04:59:02 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dump-objects-move-not-supported-reported/m-p/8395307#M1644238</guid>
      <dc:creator>SuhaSaha</dc:creator>
      <dc:date>2011-11-07T04:59:02Z</dc:date>
    </item>
    <item>
      <title>Re: Dump OBJECTS_MOVE_NOT_SUPPORTED reported.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dump-objects-move-not-supported-reported/m-p/8395308#M1644239</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Suhas,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. You can try putting the cursor on OPEN DATASET statement then hit F1. After that please click on the link &lt;STRONG&gt;error_handling&lt;/STRONG&gt; which will then list the best practices for exception handling on OPEN DATASET command.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. If you still are in disbelief, you can debug through the small program I've written below for you and find out for yourself that the TRY-CATCH block is practically useless for e.g. when the file could not be found to be opened for read/write.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
REPORT  zsctest NO STANDARD PAGE HEADING.

DATA:
  lo_cx TYPE REF TO cx_root,
  lv_error TYPE string,
  lv_file TYPE localfile VALUE '/FOLDER/I DO NOT EXIST.txt'.

START-OF-SELECTION.

  BREAK-POINT.

  TRY.
      OPEN DATASET lv_file FOR INPUT
        IN TEXT MODE
        ENCODING DEFAULT IGNORING CONVERSION ERRORS.
    CATCH cx_root INTO lo_cx.
      lv_error = lo_cx-&amp;gt;get_text( ).
  ENDTRY.

END-OF-SELECTION.

  WRITE: 'Sy-Subrc = ', sy-subrc.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this reinstates the fact the Santiago's exception handling is incorrect for OPEN DATASET as I had stated earlier.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Sougata.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 Nov 2011 05:33:54 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dump-objects-move-not-supported-reported/m-p/8395308#M1644239</guid>
      <dc:creator>Sougata</dc:creator>
      <dc:date>2011-11-07T05:33:54Z</dc:date>
    </item>
    <item>
      <title>Re: Dump OBJECTS_MOVE_NOT_SUPPORTED reported.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dump-objects-move-not-supported-reported/m-p/8395309#M1644240</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for the info.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'll check carefully your code to determine whether I can use any.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kind Regards.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 Nov 2011 06:08:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dump-objects-move-not-supported-reported/m-p/8395309#M1644240</guid>
      <dc:creator>SantiMoreno</dc:creator>
      <dc:date>2011-11-07T06:08:59Z</dc:date>
    </item>
    <item>
      <title>Re: Dump OBJECTS_MOVE_NOT_SUPPORTED reported.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dump-objects-move-not-supported-reported/m-p/8395310#M1644241</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Sougata,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;P&gt;You can try putting the cursor on OPEN DATASET statement then hit F1. After that please click on the link error_handling which will then list the best practices for exception handling on OPEN DATASET command.&lt;/P&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The &lt;STRONG&gt;error_handling&lt;/STRONG&gt; you've mentioned is not synonymous with &lt;STRONG&gt;exception handling&lt;/STRONG&gt;. OPEN DATASET raises the following treatable exceptions: &lt;EM&gt;CX_SY_FILE_OPEN&lt;/EM&gt;, &lt;EM&gt;CX_SY_CODEPAGE_CONVERTER_INIT&lt;/EM&gt;, &lt;EM&gt;CX_SY_CONVERSION_CODEPAGE&lt;/EM&gt;, &lt;EM&gt;CX_SY_FILE_AUTHORITY&lt;/EM&gt;, &lt;EM&gt;CX_SY_PIPES_NOT_SUPPORTED&lt;/EM&gt; &amp;amp; &lt;EM&gt;CX_SY_TOO_MANY_FILES&lt;/EM&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So when i say &lt;STRONG&gt;exception handling&lt;/STRONG&gt;, i mean handling these exceptions which cannot be treated via the &lt;STRONG&gt;error handling&lt;/STRONG&gt; options(except &lt;EM&gt;CX_SY_CONVERSION_CODEPAGE&lt;/EM&gt; ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;P&gt;If you still are in disbelief, you can debug through the small program I've written below for you and find out for yourself that the TRY-CATCH block is practically useless for e.g. when the file could not be found to be opened for read/write.&lt;/P&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The SY-SUBRC value only tells whether you're able to open the file or not. More specific info, as to why the file could not be opened, can be obtained from the exception objects.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For e.g., if you don't have authority to read a certain file, how are you supposed to handle that exception? Of course you can check the auth. obj. &lt;EM&gt;S_DATASET&lt;/EM&gt; or use the FM &lt;EM&gt;AUTHORITY_CHECK_DATASET&lt;/EM&gt; to check the authority, but imo it can be done more elegantly by handling the exception &lt;EM&gt;CX_SY_FILE_AUTHORITY&lt;/EM&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please enlighten me, if you think otherwise!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BR,&lt;/P&gt;&lt;P&gt;Suhas&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PS: The use of generic exception object CX_ROOT should be discouraged though. The exception handling should be as much specific as possible.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 Nov 2011 06:50:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dump-objects-move-not-supported-reported/m-p/8395310#M1644241</guid>
      <dc:creator>SuhaSaha</dc:creator>
      <dc:date>2011-11-07T06:50:33Z</dc:date>
    </item>
    <item>
      <title>Re: Dump OBJECTS_MOVE_NOT_SUPPORTED reported.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dump-objects-move-not-supported-reported/m-p/8395311#M1644242</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Suhas,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My comments below:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The &lt;STRONG&gt;error_handling&lt;/STRONG&gt; you've mentioned is not synonymous with &lt;STRONG&gt;exception handling&lt;/STRONG&gt;. &lt;/P&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Yes it is - I'll come to that in a moment.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;OPEN DATASET raises the following treatable exceptions: &lt;EM&gt;CX_SY_FILE_OPEN&lt;/EM&gt;, &lt;EM&gt;CX_SY_CODEPAGE_CONVERTER_INIT&lt;/EM&gt;, &lt;EM&gt;CX_SY_CONVERSION_CODEPAGE&lt;/EM&gt;, &lt;EM&gt;CX_SY_FILE_AUTHORITY&lt;/EM&gt;, &lt;EM&gt;CX_SY_PIPES_NOT_SUPPORTED&lt;/EM&gt; &amp;amp; &lt;EM&gt;CX_SY_TOO_MANY_FILES&lt;/EM&gt;.&lt;/P&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Agreed but not the point here...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So when i say &lt;STRONG&gt;exception handling&lt;/STRONG&gt;, i mean handling these exceptions which cannot be treated via the &lt;STRONG&gt;error handling&lt;/STRONG&gt; options(except &lt;EM&gt;CX_SY_CONVERSION_CODEPAGE&lt;/EM&gt; ).&lt;/P&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You are wrong - all of the above exceptions &lt;U&gt;can&lt;/U&gt; be treated via the &lt;STRONG&gt;error handling&lt;/STRONG&gt; option in the following way:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
  DATA: lv_message   TYPE string.

  OPEN DATASET pa_file FOR INPUT IN TEXT MODE
    ENCODING DEFAULT WITH SMART LINEFEED
      MESSAGE lv_message.                "&amp;lt;----- using the MESSAGE addition

  IF sy-subrc NE 0.
" exception handling goes here...
    MESSAGE e099 WITH 'File' pv_file 'could not be opened because'  lv_message.
  ENDIF.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;P&gt; The SY-SUBRC value only tells whether you're able to open the file or not. More specific info, as to why the file could not be opened, can be obtained from the exception objects.&lt;/P&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You are wrong again - refer above code and explanantion -&amp;gt; variable lv_message now contains the reason &lt;U&gt;why&lt;/U&gt; the file could not be opened.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;P&gt; For e.g., if you don't have authority to read a certain file, how are you supposed to handle that exception? Of course you can check the auth. obj. &lt;EM&gt;S_DATASET&lt;/EM&gt; or use the FM &lt;EM&gt;AUTHORITY_CHECK_DATASET&lt;/EM&gt; to check the authority, but imo it can be done more elegantly by handling the exception &lt;EM&gt;CX_SY_FILE_AUTHORITY&lt;/EM&gt;.&lt;/P&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do not agree - there are catchable exceptions and also some non-catchable exceptions for OPEN DATASET - in that case why would a good developer bother to CATCH (and how many!) when the MESSAGE addition returns the operating system messages and is &lt;STRONG&gt;full proof&lt;/STRONG&gt; ?? The example program in my previous post clearly shows that no class based exceptions are raised when an error occured at OPEN DATASET.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As I already stated in my last post,  the TRY-CATCH block is useless for exception/error handling in regards to the OPEN DATASET command for example when file does not exist in the App Server etc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here's a little challenge for you:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Considering a user has authority to read a dataset - try opening a dataset which does not exist in the App Server by handling all exceptions via the TRY-CATCH block. The program should not use the MESSAGE addition at all.  The exception (that the file does not exist) should be caught by the exception class used within the TRY-CATCH block. Print the error message and show us!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Good luck!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sougata.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 Nov 2011 08:41:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dump-objects-move-not-supported-reported/m-p/8395311#M1644242</guid>
      <dc:creator>Sougata</dc:creator>
      <dc:date>2011-11-07T08:41:12Z</dc:date>
    </item>
    <item>
      <title>Re: Dump OBJECTS_MOVE_NOT_SUPPORTED reported.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dump-objects-move-not-supported-reported/m-p/8395312#M1644243</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;P&gt;Here's a little challenge for you:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Considering a user has authority to read a dataset - try opening a dataset which does not exist in the App Server by handling all exceptions via the TRY-CATCH block. The program should not use the MESSAGE addition at all. The exception (that the file does not exist) should be caught by the exception class used within the TRY-CATCH block. Print the error message and show us!&lt;/P&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can't because SAP runtime doesn't raise an EXCEPTION for this, it just sets SY-SUBRC to a non-zero value. The MESSAGE addition returns the App Server OS messages which are raised if there is some problem while opening the file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The MESSAGE addition &amp;amp; the TRY-CATCH block are completely disjoint. Using MESSAGE option you don't handle any EXCEPTIONS, rather it is a medium using which OS layer messages are captured. If you don't use this addition, your program doesn't dump.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;On the other hand the TRY-CATCH block helps you handle the SAP exceptions which might be raised for the OPEN DATASET, and if you don't use it you &lt;U&gt;might&lt;/U&gt; end up getting a runtime error!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;P&gt; ... there are catchable exceptions and also some non-catchable exceptions for OPEN DATASET, in that case why would a good developer bother to CATCH (and how many!) &lt;/P&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;I'm sure most of us would agree a good developer should handle as many exceptions as possible. And the exception handling should be as much specific as possible.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BR,&lt;/P&gt;&lt;P&gt;Suhas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 Nov 2011 11:38:09 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dump-objects-move-not-supported-reported/m-p/8395312#M1644243</guid>
      <dc:creator>SuhaSaha</dc:creator>
      <dc:date>2011-11-07T11:38:09Z</dc:date>
    </item>
  </channel>
</rss>

