<?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: disable rows in table control in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/disable-rows-in-table-control/m-p/3696179#M889969</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;when i do this i still get this error message .&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 08 Apr 2008 15:41:51 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-04-08T15:41:51Z</dc:date>
    <item>
      <title>disable rows in table control</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/disable-rows-in-table-control/m-p/3696176#M889966</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 want to disable the rows in table control . Here is the code I wrote to fill the table control . &lt;/P&gt;&lt;P&gt;Please advise . &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP WITH CONTROL table_TC.&lt;/P&gt;&lt;P&gt;    MODULE FILL_CONTROL.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE FILL_CONTROL.&lt;/P&gt;&lt;P&gt;..&lt;/P&gt;&lt;P&gt;..&lt;/P&gt;&lt;P&gt;SELECT * INTO TABLE itab FROM ztable&lt;/P&gt;&lt;P&gt;                       WHERE WERKS = S_ztable_TMP-WERKS&lt;/P&gt;&lt;P&gt;                         AND NORMT = S_ztable__TMP-NORMT.&lt;/P&gt;&lt;P&gt;                  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE itabe&lt;/P&gt;&lt;P&gt;        INDEX table_TC-CURRENT_LINE.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        MOVE-CORRESPONDING itab TO table.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        EXIT FROM STEP-LOOP.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For disabling the rows I tried this but get an error message &lt;/P&gt;&lt;P&gt;""LOOP" cannot be assigned to any field."&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT itab WITH CONTROL table_TC.&lt;/P&gt;&lt;P&gt;  MODULE CLEAR_OUTPUT.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks !!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Teresa&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Teresa lytle on Apr 8, 2008 5:22 PM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Alvaro Tejada Galindo on Apr 8, 2008 1:16 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Apr 2008 15:18:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/disable-rows-in-table-control/m-p/3696176#M889966</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-08T15:18:33Z</dc:date>
    </item>
    <item>
      <title>Re: disable rows in table control</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/disable-rows-in-table-control/m-p/3696177#M889967</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;Try this :&lt;/P&gt;&lt;P&gt;In PAI write :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at tablecontrol.&lt;/P&gt;&lt;P&gt;module modify_table_control.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Module modify_table_control.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-tabix LE 3.&lt;/P&gt;&lt;P&gt;CASE sy-ucomm.&lt;/P&gt;&lt;P&gt;WHEN 'CHANGE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT screen.&lt;/P&gt;&lt;P&gt;IF screen-name = tablecontrol-field.&lt;/P&gt;&lt;P&gt;Screen-input = 0.&lt;/P&gt;&lt;P&gt;modify screen.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;lt;REMOVED BY MODERATOR&amp;gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;rekha&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Alvaro Tejada Galindo on Apr 8, 2008 11:25 AM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Apr 2008 15:24:43 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/disable-rows-in-table-control/m-p/3696177#M889967</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-08T15:24:43Z</dc:date>
    </item>
    <item>
      <title>Re: disable rows in table control</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/disable-rows-in-table-control/m-p/3696178#M889968</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;in  your PBO routine&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
*&amp;amp;spwizard: module TC_TEST1_change_tc_attr.
*&amp;amp;spwizard: module TC_TEST1_change_col_attr.
  loop at   g_TC_TEST1_itab
       into g_TC_TEST1_wa
       with control TC_TEST1
       cursor TC_TEST1-current_line.
    module TC_TEST1_change_field_attr   "&amp;lt;== Here change your screen attributes.
    module TC_TEST1_move.
  endloop.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Apr 2008 15:27:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/disable-rows-in-table-control/m-p/3696178#M889968</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-08T15:27:50Z</dc:date>
    </item>
    <item>
      <title>Re: disable rows in table control</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/disable-rows-in-table-control/m-p/3696179#M889969</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;when i do this i still get this error message .&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Apr 2008 15:41:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/disable-rows-in-table-control/m-p/3696179#M889969</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-08T15:41:51Z</dc:date>
    </item>
    <item>
      <title>Re: disable rows in table control</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/disable-rows-in-table-control/m-p/3696180#M889970</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Teresa,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I wrote a very simple program to test this.    I have a single column table for just a salesperson number.&lt;/P&gt;&lt;P&gt;I made a simple module that while it was going thru the attr changing, I simply flipped the intesified flag on and off on alternating rows&lt;/P&gt;&lt;P&gt; of the table.  This code worked on v4.6c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this can help you.  The only thing I can't show you is the actual screen which only has the Table Control (which started the wizard by adding it on the screen) on it.. and I had the Wizard add the INSERT and DELETE buttons so I could prove the program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The Flow Logic for the screen&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;

PROCESS BEFORE OUTPUT.

  MODULE init_table.

*&amp;amp;spwizard: pbo flow logic for tablecontrol 'TC_TEST1'
  MODULE tc_test1_change_tc_attr.
*&amp;amp;spwizard: module TC_TEST1_change_col_attr.
  LOOP AT   it_wk
       INTO wk_rec
       WITH CONTROL tc_test1
       CURSOR tc_test1-current_line.

    MODULE tc_test1_get_lines.

    MODULE tc_test1_change_field_attr.   "&amp;lt;== here is the module call for the attribute setting
  ENDLOOP.


  MODULE status_0100.
*
PROCESS AFTER INPUT.
*&amp;amp;spwizard: pai flow logic for tablecontrol 'TC_TEST1'
  LOOP AT it_wk.
    CHAIN.
      FIELD wk_rec-spnum.

      MODULE tc_test1_modify ON CHAIN-REQUEST.
    ENDCHAIN.
    FIELD wk_rec-sel
      MODULE tc_test1_mark ON REQUEST.
  ENDLOOP.

  MODULE tc_test1_user_command.
*&amp;amp;spwizard: module TC_TEST1_change_tc_attr.
*&amp;amp;spwizard: module TC_TEST1_change_col_attr.


  MODULE exit_0100 AT EXIT-COMMAND.


  MODULE user_command_0100.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the _TOP Include&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Include YPTC_SCREEN_TEST_TOP                                        *
*&amp;amp;                                                                     *
*&amp;amp;---------------------------------------------------------------------*

PROGRAM  yptc_screen_test              .

DATA:
  switch  TYPE c,
  ok_code LIKE sy-ucomm.

TABLES:   zsd_act_salespr.

DATA:
  BEGIN OF wk_rec.
        INCLUDE STRUCTURE zsd_act_salespr.
DATA:
    sel    TYPE c,
  END OF wk_rec,
  it_wk   LIKE STANDARD TABLE OF wk_rec.

*&amp;amp;spwizard: declaration of tablecontrol 'TC_TEST1' itself
controls: TC_TEST1 type tableview using screen 0100.

*&amp;amp;spwizard: lines of tablecontrol 'TC_TEST1'
data:     g_TC_TEST1_lines  like sy-loopc.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The _I01 include&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
*----------------------------------------------------------------------*
*   INCLUDE YPTC_SCREEN_TEST_I01                                       *
*----------------------------------------------------------------------*
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Module  exit_0100  INPUT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE exit_0100 INPUT.
  LEAVE TO SCREEN 0.
ENDMODULE.                 " exit_0100  INPUT
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Module  USER_COMMAND_0100  INPUT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
  ok_code = ok_code.
  CASE ok_code.
    WHEN 'ENTER'.
    WHEN 'SAVE'.
  ENDCASE.
ENDMODULE.                 " USER_COMMAND_0100  INPUT

*&amp;amp;spwizard: input module for tc 'TC_TEST1'. do not change this line!
*&amp;amp;spwizard: modify table
MODULE tc_test1_modify INPUT.
  MODIFY it_wk
    FROM wk_rec
    INDEX tc_test1-current_line.
ENDMODULE.

*&amp;amp;spwizard: input modul for tc 'TC_TEST1'. do not change this line!
*&amp;amp;spwizard: mark table
MODULE tc_test1_mark INPUT.
  DATA: g_tc_test1_wa2 LIKE LINE OF it_wk.
  IF tc_test1-line_sel_mode = 1.
    LOOP AT it_wk INTO g_tc_test1_wa2
      WHERE sel = 'X'.
      g_tc_test1_wa2-sel = ''.
      MODIFY it_wk
        FROM g_tc_test1_wa2
        TRANSPORTING sel.
    ENDLOOP.
  ENDIF.
  MODIFY it_wk
    FROM wk_rec
    INDEX tc_test1-current_line
    TRANSPORTING sel.
ENDMODULE.

*&amp;amp;spwizard: input module for tc 'TC_TEST1'. do not change this line!
*&amp;amp;spwizard: process user command
MODULE tc_test1_user_command INPUT.
  ok_code = sy-ucomm.
  PERFORM user_ok_tc USING    'TC_TEST1'
                              'IT_WK'
                              'SEL'
                     CHANGING ok_code.
  sy-ucomm = ok_code.
ENDMODULE.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The O01 Include&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
***INCLUDE YPTC_SCREEN_TEST_O01 .
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Module  STATUS_0100  OUTPUT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
  SET PF-STATUS 'STAT_0100'.
*  SET TITLEBAR 'xxx'.

ENDMODULE.                 " STATUS_0100  OUTPUT


*&amp;amp;---------------------------------------------------------------------
*&amp;amp;      Module  TC_TEST1_change_field_attr  OUTPUT
*&amp;amp;---------------------------------------------------------------------
MODULE tc_test1_change_field_attr OUTPUT.

  LOOP AT SCREEN.
    IF screen-name EQ 'WK_REC-SPNUM'.
      IF switch EQ 'X'.
        screen-intensified = 1.
        CLEAR switch.
      ELSE.
        screen-intensified = 0.
        switch = 'X'.
      ENDIF.
      MODIFY SCREEN.
    ENDIF.
  ENDLOOP.
ENDMODULE.                 " TC_TEST1_change_field_attr  OUTPUT

*&amp;amp;spwizard: output module for tc 'TC_TEST1'. do not change this line!
*&amp;amp;spwizard: update lines for equivalent scrollbar
module TC_TEST1_change_tc_attr output.
  describe table IT_WK lines TC_TEST1-lines.
endmodule.

*&amp;amp;spwizard: output module for tc 'TC_TEST1'. do not change this line!
*&amp;amp;spwizard: get lines of tablecontrol
module TC_TEST1_get_lines output.
  g_TC_TEST1_lines = sy-loopc.
endmodule.
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Module  init_table  OUTPUT
*&amp;amp;---------------------------------------------------------------------*
module init_table output.

  if it_wk is initial.
    select * into table it_wk
      from ZSD_ACT_SALESPR.
  endif.

endmodule.                 " init_table  OUTPUT
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The F01 Include&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
*----------------------------------------------------------------------*
*   INCLUDE YPTC_SCREEN_TEST_F01                                       *
*----------------------------------------------------------------------*

*----------------------------------------------------------------------*
*   INCLUDE TABLECONTROL_FORMS                                         *
*----------------------------------------------------------------------*

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  USER_OK_TC                                               *
*&amp;amp;---------------------------------------------------------------------*
 FORM USER_OK_TC USING    P_TC_NAME TYPE DYNFNAM
                          P_TABLE_NAME
                          P_MARK_NAME
                 CHANGING P_OK      LIKE SY-UCOMM.

*-BEGIN OF LOCAL DATA--------------------------------------------------*
   DATA: L_OK              TYPE SY-UCOMM,
         L_OFFSET          TYPE I.
*-END OF LOCAL DATA----------------------------------------------------*

* Table control specific operations                                    *
*   evaluate TC name and operations                                    *
   SEARCH P_OK FOR P_TC_NAME.
   IF SY-SUBRC &amp;lt;&amp;gt; 0.
     EXIT.
   ENDIF.
   L_OFFSET = STRLEN( P_TC_NAME ) + 1.
   L_OK = P_OK+L_OFFSET.
* execute general and TC specific operations                           *
   CASE L_OK.
     WHEN 'INSR'.                      "insert row
       PERFORM FCODE_INSERT_ROW USING    P_TC_NAME
                                         P_TABLE_NAME.
       CLEAR P_OK.

     WHEN 'DELE'.                      "delete row
       PERFORM FCODE_DELETE_ROW USING    P_TC_NAME
                                         P_TABLE_NAME
                                         P_MARK_NAME.
       CLEAR P_OK.

     WHEN 'P--' OR                     "top of list
          'P-'  OR                     "previous page
          'P+'  OR                     "next page
          'P++'.                       "bottom of list
       PERFORM COMPUTE_SCROLLING_IN_TC USING P_TC_NAME
                                             L_OK.
       CLEAR P_OK.
*     WHEN 'L--'.                       "total left
*       PERFORM FCODE_TOTAL_LEFT USING P_TC_NAME.
*
*     WHEN 'L-'.                        "column left
*       PERFORM FCODE_COLUMN_LEFT USING P_TC_NAME.
*
*     WHEN 'R+'.                        "column right
*       PERFORM FCODE_COLUMN_RIGHT USING P_TC_NAME.
*
*     WHEN 'R++'.                       "total right
*       PERFORM FCODE_TOTAL_RIGHT USING P_TC_NAME.
*
     WHEN 'MARK'.                      "mark all filled lines
       PERFORM FCODE_TC_MARK_LINES USING P_TC_NAME
                                         P_TABLE_NAME
                                         P_MARK_NAME   .
       CLEAR P_OK.

     WHEN 'DMRK'.                      "demark all filled lines
       PERFORM FCODE_TC_DEMARK_LINES USING P_TC_NAME
                                           P_TABLE_NAME
                                           P_MARK_NAME .
       CLEAR P_OK.

*     WHEN 'SASCEND'   OR
*          'SDESCEND'.                  "sort column
*       PERFORM FCODE_SORT_TC USING P_TC_NAME
*                                   l_ok.

   ENDCASE.

 ENDFORM.                              " USER_OK_TC

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  FCODE_INSERT_ROW                                         *
*&amp;amp;---------------------------------------------------------------------*
 FORM fcode_insert_row
               USING    P_TC_NAME           TYPE DYNFNAM
                        P_TABLE_NAME             .

*-BEGIN OF LOCAL DATA--------------------------------------------------*
   DATA L_LINES_NAME       LIKE FELD-NAME.
   DATA L_SELLINE          LIKE SY-STEPL.
   DATA L_LASTLINE         TYPE I.
   DATA L_LINE             TYPE I.
   DATA L_TABLE_NAME       LIKE FELD-NAME.
   FIELD-SYMBOLS &amp;lt;TC&amp;gt;                 TYPE CXTAB_CONTROL.
   FIELD-SYMBOLS &amp;lt;TABLE&amp;gt;              TYPE STANDARD TABLE.
   FIELD-SYMBOLS &amp;lt;LINES&amp;gt;              TYPE I.
*-END OF LOCAL DATA----------------------------------------------------*

   ASSIGN (P_TC_NAME) TO &amp;lt;TC&amp;gt;.

* get the table, which belongs to the tc                               *
   CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body
   ASSIGN (L_TABLE_NAME) TO &amp;lt;TABLE&amp;gt;.                "not headerline

* get looplines of TableControl
   CONCATENATE 'G_' P_TC_NAME '_LINES' INTO L_LINES_NAME.
   ASSIGN (L_LINES_NAME) TO &amp;lt;LINES&amp;gt;.

* get current line
   GET CURSOR LINE L_SELLINE.
   if sy-subrc &amp;lt;&amp;gt; 0.                   " append line to table
     l_selline = &amp;lt;tc&amp;gt;-lines + 1.
*&amp;amp;SPWIZARD: set top line and new cursor line                           *
     if l_selline &amp;gt; &amp;lt;lines&amp;gt;.
       &amp;lt;tc&amp;gt;-top_line = l_selline - &amp;lt;lines&amp;gt; + 1 .
     else.
       &amp;lt;tc&amp;gt;-top_line = 1.
     endif.
   else.                               " insert line into table
     l_selline = &amp;lt;tc&amp;gt;-top_line + l_selline - 1.
     l_lastline = &amp;lt;tc&amp;gt;-top_line + &amp;lt;lines&amp;gt; - 1.
   endif.
*&amp;amp;SPWIZARD: set new cursor line                                        *
   l_line = l_selline - &amp;lt;tc&amp;gt;-top_line + 1.
* insert initial line
   INSERT INITIAL LINE INTO &amp;lt;TABLE&amp;gt; INDEX L_SELLINE.
   &amp;lt;TC&amp;gt;-LINES = &amp;lt;TC&amp;gt;-LINES + 1.
* set cursor
   SET CURSOR LINE L_LINE.

 ENDFORM.                              " FCODE_INSERT_ROW

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  FCODE_DELETE_ROW                                         *
*&amp;amp;---------------------------------------------------------------------*
 FORM fcode_delete_row
               USING    P_TC_NAME           TYPE DYNFNAM
                        P_TABLE_NAME
                        P_MARK_NAME   .

*-BEGIN OF LOCAL DATA--------------------------------------------------*
   DATA L_TABLE_NAME       LIKE FELD-NAME.

   FIELD-SYMBOLS &amp;lt;TC&amp;gt;         TYPE cxtab_control.
   FIELD-SYMBOLS &amp;lt;TABLE&amp;gt;      TYPE STANDARD TABLE.
   FIELD-SYMBOLS &amp;lt;WA&amp;gt;.
   FIELD-SYMBOLS &amp;lt;MARK_FIELD&amp;gt;.
*-END OF LOCAL DATA----------------------------------------------------*

   ASSIGN (P_TC_NAME) TO &amp;lt;TC&amp;gt;.

* get the table, which belongs to the tc                               *
   CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body
   ASSIGN (L_TABLE_NAME) TO &amp;lt;TABLE&amp;gt;.                "not headerline

* delete marked lines                                                  *
   DESCRIBE TABLE &amp;lt;TABLE&amp;gt; LINES &amp;lt;TC&amp;gt;-LINES.

   LOOP AT &amp;lt;TABLE&amp;gt; ASSIGNING &amp;lt;WA&amp;gt;.

*   access to the component 'FLAG' of the table header                 *
     ASSIGN COMPONENT P_MARK_NAME OF STRUCTURE &amp;lt;WA&amp;gt; TO &amp;lt;MARK_FIELD&amp;gt;.

     IF &amp;lt;MARK_FIELD&amp;gt; = 'X'.
       DELETE &amp;lt;TABLE&amp;gt; INDEX SYST-TABIX.
       IF SY-SUBRC = 0.
         &amp;lt;TC&amp;gt;-LINES = &amp;lt;TC&amp;gt;-LINES - 1.
       ENDIF.
     ENDIF.
   ENDLOOP.

 ENDFORM.                              " FCODE_DELETE_ROW

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  COMPUTE_SCROLLING_IN_TC
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;P_TC_NAME  name of tablecontrol
*      --&amp;gt;P_OK       ok code
*----------------------------------------------------------------------*
 FORM COMPUTE_SCROLLING_IN_TC USING    P_TC_NAME
                                       P_OK.
*-BEGIN OF LOCAL DATA--------------------------------------------------*
   DATA L_TC_NEW_TOP_LINE     TYPE I.
   DATA L_TC_NAME             LIKE FELD-NAME.
   DATA L_TC_LINES_NAME       LIKE FELD-NAME.
   DATA L_TC_FIELD_NAME       LIKE FELD-NAME.

   FIELD-SYMBOLS &amp;lt;TC&amp;gt;         TYPE cxtab_control.
   FIELD-SYMBOLS &amp;lt;LINES&amp;gt;      TYPE I.
*-END OF LOCAL DATA----------------------------------------------------*

   ASSIGN (P_TC_NAME) TO &amp;lt;TC&amp;gt;.
* get looplines of TableControl
   CONCATENATE 'G_' P_TC_NAME '_LINES' INTO L_TC_LINES_NAME.
   ASSIGN (L_TC_LINES_NAME) TO &amp;lt;LINES&amp;gt;.


* is no line filled?                                                   *
   IF &amp;lt;TC&amp;gt;-LINES = 0.
*   yes, ...                                                           *
     L_TC_NEW_TOP_LINE = 1.
   ELSE.
*   no, ...                                                            *
     CALL FUNCTION 'SCROLLING_IN_TABLE'
          EXPORTING
               ENTRY_ACT             = &amp;lt;TC&amp;gt;-TOP_LINE
               ENTRY_FROM            = 1
               ENTRY_TO              = &amp;lt;TC&amp;gt;-LINES
               LAST_PAGE_FULL        = 'X'
               LOOPS                 = &amp;lt;LINES&amp;gt;
               OK_CODE               = P_OK
               OVERLAPPING           = 'X'
          IMPORTING
               ENTRY_NEW             = L_TC_NEW_TOP_LINE
          EXCEPTIONS
*              NO_ENTRY_OR_PAGE_ACT  = 01
*              NO_ENTRY_TO           = 02
*              NO_OK_CODE_OR_PAGE_GO = 03
               OTHERS                = 0.
   ENDIF.

* get actual tc and column                                             *
   GET CURSOR FIELD L_TC_FIELD_NAME
              AREA  L_TC_NAME.

   IF SYST-SUBRC = 0.
     IF L_TC_NAME = P_TC_NAME.
*     set actual column                                                *
       SET CURSOR FIELD L_TC_FIELD_NAME LINE 1.
     ENDIF.
   ENDIF.

* set the new top line                                                 *
   &amp;lt;TC&amp;gt;-TOP_LINE = L_TC_NEW_TOP_LINE.


 ENDFORM.                              " COMPUTE_SCROLLING_IN_TC

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  FCODE_TC_MARK_LINES
*&amp;amp;---------------------------------------------------------------------*
*       marks all TableControl lines
*----------------------------------------------------------------------*
*      --&amp;gt;P_TC_NAME  name of tablecontrol
*----------------------------------------------------------------------*
FORM FCODE_TC_MARK_LINES USING P_TC_NAME
                               P_TABLE_NAME
                               P_MARK_NAME.
*-BEGIN OF LOCAL DATA--------------------------------------------------*
  DATA L_TABLE_NAME       LIKE FELD-NAME.

  FIELD-SYMBOLS &amp;lt;TC&amp;gt;         TYPE cxtab_control.
  FIELD-SYMBOLS &amp;lt;TABLE&amp;gt;      TYPE STANDARD TABLE.
  FIELD-SYMBOLS &amp;lt;WA&amp;gt;.
  FIELD-SYMBOLS &amp;lt;MARK_FIELD&amp;gt;.
*-END OF LOCAL DATA----------------------------------------------------*

  ASSIGN (P_TC_NAME) TO &amp;lt;TC&amp;gt;.

* get the table, which belongs to the tc                               *
   CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body
   ASSIGN (L_TABLE_NAME) TO &amp;lt;TABLE&amp;gt;.                "not headerline

* mark all filled lines                                                *
  LOOP AT &amp;lt;TABLE&amp;gt; ASSIGNING &amp;lt;WA&amp;gt;.

*   access to the component 'FLAG' of the table header                 *
     ASSIGN COMPONENT P_MARK_NAME OF STRUCTURE &amp;lt;WA&amp;gt; TO &amp;lt;MARK_FIELD&amp;gt;.

     &amp;lt;MARK_FIELD&amp;gt; = 'X'.
  ENDLOOP.
ENDFORM.                                          "fcode_tc_mark_lines

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  FCODE_TC_DEMARK_LINES
*&amp;amp;---------------------------------------------------------------------*
*       demarks all TableControl lines
*----------------------------------------------------------------------*
*      --&amp;gt;P_TC_NAME  name of tablecontrol
*----------------------------------------------------------------------*
FORM FCODE_TC_DEMARK_LINES USING P_TC_NAME
                                 P_TABLE_NAME
                                 P_MARK_NAME .
*-BEGIN OF LOCAL DATA--------------------------------------------------*
  DATA L_TABLE_NAME       LIKE FELD-NAME.

  FIELD-SYMBOLS &amp;lt;TC&amp;gt;         TYPE cxtab_control.
  FIELD-SYMBOLS &amp;lt;TABLE&amp;gt;      TYPE STANDARD TABLE.
  FIELD-SYMBOLS &amp;lt;WA&amp;gt;.
  FIELD-SYMBOLS &amp;lt;MARK_FIELD&amp;gt;.
*-END OF LOCAL DATA----------------------------------------------------*

  ASSIGN (P_TC_NAME) TO &amp;lt;TC&amp;gt;.

* get the table, which belongs to the tc                               *
   CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body
   ASSIGN (L_TABLE_NAME) TO &amp;lt;TABLE&amp;gt;.                "not headerline

* demark all filled lines                                              *
  LOOP AT &amp;lt;TABLE&amp;gt; ASSIGNING &amp;lt;WA&amp;gt;.

*   access to the component 'FLAG' of the table header                 *
     ASSIGN COMPONENT P_MARK_NAME OF STRUCTURE &amp;lt;WA&amp;gt; TO &amp;lt;MARK_FIELD&amp;gt;.

     &amp;lt;MARK_FIELD&amp;gt; = SPACE.
  ENDLOOP.
ENDFORM.                                          "fcode_tc_mark_lines
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Paul Chapman on Apr 8, 2008 7:15 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Apr 2008 17:14:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/disable-rows-in-table-control/m-p/3696180#M889970</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-08T17:14:18Z</dc:date>
    </item>
  </channel>
</rss>

