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


  • Subject: Re: re:RPG Trigger Pgm
  • From: David Morris <dmorris@xxxxxxxxxxxxx>
  • Date: Thu, 12 Feb 1998 08:04:06 -0700

Eric,

John is right about redefining using an externally defined data structure.  
Instead 
of the movel I would use a basing pointer.  You don't have to go way out of 
your 
way to do this and if your record is real long it can improve performance.  It 
may 
be a little more complicated but you can use the same code in every trigger you 
create.  In order to use the movel you would have to hard code the record 
length 
in your trigger buffer.  This is likely to introduce errors if the record size 
changes 
and you forget to change the hard coded record length.  Using a basing pointer 
you 
can simplify program changes when you add, change or remove a field.  The code 
would look something like:
...
     DRcdBuf         E DS                  EXTNAME(FILENAME) BASED(pRcdBuf)
...
     C                   EVAL      pRcdBuf     = %ADDR(TrgBuf + RcdOff)

David Morris

>>> John Carr <74711.77@compuserve.com> 02/11 4:42 PM >>>


RE: RPG Trigger Pgm

Eric
Don't bother with the offsets or SUBST business.  Movel the After image
into an externally defined data structure(Defined by the same file as 
being triggered).  Then you can manipulate the field names directly 
with EVAL's MOVE's Z-adds whatever you like(with compares, IFEQ etc) 
then MOVEL the externally defined data structure back into the Image
field.  or whatever.  why be complicated.

John Carr


     I'm trying to work up a sample DB trigger pgm (RPG) to validate 
     records at *insert and *update.  Documentation (DB2 for OS/400 
     Database Programming V3R7) indicates that I can modify the new record 
     image in the trigger buffer, but I can't see any way to apply changes 
     to the trigger buffer at offset value. For example, I want to update a 
     field RCDSTS to "SC04" to indicate the record contains errors before 
     writing a record to a Status History file. I can't see how to move 
     SC04 into the trigger buffer @ offset value corresponding to this 
     field. (<-- Huh? I think I just confused myself....)
     
     I guess I'm looking for the opposite of SUBST.. something that will 
     let me move a value into a field at location X. 
     
     Am I going to have to learn basing pointers or what?  Any hints, 
     suggestions, or samples would be appreciated.  Thanks.
     
     Eric A DeLong
     ericadelong@pmsc.com      

                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                      
+---
| This is the Midrange System Mailing List!
| To submit a new message, send your mail to "MIDRANGE-L@midrange.com".
| To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---


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.