Extension Data
This section describes how to use the Extension Data feature within Code Pipeline.
What is Extension Data?
Extension Data provides the ability to extend the Code Pipeline data model to store and use new attributes against existing Code Pipeline Entities. New attributes are defined to specific classes, and any number of new classes of data can be defined. The attributes can be both character and numeric format.
The attributes that Code Pipeline natively supports for an Application and Level (for example, Application SITE at level QA) could be extended to include specific data relating to the management of a specific technology that the customer is using. (With J2EE Objects, for example, the App Server Name that they are deployed into would need to be stored.)
Most of the Application-related Reference Data entities have been enabled for Extension Data. The list of supported entities can be viewed via the Code Pipeline Option M.ET. With each new release ofCode Pipeline, this list can be added to.
Extension Data
Command ===> Scroll ===> CSR
List Commands: L Locate Entry
Table Description
________ _________________________________________________
APPLCT Application Component Type
APPLCTL Application Component Type Level
APPLLVL Application Level
CMPNTYPE Component Type
STRMCT Stream Component Type
STRMCTL Stream Component Type Level
STRMLVL Stream Level
******************************* Bottom of data ********************************
What is an Extension Class?
An Extension Class is defined separately in Code Pipeline via option M.EC and describes a set of attributes or variables that can be used later to extend a specific entity. An example of this might be a class called TELON that can contain all of the variables required for the handling of the TELON language.
Defining Extension Data
Define the Class
An extension Class can be defined in M.EC. See EC-Extension-Classes for a description of how to define a class.
Add Extension Data to an Entity
Select the Entity to which the Class is to be defined. This can be done by using the “X” option in the appropriate Maintenance Screen. The following figure shows an example of the screen for adding extension data to the Component Type Entity.
Add Extension Data to an Entity
Command ===> Scroll ===> CSR
List Commands: A Add Entry, L Locate Entry, B Browse Mode
Line Commands: S Select, D Delete, X Extensions
Type Tech Ityp Cyc Gen Description
________ ____ ____ _ _ ______________________________________________
_ AMAC Y ASSEMBLER MACS TESTS
_ ASM Y Y ASSEMBLER PROGRAM TESTING
_ ASUB Y Y ASSEMBLER SUBROUTINES (SUBROUTINE LIBRARY)
_ C Y Y C Language Programs
_ CLST Y Standard TSO Clist Code
_ CMAP CICS Y Y CICS MAPSETS
_ COB Y Y COBOL PROGRAM DESCRIPTION.
_ COPY Y COBOL COPYLIB MEMBERS
X CSP Y Y CSP Application
_ DATA N ATTRIBUTES FOR PERSONAL DATASETS
_ DBRM Y DB2 PRECOMPILE OUTPUT(DATABASE REQUEST MODULE)
_ DCLG Y Y DB2 DCLGEN MODULES
_ DDL Y DB2 DATA DEFINITION LANGUAGE
_ DOCJ Y JOB DOCUMENTATION
_ DOCP Y PROGRAM DOCUMENTATION
_ DSCT Y Y DSECTS FOR CICS MAPS
_ FORT Y Y FORTRAN PROGRAMS
_ H Y C LANGUAGE HEADER FILES
_ INCL Y PLI Include Members
_ JOB Y PRODUCTION JCL MODULES
_ JOBT Y TEST JCL MODULES
_ LCTL LC Y Y STAND-ALONE LOAD MODULES (COPIED-NO SOURCE)
_ LINK Y Y linked link edit statements - SuperLinks
_ LIST Y COMPILE LINK LISTINGS
_ LKED Y LINKAGE EDITOR CONTROL CARDS
_ LOAD Y GENERATED LOAD MODULES (BATCH/COMMON LIB)
_ MAN Y MANUALS (TEXT) MEMBERS
_ MSGS Y ISPF MESSAGES
_ NOTE N ASSIGNMENT NOTES
_ OBJ Y Program Object
_ PANL Y ISPF PANELS
_ PARM Y PARMLIB MODULES
_ PLAN Y Y DB2 PLAN ATTRIBUTE TABLES (FOR ISPW)
_ PLI Y Y PLI PROGRAM
_ PROC Y PROCLIB MODULES
_ PSUB Y Y PLI SUBROUTINES (SUBROUTINE LIBRARY)
_ SKEL Y ISPF SKELETONS
_ TABL Y ISPF TABLES
_ TEXT Y GENERAL TEXT MEMBERS
_ WDLG Y TOPAZ CUSTOM DIALOGS
Entering “X” from this screen against a Component Type will display the screen shown in the following figure where extension classes for that type are listed, and the option of adding a new Extension Class is provided.
List of Extension Classes for a Type
Command ===> Scroll ===> CSR
List Commands: A Add Entry, L Locate Entry, B Browse Mode
Line Commands: S Select, D Delete
Extension Description
_________ __________________________________________________
******************************* Bottom of data ********************************
Entering “A” on the Command line will display the screen shown in the following figure where the new Class Name can be specified.
Specifying New Class Name
Command ===>
Enter required details:
Extension Class ==> CSP4
Press ENTER to complete the change or END to terminate
In this example, we are adding more attributes for the CSPA type. The Class CSP4 must already have been defined in M.EC.
Adding Attributes
Command ===> Scroll ===> CSR
Keyword Value
________ ________________________________________________________________
CSPLOAD SYS1.CSPAD
MSLC ISPW.COMMON.MSL
------------------------------- Bottom of List -------------------------------
The above figure shows that the values for the two Extension Class attributes have been added. This will now be available in Code Pipeline exits when managing components for the type CSPA.
Use Export/Import
When defining Extension Data to the different Entities, remember that the Reference Data Export and Import feature is available. Using it can be an easy way to make mass changes to data, and it can be used to easily add the classes to multiple Entity instances.
Using Extension Data
Where can it be used?
Extension Data can be used in any Code Pipeline exit using the REXX programming language.
Retrieving Extension Data
A Code Pipeline call of the form:
WZZTSI("#refdataclass","GET","ExtensionClass")is made to populate ISPF variables that correspond to the Extension Class attributes.
The following REXX code gives an example of how to retrieve the Extension Data defined in the previous section (that is, Class CSP4 for the Component Type CSPA).
Retrieving Extension Data
MEMBTYPE="CSPA" /* key for component type get */
rc = WZZTSI("#CMPNTYP","GET","CSP4") /* call to get extension class */
If rc=0 Then Do
Say "CSPLOAD ="CSPLOAD
Say "MSLC ="MSLC
End
Else say "Error on Extension Get RC="rc
exit
Reference Data Calls
Knowledge of the Reference Data calls is required. These are described in Reference-Data-Calls.