LogiView

Key Terms

Action Indicator

Action indicators can only be entered in the rule columns of a decision table. An action determines if the (complete) action entered in the main column is to be executed.

  • 'yes' (OR 'YES', 'Y', 'y')
    The action entered in the main column is executed.
  • 'no' (OR 'NO', 'N', 'n')
    If an action is entered in the main column, this action is not executed.

As blank fields in the rule column are not permitted the action indicator 'no' (do not execute an action) must be entered in this case.

 

Application Forms

  Application forms can be created with the DataView standard tools, if you own the corresponding development license.

If a field has been assigned to the application form and if a database access has been defined for the corresponding variable, the database access is executed if the variable is not yet initialized.

In order to prevent this (e.g. if you want to request user input for this variable to be later written to the database), you need to enter "no_select" as pre-userexit in the corresponding field of the mask field allocation of the user form.

DataView Documentation
 

Command

 

Commands are instructions that - other than functions - do not return any results. Commands can therefore not be integrated into numerical expressions.

Example:

put ("The calculated value is:",VALUE)
This command must not be called with a conditional instruction.

Condition Indicator

Condition indicators can only be entered in the rule columns (R01, R02, etc.) of a decision table.

  • Yes (OR 'YES', 'Y', 'y')
    The action entered in the main column must be met.
  • No (OR 'NO', 'N', 'n')
    The action entered in the main column is not to be met.
  • ':' (irrelevance indicator)
    .Provided that a condition is entered in the main column it is not checked.

As blank fields are not allowed in the rule columns in this case a condition indicator ':' (do not check condition) must be entered.
 

Debug Lines

 

A debug line ("D" entry in Comment row) is executed in debug mode only. Otherwise it is treated as a comment, i.e. ignored. This flag is only valid for action lines, not for condition lines (if, while, endif, etc.).

 

Decision Table

Decision tables (DT) are tables containing decision procedures that define the conditions (or combinations of conditions) to be met, to trigger the defined action (or combination of actions).

Example:

IF (CONDITION_1 and CONDITION_2 and ...) are met

THEN (ACTION_1 and ACTION_2 and ...).

Decision tables are used to differentiate between several possible cases in logic applications.

 

Descriptor Function

The descriptor function displays field descriptors of any field, field types, and name of the current mask in the "Field Information" form mask. This function is most important when defining LogiView variable database access (1:1 relation between table fields and field descriptor).

The descriptor function is called by positioning the cursor in the corresponding field (in Edit or Search mode) while pressing Ctrl-D.

.

 

Explanation Fields

Explanation fields are part of the Syntax Assistant tool and can be used to create a decision table / procedure. Explanation fields are easily identified by braces ({}). During execution, a decision table / procedure must not contain any explanation fields.

Example:

{DAT_VAR|STR_VAR} = date({STR_EXPR}| ) means that the return value is either a date or string variable while the input parameters are either a string expression or a NULL value.

Explanation Field Overview

How to Add Functions and Commands Using the Syntax Assistant 2
 

Logical Expression

 

A logical expression may comprise:

  • a comparison,
  • a logic function,
  • a logic variable,
  • a logic constant, or
  • a logic value.
Comparison

Logic Model

A logic model contains decision tables / procedures for a certain topic such as:
  • order processing procedures for a product
  • validation of form inputs for a form
  • testing procedures

Multi-hit Table (Multi-hit Technique)

Generally speaking, decision tables are interpreted row by row, i.e. the corresponding actions are executed and all following condition rows are ignored if all conditions of a rule are met. In multi-match tables, all condition rows are evaluated and corresponding actions are executed.

 

Procedure

In a procedure there are neither alternative rules nor a strict division between conditions and actions. Procedures are used to describe action sequences.

In addition to functions and commands that are available in decision tables, procedures may feature additional control structures such as 'if/elseif/else/endif' and 'while/done'.

LogiView procedures may contain parameters. Parameters must be separated by commas and are interpreted as LGV input/output parameters by LogiView procedures. Date parameters must be entered in database format. If a string parameter is to transfer the comma symbol, the comma must be enclosed in high colons (').

 

LogiView Procedure Names

The name of a LogiView procedure must be unique in combination with the logic models name.

We recommend naming LogiView procedures different to standard userexits.

The following is a list of userexits that are implemented in the default Java Client package, com.agile.jacc.callables:

  • LIST
  • ase_open
  • cch_cal_mac
  • cch_evt_nam
  • cch_sel_blb
  • clear_entry
  • evt_cal_mac
  • exi_dtv
  • hlp_cal_txt
  • iwf_del_lis
  • iwf_dup_elm
  • iwf_edt_lis
  • iwf_exi_edt
  • iwf_frm_acc
  • iwf_ins_elm
  • iwf_sel_lis
  • iwf_vie_lis
  • jcl_cre_htm
  • jcl_cre_url
  • jcl_fld_rfr
  • jcl_men_vie
  • lgv_usx_dsc
  • lng_edt_fld
  • lng_set_act_sys
  • lng_set_act_usr
  • menu_abort
  • menu_take
  • mmc_cre_evt
  • mmc_del_mas
  • mmc_epq_trc
  • mmc_get_key
  • prt_mod_grp
  • prt_mod_pwd
  • take_entry
  • wdh_cnt_lis
  • wdh_cop_pas
  • wdh_del_tra
  • wdh_rol_tra
  • wdh_upd_lis
  • xjcl_opn_wiz
  • xmgt_drp_evt
  • xprg_close
  • xprg_open
  • xprg_update
  • xutil_iwf_exi_edt_upd
  • xwfl_editor_start_jcl
  • zag_but_exi_edt

In addition to these, userexits can also be registered by plugins using the API AxalantRepository.registerUsx. Currently, the AutoVue Java Client plugin makes use of this and registers the following userexits:

  • web_app_cmd
  • pvm_bat_cmd

Recursion

The action of a decision table calling itself is called recursion. Recursions are an efficient method of programming loops.

Single-hit Table (Single Hit Technique)

Opposite of Multi-hit Table

Userexit

Userexits are C programs that cover several (standard) functions. E.g. the "cch_chk_men" userexit checks if the current field entry is identical to the corresponding entry of the selection menu.

DataView Documentation

Variables

LogiView is based upon a hierarchical system dividing logic models and decision tables/procedures. Thus the use of variables is defined and a modular structure is easier to maintain.

While initialized constants are immediately available for all decision tables or procedures, variables must first be added to the general declaration list (menu: Manager > Macro > LogiView > Declarations > Variables) before they can be assigned to one of the hierarchical layers mentioned above.

A variable is not defined as "valid" until it has been assigned:

  • decision table / procedure
    variables assigned to this layer are only valid within a decision table / procedure.
  • Logic Model
    variables assigned to this layer are valid within any decision table / procedure of a logic model (information interchange).
  • System
    Variables added to the system-wide list of known variables using the function for system-wide declaration can be used in all decision tables / procedures of all logic models.
    Variables with system-wide declaration can be used for information interchange between arbitrary decision tables / procedures.
    System variables should only be used for information interchange between triggers (EditAction, Pre- and PostAction,...) since they need to be consciously initialized and released.
String variables which have the format "CC-CC" (two characters - dash - two characters) are considered as a date.