paul@csnz.co.nz (Paul Gillingwater) (12/10/89)
Hi, I don't have access to any Oracle documentation, but have been using Oracle SQL*Forms on a course. When working with SQL*Forms, it seems that there are many powerful things one can do with triggers, etc, in fields and blocks. My question is, what happens during software maintenance time? How does a new programmer obtain print-outs of all of the triggers and form structures in order to understand what the previous programmer has done? Is this possible, or do they have to use the menus to explore every single field? echo "thanks" >/dev/future -- Paul Gillingwater, Computer Sciences of New Zealand Limited Domain: paul@csnz.co.nz Bang: uunet!vuwcomp!dsiramd!csnz!paul Call Magic Tower BBS V21/23/22/22bis 24 hrs NZ+64 4 767 326 SpringBoard BBS for Greenies! V22/22bis/HST NZ+64 4 896 016
daved@usperb.Dayton.NCR.COM (Dave Dresselhouse) (12/15/89)
In article <280@csnz.co.nz> paul@csnz.co.nz (Paul Gillingwater) writes: > I don't have access to any Oracle documentation, but have >been using Oracle SQL*Forms on a course. >When working with SQL*Forms, it seems that there are many powerful >things one can do with triggers, etc, in fields and blocks. >My question is, what happens during software maintenance time? >How does a new programmer obtain print-outs of all of the >triggers and form structures in order to understand what the >previous programmer has done? Is this possible, or do they >have to use the menus to explore every single field? > You're right, SQL*Forms does give the developer some very powerful capabilities in the form of field, block and form triggers. I also agree with your observation that ORACLE does not provide an adequate tool for the documentation of triggers used in a SQL*Forms application. Using SQL*Forms itself to inspect the form is not an acceptable solution. Over the course of time, many ORACLE users have developed schemes to document their forms, with most of these relying on the use of the ORACLE "IAP" tables (where SQL*Forms stores the form definition when you specify FILE - SAVE upon exiting SQL*Forms). These tables ("IAPxxxx"), contain all of the attributes for the form, at various levels (Form, Block and Field). What most users do is write an "RPT" (SQL*Report?) program to process these tables, and print out nicely formatted documentation. I tried to write one of these, got it about 90% complete and gave up. Most ORACLE User Groups have collections of utilities like these that their members have developed - so you might try contacting a local ORACLE group. I have one of these RPT programs from the Mid Atlantic User Group, but I haven't tested it. If you can't find one of these locally, E-mail me, and I'll see if I can get a copy to you. * ------------------------------------------------------------------------------- Dave Dresselhouse, NCR Corporation, Dayton, Ohio E-mail: dave.dresselhouse@dayton.NCR.COM -------------------------------------------------------------------------------
may@28182.dec.com (12/16/89)
There are two methods for accessing SQL*Forms data other than the standard interface. The first is to write a report which accesses the database tables that Forms uses. These tables all begin with the letters "IAP". If you have Forms experiance you should have no trouble recognizing which tables and columns are of interest. The second method is the one I use even more than the painter interface when doing development: editing the .INP file. When you generate an application from within SQL*Forms two files are generated, appname.inp and appname.frm. Appname.frm is accessed by runform/iap to run the application, appname.inp is the "source" code. The .INP file contains a list of questions and answers that represent what you entered via the painter interface. You can edit this file directly to avoid using the time consuming standard interface. It is much easier to insert standard triggers, for example, in an editor than by typing it in everywhere it is needed through the screen painter. Caveat: The number of questions varies depending on the answers you gave to previous questions. Also, some responses are preceeded by one or two asterisks; these are important. Experimentation is the best way to determine what is and is not necessary -- if you get stuck feel free to send me email, I'll try to help you out. After editing the .INP file you create the .FRM file with the command: iag appname.inp -to The 't' switch suppresses terminal output; if you have trouble finding the location of a problem then leave it out. The 'o' switch prevents the loss of your file if the iag utility finds an error; you probably want to use it always. Good luck, Patrick