Process Components
Each process operates as one or a series of related parts, called frames. Each frame, in turn, can include one or more automatic children, as well as one or more images that comprise all or part of a terminal screen or report. Each image can have optional children. Both automatic and optional children can have selection criteria associated with them. An image is comprised of background text and items, which are data fields on a screen or report that are displayed and/or filled in by a user. Processes also have event points at which ILF routines are defined and invoked. This section discusses the relationship between the various process components.
Processes
You have learned about each of the nine different process types. Although each type is distinct and has its own unique features, there are many similarities among all process types. The process itself is the first component you define; you specify several pieces of information, including a name, description, security group, and process control file.
Frames
A frame is the next component level of a process. Every type of APPX process (except subroutine, menu and status processes) includes one or more frames that are invoked in the sequence you specify. A frame can serve two primary purposes:
· Controlling the sequence of activities that occur within a process.
· Grouping a set of alternate images.
To demonstrate the sequencing function, consider a customer input process in which there are so many fields for a user to enter that they cannot all fit on a single screen. You therefore design a two-screen input process that will display to the user one screen at a time in a designated sequence. To accomplish this, you define two frames, numbered so that they execute one after the other (frames operate in ascending sequence), for each customer record.
The other primary function of a frame is to control the presentation of alternate images. In this sense, think of an analogy to a picture frame that you could use to mount any of several photos. Another version of a customer input function demonstrates this type of usage. In this version, there are two major types of customers, domestic and international. The information you need to capture for each type of customer has many similarities but some fields apply uniquely to only a domestic or international customer. To satisfy this requirement, you define two frames. On the image for the first frame, the user enters the information that applies to both customer types and also indicates the customer type. In the second frame, you define two alternate images as part of a single frame. Then, depending on the customer type entered in the first frame, the second frame selects which of the two alternate images is to appear on the screen.
In most cases, a frame executes exactly once before a subsequent frame is invoked. You may, however, specify that a frame is optional or repeating and, through statements, control whether a frame executes at all, or more than one time. As an example of an optional frame, you may have defined an input process for entering customer information. In the first frame, a user enters the customer name and several informational items, including whether the customer is domestic or international. For international customers only, a second frame allows the user to supply additional information. The second frame does not operate for domestic customers, and no image appears in this case.
When you are defining a process, APPX automatically displays the frame specification screen after you enter the process-level information.
Automatic Children
An automatic child is a process that is invoked directly by another process without a user’s intervention or choice. For example, a job process may automatically invoke, in sequence, a query and an output process. One of the steps during application design is to specify if a process is to invoke any automatic children. Only input, output, inquiry, job, or update processes can have automatic children associated with them.
Selection Criteria
Another factor in process relationships is whether there are constraints on the data selection for the process control file of a child. For example, if an input process for orders invokes a line item input process as an automatic child, you may constrain the line item file to select only records with a matching order number. You can specify selection criteria for either optional or automatic children, and you can define constraints for both key fields and non-key fields. Constraints must be specified as equalities, such as the ORDER NUMBER of the records in the child process must be equal to the ORDER NUMBER of the record selected in the parent process.
Images
An image is the visual representation of painted text and items that comprise a display on a terminal screen or report. An individual image may occupy an entire screen surface or page size, or only a portion of it. A complete report page, for example, may consist of several images, including page headings, column headings, detail lines, subtotals, and a grand total.
You control the layout of each screen or report by specifying the size and placement of each image. For example, you may specify that a menu starts in the upper left-hand corner of a screen, and consumes all the rows and columns of a typical terminal screen. Or, you can create a “pull-down” menu by positioning a menu in the top center portion of the screen, making it stand out by drawing a box around it (the box is controlled by a YES/NO question for each image).
An image is uniquely associated with only one frame within a process. As noted previously, a single frame may have more than one image associated with it, called alternate images. You use an ILF routine at the frame level to control which image is to appear during process execution.
You paint screens and report pages using APPX’s image editor facility. This facility allows you to paint background text (constant, non-editable areas on an image) and items (data from fields) according to your layout requirements. In addition, you can specify characteristics for text and items, by which you can highlight parts of the image with such attributes as underline, bright, and inverse video. You can also define graphical components and attributes on your images to give them a decidedly Windows look and functionality.
Background Text
Background text consists of descriptive text and identifying labels on an image. For example, column headings on reports and field labels on input screens are usually part of background text. You often design the background text as the framework within which to define individual items, described in the following section.
Items
An item is the appearance of an individual field on an image. For example, an input process image may include several items so a user can enter, review, and modify data in a file. You can specify whether an item in an input process is modifiable or not. You also specify items in output process images, but they cannot be modifiable.
When you define an item on an image, it automatically assumes the attributes of its data dictionary specifications (such as field length and display mask) unless you override them for this image. You also can specify the item’s display characteristics, as described in the following paragraphs.
Characteristics
A characteristic is an attribute that affects how items and text appear on the terminal screen or in a report. Examples include underline, inverse/normal, blink, and bright/dim. Some characteristics are applicable only to a terminal image and cannot be applied to a printed report.
When you define an item on an image, you can specify one or more characteristic attributes to apply to the item. For example, you could display a single item as modifiable, bright, and inverse. A similar set of characteristics may be applied to any portion of background text on an image.
Graphical Characteristics
Using the GUI features of APPX's Image Editor, you can add buttons, icons, pictures, wallpaper, title bars, and other graphical components to your menu, input, output, and inquiry process images.
Optional Children
An optional child is a process that a user invokes by selecting an option on a menu (or from an input process, discussed later). On a menu, for example, Option 1 may invoke an input process, Option 2, an output process, and, Option 3, a job process. One of the steps during application design is to specify all the optional children for each menu. These processes are called optional children because they are never invoked unless a user selects the corresponding option on a menu.
Although a menu is the primary place from which to invoke optional children in APPX, you can also invoke optional children from an input process. For example, you may allow the user to select from among three options, descriptions of which are on the input image.
As with automatic children, you can specify selection criteria that constrain the records to be processed in the optional child’s process control file.
Event Points
An event point is one of a number of predefined chronological points during the execution of a process at which an ILF routine can be invoked. Certain process components, including processes, frames, images, and children have event points associated with them. For example, there is a Pre-Display event point for an image. If you develop an ILF routine for this event point, it will be invoked just before the image is displayed on the screen (or written to a report). Event points have names that describe when the associated ILF routine executes.