dos_compilers/Microsoft COBOL v45/DOCS/TIMEOUT.DOC
2024-07-24 07:18:17 -07:00

178 lines
7.0 KiB
Plaintext

TIMEOUT SUPPORT IN ACCEPT
=========================
Definition
==========
General Format
For both Format 1 and Format 2 of the ACCEPT statement as documented in
the Screen Handling chapter of the Language Reference, the following
additional phrase is provided.
+------------------------------------------------------------------------+
| |
| { TIME-OUT } { integer-7 } |
| { -------- } { } |
| { } AFTER { } |
| { } { } |
| { TIMEOUT } { identifier-8 } |
| { ------- } { } |
| |
+------------------------------------------------------------------------+
Syntax Rules
1. Identifier-8 must be an integer. It may be signed. If unsigned it is
treated as positive.
2. Integer-7 must be an integer which may optionally be signed. If
unsigned it is treated as positive.
General Rules
1. If identifier-8 or integer-7 has a negative value, this represents a
request that no time-out "exception" should occur no matter how long
there is between/before key-strokes.
2. If identifier-8 or integer-7 is zero, this indicates that a time-out
should not occur if characters are waiting. However, if no characters
are waiting (when the ACCEPT is processed), then issue a time-out
immediately.
3. The ON EXCEPTION clause, if present, will be executed when a Time-Out
occurs and a time-out clause is specified. The NOT ON EXCEPTION
clause, if present, will be executed when a Time-Out clause is specified
but no time-out (or other exception) occurs.
4. If a Time-Out exception occurs, then the contents of any ACCEPT
resultant-field will be defined as follows:
a. Any field which has been partially modified will contain any
information which has already been received.
b. Fields which have "FULL" or "REQUIRED" attributes or any other
attribute which would normally impact partial field input, will NOT
be required to meet those attributes when a partial field entry has
occurred when a TIMEOUT exception occurs.
c. The rules listed above apply whether or not the timeout clock is
reset upon each keystroke.
5. If at run-time a positive timeout interval greater than 2,147,483,647
hundredths of a second is detected the timeout value will be reset to
2,147,483,647 hundredths of a seconds (which is approximately eight
months).
6. The Time-Out value specifies the number of seconds (or tenths of a
second) after the ACCEPT statement begins processes until a time-out
exception occurs. A new ADISCF configuration option controls
whether or not the TIMEOUT clock is "reset" each time a new keyboard
action is detected. An application which wants some ACCEPT statements
to be handled with a RESET and some without, may make specific CALLs
to the ADIS run-time interface before or after the ACCEPT statements
that need changes from the default. For example when ADIS was
configured not to do resets, if a program had:
ACCEPT INPUT-FIELD RIME-OUT AFTER +10
Then a time-out would occur after 10 seconds had elapsed from the
beginning of the ACCEPT, even if some characters were entered after 5
seconds into the ACCEPT processing.
If, on the other hand, ADIS were configured to do resets, if a program
had the same code given above, then each time a new character were
entered, the timeout "clock" would be reset to zero.
8. If a Time-Out exception occurs and no On Exception phrase is specified,
then the CRT Status keys (if specified) are updated, the application
continues to the logically next phrase, and the contents of the ACCEPT
receiving field are as defined above. (The above is true whether or not
a NOT ON EXCEPTION phrase is specified.)
9. All references to (NOT) ON EXCEPTION phrases within this proposal also
apply to (NOT) ON ESCAPE phrases.
Running
=======
Configuring the TIMEOUT options using ADISCF
--------------------------------------------
Two new Accept/Display options are available in ADISCF to allow
configuration of TIMEOUT. They are as follows:
Option 31 - Selection of the units used when calculating TIMEOUT on
an accept.
1 - Units used are seconds
2 - Units used are tenths of a second
Option 32 - Control of the timer used to calculate accept TIMEOUT.
1 - The timer is never reset. Timeout will occur
at the specified length of time after the accept is
initiated
2 - Timeout is reset to its original value each time a
character is entered.
Changing the TIMEOUT options at run-time
----------------------------------------
Two new X"AF" calls are provided to allow the TIMEOUT options shown
above to be altered at run-time. The calls have the following format
CALL X"AF" USING Set-Bit-Pairs Parameter-Block
where the parameters are defined as follows:
01 Set-Bit-Pairs PIC 9(2) COMP-X VALUE 1.
01 Parameter-Block.
03 Bit-Pair-Setting PIC 9(2) COMP-X.
03 FILLER PIC X VALUE "6".
03 Bit-Pair-Number PIC 9(2) COMP-X.
01 FILLER PIC 9(2) COMP-X VALUE 1.
The values to be set for the fields Bit-Pair-Setting and Bit-Pais-Number
are given in each of the descriptions below.
With each call, if an error occurs, Set-Bit-Pairs will return the value
255.
Select Timeout units.
---------------------
Allows selection of the units to be used when calculating TIMEOUT.
Bit-Pair-Number must be set to 14.
Bit-Par-Setting should be one of the following values:
0 - Units are seconds
1 - Units are tenths of a second
Control Timeout Reset
---------------------
Allows control of the timer used to calculate TIMEOUT on an accept.
Bit-Pair-Number must be set to 15.
Bit-Par-Setting should be one of the following values:
0 - Timer is never reset. Timeout occurs after the specified
time from the start of the accept.
1 - The timer is reset each time a character is entered.
==========================================================================
Copyright (C) 1991 Microsoft Corporation
Copyright (C) 1991 Micro Focus Ltd