Validating user input in a datagrid column
Hi ,
I have 2 datagrid columns for users to enter data. I want to
restrict them only to enter numbers. I tried NumberValidator , that
does not work. Please help !! I am a newbee..
Thanks in advance..
We created an itemEditor for our dataColumn that was a
mx:TextInput. Then we used the textInput event to capture keys as
they are typed. You get a TextEvent from that which you can cancel
if it something you don't want the user entering. We used regexs
for are validation here. I'm not sure if this is the best way to
handle this sort of thing, but it worked.
Similar Messages
-
Validating user input in VC using javascript
Hi All,
I'm exploring possible solutions for validating user input and reporting error messages back to the screen for users to correct their entries. It was mentioned in one of the threads that this can be done using javascript..
can the source code in VC be edited?? Can anyone give me pointers on how to achieve this and where to incorportate the javascript function for validation? Thanks!
cheers
PrachiHi
Please go through the following links :-
Alpha-Numeric Validations
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/vc/norecordsreturnedshalldisplayalternatemessage&
Cheers
Navneet -
Editing with a DataGrid and validating user input
Editing
with a DataGrid Tutorial
How to edit the information in a Flex 2 DataGrid directly,
without data binding TextInputs to it.
Uses a Remote Object, a CFC, and a Microsoft Access database
to demonstrate how.
Uses Actionscript to validate the data the user types into
the DataGrid.We created an itemEditor for our dataColumn that was a
mx:TextInput. Then we used the textInput event to capture keys as
they are typed. You get a TextEvent from that which you can cancel
if it something you don't want the user entering. We used regexs
for are validation here. I'm not sure if this is the best way to
handle this sort of thing, but it worked. -
Checking/Validating user input in a text field
How can I validate a user's input in a text field and require them to input it in the following format:
AAA 9999-999
(where A can be letters and 9 can be numbers)
Is there any documentation on how to validate user inputs in this manner?
Thanks!
BoilerUPHi,
Create a validation PL/SQL process, select Function returning Error and use something similar to the example below.
I tested it but may be I missed something. I used field name P1_TEST.
DECLARE
v_number NUMBER;
v_error VARCHAR2(1000);
BEGIN
--check if you have numbers in positions 5-8 and 10-12
v_number:=SUBSTR(:P1_TEST,5,4);
v_number:=SUBSTR(:P1_TEST,10);
--check string length
IF LENGTH(:P1_TEST)!=12 THEN
RETURN 'String length must be 12 characters';
END IF;
--check if position 4 is empty
IF INSTR(SUBSTR(:P1_TEST,4,1),' ')=0 THEN
RETURN 'There should be a space between letters and numbers';
END IF;
--check if position 9 has "-"
IF INSTR(SUBSTR(:P1_TEST,9,1),'-')=0 THEN
RETURN 'There should be a dash between numbers';
END IF;
--check if positions 1-3 has letters
FOR i IN 1 .. 3 LOOP
SELECT ascii(substr(:P1_TEST, i, 1)) INTO v_number
FROM Dual;
IF v_number>=48 AND v_number<=59 THEN
RETURN 'Only letters are allowed in positions 1,2,3';
END IF;
END LOOP;
RETURN NULL;
EXCEPTION
WHEN OTHERS THEN
v_error:=SQLERRM;
IF INSTR(v_error, 'ORA-06502')>0 THEN
RETURN '...must be integers only';
ELSE
RETURN v_error;
END IF;
END;
I hope it will give you an idea on this type of validation.
Val -
Getting the user input from a JTables Columns
Hello
I am having real trouble with this could someone please help?
I have to columns on my JTable (first name , lastname).
How can I loop though each column like this?
the first column (first names), and get each row and add it to a String array?
for example if the user puts in 10 firstnames I want to add all 10 to a string array.
and for the second column, I want to add all the rows (last names ), to a arraylist. so if the user puts in 10 lastnames, I want to add them to the arraylist.
How can I do this?
thanks
bobbyJTable table = new JTable();
TableModel model = table.getModel();
int row = 0;
int col = 0;
//You can loop using the line below to get the values for each cell
//I'm casting it as a String, if you don't have a String, you can leave
// it as an Object
String s = (String) model.getValueAt(row, col); -
How to add column dynamically based on user input in oracle?
**how to add column dynamically based on user input in oracle?**
I am generating monthly report based on from_date to to_date below is my requirement sample table
EMPLOYEE_CODE| Name | CL_TAKEN_DATE | CL_BALANCE | 01-OCT-12 | 02-OCT-12 | 03-OCT-12
100001.............John...........02-OCT-12...............6
100002.............chris...........01-OCT-12...............4
Based on user input, that is, if user need the report from 01-OCT-12 TO 03-OCT-12, i need to add that dates as column in my table, like 01-OCT-12 | 02-OCT-12 | 03-OCT-12....
below is my code
create or replace
procedure MONTHLY_LVE_NEW_REPORT_demo
L_BUSINESS_UNIT IN SSHRMS_LEAVE_REQUEST_TRN.BUSINESS_UNIT%TYPE,
--L_LEAVE_TYPE_CODE IN SSHRMS_LEAVE_REQUEST_TRN.LEAVE_TYPE_CODE%TYPE,
L_DEPARTMENT_CODE IN VARCHAR2,
--L_MONTH IN SSHRMS_LEAVE_REQUEST_TRN.LVE_FROM_DATE%TYPE,
L_FROM_DATE IN SSHRMS_LEAVE_REQUEST_TRN.LVE_FROM_DATE%TYPE,
L_TO_DATE in SSHRMS_LEAVE_REQUEST_TRN.LVE_TO_DATE%type,
MONTHRPT_CURSOR OUT SYS_REFCURSOR
AS
O_MONTHRPT_CURSOR_RPT clob;
v_return_msg clob;
BEGIN
IF (L_BUSINESS_UNIT IS NOT NULL
AND L_FROM_DATE IS NOT NULL
and L_TO_DATE is not null
-- AND L_DEPARTMENT_CODE IS NOT NULL
THEN
OPEN MONTHRPT_CURSOR FOR
select EMPLOYEE_CODE, EMPLOYEE_NAME AS NAME, DEPARTMENT_CODE AS DEPARTMENT,DEPARTMENT_DESC, CREATED_DATE,
NVL(WM_CONCAT(CL_RANGE),'') as CL_TAKEN_DATE,
case when NVL(SUM(CL2),0)<0 then 0 else (NVL(SUM(CL2),0)) end as CL_BALANCE,
from
SELECT DISTINCT a.employee_code,
a.EMPLOYEE_FIRST_NAME || ' ' || a.EMPLOYEE_LAST_NAME as EMPLOYEE_NAME,
a.DEPARTMENT_CODE,
a.DEPARTMENT_DESC,
B.LEAVE_TYPE_CODE,
B.LVE_UNITS_APPLIED,
B.CREATED_DATE as CREATED_DATE,
DECODE(b.leave_type_code,'CL',SSHRMS_LVE_BUSINESSDAY(L_BUSINESS_UNIT,to_char(b.lve_from_date,'mm/dd/yyyy'), to_char(b.lve_to_date,'mm/dd/yyyy'))) CL_RANGE,
DECODE(B.LEAVE_TYPE_CODE,'CL',B.LVE_UNITS_APPLIED)CL1,
b.status
from SSHRMS_EMPLOYEE_DATA a
join
SSHRMS_LEAVE_BALANCE C
on a.EMPLOYEE_CODE = C.EMPLOYEE_CODE
and C.STATUS = 'Y'
left join
SSHRMS_LEAVE_REQUEST_TRN B
on
B.EMPLOYEE_CODE=C.EMPLOYEE_CODE
and c.EMPLOYEE_CODE = b.EMPLOYEE_CODE
and B.LEAVE_TYPE_CODE = C.LEAVE_TYPE_CODE
and B.STATUS in ('A','P','C')
and (B.LVE_FROM_DATE >= TO_DATE(L_FROM_DATE, 'DD/MON/RRRR')
and B.LVE_TO_DATE <= TO_DATE(L_TO_DATE, 'DD/MON/RRRR'))
join
SSHRMS_LEAVE_REQUEST_TRN D
on a.EMPLOYEE_CODE = D.EMPLOYEE_CODE
and D.LEAVE_TYPE_CODE in ('CL')
AND D.LEAVE_TYPE_CODE IS NOT NULL
group by EMPLOYEE_CODE, EMPLOYEE_NAME, DEPARTMENT_CODE, DEPARTMENT_DESC, CREATED_DATE
else
v_return_msg:='Field should not be empty';
end if;
END;
my code actual output
EMPLOYEE_CODE| Name | CL_TAKEN_DATE | CL_BALANCE
100001....................John............02-OCT-12.................6
100001....................chris...........01-OCT-12.................4
how to add column dynamically based on from_date to to_date?
Thanks and Regards,
Chris Jerome.You cannot add columns dynamically. But you can define a maximum number of numbers and then hide unused columns in your form useing SET_ITEM_PROPERTY(..,VISIBLE, PROPERTY_FALSE);
-
Validation on a Datagrid Column
Hi,
I have a Datagrid with three columns, out of which two columns are editable. I want to apply string validator on one of the editable column. How can I do this?You can have a custom ItemRenderer for that column which has a Validator built in. This has been covered in the docs. See this: http://livedocs.adobe.com/flex/201/html/wwhelp/wwhimpl/common/html/wwhelp.htm?context=Live Docs_Book_Parts&file=celleditor_073_17.html
-
Count the number of columns return in an user-input sql query
I need to do something like this
I let an user input a sql query and then execute it
assuming the sql query is always correct, it will return a Resultset
then a table will pop up to accomodate the number of columns the resultset will produce
i'm stuck at the part on how to check how many columns of data will be return in the resultsetResultSet rs = stmt.executeQuery("SELECT a, b, c FROM TABLE2");
ResultSetMetaData rsmd = rs.getMetaData();
int numberOfColumns = rsmd.getColumnCount(); -
Dynamically display/hide columns according to user inputs
Hi,
I need to display or hide columns in reports based on user input. ie. I have several prompts, if user doesn't input values, then the associated columns will not be displayed in the report. Is there a way to achieve this in BO XI R2. Greatly appreciated for your help.Hi Andy,
You can't hide them totally, but you can get close using alerters.
Build an alerter (probably a formula one) that put the value ="" in the field.
Now the formula should test the userresponse for that column,
based on the contents of it (filled in --> false, otherwise --> true).
Apply the alerter to all cells of the column. It will empty completely when the prompt was not filled.
Just set the width of the column to automatic (best use the header cell only) and the minimum width on zero. It will shrink the width when empty, making it seem as if hidden.
Good luck,
Marianne -
Displaying columns based on User Input
Hi,
I have a following requirement :
I have four columns in a report : Performance Indicator ,Target (XTD) , Actual (XTD),Indicator(Traffic Lights)
Based on the prompt, which contains column named as "Review Frequency" having values as 1. Monthly 2. Quaterly 3. Yearly.
When User select "Monthly" in pormpt I want to see MTD in Actual and Target column and Indicator depending on these columns.
When User select "Quaterly" in pormpt I want to see QTD in Actual and Target column and Indicator depending on these columns.
Can anybody tell me how can we achieve this?
I think I can achieve this with guided navigation but for that I have to create 3 reports.
Can anybody have any better idea to create just one report and based on user input I can show/hide columns in a single report?
This is mainly related to Balanced ScoreCard.
Thanks in advance
Regards,
Vikasyou have seperate columns for monthly, quarterly, and yearly, right?
In the prompt, save the "Review Frequency" as a Presentation Variable "abc";
In the request, you add actual (MTD) column, edit the formula, use something like:
CASE
WHEN @{abc}='Monthly' THEN "- SalesFacts"."actual (MTD)"
WHEN @{abc}='Quarterly' THEN "- SalesFacts"."actual (QTD)"
ELSE "- SalesFacts"."actual (YTD)"
END
then do the same thing for target column. -
Hi,
Is there any way to validate datagrid column or cell.
Please help
Thanks
Kumarquote:
Originally posted by:
peterent
Follow Tracy's advice, but also handle the itemEditEnd event.
In that event handler you can find if the data passed validation.
If it fails you can cancel the edit.
Look up itemEditEnd in the Flex 2 docs. -
Checkbox in a datagrid column header not working properly
Hi,
I have rendered a checkbox in the header of a datagrid column
using headerRenderer property. That column also has all entries as
checkboxes. What I want to do is that on checking the header
checkbox, all checkboxes should get checked. Though I am able to do
this BUT the header checkbox remains uncheched in the whole
process! Whereas, if I remove this eventHandler from it, then the
header checkbox shows the correct state i.e., show checked on
checking & unchecked on unchecking!
Any input?
Thanks in advance,
Chereehi many thanks for looking at my problem
what i am trying to do is show a column if the proc_id is greater than 2
it just looks a bit silly when a user configures the file (but not submitted it for loading)
the file cnt is null or zero - i had hoped not to show this - the proc_id is found from the report query ! -
Hello All,
Is it possible to have a user input in ALV grid. I know there can be editable columns/cells but suppose the application demands an input field to be placed in ALV Grid where the user will enter some value.
Could someone please suggest if this can be done.
Regards
IndrajitHere's THE definitive way to do it.
This little proggy demonstrates the following.
1) Create a DYNAMIC FCAT for an internal table with USER defined fields (i.e non ddic) and colour some columns in the FCAT.
2) Create a DYNAMIC TABLE.
3) Define a subclass of CL_GUI_ALV_GRID so you can access some very useful protected methods and attributes - you can get original and changed table IN ROWS which is a lot easier sometimes than messing around with individual
cells.
4) Create extra buttons on the toolbar.
5) Define EVENT handlers including data change so you can get control when the user enters data. YOU DON'T NEED PAI anymore with event handlers.
6) Call methods in your subclass of CL_GUI_ALV_GRID (you can also call methods in CL_GUI_ALV_GRID by virtue of Inheritance) from methods in your event handler class.
7) Display an editable Grid.
This method will work for almost any conditions you need to use.
I'm sure this covers all the bases -- please reply if any queries.
Run the program, click on the EDIT button and enter your data. Press ENTER when done.
All you need to do is copy this code and create one empty screen (SE51) with a custom container called CCONTAINER1 with the following logic in it.
PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
PROCESS AFTER INPUT.
MODULE USER_COMMAND_0100.
(In the program you don't actually do anything in the PAI as the event handler takes care of this)
Now here's the program
PROGRAM zdynfieldcat.
class zcltest definition deferred. "For field symbol reference.
Simple test of dynamic ITAB with user defined (not ddic) fields
Build dynamic fcat
Table structure obtained via new RTTI functionality
use ALV grid to display and edit.
Create a blank screen 100 with a custom container called CCONTAINER1.
Define field symbols as these can't be defined in classes
field-symbols: <dyn_table> type standard table,
<g2> type ref to zcltest,
<g1> type ref to cl_gui_custom_container,
<actual_tab> type standard table,
<outtab> type table,
<fs1> type ANY,
<FS2> TYPE TABLE,
<fs3> type table,
<fs4> type table,
<fs5> type table.
class zcltest definition inheriting from cl_gui_alv_grid.
define this as a subclass so we can access the protected attributes
of the superclass cl_gui_alv_grid
public section.
types: g4 type ref to cl_gui_custom_container.
types: g3 type ref to cl_alv_changed_data_protocol.
data: i_parent type g4,
lr_rtti_struc TYPE REF TO cl_abap_structdescr, "RTTI
zog like line of lr_rtti_struc->components. "RTTI
types: struc like zog.
types: struc1 type table of struc.
methods:
constructor
importing i_parent type g4,
disp_tab
importing p_er_data_changed type g3,
create_dynamic_fcat
importing zogt type struc1
exporting it_fldcat type lvc_t_fcat.
Protected section.
data: stab type ref to data,
wa_it_fldcat type lvc_s_fcat,
c_index type sy-index.
endclass.
class zcltest implementation.
METHOD constructor.
CALL METHOD super->constructor
EXPORTING
i_appl_events = 'X'
i_parent = i_parent.
endmethod.
method disp_tab.
mt_outtab is the data table held as a protected
attribute in class cl_gui_alv_grid.
assign me->mt_outtab->* TO <outtab>. "Original data
assign p_er_data_changed->mp_mod_rows TO <FS1>.
stab = p_er_data_changed->mp_mod_rows.
assign p_er_data_changed->mt_inserted_rows to <fs3>.
assign p_er_data_changed->mt_deleted_rows to <fs4>.
assign p_er_data_changed->mt_mod_cells to <fs5>.
assign stab->* TO <fs2>.
do whatever you want with <outtab>
contains data BEFORE changes each time.
Note that NEW (Changed) table has been obtained
already by call to form
check_data USING P_ER_DATA_CHANGED
TYPE REF TO CL_ALV_CHANGED_DATA_PROTOCOL.
Entered data is in table defined by <fs2>
In this method you can compare original and changed data.
Easier than messing around with individual cells.
do what you want with data in <fs2> validate / update / merge etc
endmethod.
method create_dynamic_fcat.
loop at zogt into zog.
c_index = c_index + 1.
clear wa_it_fldcat.
wa_it_fldcat-fieldname = zog-name .
wa_it_fldcat-datatype = zog-type_kind.
wa_it_fldcat-inttype = zog-type_kind.
wa_it_fldcat-intlen = zog-length.
wa_it_fldcat-decimals = zog-decimals.
wa_it_fldcat-coltext = zog-name.
wa_it_fldcat-lowercase = 'X'.
if c_index eq 2.
wa_it_fldcat-emphasize = 'C411'.
endif.
if c_index eq 3.
wa_it_fldcat-emphasize = 'C511'.
endif.
append wa_it_fldcat to it_fldcat .
endloop.
endmethod. "create_dynamic_fcat
endclass. "zcltest IMPLEMENTATION
class lcl_grid_event_receiver definition.
public section.
note that zcltest inherits all of events etc from
class cl_gui_alv_grid so specify event handler for
zcltest.
methods:
handle_data_changed
for event data_changed of zcltest
importing er_data_changed,
toolbar
for event toolbar of zcltest
importing e_object
e_interactive,
user_command
for event user_command of zcltest
importing e_ucomm.
endclass.
class lcl_grid_event_receiver implementation.
method handle_data_changed.
code whatever required after data entry.
various possibilites here as you
can get back Cell(s) changed
columns or the entire updated table.
Data validation is also possible here.
Note here the field sybol <g2> contains our
instance of class zcltest so we can now
call any methods / access
attributes of that class from this method
in our event handler class.
call method <g2>->disp_tab
EXPORTING
p_er_data_changed = er_data_changed.
endmethod. "handle_data_changed
method toolbar.
data : ls_toolbar type stb_button.
clear ls_toolbar.
move 0 to ls_toolbar-butn_type.
move 'EDIT' to ls_toolbar-function.
move space to ls_toolbar-disabled.
move 'Edit' to ls_toolbar-text.
move icon_change_text to ls_toolbar-icon.
move 'Click2Edit' to ls_toolbar-quickinfo.
append ls_toolbar to e_object->mt_toolbar.
clear ls_toolbar.
move 0 to ls_toolbar-butn_type.
move 'UPDA' to ls_toolbar-function.
move space to ls_toolbar-disabled.
move 'Update' to ls_toolbar-text.
move icon_system_save to ls_toolbar-icon.
move 'Click2Update' to ls_toolbar-quickinfo.
append ls_toolbar to e_object->mt_toolbar.
clear ls_toolbar.
move 0 to ls_toolbar-butn_type.
move 'EXIT' to ls_toolbar-function.
move space to ls_toolbar-disabled.
move 'Exit' to ls_toolbar-text.
move icon_system_end to ls_toolbar-icon.
move 'Click2Exit' to ls_toolbar-quickinfo.
append ls_toolbar to e_object->mt_toolbar.
endmethod. "toolbar
method user_command.
case e_ucomm .
when 'EDIT'. "From Tool bar
perform set_input.
perform init_grid.
when 'UPDA'. "From Tool bar
perform refresh_disp.
perform update_table.
when 'EXIT'. "From Tool bar
leave program.
endcase.
endmethod. "user_command
endclass. "lcl_grid_event_receiver IMPLEMENTATION
program data
include <icon>.
define any old internal structure NOT in DDIC
types: begin of s_elements,
anyfield1(20) type c,
anyfield2(20) type c,
anyfield3(20) type c,
anyfield4(20) type c,
anyfield5(11) type n,
end of s_elements.
data: wa_element type s_elements,
wa_data type s_elements.
Note new RTTI functionality allows field detail
retrieval at runtime for dynamic tables.
data:
grid1 type ref to zcltest,
grid_handler type ref to lcl_grid_event_receiver,
c_dec2 type s_elements-anyfield5,
wa_it_fldcat type lvc_s_fcat,
it_fldcat type lvc_t_fcat,
lr_rtti_struc TYPE REF TO cl_abap_structdescr, "RTTI
lt_comp TYPE cl_abap_structdescr=>component_table,"RTTI
ls_comp LIKE LINE OF lt_comp, "RTTI
zog like line of lr_rtti_struc->components, "RTTI
struct_grid_lset type lvc_s_layo,
l_valid type c,
new_table type ref to data.
types: struc like zog.
data: zogt type table of struc,
grid_container1 type ref to cl_gui_custom_container,
g_event_receiver type ref to lcl_grid_event_receiver,
ok_code like sy-ucomm,
i4 type int4.
start-of-selection.
call screen 100.
module status_0100 output.
if grid_container1 is initial.
create object grid_container1
exporting
container_name = 'CCONTAINER1'.
assign grid_container1 to <g1>.
create object grid1
exporting i_parent = grid_container1.
we need reference to this instance so we can use
Methods etc of zcltest class and alv (superclass)
in our event receiver class.
assign grid1 to <g2>.
create object grid_handler.
set handler:
grid_handler->user_command for grid1,
grid_handler->toolbar for grid1,
grid_handler->handle_data_changed for grid1.
Get the Internal table structure
lr_rtti_struc ?= cl_abap_structdescr=>describe_by_data( wa_data ).
Build field catalog just use basic data here
colour specific columns as well
zogt[] = lr_rtti_struc->components.
call method grid1->create_dynamic_fcat
EXPORTING
zogt = zogt
IMPORTING
it_fldcat = it_fldcat.
Create dynamic internal table and assign
to field symbol.
Use dynamic field catalog just built.
call method cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = it_fldcat
IMPORTING
ep_table = new_table.
assign new_table->* to <dyn_table>.
perform populate_dynamic_itab.
perform init_grid.
perform register_enter_event.
set off ready for input initially
i4 = 0.
call method grid1->set_ready_for_input
EXPORTING
i_ready_for_input = i4.
endif.
endmodule. "status_0100 OUTPUT
module user_command_0100 input.
*PAI not needed in OO ALV anymore as User Commands
are handled as events
*in method user_command.
we can also get control if any data was entered
and the ENTER is pressed by
raising an event.
Control then returns to method handle_data_changed.
endmodule. "user_command_0100 INPUT
form populate_dynamic_itab.
load up a line of the dynamic table
c_dec2 = c_dec2 + 11.
wa_element-anyfield1 = 'Tabbies'.
wa_element-anyfield2 = 'ger.shepards'.
wa_element-anyfield3 = 'White mice'.
wa_element-anyfield4 = 'Any old text'.
wa_element-anyfield5 = c_dec2.
append wa_element to <dyn_table>.
endform. "populate_dynamic_itab
form exit_program.
call method grid_container1->free.
call method cl_gui_cfw=>flush.
leave program.
endform. "exit_program
form refresh_disp.
call method grid1->refresh_table_display.
endform. "refresh_disp
form update_table.
The dynamic table here is the changed table
read from the grid
after user has changed it
Data can be saved to DB or whatever.
loop at <dyn_table> into wa_element.
do what you want with the data here
endloop.
switch off edit mode again for next function
i4 = 0.
call method grid1->set_ready_for_input
EXPORTING
i_ready_for_input = i4.
endform. "update_table
form set_input.
i4 = 1.
call method grid1->set_ready_for_input
EXPORTING
i_ready_for_input = i4.
endform. "set_input
form switch_input.
if i4 = 1.
i4 = 0.
else.
i4 = 1.
endif.
call method grid1->set_ready_for_input
EXPORTING
i_ready_for_input = i4.
endform. "switch_input
form init_grid.
Enabling the grid to edit mode,
struct_grid_lset-edit = 'X'. "To enable editing in ALV
struct_grid_lset-grid_title = 'Jimbos Test'.
call method grid1->set_table_for_first_display
EXPORTING
is_layout = struct_grid_lset
CHANGING
it_outtab = <dyn_table>
it_fieldcatalog = it_fldcat.
endform. "init_grid
form register_enter_event.
call method grid1->register_edit_event
EXPORTING
i_event_id = cl_gui_alv_grid=>mc_evt_enter.
Instantiate the event or it won't work.
create object g_event_receiver.
set handler g_event_receiver->handle_data_changed for grid1.
endform. "register_enter_event
Have fun with this
Cheers
jimbo -
Refresh page but SAVE USER INPUT in tabular form WITHOUT UPDATE
Hi,
When there is a tabular form in the page and user refreshes it (in anyway) tabular form's elements are always computed with values from the table in db. Can we somehow save user input in fields so that after refreshing page user will see what he/she has typed but not submitted to db?
Regards,
TomHello Andy,
Let me introduce you to the problem.
There is a tabular form based on a source table. User modifies the data and after he/she clicks Submit button the validation procedure is being run before MRU. If the result of validation is positive then MRU is run otherwise data should not be submitted to db and user should be informed about the result. Moreover, he/she should see the invalid data in fields. Not the correct one from db.
Is there any way to save a session state of these fields or of a whole tabular form? I cannot save the data in other table in db.
User cannot click 'Add row' several times in my app because after he clicks it once then the button disappears and appears again only when he/she clicks 'Submit' first (so after validation procedure).
Maybe there is some way to store fields' values in memory and then compute the form when page is loading again?
Imagine the situation that there are 100 rows in tabular form and user modifies it for one hour, clicks Submit, validation result is negative and his/her whole one hour work is lost, because the form has been refreshed according to what is stored in db. Such situation should never occur.
Regards,
Tom -
Derive values based upon user input
Hello,
I recieved a request for a report.
When a user runs the report they are to be prompted for a fiscal year/period.
Based on the fiscal year/period that the user provides I have the following columns (in bold below are 2 examples that may make the description more clear).
1. Revenue for the Fiscal year Prior to the fiscal year of the user input value
2. Revenue for the Fiscal year/Period prior to the input Fiscal year/period
3. Revenue for the Year to date accumulation up to the prior fiscal year/period that the user input
4. Revenue for the Year to date accumulation up to the prior fiscal year (fiscal year rolls back first) and prior period (for period 01, it then rolls back the fiscal year 1 more year) that the user input
Example 1: If the user ran the query and they provided the value 05/2007, then the values that need to be obtained would be:
1. Revenue for 2006
2. Revenue for 04/2007
3. Revenue for 01/2007 to 04/2007
4. Revenue for 01/2006 to 04/2006
Example 2: If the user ran the query and they provided the value 01/2008, then the values that need to be obtained would be:
1. Revenue for 2007
2. Revenue for 12/2007
3. Revenue for 01/2007 to 12/2007
4. Revenue for 01/2006 to 12/2006
Please help me with determining how to obtain the user input value, and then how to derive the time periods for the columns based upon that value.
Thanks,
Nick
(points available)
Edited by: Nick Bertz on Mar 13, 2008 9:43 AMHello,
See my example.. I am reading the value from Keydate Variable
WHEN ZVND01
READ TABLE i_t_var_range INTO w_var_range WITH KEY vnam = 'Keydate'.
IF SY-SUBRC = 0.
CLEAR l_s_range.
l_date = w_var_range-low.
concatenate l_date(6) '01' into l_first_date.
CALL FUNCTION 'SLS_MISC_GET_LAST_DAY_OF_MONTH'
EXPORTING
day_in = l_date
IMPORTING
last_day_of_month = l_last_date
EXCEPTIONS
day_in_not_valid = 1
OTHERS = 2.
IF sy-subrc EQ 0.
l_s_range-low = l_first_date.
l_s_range-high = l_last_date.
l_s_range-sign = k_sign_inclusive.
l_s_range-opt = k_option_between.
APPEND l_s_range TO e_t_range.
ENDIF.
Hope this example helps..
Maybe you are looking for
-
32-bit executable does not run in Windows Server 2008
Hi, Sorry if this question has been asked already. I am having trouble finding a solution in the NI knowledge base and here in the forums. I just created a simple UI standalone application in Labwindows/CVI with UI. It runs perfectly in XP when it wa
-
Deleting iTune Home Movie Artwork
Community How does one (if we can) delete artwork associated with Home Movie in iTunes (version 12.0.1). I recently changed the artwork associate with a ripped CD but I can't seem to delete the previous artwork in iTunes 12.0.1. Windows 7 Jeff
-
Problem with the DME file format MT101
Hello Experts, We are generating the DME file format MT101 for bank data transfer for Portugal with program SAPLZFPAYM_SWIFT_PT .But sadly we found that the line 71A:SHA is missed. Noting that this problem occurs with payment method "U" which is simi
-
Hi, Offline back is getting failed due to the following error in test server where as online backup is successful. BR0069E File name /oracle/QAS/sapdata1/temp_1/temp.data1 not unique - backup/verification not possible BR0069E File name /oracle/QAS/sa
-
Obtaining a resource statically in an applet
Hey guys, I have an applet where a number of image files are stored statically in resource classes. However, they are retrieved by file name, which is a problem when trying to put it on the web. Example below: public static Image First= Toolkit.getDe