The primary placement of maps on the screen is from top to bottom. You
can place maps side-by-side where space permits, provided you maintain the
overall flow from top to bottom. The precise rules for a given SEND MAP ACCUM
command are as follows:
- The highest line on which the map might start is determined
as follows:
- If the map definition contains JUSTIFY=FIRST, BMS goes immediately to
a new page (at Step 5), unless the only maps
already on the page are headers placed there during overflow processing. In
this case, BMS continues at Step 1c.
- If the map specifies JUSTIFY=LAST, BMS starts the map on the lowest line
that allows it to fit on the page. If the map is a trailer map or you are
not intercepting overflows or you are already in overflow processing, BMS
uses all the space on the page. Otherwise, BMS places the map as low on the
page as it can while still retaining room for the largest trailer map. If
the map fits vertically using this starting line, processing continues at
Step 3 (the LINE option is ignored if JUSTIFY=LAST);
if not, overflow occurs (Step 5).
Note:
JUSTIFY=BOTTOM is the same as JUSTIFY=LAST for output operations with ACCUM.
(There are differences without ACCUM and for input mapping; see the CICS® Application Programming Reference manual ).
- If there is no vertical JUSTIFY value (or after any overflow
processing caused by JUSTIFY=FIRST has been completed), the LINE operand is
checked. If an absolute value for LINE is given, that line is used, provided
it is at or below the starting line of the map most recently placed on the
page. If the value is above that point, BMS goes to a new page at Step 5.
If LINE=NEXT, the first completely unused line
(below all maps currently on the page) is used. If LINE=SAME, the starting
line of the map sent most recently is used.
- BMS now checks that the map fits vertically on the screen,
given its tentative starting line. Here again, BMS uses all of the space remaining
if the map is a trailer map, if you are not intercepting overflows or if you
are already in overflow processing. Otherwise, BMS requires that the map fit
and still leave space for the largest trailer map. If the map does not fit
vertically, BMS starts a new page (Step 5).
- Next, BMS checks whether the map fits horizontally, assuming
the proposed starting line. In horizontal positioning, the JUSTIFY option
values of LEFT and RIGHT come into play. LEFT is the default, and means that
the COLUMN value refers to the left-hand side of the map. A numeric value
for COLUMN tells where the left edge of the map should start, counting from
the left side of the page. COLUMN=NEXT starts the map in the first unused
column from the left on the starting line. COLUMN=SAME means the left-hand
column of the map most recently placed on the screen which also specified
JUSTIFY=LEFT and which was not a header or trailer map.
JUSTIFY=RIGHT means
that the COLUMN value refers to the right-hand edge of the map. A numeric
value tells where the right edge of the map should start, counting from the right. COLUMN=NEXT means the first available column
from the right, and COLUMN=SAME is the right-hand column of the map most recently
placed which had JUSTIFY=RIGHT and was not a header or trailer.
If
the map does not fit horizontally, BMS adjusts the starting line downward,
one line at a time, until it reaches a line where the map does fit or overflow
occurs. Processing resumes with the vertical check (Step 2) after each adjustment of the starting line.
- If the map fits, BMS adds it to the current page and updates
the available space, using the following rules:
- Lines above the first line of the map are completely unavailable.
- If the map specifies JUSTIFY=LEFT, the columns from the left edge of the
page through the right-most column of the map are unavailable on the lines
from the top of the map through the last line on the page that has anything
on it (whether from this map or an earlier one).
- If the map specifies JUSTIFY=RIGHT, the columns between the right-hand
edge of the page and the left-hand edge of the map are unavailable on the
lines from the top of the map through the last line of the page that has anything
on it.
Figure 114 shows how the remaining space is reduced with
each new map placed.
Figure 114. Successive placement of maps on a page, showing space made unavailable by each
- When the current map does not fit on a page, BMS determines
whether it should return control to your program. If you have asked for control
at overflow and you are not already in overflow processing, BMS returns control
as described in Page breaks: BMS overflow processing. Otherwise, BMS disposes of the current
page according to the disposition option you have established, starts a new
page, and resumes processing for the map that would not fit at Step 1.
To help you manage the complexities of building a composite screen, CICS
provides ASSIGN command options that relate specifically to cumulative processing:
- MAPCOLUMN
- MAPHEIGHT
- MAPLINE
- MAPWIDTH
All apply to the map most recently sent. MAPHEIGHT and MAPWIDTH are
the size (number of rows and columns) and MAPLINE and MAPCOLUMN are the origin
of the map (the position of the upper left corner).
[[ Contents Previous Page | Next Page Index ]]