stodolas
Active Member
Joined: 13 Jun 2007 Posts: 632 Location: Wisconsin
|
|
|
|
Instream EZTrieve for reading db2
Code: |
//STEP02 EXEC EASYPLUS,PANDD1='MACROLIBRARY',COND=(4,LT)
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//OUTFILE1 DD DSN=SOME.OUTPUT.FILE,
// DISP=(NEW,CATLG,DELETE),
// UNIT=TEST,SPACE=(CYL,(50,50),RLSE),
// DCB=(LRECL=100,RECFM=FB,BLKSIZE=0)
//SYSIN DD *
*
PARM SSID('DB2SUBSYSTEM ID')
*
FILE OUTFILE1
O-FIRST-NAME 1 30 P
O-LAST-NAME 31 30 A
O-PHONE 61 10 A
O-ADDRESS 71 30 A
*************************************************************
** WORKING STORAGE
*************************************************************
SW-FILE-END W 1 A VALUE 'N'
*
SQL DECLARE PERSON CURSOR FOR +
SELECT FIRST_NAME +
,LAST_NAME +
,PHONE_NUMBER +
,ADDRESS +
FROM tableowner.TABLENAME +
WHERE FIRST_NAME = 'WILLIAM' +
WITH UR
*
************************************************************
** ACTIVITY SECTION
*************************************************************
JOB INPUT NULL
SQL OPEN PERSON
PERFORM CHECK-SQL-CODE
DO WHILE SW-FILE-END NE 'Y'
SQL FETCH PERSON INTO :O-FIRST-NAME +
,:O-LAST-NAME +
,:O-PHONE +
,:O-ADDRESS
PERFORM CHECK-SQL-CODE
IF SQLCODE < 0
SQL CLOSE CONTACT
DISPLAY 'BAD FETCH'
STOP
ELSE
IF SQLCODE EQ 0
PUT OUTFILE1
ELSE
IF SQLCODE = +100
SW-FILE-END = 'Y'
END-IF
END-IF
END-IF
END-DO
SQL CLOSE PERSON
PERFORM CHECK-SQL-CODE
STOP
*===============================================
CHECK-SQL-CODE. PROC.
IF SQLCODE NE 0 AND SQLCODE NE 100
DISPLAY 'SQL CODE = ' SQLCODE
DISPLAY 'SQL ERROR MESSAGE = ' SQLERRM
STOP EXECUTE
END-IF
END-PROC
*=============================================== |
[/code] |
|