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.
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.
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.
| User | Count |
|---|---|
| 6 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |