Version 9.6
 —  EntireX z/VSE CICS® RPC Server  —

Handling SVM Files

A server mapping file (SVM) enables the RPC server to correctly support special COBOL syntax such as REDEFINEs, JUSTIFIED, SYNCHRONIZE and OCCURS DEPENDING ON clauses, LEVEL-88 fields, etc. If one of these elements is used, the EntireX Workbench automatically extracts an SVM file in addition to the IDL (interface definition language), or an SVM file is generated by the COBOL Wrapper for a server skeleton. The SVM file is used at runtime to marshal and unmarshal the RPC data stream.

This document covers the following topics:


SVM Files in the EntireX Workbench

In the EntireX Workbench, an SVM file has to relate to an appropriate IDL file. Therefore, you always have to keep the IDL file and the SVM file together in the same folder.

If there is an SVM file and a corresponding IDL file,

If there is an IDL file but no corresponding SVM file,

Top of page

SVM Files in the RPC Server

Under z/VSE, SVM entries of the EntireX Workbench SVM files are stored as records within one VSAM file (containing all SVM entries from all Workbench SVM files). The unique key of the VSAM file consists of the first 255 bytes of the record: for the type (1 byte), for the IDL library (127 bytes) and for the IDL program (127 bytes). The CICS, Batch and IMS RPC servers use a VSAM file as the container.

If one server requires an SVM file, you need to provide this to the RPC server:

If no server requires an SVM file, you can execute the RPC server without SVM files:

Top of page

Source Control of SVM Files

Because SVM entries within an SVM file contain text data only, a Workbench SVM file is text-based (although it is not intended for human consumption). Therefore, you can include it in your source control management together with the IDL file and the COBOL source(s) as a triplet that should always be kept in sync.

Top of page

Change Management of SVM Files

Under z/VSE, change management for a VSAM file (SVM container) is similar to change management for a database. The complete VSAM file can be backed up at any time, for example by using IDCAMS. All updates to the VSAM file done after a backup must be kept.

All Workbench SVM files added since the last backup should be available.

Top of page

Compare SVM Files

For SVM files in the EntireX Workbench format, you can use a third party file/text compare tool to check if two files are identical.

The SVM entries (corresponding to lines in a Workbench SVM file) contain a creation timestamp at offset 276 (decimal) in the format YYYYMMDDHHIISST. The precision is 1/10 of a second.

Top of page

List Deployed SVM Files

Use IDCAMS:

* $$ JOB JNM=VSAMPRNT,CLASS=0,DISP=D
* $$ LST CLASS=A,DISP=K
/* ------------------------------------------------------------ */
/*  PRINT CONTENT OF AN SVM VSAM CLUSTER                        */
/* ------------------------------------------------------------ */
// JOB VSAMPRNT
// DLBL ERXSVM,'ENTIREX.SVMDEV.KSDS',0,VSAM,CAT=VSESPUC
// EXEC IDCAMS,SIZE=AUTO
   PRINT INFILE(ERXSVM) CHAR
/*
/&
* $$ EOJ

Top of page

Check if an SVM File Revision has been Deployed

SVM entries (corresponding to lines in Workbench SVM files) contain a creation timestamp at offset 276 (decimal) in the format YYYYMMDDHHIISST. Precision is 1/10 of a second. The creation timestamp can be checked.

The timestamp can be found on the same offset in the records in the VSAM file (SVM container).

Top of page

Access Control: Secure SVM File Deployment

For deployment with the Server Mapping Deployment Wizard, use EntireX Security if the broker is running on platforms z/OS, UNIX , Windows or z/VSE. See Enabling the Deployment Service.

For IBM deployment tool IDCAMS, use RACF to secure deployment.

Top of page

Ensure that Deployed SVM Files are not Overwritten

For IDCAMS, use the NOREPLACE option to disallow overwriting of duplicate SVM records in the VSAM file (container). See Server Mapping Deployment using FTP and IDCAMS.

Top of page

When is an SVM File Required?

For the IDL Extractor for COBOL

Interface Type COBOL Syntax COBOL Mapping Editor SVM
Required
More Information
CICS with DFHCOMMAREA Calling Convention and IN different to OUT all   yes CICS with DFHCOMMAREA Calling Convention under Introduction to the IDL Extractor for COBOL | CICS DFHCOMMAREA under COBOL Parameter Selection
CICS Channel Container Calling Convention all   yes CICS with Channel Container Calling Convention
CICS with DFHCOMMAREA Large Buffer Interface all   yes CICS with DFHCOMMAREA Large Buffer Interface
IMS MPP Message Interface (IMS Connect) all   yes IMS MPP Message Interface (IMS Connect)
IMS BMP with Standard Linkage Calling Convention all   yes IMS BMP with Standard Linkage Calling Convention
Micro Focus with Standard Linkage Calling Convention BINARY clause   yes Micro Focus with Standard Linkage Calling Convention
all OCCURS DEPENDING ON clause   yes Tables with Variable Size - DEPENDING ON Clause under COBOL to IDL Mapping in the IDL Extractor for COBOL documentation
all REDEFINES clause   yes REDEFINE Clause
all TRAILING [SEPARATE] clause   yes SIGN LEADING and TRAILING SEPARATE Clause
all LEADING [SEPARATE] clause   yes SIGN LEADING and TRAILING SEPARATE Clause
all ALIGNED RIGHT attribute   yes  
all all Rename of program yes The Software AG IDL Tree Pane under Mapping Editor User Interface in the IDL Extractor for COBOL documentation
all all Map to operation yes Context Menu under The COBOL Parameters Pane
all all Map to constant yes Context Menu
all all Suppress yes Context Menu
other combinations no  

For the COBOL Wrapper

This depends on the interface type chosen and the IDL type:

Interface Type IDL Type COBOL Wrapper SVM
Required
More Information
CICS with DFHCOMMAREA Large Buffer Interface all   yes CICS with DFHCOMMAREA Large Buffer Interface under COBOL Server Interface Types
CICS with Channel Container Calling Convention all   yes CICS with Channel Container Calling Convention
IMS BMP with Standard Linkage Calling Convention all   yes IMS BMP with Standard Linkage Calling Convention
Micro Focus I2 or I4   yes Micro Focus with Standard Linkage Calling Convention | IDL Data Types
all IDL unbounded array   yes array-definition under Software AG IDL Grammar in the IDL Editor documentation
all IDL unbounded group   yes group-parameter-definition under Software AG IDL Grammar
all all IDL program name is not a valid COBOL name and is therefore adapted, or the COBOL program name is customized yes Customize Automatically Generated Server Names
other combinations   no  

Top of page

Is There a Way to Smoothly Introduce SVM Files?

All EntireX RPC servers can be executed without SVM files. There is no need to install the SVM container (see SVM Files in the RPC Server) as long as you do not use features that require SVM files (see When is an SVM File Required?). You can also call COBOL servers generated or extracted with previous versions of EntireX mixed with a COBOL server that requires SVM files. All EntireX RPC servers are backward compatible.

Top of page