Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Example of an INPUT exit (BS2000 systems)

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.