High-Level Screen Management Intrinsic Library Reference Manual (32424-90002)
C- 10
CALL "HPDREAD" USING GLOBALPAK
RETURNPAK
READPAK
UNUSED-PARM
UNUSED-PARM
DATADESCRPT
DATABUF
UNUSED-PARM.
IF RETURNSTATUS OF RETURNPAK < 0
MOVE "Y" TO STOP-NOW
MOVE "**** Routine: Read Edit and File - Terminal Read"
TO ERROR-LOCATION
PERFORM Z-100-GET-ERROR-MESSAGE.
***** Determine if operator wants to stop transaction collection.
IF STOP-NOW NOT = "Y"
AND RETURNSTATUS OF RETURNPAK = 0
IF LASTITEMTYPE OF RETURNPAK = 0
AND LASTITEMNUM OF RETURNPAK = 8
MOVE "Y" TO DONE-WITH-TRANSACTIONS.
***** Determine if edit errors detected.
IF STOP-NOW NOT = "Y"
AND DONE-WITH-TRANSACTIONS NOT = "Y"
IF RETURNSTATUS OF RETURNPAK = 0
MOVE "N" TO DATA-ENTRY-ERRS
ELSE
MOVE "Y" TO DATA-ENTRY-ERRS.
***** Do we have a transaction that can be filed?
IF STOP-NOW NOT = "Y"
AND DONE-WITH-TRANSACTIONS NOT = "Y"
IF DATA-ENTRY-ERRS NOT = "Y"
AND LASTITEMTYPE OF RETURNPAK = 0
AND LASTITEMNUM OF RETURNPAK = 0
***** Write Databuf to Transaction File.
WRITE TXN-REC FROM DATABUF
ADD 1 TO NBR-TXN-COLLECTED.
***** Do we need to prompt the operator to correct errors?
IF STOP-NOW NOT = "Y"
AND DONE-WITH-TRANSACTIONS NOT = "Y"
IF DATA-ENTRY-ERRS = "Y"
IF LASTITEMTYPE OF RETURNPAK = 0
AND LASTITEMNUM OF RETURNPAK = 0
PERFORM B-200-PROMPT-OPERATOR
ELSE
***** Operator pressed some key other than ENTER or
***** EXIT so, clear data error flag to break loop
***** (display refresh results).
MOVE "N" TO DATA-ENTRY-ERRS.