× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



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 thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.