<?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: Multi selection in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/multi-selection/m-p/1229280#M138808</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Fabian,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can take a look at SAP demo program &amp;lt;b&amp;gt;RSDEMO02&amp;lt;/b&amp;gt; on how to setup the selection column (Mark).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also find the following sample code for table control logic handling based on user selection action. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;MODULE USER_COMMAND_0100 INPUT.
  DATA: FLDNAME(100), HELP(100).

  SAVE_OK = OK_CODE.
  CLEAR OK_CODE.
  CASE SAVE_OK.
    WHEN 'TOGGLE'.
      IF DISPLAY = 'X'.
        PERFORM ENQUEUE USING 'E'.
        IF RC = 0.
          DISPLAY = SPACE.
          LOOP AT TC-COLS INTO COL.
            COL-SCREEN-INPUT = '1'.
            MODIFY TC-COLS FROM COL INDEX SY-TABIX.
          ENDLOOP.
        ENDIF.
      ELSE.
        PERFORM ENQUEUE USING 'D'.
        IF RC = 0.
          DISPLAY = 'X'.
          LOOP AT TC-COLS INTO COL.
            COL-SCREEN-INPUT = '0'.
            MODIFY TC-COLS FROM COL INDEX SY-TABIX.
          ENDLOOP.
        ENDIF.
      ENDIF.

    WHEN 'SORTUP'.
      READ TABLE TC-COLS INTO COL WITH KEY SELECTED = 'X'.
      IF SY-SUBRC = 0.
        SPLIT COL-SCREEN-NAME AT '-' INTO HELP FLDNAME.
        SORT I_BINLOC ASCENDING BY (FLDNAME).
      ENDIF.

    WHEN 'SORTDOWN'.
      READ TABLE TC-COLS INTO COL WITH KEY SELECTED = 'X'.
      IF SY-SUBRC = 0.
        SPLIT COL-SCREEN-NAME AT '-' INTO HELP FLDNAME.
        SORT I_BINLOC DESCENDING BY (FLDNAME).
      ENDIF.

    WHEN 'INSERT'.
      READ TABLE TC-COLS INTO COL WITH KEY SCREEN-INPUT = '1'.
      IF SY-SUBRC = 0.
        LOOP AT I_BINLOC INTO ZMBINLOC WHERE ZMARK = 'X'.
          CLEAR ZMBINLOC.
          INSERT ZMBINLOC INTO I_BINLOC INDEX SY-TABIX.
        ENDLOOP.
        DESCRIBE TABLE I_BINLOC LINES TC-LINES.
      ENDIF.

    WHEN 'DELETE'.
      READ TABLE TC-COLS INTO COL WITH KEY SCREEN-INPUT = '1'.
      IF SY-SUBRC = 0.
        LOOP AT I_BINLOC INTO ZMBINLOC WHERE ZMARK = 'X'.
          I_DELETE = ZMBINLOC.
          I_DELETE-ZMARK = SPACE.
          APPEND I_DELETE.
          DELETE I_BINLOC.
        ENDLOOP.
        DESCRIBE TABLE I_BINLOC LINES TC-LINES.
      ENDIF.

    &amp;lt;b&amp;gt;* Select all entries in table control 
WHEN 'SELALL'.
      READ TABLE TC-COLS INTO COL WITH KEY SCREEN-INPUT = '1'.
      IF SY-SUBRC = 0.
        LOOP AT I_BINLOC INTO ZMBINLOC.
          ZMBINLOC-ZMARK = 'X'.
          MODIFY I_BINLOC FROM ZMBINLOC.
        ENDLOOP.
        DESCRIBE TABLE I_BINLOC LINES TC-LINES.
      ENDIF.&amp;lt;/b&amp;gt;

    WHEN 'DESALL'.
      READ TABLE TC-COLS INTO COL WITH KEY SCREEN-INPUT = '1'.
      IF SY-SUBRC = 0.
        LOOP AT I_BINLOC INTO ZMBINLOC.
          ZMBINLOC-ZMARK = ' '.
          MODIFY I_BINLOC FROM ZMBINLOC.
        ENDLOOP.
        DESCRIBE TABLE I_BINLOC LINES TC-LINES.
      ENDIF.

    WHEN 'COPY'.
      READ TABLE TC-COLS INTO COL WITH KEY SCREEN-INPUT = '1'.
      IF SY-SUBRC = 0.
        CALL SCREEN 200 STARTING AT 03 01 ENDING AT 32 4.
        IF COPY_OK = 'ENTER'.
          LOOP AT I_BINLOC INTO ZMBINLOC WHERE ZMARK = 'X'.
            ZMBINLOC-WERKS = COPY_WERKS.
            ZMBINLOC-LGORT = COPY_LGORT.
            ZMBINLOC-ZMARK = ' '.
            INSERT ZMBINLOC INTO I_BINLOC INDEX SY-TABIX.
          ENDLOOP.
          SORT I_BINLOC ASCENDING BY WERKS LGORT ZBINLOC.
          DELETE ADJACENT DUPLICATES FROM I_BINLOC.
          DESCRIBE TABLE I_BINLOC LINES TC-LINES.
        ENDIF.
      ENDIF.

    WHEN 'SAVE'.
      SORT I_BINLOC ASCENDING BY WERKS LGORT ZBINLOC.
      DELETE ADJACENT DUPLICATES FROM I_BINLOC.
      IF NOT I_DELETE[] IS INITIAL.
        DELETE ZMBINLOC FROM TABLE I_DELETE.
      ENDIF.

      MODIFY ZMBINLOC FROM TABLE I_BINLOC.
      IF SY-SUBRC = 0.
        MESSAGE S899(BD) WITH TEXT-002.
      ENDIF.

    WHEN 'EXIT'.
      PERFORM ENQUEUE USING 'D'.
      LEAVE PROGRAM.

    WHEN OTHERS.
  ENDCASE.

ENDMODULE.                 " USER_COMMAND_0100  INPUT&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this will help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Ferry Lianto&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 24 Mar 2006 17:14:35 GMT</pubDate>
    <dc:creator>ferry_lianto</dc:creator>
    <dc:date>2006-03-24T17:14:35Z</dc:date>
    <item>
      <title>Multi selection</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/multi-selection/m-p/1229275#M138803</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;how can I use the multi selection in table controls? So what command I use to get all lines I have selected? &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your help,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Fabian&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 Mar 2006 16:02:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/multi-selection/m-p/1229275#M138803</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-03-24T16:02:24Z</dc:date>
    </item>
    <item>
      <title>Re: Multi selection</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/multi-selection/m-p/1229276#M138804</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;u can add one button and write code for that,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;in PAI&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;case sy-ucomm.

  when 'ALL'.
    loop at itab.
       itab-sel = 'x'.
       modify itab transporting sel.
       clear itab.
    endloop.
endcase.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 Mar 2006 16:06:09 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/multi-selection/m-p/1229276#M138804</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-03-24T16:06:09Z</dc:date>
    </item>
    <item>
      <title>Re: Multi selection</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/multi-selection/m-p/1229277#M138805</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;In your table control attributes, under the section 'Selectability', Select the radiobutton for 'Multiple' under 'Lines' and then enter the internal table field for recording this selection. You need to add a field of character length 1 to your internal table and give that field name here. When you loop at your table control, this field will be 'X' if the row is selected.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 Mar 2006 16:10:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/multi-selection/m-p/1229277#M138805</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-03-24T16:10:56Z</dc:date>
    </item>
    <item>
      <title>Re: Multi selection</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/multi-selection/m-p/1229278#M138806</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I created a table control with a selection column (Mark). &lt;/P&gt;&lt;P&gt;In which internal table will be the 'x' when I mark a line?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Fabian&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 Mar 2006 16:11:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/multi-selection/m-p/1229278#M138806</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-03-24T16:11:08Z</dc:date>
    </item>
    <item>
      <title>Re: Multi selection</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/multi-selection/m-p/1229279#M138807</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Your table control must be populating data in some internal table (where you have added new character column which is updated with X for selected record).&lt;/P&gt;&lt;P&gt;So in PAI loop at table control pass on all data to internal table. There you need to make sure this selection value also gets updated in internal table.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 Mar 2006 16:54:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/multi-selection/m-p/1229279#M138807</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-03-24T16:54:26Z</dc:date>
    </item>
    <item>
      <title>Re: Multi selection</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/multi-selection/m-p/1229280#M138808</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Fabian,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can take a look at SAP demo program &amp;lt;b&amp;gt;RSDEMO02&amp;lt;/b&amp;gt; on how to setup the selection column (Mark).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also find the following sample code for table control logic handling based on user selection action. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;MODULE USER_COMMAND_0100 INPUT.
  DATA: FLDNAME(100), HELP(100).

  SAVE_OK = OK_CODE.
  CLEAR OK_CODE.
  CASE SAVE_OK.
    WHEN 'TOGGLE'.
      IF DISPLAY = 'X'.
        PERFORM ENQUEUE USING 'E'.
        IF RC = 0.
          DISPLAY = SPACE.
          LOOP AT TC-COLS INTO COL.
            COL-SCREEN-INPUT = '1'.
            MODIFY TC-COLS FROM COL INDEX SY-TABIX.
          ENDLOOP.
        ENDIF.
      ELSE.
        PERFORM ENQUEUE USING 'D'.
        IF RC = 0.
          DISPLAY = 'X'.
          LOOP AT TC-COLS INTO COL.
            COL-SCREEN-INPUT = '0'.
            MODIFY TC-COLS FROM COL INDEX SY-TABIX.
          ENDLOOP.
        ENDIF.
      ENDIF.

    WHEN 'SORTUP'.
      READ TABLE TC-COLS INTO COL WITH KEY SELECTED = 'X'.
      IF SY-SUBRC = 0.
        SPLIT COL-SCREEN-NAME AT '-' INTO HELP FLDNAME.
        SORT I_BINLOC ASCENDING BY (FLDNAME).
      ENDIF.

    WHEN 'SORTDOWN'.
      READ TABLE TC-COLS INTO COL WITH KEY SELECTED = 'X'.
      IF SY-SUBRC = 0.
        SPLIT COL-SCREEN-NAME AT '-' INTO HELP FLDNAME.
        SORT I_BINLOC DESCENDING BY (FLDNAME).
      ENDIF.

    WHEN 'INSERT'.
      READ TABLE TC-COLS INTO COL WITH KEY SCREEN-INPUT = '1'.
      IF SY-SUBRC = 0.
        LOOP AT I_BINLOC INTO ZMBINLOC WHERE ZMARK = 'X'.
          CLEAR ZMBINLOC.
          INSERT ZMBINLOC INTO I_BINLOC INDEX SY-TABIX.
        ENDLOOP.
        DESCRIBE TABLE I_BINLOC LINES TC-LINES.
      ENDIF.

    WHEN 'DELETE'.
      READ TABLE TC-COLS INTO COL WITH KEY SCREEN-INPUT = '1'.
      IF SY-SUBRC = 0.
        LOOP AT I_BINLOC INTO ZMBINLOC WHERE ZMARK = 'X'.
          I_DELETE = ZMBINLOC.
          I_DELETE-ZMARK = SPACE.
          APPEND I_DELETE.
          DELETE I_BINLOC.
        ENDLOOP.
        DESCRIBE TABLE I_BINLOC LINES TC-LINES.
      ENDIF.

    &amp;lt;b&amp;gt;* Select all entries in table control 
WHEN 'SELALL'.
      READ TABLE TC-COLS INTO COL WITH KEY SCREEN-INPUT = '1'.
      IF SY-SUBRC = 0.
        LOOP AT I_BINLOC INTO ZMBINLOC.
          ZMBINLOC-ZMARK = 'X'.
          MODIFY I_BINLOC FROM ZMBINLOC.
        ENDLOOP.
        DESCRIBE TABLE I_BINLOC LINES TC-LINES.
      ENDIF.&amp;lt;/b&amp;gt;

    WHEN 'DESALL'.
      READ TABLE TC-COLS INTO COL WITH KEY SCREEN-INPUT = '1'.
      IF SY-SUBRC = 0.
        LOOP AT I_BINLOC INTO ZMBINLOC.
          ZMBINLOC-ZMARK = ' '.
          MODIFY I_BINLOC FROM ZMBINLOC.
        ENDLOOP.
        DESCRIBE TABLE I_BINLOC LINES TC-LINES.
      ENDIF.

    WHEN 'COPY'.
      READ TABLE TC-COLS INTO COL WITH KEY SCREEN-INPUT = '1'.
      IF SY-SUBRC = 0.
        CALL SCREEN 200 STARTING AT 03 01 ENDING AT 32 4.
        IF COPY_OK = 'ENTER'.
          LOOP AT I_BINLOC INTO ZMBINLOC WHERE ZMARK = 'X'.
            ZMBINLOC-WERKS = COPY_WERKS.
            ZMBINLOC-LGORT = COPY_LGORT.
            ZMBINLOC-ZMARK = ' '.
            INSERT ZMBINLOC INTO I_BINLOC INDEX SY-TABIX.
          ENDLOOP.
          SORT I_BINLOC ASCENDING BY WERKS LGORT ZBINLOC.
          DELETE ADJACENT DUPLICATES FROM I_BINLOC.
          DESCRIBE TABLE I_BINLOC LINES TC-LINES.
        ENDIF.
      ENDIF.

    WHEN 'SAVE'.
      SORT I_BINLOC ASCENDING BY WERKS LGORT ZBINLOC.
      DELETE ADJACENT DUPLICATES FROM I_BINLOC.
      IF NOT I_DELETE[] IS INITIAL.
        DELETE ZMBINLOC FROM TABLE I_DELETE.
      ENDIF.

      MODIFY ZMBINLOC FROM TABLE I_BINLOC.
      IF SY-SUBRC = 0.
        MESSAGE S899(BD) WITH TEXT-002.
      ENDIF.

    WHEN 'EXIT'.
      PERFORM ENQUEUE USING 'D'.
      LEAVE PROGRAM.

    WHEN OTHERS.
  ENDCASE.

ENDMODULE.                 " USER_COMMAND_0100  INPUT&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this will help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Ferry Lianto&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 Mar 2006 17:14:35 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/multi-selection/m-p/1229280#M138808</guid>
      <dc:creator>ferry_lianto</dc:creator>
      <dc:date>2006-03-24T17:14:35Z</dc:date>
    </item>
  </channel>
</rss>

