Figure 4. Using a pointer and pointer-based variable

PGM
DCL        VAR(&FILELIB) TYPE(*CHAR) LEN(20) VALUE('A         B         ')
DCL        VAR(&PTR1) TYPE(*PTR) ADDRESS(&FILELIB)
DCL        VAR(&PTR2) TYPE(*PTR) ADDRESS(&FILELIB 10)

DCL        VAR(&FILE) TYPE(*CHAR) STG(*BASED) LEN(10) BASPTR(&PTR1)
DCL        VAR(&LIB) TYPE(*CHAR) STG(*BASED) LEN(10)  BASPTR(&PTR2)
DMPCLPGM
ENDPGM