|
-----Original Message----- From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx]On Behalf Of Jon Paris Sent: Saturday, September 06, 2003 4:07 PM To: rpg400-l@xxxxxxxxxxxx Subject: RE: %OFFSET >> If I have a datastructure, full of variable length fields, how do I >>determine the offset to a particular field? >The varying length fields always occupy the same amount of storage - i.e. >the maximum length + 2. They are only _treated_ as being variable in length >when used. So to calculate the offset is no different than for a fixed >length field - Addr(VarFieldn) - %Addr(DS). For the actual data content (as >opposed to the length) you need to add 2 to that. >I'm fascinated as to why you want to know the offset. how odd, I have the opposite view. A subfield in an externally described data struct can be uniquely identified by its offset into the ds. ( along with the eds file name ). Using these keys, a proc could lookup the quslfld generated table for the column heading and other info of the field. From there, an on the fly html making program could generate a web page showing a fields value and its column heading. The following code may look messy, but it has a write once advantage to it: AddColumnToHtmlTable( conExtDsFileName: %offset( Employee.Name ): Employee: sHtmlTableString ) ; Where Employee is a qualified DS that contains the data to display. And sHtmlTableString is a string that will be written to stdout to display the web page. -Steve
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.