|
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.
|