Description:
When we do some works or QA jobs on mainframe, we need to run some SQL Statements on mainframe directly and redirect the SQL Statement output to a dataset.We can do that by JCL.
Solution:
1 - Create a JCL which invoke PRC4820.LOAD(NAVUTIL) such as:
Eg. the JCL is "JOHNW.JCL(NAVEXEC)" as below:
=============NAVEXEC==============
//NAVEXEC JOB 'JOHNW',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),
// NOTIFY=&SYSUID
//************************************************** *********
//* THIS JOB USED TO EXPORT CONFIG TO AN XML FILE
//************************************************** *********
//EXECUTE EXEC PGM=NAVUTIL
//STEPLIB DD DSN=PRC4820.LOAD,DISP=SHR
//GBLPARMS DD DSN=PRC4820.DEF.GBLPARMS,DISP=SHR
//NVCMDPRM DD DSN=JOHNW.JCL(NAVCMDI),DISP=SHR
//SYSTSPRT DD SYSOUT=A
//*SYSPRINT DD SYSOUT=A
//SYSPRINT DD DSN=JOHNW.JCL.OUTPUT,DISP=(OLD,CATLG,DELETE),
// UNIT=3390,SPACE=(CYL,(1,1))
//SYSOUT DD SYSOUT=A
//DDPRINT DD SYSOUT=A
//DDDRUCK DD SYSOUT=A
//SYSUDUMP DD SYSOUT=A
//CEEDUMP DD SYSOUT=A
/*
========= END NAVEXEC==============
2 - Create the command input file as:
Eg. the input dataset member is "JOHNW.JCL(NAVCMDI)" as below:
=============CMDINPUT==============
NV_CMDLINE=NAVUTIL EXECUTE NAVDEMO 'JOHNW.JCL(NAVSQLI)'
=========END CNAVEXEC==============
3 - Create the SQL Statements file as:
Eg. The input SQL statements dataset member is "JOHNW.JCL(NAVSQLI)" as below:
=============SQL Statement==========
SELECT * FROM NAVDEMO:NATION LIMIT TO 4 ROWS;
=========END SQL Statement==========
4 - Submit job "JOHNW.JCL(NAVEXEC)" by command "sub", then you will get the result in dataset "JOHNW.JCL.OUTPUT".


LinkBack URL
About LinkBacks






Reply With Quote