High-Level Screen Management Intrinsic Library Reference Manual (32424-90002)
C-: 27
READPAK.ENABLEREFORMAT := 1;
{ No other special Read instructions. }
READPAK.READTIME := 0;
READPAK.DOREREAD := 0;
{ Indicate that all data in form, up to 200 bytes, is to be
copied into application work space. }
DATADESCRPT.DESCRPTTYPE := 10;
DATADESCRPT.BUFLEN := 200;
{ Read form. }
HPDREAD (GLOBALPAK,
RETURNPAK,
READPAK,
UNUSED_PARM,
UNUSED_PARM,
DATADESCRPT,
DATABUF,
UNUSED_PARM);
IF RETURNPAK.RETURNSTATUS < 0 THEN
BEGIN
STOP_NOW := TRUE;
ERROR_LOCATION :=
'**** Routine: Read Edit and File - Terminal Read';
UNBLOCK_MESSAGE;
END;
{ Determine if operator wants to stop transaction collection. }
IF NOT STOP_NOW
AND (RETURNPAK.RETURNSTATUS = 0) THEN
IF (RETURNPAK.LASTITEMTYPE = 0)
AND (RETURNPAK.LASTITEMNUM = 8) THEN
DONE_WITH_TXNS := TRUE;
{ Determine if edit errors detected. }
IF NOT STOP_NOW
AND NOT DONE_WITH_TXNS THEN
IF RETURNPAK.RETURNSTATUS = 0 THEN
DATA_ENTRY_ERRS := FALSE
ELSE
DATA_ENTRY_ERRS := TRUE;
{ Do we have a transaction that can be filed? }
IF NOT STOP_NOW
AND NOT DONE_WITH_TXNS THEN
IF NOT DATA_ENTRY_ERRS
AND (RETURNPAK.LASTITEMTYPE = 0)
AND (RETURNPAK.LASTITEMNUM = 0) THEN
BEGIN
{ Write Databuf to Transaction File. }
WRITELN (PAYTXN_FILE,
DATABUF.DATAAREA : DATADESCRPT.RTNBUFLEN);
NBR_TXNS_COLLECTED := NBR_TXNS_COLLECTED + 1;