Share via


Inside QSAM

Q : Well someone asked me the other day  can I use Host Integration Server's VSAM provider to access QSAM.

A : I would rephrase it as does DDM support QSAM ? if yes them you can definitley.

Host Integration Server has implemented this cool technology called IBM's DDM( distributed Data Management) Protocol. It makes applications running under HIS understand and use DDM calls directly indirectly to access mainframe file systems.

In this article I wished to provide a link to manual / red book of DDM, I am running short of time to find it right at this monent . Will keep you posted. but  by that time you can always visit HIS product documentation

 https://www.microsoft.com/technet/archive/sna/evaluate/recordlv.mspx?mfr=true

so QSAM is nothing but a sequential file which is told to  do I/O operations through a buffer. its a Queued sequential access method where Queuse means a catche of memory where data would be stored first untill its full and then it would be  actually written or  exposed to the source call.

here is my simple JCL to define a QSAM file :

//BVT1QSAM JOB (),'RUN QSAMSTS',
//             CLASS=A,
//             MSGCLASS=K,
//             MSGLEVEL=(1,1),
//             NOTIFY=&SYSUID
//*-------------------------------------------------------------------*
//* TEXT   - CREATE A SEQUENTIAL DATA SET ON DISK USING IEBGENER.
//* THE FIRST JOB STEP (STEP005) WILL DELETE ANY PREVIOUSLY CREATED//*
//* SECOND JOB STEP (QSAMCRT1) WILL CREATE A NEW FILE.
//*-------------------------------------------------------------------*
//STEP005   EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSIN DD *
       DELETE ASMITAW.HOSTFL.QSAM.BVTTEST -
       NONVSAM
//*
//*-------------------------------------------------------------------*
//* SORT, THEN REPRO BVTTESTS INTO THE QSAM FILES                     *
//*-------------------------------------------------------------------*
//QSAMCRT1 EXEC PGM=IDCAMS,
//         COND=(8,LT,STEP005)
//DDIN  DD DSN=ASMITAW.HOSTFL.FLAT.BVTTESTS,DISP=SHR
//DDOUT DD DSN=ASMITAW.HOSTFL.QSAM.BVTTESTS,
//         DISP=(NEW,CATLG,DELETE),
//         UNIT=3390,
//         SPACE=(TRK,(5,2)),
//         STORCLAS=DBCLASS,
//         DCB=(RECFM=FB,LRECL=46,BLKSIZE=460,DSORG=PS)
//*
//SYSIN DD *
        REPRO           -
        INFILE(DDIN)    -
        OUTFILE(DDOUT)
//SYSPRINT DD SYSOUT=*
//