DECIMAL

Contents


Decimal is used to declare Decimal type variables, that is numbers in C-Isam BCD (binary coded decimal) format.

Syntax

   [ Local | Global | Extern ] Decimal list_var_dim

 

Parameters

Element

Description

Restrictions

list_var_dim

List ofvar_dim separated by the character ','.

None.

var_dim

Name of a variable expressed in one of the following forms:
nom_var
nom_var '(' list_dim ')'

None.

nom_var

nom_de_variable.

None.

list_dim

List ofexp_dim separated by the character ','.

number limited to 4.

exp_dim

Integer expression representing the number of elements of the variable (from 0 to exp_dim-1) or 2 integer expressions separated by the 2 characters '..' representing the range of possible indices for the variable

The number of elements must belong to [1,65535]. If a range is given the starting index must belong to [-32768,32767].

 

Examples

# Declaration of local variable
Local Decimal LOCDCB

# Declaration of an external 8 element table (numbered 0 to 7)
Extern Decimal TABDCB( 8 )

# Declaration of an 8 element table (numbered I to I+7)
I = 3
Decimal TABDCB( I .. I+7 )

# Declaration of a 4-dimensional matrix
Decimal HYPER( X, Y, Z, T)

 

Description and comments

Decimal is used to declare decimal type variables to an accuracy of 32 significant digits maximum, scaling them if necessary.

If Local is used, the variables will be local to the routine or sub-programme, and deleted when the sub-programme or routine is completed.

If Extern is used, the variable is not created, but its existence and type are checked.
If Extern is not used, a declaration of a variable already existing in class [V] or [L] will cause this variable to be deleted, followed by its recreation with the dimensions and type given. After a declaration, the variable is always initialised (that is, set to 0 for a variable of type
Decimal, for all indices of the variable).

Values for Decimal type variables are between –1E80 and +1E80; giving an accuracy of 32 significant digits maximum.

 

Associated errors

Error

Description

ERDIM (55)

Too many dimensions are given (>4).

ERVARI ( 6)

Non-existent variable (Extern).

ERMODE (10)

- The dimensions given are not numerical.
- The type of variable is incorrect (Extern).

ERCLAS ( 7)

Non-existent or prohibited class (for example: declaration of a variable in a mask).

ERINDI ( 8)

One of the dimensions is null.

ERDOM (50)

The dimensions are not between -32768 and +32767.

 

Associated key words

SHORTINT - DATE - INTEGER - LIBELLE - CHAR - GLOBAL - LOCAL - EXTERN


CONTENTS


Copyright © Sage 1999 - 2007