BODY

Purpose

The BODY statement is used to define the section in the panel that can be used by SDF to display the various status components listed in the order of their priority, as well as the layout of the table.

Syntax

Read syntax diagramSkip visual syntax diagram
>>-BODY--([root_comp.[major_comp.]]status_comp--,--start_line--->

                  .-1------.    .-5---------.   
>--,--end_line--,-+--------+--,-+-----------+------------------->
                  '-#_cols-'    '-distances-'   

     .-1---------.    .-*-------.    .-Nosyncscroll-.   
>--,-+-----------+--,-+---------+--,-+--------------+----------->
     '-start_pos-'    '-end_pos-'    '-sync_scroll--'   

     .-PA---------.     
>--,-+------------+-)------------------------------------------><
     '-XO[XO[XO]]-'     

Parameters

root_comp
The root component name as defined in the root node of the tree structure. The root component must be coded when more than one tree has been defined and the status component is defined in multiple trees. Because the root component is always unique, each status component in a tree structure can be uniquely identified using the root component as a prefix.
major_comp
The major component name as defined in the AOFTREE member. The major component must be coded when the status component is not uniquely defined within a tree. Refer to AOFTREE on how to define the major component name that the status component can be uniquely identified.
status_comp
The name of the status component as defined in the AOFTREE member. The maximum length is 16 characters.
start_line
The line number where the body section begins. You can specify either the absolute number or use relative addressing based on the bottom line of the panel. Relative addressing uses a notation if *-n where n is the displacement from the bottom line.
end_line
The last line of the body section. You can specify either the absolute number or use relative addressing based on the bottom line of the panel. Relative addressing uses a notation of *-n where n is the displacement from the bottom line.

The resulting value must be in the range specified in the length parameter in the PANEL definition statement (see PANEL) and must not be less than start_line.

#_cols
Specifies the number of columns to be generated. The default is 1.

This variable can also be asterisk (*). In this case, SA z/OS attempts to fill the entire BODY width with columns. This is only useful when the panel width is *.

distance
Specifies the distance between columns. The default is 5.
start_pos
Specifies the column number where the body section begins. The default is 1. You can specify either the absolute number or use relative addressing based on the width of the panel. Relative addressing uses a notation of *-n where n is the displacement from the rightmost column.

The resulting value must be in the range specified in the width parameter in the PANEL definition statement (see PANEL) minus the length of this body and must not be greater than end_pos.

end_pos
Specifies the column number where the body section ends. The default is the screen width. You can specify either the absolute number or use relative addressing based on the width of the panel. Relative addressing uses a notation of * or *-n where n is the displacement from the rightmost column.
sync_scroll
Specifies whether BODYs that show different information of the same status component should be scrolled synchronously when either BODY section is being scrolled. The parameter can be one of the following:
N
No synchronous scrolling takes place (default).
S
All BODY sections displaying information of the same status component and have set this parameter are scrolled synchronously when either BODY section is scrolled.
XO
Specifies whether the CELLs of the BODY are sorted or not. The default specification PA indicates no sorting. Up to three sort fields can be specified. Each sort field consists of the type of information followed by the sort order:
X
denotes the type of information to be sorted.

See STATUSFIELD for the list of valid types.

O
denotes the sort order, A for ascending and D for descending.
Note that a sort field does not necessarily be defined in a CELL statement.
Note: Since sorting needs serialization a huge amount of updates of a status component being displayed may lead to performance degradation.

Restrictions and Limitations

The distance between two columns appears one character more than as specified. This is caused by a 'START FIELD' order which terminates each cell.

You can specify up to 32 BODY sections per panel.

If two BODY definitions of a panel display the same status component, the sort specification of the first BODY definition is being used.

The root component name cannot be used for sorting.

Examples

The examples below assume a 43x80 screen size. The next example shows the definition that is needed for a Subsystem Status display where the panel body starts at line 4 and runs to line 39. The section begins at column 1 and ends at column 80. The panel layout is 2 columns. The CELLs are sorted in ascending order by priority and then by the name of the status component.
BODY(&SDFROOT..SUBSYS,04,*-4,2,2,,,,PACA)
This example shows the definition that is needed for a Monitor Status display where the panel body starts at line 23 and runs to line 40. The section begins at column 41 and ends at column 80. The panel layout is as many columns as fit in 40-character width.
BODY(&SDFROOT.MONITOR,*-20,*-3,*,1,41,*)