Hi Fuerchau,
genau das ist Antwort auf meine Frage! Super, ich danke dir.
Nur kleine Anpassung: FILLER muss X(12), weil die numerische Variable 9(9) BINARY ist 4Bytes groß und insgesamt muss es 16Bytes sein, weil Pointers 16Bytes allozieren.
Code:IDENTIFICATION DIVISION. PROGRAM-ID. PTRDIFF. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. DATA DIVISION. FILE SECTION. WORKING-STORAGE SECTION. 01 TEST-STRING-1 PIC X(160) VALUE "green eggs and ham". 01 TEST-STRING-1-PTR POINTER. 01 TEST-STRING-2-PTR POINTER. 01 TEST-STRING-1-PTRR REDEFINES TEST-STRING-1-PTR. 05 FILLER PIC X(12). 05 OFFSET1 PIC 9(9) BINARY. 01 TEST-STRING-2-PTRR REDEFINES TEST-STRING-2-PTR. 05 FILLER PIC X(12). 05 OFFSET2 PIC 9(9) BINARY. 01 OFFSET PIC 9(9) BINARY. PROCEDURE DIVISION. MAIN. SET TEST-STRING-1-PTR TO ADDRESS OF TEST-STRING-1. SET TEST-STRING-2-PTR TO ADDRESS OF TEST-STRING-1. SET TEST-STRING-2-PTR UP BY 2. COMPUTE OFFSET = OFFSET2 - OFFSET1. DISPLAY OFFSET. STOP RUN .
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten
.

Bookmarks