Functioning (archiving - purging)
Description
This template is called from the menu "Usage/Archiving - Purging". It is used to execute an archiving and/or a purging of all or part of the parameterization. The process is automated for the principal and linked tables. A principal table can have up to 20 linked tables. A table can be linked to a principal table when its primary key start with the primary key of the principal table.
A log file is displayed at the end of the process to indicate the number of archived records and the number of purged records.
Archiving
The archive folder must be created.
The archiving is carried out if it is planned at the level of the parameterization and if it is requested at the launch.
The filter on the records to be processed is made with the company, the site, the date, the formula.
The supervisor process creates the table in the archive folder if required. It creates it with 2 additional fields CREHISDAT and CREHISUSR. It creates the records in the tables of the archive folder then delete the records in those of the current folder.
Purging
The purging is carried out if it is planned at the level of the parameterization and if it is requested at the launch.
The filter on the records to be processed is made with the company, the site, the date, the formula in the case of a simple purging. If the parameterization plans a purging, the filter is based on the company, the site, the date as a function of the CREHISDAT field (no filter on the formula, nor the FILTSUP variable).
The supervisor process deletes the records in the current folder or the archive folder if the parameterization plans for an archiving.
The processes
The template is a supervisor process that calls two annex processes : the standard process an the specific/custom process, if they are entered in the archiving formula. These two processes are structured in the same way, that is to say they start with a label ACTION, which process the different events likely to arrive during the execution of the function.
The standard process
This process supplied by ADONIX, must absolutely not be modified by the custom/specific.
The specific/custom process
This process is not supplied by Adonix, but it can be developed (both for the standard functions for which additions are required and for the specific/custom functions).
The Actions
The standard or specific process described by the label $ACTION to write in the following fashion( where XXXXXX is the event code ) :
$ ACTION
Case ACTION
When "XXXXXX" : Gosub XXXXXX
When default
Endcase
Return
Each event is identified by an alphanumeric code contained in the ACTION variable. If there is no process for the event, the functioning of the function will not be impeded by it. It is in the sub-programme $ACTION, that it is pointed to the added label. Within the "ACTION case " syntax is used to specify that as many lines as events are to be completed. The $ACTION is called from the supervisor process by GOSUB ; this therefore makes it possible to use the local variables from the supervisor process.
Attached to this is the list of actions. Next the detailed description of these actions is found. Described here is the calling context for the OBJective of these actions.
Add the specific/custom actions to the standard
By, default, for a single event, the specific/custom action is called before the standard action.
It can cancel and replace the standard action if it sets the variable GPEto the value 1.
To execute the standard action with the specific/custom action, copy the standard process in the specific/custom action, then add the specific/custom process and finally set the variable GPE to the value 1. Example :
Supervisor process
GPE=0
Gosub ACTION From trait_std ( call to the standard )
If GPE=0
Gosub ACTION From trait_spé. ( call to the specific/custom process )
Endif
Specific/custom process
$ ACTION
Case ACTION
When "OUVRE" : Gosub OUVRE
When default
Endcase
Return
$OUVRE
... ( specific/custom action OUVRE )
GPE = 1 (no call to the standard following the specific/custom)
Return