A child diagram is a magnification of the parent process to which it is attached, showing greater detail of the parent. A parent process and its child diagram, therefore, are logically equivalent; that is, any data flowing into or out of a parent process must likewise flow into or out of its child diagram.
The three Balance commands (Balance Parent, Balance Child(ren), and Balance Horizontal) invoke the System Architect balancing algorithms. Balance violations, as well as rule violations that prevent proper balancing, are checked during execution of these commands. The diagram being checked is annotated with error indicators. Multiple errors are indicated with an asterisk. The Clear Errors command (see Clear Errors Command) removes the error indicators from the diagram after you are done inspecting them.
The Balance Child(ren) command balances the child diagrams of any parent processes selected within the currently displayed diagram. Click to select the process, then pull down the Reports Menu and select the Balance Child(ren) command. To run the Balance Child(ren) report, you must be looking at a diagram with a parent process symbol. A parent process symbol is identified by a three-dot expand indicator above it with the middle dot blackened. If no processes with child diagrams are selected, the balancing report will be empty.
If the names of the flows going into and out of the parent symbol and the child diagram are different, the system must look deeper into the data dictionary to derive all the data elements being carried by the parent and child flows. If any of the data flows are defined by structures rather than elements, System Architect will continue to search the dictionary until the underlying data elements are found. If the parent and its child both have the same elements flowing in and have the same elements flowing out, they are considered balanced.
Frequently, designers add data flows and complete diagrams before adding the data elements and structures to the flows. Flows that have not been defined with elements and structures, but are stored in the dictionary, will be considered for balancing as long as the flow going into the parent symbol and the flow going into the child diagram have the same name.
Data structures not defined with data elements cannot be balanced.
Under some conditions, the balancing report will also include in its processing doubly-attached flows on the child diagram. Flows attached to externals or data stores can be included in the balancing process if the parent diagram also has same-named flows attached to same-named externals/data stores. A doubly-attached data flow will also be included for balancing if one end is attached to an “annotation” symbol, such as a picture symbol or a presentation symbol. Unlike external or datastore symbols, which must be matched by a same-named symbol in the parent diagram, annotation symbols can exist in the child diagram only.