Fdspfile CF E WORKSTN
F INFDS(DSPFDS)
Fpfile IF E K DISK
F INFDS(FIDS01)
F INFSR(SFERR)
*
D DSPFDS DS
D ROW 370 370
D COL 371 371
D SFLRRN 378 379B 0
*
D FIDS01 DS
D STS01 *STATUS
D REC01 397 400B 0
*
* INFDS for cursor location
*
D DSPFDS DS
D ROWCOL 370 371B 0
D ROW 370 370
D COL 371 371
D SFLRRN 378 379B 0
*
* Program status data structure
*
D SDS SDS
D WSID 244 253
D USER 254 263
D AAPARM *PARMS
D PGM *PROC
D USTAT 11 15 0
D USRCLN 21 28
D UROUTN 29 36
D MSGID 40 46
D ULIB 81 90
D UMSGTX 91 170
D UFILE 201 208
D UFSTAT 209 213
D UFSRCL 228 235
D UJOBN 264 269 0
D UCDAT 288 293 0
D UCTIM 294 299 0
D UPGM 334 343
D UMODL 344 353
*****************************************************************
* SFERR - File Exception Handler
*****************************************************************
c SFERR BEGSR
C STS01 | +IFEQ 1218
C | | Z-ADD 1122 STS01
C | -ELSE
C STS01 | | +IFEQ 1211
C | | | EXSR *PSSR
C | | -ELSE
C | | | Z-ADD 1121 STS01
C | | +END
C | +END
c ENDSR
*****************************************************************
* *PSSR - Program Execution Errors Handler
*****************************************************************
*PSSR BEGSR
C UERCNT +IFNE *ZERO
C | MOVEL '*CANCL' URSUME
C -ELSE
C | Z-ADD 1 UERCNT
C | MOVE 'R' MSGACT
C | MOVEL(P) 'QCPFMSG' MSGF
C | MOVEL(P) 'QSYS' MSGFL
C UMSGTX | +IFNE *BLANKS
C | | MOVEL(P) UMSGTX MSGDTA
C | -ELSE
C | | MOVEL(P) UROUTN MSGDTA
C | +END
*
C USTAT | +IFEQ *ZEROS
C | | MOVE UFSTAT USTAT
C | | MOVE UFSRCL USRCLN
C | +END
C | MOVE USTAT USTAT4
*
C MSGID | +IFEQ *BLANKS
C | | MOVE USTAT4 MSGID
C | | MOVEL 'RPG' MSGID
C | | MOVEL 'QRPGMSGE' MSGF
C | +END
*
C | CALL 'CLMSG' PMSGCL 93
*
C | MOVEL '1' UEROPT
C | EXFMT PSSR0001
*
C UEROPT | +IFEQ '1'
C | | MOVEL '*GETIN ' URSUME
C | -ELSE
C UEROPT | | +IFEQ '2'
C | | | MOVEL '*CANCL ' URSUME
C | | -ELSE
C UEROPT | | | +IFEQ '3'
C | | | | MOVE ' ' URSUME
C | | | +END
C | | +END
C | +END
C +END
*
C DUMP
C MOVEL *BLANK MSGID
C MOVE *ZERO UERCNT
*
ENDSR URSUME
*/EJECT
********************************************************************
RTVCUR BEGSR
*
C Z-ADD *ZEROS PROW 2 0
C Z-ADD *ZEROS PCOL 2 0
C ROWCOL DIV 256 PROW
C MVR PCOL
*
ENDSR
* Get row & column
C | | EXSR RTVCUR
*
C *IN04 | | +IFEQ *ON
C | | | +SELECT
*
C PROW | | | -WHENEQ 5
C PCOL | | | |ANDGE 20
C PCOL | | | |ANDLE 21
....
C