|
On Thursday 11 April 2002 10:43 pm, Mark Walter wrote: > Hello all, > > Here's one to chew on. Is there a way, preferably in RPGLE, to iterate > through the fields in an externally described data structure and > display, print, compare the values. Here's my problem. > > I have a file with about 60 fields that needs an audit when it's > changed. A perfect application for a trigger program. The problem is > that they don't want a copy of the entire record only the fields that > have been changed. I'd like a way to not have to change the trigger > program if the database changes so I want to systematically iterate > through the fields in the before and after buffer and compare the > contents. If they are different, write a record to an audit file. Sort > of like the .fields collection in VB. > > I thought of using the output from a QUSLFLD API and comparing values > as a substring of the DS, but I think it would puke on Packed fields. > > Any input would be appreciated. > > > Thanks, > > Mark Hi Mark You could use a technique similar to the code in my CRTCSVDTA utility. That uses QUSLFLD info and iterates through each field converting it to character format if required, so the .csv file doesn't end up with garbage. Essentially it just substrings the packed value into a data structure that maps a big packed field over a character one. Load it into the character field and pull it out from the packed. See program DBG201R4 in the download file from http://www.dbg400.net/crtcsv.html - it might be a way forward. Regards, Martin -- martin@dbg400.net jamaro@firstlinux.net http://www.dbg400.net /"\ DBG/400 - DataBase Generation utilities - AS/400 / iSeries Open \ / Source free test environment tools and others (file/spool/misc) X [this space for hire] ASCII Ribbon Campaign against HTML mail & news / \
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.