Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 3

Process Form Utility

====================

1. Overview

The Process Form Utility tool enables Developer/2000 Form Builder files (.fmb) to
be
automatically changed, using a command line executable program, without having to
open a
file in Form Builder to make alterations manually.

The utility provides a choice of operations which may be performed on a Form. The
utility
enables Form objects and object properties to be rapidly amended, appended and
deleted. This
tool should be readily expandable to enable additional processes to be added as the
need arises.

The demand for a Process Form Utility has arisen from the need to efficiently
upgrade
template forms for Designer/2000 R2.0, specifically the Form Generator component of

the Designer/2000 Tool. (This tool doesn't currently upgrade PL/SQL from version 1
to
version 2. To do this, invoke the 'fg50gen32' forms utility and select the
appropriate
option to upgrade PL/SQL.)

This utility is available to enable upgrading template forms. Many template forms
used during
generation of forms with Designer/2000 R1.0 will need to be upgraded if existing
projects are
to be migrated and development continued using Designer/2000 R2.0. To do this
manually, for
each template form will invariably be an inefficient and an error prone process.
Secondly, the
Process Form Utility provides an efficient method to enable wholesale changes to be
made to a
set of template forms.

Additionally, the tool may have wider application, enabling forms in general to be
modified
efficiently by providing the basis of a Developer/2000 Form Builder Application
Programming
Interface in C++. This is possible because the source code for the executable may
also be
shipped to developers who wish to customise the utility (see section 2).

2. Program Composition

The utility has been produced in C++. The utility's code is independent of any
Generator/Designer code and only has dependencies on the 'Standard C Libraries'
(eg.
stdlib.h, string.h, etc.) and the 'Developer/2000 Form Builder API Library'
(f50d2f32.lib) and
associated header files (eg. d2fdef.h, d2fitm.h, etc.). The source code may be made
available
via 'Support', to enable program code additions to be made to enable the utility's
capabilities to be extended. The source file cupfmain.cpp contains information on
how
to customise the utility by changing and adding to the existing C++ code.

3. Running The Utility

Ensure that the utility�s executable (prcfrm50.exe) is on the users path, the
utility may then be
invoked from a the Dos Prompt, Script, etc..

As the utility is expandable, the best method of establishing the functionality


currently
provided, is to invoke the utility�s command line help.

Dos Prompt> prcfrm50

Typical Result>

prcfrm50 -i sourcefile.fmb -o newfile.fmb opt1(arg1arg2.) [opt2(arg1.) op3...]

Options
-------
ChVisAt: Change visual attribute background property from <param1> to <param2>
AddTrg: Add comment <param1> to module level triggers
AddPUnit: Add comment '<param1> program unit name' to program units

eg. prcfrm50 -i OLD.FMB -o NEW.FMB ChVisAt(arrows%none)


AddTrg(CGAP$TES_SEQUENCE_BEFORE)

The utility also automatically upgrades any 4.5 version FMBs to 5.0 before saving.
This means
that even if no options are specified, an fmb will be opened, upgraded and then
saved.

The help provides an example of how the utility may be invoked from the command
line to perform
particular processes on an input .fmb file (indicated by -i), this results in a new
fmb
file (indicated by -o).

Command line arguments proceeded by a �dash and letter� are mandatory arguments
required to
invoke the executable. Subsequent command line arguments do not require a �tag� and
are used to
indicate the different processes to be performed on the input .fmb file.

Each �process argument� may require user parameters (indicated in the help). These
parameters
are enclosed in brackets following the process name, and are seperated by a �%�
character.

4. Current template form Upgrade Requirements

Process Name Parameter Values Upgrade Reason


-----------------------------------------------------------------------------------
-----------
ChVisAt (arrows%none) Change the background property of
Template
Form objects to �none� where the
property is
currently set to �arrows�.
AddTrg (CGAP$TES_SEQUENCE_BEFORE) Module level triggers require this
comment
before each block of code.
AddPUnit (CGAP$TNR) Program Units require the comment
CGAP$TNR_<Program Unit Name> at
the head
of the code.

You might also like