Print "PLEASE WAIT...": Sleep 500 DEFSHR RA$,LIT23 OPEN "SETUP.DAT" FOR RANDOM AS #1 LEN = 52 FIELD #1,5 AS SIL$,5 AS SOL$,5 AS SQL$,5 AS SPL$,5 AS SCL$,4 AS SSCLT$,1 AS SLPC$,1 AS SH$,15 AS SIP$,4 AS SPORT$,2 AS LFCR$ GET #1,1 ILEN$=SIL$:OLEN$=SOL$:QLEN$=SQL$:PLEN$=SPL$:CLEN$=SCL$:SCLT$=SSCLT$:LPC$=SLPC$:HOST$=SH$:IP$=LTRIM$(SIP$):PORT$=SPORT$:CLOSE #1:PORT%=VAL(PORT$) ILEN#=VAL(ILEN$):OLEN#=VAL(OLEN$):PLEN#=VAL(PLEN$):CLEN#=VAL(CLEN$):QLEN#=VAL(QLEN$):O%=VAL(OCNT$) REM ****************************** REM Open Com Port for Report REM ****************************** MainSelect: Open "Com2: TRM13 EVENT" for Input as #6 On Event #6 Gosub HostTsk Flush #6: X$="": XA$="" Input #6, X$ REM ****************************** REM Report Main Menu REM ****************************** Main: If RA$="1" then gosub PrintTemp: goto Main1 If RA$="2" then Gosub PrintTrans: goto Main1 If RA$="3" then gosub ClrTemp Print #6, CHR$(6) Main1: Delevent #6: Close #6: RA$="" If OP%=1 then Print "Report Complete!": Sleep 1000 If OP%=2 then Print "Report Canceled!": Sleep 1000 goto ChainFile1 REM ****************************** REM Report INBOUND Transactions to HOST REM ****************************** PrintTemp: OP%=1 OPEN "INBOUND.DAT" FOR RANDOM AS #1 LEN=36 FIELD #1, 8 AS REC_ID$, 8 AS IN_WT$, 8 AS IN_T$, 10 AS IN_D$, 2 AS LFCR$ FOR I% = 1 TO ILEN# Time#=Timer() GET #1, I% Print using "Snd:###_!!!!!!!!"; I%; REC_ID$ IF REC_ID$ = " " THEN GOTO PrtTempNul a$=REC_ID$ + "," + IN_WT$ + "," + IN_T$ + "," + IN_D$ PRINT #6, CHR$(2); a$; CHR$(3) TASK100: If XA$=CHR$(6) then goto PrtTempNul If Timer()>Time# + 10 then goto TASK110 If XA$<>CHR$(21) then goto TASK100 TASK110: Print #6, CHR$(21); Space$(37); CHR$(3) I%=ILEN#: OP%=2 PrtTempNul: XA$="" NEXT I% CLOSE #1 If OP%=1 then Print #6, CHR$(23); Space$(37); CHR$(3) Return REM ****************************** REM Initialize INBOUND Transaction File REM ****************************** ClrTemp: KILL "INBOUND.DAT": PRINT "Initializing... ": Sleep 200 OPEN "INBOUND.DAT" FOR RANDOM AS #1 LEN=36 FIELD #1, 8 AS REC_ID$, 8 AS IN_WT$, 8 AS IN_T$, 10 AS IN_D$, 2 AS LFCR$ FOR I%=1 TO ILEN# LSET REC_ID$=ESP$:RSET IN_WT$=ESP$:RSET IN_T$=ESP$:RSET IN_D$=SPACE$(10):LSET LFCR$=TRM$ PUT #1, I% NEXT I% CLOSE #1: Sleep 200 RETURN REM ****************************** REM Report OUTBOUND Transactions to HOST REM ****************************** PrintTrans: OP%=1: j%=0 OPEN "OUTBOUND.DAT" FOR RANDOM AS #1 LEN=77 FIELD #1,8 AS A$,8 AS B$,8 AS C$,8 AS D$,16 AS E$,8 AS F$,19 AS G$,2 AS H$ FOR I% = 1 TO OLEN# Time#=Timer() GET #1, I% Print using "SND:###_!!!!!!!!"; I%; A$ IF A$ = " " THEN GOTO OutBndPrtNul j%=I% b$=A$ + "," + C$ + "," + B$ + "," + D$ + "," + E$ + "," + Left$(G$,10) + "," + Right$(G$,8) PRINT #6, CHR$(2); b$; CHR$(3); CHR$(13) TASK200: If XA$=CHR$(6) then goto OutBndPrtNul If Timer()>Time# + 10 then goto TASK210 If XA$<>CHR$(21) then goto TASK200 TASK210: Print #6, CHR$(21); Space$(72); CHR$(3) I%=OLEN#: OP%=2 OutBndPrtNul: XA$="" NEXT I% CLOSE #1 If OP%<>1 then Return Print #6, CHR$(23); Space$(72); CHR$(3) If j%=0 then Return ClrTrans: KILL "OUTBOUND.DAT": PRINT "Initializing... ": Sleep 200 OPEN "OUTBOUND.DAT" FOR RANDOM AS #2 LEN = 77 FIELD #2,8 AS A$,8 AS B$,8 AS C$,8 AS D$,16 AS E$,8 AS F$,19 AS G$,2 AS H$ FOR I%=1 TO OLEN# LSET A$=ESP$:RSET B$=ESP$:RSET C$=ESP$:RSET D$=ESP$:LSET E$=SPACE$(16):RSET F$=ESP$:LSET G$=SPACE$(19):LSET H$=TRM$ PUT #2, I% NEXT I% CLOSE #2 RETURN REM ********************************* REM Check Data received from Host PC REM ********************************* HostTsk: If Len(X$)<>0 then goto ChkRecv Print "Invalid Command": Sleep 500 RecvRst: Flush #6: X$="": Input #6, X$ XA$="": Return ChkRecv: XA$=Left$(X$,1) Flush #6: X$="": Input #6, X$ Return ChainFile1: Print "PLEASE WAIT..." CFFLG%=1 CHAIN "file1.bas"