All variables must be declared (defined) to the CL program or procedure before they can be used by the program or procedure.
There are two ways of declaring variables:
DCL VAR(&AREA) TYPE(*CHAR) LEN(4) VALUE(BOOK)
For example, if the DDS for the file has one record in it with two fields (F1 and F2), then two variables, &F1 and &F2, are automatically declared in the program.
DCLF FILE(MCGANN/GUIDE)
If the file is a physical file which was created without DDS, one variable is declared for the entire record. The variable has the same name as the file, and its length is the same as the record length of the file.
The declare commands must precede all other commands in the program or procedure (except the PGM command), but they can be intermixed in any order.
In its simplest form, the Declare CL Variable (DCL) command has the following parameters.

When you use a DCL command, you must use the following rules:
An integer value of two, four, or eight bytes.
The value can be negative if *INT is specified for the TYPE parameter.
The value must be positive or zero if *UINT is specified for the TYPE
parameter. LEN(8) can be specified only if the CL source is compiled
with the Create CL Module (CRTCLMOD)command or
the Create Bound CL Program (CRTBNDCL) command.
For decimal and character types, if you specify an initial value and do not specify the LEN parameter, the default length is the same as the length of the initial value. For type *CHAR, if you do not specify the LEN parameter, the string can be as long as 5000 characters. For type *INT or *UINT, if you do not specify the LEN parameter, the default length is 4.