OVS: Input Field length?
Hi,
I have an OVS that is using a BAPI. This BAPI has a field for email with type AD_SMTPADR - length 241 Characters.
When I create an OVS with that the Input Field for search shown has length 241 which is way to big. Any chance to adjust that? I tried to manually adjust the generated type in web Dynpro field external representation, but with no success. Where does the OVS take the length of the input field from?
Any official way to do that? Other then changing BAPI Type or implementing view etc. on my own?
Thx in advance,
Frank
The problem is not the input field to whom I bound the OVS... The problem is the search field I have in the OVS itself.
I have the personal number as OVS result, but I want the user to search for email, surname and lastname. The email Input field is 241 characters big, which is way TOO big. Looks very ugly.
For now I changed the type in ABAP but this is not very satisfying. I just read about OVSConfigurator in 7.11 but I'm in 7.10. If the UI of the OVS can not be changed, it is pretty useless in my opinion...
Thx anyway,
Frank
Similar Messages
-
Problem with increasing input field length in module pool programming.
Hi All,
I have created a screen in which i have used table control wizard. In my table control I have an input field. The problem is, this input filed only takes 23 inputs at a time. I need to make this field unfixed. This is an quantity field. I am not understanding why this is happening. Can anybody plz help me in this regard ?
Thanks in advance.
Tripod.HI Tripod ,
YOu can add Lines to Table control .
Add one button by name ADD LINES : give func code 'ADD'
IN PBO ...
if it_mat[] is not initial .
describe table it_mat lines ln .
tab_ctrl-lines = ln .
endif.
case sy-ucomm .
when 'ADD' .
perform add_lines .
endcase .
form add_lines .
ln = ln + 1 .
clear it_mat .
append initial line to it_mat .
endform .
regards
deepak. -
How to read value of OVS Input field on pressinf of F4
In my case I have to read value from context node as I am skipping the phase 1 of on OVS PHASE MODEL
but not sure how to read the value from context element
METHOD on_ovs .
DATA: lo_nd TYPE REF TO if_wd_context_node,
lo_el TYPE REF TO if_wd_context_element,
lo_el_parent TYPE REF TO if_wd_context_element.
lo_el = wdevent->get_context_element( name = 'OVS_CONTEXT_ELEMENT' ).
lo_el_parent = lo_el->get_node( )->get_parent_element( ).
DATA: criteria TYPE string.
DATA text TYPE string.
lo_el->get_attribute( EXPORTING name = 'ATTR_TEXT' IMPORTING value = text ).
DATA: ls_search_input TYPE cl_grac_feeder_role_search=>lty_stru_input,
lt_select_list TYPE STANDARD TABLE OF cl_grac_feeder_role_search=>lty_stru_list,
ls_text TYPE wdr_name_value,
lt_label_texts TYPE wdr_name_value_list,
lt_column_texts TYPE wdr_name_value_list,
lv_window_title TYPE string,
lv_table_header TYPE string.
FIELD-SYMBOLS: <ls_query_params> TYPE cl_grac_feeder_role_search=>lty_stru_input,
<ls_selection> TYPE cl_grac_feeder_role_search=>lty_stru_list.
CASE ovs_callback_object->phase_indicator.
WHEN if_wd_ovs=>co_phase_0. "configuration phase, may be omitted
in this phase you have the possibility to define the texts,
if you do not want to use the defaults (DDIC-texts)
lt_label_texts = wd_this->get_ovs_label_texts( criteria ).
lt_column_texts = wd_this->get_ovs_column_texts( criteria ).
lv_window_title = wd_this->get_ovs_window_title( criteria ).
lv_table_header = wd_this->get_ovs_table_header( criteria ).
lv_window_title = wd_assist->get_text( `003` ).
lv_table_header = wd_assist->get_text( `004` ).
CASE text.
WHEN 'SYSTEM'.
ls_text-name = `CONNECTORID`.
ls_text-value = `System`.
INSERT ls_text INTO TABLE lt_label_texts.
lv_window_title = ls_text-value.
lv_table_header = ls_text-value.
lt_column_texts = lt_label_texts.
when 'PERMISSION' .
return.
when 'ACTION'.
RETURN.
ENDCASE.
ovs_callback_object->set_configuration(
label_texts = lt_label_texts
column_texts = lt_column_texts
window_title = lv_window_title
table_header = lv_table_header ).
WHEN if_wd_ovs=>co_phase_1. "set search structure and defaults
In this phase you can set the structure and default values
of the search structure. If this phase is omitted, the search
fields will not be displayed, but the selection table is
displayed directly.
Read values of the original context (not necessary, but you
may set these as the defaults). A reference to the context
element is available in the callback object.
ovs_callback_object->context_element->get_static_attributes(
IMPORTING static_attributes = ls_search_input ).
pass the values to the OVS component
ovs_callback_object->set_input_structure(
input = ls_search_input ).
CASE text.
WHEN 'SYSTEM'.
DATA: l_conn TYPE grac_s_grfncgrpconlk.
ovs_callback_object->set_input_structure( EXPORTING input = l_conn ).
ENDCASE.
WHEN if_wd_ovs=>co_phase_2.
If phase 1 is implemented, use the field input for the
selection of the table.
If phase 1 is omitted, use values from your own context.
IF ovs_callback_object->query_parameters IS NOT BOUND.
TODO exception handling
ENDIF.
ASSIGN ovs_callback_object->query_parameters->*
TO <ls_query_params>.
IF NOT <ls_query_params> IS ASSIGNED.
TODO exception handling
ENDIF.
call business logic for a table of possible values
lt_select_list = ???
DATA: l_data TYPE grac_t_bproc.
DATA: ls_data TYPE REF TO data.
DATA: l_stru TYPE REF TO cl_abap_tabledescr.
l_stru ?= cl_abap_tabledescr=>describe_by_name( 'GRAC_T_BPROC' ).
CREATE DATA ls_data TYPE HANDLE l_stru.
wd_this->get_ovs_selection_list( EXPORTING iv_criteria = criteria IMPORTING rt_list = l_data ).
"ASSIGN l_data->* to <lt_list>.
ovs_callback_object->set_output_table( output = l_data ).
"ovs_callback_object->set_output_table( output = lt_select_list ).
FIELD-SYMBOLS: <fs_query_params> TYPE cl_grac_feeder_role_search=>lty_stru_input1,
<fs_selection> TYPE cl_grac_feeder_role_search=>lty_stru_list.
DATA lv_connector_grp TYPE grfn_connectorgrp.
IF ovs_callback_object->query_parameters IS NOT BOUND.
TODO exception handling
ENDIF.
ASSIGN ovs_callback_object->query_parameters->*
TO <fs_query_params>.
IF NOT <fs_query_params> IS ASSIGNED.
TODO exception handling
ELSE.
lv_connector_grp = <fs_query_params>-field1.
ENDIF.
IF lv_connector_grp IS INITIAL.
lv_connector_grp = '*'.
ENDIF.
CASE text.
WHEN 'SYSTEM'.
DATA: lt_system_list TYPE grac_t_grfncgrpconlk.
FIELD-SYMBOLS: <ls_system> LIKE LINE OF lt_system_list.
cl_grfn_cci_ts_configuration=>get_group_connectors(
EXPORTING
iv_connector_grp = lv_connector_grp
iv_no_authority_chk = ABAP_FALSE
IMPORTING
rt_connectors = lt_system_list
ovs_callback_object->set_output_table( output = lt_system_list ).
WHEN 'ACTION'.
data lt_action_output TYPE TABLE OF cl_grac_feeder_role_search=>t_action_list.
ovs_callback_object->set_output_table( output = lt_action_output ).
WHEN 'PERMISSION'.
DATA: lt_perm TYPE TABLE OF cl_grac_feeder_role_search=>t_permission_list.
ovs_callback_object->set_output_table( OUTPUT = lt_perm ).
ENDCASE.
WHEN if_wd_ovs=>co_phase_3.
FIELD-SYMBOLS <system> TYPE grac_s_grfncgrpconlk.
CASE text.
WHEN 'SYSTEM'.
ASSIGN ovs_callback_object->selection->* TO <system>.
IF <system> IS ASSIGNED.
ovs_callback_object->context_element->set_attribute(
name = 'INPUT1_SYSTEM'
value = <system>-connector ).
wd_this->mv_connectorid = <system>-connector.
ENDIF.
ENDCASE.
ENDCASE.
ENDMETHOD.Hi,
It depends how you are setting your parameter also as there are different types of parameters in portal. The best is to use the page level parameters..
Please read the developers gide Section 8.3 for more details....
The link is :-
http://download-east.oracle.com/docs/cd/B14099_19/portal.1014/b14135/pdg_pdk_plsql.htm#CHDGAHCF
Guneet -
The list doesn't appear in the input field
Hi All
The list doesn't appear in the input field when I make input or press the BACKSPACE key.
Notes:
I made this modifications:
1. In connection properties I set High speed connections (LAN)
2. In local data settings I set the historial to ON
we had SAPGUI 620 in workstations and now we have installed SAPGUI 710
Thanks for your time and help
Message was edited by:
Genner SanchezHello Genner,
see note 399180:
o FIELD NAME LENGTH
The history is only written for field names with a maximum length
of 40 characters. In earlier SAP GUI versions, this length was
restricted to 30 characters. The history file must be deleted to
achieve extended support.
o FIELD LENGTH
If the length of the input field is 60 or more characters,
history is not written either. "Input field length" refers to the
dictionary length of the field, not to the "visible length" on
the screen. (The restriction of the input data to 60 characters
results from the fact that text editors were often built as lists
of text fields with a length of 60 in the past. In those editors,
this history was quite annoying. On customer request, this was
Regards, Martin -
Length of Input field in PCUI ???
Hello Expert,
Is there anyway to change the length of input field ?
I created a input field of lenght 1 in GUI. and added this field PCUI also. In pcui this field is accepting only one char but the field visiable on screen is too long for a single char.I want to change this visiable length of the field on the screen.
Please Guide me!!!
Thanks
AmitThanks Thirumala for ur reply
Dear visiable length is not taken from DDIC structure field
length, that also control length of input value.
Visiable length is controled by layout Algo. only this much i know.How can we change that, No idea.
Thanks
Amit -
OVS will not allow me to change the value of a read-only input field. If the input field is set to read-only, the OVS selection table does not display an 'OK' button, only close.
Value cannot be copied (field is not editable)
I do not want the field to be editable on the screen, but only allow input via the selected row in the OVS. Any suggestions?
Edited by: Bob DeNuto on Jul 31, 2008 1:22 AMUsing Dictionary Search Help and OVS in this case will disable the Copy button and you don't have any control.
Use Freely Programmed Value Help, this will solve your problem
https://wiki.sdn.sap.com/wiki/display/WDABAP/Freelyprogrammedinput+help
how to provide f4 help to the read only input field
Abhi -
How to disable a input field in OVS search
Hi friends,
I have crated a OVS search help for matnr.
i have two input field like matnr and mat desc.. user can enter any value and hit SEARCH..
im getting results.
Now i want to hardoced a value of matnr = 001.. and make this field read only..
how can we do it..
i just took a example of matnr and mat desc. to make u understand easily...
kindly help.
NirajaHi Niraja,
You can initialize the value for MATNR in the phase 1 of the eventhandler method for OVS. Try refer the code segment below. Am initializing the values for MATNR & MAKTX fields in the lines:
ls_search_input-matnr = 'D*'.
ls_search_input-maktx = '*'.
* pass the values to the OVS component
ovs_callback_object->set_input_structure(
input = ls_search_input ).
Regards,
Uday
Below is the complete code from my eventhandler method:
method ON_OVS .
" declare data structures for the fields to be displayed and for the table columns of the selection list
types:
begin of lty_stru_input,
" add fields for the display of your search input here
matnr type string,
maktx type string,
end of lty_stru_input.
types:
begin of lty_stru_list,
" add fields for the selection list here
matnr type string,
maktx type string,
end of lty_stru_list.
data: ls_search_input type lty_stru_input,
lt_select_list type standard table of lty_stru_list,
ls_text type wdr_name_value,
lt_label_texts type wdr_name_value_list,
lt_column_texts type wdr_name_value_list,
lv_window_title type string,
lv_group_header type string,
lv_table_header type string.
field-symbols: <ls_query_params> type lty_stru_input,
<ls_selection> type lty_stru_list.
data: lv_matnr type mara-matnr,
lv_maktx type makt-maktx.
case ovs_callback_object->phase_indicator.
when if_wd_ovs=>co_phase_0. "configuration phase, may be omitted
" in this phase you have the possibility to define the texts, if you don't want to use the defaults (DDIC-texts)
ls_text-name = `MATNR`. "must match a field name of search
ls_text-value = `Material Number`. "wd_assist->get_text( `001` ).
insert ls_text into table lt_label_texts.
ls_text-name = `MAKTX`.
ls_text-value = `Material Description`.
insert ls_text into table lt_label_texts.
ls_text-name = `MATNR`. "must match a field in list structure
ls_text-value = `Col1 -> Material Number`. "wd_assist->get_text( `002` ).
insert ls_text into table lt_column_texts.
ls_text-name = `MAKTX`. "must match a field in list structure
ls_text-value = `Col2 -> Material Description`. "wd_assist->get_text( `002` ).
insert ls_text into table lt_column_texts.
ovs_callback_object->set_configuration(
label_texts = lt_label_texts
column_texts = lt_column_texts
group_header = lv_group_header
window_title = lv_window_title
table_header = lv_table_header
col_count = 2
row_count = 10 ).
when if_wd_ovs=>co_phase_1. "set search structure and defaults
" In this phase you can set the structure and default values of the search structure. If this phase is omitted, " the search fields will not be displayed, but the selection table is displayed directly.
" Read values of the original context (not necessary, but you may set these as the defaults). A reference to " the context element is available in the callback object.
ovs_callback_object->context_element->get_static_attributes
( importing static_attributes = ls_search_input ).
" Setting the default values to be displayed in the selection screen
ls_search_input-matnr = 'D*'.
ls_search_input-maktx = '*'.
" pass the values to the OVS component
ovs_callback_object->set_input_structure( input = ls_search_input ).
when if_wd_ovs=>co_phase_2.
" If phase 1 is implemented, use the field input for the selection of the table
" If phase 1 is omitted, use values from your own context.
assign ovs_callback_object->query_parameters->*
to <ls_query_params>.
lv_matnr = <ls_query_params>-matnr.
lv_maktx = <ls_query_params>-maktx.
replace all occurences of: '*' in lv_matnr with '%',
'*' in lv_maktx with '%'.
select a~matnr
b~maktx into corresponding fields of table lt_select_list up to 10 rows
from mara as a inner join
makt as b on a~matnr = b~matnr where
( a~matnr like lv_matnr and b~maktx like lv_maktx and b~spras = 'EN' ).
" call business logic for a table of possible values
" lt_select_list = ???
ovs_callback_object->set_output_table( output = lt_select_list ).
when if_wd_ovs=>co_phase_3.
" apply result
assign ovs_callback_object->selection->* to <ls_selection>.
if <ls_selection> is assigned.
ovs_callback_object->context_element->set_attribute(
name = `MATNR`
value = <ls_selection>-MATNR ).
concatenate 'Description from MAKT:'
<ls_selection>-MAKTX
into <ls_selection>-MAKTX separated by space.
ovs_callback_object->context_element->set_attribute(
name = `MAKTX`
value = <ls_selection>-MAKTX ).
endif.
endcase.
endmethod. -
Dynamically applying OVS on input field
Hi,
I have table with drop DropDownByKey UI element in one column. In all the other columns i have input field. Now based on the value of the DropDownByKey i have to apply the OVS on the input fields of the table column.
Now my question is how can i apply the OVS dynamically.
I can not change the properties of attributes, so want to change them dynamically.
Thanks,
Reeha Verma.Hi,
You can check the value of context attribute binded to dropdown(KEY) and accordingly formulate the Input structure and output table.
It seems that you have to do the data declecration in advance for all the possible values of dropdown.
If you want to avoid the data decleration in advance then i think you have to dynamically create the context node and attribute to acheive the functionality.
If you have limited values in DropDown then i think you can go with data decleration otherwise please try out with Dynamic context programming.
Thanks,
Rahul -
How to restrict the length of input field
Hi,
How to restrict the length of input field. That is we should not be able to enter more thatn 10 charecters.
Regards,
H.V.SwathiHi swathi,
For this you have to create a simple data type. No need of writing a code.
Go to Dictionaries -> Local Dictionary -> Data Type - > Simple Type - > Right click and "Create Simple Type".
Here you should create a Simple type with String as built-in Type. Here you will also see the Length Constraints option.
Set the value of maximum length and minimum length. In your case set the value of maximum length to 10. At runtime this will not allow the user to enter more than 10 characters.
Now create an attribute and bind it to this newly created simple type. Bind the value of the input field with this particular attribute.
Regards
Manohar -
Restrict Input Field For Fix Length
I want to restrict the input field to 10 chars.
Both JTextField + PlaintDocument or JFormattedTexTField + MaskFormatter can do that.
So, I want to know which one is much better.
Thank you!I, personally, prefer the approach via PlainDocument. The thing about JFormattedTextField is that it's giving a pretty bad user feedback as it allows entering the text and then rejects it when losing focus. With subclassing PlainDocument you ensure the user won't enter more than 10 characters in the first place.
-
Limitation on the number of characters in an input field
Hi All,
We are on EP 7.0 SP12.
When I select an input field/text editor and map it to a field in a BAPI it truncates the value to 80 characters and thus I get the truncated value in the result.
When I pass a value larger than 80 characters in length while doing test data service, it works fine and I face this issue only while passing the data from the screen. Is this a bug in VC? Or if any one has a solution to this?
Regards,
MurtuzaHi Ganesh,
Following are the Answers regaring your queries:
Query : 1
There is no limitation on the number of components (objects, classes, tables, joins, hierarchies, lov's, etc) in a universe. But of course as the number of components increases, you could run into problems related to performance.
This depends on available RAM and the processing speed.
Query 2:
There is NO such option to select the number of table to be automatically inserted in to the universe because Suppose if you have 22000 tables in DB and you want only 1000 table ,you entered 1000 tables as the value to insert tables in Universe then How Designer will come to know which tables you want to take in Schema to build the Universe?
It all depends on the DBA and Universe Designer which tables are important for organizations reporting needs.
When you create connection to the DB then Connection will fetch all table from the database and we canu2019t limit DB data retrieval.
I hope this Helps...
Thanks...
Pratik -
Select-options for input field
hi,
Is it possible to use 'Select-options' in web dynpro for the input field like we use in abap?
Ex. material is the input field. i want to select range also for this input field using 'Select-options'
I have tried only with ovs(f4 help) for the input field. can u pls tel me how to use if it is possible ?
Thanks,
Aishwarya.DATA: LT_RANGE_TABLE TYPE REF TO DATA,
RT_RANGE_TABLE TYPE REF TO DATA,
READ_ONLY TYPE ABAP_BOOL,
TYPENAME TYPE STRING. DATA: LR_COMPONENTCONTROLLER TYPE REF
TO IG_COMPONENTCONTROLLER,
L_REF_CMP_USAGE TYPE REF TO IF_WD_COMPONENT_USAGE.
create the used component
L_REF_CMP_USAGE = WD_THIS->WD_CPUSE_SELECT_OPTIONS( ).
IF L_REF_CMP_USAGE->HAS_ACTIVE_COMPONENT( ) IS INITIAL.
L_REF_CMP_USAGE->CREATE_COMPONENT( ).
ENDIF.
WD_THIS->M_WD_SELECT_OPTIONS = WD_THIS->WD_CPIFC_SELECT_OPTIONS( ).
init the select screen
WD_THIS->M_HANDLER =
WD_THIS->M_WD_SELECT_OPTIONS->INIT_SELECTION_SCREEN( ).
WD_THIS->M_HANDLER->SET_GLOBAL_OPTIONS(
I_DISPLAY_BTN_CANCEL = ABAP_FALSE
I_DISPLAY_BTN_CHECK = ABAP_FALSE
I_DISPLAY_BTN_RESET = ABAP_FALSE
I_DISPLAY_BTN_EXECUTE = ABAP_FALSE ).
*create a range table that consists of this new data element
LT_RANGE_TABLE = WD_THIS->M_HANDLER->CREATE_RANGE_TABLE(
I_TYPENAME = 'matnr' ).
add a new field to the selection
WD_THIS->M_HANDLER->ADD_SELECTION_FIELD(
I_ID = 'matnr'
IT_RESULT = LT_RANGE_TABLE
I_READ_ONLY = READ_ONLY ).
This is my code followed by saptechnical. but when i exec, am getting err like the type matnr is invalid. -
Disable an Input field with the help of a radio button selection.
Hi Guys,
I know it is a very basic question and also has many threads for the mentioned query. None of the threads gave me a real clue about the problem. It is as follows:
Simply, I have an input field and there are two more radio buttons on the screen, say rd1, and rd2.
Initially Rb_gtgr is active and input field is blank and disabled, and when i select Rb_selgr, input field should be active and mandatory. It means when i try to execute the code with out entering any value after it is enabled, an error message should appear. For this the code is as follows:
AT SELECTION-SCREEN OUTPUT.
PERFORM screen_grace_on.
AT SELECTION-SCREEN ON p_grace.
PERFORM check_grace_days.
FORM screen_grace_on .
DATA: l_v_grace TYPE char2.
CONSTANTS: l_c_grace TYPE char7 VALUE 'P_GRACE'.
l_v_grace = p_grace.
CLEAR p_grace.
IF rb_selgr EQ c_x.
LOOP AT SCREEN.
IF screen-group1 = 'ABC'.
screen-required = 1.
screen-active = 1.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
IF screen-group1 = 'ABC'.
screen-input = 0.
screen-active = 1.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
ENDFORM. " SCREEN_GRACE_ON
FORM check_grace_days.
IF rb_selgr EQ c_x AND p_grace EQ 0.
PERFORM screen_grace_on.
MESSAGE e492(/ams/ramfcmess1). " Enter the number of Grace days
ELSEIF rb_selgr EQ c_x AND p_grace GE 0.
PERFORM screen_grace_on.
ENDIF.
ENDFORM.
Ideally this code should work since in the PBO i.e., At selection screen output i am enabling the fields, and also when i select the second radio button i am also checking for the value too..
I am working on 4.7 version of SAP. The Most interesting observation is it works fine for few variants, and not with others.
Thank youHi,
Go through this following code,
selection-screen begin of block B2 with frame title TEXT-005.
selection-screen begin of line.
parameters: P_BIRPT type C radiobutton group RAD1 default 'X' user-command UCOMM.
selection-screen comment 3(20) TEXT-002 for field P_BIRPT.
selection-screen end of line.
selection-screen begin of line.
parameters: P_COLRPT type C radiobutton group RAD1.
selection-screen comment 3(20) TEXT-003 for field P_COLRPT.
selection-screen end of line.
selection-screen begin of line.
parameters: P_PAYRPT type C radiobutton group RAD1.
selection-screen comment 3(20) TEXT-004 for field P_PAYRPT.
selection-screen end of line.
selection-screen end of block B2.
selection-screen begin of block B1 with frame title TEXT-001.
select-options: SO_KTOKD for KNA1-KTOKD modif id M4,
SO_BLART for BSIS-BLART modif id M2.
parameters: P_PAID type ZCLEAR modif id M3 as listbox visible length 20.
selection-screen end of block B1.
at selection-screen output.
loop at screen.
if P_BIRPT eq 'X'.
if SCREEN-GROUP1 = 'M2' or SCREEN-GROUP1 = 'M3' .
SCREEN-INVISIBLE = '1'.
SCREEN-ACTIVE = '0'.
modify screen.
endif.
elseif P_COLRPT eq 'X'.
if SCREEN-GROUP1 = 'M3'.
SCREEN-INVISIBLE = '1'.
SCREEN-ACTIVE = '0'.
modify screen.
endif.
elseif P_PAYRPT eq 'X'.
if SCREEN-GROUP1 = 'M2'.
SCREEN-INVISIBLE = '1'.
SCREEN-ACTIVE = '0'.
modify screen.
endif.
if SCREEN-GROUP1 = 'M4'.
SCREEN-INVISIBLE = '1'.
SCREEN-ACTIVE = '0'.
modify screen.
endif.
endif.
endloop.
Thanks
Anil D -
Disable a button under certain circumstances and disable input fields
Scenario: My user receives a PDF (dymanic XML) where they fill in fields and click a Submit button to send the data to the server. They receive a confirmation copy of the form back. In our older version of Livecycle, the confirmation form was locked down - no fields were editable, the Submit button was disabled. We still need the ability to not input/change any data on the confirmation copy and not be able to click the Submit button. Under ES4, everything started out editable.
On the confirmation copy, there are messages that I check. When those messages are present I would like to hide the buttons (optimal solution) or at the very least, disable them so the user cannot resubmit the form again.
I've managed to put Javascript in place to lock down all input fields, I just can't get the script to work to hide the buttons. I'm beginning to wonder if the script to lock down all input fields is causing the scripts to hide the buttons to not work.
Sample code to disable editing of input fields:
- had to provide this code at the table level so that when a table flows to a second page, the fields are locked. When I put it at the page level or top level of the hierarchy, it only worked on the one page when I need it to cover fields that have flowed on to a second page. Even at the table level, there are still some tables that remain open until a change is made, then the fields on the second page become locked.
- when this is entered at the subform level, second page of the subform is modifiable
rfqHeader.rfqHeader.IssuerInfo::ready:layout - (JavaScript, client)
if (rfqHeader.rfqMessages.Message.rawValue != null)
// Get the field containers from each page.
for (var nPageCount = 0; nPageCount < xfa.host.numPages; nPageCount++)
var oFields = xfa.layout.pageContent(nPageCount, "field");
var nNodesLength = oFields.length;
// Set the field property.
for (var nNodeCount = 0; nNodeCount < nNodesLength; nNodeCount++)
oFields.item(nNodeCount).access = "readOnly";
Sample code to make the button hidden:
rfqHeader.rfqFooter.button.SubmitButton::initialize - (JavaScript, client)
if (rfqMessages.Message.rawValue != null)
this.presence = "hidden" ;
Any help and suggestions would be welcome!
Thanks, Josie.Hi Josie,
I think, for what you are trying to do, you must be in the doc:ready to be able to do this.
All because the doc:ready is the last event to be fired when a form is reopen...
rfqHeader.rfqFooter.button.SubmitButton::docReady - (JavaScript, client)
if (rfqMessages.Message.rawValue ! = null)
this.presence = "hidden" ; -
Type conflict when calling a function module (field length)
Dear All,
I am getting this following error while executing: Type conflict when calling a function module (field length)
This is piece of coding i have writern in my action button.
method SEARCH_MATERIAL .
data:
node_mat_input TYPE REF TO if_wd_context_node,
node_mat_output TYPE REF TO if_wd_context_node,
material TYPE BAPIMATDET-MATERIAL,
itab TYPE TABLE OF BAPIMATDOA.
node_mat_input = wd_context->get_child_node( 'NODE_MAT_INPUT' ).
node_mat_output = wd_context->get_child_node( 'NODE_MAT_OUTPUT' ).
node_mat_input->get_attribute( EXPORTING name = 'MATERIAL'
IMPORTING value = material ).
CALL FUNCTION 'BAPI_MATERIAL_GET_DETAIL'
EXPORTING
material = material
PLANT = plant
VALUATIONAREA =
VALUATIONTYPE =
MATERIAL_EVG =
IMPORTING
MATERIAL_GENERAL_DATA = itab
RETURN =
MATERIALPLANTDATA =
MATERIALVALUATIONDATA =
node_mat_output->bind_table( itab ).
endmethod.
Attributes are:
Node name = INPUT its structure is BAPIMATDET
INPUT attributes = MATERIAL of type BAPIMATDET-MATERIAL
Thanks,
Gopi.Hi Amit,
I have used service call to fetch records from that bapi..
The following is the code generated by service call:-
METHOD execute_bapi_material_get_deta .
declarations for context navigation
DATA:
node_bapi_material_get_de TYPE REF TO if_wd_context_node,
node_exporting TYPE REF TO if_wd_context_node,
node_material_general_dat TYPE REF TO if_wd_context_node,
node_importing TYPE REF TO if_wd_context_node,
lri_element TYPE REF TO if_wd_context_element.
declarations for fuba parameters
data:
stru_c_material_general_dat TYPE if_componentcontroller=>element_material_general_dat.
DATA:
attr_material TYPE bapimatdet-material,
attr_plant TYPE bapimatall-plant.
get all involved child nodes
node_bapi_material_get_de = wd_context->get_child_node( `BAPI_MATERIAL_GET_DE` ).
node_exporting = node_bapi_material_get_de->get_child_node( `EXPORTING` ).
node_material_general_dat = node_exporting->get_child_node( `MATERIAL_GENERAL_DAT` ).
node_importing = node_bapi_material_get_de->get_child_node( `IMPORTING` ).
get input from context
node_importing->get_attribute( EXPORTING name = `MATERIAL`
IMPORTING value = attr_material ).
node_importing->get_attribute( EXPORTING name = `PLANT`
IMPORTING value = attr_plant ).
the invocation - errors are always fatal !!!
CALL FUNCTION 'BAPI_MATERIAL_GET_DETAIL'
EXPORTING
material = attr_material
plant = attr_plant
" valuationarea = wd_This->Valuationarea
" valuationtype = wd_This->Valuationtype
" material_Evg = wd_This->Material_Evg
IMPORTING
material_general_data = stru_c_material_general_dat
" return = wd_This->Return
" materialplantdata = wd_This->Materialplantdata
" materialvaluationdata = wd_This->Materialvaluationdat
node_material_general_dat->bind_structure( stru_c_material_general_dat[] ).
ENDMETHOD.
but the problem is I am getting the following error while compiling...
" stru_c_materialplantdata " is not an internal table - the " OCCOURS n" specification is missing.
Thanks,
Gopi.
Edited by: Yegalaivan on Nov 18, 2009 8:30 AM
Maybe you are looking for
-
Ipod nano 5th generation not recognized by itunes...help!
I have a 5th generation ipod nano, music suddenly vanished, not sure why. Tried to download music from itunes, but the device is not comming up on itunes. Any ideas?
-
HT1338 Lack of Support for Leopard users
Has Apple abandoned all Leopard users? I cannot get updated plug-ins for Safari and Firefox, therefore cannot access some internet sites. Seems Apple wants us to purchase Intel-based computers or be relegated to the trash can. I'd rather shift to PCs
-
Crystal reports LOV cascading prompts row level security not working
Crystal report LOV cascading prompts with row level security is not woking when the crytal report cache server/page server cache (Oldest On-Demand Data Given To a Client (in minutes)) is turned on. But its working fine when the cache is turned off. U
-
JSplitPane always jumps to center
I have a JSplitPane, which is split vertically. On the right i display textboxes and tables, which could be dragged to a new position by the user. Therefore i'm not using a layout manager and setting location and size for each component with setLocat
-
Flash Player 11 Download Time Out???
Mein System ist Windows XP 32-bit. Von gestern auf heute konnte ich weder online Filme ansehen noch Facebookspiele spielen. Ich habe herausgefunden das es daran liegt, dass meine Flash Player Version zu alt war. Also habe ich die alte deinstalliert u