|
>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
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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.