|
This is a multipart message in MIME format. -- [ Picked text/plain from multipart/alternative ] The traditional method of the before and after external data structures will not work. Unless they plan on recompiling the program every time they change the database. Even then it wouldn't do any good because when you get down to the brass tacks on accessing the new fields, in each data structure, how would you? D new ds extname(myfile) qualified D old ds extname(myfile) qualified if new.fld1<>old.fld1; ... // ok, they've added a new field, how do you handle that, without writing new code? Instead, you might be better off accessing each chunk of the data buffer. Use the file QSYS2/SYSCOLUMNS to determine field names and attributes and substring each chunk into these. Rob Berendt -- "They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety." Benjamin Franklin MWalter@hanoverwire.com Sent by: rpg400-l-admin@midrange.com 04/11/2002 03:42 PM Please respond to rpg400-l To: rpg400-l@midrange.com cc: Fax to: Subject: Iterate through the fields in an externally described data structure 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 Mark Walter Sr. Programmer/Analyst Hanover Wire Cloth a div of CCX, Inc. mwalter@hanoverwire.com http://www.hanoverwire.com 717.637.3795 Ext.3040 _______________________________________________ This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list To post a message email: RPG400-L@midrange.com To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l or email: RPG400-L-request@midrange.com Before posting, please take a moment to review the archives at http://archive.midrange.com/rpg400-l.
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.