Loading...
Select Version
Der INPUT-Exit "FORINPUT" wird bei Eingaben im Formatmodus aufgerufen und reagiert auf die Eingaben wie folgt:
Benutzerkommandos werden abgesetzt:
Drücken der Taste F1: KDCOUT
Drücken der Taste F2: KDCDISP
KDCOFF: erstes Zeichen der Eingabe ist "/"; wird nur außerhalb eines Vorgangs akzeptiert.
Eine fehlende oder ungültige Eingabe wird mit einem Fehlercode in der Meldung K098 beantwortet.
Soll dem Benutzer zusätzlich die Eingabe von KDCLAST und KDCFOR erlaubt werden, muss das Programm entsprechend erweitert werden.
Dieser INPUT-Exit wird generiert mit dem Generierungstool KDCDEF in der EXIT-Anweisung mit
KDCDEF-Anweisung
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.