Setting Default Values

When an App loads it may be necessary to default some data. There are four ways of doing this.
 

  1. Providing default values for the Fields in the FAB Workbench 
  2. Assigning a User Parameter ID (e.g. Parameter ID WRK from the User Master record)
  3. Implementing methods DETERMINE_INITIAL_FIELD_VALUES or DETERMINE_FIELD_VALUES_ON_LOAD
  4. Setting the values during load of the Application using Javascript

1. Providing default values for the fields in the FAB Workbench

Using the Fields editor, enter the default value in the 'Default' column

 2. Assigning a User Parameter ID

Default values set in #1 is overwritten by this setting.

Default initial values onto the form specific to a user

Setup a PID in your user profile. 

Use SAP tcode SU01 and go to Parameters tab.

In this example the PID for WRK for this user has been set to 1000.

In your App assign the PID name to you variable. It will automatically assign the value of the PID to the field.

3. Implementing methods DETERMINE_INITIAL_FIELD_VALUES or DETERMINE_FIELD_VALUES_ON_LOAD

A. DETERMINE_INITIAL_FIELD_VALUES

Values set using methods #1 and #2 are overwritten by this implementation

If you haven't already, create an Implementation Class for your project.  Either press the "Code" button   or edit the implementation class directly using transaction SE24.  It is useful to press the "Display Object List" button of SE24 to obtain a tree view of the class.
 
Expand the tree to Methods->Inherited Methods
 
Locate the method DETERMINE_INITIAL_FIELD_VALUES, then right-click, Redefine


In the code editor you can code your logic for determining the default values for fields when the Form is opened for the first time.
Note: for defaulting field values after a form has already been submitted at least once (ie as part of a workflow), implement method DETERMINE_FIELD_VALUES_ON_LOAD
Important: always call the SUPER method in this implementation so that system fields such as the current user name will be determined correctly at run-time.
 
A typical implementation would be as follows:

 


The procedure is to read parameter CT_FIELD_VALUES with the key ZFIELD_NAME equal to the Form field which is to be modified, then set the attribute ZFIELD_VALUE to the desired value.
 
Save and Activate.

B. DETERMINE_FIELD_VALUES_ON_LOAD

This method is used to provide default data and to overwrite existing Form data at various stages through out the Form life-cycle.
 
This method provides a parameter I_HEADER_INSTANCE which allows the method to determine the current state of the Form via fields such as
 

  • CURRENT_APPROVAL_LEVEL
  • CURRENT_LEVEL_ACTION
  • SUBMITTED_BY_UNAME
  • SUBMITTED_BY_PERNR

 
This method is called once for each field in the form via parameter I_FIELD_NAME and the method may set the value of each field using the parameter E_FIELD_VALUE.
 
A typical implementation is as follows:

4. Set values on load of the Application using Javascript

Values set using methods #1, #2 and #3 are overwritten by this implementation

On the function defined in the OnLoad of the Page, the values can be set.