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,
YJRHi,
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. SHai,
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
ChandanHi 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,
thanksADD 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. -
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 dynamicallytyping 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 AMPROCESS 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,
michalhehe
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
-
Hi, I want to start weblogic in debug mode. Do you know what modifications should be made in the default configurations? -John
-
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