Development > Utilities > Verifications > Source verification 

This function is reserved (and useful) for the developers.
The launching in batch mode is possible.

The process aims at detecting a certain number of programming errors.
This way, the quality is enhanced before the first use.

This process can be used to launch various controls in a folder:

- control of sub-programs and functions: it deals mainly with the call to the sub-programs in the sources (existence, number and coherence of setups...).
- control of classes [F] and [M]: it is used mainly to control the existence of tables, screens and fields in sources.
- Other controls: it is used for various controls in sources.

Controls are divided in two parts:

- Errors: They can cause the product to stop.
- Anomalies: This is about the non compliance with standards or a lack of specificity that can lead to errors during the execution of the process.

The process generates two log files (one for errors, the other for anomalies).
The anomaly file has the same name as the error file plus the suffix "W" (for "warning").

Screen management

The screen presents the current folder.

Entry screen

Presentation

Enter the requested setups

Close

 

Fields

The following fields are present on this tab :

Block number 1

choice of folder to deal with.
for performance matters, it is recommended to deal with the current folder.

Control type

  • Subprograms and functions (field VERIFCALL)
  • Classes [F] and [M] (field VERIFVAR)

control of classes [F] and [M].

this choice is used mainly to control the existence of tables, screens and fields in sources.

  • Others (field VERIFAUT)

other controls.

this choice is used for various controls in sources.

Criteria

  • Source(s) (field NOMSRC)

process selection.

select all via "*", one via its name or several via start*

  • Module (field CHXMODULE)

choice of a module (via a list screen).
only processes from this module are controls

  • field LIBMODULE

 

  • Error (field CHXERREUR)

choice of a particular error (via a list screen).
this selection is possible if one control is requested.

  • field NUMERR

 

Sort

  • Module (field PARMODULE)

Linking by module
This is use to obtain errors (and anomalies) sorted by module.

Log

  • On client workstation (field TRACE)

Log file.

It is possible to save directly on the customer workstation (checkbox).
In that case, its name can be modified.

Close

 

List of errors and anomalies searched

Control of the sub-programs and functions.

Errors searched:

DBGAFF found.
Processing does not exist.
Sub-program (or function) does not exist.
Error when call by GOSUB.
Global variable VAR does not exist.
Parameter having a different type on sub-program (or function) call.
Number of parameters different on sub-program (or function) call.

Anomalies searched:

Function having an argument type not entered in the ASUBPROG dictionary.
Function having an argument type (End) in the dictionary different from that of the processing.
the sub-program (or function) has an argument number that has not been declared.
Global variable VAR already declared with a different type.
Sub-program (or function) having en empty description (documentation).
Parameter [=VALUE] with a different type on sub-program (or function) call.
Parameter with a different type between dictionary and sub-program (or function) declaration.
Parameter transmitted as address/value differently between dictionary and sub-program (or function) declaration.
Different number of parameters between dictionary and sub-program (or function) declaration.
The argument no. N of the sub-program (or function) has a different name upon type definition.


control of classes [F] and [M].

Errors searched:

Source code should not be found in the industrialization environment.
Source code not referenced in the processing dictionary.
Screen variable does not exist [M:ABV]CHP
Table variable does not exist [F:ABV]CHP
Variable does not exist [ABV]CHP in the LNK tables
Table not found
Abbreviation too long (> 4)

Anomalies searched:

Variable does not exist [G:ABV]CHP
Variable does not exist [S:ABV]CHP

other controls

Errors searched:

Sub- prog (or fct) ended and For devoid of Next
Sub- prog (or fct) ended and If devoid of Endif
Sub- prog (or fct) ended and Case devoid of Endcase
Sub- prog (or fct) ended and While devoid of Wend
End found in a For [Read] loop
Return found in a For [Read] loop
Entry point documentation does not exist.
   
Anomalies searched:

Start of the sub-program (or function) although the previous one is not finished yet
Sub-program (or function) does not contain any code
Sub-program (or function) has a grid for a parameter that is transmitted as value
Return found in a sub-program (or function)
Inaccurate error message, to be complemented with: "(" + [L]COMPTEUR - num$([L]STAT) + ")".
#@ is an obsolete instruction
Instruction devalue not useful for a size dim.

Balises pour masquer certaines erreurs

Batch task

This function can be run in batch mode. The standard task AVERIFSRC is provided for that purpose.

Error messages

The only error messages are the generic ones.

Tables used

SEEREFERTTO Refer to documentation Implementation