| Introduction: You can create VSAM views with varying degrees of access restrictions. You can code Shell (generic), VSAM Catalog and specific views. Specific views are the most restrictive while generic views are the least restrictive. Catalog views are in-between. VSAM view types: 1) Shell views: No restrictions. All VSAM data sets in your system are potentially accessible.. 2) Catalog views: Restrict access to a set of files in a specific VSAM catalog. 3) Specific Views: Restrict access to a single data set. What we mean by a signle data set is that a client can NOT point to a different file. But the Admin can code variables in the file name, and thus, have the SERVER point to different files. See the difference? |
| How To Create VSAM Views: |
| VSAM Shell, or Generic, Views: VSAM Shell views grant access to ALL VSAM data sets in your system. Therefore, access to this view should be restricted to trusted users, if at all. Example: Notes about this view: 1) The user can point the view to any VSAM data set he/she chooses. 2) The user must know, ahead of time, the real data set name. Also, he must know, and provide, the actual data set attributes (such as TYPE, RECL, RECF, etc), by issuing one or more SITE commands, before attempting any FTPs. In other words, the user can logically transform the shell view into a specific view then perform the FTP. This is, infact, the only difference between shell and specific views. |
| XFER = BEGIN TYPE = RCV TGT_AM = VSAM XFER = END |
| VSAM Catalog Views: Each VSAM Catalog View grants access to a set of one or more VSAM data sets in a specific VSAM catalog. The user can actually issue a DIR command and see the actual cluster names in the VSAM catalog. You can use the MASK statement, in the user�s PROF, to expose a subset of data sets. Example: VSAM Catatlog View. Notes about this view: 1) The user can list, and see, actual VSE cluster names as they exist in the catalog. 2) The user can point to the DSNAME he/she wishes to work with by directly specifying it with his GET/PUT commands. 3) Notice that the user must still provide missing attributes (such as TYPE, RECL, RECF, etc), by issuing one or more SITE commands, before attempting any FTPs. |
| XFER = BEGIN TYPE = RCV TGT_AM = VSAM <<<== VSAM (Access Method) is a keyword. Code as is. TGT_TYPE = INDEX <<<= INDEX is a keyword (means VSAM Catalog View).. Code as is. TGT_CATALOG = catalog�s DLBL <<<= Catalog's DLBL. Catalog must be already DLBLed. TGT_BUCKET = actual_VSE_VSAM_catalog_name (up to 44 characters) XFER = END |
| VSAM Specific Views: Each VSAM Specific view exposes one or more VSAM data sets. The client can't point the view to a data set of his choosing as he can with shell views!! The server, on the other hand, might do so if the admin codes in the data set name!! But this is totally invisible to the client. It looks like as if the client uploads to, and downloads, from a black hole!! In this view type, you basically point TGT_FILE to a specific VSAM data set. For convenice and ease of use, please go ahead and define all other pertinent attributes such as: TGT_DISP = disposition TGT_TYPE = file_type ESDS, KSDS, RRDS or VRDS) TGT_RECLEN = nnn TGT_RECF = recformat TGT_CATALOG= catalog's_dlbl VSAM Specific View Example: Notes about this view: 1) This example illustrates how to code a view to grant access to a single, or a collection of identical, VSAM data set(s). Notice that virtually all data set attributes are defined. This eliminates the need to issue SITE commands. 2) Also, notice that the file name has a Name of Day variable, &NDL3. Therefore, if you are writing (PUTing), or reading (GETing), on a MONday, the server writes, or reads, FILE.MON.ESDS. In other words, you can use variables to have a specific view describe multiple, though identical, VSAM data sets. |
| XFER = BEGIN TYPE = RCV TGT_FILE = FILE.&NDL3.ESDS * <- - Specific view.. Never put a side comment where a file name is expected.. TGT_CATALOG = VSESP TGT_AM = VSAM * Access method: VSAM TGT_TYPE = ESDS * TYPE OF FILE is ESDS. TGT_DISP = NEW TGT_RECL = 80 TGT_RECF = F * XFER = END |