input_mode helps to control the mode the program will be in at the interaction.
By default, input_mode is disabled (set to -1) and the program is in DISPLAY mode (DISPLAY ARRAY, DISPLAY RECORD), and INPUT mode is activated on invoke (like pressing the Edit button).
User workflow at the input_mode disabled will look like this:
User workflow at the input_mode enabled (set to 0, 1 or any other positive integer) will look like this:
Note: Before proceeding, get acquainted with the Settings Levels section of LyciaLowCode Settings page (the concept of scopes is essential for configuring multiple interactions and the multitable support).
The definitions like LET <setting_variable>.<setting_name> = <value> refer to the InteractForm_Settings level, while LET <setting_variable>.views["<db_table_name>"].<setting_name> = <value> refers to the View level.
This setting can be defined for:
InteractForm_Settings level: Yes
View level: Yes
Setting format:
<InteractForm_Settings>.input_mode INT
<InteractForm_Settings> is the settings record identifier you specify.
Example (the InteractForm_Settings level):
LET rec_settings.input_mode = 1
Example .4gl file: settings_input_mode/settings_input_mode.4gl
FUNCTION settings_list()
DEFINE rec_settings InteractForm_Settings
LET rec_settings.form_file="../settings/llc_settings_list"
LET rec_settings.id = "settings" #settings action on append is null is identical/ LowCode action processing are managed in the 4gl code
LET rec_settings.input_mode = 1 #Operational Mode is INPUT (not DISPLAY) #Display some information
LET rec_settings.views["test05"].navigation_status="nav_page_of" #Display current cursor location to with label by identifier
LET rec_settings.views["test05"].actions[""]["BEFORE DIALOG" ] = FUNCTION display_info
CALL InteractForm(rec_settings)
END FUNCTION