|
Hello Rob, You wrote: >I understand the 0002 is the number of elements. Why does each element >begin with hex0001? Because your PARM definition says VARY(*YES) which causes each value to be prefixed with the length. In your example X and Y are both 1 byte long so each element is prefixed with a BIN(2) length and the whole lot is prefixed witha BIN(2) count. Note that each element still occupies the full 10 byte length you specified -- the empty bytes are padded with blanks. All the intricacies of element lists are explained (with examples and diagrams) in the CL Programming Guide in Chapter 9. To paraphrase you need RPG IV definitions much like the following: D program PI * (2-byte count + (300 elements * 10) + (300 elements * 2) D objList 3602 D objListDS DS D objCount 5I 0 D objElem 12 DIM(300) D objLen 5I 0 OVERLAY(objElem:1) D objName 10 OVERLAY(objElem:3) C EVAL objListDS = objList then iterate over the array for as many elements as objCount says you received. Regards, Simon Coulter. -------------------------------------------------------------------- FlyByNight Software AS/400 Technical Specialists http://www.flybynight.com.au/ Phone: +61 3 9419 0175 Mobile: +61 0411 091 400 /"\ Fax: +61 3 9419 0175 mailto: shc@flybynight.com.au \ / X ASCII Ribbon campaign against HTML E-Mail / \ --------------------------------------------------------------------
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.