Previous Topic: Map Field Status ConditionNext Topic: Set Status Condition


Map Paging Status Conditions

Purpose

Determines the occurrence of runtime events associated with a pageable map.

Syntax

►►───┬─┬──────── $PAGE-READY ──────────┬─┬────────────────────────────────────►◄
     │ └──────── $PRDY    ─────────────┘ │
     ├─┬──────── $FULLPAGE ────────────┬─┤
     │ └──────── $FPG    ──────────────┘ │
     ├─┬──────── $FORWARD ─────────────┬─┤
     │ └──────── $FWD    ──────────────┘ │
     ├─┬──────── $BACKWARD ────────────┬─┤
     │ └──────── $BWD    ──────────────┘ │
     ├─┬──────── $HEADER ──────────────┬─┤
     │ └──────── $HDR    ──────────────┘ │
     ├─┬──────── $DETAIL ──────────────┬─┤
     │ └──────── $DTL    ──────────────┘ │
     ├─┬──────── $END-OF-DATA ─────────┬─┤
     │ └──────── $EOD    ──────────────┘ │
     ├─┬──────── $DETAIL-NOT-FOUND ────┬─┤
     │ └──────── $DNF    ──────────────┘ │
     └─┬──────── $MAXIMUM-DETAILS-PUT ─┬─┘
       └──────── $MDP    ──────────────┘

Parameters

$PAGE-READY

Tests whether the runtime system has written a full map page to scratch.

$PAGE-READY is set to true for each map page built in a given map paging session before the page is displayed.

$PAGE-READY is reset and the outcome of the test is false as soon as the next detail occurrence is written to a scratch record.

If $PAGE-READY is used, the Auto display option must not be chosen for the dialog. This setting is made using the Map Specification screen.

$PRDY can be used in place of $PAGE-READY.

$FULLPAGE

Tests whether the runtime system has displayed the first map page to the user as a result of a PUT DETAIL command.

$FULLPAGE is reset and the outcome of the test is false when a DISPLAY command without the CONTINUE keyword is issued.

$FPG can be used in place of $FULLPAGE.

$FORWARD

Tests whether the user has pressed the control key associated with paging forward.

$FORWARD is reset and the outcome of the test is false when a new page is displayed at the user's screen.

$FWD can be used in place of $FORWARD.

$BACKWARD

Tests whether the terminal operator has pressed the control key associated with paging backward.

$BACKWARD is reset and the outcome of the test is false when a new page is displayed at the user's screen.

$BWD can be used in place of $BACKWARD.

$HEADER

Tests whether a modified data tag (MDT) was set for any header or footer area map fields following the most recent mapin operation from the terminal.

$HEADER is reset and the outcome of the test is false when a DISPLAY command without the CONTINUE keyword is issued.

$HDR can be used in place of $HEADER.

$DETAIL

Tests whether the most recent GET DETAIL command with the FIRST or NEXT keyword has retrieved a modified detail occurrence.

$DETAIL is reset and the outcome of the test is false when a DISPLAY command without the CONTINUE keyword is issued.

$DTL can be used in place of $DETAIL.

$END-OF-DATA

Tests whether the most recent GET DETAIL command with the FIRST or NEXT keyword has encountered an end-of-data condition while attempting to retrieve a modified detail occurrence.

An end-of-data condition results when the runtime system reaches the physical end of detail occurrences without finding a modified detail occurrence.

$END-OF-DATA is reset and the outcome of the test is false when a DISPLAY command without the CONTINUE keyword is issued.

$EOD can be used in place of $END-OF-DATA.

$DETAIL-NOT-FOUND

Tests whether the most recent GET DETAIL command with the KEY IS specification has encountered a detail-not-found condition while attempting to retrieve a modified detail occurrence.

A detail-not-found condition results if no detail occurrence with the specified key exists or if the existing detail occurrence is not a modified detail occurrence.

$DETAIL-NOT-FOUND is reset and the outcome of the test is false when a DISPLAY command without the CONTINUE keyword is issued.

$DNF can be used in place of $DETAIL-NOT-FOUND.

$MAXIMUM-DETAILS-PUT

Tests whether storage is unavailable to hold new detail occurrences.

$MAXIMUM-DETAILS-PUT (MDP) is set when a PUT DETAIL command fails to create a detail occurrence due to lack of storage.

The runtime system allocates storage for detail occurrences based on the system generation OLM statement.

$MAXIMUM-DETAILS-PUT is reset across a pseudoconverse even though the condition still exists.

You can use $MDP in place of $MAXIMUM-DETAILS-PUT.

Usage

Map paging status conditions can be used in one or more dialogs associated with the same pageable map.

At the beginning of a map paging session, the map paging status conditions are initialized and the outcome of each test is false.

Example

The following example defines a premap process that builds the first page of a pageable map. The page is displayed with a message as soon as the page is built. The $PAGE-READY condition is used to determine when the page is built:

OBTAIN FIRST EMPLOYEE WITHIN DEPT-EMPLOYEE.
WHILE NOT $PAGE-READY
    AND NOT DB-END-OF-SET
    REPEAT.
        MOVE EMP-ID TO WK-EMP-ID.
        MOVE EMP-LNAME TO WK-EMP-LNAME.
        MOVE EMP-START-DATE TO WK-EMP-START-DATE.
        ACCEPT DB-KEY INTO WK-KEY FROM CURRENCY.
        PUT NEW DETAIL KEY WK-KEY.
        OBTAIN NEXT EMPLOYEE WITHIN DEPT-EMPLOYEE.
    END.
DISPLAY MSG TEXT
    'FOR MORE INFORMATION, ENTER AN EMPLOYEE''S ID'.

Subsequent pages for this pageable map are built, as needed, by the map's response process (not shown).