|
Sad to say, but I got in the habit of not modifying the library list in my trigger programs. I hardcode everything. Keeping in mind that a trigger program on a file is called when activity happens on that file. And, that activity may be initiated by something other than your favorite 5250 application. For example: - a UPDDTA in a job with QUSRLIBL library list - An excel application - a web application - Domino - and the list goes on. Rob Berendt -- "They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety." Benjamin Franklin "Tracy Ball" <TBall@xxxxxxxxxxxxxxxx> Sent by: rpg400-l-bounces@xxxxxxxxxxxx 03/25/2003 10:42 AM Please respond to RPG programming on the AS400 / iSeries To: "RPG programming on the AS400 / iSeries" <rpg400-l@xxxxxxxxxxxx> cc: Fax to: Subject: RE: Programming a trigger audit in ILE Is anyone using a CLP as the trigger program? I am creating an audit file from an *Update trigger, however, was wondering how to keep the library list straight so the program that called the trigger program completes normally. The Sorcerer book says a CLP can be used, however, it appears that RPG is the suggested route. Tracy L. Ball The Jackson Group Sr. Programmer/Analyst (317) 781-4600 ext. 3107 -----Original Message----- From: Buck Calabro [mailto:Buck.Calabro@xxxxxxxxxxxx] Sent: Friday, March 21, 2003 12:16 PM To: RPG programming on the AS400 / iSeries Subject: RE: Programming a trigger audit in ILE >Buck, null values in SQL are short integers, but in the trigger buffer >they are single-byte characters (RPG indicators). > >> DRtnNullRaw ds occurs(10) >> D NullMap n dim(9) Barbara's absolutely right. I pulled the example from the wrong program. My trigger maps look like this: D TrgBuf E DS EXTNAME(Trigger) * We can't tell how many fields are in the file; * to avoid hard-coding the number, set up an arbitrarily large * array to hold the null map. Remember that you can only * trust the array up to the null map length!!! D OldNulImg ds 32766 Based(POldNul) D OldNulMap 1a dim(%size(OldNulImg)) D NewNulImg ds 32766 Based(PNewNul) D NewNulMap 1a dim(%size(NewNulImg)) * Map the file I/O buffers from the external definitions D OldRcdImg E DS EXTNAME(DATESAMPLE) D based(pOldRcd) D prefix(O_) D NewRcdImg E DS EXTNAME(DATESAMPLE) D based(pNewRcd) D prefix(N_) C *Entry Plist C Parm TrgBuf C Parm TrgBufLen C Parm TrgRtnCde C EVAL pOldRcd = %ADDR(TrgBuf)+ Z1OROFF C EVAL pOldNul = %ADDR(TrgBuf)+ Z1ORNBO C EVAL pNewRcd = %ADDR(TrgBuf)+ Z1NROFF C EVAL pNewNul = %ADDR(TrgBuf)+ Z1NRNBO Sorry for the snafu, and thanks, Barbara! --buck _______________________________________________ This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/rpg400-l or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/rpg400-l. _______________________________________________ This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/rpg400-l or email: RPG400-L-request@xxxxxxxxxxxx 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.