LogiView

Functions and Commands

DB/Mask Interface

     

The definition of the database access enables the assignment of variables to a certain table field of the database (and hence to the corresponding field in a DataView mask). Based on this approach, LogiView provides suitable functions and commands to select and modify the database contents.

Commands and functions which can be executed separately

All these functions and commands represent an independent unit:

abort_transaction abort_transaction()
This command is used to abort a database transaction started by means of 'start_transaction()'. All changes of the database are undone.
db_function {INT_VAR}= db_function ({STR_EXPR}, {VAR}, {EXPR_LIST})
This function executes the specified database function. A database function is a user-defined database-specific application function which could be compared with a "stored procedure".
db_procedure {INT_VAR}= db_procedure ({STR_EXPR}) or
{INT_VAR}= db_procedure ({STR_EXPR},{EXPR_LIST})
This function executes the specified "stored procedure". A "stored procedure" is a user-defined database-specific procedure.
end_transaction end_transaction()
This command ends a database transaction started by means of 'start_transaction'. All changes are accepted.
start_transaction

start_transaction()
This command indicates the start of a database transaction. Changes to the database (e.g. performed by means of Update instructions) made after calling this command do not have an effect yet. There are two ways to abort a database transaction:

  • using the 'end_transaction' command
  • using the 'abort_transaction' command
sel_date {DAT_VAR}= sel_date({STR_EXPR},{WHERE|actual}) or
{DAT_VAR}= sel_date(act_fld)

This function is used to select a database value. The corresponding database field must be the type "Date".
sel_logic {LOG_VAR}= sel_logic({STR_EXPR},{WHERE|actual}) or
{LOG_VAR}= sel_logic(act_fld)

This function reads a value from the database. The corresponding database field must be the type "Logic".
sel_string {STR_VAR}= sel_string({STR_EXPR},{WHERE|actual}) or
{STR_VAR}= sel_string(act_fld)

This function reads a value from the database. The corresponding database field must be the type "String".
sel_value {INT_VAR|FLO_VAR}= sel_value({FLD},{WHERE|actual}),
{INT_VAR|FLO_VAR}= sel_value({DBF}({FLD}),{WHERE}) or
{INT_VAR|FLO_VAR}= sel_value(act_fld)

This functions reads a value from the database.
upd_var upd_var({VAR})
Using this field, an 'Update' is executed for a field in the database and/or a field is written in the current mask.
 

Functions and commands for catenated instructions

In order to enable the execution of complex database instructions (e.g. searches across several linked tables) many pieces of information are required.

In order to keep these instructions flexible and clear a modular approach was selected to specify certain information by means of appropriate functions or commands. The following functions and commands are called from several action lines of a decision table.

delete_ent delete_ent({STR_EXPR| })
This command is used to open a virtual widget with the list mask for the specified entity, for which data records are to be deleted (temporarly). See also DataView function 'iwf_lis_ent'.
delete_ref delete_ref({STR_EXPR| })
This command is used to open a virtual widget with the list mask for the specified relationship to (temporarly) delete data records. See also DataView function 'iwf_lis_ref'.
delete_typ delete_typ({STR_EXPR| })
This command is used to open a virtual widget with the list mask for the specified type to (temporarly) delete data records. See also DataView function 'iwf_lis_typ'.
exec_select

{INT_VAR}= exec_select({NUM_EXPR}) or
{INT_VAR}= exec_select({NUM_EXPR},distinct)
This functions creates a Select instruction from the forwarded parameters of the previously called commands 'select', 'where', and 'order by' (optional), performs the selection and assigns the matching data to the corresponding variables. Upon error-free execution of the selection this function provides an integer value with the number of records, whose contents has been forwarded to the corresponding variables.

exec_update exec_update()
This command combines an Update instruction from the forwarded parameters of the previously called commands 'update' and 'where' and executes the update.
execute {INT_VAR}= execute({NUM_EXPR}) or
{INT_VAR}= execute({NUM_EXPR},choose)
This function combines a Select, Update, or Insert instruction from the forwarded parameters of the previously called commands and executes this instruction (using virtual widgets). Upon error-free execution it provides an integer value with the number of records.
insert_ent insert_ent({STR_EXPR| })
This command is used to open a virtual widget with the list mask for the specified entity to enter records. See also DataView function 'iwf_lis_ent'.
insert_ref insert_ref({STR_EXPR| })
This command is used to open a virtual widget with the list mask for the specified relationship to enter records. See also DataView function 'iwf_lis_ref'.
insert_typ insert_typ({STR_EXPR| })
This command is used to open a virtual widget with the list mask for the specified type to enter records. (See also DataView function 'iwf_lis_typ'.)
order_by order_by({ORD_LIST})
This command specifies the order for sorting the matching data of a catenated Select instruction ('select', 'where', 'order_by', 'exec_select'). Any number of sorting criteria is possible.
select select({VAR_LIST})
This command is used to specifiy the table fields of the database which is to be selected in case of a catenated Select instruction ('select', 'where', 'order_by', 'exec_select'). Moreover it specifies the variables for the assignment of the field contents.
select_agg select_agg({STR_EXPR| })
This command is used to open a virtual widget with the list mask for the specified aggregate relationship, from which records are to be selected. See also DataView function 'iwf_lis_agg'.
select_ent select_ent({STR_EXPR| })
This command is used to open a virtual widget with the list mask for the specified entity, from which records are to be selected. See also DataView function 'iwf_lis_ent'.
select_ref select_ref({STR_EXPR| })
This command is used to open a virtual widget with the list mask for the specified Refine relationship, from which records are to be selected. See also DataView function 'iwf_lis_ref'.
select_typ select_typ({STR_EXPR| })
This command is used to open a virtual widget with the list mask for the specified type, from which records are to be selected. See also DataView function 'iwf_lis_typ'.
update update({VAR_LIST})
This command determines the database table fields to be updated in case of a catenated Update instruction ('update', 'where', 'exec_update').
update_ent update_ent({STR_EXPR| })
This command is used to open a virtual widget with the list mask for the specified entity, for which records are to be changed. See also DataView function 'iwf_lis_ent'.
update_ref update_ref({STR_EXPR| })
This command is used to open a virtual widget with the list mask for the specified relationship, for which records are to be changed. See also DataView function 'iwf_lis_ref'.
update_typ update_typ({STR_EXPR| })
This command is used to open a virtual widget with the list mask for the specified type, for which records are to be changed. See also DataView function 'iwf_lis_typ'.
var var({VAR_LIST})
This command determines the fields of the list mask written in catenated Update instructions respectively Insert instructions ('update_ent/update_ref/update_typ' resp. ' insert_ent/insert_ref/insert_typ', 'var', ' where_ent', ' where_ent2', ' execute') or read for cantenated Select instructions ('select_ent/select_ref/select_agg/select_typ', 'where_ent', 'where_ent2', 'where', 'exec_select', 'exec_update').
where where({WHERE|actual}) or
where(& {WHERE|DTV_JOIN}) or
where( | {WHERE})

This command determines the Where clauses of catenated Selection or Update instructions.
where_ent where_ent({WHERE}| )
When changing, inserting, or selecting data from a relationship list (catenated Update resp. Insert instruction: 'update_ref' resp. 'insert_ref', 'where_ent', 'where_ent2', 'execute' or catenated Select instruction: 'select_agg'/'select_ref', 'where_ent', ' where', ' execute') the command specifies the parent of the relational list.
where_ent2 where_ent2({WHERE}| )
For catenated Insert instructions ('insert_ref', 'where_ent', 'where_ent2', 'execute') this command specifies the record of the second entity for the relational list.