[comp.databases] ORACLE SQLFORMS DOCUMENT

raym@hrshcx.UUCP (Ray Morin) (08/26/89)

Hello.
         I while back I posted a request for Reports to document
SQL*FORMS applications.... I got many responses and also many
request for forwarding of replies. So I have posted all responses
to comp.sources.misc. the following have been posted...
          trigger.rpt
          form.rpt
          form23.rpt
          awksqlforms
and can be found by searching for keywords ORACLE SQLFORMS DOCUMENT

THANKS to everyone for responding and sorry so late at repling to all
the request for forwarding but I've been very busy with a new baby
and work so .... here it is.

P.S. 
     Sorry for typos on the heading of the postings to comp.sources,misc
in a hurry ya know........ 

raym@hrshcx.UUCP (Ray Morin) (09/01/89)

   Hello ,
       Please excuse me for posting this to comp.databases but a previous
  attempt to post to comp.sources.misc was unsuccessful. I posted a notice
  of the posting to comp.sources.misc here so people are probably searching
  for it.


The following is source for an RPT based trigger documentation
reporting tool for ORACLE*sqlforms trigger.rpt
     This report tool only prints triggers.
     This is one of many responses to a call for help on the net
     for tools to document SQL*FORMS.

                                                      Ray Morin
                                                      (305)977-4453

    P.S
        For all tools of this nature search for key words ORACLE, DOCUMENT, 
        SQLFORMS

-------------------   cut here        cut here  -------------------------------

.rem TRIGGER.RPT
.rem by John F. Martin 9/21/87
 
#dt 1 3 83 .
#t 1
#dt 2 3 0 .
 
.declare appid          9999
.declare appname        a30
.declare appname2       a30
.declare trigger_name   a40
.declare trgblk         a30
.declare trgfld         a30
.declare trgtype        a30
.declare trgseq         999
.declare trglabel       a50
.declare trgsql         9999
.declare trgmsg         a80
.declare sqttext        a80
.declare today          a30
.declare block          a40
.declare field          a40
.declare trgslab        a50
.declare trgflab        a50
.declare trginv         a1
.declare trgroll        a1
.declare trgmve         a1
.declare comment        a80
 
.define get_app
        select appid,to_char(sysdate,'DD-MON-YY HH24:MI'), upper(&appname)
        into appid,today,appname2
        from iapapp
        where appname = upper(&appname)
        and appowner = user
..
.define get_triggers
        select decode(trigblk,null,'Form Level','Block:  '||trigblk),
                decode(trigfld,null,null,' / Field:  '||trigfld),
                nvl(trigblk,'-none-'),nvl(trigfld,'-none-'),trigtype,
                trigtype||': \ \ ',0
        into block,field,trgblk,trgfld,trgtype,trigger_name,trgseq
        from iaptrigger
        where trigappid = &appid
        order by trigblk,trigfld,upper(trigtype)
..
.define get_steps
        select  decode(trglabel,null,null,'LABEL: '||trglabel),
                trgsql,trgmsg,trgseq,
                decode(trgslab,null,null,' / Success: '||trgslab),
                decode(trgflab,null,null,' / Failure: '||trgflab),
                trgmve,decode(trgroll,'Y','N','N','Y','*Error*'),trginv
        into trglabel,trgsql,trgmsg,trgseq,trgslab,trgflab,
                trgmve,trgroll,trginv
        from iaptrg
        where trgappid = &appid
        and nvl(trgblk,'-none-') = &trgblk
        and nvl(trgfld,'-none-') = &trgfld
        and trgtype = &trgtype
        order by trgseq
..
.define get_sql
        select sqttext
        into sqttext
        from iapsqltxt
        where sqtappid = &appid
        and sqtno = &trgsql
        order by sqtline
..
.define get_comment
        select cmttext
        into comment
        from iapcomment
        where cmtappid = &appid
        and nvl(cmtblk,'-none-') = &trgblk
        and nvl(cmtfld,'-none-') = &trgfld
        and cmttrgtyp = &trgtype
        and cmttrgseq = &trgseq
        order by cmtline
..
 
.define go
        #b
        .print trigger_name
        \       
        .print block
        .print field
        #nc
        .execute get_comment
        .ifnull comment label5
        #nc Comments: #t 2 #cl
        .report get_comment print_comment
        #
        #te
        .&label5
        .report get_steps print_steps
..
 
.define print_steps
        \ Step: 
        .print trgseq
        \ \ \ Abort? 
        .print trgmve
        / Reverse?
        .print trginv
        / Return Success?
        .print trgroll
        #t 2 #rr
        .print trglabel
        .print trgslab
        .print trgflab
 
        .ifnull trgmsg label2
        #nc Message: \ 
        .print trgmsg
 
        .&label2
        .execute get_comment
        .ifnull comment label3
        #nc Comments: #t 2 #cl
        .report get_comment print_comment
        #
        #te
        Trigger Step: #nc
 
        .&label3
        #t 2 #rr #cl
        .report get_sql print_sql
        #
        #te #te
..
 
.define print_sql
        .print sqttext
..
.define print_comment
        .print comment
..
 
.REM    Beginning of program.
 
.&ask_app
        .ask "Enter the Form Name:  " appname
        .execute get_app
        .ifnull appid no_app
        .tell "Getting triggers..."
        #s 3 #cen Triggers for 
        .print appname2
        Form # #b 
 
        #cen
        .print today
        # #b
        .report get_triggers go
 
        #s 2 *** End of Triggers *** #te
.&end
        .stop
 
.&no_app
        .ifnull appname end
        .tell "         Could not find this SQL*Form.  Please try again."
        .goto ask_app