Getting Started with SCLM: A Practical Guide to SCLM and SCLM Advanced Edition

Book description

This IBM Redbooks publication describes and documents a number of different aspects of the Software Configuration and Library Manager (SCLM).

Part 1 of the book focuses on setting up an SCLM project using commonly used languages such as COBOL and PL/I. Additionally, migration techniques are discussed for those customers considering migrating to SCLM from other vendor Software Configuration Management products.

Part 2 describes basic usage of SCLM functions such as Edit, Build, and Promote.

Part 3 goes a bit beyond the basics and looks at some of the newer functions that are being added to SCLM, along with writing user exits and setting up SCLM for debugging with IBM Debug Tool.

Parts 4, 5, and 6 concentrate on the SCLM Advanced Edition products such as Breeze, Enhanced Access Control, SCLM Developer Toolkit, and SCLM Administrator Toolkit. These sections describe what these products are and how they can be set up and used to aid your application development.

Please note that the additional material referenced in the text is not available from IBM.

Table of contents

  1. Notices
    1. Trademarks
  2. Preface
    1. The team that wrote this Redbooks publication
    2. Become a published author
    3. Comments welcome
  3. Part 1: Basic setup and migration
  4. Chapter 1: SCLM project setup
    1. 1.1: Roles addressed throughout the book
    2. 1.2: Overview of the SCLM project environment
    3. 1.3: Overview of sample project
      1. Steps to set up the sample project
      2. Understanding the sample project definition
    4. 1.4: Defining your hierarchy
      1. Rules governing SCLM project hierarchies
      2. Project hierarchy sample
      3. Establishing authorization codes
    5. 1.5: Choosing your SCLM types
      1. Deferred Data Set Allocation
    6. 1.6: Data set naming conventions
      1. Flexible naming of project partitioned data sets
    7. 1.7: Choosing your SCLM languages
      1. Modifying example language definitions
    8. 1.8: Project controls
      1. Data set naming conventions
      2. SCLM temporary data set allocation
      3. Member level locking
      4. Miscellaneous control options
      5. Common project control macros
    9. 1.9: Setting up your accounting and project data sets
      1. Creating the accounting data sets
      2. Creating the export data sets
      3. Creating the project partitioned data sets
      4. PDS versus PDSE considerations
      5. Some recommendations
    10. 1.10: Setting up your audit and versioning capability
      1. Audit and versioning capability: Overview
      2. Setting up the project definition for audit and versioning capability
      3. Creating the audit control data sets
      4. Creating the versioning partitioned data sets
      5. PDS versus PDSE considerations
    11. 1.11: Setting up the project for package backout
      1. Package Backout utility: Overview
      2. Package backout: Step-by-step instructions
      3. Package backout: Example project definition
    12. 1.12: Basic security considerations
      1. PROJDEFS data sets
      2. Project partitioned data sets
      3. Control data sets
    13. 1.13: Logon proc and FLMLIBS considerations
      1. SCLM batch considerations
      2. Preallocating ISPF temporary data sets to VIO
  5. Chapter 2: Defining languages translators for traditional compliers: Assembler, COBOL, and PL/I
    1. 2.1: Overview
    2. 2.2: Language definitions based upon samples
      1. Using ddnames and ddname substitution lists
      2. Enterprise COBOL (1/2)
      3. Enterprise COBOL (2/2)
      4. Enterprise COBOL with integrated CICS translator
      5. Enterprise COBOL with separate CICS precompile (1/2)
      6. Enterprise COBOL with separate CICS precompile (2/2)
      7. Enterprise PL/I (1/2)
      8. Enterprise PL/I (2/2)
      9. High Level Assembler (1/2)
      10. High Level Assembler (2/2)
      11. z/OS binder/linkage editor (1/2)
      12. z/OS binder/linkage editor (2/2)
      13. Summary
    3. 2.3: Writing build/copy processors
      1. Types of translators
      2. Developing new translators: Introduction
      3. Developing new translators: Example problem description
      4. Developing new translators: Example problem analysis
      5. Developing new translators: Example technical approach
      6. Developing new translators: Example source code
  6. Chapter 3: Writing DB2 translators and bind processing
    1. 3.1: Overview
      1. Bind control object (DB2 CLIST)
      2. Processing of DB2 SQL program in SCLM
    2. 3.2: Enabling DB2 support for your SCLM project
      1. Adding DB2-specific types
      2. Allocating project partitioned data sets for DB2 support
      3. Additional language definitions for DB2 support
      4. Tailoring languages for package bind and plan bind
      5. Tailoring project definition for DB2 support
      6. Creating an LEC architecture definition for program with SQL
      7. Creating an HL architecture definition to control link-edit and bind
      8. Creating generic and HL architecture definitions
      9. Creating a bind control member (DB2CLIST)
      10. Binding on different LPARs
      11. Summary
    3. 3.3: FLMCSPDB DB2 bind/free translator
      1. FLMCSPDB invocation parameters
    4. 3.4: Sample language definitions for DB2 support
      1. DB2 bind/free language translator
      2. DB2 bind/free output language translator
      3. Enterprise COBOL with DB2 and CICS
      4. Storing DB2 declarations in a different library from program includes
  7. Chapter 4: Migrating to SCLM
    1. 4.1: Principles of migration
    2. 4.2: Creating a migration plan
    3. 4.3: Creating alternate MIGRATE project definition
    4. 4.4: Production freeze versus delta migration
    5. 4.5: Separating your source code into extract datasets
      1. Determining source inventory and map to extract and SCLM datasets
      2. Removing and/or modifying proprietary library code
    6. 4.6: Copy exit versus JCL changes
    7. 4.7: Running the SCLM Migration Utility
    8. 4.8: ARCHDEF generation
      1. Creating member listings
      2. Creating ARCHDEFs
    9. 4.9: Cutover to SCLM
  8. Chapter 5: SCLM architecture definition considerations
    1. 5.1: Types of ARCHDEF members
      1. High-level (HL) ARCHDEF
      2. Link-edit control ARCHDEFs
      3. Compilation control architecture members
      4. Generic architecture members
    2. 5.2: Understanding the ARCHDEF language
      1. Rules for coding ARCHDEFs
      2. Common ARCHDEF keywords
      3. ARCHDEFs naming convention
      4. Creating model ARCHDEFs
  9. Part 2: Using SCLM
  10. Chapter 6: Using SCLM edit
    1. 6.1: Going into SCLM for the first time
    2. 6.2: SCLM edit
      1. Creating a new member in SCLM
      2. Editing an existing member in SCLM
      3. Dependency processing
      4. Additional options in SCLM edit
      5. ISPF edit / compare command
      6. Making SCLM edit work the way you want it to
  11. Chapter 7: Building members in SCLM
    1. 7.1: Building an individual source member
    2. 7.2: Creating and building an application architecture definition
    3. 7.3: Creating and building high level (HL) architecture definitions
    4. 7.4: Running out of space errors (B37 / E37)
    5. 7.5: Building and promoting by change code
      1. Summary of the building and promoting feature
      2. Building and promoting by change code warnings
  12. Chapter 8: Promoting up the hierarchy with SCLM
    1. 8.1: SCLM Promote
  13. Chapter 9: SCLM utilities
    1. 9.1: SCLM unit of work processing
      1. Creating your own options with UOW processing (1/2)
      2. Creating your own options with UOW processing (2/2)
    2. 9.2: SCLM audit and version utility processing
      1. SCLM version selection panel
      2. SCLM audit and version record
      3. SCLM version compare
      4. SCLM external compare
      5. SCLM version retrieve
      6. Viewing a version
      7. Viewing version history
      8. Audit reports
  14. Part 3: SCLM: Beyond the basics
  15. Chapter 10: Member level locking
    1. 10.1: Activating member level locking
    2. 10.2: Adding new SCLM administrator ids
    3. 10.3: Editing members when member level locking is activated
    4. 10.4: Transferring ownership
  16. Chapter 11: NOPROM function
    1. 11.1: Introduction
    2. 11.2: Setting a member as not being promotable
      1. Using the N line command in Library Utilities (Option 3.1) or Unit of Work (Option 3.11)
      2. NOPROM service
    3. 11.3: Process of not promoting a member; causes REBUILD
    4. 11.4: The process of not promoting a member; NOREBUILD
      1. SCLM project setup when not promoting with no rebuilding of build maps
      2. Build containing a not-promotable member (NOREBUILD)
      3. Promote containing a not-promotable member (NOREBUILD) from the same level containing the NOPROM member
      4. Viewing the not-promoted backup member
      5. Promote containing a not-promotable member (NOREBUILD) from a level not containing the NOPROM member
      6. Build containing a not-promotable member (NOREBUILD) at a level which does not contain the NOPROM member
      7. Build after promotion of the not-promotable member (NOREBUILD)
      8. Restricting the setting of not-promotable
  17. Chapter 12: SCLM user exit processing
    1. 12.1: Examples of user exits
    2. 12.2: SCLM exit call methods
    3. 12.3: Sample FLMCNTRL MACRO with calls to user exits
    4. 12.4: Components of an exit - parameters and exit files
      1. SCLM exit parameter passing
      2. Components of exits - parameter parsing
      3. Components of exits - exit file
    5. 12.5: SCLM exits during an edit
      1. SCLM exits during an edit - verify change code exit
      2. SCLM exits during an edit - save change code exit
      3. SCLM exits during an edit - change code verification exit
      4. Edit exits warning
    6. 12.6: SCLM build exits
      1. SCLM build exits - build initial exit
      2. SCLM build exits - build notify exit
      3. SCLM build exits - build notify exit - example of the common REXX
      4. SCLM build exits - build notify exit - example of a copy exit
    7. 12.7: SCLM promote exits
      1. SCLM promote exits - promote initial exit
      2. SCLM promote exits - promote verify exit
      3. SCLM promote exits - promote verify exit - example of common REXX
      4. SCLM promote exits - promote verify exit - example of a backup exit
      5. SCLM promote exits - promote copy exit
      6. SCLM promote exits - promote purge exit
      7. SCLM promote exits - promote purge exit - example of common REXX
      8. SCLM promote exits - promote purge exit - example of a deploy exit (1/2)
      9. SCLM promote exits - promote purge exit - example of a deploy exit (2/2)
    8. 12.8: SCLM delete exits
      1. SCLM delete exits - delete initial exit
      2. SCLM delete exits - delete initial exit - example
      3. SCLM delete exits - delete verify exit
      4. SCLM delete exits - delete verify exit - example
      5. SCLM delete exits - delete notify exit
      6. SCLM delete exits - delete notify exit - example
    9. 12.9: Audit and version delete
      1. SCLM audit and delete verify exit
      2. SCLM audit and delete notify exit
    10. 12.10: SCLM utility panel exit
    11. 12.11: Additional SCLM user exit example
      1. Example 1: BZZXXCDT user exit
      2. Example 2: bind external exit (1/2)
      3. Example 2: bind external exit (2/2)
  18. Chapter 13: Creating language definitions from JCL
    1. 13.1: Preparing to convert
    2. 13.2: Capabilities and restrictions
    3. 13.3: Converting JCL statements to SCLM macro statements
      1. Executing programs
      2. Conditional execution
      3. Sample JCL conversion (1/2)
      4. Sample JCL conversion (2/2)
  19. Chapter 14: Debugging and fault analysis with SCLM
    1. 14.1: Debug Tool
      1. Setting up your language translators
      2. Option 1: Debug side file under SCLM - default temporary name (1/2)
      3. Option 1: Debug side file under SCLM - default temporary name (2/2)
      4. Option 2: Debug side file under SCLM - correct side file name at compile time (1/3)
      5. Option 2: Debug side file under SCLM - correct side file name at compile time (2/3)
      6. Option 2: Debug side file under SCLM - correct side file name at compile time (3/3)
      7. Option 3: Debug side file under SCLM - correct side file name at each group
      8. Option 4: Debug side file created outside of SCLM control
      9. Using compile listing file instead of side file
      10. Invoking the debugger to run on your workstation using WebSphere debugger (1/2)
      11. Invoking the debugger to run on your workstation using WebSphere debugger (2/2)
    2. 14.2: Fault Analyzer
      1. Telling Fault Analyzer where to find the side file
      2. Using an IDILANGX step in your SCLM translator
    3. 14.3: Using debug translators
    4. 14.4: Conclusions
  20. Part 4: SCLM: Advanced topics
  21. Chapter 15: Breeze for SCLM - installation, setup, and use
    1. 15.1: SCLM Advanced Edition overview
    2. 15.2: Breeze introduction
    3. 15.3: Breeze components
    4. 15.4: Breeze installation
      1. Breeze installation tasks
    5. 15.5: Defining approver records
      1. Defining inventory locations - concepts
      2. Defining inventory junction records - JCL
      3. Defining approvers and approver groups - concepts
      4. Defining approver groups - JCL
      5. Defining approvers - JCL
      6. Example of JCL to define all three types
      7. Defining watch records
    6. 15.6: Breeze and the SCLM promote process
      1. Promotions without Breeze
      2. Promotions with Breeze
      3. Promotion with Breeze: Step-by-step procedure
      4. Requesting approval to promote the package
      5. Voting on the package
      6. Promoting the approved package
    7. 15.7: Viewing and voting on packages using the Breeze Web interface
      1. Selecting a package for viewing or voting
      2. Filtering packages from the list
      3. Voting on a package
      4. How voting results reaches approved or vetoed status
    8. 15.8: Viewing package information
      1. Summary tab
      2. Contents tab
      3. Log tab
      4. Collisions tab
      5. Ballot Box tab
      6. Notes tab
    9. 15.9: Breeze - other utility jobs
      1. Breeze sweep job
      2. EAC and Breeze
  22. Chapter 16: Enhanced Access Control: Bridging the gap - SCLM to RACF
    1. 16.1: What happens when EAC is not used
    2. 16.2: EAC definitions
      1. Profiles
      2. Applications
      3. Understanding the relationship between RACF and EAC
    3. 16.3: Defining a sample access strategy for an SCLM project
      1. Creating rules for development
      2. Creating rules for change control team
      3. Loading the new rules into memory
      4. Checking access
    4. 16.4: Additional considerations
      1. Violation reason code 10
      2. Breeze and EAC
      3. Using multiple rule files
      4. Using the help from the violation panel
  23. Part 5: SCLM Advanced Edition: Developing with the SCLM Developer Toolkit
  24. Chapter 17: Merge Tool
    1. 17.1: Merge Tool usage out of the box
      1. Using Merge Tool to generate work and merge files
      2. Adding merge file back into SCLM
    2. 17.2: Integrating the Merge Tool with SCLM
      1. Integrated Merge Tool in action
      2. Explanation of the sample code to perform the function
  25. Chapter 18: Open Systems basics
    1. 18.1: What is the z/OS UNIX file system?
      1. The IBM implementation of UNIX on z/OS
      2. Basic UNIX concepts
      3. z/OS UNIX security
      4. Utilizing z/OS UNIX
      5. Guidelines for installing products into the z/OS UNIX file system
    2. 18.2: What is Java? What is J2EE?
    3. 18.3: What are Eclipse, Rational Application Developer, and WebSphere Developer for System z?
      1. Workbench basics
      2. Perspectives, views, and editors (1/2)
      3. Perspectives, views, and editors (2/2)
  26. Chapter 19: SCLM Developer Toolkit configuration
    1. 19.1: Overview
    2. 19.2: Setting up SCLM Developer Toolkit and your SCLM projects (Administrator task)
      1. ISPF.conf
      2. TRANSLATE.conf
      3. Site and project configuration files
    3. 19.3: Setting up your IDE environment (user task) (1/2)
    4. 19.3: Setting up your IDE environment (user task) (2/2)
  27. Chapter 20: SCLM Developer Toolkit for mainframe development
    1. 20.1: Working with the SCLM explorer view
      1. Before you begin
      2. Connecting to z/OS
      3. Populating the explorer view (1/2)
      4. Populating the explorer view (2/2)
      5. Editing members
      6. Building members
      7. Promoting members
      8. Configuring SCLM Developer Toolkit for Breeze use
      9. Running database contents reports (1/2)
      10. Running database contents reports (2/2)
      11. Audit and versioning options (1/2)
      12. Audit and versioning options (2/2)
      13. Adding new members to SCLM (1/2)
      14. Adding new members to SCLM (2/2)
    2. 20.2: Working with workstation files in a mainframe environment
    3. 20.3: Using the architecture definition wizard
    4. 20.4: Working with the SCLM IDE View (1/3)
    5. 20.4: Working with the SCLM IDE View (2/3)
    6. 20.4: Working with the SCLM IDE View (3/3)
  28. Chapter 21: SCLM Developer Toolkit for Java Applications
    1. 21.1: Overview
    2. 21.2: Setting up SCLM Developer Toolkit and your SCLM projects
      1. Java/J2EE language definitions
      2. Java/J2EE type requirements
    3. 21.3: Setting up your IDE environment
    4. 21.4: Working with the IDE view (Eclipse projects)
    5. 21.5: Usage scenarios: End-to-end usage scenario of a typical Java application development lifecycle
      1. Sample Java project
      2. Migrating projects to an SCLM repository (1/2)
      3. Migrating projects to an SCLM repository (2/2)
      4. Day-to-day activities by a single user (1/2)
      5. Day-to-day activities by a single user (2/2)
      6. Using DT in a team environment
  29. Chapter 22: Deployment with SCLM Developer Toolkit
    1. 22.1: Types of deployment
      1. SCLM to z/OS USS
      2. SCLM to WebSphere Application Server
      3. Custom deployment
    2. 22.2: Deployment in SCLM Developer Toolkit
      1. Scripting with XML
      2. Running an existing script
      3. Creating a new script
      4. Naming your script
      5. Running deployment in batch mode
      6. Managing deployment in an SCLM hierarchy
      7. Group tags
      8. Deployment properties group
    3. 22.3: Usage scenarios: Deployment in action
      1. Scenario 1: SCLM to z/OS USS deployment (1/2)
      2. Scenario 1: SCLM to z/OS USS deployment (2/2)
      3. Scenario 2: SCLM to WebSphere Application Server deployment (1/2)
      4. Scenario 2: SCLM to WebSphere Application Server deployment (2/2)
  30. Part 6: SCLM Administrator Toolkit
  31. Chapter 23: IBM SCLM Administrator Toolkit
    1. 23.1: What is the Administrator Toolkit?
    2. 23.2: Key components of the Administrator Toolkit
    3. 23.3: Terminology used in the Administrator Toolkit
    4. 23.4: Using the workstation-based interface
      1. Configuring the workstation-based client
      2. Listing projects in the project filter
      3. Adding a project filter to a host connection
      4. Administering a project using the graphical user interface
      5. Creating a new project on the client by cloning an existing one
    5. 23.5: Using the ISPF-based interface
      1. Listing projects in the ISPF panels
      2. Navigating through the ISPF panels
      3. Administering a project in the ISPF-based user interface
      4. Creating a new project on the host by cloning an existing one
    6. 23.6: For more information
  32. Chapter 24: Introduction to the IBM SCLM Administrator Toolkit
    1. 24.1: Who should use this product and why
      1. Two user interfaces
    2. 24.2: Project Editor
      1. Specifying project settings and control data sets
      2. Specifying data set types
      3. Specifying groups
      4. Specifying group and type data sets
      5. Specifying language definitions
      6. Specifying NOPROM service
      7. Viewing the refactor tab
      8. Specifying user exits
      9. Viewing the source tab
    3. 24.3: The Language Definition Wizard (1/3)
    4. 24.3: The Language Definition Wizard (2/3)
    5. 24.3: The Language Definition Wizard (3/3)
    6. 24.4: The Clone Project Utility
    7. 24.5: The Migration and Remote Migration Wizard
      1. Migration Wizard for host-based artifacts
      2. Remote Migration Wizard for workstation-based artifacts (1/2)
      3. Remote Migration Wizard for workstation-based artifacts (2/2)
    8. 24.6: The Architecture Definition Wizard
      1. Creating an ARCHDEF from a load module
      2. Creating an ARCHDEF from JCL
      3. Creating an ARCHDEF from scratch
    9. 24.7: The EAC Manager and RACF data set profile feature
      1. The EAC Manager node
      2. The RACF data set profile node (1/2)
      3. The RACF data set profile node (2/2)
  33. Chapter 25: Beyond the basics: A case study
    1. 25.1: Cloning an existing project
    2. 25.2: Editing the new project
      1. Changing project definition and control information
      2. Adding a new project group
      3. Adding new Group/Type data sets
      4. Changing the language definitions
      5. Changing the user exit information
      6. Building the project
    3. 25.3: Migrating artifacts into the new project (1/2)
    4. 25.3: Migrating artifacts into the new project (2/2)
    5. 25.4: Creating architecture definitions for the new artifacts
  34. Part 7: Appendixes
  35. Appendix A: Chapter 1 listings (1/5)
  36. Appendix A: Chapter 1 listings (2/5)
  37. Appendix A: Chapter 1 listings (3/5)
  38. Appendix A: Chapter 1 listings (4/5)
  39. Appendix A: Chapter 1 listings (5/5)
  40. Appendix B: Chapter 2 listings (1/3)
  41. Appendix B: Chapter 2 listings (2/3)
  42. Appendix B: Chapter 2 listings (3/3)
  43. Appendix C: Chapter 3 listings
    1. Common bind exec example
    2. Example DB2CLIST language definition
    3. Example DB2OUT language definition
    4. Multi-step version of COBOL with CICS and DB2 language definition
    5. Single-step version of COBOL with CICS and DB2 language definition
    6. PLI with DB2 language definition
  44. Appendix D: Chapter 13 listings (1/2)
  45. Appendix D: Chapter 13 listings (2/2)
  46. Appendix E: DDname substitution lists
    1. HLASM, COBOL, PL/I and DB2 DDname substitutions
    2. CICS, Binder, DFSMS utilities, C/C++ and PL/X DDname substitutions
  47. Appendix F: Additional material
    1. Locating the Web material
    2. Using the Web material
      1. System requirements for downloading the Web material
      2. How to use the Web material
  48. Related publications
    1. IBM Redbooks publications
    2. Other publications
    3. Online resources
    4. How to get IBM Redbooks publications
    5. Help from IBM
  49. Index (1/4)
  50. Index (2/4)
  51. Index (3/4)
  52. Index (4/4)
  53. Back cover

Product information

  • Title: Getting Started with SCLM: A Practical Guide to SCLM and SCLM Advanced Edition
  • Author(s): Joe DeCarlo, Peter Eck, Liam Doherty, Jyotindra Mehta, Kenichi Yoshimura, Ben Horwood, Jennifer Nelson
  • Release date: September 2007
  • Publisher(s): IBM Redbooks
  • ISBN: None