‎2007 Jan 19 5:59 PM
hi everyone.
i had a table control on a module pool. with one column that can be editable depending on a condition.
Can anyone tell me how to do this.
thks.
‎2007 Jan 19 6:10 PM
Hi,
Step1: in the screen painter, for all the table columns set attribute OUTPUT only selected.
step2: in the flow logic declare a module inside the loop as written below:
LOOP AT DYN_TAB with control tc_dyn_tab
CURSOR DYN_TAB_INDEX.
MODULE SHOW_DYN_TAB.
ENDLOOP.
step 3: write the following logic inside the module.
module show_dyn_tab output.
if condition1.
loop at screen.
if screen-name = 'FIELDNAME IN CAPS'.
screen-input = '1'.
modify screen.
endif.
endloop.
endmodule.Hope this helps
\Sajan Joseph.
‎2007 Jan 19 6:25 PM
Hi,
While transfering data from your internal table to the table control in your PBO, also check for the SCREEN-NAME parameter. If SCREEN-NAME equals the column name, make screen-input = 1 whereas for all the other column names, make screen-input = 0. This will enable you to make only one column editable. Always use the column name in upper case while comparing it with SCREEN-NAME.
Reward points if the answer is helpful.
Regards,
Mukul
‎2007 Mar 06 12:27 PM
this is really very easy,just go to PBO of that screen and write the code inside any module.this module should be inside LOOP ENDLOOP OF THE TABLE CONTROL,
write :-
loop at screen.
if screen-name = 'NAMEOFSCREEN'.
SCREEN-INPUT = 0.
SCREEN-OUTPUT = 1.
MODIFY SCREEN.
endloop.