Process Lineage


The term process lineage refers to the specific relationship between two or more processes in an APPX application. You can describe relationships between processes in much the same fashion as relationships between individuals in an extended family. As with family lineage, where relationship terms (such as parent or grandfather) are relative to a particular individual, process terms are relative to a specific process. The lineage concepts in this section are relevant to all APPX processes.

The Process Tree

A process tree is a schematic of the interconnections between processes that are in any fashion related to one another. The process facility diagram (Figure 3-1-1) at the beginning of this chapter is an example of a process tree.

The Parent

A parent process is the process another process (the child) invokes from. A parent process is commonly used in situations where you require APPX to automatically manage more than one file (PCF). The first file is the PCF for a parent process, and the other files are PCFs for child processes. For example, an invoice entry process is actually operating on the data that is maintained in two files: an invoice header file and a line items file. To automatically manage both files, APPX requires two processes. An invoice header input process is a parent to an invoice line item input process.

Children

A child process is the process that invokes from another process (the parent). In the previous example, the line item input process is the child of the invoice header parent.

As previously indicated, the invocation of a child process from the parent process can be automatic or optional. If invocation of the child is not discretionary on the part of the user, the child process is an automatic child. If invocation of the child is discretionary on the part of the application user, the child is an optional child.

Siblings

Two processes with the same parent are sibling processes. For example, an employee file maintenance process might be established as the parent for two child processes: an earnings process and a deductions process for each employee. The earnings and deductions processes are siblings because they both have the same parent process: employee file maintenance.

Ancestors and Descendents

Ancestor processes include parent processes, grandparent processes (the parent’s parent), if any, etc.

Descendent processes include child processes, the child’s children (if any), and so on.

Families

A family is a group of processes that include a patriarch process and a set of descendents linked by a common attribute (a specific invocation type, for example). The term patriarch refers to the first process that exhibits the identified attribute; it begins the process family. By definition, the patriarch will not share the attribute with its parent process.

The use of the term family is generally further qualified by including the name of the specification that is shared (or the specification value). These terms include:

·    Subprocess family, which is a group of processes that are invoked with an Invocation Type (on the Child specification screen) of SUBPROCESS. The first process in a process tree that is invoked as a subprocess begins this family, and the first process that is invoked as a related or a detached process marks the end of this family.

·    Related process family, which is a group of processes that are invoked with an Invocation Type (on the Child specification screen) of SUBPROCESS or RELATED. The first process in a process tree that is invoked as a subprocess or a related process begins this family, and the first process that is invoked as a detached process marks the end of this family.

·    Report family, which is a group of output processes in a subprocess family that share a common print file (the Report File Name on the Output Processes specification screen).

·    Log family, which is a group of update processes in a subprocess family that share a common log file (the Log File Name on the Update Processes’ Additional Attributes specification screen).