Loading...
Select Version
The INPUT exit "FORINPUT" is called for input made in format mode and responds to such input as follows:
User commands are issued:
Press the F1 key: KDCOUT
Press the F2 key: KDCDISP
KDCOFF: The first character in the input is "/"; this is accepted only outside of a service.
Missing or invalid input elicits an error code with the message K098.
If the user is also to be permitted to enter KDCLAST and KDCFOR, the program will have to be extended accordingly.
This INPUT exit is generated with the KDCDEF generation tool in the EXIT statement with
KDCDEF statement
EXIT PROGRAM=FORINPUT,USAGE=(INPUT,FORMMODE)
Event exit INPUT
IDENTIFICATION DIVISION.
PROGRAM-ID.
FORINPUT.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 FUNC.
05 FUNC2.
10 COMMAND PIC X.
88 KDCOFF VALUE "/".
10 REST PIC X(7).
*
77 KDCDISP PIC 9(4) COMP VALUE 2.
*
77 KDCOUT PIC 9(4) COMP VALUE 1.
*
77 CV-END PIC X(2) VALUE "EC".
*
******************************************************************
LINKAGE SECTION.
COPY KCINPC.
*****************************************************************
PROCEDURE DIVISION USING KCINPUTC.
*****************************************************************
P1-KEY-CONTROL-SECTION.
* Check F-keys *
IF KCIFKEY = KDCOUT
THEN
MOVE "KDCOUT" TO KCINCMD
MOVE "CD" TO KCICCD
MOVE "N" TO KCICUT
MOVE SPACES TO KCIERRCD
GO TO P99-END.
IF KCIFKEY = KDCDISP
THEN
MOVE "KDCDISP" TO KCINCMD
MOVE "CD" TO KCICCD
MOVE "N" TO KCICUT
MOVE SPACES TO KCIERRCD
GO TO P99-END.
P2-CV-CONTROL.
IF KCICVST NOT = CV-END
THEN
MOVE SPACES TO KCINTAC
MOVE "CC" TO KCICCD
MOVE "N" TO KCICUT
MOVE SPACES TO KCIERRCD
GO TO P99-END
ELSE
PERFORM P10-FUNC-CONTROL
GO TO P99-END.
*****************************************************************
P10-FUNC-CONTROL.
*****************************************************************
* Check the first character of input *
MOVE KCIFCH TO FUNC2.
IF KDCOFF
THEN
MOVE "KDCOFF" TO KCINCMD
MOVE "CD" TO KCICCD
MOVE "N" TO KCICUT
MOVE SPACE TO KCIERRCD
GO TO P10-END.
IF KCICFINF NOT = "ON"
THEN
MOVE SPACE TO KCINTAC
MOVE "ER" TO KCICCD
MOVE "N" TO KCICUT
MOVE "ER01" TO KCIERRCD
GO TO P10-END.
P10-END.
EXIT.
P99-END.
EXIT PROGRAM.