-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathVSETERROR.cbl
More file actions
55 lines (53 loc) · 1.88 KB
/
Copy pathVSETERROR.cbl
File metadata and controls
55 lines (53 loc) · 1.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
>>source format free.
*>******************************************************************
*>* V S E T E R R O R *
*>******************************************************************
IDENTIFICATION DIVISION.
PROGRAM-ID. VSETERROR.
AUTHOR. MICHAEL ANDERSON.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
COPY "vplus/SP250".
01 MYFLDNUM PIC S9(4) COMP-5 VALUE 0.
01 xfldnum pic ----9.
01 GLOBAL-ADDRESS1 USAGE POINTER.
01 DebugBUF pic x(256) VALUE SPACES.
*>*########################################################
LINKAGE SECTION.
COPY "vplus/COMAREA".
01 FLDNUM PIC S9(4) COMP-5.
01 ERRMSG PIC X(80).
01 MSGLEN PIC S9(4) COMP-5.
COPY "vplus/VPLUSMEM".
*>*########################################################
PROCEDURE DIVISION USING COMAREA FLDNUM ERRMSG MSGLEN.
*>*---------------------------------------------------------*
0000-BEGIN-VSETERROR.
CALL "GetPtrVplusBlock1" USING GLOBAL-ADDRESS1.
SET ADDRESS OF VPLUSMEM TO GLOBAL-ADDRESS1.
move LOW-VALUES TO INTR-CALLNAME
string "VSETERROR "
delimited by " " into INTR-CALLNAME.
Move fldnum to xfldnum.
MOVE FLDNUM TO MYFLDNUM.
IF FLDNUM < 0
COMPUTE MYFLDNUM = FLDNUM * -1
PERFORM VARYING IFLD-IDX FROM 1 BY 1 UNTIL IFLD-IDX > AF-AppFld-Cnt
IF MYFLDNUM = HFLD-SCRNORDER(IFLD-IDX)
ADD 1 TO NUMERRS
MOVE ERRMSG TO HFLD-ERRMSG(IFLD-IDX)
MOVE MYFLDNUM TO HFLD-ERRFLG(IFLD-IDX)
END-IF
END-PERFORM
ELSE
MOVE FLDNUM TO MYFLDNUM
PERFORM VARYING IFLD-IDX FROM 1 BY 1 UNTIL IFLD-IDX > AF-AppFld-Cnt
IF MYFLDNUM = HFLD-NUMBER(IFLD-IDX)
ADD 1 TO NUMERRS
MOVE ERRMSG TO HFLD-ERRMSG(IFLD-IDX)
MOVE MYFLDNUM TO HFLD-ERRFLG(IFLD-IDX)
END-IF
END-PERFORM.
MOVE 80 TO MSGLEN.
Goback.