View previous topic :: View next topic
Author
Message
shub2204 New User Joined: 13 May 2020Posts: 19 Location: India
hi,
My requirement goes like this: We have a table VPF040 with a two column varchar x(193) which contains data from all columns combined together of a table VPF230. The column name in VPF040 are audit_before and audit_after. Now when data of table vpf230 is added over to 040. It contains unreadable data as VPF230 contains many columns with picture clause S9(*) usage comp. So when copy of data is added to the vpf040 , the comp values are added as unreadable. I am trying to decode these values using a cobol program below:
Code:
IDENTIFICATION DIVISION. 00010001
PROGRAM-ID. PFVPF40. 00020002
00030001
******************************************************************00040001
* 00050001
* SYSTEM - P.A.F. 00060001
* 00070001
* PROGRAM - PFVPF40. 00080007
* 00090001
* FUNCTION - THIS PROGRAM WILL CONVERT UNREADABLE DATA IN VPF4000100002
* TO READABLE FORMAT. 00110002
*-----------------------------------------------------------------00120001
******************************************************************00130001
00140001
ENVIRONMENT DIVISION. 00150001
00160001
INPUT-OUTPUT SECTION. 00170001
00180001
FILE-CONTROL. 00190001
00200001
SELECT INFILE ASSIGN TO UT-S-INFILE 00210001
FILE STATUS IS WV-FILE-STATUS. 00220001
00330001
DATA DIVISION. 00340001
00350001
FILE SECTION. 00360001
00370001
FD INFILE 00380001
BLOCK CONTAINS 0 00390001
RECORDING MODE IS F. 00400001
00410001
01 INFILE-RECORD. 00420001
00430001
15 INFILE-TIME PIC X(14). 00440008
15 INFILE-TABLE PIC 9(03). 00450002
15 INFILE-UPC PIC X(08). 00460002
15 FILLER PIC X(55). 00480008
00490001
00800001
WORKING-STORAGE SECTION. 00810001
00820001
01 WC-CONSTANTS. 00830001
00840001
05 WV-ABCODE PIC 9(04). 00850001
05 WC-SQL-NOTFND PIC S9(09) COMP VALUE +0100.00860001
05 WC-SQL-DUPLIC PIC S9(09) COMP VALUE -0811.00870001
00880001
05 WC-PFCR001 PIC X(07) VALUE 'PFVPF40'. 00890010
00900001
05 WV-FILE-STATUS PIC 9(02). 00910001
00970001
01 DCLVPF230B. 00980002
10 VPF230-MR-UDPRN PIC 9(9) USAGE DISPLAY. 00990010
10 VPF230-MR-TIME-ADDED PIC X(14). 01000002
10 VPF230-MR-TIME-DELETED PIC X(14). 01010002
10 VPF230-MR-TIME-AMENDED PIC X(14). 01020002
10 VPF230-MR-ORGID PIC 9(9) USAGE DISPLAY. 01030010
10 VPF230-MR-DEPTID PIC 9(9). 01040002
10 VPF230-MR-BNR PIC 9(4). 01050002
10 VPF230-MR-BNM PIC 9(9). 01060002
10 VPF230-MR-DP PIC 9(9). 01070002
10 VPF230-MR-DTH PIC 9(9). 01080002
10 VPF230-MR-DTHDE PIC 9(4). 01090002
10 VPF230-MR-TH PIC 9(9). 01100002
10 VPF230-MR-THDE PIC 9(4). 01110002
10 VPF230-MR-LOC PIC 9(9). 01120002
10 VPF230-MR-CONCAT PIC X(1). 01130002
10 VPF230-MR-UPC PIC 9(9). 01140002
01290001
01 DCLVPF230A. 01291002
10 VPF230-MR-UDPRN PIC 9(9). 01292005
10 VPF230-MR-TIME-ADDED PIC X(14). 01293005
10 VPF230-MR-TIME-DELETED PIC X(14). 01294002
10 VPF230-MR-TIME-AMENDED PIC X(14). 01295002
10 VPF230-MR-ORGID PIC 9(9). 01296005
10 VPF230-MR-DEPTID PIC 9(9). 01297005
10 VPF230-MR-BNR PIC 9(4). 01298005
10 VPF230-MR-BNM PIC 9(9). 01299005
10 VPF230-MR-DP PIC 9(9). 01299105
10 VPF230-MR-DTH PIC 9(9). 01299205
10 VPF230-MR-DTHDE PIC 9(4). 01299305
10 VPF230-MR-TH PIC 9(9). 01299405
10 VPF230-MR-THDE PIC 9(4). 01299505
10 VPF230-MR-LOC PIC 9(9). 01299605
10 VPF230-MR-CONCAT PIC X(1). 01299705
10 VPF230-MR-UPC PIC 9(9). 01299805
01299902
EXEC SQL INCLUDE SQLCA END-EXEC. 01300001
01310001
EXEC SQL INCLUDE VPF040 END-EXEC. 01320001
EXEC SQL INCLUDE VPF230 END-EXEC. 01321011
01330001
01350001
EXEC SQL INCLUDE SSWSQLE END-EXEC. 01360001
01370001
01380001
*** LINKAGE SECTION. 01390001
01400001
01 WV-BUFFER. 01410001
01420001
05 WS-LEN PIC S9(4) COMP. 01430001
05 VAR PIC X(1). 01440001
01450001
PROCEDURE DIVISION USING WV-BUFFER. 01460001
01470001
01480001
A01-CONTROL SECTION. 01490001
01500001
A01010-ENTRY. 01510001
01520001
DISPLAY 'VALUE FROM JCL'VAR 01530001
01540001
EVALUATE VAR 01550001
01560001
WHEN '1' 01570001
01580001
PERFORM B01-INIT-STAGE 01590001
01600001
PERFORM B03-MAIN-PROCESS 01610001
01620001
PERFORM B06-TERMINATE 01630001
01640001
WHEN '0' 01650001
01660001
PERFORM B01-INIT-STAGE 01670002
01680001
PERFORM B03-MAIN-PROCESS 01690002
01700001
PERFORM B06-TERMINATE 01710002
01720001
WHEN OTHER 01730001
01740001
DISPLAY 'INVALID PARMS PASSED SHOULD BE EITHER 1 OR 0' 01750001
01760001
END-EVALUATE 01770001
01780001
01790001
GOBACK 01800001
. 01810001
A01999-EXIT. 01820001
01830001
EXIT. 01840001
01850001
B01-INIT-STAGE SECTION. 01860001
01870001
B01010-ENTRY. 01880001
01890001
OPEN INPUT INFILE 01900001
01910001
EVALUATE WV-FILE-STATUS 01920001
WHEN ZERO 01930001
CONTINUE 01940001
WHEN OTHER 01950001
DISPLAY '** PFCR001 - INVALID INFILE OPEN **' 01960001
MOVE 0003 TO WV-ABCODE 01970001
PERFORM Z09-ABEND 01980001
END-EVALUATE 01990001
02000001
02330001
. 02340001
B01999-EXIT. 02350001
02360001
EXIT. 02370001
02380001
B03-MAIN-PROCESS SECTION. 02390001
02400001
B03010-ENTRY. 02410001
02420001
PERFORM UNTIL WV-FILE-STATUS = 10 02430001
READ INFILE 02440006
02450001
INITIALIZE DCLVPF040 02460002
INITIALIZE DCLVPF230 02470011
INITIALIZE DCLVPF230A 02470111
INITIALIZE DCLVPF230B 02471002
02472009
MOVE INFILE-TIME TO VPF040-AUDIT-TIME 02473009
MOVE INFILE-UPC TO VPF040-AUDIT-UPC 02474009
MOVE INFILE-TABLE TO VPF040-AUDIT-TABLE 02475009
02480001
02530001
PERFORM X27-OPEN-VPF040 02540002
PERFORM X27-FETCH-VPF040 UNTIL SQLCODE = WC-SQL-NOTFND 02541002
DISPLAY 'STARTTING DISPLAY' 02541105
02542102
PERFORM X27-CLOSE-VPF040 02542202
02550001
END-PERFORM 02870001
. 02880001
B03010-EXIT. 02890001
02900001
EXIT. 02910001
02920001
03780001
X27-OPEN-VPF040 SECTION. 03790002
03800001
X27010-ENTRY. 03810001
03820001
EXEC SQL 03830001
DECLARE VPF040-CSR CURSOR FOR 03831002
SELECT AUDIT_TIME 03840001
,AUDIT_TABLE 03850001
,AUDIT_REF 03860001
,AUDIT_BEFORE1 03871002
,AUDIT_AFTER1 03872002
,AUDIT_UPC 03880001
FROM VPF040 03960002
WHERE AUDIT_TIME > :VPF040-AUDIT-TIME 03970009
AND AUDIT_TABLE = :VPF040-AUDIT-TABLE 03980009
AND AUDIT_UPC = :VPF040-AUDIT-UPC 03990009
END-EXEC 04010001
04020001
EXEC SQL 04021003
OPEN VPF040-CSR 04022002
END-EXEC 04023003
04023102
EVALUATE SQLCODE 04024002
WHEN ZERO 04025002
CONTINUE 04026002
04027002
WHEN OTHER 04028002
DISPLAY 'SQLCODE IS:' SQLCODE 04028102
MOVE 0100 TO WV-ABCODE 04029002
PERFORM Z09-ABEND 04029102
END-EVALUATE 04029205
. 04030001
X27999-EXIT. 04040001
04050001
EXIT. 04060001
04060102
04060202
X27-FETCH-VPF040 SECTION. 04061002
04062002
X27011-ENTRY. 04063002
04064002
EXEC SQL 04065002
FETCH VPF040-CSR 04066002
INTO :VPF040-AUDIT-TIME 04069402
,:VPF040-AUDIT-TABLE 04069502
,:VPF040-AUDIT-REF 04069602
,:VPF040-AUDIT-BEFORE1 04069702
,:VPF040-AUDIT-AFTER1 04069802
END-EXEC 04070704
04070802
EVALUATE SQLCODE 04070902
WHEN ZERO 04071002
04071102
MOVE VPF040-AUDIT-BEFORE1 TO DCLVPF230 04071211
MOVE DCLVPF230 TO DCLVPF230B 04071311
INITIALIZE DCLVPF230 04071411
MOVE VPF040-AUDIT-AFTER1 TO DCLVPF230 04071511
MOVE DCLVPF230 TO DCLVPF230A 04071611
DISPLAY 'BEFORE IMAGE:' DCLVPF230B 04071711
DISPLAY 'AFTER IMAGE:' DCLVPF230A 04071811
04071911
WHEN +100 04072011
04072111
CONTINUE 04072211
04072310
WHEN OTHER 04072410
DISPLAY 'SQLCODE IS:' SQLCODE 04072510
MOVE 0102 TO WV-ABCODE 04072610
PERFORM Z09-ABEND 04072710
END-EVALUATE 04072810
. 04072910
X27011-EXIT. 04073010
04073110
EXIT. 04073210
04073310
04073410
04073510
X27-CLOSE-VPF040 SECTION. 04073610
04073710
X27011-ENTRY. 04073810
04073910
EXEC SQL 04074010
CLOSE VPF040-CSR 04074110
END-EXEC 04074210
04074310
EVALUATE SQLCODE 04074410
WHEN ZERO 04074510
04074610
CONTINUE 04074710
04074902
WHEN OTHER 04075002
DISPLAY 'SQLCODE IS:' SQLCODE 04075102
MOVE 0103 TO WV-ABCODE 04075202
PERFORM Z09-ABEND 04075302
END-EVALUATE 04075405
. 04075502
X27011-EXIT. 04075602
04075702
EXIT. 04075802
04076002
04080001
04380001
B06-TERMINATE SECTION. 04390001
04400001
B06010-ENTRY. 04410001
04420001
CLOSE INFILE 04430001
04440001
EVALUATE WV-FILE-STATUS 04450001
WHEN ZERO 04460001
CONTINUE 04470001
04480001
WHEN OTHER 04490001
DISPLAY '** PFCR001 - INVALID FILE CLOSE ON INFILE *' 04500001
MOVE 0009 TO WV-ABCODE 04510001
PERFORM Z09-ABEND 04520001
END-EVALUATE 04530001
04540001
. 04880001
B06010-EXIT. 04890001
04900001
EXIT. 04910001
04920001
05250001
05260001
05270001
Z09-ABEND SECTION. 05280001
05290001
Z09010-ENTRY. 05300001
05310001
MOVE WC-PFCR001 TO WZ-FORMATTED-SQLCODE 05320001
05330001
DISPLAY ' ********************************' 05340001
DISPLAY ' * ABEND CODE ' WV-ABCODE ' *'. 05350001
05360001
PERFORM Z9-SQL-ERROR. 05370001
05380001
Z09999-EXIT. 05390001
05400001
EXIT. 05410001
05420001
EXEC SQL INCLUDE SSPSQLE END-EXEC. 05430001
05440001
Now data in the table looks like this:
Code:
€©201704240945460 0 p µ Ö1
ßžCPFP290 s
Ux201704240947440 0 µ Ö1
ßžCPFP290 s
Uy201704240947480 0 … µ Ö1
ßžCPFP290 s
Xi201001221110320 0 ž ˆc1 ,CPFP992 ~
X–201001221110320 0 ž ˆc1 ,CPFP992 ~
÷z200610081016330 0 ¾ Z œ1 ¼CPFP191 þ
÷z200610081016330 0 ð Z œ1 ¼CPFP191 þ
÷z200610081016330 0 ¿ Z œ1 ¼CPFP191 þ
when i run this program i still got values in unreadable format.
the dclgen of tables looks like this:
Back to top
shub2204 New User Joined: 13 May 2020Posts: 19 Location: India
01 DCLVPF230.
10 VPF230-MR-UDPRN PIC S9(9) USAGE COMP.
10 VPF230-MR-TIME-ADDED PIC X(14).
10 VPF230-MR-TIME-DELETED PIC X(14).
10 VPF230-MR-TIME-AMENDED PIC X(14).
10 VPF230-MR-ORGID PIC S9(9) USAGE COMP.
10 VPF230-MR-DEPTID PIC S9(9) USAGE COMP.
10 VPF230-MR-BNR PIC S9(4) USAGE COMP.
10 VPF230-MR-BNM PIC S9(9) USAGE COMP.
10 VPF230-MR-DP PIC S9(9) USAGE COMP.
10 VPF230-MR-DTH PIC S9(9) USAGE COMP.
10 VPF230-MR-DTHDE PIC S9(4) USAGE COMP.
10 VPF230-MR-TH PIC S9(9) USAGE COMP.
10 VPF230-MR-THDE PIC S9(4) USAGE COMP.
10 VPF230-MR-LOC PIC S9(9) USAGE COMP.
10 VPF230-MR-CONCAT PIC X(1).
10 VPF230-MR-UPC PIC S9(9) USAGE COMP.
Back to top
shub2204 New User Joined: 13 May 2020Posts: 19 Location: India
Here is a screenshot of output:
Code:
CL0
: Ä (q\201809281451580 0 Â <
:
: Ä (q\20180928145158202009291114310 Â <
: í (q\201809281451580 20200930085957 Â <
: Ä (q\201809281451580 20200930085957 Â <
: (q\201809281451580 20200930085957 Â <
: (q\201809281451580 20200930085957 Â <
: Ä 0 4202009300929140 0 ã× <
: Ä 0 4202009300929140 0 ã× <
Back to top
Robert Sample Global Moderator Joined: 06 Jun 2008Posts: 8700 Location: Dubuque, Iowa, USA
Your topic title is "Unable to display comp variable" -- yet you do not ever DISPLAY a COMP variable. All of your DISPLAY statements are for group variables, which are alphanumeric (not COMP). Try putting
Code:
DISPLAY VPF230-MR-UDPRN
after your fetch. You seem to be wanting to handle all the data as a single field such as
Code:
MOVE DCLVPF230 TO DCLVPF230B
This will not do anything to your data as group variables are alphanumeric, period. Any COMP variables under a group variable name would have to be moved individually to allow the numeric conversion to take place.
Back to top
shub2204 New User Joined: 13 May 2020Posts: 19 Location: India
Thanks Robert for the tip..i figured it out..just made simple things worse when comp variable are easily displayable.here is my modified code:
Code:
IDENTIFICATION DIVISION. 00010001
PROGRAM-ID. PFVPF40. 00020002
00030001
******************************************************************00040001
* 00050001
* SYSTEM - P.A.F. 00060001
* 00070001
* PROGRAM - PFVPF40. 00080007
* 00090001
* FUNCTION - THIS PROGRAM WILL CONVERT UNREADABLE DATA IN VPF4000100002
* TO READABLE FORMAT FOR TABLE 230. ADD DATE,TABLE, 00110032
* UPC IN THE FORMAT 'YYYYMMDDHHMMSS230AADDDSUU' 00111032
* AA=AREA,DDD=DISTRICT,S=SECTOR,UU-UNIT 00112032
*-----------------------------------------------------------------00120001
******************************************************************00130001
00140001
ENVIRONMENT DIVISION. 00150001
00160001
INPUT-OUTPUT SECTION. 00170001
00180001
FILE-CONTROL. 00190001
00200001
SELECT INFILE ASSIGN TO UT-S-INFILE 00210001
FILE STATUS IS WV-FILE-STATUS. 00220001
00330001
DATA DIVISION. 00340001
00350001
FILE SECTION. 00360001
00370001
FD INFILE 00380001
BLOCK CONTAINS 0 00390001
RECORDING MODE IS F. 00400001
00410001
01 INFILE-RECORD. 00420001
00430001
15 INFILE-TIME PIC X(14). 00440008
15 INFILE-TABLE PIC 9(03). 00450002
15 INFILE-UPC PIC X(08). 00460002
15 FILLER PIC X(55). 00480008
00490001
00800001
WORKING-STORAGE SECTION. 00810001
00820001
01 WC-CONSTANTS. 00830001
00840001
05 WV-ABCODE PIC 9(04). 00850001
05 WC-SQL-NOTFND PIC S9(09) COMP VALUE +0100.00860001
05 WC-SQL-DUPLIC PIC S9(09) COMP VALUE -0811.00870001
00880001
05 WC-PFCR001 PIC X(07) VALUE 'PFVPF40'. 00890010
00900001
05 WV-FILE-STATUS PIC 9(02). 00910001
00970001
01 DCLVPF230B. 00980002
10 VPF230-MR-UDPRN PIC S9(9) USAGE COMP. 00990014
10 VPF230-MR-TIME-ADDED PIC X(14). 01000013
10 VPF230-MR-TIME-DELETED PIC X(14). 01010013
10 VPF230-MR-TIME-AMENDED PIC X(14). 01020013
10 VPF230-MR-ORGID PIC S9(9) USAGE COMP. 01030014
10 VPF230-MR-DEPTID PIC S9(9) USAGE COMP. 01040013
10 VPF230-MR-BNR PIC S9(4) USAGE COMP. 01050013
10 VPF230-MR-BNM PIC S9(9) USAGE COMP. 01060013
10 VPF230-MR-DP PIC S9(9) USAGE COMP. 01070013
10 VPF230-MR-DTH PIC S9(9) USAGE COMP. 01080013
10 VPF230-MR-DTHDE PIC S9(4) USAGE COMP. 01090013
10 VPF230-MR-TH PIC S9(9) USAGE COMP. 01100013
10 VPF230-MR-THDE PIC S9(4) USAGE COMP. 01110013
10 VPF230-MR-LOC PIC S9(9) USAGE COMP. 01120013
10 VPF230-MR-CONCAT PIC X(1). 01130013
10 VPF230-MR-UPC PIC S9(9) USAGE COMP. 01140013
01141017
01142017
01 DCLVPF230A. 01150017
10 VPF230-MR-UDPRN PIC S9(9) USAGE COMP. 01160017
10 VPF230-MR-TIME-ADDED PIC X(14). 01170017
10 VPF230-MR-TIME-DELETED PIC X(14). 01180017
10 VPF230-MR-TIME-AMENDED PIC X(14). 01190017
10 VPF230-MR-ORGID PIC S9(9) USAGE COMP. 01200017
10 VPF230-MR-DEPTID PIC S9(9) USAGE COMP. 01210017
10 VPF230-MR-BNR PIC S9(4) USAGE COMP. 01220017
10 VPF230-MR-BNM PIC S9(9) USAGE COMP. 01230017
10 VPF230-MR-DP PIC S9(9) USAGE COMP. 01240017
10 VPF230-MR-DTH PIC S9(9) USAGE COMP. 01250017
10 VPF230-MR-DTHDE PIC S9(4) USAGE COMP. 01260017
10 VPF230-MR-TH PIC S9(9) USAGE COMP. 01270017
10 VPF230-MR-THDE PIC S9(4) USAGE COMP. 01280017
10 VPF230-MR-LOC PIC S9(9) USAGE COMP. 01281017
10 VPF230-MR-CONCAT PIC X(1). 01282017
10 VPF230-MR-UPC PIC S9(9) USAGE COMP. 01283017
01290001
01299902
EXEC SQL INCLUDE SQLCA END-EXEC. 01300001
01310001
EXEC SQL INCLUDE VPF040 END-EXEC. 01320001
EXEC SQL INCLUDE VPF230 END-EXEC. 01327011
01343001
01350001
EXEC SQL INCLUDE SSWSQLE END-EXEC. 01360001
01372001
01380001
*** LINKAGE SECTION. 01390001
01400001
01 WV-BUFFER. 01410001
01420001
05 WS-LEN PIC S9(4) COMP. 01430001
05 VAR PIC X(1). 01440001
01450001
PROCEDURE DIVISION USING WV-BUFFER. 01460001
01470001
01480001
A01-CONTROL SECTION. 01490001
01500001
A01010-ENTRY. 01510001
01520001
DISPLAY 'VALUE FROM JCL' VAR 01530022
01540001
EVALUATE VAR 01550001
01560001
WHEN '1' 01570001
01580001
PERFORM B01-INIT-STAGE 01590001
01600001
PERFORM B03-MAIN-PROCESS 01610001
01620001
PERFORM B06-TERMINATE 01630001
01640001
WHEN '0' 01650001
01660001
PERFORM B01-INIT-STAGE 01670002
01680001
PERFORM B03-MAIN-PROCESS 01690002
01700001
PERFORM B06-TERMINATE 01710002
01720001
WHEN OTHER 01730001
01740001
DISPLAY 'INVALID PARMS PASSED SHOULD BE EITHER 1 OR 0' 01750001
01760001
END-EVALUATE 01770001
01780001
01790001
GOBACK 01800001
. 01810001
A01999-EXIT. 01820001
01830001
EXIT. 01840001
01850001
B01-INIT-STAGE SECTION. 01860001
01870001
B01010-ENTRY. 01880001
01890001
OPEN INPUT INFILE 01900001
01910001
EVALUATE WV-FILE-STATUS 01920001
WHEN ZERO 01930001
CONTINUE 01940001
WHEN OTHER 01950001
DISPLAY '** PFCR001 - INVALID INFILE OPEN **' 01960001
MOVE 0003 TO WV-ABCODE 01970001
PERFORM Z09-ABEND 01980001
END-EVALUATE 01990001
02000001
02330001
. 02340001
B01999-EXIT. 02350001
02360001
EXIT. 02370001
02380001
B03-MAIN-PROCESS SECTION. 02390001
02400001
B03010-ENTRY. 02410001
02420001
PERFORM UNTIL WV-FILE-STATUS = 10 02430001
READ INFILE 02440006
02450001
INITIALIZE DCLVPF040 02460002
INITIALIZE DCLVPF230 02470011
INITIALIZE DCLVPF230A 02470111
INITIALIZE DCLVPF230B 02471002
02472009
MOVE INFILE-TIME TO VPF040-AUDIT-TIME 02473009
MOVE INFILE-UPC TO VPF040-AUDIT-UPC 02474009
MOVE INFILE-TABLE TO VPF040-AUDIT-TABLE 02475009
02480001
02530001
PERFORM X27-OPEN-VPF040 02540002
PERFORM X27-FETCH-VPF040 UNTIL SQLCODE = WC-SQL-NOTFND 02541002
02542102
PERFORM X27-CLOSE-VPF040 02542202
02550001
END-PERFORM 02870001
. 02880001
B03010-EXIT. 02890001
02900001
EXIT. 02910001
02920001
03780001
X27-OPEN-VPF040 SECTION. 03790002
03800001
X27010-ENTRY. 03810001
03820001
EXEC SQL 03830001
DECLARE VPF040-CSR CURSOR FOR 03831002
SELECT AUDIT_TIME 03840001
,AUDIT_TABLE 03850001
,AUDIT_REF 03860001
,AUDIT_BEFORE1 03871002
,AUDIT_AFTER1 03872002
,AUDIT_UPC 03880001
FROM VPF040 03960002
WHERE AUDIT_TIME > :VPF040-AUDIT-TIME 03970009
AND AUDIT_TABLE = :VPF040-AUDIT-TABLE 03980009
AND AUDIT_UPC = :VPF040-AUDIT-UPC 03990009
END-EXEC 04010001
04020001
EXEC SQL 04021003
OPEN VPF040-CSR 04022002
END-EXEC 04023003
04023102
EVALUATE SQLCODE 04024002
WHEN ZERO 04025002
CONTINUE 04026002
04027002
WHEN OTHER 04028002
DISPLAY 'SQLCODE IS:' SQLCODE 04028102
MOVE 0100 TO WV-ABCODE 04029002
PERFORM Z09-ABEND 04029102
END-EVALUATE 04029205
. 04030001
X27999-EXIT. 04040001
04050001
EXIT. 04060001
04060102
04060202
X27-FETCH-VPF040 SECTION. 04061002
04062002
X27011-ENTRY. 04063002
04064002
EXEC SQL 04065002
FETCH VPF040-CSR 04066002
INTO :VPF040-AUDIT-TIME 04069402
,:VPF040-AUDIT-TABLE 04069502
,:VPF040-AUDIT-REF 04069602
,:VPF040-AUDIT-BEFORE1 04069702
,:VPF040-AUDIT-AFTER1 04069802
END-EXEC 04070704
04070802
EVALUATE SQLCODE 04070902
WHEN ZERO 04071002
04071102
MOVE VPF040-AUDIT-BEFORE1 TO DCLVPF230 04071211
MOVE DCLVPF230 TO DCLVPF230B 04071311
INITIALIZE DCLVPF230 04071411
MOVE VPF040-AUDIT-AFTER1 TO DCLVPF230 04071511
MOVE DCLVPF230 TO DCLVPF230A 04071611
* DISPLAY 'BEFORE IMAGE:' VPF230-MR-UDPRN OF DCLVPF230B' ' 04071931
* VPF230-MR-TIME-ADDED OF DCLVPF230B ' ' 04073031
* VPF230-MR-TIME-DELETED OF DCLVPF230B ' ' 04074031
* VPF230-MR-TIME-AMENDED OF DCLVPF230B ' ' 04074131
* VPF230-MR-ORGID OF DCLVPF230B ' ' 04074231
* VPF230-MR-DEPTID OF DCLVPF230B ' ' 04074331
* VPF230-MR-BNR OF DCLVPF230B ' ' 04074431
* VPF230-MR-BNM OF DCLVPF230B ' ' 04074531
* VPF230-MR-DP OF DCLVPF230B ' ' 04074631
* VPF230-MR-DTH OF DCLVPF230B ' ' 04074731
* VPF230-MR-DTHDE OF DCLVPF230B ' ' 04074831
* VPF230-MR-TH OF DCLVPF230B ' ' 04074931
* VPF230-MR-THDE OF DCLVPF230B ' ' 04075031
* VPF230-MR-LOC OF DCLVPF230B ' ' 04075131
* VPF230-MR-CONCAT OF DCLVPF230B ' ' 04075231
* VPF230-MR-UPC OF DCLVPF230B 04075331
* 04075431
* DISPLAY 'AFTER IMAGE:' VPF230-MR-UDPRN OF DCLVPF230A ' ' 04075531
* VPF230-MR-TIME-ADDED OF DCLVPF230A ' ' 04075631
* VPF230-MR-TIME-DELETED OF DCLVPF230A ' ' 04075731
* VPF230-MR-TIME-AMENDED OF DCLVPF230A ' ' 04075831
* VPF230-MR-ORGID OF DCLVPF230A ' ' 04075931
* VPF230-MR-DEPTID OF DCLVPF230A ' ' 04076031
* VPF230-MR-BNR OF DCLVPF230A ' ' 04076131
* VPF230-MR-BNM OF DCLVPF230A ' ' 04076231
* VPF230-MR-DP OF DCLVPF230A ' ' 04076331
* VPF230-MR-DTH OF DCLVPF230A ' ' 04076431
* VPF230-MR-DTHDE OF DCLVPF230A ' ' 04076531
* VPF230-MR-TH OF DCLVPF230A ' ' 04076631
* VPF230-MR-THDE OF DCLVPF230A ' ' 04076731
* VPF230-MR-LOC OF DCLVPF230A ' ' 04076831
* VPF230-MR-CONCAT OF DCLVPF230A ' ' 04076931
* VPF230-MR-UPC OF DCLVPF230A 04077031
* 04077131
DISPLAY 'UDPRN:' VPF230-MR-UDPRN OF DCLVPF230B ' ' 04077222
- VPF230-MR-UDPRN OF DCLVPF230A 04077321
DISPLAY 'TIME ADDED:' VPF230-MR-TIME-ADDED OF DCLVPF230B 04077425
- ' ' VPF230-MR-TIME-ADDED OF DCLVPF230A 04077522
DISPLAY 'TIME DELETED:' 04077627
- VPF230-MR-TIME-DELETED OF DCLVPF230B 04077727
- ' ' VPF230-MR-TIME-DELETED 04077830
OF DCLVPF230A 04077930
DISPLAY 'TIME AMENDED:' 04078027
- VPF230-MR-TIME-AMENDED OF DCLVPF230B ' ' 04078127
- VPF230-MR-TIME-AMENDED OF DCLVPF230A 04078227
DISPLAY 'ORG ID:' VPF230-MR-ORGID OF DCLVPF230B ' ' 04078426
- VPF230-MR-ORGID OF DCLVPF230A 04078526
DISPLAY 'DEPT ID:' VPF230-MR-DEPTID OF DCLVPF230B ' ' 04078626
- VPF230-MR-DEPTID OF DCLVPF230A 04078726
DISPLAY 'BNR:' VPF230-MR-BNR OF DCLVPF230B ' ' 04078826
- VPF230-MR-BNR OF DCLVPF230A 04078926
DISPLAY 'BNM:' VPF230-MR-BNM OF DCLVPF230B ' ' 04079026
- VPF230-MR-BNM OF DCLVPF230A 04079126
DISPLAY 'DELIVERY POINT:' VPF230-MR-DP OF DCLVPF230B ' ' 04079226
- VPF230-MR-DP OF DCLVPF230A 04079326
DISPLAY 'DTH:' VPF230-MR-DTH OF DCLVPF230B ' ' 04079426
- VPF230-MR-DTH OF DCLVPF230A 04079526
DISPLAY 'DTHDE:' VPF230-MR-DTHDE OF DCLVPF230B ' ' 04079626
- VPF230-MR-DTHDE OF DCLVPF230A 04079726
DISPLAY 'THOROUGHFARE:' VPF230-MR-TH OF DCLVPF230B 04079826
- ' ' VPF230-MR-TH OF DCLVPF230A 04079926
DISPLAY 'THOROUGHFARE DE:' VPF230-MR-THDE OF DCLVPF230B 04080027
- ' ' VPF230-MR-THDE OF DCLVPF230A 04080127
DISPLAY 'LOCALITY:' VPF230-MR-LOC OF DCLVPF230B ' ' 04080226
- VPF230-MR-LOC OF DCLVPF230A 04080326
DISPLAY 'CONCAT :' VPF230-MR-CONCAT OF DCLVPF230B ' ' 04080426
- VPF230-MR-CONCAT OF DCLVPF230A' ' 04080526
DISPLAY 'POSTCODE:' VPF230-MR-UPC OF DCLVPF230B ' ' 04080626
- VPF230-MR-UPC OF DCLVPF230A 04080726
04080826
WHEN +100 04080926
04081026
CONTINUE 04081126
04081226
WHEN OTHER 04081326
DISPLAY 'SQLCODE IS:' SQLCODE 04081426
MOVE 0102 TO WV-ABCODE 04081526
PERFORM Z09-ABEND 04081626
END-EVALUATE 04081726
. 04081826
X27011-EXIT. 04081926
04082026
EXIT. 04082126
04082226
04082326
04082426
X27-CLOSE-VPF040 SECTION. 04082526
04082626
X27011-ENTRY. 04082726
04082826
EXEC SQL 04082926
CLOSE VPF040-CSR 04083026
END-EXEC 04083126
04083226
EVALUATE SQLCODE 04083326
WHEN ZERO 04083426
04083526
CONTINUE 04083626
04083726
WHEN OTHER 04083826
DISPLAY 'SQLCODE IS:' SQLCODE 04083926
MOVE 0103 TO WV-ABCODE 04084026
PERFORM Z09-ABEND 04084126
END-EVALUATE 04084226
. 04084326
X27011-EXIT. 04084426
04084526
EXIT. 04084626
04085021
04090001
04380001
B06-TERMINATE SECTION. 04390001
04400001
B06010-ENTRY. 04410001
04420001
CLOSE INFILE 04430001
04440001
EVALUATE WV-FILE-STATUS 04450001
WHEN ZERO 04460001
CONTINUE 04470001
04480001
WHEN OTHER 04490001
DISPLAY '** PFCR001 - INVALID FILE CLOSE ON INFILE *' 04500001
MOVE 0009 TO WV-ABCODE 04510001
PERFORM Z09-ABEND 04520001
END-EVALUATE 04530001
04540001
. 04880001
B06010-EXIT. 04890001
04900001
EXIT. 04910001
04920001
05250001
05260001
05270001
Z09-ABEND SECTION. 05280001
05290001
Z09010-ENTRY. 05300001
05310001
MOVE WC-PFCR001 TO WZ-FORMATTED-SQLCODE 05320001
05330001
DISPLAY ' ********************************' 05340001
DISPLAY ' * ABEND CODE ' WV-ABCODE ' *'. 05350001
05360001
PERFORM Z9-SQL-ERROR. 05370001
05380001
Z09999-EXIT. 05390001
05400001
EXIT. 05410001
05420001
EXEC SQL INCLUDE SSPSQLE END-EXEC. 05430001
05440001
Back to top
Please enable JavaScript!