× 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 message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.
--
[ Picked text/plain from multipart/alternative ]
I read that article this morning as well.  All i can say is thhe following
code works here and I'm on v5r1:

D BfrDS           DS
D  FileName                     10
D  Library                      10
D  MbrName                      10
D  TrigEvent                     1
D  TrigTime                      1
D  CmtLckLvl                     1
D                                3
D  CCSID                        10i 0
D                                8
D  BfrOffset                    10i 0
D  BfrLength                    10i 0
D  BfrNullOff                   10i 0
D  BfrNullMap                   10i 0
D  AftOffset                    10i 0
D  AftLength                    10i 0
D  AftNullOff                   10i 0
D  AftNullMap                   10i 0
D                               16
D  BufferChr                 32767    Overlay(BfrDS)
D   BufferAry                    1    Overlay(BufferChr)
D                                     Dim(%size(BufferChr))
...
D bfr_CSPCM     E DS                  ExtName(CSPCM) Prefix(bfr_)
D                                     Based(BfrPtr)

D aft_CSPCM     E DS                  ExtName(CSPCM) Prefix(aft_)
D                                     Based(AftPtr)
...
D BufferLen       s             10i 0
D BfrPtr          s               *
D AftPtr          s               *
...
C                   Eval      Bfrds = %subst(BfrRcd:1:BufferLength)
C                   Eval      BfrPtr = %addr(BufferAry(BfrOffset + 1))
C                   Eval      AftPtr = %addr(BufferAry(AftOffset + 1))
...

I had a problem with v5r1 triggers, but it was caused by the total length of
the buffer changing and becoming longer than the data queue it eventually
gets placed on.  That's nothing to do with softcoding the buffer, just the
fact that the nullmap expanded and caused a record that was less than 1024
to end up being longer, the truncation (fortunately) happened in the middle
of a packed numeric field and caused a DDE in the program that read the
dtaq, otherwise we could have been passing on a truncated buffer for some(?)
time.

Tom Westdorp
AS/400 Senior Programmer/Analyst

IBM Certified Specialist - RPG IV Programmer
IBM Certified Specialist - RPG IV Developer
Voice: (702) 221-6859
Fax:    (702) 221-6881
tom.westdorp@stationcasinos.com <mailto:tom.westdorp@stationcasinos.com>

==> The trouble with hitting the jackpot on a slot machine is that it takes
so long to put the money back.



-----Original Message-----
From: Klein, Ron [mailto:ron.klein@brctsg.com]
Sent: Friday, January 11, 2002 2:30 PM
To: ''MIDRANGE-L'
Subject: Triggers in V5R1


 Hi All,
I have a question about the new trigger buffers in V5R1.  I just read the
article that Jon and Susan wrote.  My question is with the code below are we
addressing the offset correctly so as not to run into the potential problems
in the new release.

I believe we are, but I would like to get some type of reassurance before we
get to the new release and find out that we have several hundred triggeres
that won't fire correctly.

*Code snippet*
 * Set pointers for the before and after images
 C                   EVAL      WKBPTR = %ADDR(TRBUFARY(TROOFF + 1))
 C                   EVAL      WKAPTR = %ADDR(TRBUFARY(TRNOFF + 1))
*end of Snippet*

TIA Ron


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

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.