A major feature of PARADYME is its ability to accept external logic statements written in standard BASIC.

These 'inserts' are inserted into the source code at a logical position and because this position is logical rather than an absolute line number, alterations to the generated program via PARADYME do not affect the position (and thus function) of the insert code.

PARADYME programs are highly structured, that is, every function within the program has a discrete block of code which deals with it.

What follows is a description of how to assign insert items and how to maintain them.

Prompt Index

As before, enter the prompt number of the prompt which the validation refers to. The number entered must be one used in the parameter definition for an input prompt, i.e. An 'S' or 'I' type variable. Please note that a special case is made of the value 0 which is explained in the following section.

Insert code

In the previous field, the user tied down which prompt will be modified by inclusion of an insert. This field now defines exactly where in the routine the insert will be placed. The prompt number and insert code together uniquely define every insert position in the generated routine.

What follows is a program skeleton typically produced by PARADYME. The various insert positions within such a program are indicated and explained.

Sample program with insert codes and annotation

Insert name

The code that PARADYME inserts into the generated routine is held physically separate from the rest of the parameters. These inserts consist of lines of code held in an item in the program file (as displayed at the top of the screen). No constraint is placed on the naming of these items by PARADYME although certain implementations of PICK will reject certain characters. Refer to the relevant system manual for details. Holding the code separately enables the user to insert standard pieces of code into several routines. However, from the point of maintenance, it is suggested that some standard format be used when naming the insert items.

When the program is generated and PARADYME reaches a point where an insert item can be merged in, PARADYME will read in the item from the program file with a key equal to the value entered for ITEM NAME. This item is then inserted into the generated program exactly as it is found.

Because many of the changes to a routine will be to do with inserts, it would be a shame if the user had to drop out of PARADYME every time they wished to edit an item. To avoid this, PARADYME will allow the user to edit the item via the screen where the insert item is referenced. To do this, the user places the cursor over the item name they wish to edit and then hit the INVERT key. This will take the user into the SYSTEM editor, editing the specified item in the program file.

Where no item name already exists, the user will be prompted for ITEM NAME on the bottom line of the display. If one is entered, the user drops into the SYSTEM editor for this item. On returning to the entry screen, the name entered is stored in ITEM NAME where the INVERT key was hit.

If no item name is specified then PARADYME will allocate its own insert name. This insert name has a standard format as follows:-

"I_" next.insert.no "." routine.name

where nextinsert.no would be the first number starting sequentially from 1 that has not been allocated to an insert item ( Note: for technical reasons this does not work on the second such call within a single session in a multi-value definition screen unless the 'SAVE' function has been invoked). Routine.name is the name of the item currently being processed. After allocation of the name, the user drops into the SYSTEM editor and the allocated name is inserted in ITEM NAME where INVERT was hit.