|
Rob, Boy is my face red!!!!! I just tried the trigger on another system I have access to and it worked OK! Then I looked at the code I posted and it finally struck me. That code won't compile because the bufferlen field on the parm is not defined. The correct field is tgbufferlen. So I started hunting and found another copy of the copy member. And guess what? That member didn't have any *ENTRY at all. Thanks for you help and letting me waste your time. Roger Vicker, CCP rob@dekko.com wrote: > This is a multipart message in MIME format. > -- > [ Picked text/plain from multipart/alternative ] > There are some tricks on changing a trigger program after modifications. I > forget the actual rules but what I do, in early development, is remove the > trigger and add it back. Otherwise my changes were not taking effect. > > How are you determining that the fields are blank? Running the debugger > against the job? > > Rob Berendt > -- > "They that can give up essential liberty to obtain a little temporary > safety deserve neither liberty nor safety." > Benjamin Franklin > > "Roger Vicker, CCP" <rvicker@vicker.com> > Sent by: rpg400-l-admin@midrange.com > 04/03/2002 05:08 PM > Please respond to rpg400-l > > To: rpg400-l@midrange.com > cc: > Fax to: > Subject: Re: Trigger parameters blank filled. > > Rob, > > 1&2) This is a brand new program. I haven't needed triggers on the system > yet > but have written them before on others. > > 3) Here is the standard copy member I use. Some what stolen. Some what > customized for my tastes. I've tried both the *ENTRY as shown and the > prototype that is commented out. > > // First parameter of trigger call. Trigger buffer header > information. > D trigParm1 ds > D tgfile 10a > D tglib 10a > D tgmbr 10a > D tgevent 1a > D tgtime 1a > D tgcmtlck 1a > D tgfillr1 3a > D tgccsid 10i 0 > D tgrrn 10i 0 > D tgfillr2 4a > D tgoldrcoff 10i 0 > D tgoldrclrl 10i 0 > D tgoldnuloff 10i 0 > D tgoldnullen 10i 0 > D tgnewrcoff 10i 0 > D tgnewrclrl 10i 0 > D tgnewnuloff 10i 0 > D tgnewnullen 10i 0 > D tgfillr3 16a > > // Second parameter of trigger call. Ignored by program. > D tgbufferlen s 10i 0 > > // Constants used for trigger verification: triggering event, > // trigger time and commitment lock levels. > D triggerEventInsert... > D c const('1') > D triggerEventDelete... > D c const('2') > D triggerEventUpdate... > D c const('3') > D triggerEventRead... > D c const('4') > > D triggerTimeAfter... > D c const('1') > D triggerTimeBefore... > D c const('2') > > D commit_none... > D c const('0') > D commit_changes... > D c const('1') > D commit_cursorStability... > D c const('2') > D commit_all... > D c const('3') > > D*trigger PR > D* trigparm1 32767 Options(*VarSize) > D* bufferlen 10i 0 > D* PI > D* trigparm1 32767 Options(*VarSize) > D* BufferLen 10i 0 > // Trigger entry parameter list. > C *entry plist > C trigparm1 parm trigParm1 > C bufferlen parm bufferLen > > This is the headers for the actual program. I use CRTBNDPGM with > DBGVIEW(*SOURCE). I've tried the *CALLER activation and as it is here. > > H copyright('Copyright 2002, Roger Vicker, CCP and Vicker > Programming') > H option(*SRCSTMT : *NODEBUGIO) > H datfmt(*usa) > H* DFTACTGRP(*no ) > H* actgrp(*caller) > h extbinint > > Thanks. > > Roger Vicker, CCP > > rob@dekko.com wrote: > > > This is a multipart message in MIME format. > > -- > > [ Picked text/plain from multipart/alternative ] > > 1) Was this program working prior to V5R1? > > 2) Is this your first trigger program? > > 3) Please post your *ENTRY or your programs initial PI, whichever > method > > you are using. And also post the datastructures used to make up these > > variables. > > > > Rob Berendt > > -- > > "They that can give up essential liberty to obtain a little temporary > > safety deserve neither liberty nor safety." > > Benjamin Franklin > > > > "Roger Vicker, CCP" <rvicker@vicker.com> > > Sent by: rpg400-l-admin@midrange.com > > 04/02/2002 03:43 PM > > Please respond to rpg400-l > > > > To: RPG400 <rpg400-l@midrange.com> > > cc: > > Fax to: > > Subject: Trigger parameters blank filled. > > > > Hello, > > > > I am using a system at V5R1M0 with current Cum PTF and trying to > > create a new trigger program in RPGLE. My problem is that when the > > trigger fires the first parameter (the buffers) is blank filled and > > the second parm (buffer length) is zero. I've tried compiling > > DFTACTGRP(*YES) and DFTACTGRP(*NO) ACTGRP(*CALLER) with no difference. > > I've tried using procedure definitions and *ENTRY PLIST. The program > > is compiled with CRTBNDRPG > > > > To add the trigger I use ADDPFTRG FILE(FILELIB/FILE) TRGTIME(*AFTER) > > TRGEVENT(*INSERT) PGM(PGMLIB/TRIGGER) > > > > Shouldn't the parms always have something at least? > > > > Thanks. > > > > Roger Vicker, CCP > > -- > > *** Vicker Programming and Service *** Have bits will byte *** > > www.vicker.com *** > > Where bribes are cheerfully accepted. > > -- > *** Vicker Programming and Service *** Have bits will byte *** > www.vicker.com > *** > Where bribes are cheerfully accepted. > -- *** Vicker Programming and Service *** Have bits will byte *** www.vicker.com *** I think ;-)
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.