Is it possible to make a row in a table control as output only row?
Hi SDN,
I have created a table control with wizard.I want to make a particular row as non-editable for a condition from my program.Is it possible?
yeah , make use of table SCREEN.
loop at screen.
screen-output = 'X'.
modify screen.
endloop.
Similar Messages
-
hello, i created 5 different books (photo album) and i would like to know if it's possible to make one single order (and pay the transportation fees only once...) i couldn't find how
Soory, no, it is not possible. You can only combine multiple copies of the same book into one order.
Regards
Léonie -
Possible to make an item editable for certain users and read only for other
Is it possible to make an item editable for certain users and read only for others?
I've been able to accomplish this by taken the select statement that I used to define an authorization scheme, placing it in the Read Only condition of the item. However, I would like to simply reference the authorization scheme to utilize caching, and to help keep things cleaner for future maintenance.
Is it possible to reference an authorization scheme in an item condition similar to the way another item can be referenced by preceding it with a colon (i.e. :P1_First_Name)?Thank you, your suggestion worked.
It would be nice on a future release of APEX if a drop-down box existed under the Ready Only section that would allow an existing Authorization Scheme to be selected or negated when applying the Read Only attribute to a form item. -
How to display particular ROW of a table control in display/change mode
Hi,
Can we make particular ROW in a table control display mode or editable mode depending upon the conditions?.
Any inputs..
Rgds,
LakshmirajHi,
Yes it is possible. check the follwoing code for help.
*& Include Z101954_ASSIGNMENT1I01
*& Module VALIDATE_SALES_ORG INPUT
text
MODULE validate_sales_org INPUT.
SELECT SINGLE zvkorg FROM vbak INTO zvbak-zvkorg
*WHERE zvbeln = zbookhdr-zvbeln.
IF sy-subrc <> 0.
MESSAGE 'INVALID AIRLINE ID INPUT' TYPE 'I'.
CALL SCREEN 1000.
ENDIF.
ENDMODULE. " VALIDATE_SALES_ORG INPUT
*& Module USER_COMMAND_1001 INPUT
text
MODULE user_command_1001 INPUT.
var3 = 1.
IF sy-ucomm <> 'SAVE'.
PERFORM material_check.
IF sy-subrc <> 0.
MESSAGE 'ENTER THE CORRECT MATERIAL NUMBER' TYPE 'I'.
ELSE.
SELECT SINGLE zmaktx zmeins zwaerk zstprs FROM zmara
INTO CORRESPONDING FIELDS OF it_salesitems
WHERE zmatnr = it_salesitems-zmatnr.
SELECT SINGLE zwerks zlgort FROM zorg
INTO CORRESPONDING FIELDS OF it_salesitems
WHERE zvkorg = wa_salesorder-zvkorg
AND zvtweg = wa_salesorder-zvtweg
AND zspart = wa_salesorder-zspart.
it_salesitems-znetwr = it_salesitems-zstprs * it_salesitems-zbrgew.
MODIFY it_salesitems FROM it_salesitems INDEX sy-tabix.
MOVE-CORRESPONDING it_salesitems TO temp_salesitems.
APPEND temp_salesitems.
REFRESH it_salesitems.
ENDIF.
ENDIF.
LOOP AT temp_salesitems.
if it_salesitems-pick = 'X'.
LOOP AT SCREEN.
IF screen-name EQ 'DETAIL'.
screen-input = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
endif.
endloop.
CASE sy-ucomm.
WHEN 'SAVE'.
PERFORM check_ship_to_party.
IF sy-subrc <> 0.
MESSAGE 'ENTER THE CORRECT SHIP TO PARTY ' TYPE 'I'.
ELSE.
PERFORM check_payer.
IF sy-subrc <> 0.
MESSAGE 'ENTER THE CORRECT PAYER' TYPE 'I'.
ELSE.
PERFORM check_bill_to_party.
IF sy-subrc <> 0.
MESSAGE 'ENTER THE CORRECT BILL TO PARTY' TYPE 'I'.
ELSE.
wa_salesorder-zernam = sy-uname.
MOVE-CORRESPONDING wa_salesorder TO zvbak.
MODIFY zvbak.
LOOP AT it_salesitems.
it_salesitems-zvbeln = wa_salesorder-zvbeln.
MOVE-CORRESPONDING it_salesitems TO zvbap.
MODIFY zvbap.
ENDLOOP.
IF sy-subrc = 0.
MESSAGE 'THE DATA IS SAVED SUCCESSFULLY' TYPE 'I'.
CLEAR wa_salesorder.
REFRESH it_salesitems.
REFRESH temp_salesitems.
IF sy-tcode = 'ZVA01'.
CALL SCREEN '1000'.
ELSE.
CALL SCREEN '1003'.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
WHEN 'DETAIL'.
CALL SCREEN '1002'.
WHEN 'BACK'.
IF sy-tcode = 'ZVA03'.
CLEAR wa_salesorder.
CALL SCREEN '1003'.
ELSE.
PERFORM pop_up.
ENDIF.
WHEN 'EXIT'.
IF sy-tcode = 'ZVA03'.
LEAVE PROGRAM.
ELSE.
PERFORM pop_up.
ENDIF.
WHEN 'CANCEL'.
IF sy-tcode = 'ZVA03'.
CLEAR wa_salesorder.
CALL SCREEN '1003'.
ELSE.
PERFORM pop_up.
ENDIF.
ENDCASE.
ENDMODULE. " USER_COMMAND_1001 INPUT
*& Module input_help_sold_to_party INPUT
text
MODULE input_help_sold_to_party INPUT.
SELECT zkunag FROM zvbak INTO CORRESPONDING FIELDS OF TABLE
itab.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
DDIC_STRUCTURE = ' '
retfield = 'ZKUNAG'
PVALKEY = ' '
dynpprog = sy-cprog
dynpnr = '1000'
dynprofield = 'ZKUNAG'
STEPL = 0
WINDOW_TITLE =
VALUE = ' '
value_org = 'S'
MULTIPLE_CHOICE = ' '
DISPLAY = ' '
CALLBACK_PROGRAM = ' '
CALLBACK_FORM = ' '
MARK_TAB =
IMPORTING
USER_RESET =
TABLES
value_tab = itab
FIELD_TAB =
RETURN_TAB =
DYNPFLD_MAPPING =
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDMODULE. " input_help_sold_to_party INPUT
*& Form pop_up
text
--> p1 text
<-- p2 text
FORM pop_up .
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
TITLEBAR = ' '
DIAGNOSE_OBJECT = ' '
text_question = 'DO YOU WANT TO SAVE THE ORDER?'
text_button_1 = 'YES'(001)
icon_button_1 = ' '
text_button_2 = 'No'(002)
icon_button_2 = ' '
default_button = '1'
display_cancel_button = 'X'
userdefined_f1_help = ' '
START_COLUMN = 25
START_ROW = 6
POPUP_TYPE =
IV_QUICKINFO_BUTTON_1 = ' '
IV_QUICKINFO_BUTTON_2 = ' '
IMPORTING
answer = ans
TABLES
PARAMETER =
EXCEPTIONS
TEXT_NOT_FOUND = 1
OTHERS = 2
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CASE ans.
WHEN '001'.
PERFORM check_ship_to_party.
IF sy-subrc <> 0.
MESSAGE 'ENTER THE CORRECT SHIP TO PARTY ' TYPE 'I'.
ELSE.
PERFORM check_payer.
IF sy-subrc <> 0.
MESSAGE 'ENTER THE CORRECT PAYER' TYPE 'I'.
ELSE.
PERFORM check_bill_to_party.
IF sy-subrc <> 0.
MESSAGE 'ENTER THE CORRECT BILL TO PARTY' TYPE 'I'.
ELSE.
wa_salesorder-zernam = sy-uname.
MOVE-CORRESPONDING wa_salesorder TO zvbak.
MODIFY zvbak_101954.
temp_salesitems-zvbeln = wa_salesorder-zvbeln.
MOVE-CORRESPONDING temp_salesitems TO zvbap.
MODIFY zvbap.
IF sy-subrc = 0.
MESSAGE 'THE DATA IS SAVED SUCCESSFULLY' TYPE 'I'.
CLEAR wa_salesorder.
REFRESH it_salesitems.
REFRESH temp_salesitems.
IF sy-ucomm = 'EXIT'.
LEAVE PROGRAM.
ENDIF.
IF sy-tcode = 'ZVA01'.
CALL SCREEN '1000'.
ELSE.
CALL SCREEN '1003'.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
WHEN '002'.
IF sy-tcode = 'ZVA01'.
CLEAR wa_salesorder.
REFRESH it_salesitems.
REFRESH temp_salesitems.
CALL SCREEN '1000'.
ELSE.
CLEAR wa_salesorder.
REFRESH it_salesitems.
REFRESH temp_salesitems.
CALL SCREEN '1003'.
CLEAR ans.
ENDIF.
ENDCASE.
ENDFORM. " pop_up
*& Module USER_COMMAND_1002 INPUT
text
MODULE user_command_1002 INPUT.
IF sy-datar = 'X'.
PERFORM material_check.
IF sy-subrc <> 0.
MESSAGE 'ENTER THE CORRECT MATERIAL' TYPE 'I'.
ELSE.
SELECT SINGLE zmaktx zmeins zwaerk zstprs FROM zmara_101954
INTO CORRESPONDING FIELDS OF wa_salesitems
WHERE zmatnr = wa_salesitems-zmatnr.
wa_salesitems-znetwr = wa_salesitems-zstprs * wa_salesitems-zbrgew.
ENDIF.
var = 1.
ENDIF.
IF sy-ucomm = 'BACK'.
LOOP AT temp_salesitems.
MODIFY temp_salesitems FROM wa_salesitems .
ENDLOOP.
it_salesitems-pick = ' '.
CALL SCREEN '1001'.
ENDIF.
ENDMODULE. " USER_COMMAND_1002 INPUT
*& Module USER_COMMAND_1000 INPUT
text
MODULE user_command_1000 INPUT.
CASE sy-ucomm.
WHEN 'NEXT'.
SELECT * FROM zt001k_101954 INTO CORRESPONDING FIELDS OF
temp_salesorder WHERE
zvkorg = wa_salesorder-zvkorg AND
zvtweg = wa_salesorder-zvtweg AND
zspart = wa_salesorder-zspart.
ENDSELECT.
IF sy-subrc = 0.
CALL SCREEN '1001'.
ELSE.
MESSAGE 'Invalid Data Entered' TYPE 'I'.
CALL SCREEN '1000'.
ENDIF.
ENDCASE.
ENDMODULE. " USER_COMMAND_1000 INPUT
*& Module USER_COMMAND_1003 INPUT
text
MODULE user_command_1003 INPUT.
IF sy-ucomm = 'NEXT'.
IF sy-datar = ' '.
MESSAGE 'ENTER PURCHASE ORDER NUMBER' TYPE 'I'.
CALL SCREEN 1000.
IF NOT wa_salesorder-zvbeln CO '0123456789'.
MESSAGE 'PURCHASE ORDER NUMBER IS NOT IN THE EXPECTED FORMAT' TYPE 'I'.
CALL SCREEN '1003'.
ENDIF.
var3 = 0.
CALL SCREEN '1001'.
ENDIF.
ENDMODULE. " USER_COMMAND_1003 INPUT
*& Module input_help_sales_order INPUT
text
MODULE input_help_sales_order INPUT.
SELECT zvbeln FROM zvbak_101954 INTO CORRESPONDING FIELDS OF TABLE
itab1.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
DDIC_STRUCTURE = ' '
retfield = 'ZVBELN'
PVALKEY = ' '
dynpprog = sy-cprog
dynpnr = '1003'
dynprofield = 'ZVBELN'
STEPL = 0
WINDOW_TITLE =
VALUE = ' '
value_org = 'S'
MULTIPLE_CHOICE = ' '
DISPLAY = ' '
CALLBACK_PROGRAM = ' '
CALLBACK_FORM = ' '
MARK_TAB =
IMPORTING
USER_RESET =
TABLES
value_tab = itab1
FIELD_TAB =
RETURN_TAB =
DYNPFLD_MAPPING =
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDMODULE. " input_help_sales_order INPUT
*& Module back_command INPUT
text
module back_command input.
*if sy-ucomm = 'SAVE' OR 'BACK' OR 'DETAIL' OR 'EXIT' OR 'CANCEL'.
*endif.
endmodule. " back_command INPUT
Regards
Rajesh Kumar -
Changing number of rows oin a table control dynamically
Hi all
Is there a way to change the no of rows dynamically.
I have a requirement that at run time , depending on a condition, I have to change the no of rows in the table control to 1 row.
Is this possible to do?If else How?
Thanks.You can redefine table control attributes eachtime PBO is called, because those attributes are dynamic. So although you defined tc-lines as 1 in first PBO execution, you can redefine to 2 if some condition is achieved,
One idea could be to create a global var, called tc_lines which is initialized as 1. In your PBO you shoud use: <tc>-lines = tc_lines.
In PAI, when you obtain your condition, you shoud here add or subract one from this global variable.
Regards,
Valter Oliveira. -
Locking a particular row in a table control
Hi All,
I have module pool program in which table control is used. I would like to know whether it is possible to lock a particular row in the table so that another person will not be able to edit it until the first user completes his work. It should be only for that particular record which is being currently edited in the table.Hi,
Yes you can lock particular row in a table control..
In the flow logic..
PROCESS BEFORE OUTPUT.
LOOP AT itab INTO wa WITH CONTROL tc.
MODULE disable_row.
ENDLOOP.
MODULE disable_row.
* call the Enqueue function module..If the
IF sy-subrc NE 0.
LOOP AT screen.
SCREEN-INPUT = 0. " Disable for input
MODIFY SCREEN.
ENDLOOP.
ENDIF.
ENDMODULE.
Thanks
Naren -
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 -
What is the maximum number of row for a table control in LabWindows/CVI ?
I use LabWindows CVI 8.5.1 (MMI first developped in version 6.0).
In one of our many MMI, a table control contains a list of aircraft parameters.
We can add as many parameters (row) as we want but over 40 000 we observe a crash of the LabWindows CVI runtime.
Our client want to inscrease the number of parameters (row) up to 200 000 !!!
So my questions are:
What is the real maximum number of row for the table control ?
Is this maximum number of row different on LabWindows 2010 version ?
Or is there an other solution ?
ThanksGreetings,
Can you clarify what you mean by "crash"? Is there an error message thrown? Is it possible that you've consumed all of the available memory?
Please let me know.
Thanks, James Duvall
Product Support Engineer
National Instruments -
Insert row and delete row in a table control
Hi Experts,
I am using a table control in module pool programming, How can I Insert row and delete row in a table control?
Thanks in Advance....Santhosh,
Iam using this code..
FORM fcode_delete_row
USING p_tc_name TYPE dynfnam
p_table_name
p_mark_name .
-BEGIN OF LOCAL DATA----
DATA l_table_name LIKE feld-name.
data: p_mark_name type c.
FIELD-SYMBOLS <tc> TYPE cxtab_control.
FIELD-SYMBOLS <table> TYPE STANDARD TABLE.
FIELD-SYMBOLS <wa>.
FIELD-SYMBOLS <mark_field>.
-END OF LOCAL DATA----
ASSIGN (p_tc_name) TO <tc>.
get the table, which belongs to the tc *
CONCATENATE p_table_name '[]' INTO l_table_name. "table body
ASSIGN (l_table_name) TO <table>. "not headerline
delete marked lines *
DESCRIBE TABLE <table> LINES <tc>-lines.
LOOP AT <table> ASSIGNING <wa>.
access to the component 'FLAG' of the table header *
ASSIGN COMPONENT p_mark_name OF STRUCTURE <wa> TO <mark_field>.
if <MARK_FIELD> = 'X'.
PERFORM f_save_confirmation_9101.
IF gv_answer EQ '1'.
DELETE <table> INDEX syst-tabix.
IF sy-subrc = 0.
<tc>-lines = <tc>-lines - 1.
ENDIF.
ELSE.
ENDIF.
ENDIF.
ENDLOOP.
in this code ASSIGN COMPONENT p_mark_name OF STRUCTURE <wa> TO <mark_field>.
if <MARK_FIELD> = 'X'.
this code is not working... -
Get the count of rows in a table control
Hi Experts,
How do I get the count of the rows in a table control during run time.
I am developing a BDC in which I have to check all entries in a table control.
My requirement is to get the total number of rows in a table control dynamically.
Thanks
KumarHi,
Use a variable when u r passing the records from the internal table to the screen fields
and display the same.
I think this idea may help u.
And pls explain me ur requirement clearly.
Refer to the following link this may help u.
http://sapabapnotes.blogspot.com/2008/03/working-with-ecatt-extended-computer.html
Reward if helpful.
Jagadish -
Table control enable and disable rows
Hi,
I want to keep the table control in disabled mode initially.
When user press the add button,the row next to where data is already present should alone be enabled for data entry.
In PBO event i was able to disable the entire table control.but when i could not find a way to identify the first blank line to enable it for data entry.
Please help.
Thanks
AmbilyHi Ambily,
follow the below steps
declare a data : w_flag type c. in the global
and next write the code the PBO
PROCESS BEFORE OUTPUT.
* Module screen GUI-Screen&Status and Screen Logic
MODULE status_<Screennum>.
* Table control for OUTPUT
LOOP AT <table-control> .
MODULE Modify_screen.
ENDLOOP.
Module modify_screen output.
* Table control reading values from input screen & displaying on screen
READ TABLE <table> INDEX <tablecontrol>-current_line.
If w_flag is initial.
LOOP AT SCREEN.
IF screen-name = <Tablecontrol Line>.
screen-input = 0.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
wndif.
Endmodule.
"next in PAI mark the w_flag to 'X'
Prabhudas -
How to increase row height in table control?
Hi experts,
We have a push button in table control created using screen painter. Since this is a touch screen transaction, the default height is very small for the worker in the plant to click on a specific row, i would like to know if there is any way to increase the row height in the table control. There is no attribute in Screen painter for increasing row height in table control. I did try "import dynpro", hoping to increase the row height and export the dynpro, but that doesn't seem to have row height attributes. Any help in this regard is highly appreciated. Thanks,
RajUsing a new technology means you have to recreate your screen: you may create an HTML using CL_DD_* classes (that's called "Dynamic Documents"). See [SAP Library - DD programming guide|http://help.sap.com/saphelp_nw2004s/helpdata/en/13/12284b019511d4a73e0000e83dd863/frameset.htm]. Demos are provided in SDYNAMICDOCUMENTS package. Or I think you may create web dynpro and define a CSS style to enlarge objects.
If you don't want to create everything, maybe you can find out a workaround with GuiXT, for example creating a big button in each row (for example, with BUTTONSIZE, but don't know if it changes the height of rows but that's worth trying).
Well, [Synactive documentation about table controls|http://www.synactive.com/docu_e/specials/tables.html] does not seem to allow that.
Maybe you can move your question to the "scripting" forum and ask about how to do it with GuiXT... -
Changing height of a row in a table control
Hi all,
I have developed a webdynpro application in which i am using a table control in the view. Can anyone tell me how can i change the height of a row in the table control?
thanx in advance
anuradhahi anuradha,
you can set the number of the rows to be displayed, in the table controller properties, so that those many rows will be disaplayed at a time.
to do this.
Go to table controller properties,
mention the integer( number of rows to be displayed ) value in the <b>visiblerowcount</b> property.
if your requirement is not this then let me know.
bye.
Brahmanandam. -
Hi,
I have a requirement to insert a new row and delete an existing row from a table control.
Please help me how to proceed with this.
Thanks in advance.
SureshHi,
Sorry for wrongly framed question.
The question is
I have a requirement to insert a new <b>column</b> and delete an existing <b>column</b> from a table control.
Thanks,
Suresh -
Highlighting one row in a table control
Hi All,
Can i highlight one row in a table control. I found some stroke color in the properties for a field in table control. But i am not sure, will it be applied to the entire column or to a particular field.
Anybody aware of this.?
Regards,
Manjunatha.T.SHi,
This is not currently available in VC.
Lior
Maybe you are looking for
-
How can I make a filter in number app
How can I make a filter in a row in number apps? Sometimes i need to filter my name in a list from an excel sheet. What I need is to know if I van use data filtering in number app.
-
How can i get pdf files from my ipad to my pc?
Please help im so lost, i need to get a pdf file from my ipad to my pc but it doesnt work with workspaces. I really need it for uni.
-
Master Data loading in BPC 7.5 with prefix
Hi Gurus, I need a help in master loading in BPC 7.5 Currently we are loading GL account with prefix of A and controlling area(COA1) BI:0000600000 BPC: ACOA10000600000 I have maintained logic in the transformation file as below. Z001 represents the h
-
I have added music to my iTunes 7. However, the only problem I have is that the songs are in reverse order. if a cd has 20 songs, it starts the song order from 20-1, instead of 1 - 20. Is there a way I change the way my songs appear. Now that iTunes
-
Sharepoint 2013 - url redirects with port number added
Hi, In our sharepoint 2013 environment, we have a custom application and in which we have a button and when we click on the button the initial url was below http://abcd.com/apps/xyz/test.aspx After clickin on the button it redirects to the below, whe