I think you'll need to use %OFS built-in.  See this article for an example:
http://www.mcpressonline.com/programming/cl/the-cl-corner-handling-those-pes
ky-holidays.html
Elvis
Celebrating 11-Years of SQL Performance Excellence on IBM i, i5/OS and
OS/400
www.centerfieldtechnology.com
-----Original Message-----
Subject: Pointer arithmetic in CL
So, what am I doing wrong in order to get the CPD0711?
 DCL  &USPtr       *PTR       /* Pointer to user space      */
 DCL  &GHPtr       *PTR       /* Pointer to generic header information   
*/
 DCL  &GHInfo      *CHAR 256 STG(*BASED) BASPTR(&GHPtr) /* Generic header 
information */
 DCL   &GHHOffset  *INT    4 STG(*DEFINED) DEFVAR(&GHInfo 113) /* offset 
to header */
 DCL   &GHHSize    *INT    4 STG(*DEFINED) DEFVAR(&GHInfo 117) /* header 
size */
 DCL   &GHLOffset  *INT    4 STG(*DEFINED) DEFVAR(&GHInfo 121) /* offset 
to list */
 DCL   &GHLSize    *INT    4 STG(*DEFINED) DEFVAR(&GHInfo 125) /* list 
size */
 DCL   &GHLNbr     *INT    4 STG(*DEFINED) DEFVAR(&GHInfo 129) /* Number 
of list entries */
 DCL   &GHLEntSize *INT    4 STG(*DEFINED) DEFVAR(&GHInfo 133) /* Size of 
each entry */
 DCL  &pListEntry  *PTR       /* Pointer to list entry. */
 DCL  &ListEntry   *CHAR  10 STG(*BASED) BASPTR(&pListEntry) /* Current 
fax configuration */
 DCL  &EntryNbr    *INT    4 /* DOFOR VAR(&ENTRYNBR) FROM(1) TO(&GHLNBR) 
*/
...
       CHGVAR  VAR(&pListEntry) +
               VALUE(&USPtr + &GHLOffset)
CPD0711: Operands in expression not same type. 
Rob Berendt
As an Amazon Associate we earn from qualifying purchases.