The following example shows you how to adjust the value of a pointer by increasing it UP BY or decreasing it DOWN BY an integer value. This method of changing the value of a pointer can be useful when you are accessing items in a table that is referenced by a pointer data item.
WORKING-STORAGE SECTION.
01 A.
05 ARRAY-USER-INFO OCCURS 300 TIMES.
10 USER-NAME PIC X(10).
10 USER-ID PIC 9(7).
01 ARRAY-PTR USAGE IS POINTER.
LINKAGE SECTION.
01 USER-INFO.
05 USER-NAME LIKE USER-NAME OF ARRAY-USER-INFO.
05 USER-ID LIKE USER-ID OF ARRAY-USER-INFO.
PROCEDURE DIVISION.
SET ARRAY-PTR TO ADDRESS OF ARRAY-USER-INFO(200). 1
SET ADDRESS OF USER-INFO TO ARRAY-PTR. 2
SET ARRAY-PTR UP BY LENGTH OF USER-INFO. 3
SET ADDRESS OF USER-INFO TO ARRAY-PTR. 4
MOVE "NEW NAME" TO USER-NAME OF USER-INFO.5
MOVE "NEW NAME" to USER-NAME OF ARRAY-USER-INFO (201).
For a complete definition of the SET statement, refer to the ILE COBOL for AS/400 Reference.
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.