Functioning (OBJect)

For an OBJect, the GOBJET process is used. This process includes all the basic functions (display, left list and the buttons management, selection function, call to the standard lists, processing of the linked OBJects and the Workflow. There are three types of OBJects : single, grid and combined ; Certain actions are different by OBJect type.

The activation of a filter for the menu/selection works on the principal left list and refreshes it. It does not operate on the additional left lists.

The processes

It calls the annex processes, which are as follows :

Generated processes

- a process generated in automatic fashion on the validation the OBJect. This process has the name GESXXX, where XXX is the code for the OBJect. This process must not be modified, because in any case, it is re-written on each validation.

- from the processes generated in automatic fashion on the validation of the window. These processes have the names WOXXX, and WGOXXX where XXX is the code for the object. These processes must not be modified, because in any case, they are re-written on each validation of the window.

Process reserved for the standard

- a process called SUBXXX, where XXX is the code of the OBJect. This process, supplied by ADONIX, contains a label ACTION, which processes the different events likely to occur during the execution of the OBJect. Each event is identified by an alphanumeric code contained in the ACTION variable. If there is no process for an event ; the functioning of the OBJect will not be impeded.

Process reserved for customizations

There are two levels of process :

- a process called SPEXXX is provided for the customizations where XXX is the OBJect code.

- a process called SPVXXX is provided for the vertical where XXX is the OBJect code. The vertical is an intermediate layer, developed by any distributor, upon which it is then possible to apply the customization.

These processes are not supplies as standard. They can be developed in customization(both for the standard object where particular functions are to be added and for the custom object where the process SUBXXX is not used). These processes, if they exist must contain a sub-program ACTION.

Linking of the processes

The call sequence for the processes is the following :

-    SPEXXX process

-    SPVXXX  process   ( not if the variable GPV=1) 

-    SUBXXX  process   ( not if the variable GPE=1) 

When a customization is written, there is the possibility to short circuit the vertical and/or the standard.

It is possible to change the execution order of the processes by carrying out, the call to the vertical and standard processes directly from the customization and by inhibiting the call to these processes by the supervisor. Example of the writing of a specific/custom action :

Gosub  ACTION  From  SUBXXX              ( call to the standard)
...                                                            ( your specific/custom action)
GPE = 1                                                     (no call to the standard following the specific/custom)
Return

The use of a single OBJect is used to manage either the single records (a record in a table, for example the product record) or the files of the header and line type (in the case of orders, the postings..). As an aid to the management there is detail table for the sub-programmes defined in the TABLEAUX process.

Call to an OBJect

The call to an OBJect can be made by one of the actions of the dictionary where the process is of the type OBJect.

Before the execution of the action, it is possible for the user to restrict the access rights to this OBJect by setting the global variable GCONSULT :

·     GCONSULT=0 signifies that the OBJect can be managed as a function of these rights

·     GCONSULT=1 signifies that it cannot be modified, but the record can be changed

·     GCONSULT=2 signifies that it is not possible to modify nor change the record and that it is no longer in the left list.

The Actions

These actions are called by the instruction Gosub ACTION From SUBXXX. They therefore make it possible to be used and to define the local variable for the OBJect management process. In the action sub-programme, the different possible values are tested for the ACTION variable :

$ACTION
Case ACTION
When "..."
...
Endcase
Return

By default, there is no associated action and the "standard" process then runs, but the when specific functions are required to be added, the diversion will be made at this level.

Attached to this is the list of actions classed by alphabetical order. Next the detailed description of these actions is found. Described here is the calling context for the OBJective of these actions.

If this action is called during a transaction, the sub-programme called by the action can assign the GOK variable in the following manner :

    if a negative value is returned in the variable GOK, it is considered that the locking of the information by the other workstations prevents the update being carried out. A transaction abandon is then carried out (Rollback), followed by a new attempt (until reaching the number of attempts defined by the variable GROLLBACK  : the user is then asked whether to continue or to abandon).

    if a positive, non zero value is returned in the variable GOK, a transaction abandon is made (Rollback).

Add the specific/custom actions to the standard

Authorised.
The custom/specific process will be named "SPE" + OBJect code.

The specific/custom action before the standard action. It can cancel and replace the standard action if it sets the variable GPE to the value 1. It can be executed after, if the specific/custom action is written in the following fashion : call the standard action by Gosub, then write the body of the specific/custom action, then GPE=1.