Creating your own encryption/decryption exits
File-AID/Data Solutions uses encryption/decryption exits to define and process both Data Solutions-defined and user-defined encryption routines. Data Solutions takes the specified data field, passes it to the encryption exit for conversion, and returns the new value to the data field. File-AID/Data Solutions is distributed with the following sample encryption/decryption exits.
Data Solutions Encryption/Decryption Exits
Name | Description | Load module Name |
---|---|---|
ENCRYPT-1 | Sample ENCRYPT/DECRYPT Exit 1 | UDAE0111 |
ENCRYPT-2 | Sample ENCRYPT/DECRYPT Exit 2 | UDAE0112 |
If you want to add your own encryption/decryption exits for processing by File-AID/Data Solutions, you need to do the following:
- Use one of the File-AID/Data Solutions-provided COBOL encryption exits, EXIT0111 and EXIT0112 in the Sample Library (hlq.SXVJSAMP), as a model. Save it under a new exit name EXIT0700 – EXIT0999 if the exit is non-LE enabled or EXIT1000 – EXIT9999 if the exit is LE enabled. Make your modifications.
Identify your environment library names (See Step 12. Specify external files in the BMC Installer Mainframe Products SMP/E Installation).
- Use sample JCL UDAEXITL in the Sample Library (hlq.SXVJSAMP) to assemble and link to LOAD module UDAELIST in your Configuration LOAD library (hlq.CXVJLOAD).
Each entry in the Field-Level and Encryption Exit Table consists of the following fields:
Data type
Specify B (Binary), C (Character), G (Graphic, Double Byte Character Set), N (Numeric), P (Packed), V (Variable length Character), or W (Variable length Graphic, Variable length Double Byte Character Set). The data type is determined by the record layout specified for the encryption criteria. It has a length of one byte. If your exit handles more than one data type, add an entry for each data type supported to the Exit Table (EXITLIST).
Encryption exit name
Specify a unique name alphanumeric 1 to 15 characters. The exit name is the name that you specify on the Data Encryption Criteria screen or select from the Available Encryption/Decryption Exits screen.
Field length
Specify the maximum number of bytes (not digits) that Data Solutions will pass to and return from the field exit. For example, packed 7 digits is 4 bytes. (An exit can process fields of various lengths.)
Load module name
Specify the load module name of your new exit (EXIT0700 – EXIT0999 if the exit is non-LE enabled or EXIT1000 – EXIT9999 if the exit is LE enabled). It must begin with “EXIT” and end with a four-digit number from 0700 to 9999. Numbers from 0000 to 0699 are reserved for exits.
Description
Specify up to 30 characters describing your new encryption exit. This description is displayed on the Available Encryption/Decryption Exits screen.
Exit Type
Specify an E in this field for an encryption/decryption exit. This allows File-AID/Data Solutions to differentiate when displaying Available Field Exits for Option 6 (Field Exits) and Available Encryption/Decryption Exits for Option 7 (Data Encryption).
Filler
Two byte filler.
Hint
A suggestion to avoid assembling and linking EXITLIST every time anyone at your site wants to add a new field or encryption exit is to add a group of new entries at one time and assign one or more to each programmer. Once the assigned EXITLIST entry (hook) is linked into Data Solutions, each programmer can modify and test their exits without requiring a systems programmer to modify EXITLIST.
Field-Level and Encryption Exit Compile/Link JCL
COBOL Version | Use JCL: |
---|---|
LE 370 / COBOL for MVS | UDAEXITL |
Add the appropriate information (listed above) for your COBOL encryption exit to the Field-Level Exit Table in Sample Library (hlq.SXVJSAMP) member EXITLIST. Use UDAELIST to reassemble and link edit the table.