Compiling and running your programs under CMS in VM

The following program compiles and runs your callable interface application using the VS FORTRAN compiler. QMF does not ship the REXX EXEC in this example, but you can copy it from here, altering it to suit your installation.

Figure 54. REXX program to compile and run your program
/******************************************************************/
/* Compile your program and run it.       */
/******************************************************************/
TRACE off
ADDRESS CMS
 
/******************************************************************/
/* Access FORTRAN product disk using a program, PRODUCT, that you */
/* write.                                                         */
/******************************************************************/
"EXEC PRODUCT FORTRAN"
 
/******************************************************************/
/* Get QMF DSQCOMM into a macro library and set GLOBAL compile    */
/* maclibs.
/******************************************************************/
"ERASE TEMPP MACLIB A"
"MACLIB GEN TEMPP DSQCOMMF"
Maclist = "TEMPP VSF2PLIB VSF2MLIB DMSSP CMSLIB OSMACRO"
"GLOBAL MACLIB" Maclist
 
/******************************************************************/
/* Compile the program                                            */
/******************************************************************/
'FORTVS2 yourname (RENT OPT(0) XREF'
 
/******************************************************************/
/* Access SQL/DS and initialize database                          */
/******************************************************************/
"EXEC PRODUCT SQLDS"
"EXEC SQLINIT DBNAME(SQLDBA)"
 
/******************************************************************/
/* Access GDDM product disk                                       */
/******************************************************************/
"EXEC PRODUCT GDDM"
/******************************************************************/
/* Issue Filedefs for QMF product                                 */
/******************************************************************/
/* DEBUG = DDNAME FOR QMF DIAGNOSTICS OUTPUT       */
"FILEDEF DSQDEBUG PRINTER ( LRECL 80  BLKSIZE 80  RECFM FBA PERM"
/* PRINT = DDNAME FOR QMF PRINTED OUTPUT                          */
"FILEDEF DSQPRINT PRINTER ( LRECL 133 BLKSIZE 133 RECFM FBA PERM"
/* EDIT  = DDNAME FOR QMF EDIT TRANSFER FILE                      */
"FILEDEF DSQEDIT DISK QMFEDIT FILE A (PERM"
/* DSQSIDE = DDNAME FOR QMF SPILL FILE                            */
"FILEDEF DSQSPILL DISK DSQSIDE DATA A1 (PERM"
/* DSQPNLE = DDNAME FOR PANEL FILE                                */
"FILEDEF DSQPNLE DISK DSQPNLE FILE * (PERM"
"FILEDEF ISPLLIB CLEAR"
"FILEDEF ISPLLIB DISK DSQLDLIB LOADLIB *"
 
/******************************************************************/
/* Provide access to QMF and FORTRAN program libraries            */
/******************************************************************/
'GLOBAL LOADLIB VSF2LOAD DSQLDLIB'
'GLOBAL TXTLIB VSF2LINK VSF2FORT ADMRLIB ADMPLIB ADMGLIB'
Say "Starting to run FORTRAN program"
"RUN yourname"
 
Exit 0

You might have to modify this program to suit your installation.

[ Previous Page | Next Page | Contents | Index ]