<?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 Re: write internal table to cluster table in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/write-internal-table-to-cluster-table/m-p/4992249#M1162782</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;U can try to use a code like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;DESCRIBE TABLE ITAB1 LINES TOT_LINE.

IF TOT_LINE &amp;lt;= 100.
  TO_LINE = 100.
ENDIF.
FROM_LINE = 1.

DO.
  APPEND LINES OF ITAB TO ITAB2 FROM FROM_LINE TO TO_LINE.

* Do something.......
  
  FROM_LINE = TO_LINE + 1.
  IF FROM_LINE &amp;gt; TOT_LINE.
    EXIT.
  ENDIF.
  
  TO_LINE = TO_LINE + 100.
  IF TO_LINE &amp;gt; TOT_LINE.
    TO_LINE = TOT_LINE.
  ENDIF.
  
  REFRESH ITAB2.
ENDDO.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Max&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 19 Jan 2009 15:32:22 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2009-01-19T15:32:22Z</dc:date>
    <item>
      <title>write internal table to cluster table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/write-internal-table-to-cluster-table/m-p/4992246#M1162779</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;I have the following problem:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i have an internal table with 10000 datasets and I want to write always 100 datasets into a cluster table.&lt;/P&gt;&lt;P&gt;what is the best possibility to split the 10000 into packages of 100? isn't there any other possibility than to loop at the internal table?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 19 Jan 2009 13:25:49 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/write-internal-table-to-cluster-table/m-p/4992246#M1162779</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-01-19T13:25:49Z</dc:date>
    </item>
    <item>
      <title>Re: write internal table to cluster table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/write-internal-table-to-cluster-table/m-p/4992247#M1162780</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;no other way...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; DESCRIBE TABLE lt_component LINES lv_lines.&lt;/P&gt;&lt;P&gt;  lv_count = 0.&lt;/P&gt;&lt;P&gt;  lv_last = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT lt_component INTO lwa_component.&lt;/P&gt;&lt;P&gt;    lv_count = lv_count + 1.&lt;/P&gt;&lt;P&gt;    lv_last = lv_last + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; IF lv_count EQ 1000 OR lv_last EQ lv_lines.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; write to table &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 19 Jan 2009 14:58:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/write-internal-table-to-cluster-table/m-p/4992247#M1162780</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-01-19T14:58:31Z</dc:date>
    </item>
    <item>
      <title>Re: write internal table to cluster table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/write-internal-table-to-cluster-table/m-p/4992248#M1162781</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Margit,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I do not think there is any way other than loop at the table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Try the code below, it will split your table into datasets of 100 recs. You can then process these individual tables:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
TYPES:
  BEGIN OF TY_VBAK,
    VBELN TYPE VBELN_VA,
    VBTYP TYPE VBTYP,
    ERDAT TYPE ERDAT,
  END OF TY_VBAK.

TYPES:
  BEGIN OF TY_DREF,
    DREF TYPE REF TO DATA,
  END OF TY_DREF.

DATA: V_ROWS TYPE I,
      IT_VBAK TYPE STANDARD TABLE OF TY_VBAK,
      WA_VBAK  TYPE TY_VBAK,
      IT_DREF TYPE STANDARD TABLE OF TY_DREF,
      WA_DREF TYPE TY_DREF,
      V_COUNT TYPE I,
      IT_VBAK_TMP TYPE STANDARD TABLE OF TY_VBAK,
      V_FILENAM TYPE STRING.

FIELD-SYMBOLS &amp;lt;FS_TAB&amp;gt; TYPE TABLE.

PARAMETERS:
  P_DATA TYPE NUMC2 DEFAULT '25',
  P_FILE TYPE LOCALFILE DEFAULT
              'C:\Documents and Settings\ssaha\Desktop\'.

START-OF-SELECTION.

  V_ROWS = P_DATA.

  SELECT VBELN VBTYP ERDAT UP TO V_ROWS ROWS
  INTO TABLE IT_VBAK
  FROM VBAK
  WHERE ERDAT &amp;lt;= '20081231'
  OR    ERDAT &amp;gt;  '20080901'.

  LOOP AT IT_VBAK INTO WA_VBAK.
    V_COUNT = V_COUNT + 1.
    APPEND WA_VBAK TO IT_VBAK_TMP.
    CLEAR WA_VBAK .

    IF V_COUNT = 100. "This is where you split the parent table into smaller tables
      CREATE DATA WA_DREF-DREF TYPE STANDARD TABLE OF TY_VBAK.
      APPEND WA_DREF TO IT_DREF.

      ASSIGN WA_DREF-DREF-&amp;gt;* TO &amp;lt;FS_TAB&amp;gt;.

      IF &amp;lt;FS_TAB&amp;gt; IS ASSIGNED.
        &amp;lt;FS_TAB&amp;gt; = IT_VBAK_TMP.
      ENDIF.

      CLEAR: V_COUNT, WA_DREF.
      REFRESH IT_VBAK_TMP.
    ENDIF.

    AT LAST.
      CREATE DATA WA_DREF-DREF TYPE STANDARD TABLE OF TY_VBAK.
      APPEND WA_DREF TO IT_DREF.

      ASSIGN WA_DREF-DREF-&amp;gt;* TO &amp;lt;FS_TAB&amp;gt;.

      IF &amp;lt;FS_TAB&amp;gt; IS ASSIGNED.
        &amp;lt;FS_TAB&amp;gt; = IT_VBAK_TMP.
      ENDIF.

      CLEAR: V_COUNT, WA_DREF.
      REFRESH IT_VBAK_TMP.
    ENDAT.

  ENDLOOP.

END-OF-SELECTION.

  BREAK SSAHA.

  LOOP AT IT_DREF INTO WA_DREF.
    ASSIGN WA_DREF-DREF-&amp;gt;* TO &amp;lt;FS_TAB&amp;gt;.

    IF &amp;lt;FS_TAB&amp;gt; IS ASSIGNED.

      WRITE: / 'SPLIT TABLE'.

      LOOP AT &amp;lt;FS_TAB&amp;gt; INTO WA_VBAK.
        WRITE: / WA_VBAK.
      ENDLOOP.

      CONCATENATE P_FILE SY-DATUM SY-UZEIT '.txt' INTO V_FILENAM.
      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
          FILENAME                = V_FILENAM
          WRITE_FIELD_SEPARATOR   = 'X'
        TABLES
          DATA_TAB                = &amp;lt;FS_TAB&amp;gt;
        EXCEPTIONS
          FILE_WRITE_ERROR        = 1
          NO_BATCH                = 2
          GUI_REFUSE_FILETRANSFER = 3
          INVALID_TYPE            = 4
          NO_AUTHORITY            = 5
          UNKNOWN_ERROR           = 6
          HEADER_NOT_ALLOWED      = 7
          SEPARATOR_NOT_ALLOWED   = 8
          FILESIZE_NOT_ALLOWED    = 9
          HEADER_TOO_LONG         = 10
          DP_ERROR_CREATE         = 11
          DP_ERROR_SEND           = 12
          DP_ERROR_WRITE          = 13
          UNKNOWN_DP_ERROR        = 14
          ACCESS_DENIED           = 15
          DP_OUT_OF_MEMORY        = 16
          DISK_FULL               = 17
          DP_TIMEOUT              = 18
          FILE_NOT_FOUND          = 19
          DATAPROVIDER_EXCEPTION  = 20
          CONTROL_FLUSH_ERROR     = 21
          OTHERS                  = 22.
      IF SY-SUBRC &amp;lt;&amp;gt; 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDIF.
  ENDLOOP.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this will be of some help.&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, 19 Jan 2009 15:24:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/write-internal-table-to-cluster-table/m-p/4992248#M1162781</guid>
      <dc:creator>SuhaSaha</dc:creator>
      <dc:date>2009-01-19T15:24:25Z</dc:date>
    </item>
    <item>
      <title>Re: write internal table to cluster table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/write-internal-table-to-cluster-table/m-p/4992249#M1162782</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;U can try to use a code like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;DESCRIBE TABLE ITAB1 LINES TOT_LINE.

IF TOT_LINE &amp;lt;= 100.
  TO_LINE = 100.
ENDIF.
FROM_LINE = 1.

DO.
  APPEND LINES OF ITAB TO ITAB2 FROM FROM_LINE TO TO_LINE.

* Do something.......
  
  FROM_LINE = TO_LINE + 1.
  IF FROM_LINE &amp;gt; TOT_LINE.
    EXIT.
  ENDIF.
  
  TO_LINE = TO_LINE + 100.
  IF TO_LINE &amp;gt; TOT_LINE.
    TO_LINE = TOT_LINE.
  ENDIF.
  
  REFRESH ITAB2.
ENDDO.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Max&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 19 Jan 2009 15:32:22 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/write-internal-table-to-cluster-table/m-p/4992249#M1162782</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-01-19T15:32:22Z</dc:date>
    </item>
  </channel>
</rss>

