migration gives warnings when entries defined in triggers like RETS

Author: ulrichmerkel@web.de (ulrich-merkel)

since the very old days, entries were defined in triggers like RETS: entry RETS end ; RETS entry RETS1 end ; RETS1   In U10, the migration goes wrong: ;- [Start '<Retrieve Sequential>'] #startdefine #define $triggerAbbr=RETS trigger retrieveSequential entry RETS end ; RETS entry RETS1 end ; RETS1 end #enddefine ;- [End '<Retrieve Sequential>'] Phase  7:   Procs compilation (CSCR)                end (CSCR)  warning:   1000 - Proc statements occur after 'end' instruction. (CSCR)                end (CSCR)  warning:   1000 - Proc statements occur after 'end' instruction. (CSCR)                end (CSCR)  warning:   1000 - Proc statements occur after 'end' instruction.   To allow remote controlled trigger execution, we will find in the ERAS or CLR constructions like: call DO_ERAS() entry DO_ERAS   message/info "ERASE not active!"   return   erase   if ($status < 0)     message $text(1763)   ;error     rollback   else     if ($status = 1)       message $text(1634) ;not allowed     else       message $text(1806) ;Ok       commit     endif   endif end ; DO_ERAS   or   call DO_CLR() entry DO_CLR   clear end ; DO_CLR   After migration to U10, ;- [Start '<Clear>'] #startdefine #define $triggerAbbr=CLR trigger clear call DO_CLR() entry DO_CLR   clear end ; DO_CLR end #enddefine ;- [End '<Clear>']  

1 Comment

  1. Oh dear, we use this structure a lot. Mostly, as Uli says, to allow remote calling of 'trigger' behaviour and one place to put the code.    There are a LOT of    call <$fieldname>_<$triggerabbr>  entry <$fieldname>_<$triggerabbr>  code end   in our code. 


    Author: Iain Sharp (i.sharp@pcisystems.co.uk)