z/OS ISPF Software Configuration and Library Manager Guide and Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Member encoding and decoding

z/OS ISPF Software Configuration and Library Manager Guide and Reference
SC19-3625-00

SCLM allows you to encode:
Editable members
The language associated with the member is used to determine if the member is to be encoded.

When the editable member is saved in Edit, or using the MIGRATE, LOCK/PARSE/STORE or SAVE SCLM services if the member's associated language has ENCODE=Y specified on the FLMLANGL macro, then the member is encoded.

SCLM build outputs (Non-editable members)
The FLMALLOC macro in the Build translator determines if the build output is to be encoded.

If the ENCODE=Y parameter is specified in a build translator on a FLMALLOC macro with IOTYPE=O or P, then during the build process when SCLM copies the temporary data set and members to the SCLM controlled libraries, the members are encoded.

These areas in SCLM allow SCLM to handle encoding and decoding of members:

  • Edit
  • View/Browse
  • Build
  • Versioning
  • SCLM Services
Edit
If a member has a language with ENCODE=Y specified on the FLMLANGL macro, then when entering edit, SCLM attempts to decode the member into a temporary data set. If the member is not encoded, normal editing of the member occurs.

Upon exiting the edit session, if the member has been modified, the member is saved and encoded if the members language specifies ENCODE=Y on the FLMLANGL macro. The following edit commands have been created and modified to allow SCLM to handle encoded members:

SCREATE
If the member currently being edited is encoded, then the new member that is created is encoded when saved.
SCOMPARE
Checks to see if the data set and member to be compared is encoded. If it is, SCLM decodes it into a temporary data set prior to it being compared to the member being edited.
Note: SCOMPARE determines where the member exists in the SCLM hierarchy, rather than use the allocated concatenated data set prior to it being compared to the member being edited.
SCOPY
Checks to see if a member is encoded. If it is, SCLM decodes the member prior to it being copied into the edit session.
SMOVE
Checks to see if a member is encoded. If it is, SCLM decodes the member prior to it being moved into the edit session.
SREPLACE
If the member currently being edited is encoded, then the new member to be replaced is encoded when it is saved.
Browse and View
If an editable member has a language with ENCODE=Y specified on the FLMLANGL macro, when entering browse and view, SCLM attempts to decode the member into a temporary data set. If the member is not encoded, normal browsing and viewing of the member will occur.

For non-editable members, the member will be decoded if the SCLM project contains a build translator with the ENCODE=Y parameter specified on the FLMALLOC macro.

Build
The build process handles encoded editable members and creates encoded outputs which have been specified using the ENCODE=Y parameter on the FLMALLOC macro.

When building, SCLM performs the following actions:

  • Determines if the input member (IOTYPE=S) is encoded. If it is, the member will be decoded into a temporary data set which is used by the translator.
  • Determines the input members (IOTYPE=I) that are required by the build translator. This list of members is used to determine if they are to be decoded. The processing of these input member will be different depending on whether CCODE processing is being used or not.

For CCODE build processing SCLM:

  • Allocates a temporary to contain the CCODE members.
  • Decodes any CCODE members, which are encoded, into the CCODE temporary data set. The remaining CCODE members will be copied into the CCODE temporary data set.
  • Allocates an ENCODE temporary data set to contain any encoded input members not processed into the CCODE temporary data set.
  • Decodes any non-processed input members, which are encoded, into the ENCODE temporary data set.
  • Concatenates both of the temporary data sets with the required hierarchical data sets.

For normal build processing (not CCODE processing), SCLM allocates a temporary data set into which it decodes the encoded input members. This temporary data set is concatenated with the required hierarchical data sets.

Once the build process is complete SCLM copies the temporary data sets/members with IOTYPE=O and P into the SCLM controlled libraries, As part of this process, if the FLMALLOC macro with IOTYPE=O and P has an ENCODE=Y specified, the members being copied into the SCLM controlled libraries will be encoded.

Versioning
If a member has a language with ENCODE=Y specified on the FLMLANGL macro and either the group you are saving the member to, or the group you are promoting into, has versioning active, SCLM decodes and encodes the version PDS member when it is being updated.

To create and encoded version PDS member SCLM:

  • Decodes the version PDS member (if required).
  • Decodes the new source member (if required).
  • Creates the new version PDS member.
  • When saving the new version PDS member, SCLM encodes the member.

The Audit and Version Utility panels, as well as the VERDEL and VERRECOV SCLM services have been modified to decode and encode the version PDS member if the member being processed has a language with ENCODE=Y specified on the FLMLANGL macro.

SCLM services
The SCLM services handle encoding and decoding of the SCLM members. The services that have been created or modified are:
ENDEC
A new SCLM service that ENCODES or DECODES SCLM members
MIGRATE
Decodes a member if it has a language which SPECIFIES ENCODE=Y to allow it to be parsed by SCLM. If the member is to be saved and has a language with ENCODE=Y, SCLM encodes the member.
PARSE
Decodes a member if it has a language which specifies ENCODE=Y to allow it to be parsed by SCLM.
STORE
If the member has a language with ENCODE=Y, SCLM encodes the member when it is saved.
SAVE
Decodes a member if it has a language which specifies ENCODE=Y to allow it to be parsed by SCLM. If the member has a language with ENCODE=Y, SCLM will encode the member when it is saved.
VERDEL
Decodes a member if it has a language which specifies ENCODE=Y. After updating the Version PDS member, SCLM will encode it when it is saved.
VERRECOV
Decodes the version PDS member to allow SCLM to restore a member. If a member is to be restored into an SCLM group and the member specifies it is encoded (ENCODE=Y on the FLMLANGL macro), the stored member will be encoded.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014