Declarations
- Last UpdatedNov 07, 2025
- 1 minute read
The subroutine summaries define the argument declarations that are used within the DARs. Character and logical arguments must be explicitly declared in calling routines.
The following naming convention has been adopted in the subroutine specifications:
|
CHARACTER |
CD3xxx |
|
|
INTEGER |
ID3xxx |
|
|
REAL |
RD3xxx |
|
|
LOGICAL |
LD3xxx |
Character and logical arguments must be explicitly declared in calling routines. Integer and real arguments comply with the default FORTRAN 77 naming convention and need not be declared.
Wherever assumed size arrays or character strings are used
|
for example, |
INTEGER ID3XYZ(*) |
|
CHARACTER*(*) CD3XYZ |
The programmer must provide the appropriate explicit declaration in the application program.
Functions are avoided in DARs but some general utility functions are provided. The calling routine must make the following declarations where these functions are used:
|
INTEGER |
D3ULEN |
|
|
LOGICAL |
D3UCTI |
|
|
LOGICAL |
D3UCTR |
|
|
LOGICAL |
D3UGTU |
|
|
LOGICAL |
D3UCLU |
The EXTERNAL declarations are optional.
Some programmers adopt a rigid practice of declaring all variables and external functions and subroutines. Such a practice, whilst irksome to some, eliminates misspelling of variables within a program and prevents accidental omission of non-default declarations (for example, INTEGER D3ULEN) which are difficult to identify in a 'misbehaving' program.
Some compilers provide an option that forces the programmer to declare all variables and externals. If DARs programmers adopt the practice, it will help to reduce AVEVA's support load. In this manual, including the example listed above, all coding examples include full declarations.