Basing-pointer description

The basing pointer must be enclosed in single quotation marks if it contains special characters. Up to 132 characters can be specified for a basing pointer name. This includes any subscripts, embedded blanks, parentheses, and commas. It does not include the enclosing single quotation marks when special characters are used.

Basing Pointer
 
                        .-------------------.
                        V                   |
>>-qualified-name---subscript------,subscript-------+----------><
 
Note: The maximum is 14 repetitions.

Some examples follow:

        PTRVAR1
        'ABC.PGMPTR(5,B.I)'

If more than one basing pointer is specified for a variable, the list of basing pointers must be enclosed in parentheses. When multiple basing pointers are specified, they must be listed in order, from the first basing pointer to the last, when used to locate the variable. In the following example, the PTR_1 basing pointer is the first basing pointer used to locate the variable; it either must have a declared basing pointer, or it must not be a based variable. The address contained in the PTR_1 pointer is used to locate the A.PTR_2 pointer (which must be declared as a based pointer variable). The contents of the A.PTR_2 pointer are used to locate the PTR_3 pointer array (which must also be declared based), and the contents of the specified element in the last pointer array are used to locate the variable. An example is:

        ('PTR_1' 'A.PTR_2' 'PTR_3(1,B.J)')