A server mapping file (SVM) enables the RPC server to correctly support special COBOL syntax such as
REDEFINE
s, 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:
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,
at least one of the IDL programs in the corresponding IDL file requires server-mapping information to correctly call the target server. For those IDL programs, there is an SVM entry (line) in the Workbench SVM file.
deployment of the SVM file to the RPC server is mandatory, see Server Mapping Deployment.
If there is an IDL file but no corresponding SVM file,
there is no IDL program that requires server mapping information.
Under z/OS, SVM entries of 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:
Development environments: to allow the deployment of new SVM files, enable the deployment service. See Enabling the Deployment Service.
Production environments: provide SVM files to the RPC server.
See ERXMAIN
macro parameter SVM
.
If no server requires an SVM file, you can execute the RPC server without SVM files:
Development environments: you can disable the deployment service. See Disabling the Deployment Service.
Production environments: there is no need to provide SVM files to the RPC server.
See ERXMAIN
macro parameter SVM
.
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.
For z/OS, 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.
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.
Use IDCAMS:
//EXXPRINT JOB (,,,999),ENTIREX,NOTIFY=&SYSUID,MSGLEVEL=(1,1), // CLASS=K,MSGCLASS=X,REGION=0M //*-----------------------------------------------------------* //* PRINT CONTENTS OF AN SVM VSAM CLUSTER * //*-----------------------------------------------------------* //SVMPRINT EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //IN DD DISP=SHR,DSN=ETS.SVM.KSDS //OUT DD SYSOUT=* //SYSIN DD * PRINT - INFILE(IN) - DUMP | HEX | CHAR - OUTFILE(OUT) /* //
Use DUMP or CHAR format to print the SVM records of the VSAM file.
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).
For deployment with the Server Mapping Deployment Wizard, use EntireX Security if the broker is running on a platform other than BS2000/OSD. See Enabling the Deployment Service.
For IBM z/OS deployment tools (for instance IDCAMS), use RACF to secure deployment.
For IDCAMS, use the NOREPLACE
option to disallow
overwriting of duplicate SVM records in the VSAM file (container). See Server Mapping Deployment to z/OS, using FTP and IDCAMS.
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 |
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 |
|
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 |
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.