Disable some columns in table control?

Hi
How to disable some columns in table control.
For Ex: Table contains 8 columns.
In first row i want to disable first 4 columns.
in second row i want to disable last 4 columns.
In third row i want to disable first 2 and last 2 columns.  How can we achieve this?
Cheers,
Venkys.

HI
Create three attribute in the node which is bound to the table as data source.
say pro1, pro2, and pro3 of type wdy_boolean.
now bind the enabled property of first four column editors to pro1, last 4 to pro2, and pro3 to first 2 and last 2.
then go to the eventhandler of the dropdown 's on select event and write the code to update the values of these attribute
according to the selected value.
here is the sample code.
DATA lo_nd TYPE REF TO if_wd_context_node.
    DATA lo_el TYPE REF TO if_wd_context_element.
        DATA lv_VAL LIKE ls_dealer1-name.
    lo_nd = wd_context->get_child_node( name = 'DEALER1').
  lo_el = lo_nd->get_element(  ).
    lo_el->get_attribute(
      EXPORTING
        name =  `NAME`
      IMPORTING
        value = lv_VAL ).
     DATA PR1 TYPE WDY_BOOLEAN.
     DATA PR2 TYPE WDY_BOOLEAN.
     DATA PR3 TYPE WDY_BOOLEAN.
  PR1 = ABAP_TRUE.
PR2 = ABAP_TRUE.
PR3 = ABAP_TRUE.
IF LV_VAL EQ 'A'.
PR1 = ABAP_FALSE.
PR2 = ABAP_TRUE.
PR3 = ABAP_TRUE.
   ELSEIF LV_VAL EQ 'B'.
PR1 = ABAP_TRUE.
PR2 = ABAP_FALSE.
PR3 = ABAP_TRUE.
ELSEIF LV_VAL EQ 'C'.
  PR1 = ABAP_TRUE.
PR2 = ABAP_TRUE.
PR3 = ABAP_FALSE.
  ENDIF.
   LO_EL->SET_ATTRIBUTE(
   NAME = 'PRO1'
   VALUE = PR1
   LO_EL->SET_ATTRIBUTE(
   NAME = 'PRO2'
   VALUE = PR2
   LO_EL->SET_ATTRIBUTE(
   NAME = 'PRO3'
   VALUE = PR3
thanks
sarbjeet singh

Similar Messages

  • How to Enable and Disable column in Table Control.

    Hi all,
    I want to make certain column of Table control as Enable or Disable on Button action.
    Enable means ready for input and Disable means not ready for input.
    Please send me sample code.
    Thanks in advance.

    Hi Vipin,
        You have to loop through the table columns to set the properties in the PBO of your screen.
    Here is the sample solution.
    delcare a workarea for the columns in the table control in your top include.
    Table Control .
    CONTROLS: TAB1 TYPE TABLEVIEW USING SCREEN '0100'.
    DATA: WA_COLS LIKE LINE OF TAB1-COLS.
    in your screen
    PROCESS BEFORE OUTPUT.
      MODULE INTIALISE_100.
    *&      Module  0100_INTIALISE  OUTPUT
    MODULE INTIALISE_100 OUTPUT.
        LOOP AT TAB1-COLS INTO WA_COLS.
          WA_COLS-SCREEN-INPUT = 1.
          MODIFY TAB1-COLS FROM WA_COLS TRANSPORTING SCREEN-INPUT.
        ENDLOOP.
    ENDMODULE.                 " 0100_INTIALISE  OUTPUT
    modify the screen-input property as required for the table control columns.
    Please provide points if helpfull.....
    Thanks,
    Karthik
    Message was edited by: Karthik
            Karthikeyan K

  • How to find out the selected column in Table Control

    Hi all,
          How to find out the selected column in Table Control?
    Thanks & Regards,
    YJR

    Hi,
    Let your table control name in Screen painter be TC1.
    READ TABLE TC1-COLS INTO WA_COLS (some wok area)
                 WITH KEY SELECTED = 'X'.
            IF SY-SUBRC = 0.
              CLEAR: W_DUMMY, W_COL_NAME.
              SPLIT WA_COLS-SCREEN-NAME AT '-' INTO W_DUMMY
                                                   W_COL_NAME.
            endif.
    W_COL_NAME gives you the column name.
    Hope it helps.
    cheers
    sharmistha

  • How to get sum of quantity column in table control

    Hi, expert ,
    Someone can guide me how to get som of qty column in table control ?
    I created a screen with a table control  and has a  qty quantity field .
    I want to show total of qty  in a  field .
    my code like this ...
    PROCESS AFTER INPUT.
      LOOP AT I_tab.
        CHAIN.
           FIELD I_tab-COUNTQTY MODULE  caculate_total_qty .
        endchain.
        MODULE UPDATE_TOTAL_QTY  .
      ENDLOOP.
    but, when I Back to the previous screen
    It's caculate again so I always get wrong Total quantity .
    anyone can help me ...

    Hi , Dhina
    I have another question .
    I use internal table data in table control to update  database table .
    The data in the db will be change ,
    but each record I want to delete in table control , it's still exist in database .
    my code is
    WHEN 'SAVE'
         MODIFY YDSGBT53 FROM TABLE I_YDSGBT53 .
         COMMIT WORK .
      END CASE
    How  to fix my code and let it can change and delete data in database  ?
    or
    when I delete record  in table control I must to delete data in the database too .
    Edited by: TitusFang on Jun 16, 2011 3:21 AM

  • Push button in one of the columns of Table Control

    Hi,
    I have a requirement, where i have to display a push button in one of the columns of table control for long text. When user clicks on the control, a pop up has to be appeared in which user should be able to enter some meaning ful description and save it. please suggest me how to do this requirement.
    Best Regards,
    Phani Kumar. S

    Hai,
      You can drag n drop a button to the required column in the table control and give the required parameters like ok_code , name etc.
    You can now place a text field as the heading of the column.
    Now when the user clicks the the button in a row, read the corresponding line in which he has clicked.For that u can use
    get cursor lines wrk_line.
    now u'll  get the data in that row using
    Read table it_tab into wa_tab index wrk_line.
    now u can call the text editor (using FM's READ_TEXT ,EDIT_TEXT and CREATE_TEXT in which the user can enter the meaningful description and save it.
    When u save the text entered save it with a key part of the row that was read earlier(keep it as the text name).
    So now if u need to get the description which was entered earlier u can easily read the text (using READ_TEXT ).
    I hope this will be helpful for u .
    Thanks
    Neeraj

  • Disable rows of a table control

    Hi Experts,
      I want to disable a row in table control, whenever SAVE is pressed.
      Scenario: A Table control having 5 rows. User entered data in the first row and pressed SAVE, then
                    that particular row should become greyed out or disabled, so that the user cant change or edit
                    anymore.
    Thanks
    Chandan

    Hi Chandan,
    in the PBO write the code to make the field display by the below logic..
    first read the table control internal table line and check whether the field is filled if the field had value make it display mode else make it input filed..
    see the below logic how to write it..
    PROCESS BEFORE OUTPUT.
    * Table control for OUTPUT
      LOOP AT t_zcxref_classes INTO wa_zcxref_classes
           WITH CONTROL tc_batch .
        MODULE charac_classname_out.            
      ENDLOOP.
    MODULE charac_classname_out OUTPUT.
    * Table control reading values from input screen & displaying on screen
      READ TABLE t_zcxref_classes INTO wa_zcxref_classes
                                INDEX tc_batch-current_line.
    * Logic for screen Display when Required Flag = 'D'
      IF wa_zcxref_classes-required_flag is not intial.      "if the input field has some value making as disaply
        LOOP AT SCREEN.
          IF screen-name = 'WA_ZCXREF_CLASSES-ATWRT'. "field to make as display
            screen-input = 0.
          ENDIF.
          MODIFY SCREEN.
        ENDLOOP.
      ENDIF.
    ENDMODULE.                
    Regards,
    Prabhudas

  • Default  value for a column in Table Control

    Hi friends, can i set dinamcally a default value for a column in table control?, this column is check type. This default value must appear in empty rows,
    thanks

    ADD A MODULE AS Module yyyy In ur PAI.
    as
    In PAI.
    LOOP at  itab.
    Module YYYY
    ENDLOOP.
    Module YYYY.
    LOOP AT SCREEN.
        IF SCREEN-NAME = 'ITAB-VAL’.
          ITAB-VAL = 'XXXXXXXX'        "(DEFAULT VALUE)
          SCREEN-INPUT = 0.
          MODIFY SCREEN.
        ENDIF.
    ENDLOOP.
    End module.
    *note
    make this event work only if the previous column is filled okay.
    the display will be in display mode on the screen as screen-input = 0.
    see that in the table control u can get the table field for all the rows even though you are processing on some fields .
    so what u do is make that particular filed masked(no i/p field and populate the field that will be better instead of populating all the columns okay.
    hope this helps you out ,
    regards,
    vijay.

  • JTable - Disable some columns

    How should I disable some columns in a JTable so that they cannot be edited at all? The methods provided do this but double clicking the column enables it.

    Hi
    i dont know whether u r using TableModel or not.
    if ur using a customTableModel for ur entries ..
    u can implement the following method of
    Table Model Interface.
    public boolean isCellEditable(int rowIndex,
                                  int columnIndex)then implement in such a way that ..
    compare always with ur column number and return false.
    as follows.public boolean isCellEditable(int rowIndex,
                                  int columnIndex){
    if (columnIndex ==4 )
    return false;
    else
    return true;
    }above code makes all cells in the col=4 uneditable.
    even u rearrange the cols in table it works as per documentation.
    test this .. and let me know whether u succeeded r not.
    note: i think The implementation of this method in AbstractTableModel or defaultTableModel
    returns true always.
    thanks

  • HIDING SOME COLUMS IN TABLE CONTROL

    Hi
    i have a module pool program i want to hide the some colums in table control dynamically

    typing error, use LOOP AT CTRL-COLS into COLS, then you can use COLS-INVISIBLE or COLS-SCREEN-<attribute of screen>.
    TYPE-POOL CXTAB .                                                                               
    TYPES:                                                                               
    BEGIN OF CXTAB_COLUMN,                                                             
             SCREEN      LIKE SCREEN,     "Attributes struktur SCREEN                         
             INDEX       TYPE I,         "Position of a column on the screen                  
             SELECTED(1) TYPE C,          "Indicator 'column selected'                        
             VISLENGTH   LIKE ICON-OLENG, "Visualised length of a column                      
             INVISIBLE(1) TYPE C,         "Indicator 'column invisible'                       
           END   OF CXTAB_COLUMN,                                                                               
    BEGIN OF CXTAB_CONTROL,                                                            
             FIXED_COLS    TYPE I, "Number of fixed columns                                   
             LINES         TYPE I, "Number of lines to display                                
             TOP_LINE      TYPE I, "Top line during next PBO                                  
             CURRENT_LINE  TYPE I, "Current line during LOOP/ENDLOOP                          
             LEFT_COL       TYPE I, "Fist scrollable column after fixed area                  
             LINE_SEL_MODE    TYPE I, "Line-selection  : none(0), single(1),                  
             COL_SEL_MODE     TYPE I, "Column-selection:        multiple(2)                   
             LINE_SELECTOR(1) TYPE C, "Indicator: 'With line-selection col'                   
             V_SCROLL(1) TYPE C,            "not used                                         
             H_GRID(1) TYPE C,        "Indicator: 'Horizontal  grid-lines'                    
             V_GRID(1) TYPE C,     "Indicator: 'Vertikal    grid-lines'                       
             COLS      TYPE STANDARD TABLE OF CXTAB_COLUMN                                    
                            WITH NON-UNIQUE DEFAULT KEY,                                      
             INVISIBLE(1) TYPE C,                                                             
           END   OF CXTAB_CONTROL,      
    Regards

  • Reg:How to delete the column in table control also from database table.

    Hi Experts,
    Once again thank u all for giving the responses.
    one more doubt is how to delete the columns of table control and also the record shold delete from ztable.
    With Regards,
    Saroja.P.

    Hi,
    If you want to delete the rows in the table control and simultaneously delete it from the database table, then you can implement a 'DELETE' functionality specific to your table control. Have a MARK field (you will find that in the screen attributes of the table control -> give a name for the MARK field, you will find an additional MARK column at the beginning of your table control). You can check whatever rows you want to delete from the table control, call the delete module.
    "This portion of code inside the LOOP...ENDLOOP.
    IF sy-ucomm eq 'F_DELETE'.
       gt_itab2-check = mark.  " Store the MARK field status into your internal table's correspoding field 'check'
      MODIFY gt_itab INDEX tabcontrol-current_line.
    ENDIF.
    iF sy-ucomm eq 'DELETE1'.
      DELETE gt_itab WHERE check eq 'X'. "Your internal table does not have rows that you want to delete
    ENDIF.
    Now you can modify your database table using the MODIFY statement.
    MODIFY ZDB FROM TABLE gt_itab.

  • How to add column in table control for transaction APPCREATE

    Hi All,
    How can i add the additional column in table control for transaction APPCREATE.
    There is structure PT1045_EXT present behind table control. But not found any customer exit or badi to display on screen.
    Please help...

    You can add new columns
    If you add new columns in tr. PHAP_CATALOG

  • How to add a column in table control

    Hi ,
       Can any one tell me how to add a column in table control? My requirement is to add two columns ( custom fields ) into table control ( It is a standard program). I have added the column in the table and also in the table control. But when I am running the standard program, The newly added column is not there. But I have added in the perticular screen. Change is not reflected.
       Can anyone help me on this please.
    Thanks in advance.
    Regards,
    Lakshmi.

    Hi,
    Ensure the following :
    1. After adjusting the database, you`ll have to use the database utility and activate the table.
    2. If you have changed the standard screen, in tcode se80 -- right click on the program and click activate all. This activates all objects related to that program.
    Now execute the program.
    Reward if helpful.
    Regards

  • Dynamic columns in table control

    hi,
         I need to add some fields in table control in run time based on conditions given.I need to use CXTAB related ones.
    Can anyone help me with some related codes with CXTAB.
    Edited by: Ramya Ramya on Mar 8, 2011 11:21 AM

    PROCESS BEFORE OUTPUT.
    module operation.
    loop at i_vbap into wa_vbap with control tc.
    MODULE STATUS_0100.
    endloop.
    module clear.
    PROCESS AFTER INPUT.
    loop at i_vbap.
    module modify.
    endloop.
    field VBAK-VBELN MODULE USER_COMMAND_0100 on request.
    module sub.
    include mzsanpracticetop                        .    " global Data
    * INCLUDE MZSANPRACTICEO01                        .  " PBO-Modules
    * INCLUDE MZSANPRACTICEI01                        .  " PAI-Modules
    * INCLUDE MZSANPRACTICEF01                        .  " FORM-Routines
    *&      Module  STATUS_0100  OUTPUT
    *       text
    module status_0100 output.
    *  SET PF-STATUS 'xxxxxxxx'.
    *  SET TITLEBAR 'xxx'.
      move-corresponding wa_vbap to vbap.
    endmodule.                 " STATUS_0100  OUTPUT
    *&      Module  USER_COMMAND_0100  INPUT
    *       text
    module user_command_0100 input.
      case ok_code.
        when ''.
    *if tc-lines ne tc-current_line.
          if  lv_lines  is initial.
            select vbeln
                   erdat
                   posnr
                   matnr
                   matwa
                   matkl
                   arktx
            from vbap
            into corresponding fields of table i_vbap
            where vbeln = vbak-vbeln.
    *and  erdat = vbak-erdat.
            move : sy-dbcnt to tc-lines.
          endif.
        when 'SUB'.
          delete i_vbap where mark eq 'X'.
          tc-lines = tc-lines - tc-current_line.
      endcase.
    endmodule.                 " USER_COMMAND_0100  INPUT
    *&      Module  operation  OUTPUT
    *       text
    module operation output.
      describe table i_vbap lines lv_lines.
      if tc-lines eq 0.
        tc-lines = 1.
      endif.
    endmodule.                 " operation  OUTPUT
    *&      Module  modify  INPUT
    *       text
    module modify input.
      clear lv_lines.
      describe table i_vbap lines lv_lines.
      if lv_lines ge tc-current_line.
        if wa_vbap-mark eq 'X'.
          v_index = tc-current_line .
        endif.
        modify i_vbap from wa_vbap index tc-current_line.
      else.
        if wa_vbap-mark eq 'X'.
          v_index = tc-current_line .
        endif.
        append wa_vbap to i_vbap.
        clear wa_vbap.
      endif.
    endmodule.                 " modify  INPUT
    *&      Module  clear  OUTPUT
    *       text
    module clear output.
      clear : ok_code,
              v_index.
    endmodule.                 " clear  OUTPUT
    *&      Module  sub  INPUT
    *       text
    module sub input.
    case ok_code.
    when 'SUB'.
          delete i_vbap where mark eq 'X'.
          tc-lines = tc-lines - tc-current_line.
                when 'ADD'.
    *loop at i_vbap.
          if v_index is not initial.
            insert initial line into i_vbap index v_index.
          else.
            get cursor "  field v_fname
                       line  v_line
                       area  v_area.
            move : v_line to v_index.
            v_index = v_index + 1.
            insert initial line into i_vbap index v_index.
          endif.
    *      endloop.
          tc-lines = lv_lines + 1.
      endcase.
    endmodule.                 " sub  INPUT
    understand and use it

  • Hiding columns in table control

    Hi Experts,
    I have requirement to hide certain columns in table control. I have tried my best to use SCREEN structure with ACTIVE, INVISIBLE, INPUT, OUTPUT options, but not working properly.
    The table control has nearly 10 columns with DATE as the first one. Once the screen appears after executing program, the second and third columns should be hidden and when double clicked on any date value from the basic list, the hidden columns should be visible with its values in the next level.
    I am not able to hide columns in table control. By the way, suggest me options for double clicking in table control too.
    Thanks.

    Hi,
    The value of sy-ucomm when user double clicks is /CS
    To get the details of field name and value use:-
    GET CURSOR FIELD g_cs_field VALUE g_cs_value.
    Now you can code in PAI to display those two columns initially hidden by the user:-
    CASE sy-ucomm.
      WHEN '/CS'.
        IF g_cs_field = '<field1_name>'.
          LOOP AT SCREEN.
            IF screen-group1 = 'ABC'.
              screen-invisible = 0. "display control
              screen-active = 1.
            ENDIF.
            MODIFY SCREEN.
          ENDLOOP.
        ENDIF.
    ENDCASE.
    Remember that in PBO of screen you have written a code to hide these same columns initially, so make sure that the code is not executed when user double clicks to display those columns.
    Try this code for hidding the columns in table control initially.
    MODULE status_8001.
      LOOP AT SCREEN.
        IF screen-group1 = 'ABC'.
          screen-invisible = 1. "hide control
          screen-active = 0.
        ENDIF.
        MODIFY SCREEN.
      ENDLOOP.
    ENDMODULE.
    Hope this helps you.
    Regards,
    Tarun

  • SHDO - add column in table control in CRMD_ORDER

    Hi,
    is it possible to add a EEWB generated column to table control (on the first screen)
    in TCODE CRMD_ORDER ?
    did anyone ever do that ?
    thank you,
    Regards,
    michal

    hehe
    it would be great to get feedback on everything here but I'd better obey the forum rules
    too many opened forums and I sometimes get a little lost
    Regards,
    michal

Maybe you are looking for

  • In one screen all the Maintenance Process Option

    Hi Friends The Customer required the maintenance Process like thier Logbook , whcih has Employess, shift , Timings, Operationos, Consumables, Breakdown, Next communications in One screen. Looking into this i could go for notifications for technical i

  • Start weblogic in debug mode

    Hi, I want to start weblogic in debug mode. Do you know what modifications should be made in the default configurations? -John

  • GI slip print out

    Hi Gurus Whats the procedure to get print out of goods issuance and goods transfer  document in SAP Regards Vivek Edited by: Supergene on Aug 29, 2008 9:30 PM

  • Photoshop Elements 11 not exiting completely

    When I exit from Photoshop Elements 11, I cannot reopen unless I go to task manager and make sure I end the Photoshop Elements process.

  • Is it ok to leave Time Capsule on all the time?

    Hi Is it ok in terms of the life of the hard drive to leave Time Capsule on all the time? I know it has to be on to run the wireless back ups and for the Wi-Fi to work but i have heard quite alot of people saying that you should turn it off for a cou