2005 Dec 30 5:40 AM
Hello All,
I have a query for table control.
I am displaying my internal table in a table control & allowing user to change data when he ckicks change.
The requirement is that the first row should not get open for input.
Sample code Please.
Regards,
Dilip
Hi Diliip,
Have you used index to resd table line.
e.g.
DATA: L_STEPL TYPE SYSTEPL,
READ TABLE itab INDEX L_STEPL.
Hope this will work.
If not please post your code here.
Rgards,
Dhanu.
2005 Dec 30 5:53 AM
Hi Diliip,
Have you used index to resd table line.
e.g.
DATA: L_STEPL TYPE SYSTEPL,
READ TABLE itab INDEX L_STEPL.
Hope this will work.
If not please post your code here.
Rgards,
Dhanu.
2005 Dec 30 5:57 AM
Hello,
Following is my code which is making all the lines in table control editable.
loop at tab-cols into cols.
IF cols-screen-input = '0'.
cols-screen-input = '1'.
ELSEIF cols-screen-input = '1'.
cols-screen-input = '0'.
ENDIF.
MODIFY tab-cols FROM cols INDEX sy-tabix.
endloop.
2005 Dec 30 6:26 AM
Are you doing this in PBO? Any screen modification should be done in PBO.
2005 Dec 30 6:51 AM
Hi Again,
Please check follwing code where i have underlined.
or check program RSDEMO_TABLE_CONTROL .
&----
*& Report RSDEMO_TABLE_CONTROL *
*& *
&----
*& *
*& *
&----
REPORT RSDEMO_TABLE_CONTROL .
CONTROLS TABLE_CONTROL TYPE TABLEVIEW USING SCREEN 100.
<u>TABLES SDYN_SDW4.
DATA SDYN_ITAB LIKE STANDARD TABLE OF SDYN_SDW4.</u>DATA INIT.
DATA OK_CODE LIKE SY-UCOMM.
DATA SAVE_OK LIKE SY-UCOMM.
DATA MARK.
DATA COL TYPE CXTAB_COLUMN.
CALL SCREEN 100.
&----
*& Module STATUS_0100 OUTPUT
&----
text
----
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'GRUND'.
SET TITLEBAR '100'.
IF INIT IS INITIAL.
Datenbeschaffung
SELECT CARRID CONNID CITYFROM AIRPFROM CITYTO AIRPTO DEPTIME ARRTIME
DISTANCE DISTID
FROM SPFLI
INTO CORRESPONDING FIELDS OF TABLE SDYN_ITAB.
DESCRIBE TABLE SDYN_ITAB LINES TABLE_CONTROL-LINES.
INIT = 'X'.
ENDIF.
ENDMODULE. " STATUS_0100 OUTPUT
&----
*& Module FILL_TABLE_CONTROL OUTPUT
&----
text
----
MODULE CHANGE_SDYN_CONN OUTPUT.
<u>* you can change the content of current table control line via
sdyn_conn
READ TABLE sdyn_itab INTO sdyn_conn INDEX table_control-current_line.</u>
ENDMODULE. " FILL_TABLE_CONTROL OUTPUT
&----
*& Module READ_TABLE_CONTROL INPUT
&----
text
----
MODULE READ_TABLE_CONTROL INPUT.
Check input values
IF MARK = 'X' AND SAVE_OK = 'DELETE'.
DELETE TABLE SDYN_ITAB FROM sdyn_sdw4.
<u>DESCRIBE TABLE SDYN_ITAB LINES TABLE_CONTROL-LINES.</u> ENDIF.
ENDMODULE. " READ_TABLE_CONTROL INPUT
&----
*& Module USER_COMMAND_0100 INPUT
&----
text
----
MODULE USER_COMMAND_0100 INPUT.
SAVE_OK = OK_CODE.
CLEAR OK_CODE.
CASE SAVE_OK.
WHEN 'SORT'.
DATA: FLDNAME(100),HELP(100).
READ TABLE TABLE_CONTROL-COLS INTO COL WITH KEY SELECTED = 'X'.
SPLIT COL-SCREEN-NAME AT '-' INTO HELP FLDNAME.
SORT SDYN_ITAB BY (FLDNAME).
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
&----
*& Module EXIT INPUT
&----
text
----
MODULE EXIT INPUT.
LEAVE PROGRAM.
ENDMODULE. " EXIT INPUT<u></u>
Hope this help you.
Regards,
Dhanu.
2005 Dec 30 7:47 AM
Hi,
Do the following changes for your code and check it.
loop at tab-cols into cols.
if sy-tabix = 1.
IF cols-screen-input = '0'.
ELSE
cols-screen-input = '1'.
ENDIF.
MODIFY tab-cols FROM cols INDEX sy-tabix.
endloop.
2005 Dec 30 8:20 AM
Refer to transaction DWDM for this requirement. You can have many more features like this.
Regards,
Ankur Bhandari
p.s: Reward points if you feel it helped you.
2005 Dec 30 10:00 AM
hi,
Please refer <b>demo_dynpro_tabcont_loop_at</b> in <b>abapdocu</b>.
Regards,
Sailaja.
| User | Count |
|---|---|
| 6 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |