Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
User Guide
w w w . m k s . c o m
MKS Implementer
User Guide
SIU5.3-020331
Table of Contents
2 Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
MKS Issue Tracking Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Using DesignTracker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Using Integrity Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Using Integrity Manager and DesignTracker . . . . . . . . . . . . . . . 10
Issue Database Considerations and Assumptions . . . . . . . . . . . 11
Starting Implementer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Menu Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Overview of Implementer Features . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Integration With Integrity Manager . . . . . . . . . . . . . . . . . . . . . . . 15
The Workbench . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Technology-based Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Change Control Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Developer Productivity Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Distribution Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Test Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Version Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Inquiries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Release Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Third-Party Vendor Integration . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Additional Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
What’s New in This Release? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Documentation Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Integrity Manager Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Technology-based Enhancements . . . . . . . . . . . . . . . . . . . . . . . . 32
User Interface Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Vendor Integration Enhancements . . . . . . . . . . . . . . . . . . . . . . . 36
User Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
System Administrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
i
Table of Contents
Project Leader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Developer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Tester . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Understanding Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Environment Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Source Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Object Owners and Authorities . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Administrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Library List Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Defaults for Promotion Requests . . . . . . . . . . . . . . . . . . . . . . . . . 44
Remote Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Environment Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Object Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Environment Inventory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Environment Integrity Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Application Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
ii u s e r g u i d e
Table of Contents
4 Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Creating Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Creating Projects From Implementer . . . . . . . . . . . . . . . . . . . . . 104
Creating Projects From ProjectMaster . . . . . . . . . . . . . . . . . . . . 106
Setting Up a Default Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Project Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Project Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Project Management Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Time Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Advanced Scheduling Features . . . . . . . . . . . . . . . . . . . . . . . . . 109
Reporting Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
iii
Table of Contents
iv u s e r g u i d e
Table of Contents
v
Table of Contents
vi u s e r g u i d e
Table of Contents
vii
Table of Contents
viii u s e r g u i d e
Table of Contents
ix
Table of Contents
B Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
x u s e r g u i d e
Before You Begin
1
I mplementer is the leading change management solution for the
iSeries 400 available on the market today. It provides developers and IT
managers with a feature-rich and easy to use environment that expedites
development by managing and streamlining critical development
processes.
document conventions
getting help
1
Before You Begin
NOTE
This guide is useful as a source of conceptual, user-related information. The
Implementer System Administrator Guide provides the information that system
administrators use on a daily basis.
OS/400 security
OS/400 communications
Command line
NOTE
Throughout this guide, any references to the IBM iSeries 400 apply also to the
IBM AS/400.
2 u s e r g u i d e
What’s Inside This Guide
Chapter Description
Chapter 5: Performing Explains the two checkout methods, and how to check
Check Out out members/objects. Describes the various check out
related options.
Chapter 8: Handling Explains how to archive and roll back to prior member/
Emergency Situations object versions. Describes how to perform emergency
check out and emergency create request functions.
3
Before You Begin
Chapter Description
Chapter 10: Integrating Discusses the Implementer support for other vendor
With Other Vendor software products. Explains actions you must take to
Products ensure maximum integration. This chapter is divided
into two sections to reflect the type of software
products supported, Application and CASE products,
and Utility products.
Document Conventions
Throughout this guide, the following typographical conventions are used.
NOTE
Notes containing important information are bordered by lines on the top and
bottom.
4 u s e r g u i d e
Getting Help
Getting Help
MKS Customer Support is ready to assist you with product solutions. For
assistance, you can choose the online system or telephone a Customer
Support Representative.
For online support, browse to www.mks.com and follow the links to the
Support area. There you will find Frequently Asked Questions (FAQs),
information about current releases, solution downloads, and Knowledge
Base articles that can help you to quickly find the answers you need.
E-mail support@mks.com
5
Before You Begin
6 u s e r g u i d e
Getting Started
2
T his guide is for MIS professionals who implement change management
or perform change management tasks. This chapter provides an overview
of Implementer.
system requirements
starting Implementer
user roles
understanding environments
7
Getting Started
System Requirements
The minimum system requirement for this Implementer release is a RISC-
based processor running OS/400 V4R4 or greater.
Using DesignTracker, one of the MKS iSeries Solution products, is delivered with
Implementer. DesignTracker resides on the iSeries 400 and provides native
DesignTracker workstation-based problem management capabilities. It manages issues
and workflow for data processing services (service requests) and software
development projects (design requests) on the iSeries 400. When you install
Implementer, DesignTracker is the default issue-tracking system.
8 u s e r g u i d e
MKS Issue Tracking Solutions
NOTE
Integrity Manager is a separately licensed component of the MKS Integrity
Solution.
Using Integrity Integrity Manager is the best of breed enterprise choice for highly
customizable process and workflow management. Any simple defect-
Manager tracking tool can record the status of a change request, but it does not
monitor all the components that need to be modified, or the variety of tasks
that need to be performed to resolve the issue. Integrity Manager extends
the concept of defect tracking to include support for managing
components, tasks, and workflow. This is particularly important when
your organization has implemented a Software Configuration
Management (SCM) process for the proposal, review, and approval of all
software changes.
helps your development team capture and track all data related to
change in your software system
provides metrics for your data including queries, reports, and charts
9
Getting Started
Using Integrity For organizations that require DesignTracker—for example, if you use
Implementer’s release management feature or are using SupportCenter or
Manager and ProjectMaster—but you also have a need for Windows-based issue
DesignTracker tracking, this solution works well.
Issue types capture and track a specific change request, defect, problem,
solution, or task. For example, one issue type could record bugs and
deficiencies in design. Another issue type could be used to request design
changes that fix problems, or propose enhancements or new functionality
for your product.
10 u s e r g u i d e
MKS Issue Tracking Solutions
Integrity Manager issue is updated with the new design request number.
You can elect to post all issues or a subset of issues based on rules that you
define.
Issue Database Throughout this manual, the terms “issue” and “design request” or
“DR” are interchangeable to the extent that any references to issues
Considerations assumes that Integrity Manager is installed and configured as your
and issue tracking system, and any references to design requests (or DRs)
and Service Requests assumes that DesignTracker is installed and
Assumptions configured as your issue tracking system.
11
Getting Started
Starting Implementer
To start Implementer, use the Start Implementer (STRIM) command.
The next section provides a listing of the command parameters that can be
used with the STRIM and STRCM commands.
Menu Access While My Workbench provides access to the day-to-day tasks performed
by the developer, the menus allow access to all capabilities of Implementer.
In addition, each menu option can be accessed directly by the STRIM
command.
Menu access options are described in this guide when they are used for
specific tasks.
You display the Implementer menu by using the STRIM command. The
menu contains the following sections spread across multiple panels:
implementation
reports
setup functions
utilities
commands
12 u s e r g u i d e
Starting Implementer
Environments *WRKENV
My Workbench *WRKBCH
Objects *WRKOBJ
13
Getting Started
Users *WRKUSR
distribution of software
project tracking
release control
release deployment
At the heart of Implementer is the Developer’s Workbench. From it, you
can perform all the essential development tasks such as check in, check out,
editing, compiling, promotion, and deployment, as well as resolve conflicts
associated with parallel development. The result is that you spend more
time doing what you enjoy—developing software.
Managers are able to view all requests and projects they are responsible for
from the same Workbench. Implementer integrates all project information
into the change management process. At the same time, application paths
(either project-based or environment-based) ensure that object movement
between environments occurs as defined, without requiring the constant
14 u s e r g u i d e
Overview of Implementer Features
Integration With Managers can assign, manage, and track issues using MKS Integrity
Manager, MKS’s workflow management and issue tracking solution for
Integrity NT and UNIX. Using either the Windows GUI or Web interface, Integrity
Manager Manager’s powerful and customizable workflow capabilities extend
control over software development processes, regardless of the platform.
Plus you can have a single repository of all software changes made
throughout the organization.
15
Getting Started
NOTE
Integrity Manager is a separately licensed component of the MKS Integrity
Solution. All functionality referencing MKS Integrity Manager requires
Integrity Manager be installed and configured as your issue tracking system
within Implementer.
The Workbench The Workbench and the Work with Objects function provide ease of use
for anyone involved in the change management process. From the
Workbench, you can initiate and manage any task relating to design
requests or projects. Developers get information in the form most useful to
them. Managers use the Workbench to view all the changes for design
requests and/or projects that are their responsibility.
The features and benefits available from My Workbench allow you to:
Edit and perform development tasks using Source Edit Utility (SEU),
Screen Design Aid (SDA), Report Layout Utility (RLU), Work with
Member Programming Development Manager (WRKMBRPDM), and
the command line.
16 u s e r g u i d e
Overview of Implementer Features
The F13 Repeat option allows you to repeat an option through the
Workbench list.
17
Getting Started
18 u s e r g u i d e
Overview of Implementer Features
Change Control Implementer is feature rich with change control features, as described next.
Concurrent Development
Implementer ensures by default that two people cannot accidentally check
out the same source member. If you want to perform concurrent
development, Implementer manages the development to ensure you track
all changes in an orderly fashion. Concurrent development allows
automatic merging of multiple versions of source member’s back into one
source member. This replaces the need to wait for one user to complete
work on a change before the next person begins to work on changes.
Security
Implementer ensures selected users control changes to production,
development, and test libraries. You can tailor Implementer to the level of
control you want. You can designate, by user, the menu options that can be
used, the environments (and functions within each environment) that can
be used, and the defaults that can be overridden.
19
Getting Started
With object versioning, each object, lock record, and repository record is
stamped with a version number at predetermined pre-defined stages
within the development cycle. With DR stamping, each object is stamped
with the design request number that the object was checked out for. When
multiple locks exist with multiple DRs, the object is stamped with the
primary DR associated with the initial lock. In addition, the actual
description of the object is changed by updating the APAR ID attribute
with the revision number, and the PTF Number attribute with the DR
number. This can be viewed by using the Display Object Description
(DSPOBJD) command.
Related Objects
When you check out primary objects or promote changes, you can
optionally include other objects affected by changes to these objects. For
example, for any changed logical file you can include the related programs
for check out or promotion.
20 u s e r g u i d e
Overview of Implementer Features
21
Getting Started
User-Defined Options
If you use PDM (Programming Development Manager), you can set up
Implementer to use PDM user-defined options for check out and
promotion. If you use PathFinder or ABSTRACT, you can check out
members (and their related members/objects) through the PathFinder or
ABSTRACT menus. You can continue development once you have
checked out the member.
Lock Identification
The Implementer check out feature saves you time locating the user who
last changed an object because each member/object has a lock attached by
the user who performed the check out.
22 u s e r g u i d e
Overview of Implementer Features
single environment
Source location.
Whether source or objects (or both) are only distributed to the remote
(remote initiated move) or moved to a remote production library (host
initiated move) or both.
You can define the environment definition during the initial set up of
Implementer. As your requirements change, you can add new definitions
or change existing definitions.
23
Getting Started
Test Tools Implementer supports your testing and quality assurance efforts.
These environments can exist on either the local or the remote systems.
If necessary, the tester can easily reject the change from quality assurance
and check the member/object back out to the specific developer and
environment or library.
Version Control Implementer provides several different version control features. Using
version control, you can:
Compare all object versions in your environments. You can view all
environments that currently contain a specific member/object to
ensure they all contain the identical object.
24 u s e r g u i d e
Overview of Implementer Features
Reporting Implementer provides both transaction reports and master file reports,
which allow you to review your change management process.
Transaction Reports
The following reports are useful to analyze change management activities:
Activity Report
This report can be used to analyze the status of all projects and
environments. You can enter more than a dozen options to control
printed information. This report is available from the Implementer
Menu using option 31.
Lock Report
This report lists source members and/or objects that are currently
checked out. For object revisions and IFS management, the report
includes revisions and IFS file name. You can print the report in six
different orders with a variety of selection criteria. Lock history is
available using the Activity Report function. This report is available
from the Implementer Menu using option 32.
This report lists source members and objects with ongoing concurrent
development. For IFS objects, the IFS file name prints for each IFS
object that has an IFS name defined. You can print information on
locks, resolution detail, and historical concurrent development. This
report is available from the Implementer Menu using option 33.
Request Report
This report includes all information about the promotion request and
automatically prints when a request is created. You can optionally
print the report for all requests or a range of requests; and print
requests for all users or a specific user. The report includes
environment and member/object information, and includes revision
numbers if versioning is enabled. The report also includes physical file
optimization values, and related requests if a Implementer is enabled
to maintain cross environment related objects. This report is available
from the Implementer Menu using option 35.
25
Getting Started
This report lists all objects and source members that are currently in
the archive library. This report is available from the Implementer
Menu using option 34.
Environment Report
This report prints information about object codes. You can include all
object codes or only active object codes. You can specify the sorting
sequence of the report. For IFS objects, the IFS file extension prints for
each object code that has a special characteristic of PCFILE when the
object code and extension are not the same. This report is available
from the Implementer Menu using option 38.
Inquiries A number of inquires and “Work with” functions are provided to display
information from the Implementer database. All inquiries are interactive
programs.
26 u s e r g u i d e
Overview of Implementer Features
In addition to the inquiry functions listed next, there are many “Work
with” functions that provide inquiry features.
My Workbench
Request Inquiry
The Job Log Inquiry function displays job logs saved by promotion
steps. Depending on the environment definition, you can retain job
logs for all batch promotion steps, or just for failed steps.
The Work with Projects function displays requests and lock history for
a project.
27
Getting Started
Release Control
Release Deployment
AS/SET
Implementer manages AS/SET definitions and generated traditional
objects. Support for AS/SET fields, files, audit trails, action subroutine
definitions, program definitions, and data models are provided.
LANSA
28 u s e r g u i d e
Overview of Implementer Features
J.D. Edwards
NOTE
For more information about integrating Implementer with these and many
other products, see “Integrating With Other Vendor Products” on page 327.
Impact Analysis
Implementer allows you to determine impact analysis on specific
members/objects at check out or when promoting the completed changes.
Implementer determines the impact on specific objects by use of it’s own
native support, PathFinder, or ABSTRACT.
Gantt charts provide online visibility to the status of all resource and
project changes.
29
Getting Started
You can assign all change management tasks to a project, and enter and
track the projects with Implementer. If you use DesignTracker and
ProjectMaster, you have extensive project management features available
such as time entry, quantitative project status, scheduling of tasks, and
auto scheduling of tasks and resources.
Subset SRs and DRs based on nearly any criteria (including Boolean
logic) providing unlimited flexibility. Subsets can be saved for reuse.
IMPORTANT
If you have made customized changes to the Implementer source file
QSAMPLE, after upgrading to this release you need to recompile programs
MWI0891 and MWI0891P to reflect changes in Implementer 5.3.
30 u s e r g u i d e
What’s New in This Release?
NOTE
If you need additional copies of printed manuals, they are available for a
nominal fee. For more information, contact Customer Support.
For customers that also have MKS Integrity Solution products, the new
format provides a familiar consistency with each product manual—
regardless of the product or platform—making it easier to install, learn,
and use all MKS products.
31
Getting Started
32 u s e r g u i d e
What’s New in This Release?
NOTE
You do not need to perform any set up functions in Implementer for the
enhanced ILE support.
In Work with Users, the Remove obj in from lib/env and Remove Src in
from lib/env fields were renamed to Remove obj in from library and
Remove src in from library, respectively. In addition, moved to the first
panel under User Controls are the fields that control a user’s ability to
override the remove values in promotion; the field names are Override
remove src and Override remove obj.
33
Getting Started
For user profiles, if all user profiles are defined as Remove=Y, the
Remove in from lib/env field is set to 1=always for all
environments. However, if at least one user profile is defined as
Remove=N, the field is set to 2=never for all environments.
34 u s e r g u i d e
What’s New in This Release?
Menu Enhancements
The Implementer Menu has the following new options:
The Archive to Tape menu options are now accessible from the
Implementer main menu. Previously, this menu was accessible only
from a command option.
Use these options to work with products, release types, release status,
and access the Release Deployment Menu.
IMPORTANT
If you are using release management, after upgrading to Implementer
release 5.3, any packages existing at the time of the upgrade must be re-
prepared after the upgrade. For each package, from Work with Packages, run
option 18=Upgrade Package to Current MKSIM Host Version.
35
Getting Started
Implementer allows you to retain the existing value in a target library data
area upon promotion to the target library.
The DTAARAR object code retains the existing value in the target library
during promotion. It has an object type of *DTAARA and a special
characteristic of *DTA. The special characteristic is significant—it controls
whether the existing data area value is retained.
36 u s e r g u i d e
What’s New in This Release?
NOTE
Implementer release 5.3 corresponds to COOL:Xtras Change Management
version 7.0, when used with the separately licensed product Implementer
Adapter for COOL:Xtras CM. The Implementer Adapter for COOL:Xtras CM
provides change control for COOL:2E developed applications and traditionally
developed (3GL) applications.
Hawkeye Integration
This release of Implementer provides improvements with Hawkeye
related object information. When adding related objects to a promotion
request using Implementer or Pathfinder as the source of related objects,
modules are properly added to the request for the effected relationship
references.
CODE/400 Integration
Implementer provides integration into CODE/400 to offer a Windows-
based version of the classic host tools SEU, SDA, RLU, and PDM. This
integration provides seamless access to your iSeries source and objects, and
offers efficient development of your ILE RPG, ILE COBOL, ILE CL, ILE C,
ILE C++, database description specifications (DDS), and Java applications.
For more information, see the Chapter 10 of the Implementer User Guide.
37
Getting Started
User Roles
This section describes the typical tasks that users in different roles can
perform with Implementer. You can have individuals, particularly in
smaller organizations that fill multiple roles. You can also have individuals
that perform only part of a particular user’s role. With Implementer, you
have the ability to tailor the exact role each individual fulfills. These roles
are:
System Administrator
Project Leader
Developer
Tester
System The system administrator has the highest level of authority within
Implementer to maintain the Implementer control parameters.
Administrator Implementer initially delivers user profiles SDMDEMO, MWIPROD, and
QSECOFR with security administrator rights. You should define one or
two other user profiles to serve as system administrators and use them
instead of the default user profiles to limit the use of these high security
profiles.
Use this role during initial setup either to install new applications in
production, or to put in required user changes.
NOTE
For information on how to perform all of these activities, and more, see the
Implementer System Administrator Guide.
38 u s e r g u i d e
User Roles
Project Leader The project leader has the next descending level of authority to maintain
and monitor change activity. This individual might be a senior developer,
analyst, supervisor, project leader, or manager in your organization.
create projects
Tester The tester role can exist separately from the developer or project leader.
You can have different types of testers. For example, you can have testers
at a system level and different testers for a complete integration test. They
would each be in control of different environments representing the
different levels of testing.
39
Getting Started
Understanding Environments
An Implementer environment defines rules and conventions used to
control a library or set of libraries. An example of a set of libraries in an
environment is a source library, a database file library, and a program
library.
Environment The types of environments you define are based on how you plan to use
Implementer. Support for three different environment types is provided:
Types production, test, and development, with an unlimited number of
environments being supported. Every organization defines production
environments. How development and test environments are defined varies
from company to company.
Production Environments
The production environment type (abbreviated *PRD) defines libraries that
contain the final production member/object versions. For example,
environments that are *PRD environments usually use program and/or
database libraries that are in the end user’s library list.
Test Environments
The test environment type (abbreviated *QAC) defines libraries that are
not the final promotion destination. Test environments are known by a
variety of names such as system test, integration test, acceptance test,
verification, and user test. For a given application, you can use no test
environments, one test environment, or multiple test environments. As a
practical consideration, you could consider limiting the number of
environments to four. The number of test environments you choose to use
is a function of many variables, including the mission-critical nature of the
software, number of current problems, experience level of staff, audit
requirements, and user community requirements.
40 u s e r g u i d e
Understanding Environments
You normally check out from production environments. However, you can
also check out from a test environment. One reason would be to correct a
problem that is detected during testing. When you check out from a test
environment, the item being checked out must originally be checked out
from a production environment.
Development Environments
The development environment type (abbreviated *TST) defines libraries
that are used and changed by the developer. It is necessary for these
libraries to be controlled by Implementer because members/objects must
be checked out using the Implementer check out function before they can
be promoted.
Libraries Four default libraries can be defined in Implementer. The first three are the
program library, database files library, and source library.
Source members are placed into the default source library. Database files,
including SQL tables and views, physical files, logical files, and data area
objects are placed in the default database files library. All other objects are
placed into the default program library.
41
Getting Started
Both the source and object library values can be overridden for each
allowed object code in the environment. This means you could have a
different source library and different object library for every type of object
in this environment. There are several reasons why you might override the
object codes:
Data areas are placed in the program library, not the database files
library.
The fourth default library is the archive library, which you define if
archiving is specified for the environment. It cannot be overridden for each
object code. The archive library cannot be used for current objects for this
environment. Different environments can use the same archive library or
they can use different archive libraries.
Source Files The source files used for the environment are established by defaults from
the object codes defined for this environment. The source file used for a
particular type of object can be overridden for the environment on the
Work with Environments, Object Code Overrides panel.
Object Owners The Implementer environments control the ownership and authorities of
objects. This allows a test environment to be secured differently than a
and Authorities production environment.
The owner and authority of objects are changed during the Reset
Authorities function and the move step of a promotion. The move step
only changes the objects on the promotion request, whereas the Reset
Authorities function changes all objects for that environment, if required.
Defining Owners
Owners can be specified for both libraries and objects. Different owners
can be specified for the program library, database library, and source
library. Different owners can also be specified for the different types of
objects: program objects, database file objects, and source files.
42 u s e r g u i d e
Understanding Environments
Defining Authorities
Authority information can be specified for the environment on the Work
with Environments, Object Authorities panel. This panel allows you to set
specific authorities for an unlimited number of user profiles defined in
Work with Users.
You also can designate an authorization list on this panel.
When you define authorities, you define the authority established for all
objects promoted to this environment. By default, Implementer sets all
objects to *PUBLIC *EXCLUDE. You should review the authority options
each time you create a new environment.
43
Getting Started
Administrator The administrator is the user profile that owns and controls a specific
environment and has move capabilities to that environment. A user profile
must have Move Request authority to be an administrator. The
administrator can have additional capabilities to promote and archive. To
modify or display these capabilities, select environment capabilities for the
administrator’s profile in Work with Users. Multiple users can be granted
administrative rights to an environment through Work with User
Capabilities.
Library List The environment library list is used in three ways. Primarily, it is used to
compile source members during promotion and during development from
Considerations the Workbench. The third use is to issue special commands of a promotion
request. (When using special commands, keep in mind they cannot be used
to change the environment library list.)
If the environment library list is incorrectly defined, the compile step often
fails or, even worse, compilation occurs against the wrong objects,
resulting in level checks. You must be certain this list has the correct
libraries needed for compilation. This is a relatively common error during
the initial use of a new environment.
Defaults for The environment is used to define a set of rules and defaults for the
promotion requests that target the environment. At request creation, you
Promotion can elect to:
Requests recompile the source members
You can override these defaults for an individual request if you have set up
override capabilities for the environment.
44 u s e r g u i d e
Understanding Environments
Remote If you define remote environments, you must set up additional remote
specific values. This information is discussed in detail in “Performing
Considerations Distributions” on page 271.
Object Codes Object codes are defined at the system level but can be changed at the
environment level. The source file can be overridden from the value
defined for the object code for source-based objects. The object library and
source library can also be specified for an individual object code. The
overrides change the environment defaults, not the object code defaults.
You can disable a particular object code for an environment. For example,
this is useful when you use database-only environments, or to ensure that
certain types of programming languages are not used for particular
environments, such as System/38 or System/36 environment languages.
Environment Implementer maintains an inventory of all members and objects for each
environment. This allows you to view what currently resides in the
Inventory environment libraries.
The inventory is created with the Build List function. This function can be
run for traditional objects or IFS objects only, or all objects. After the initial
build, the inventory is automatically updated during promotion in the
move step, or if you check out an object from a production environment.
The Check Library Integrity Report, which generates after the analysis
completes, highlights problems that may exist in your environment or
library, making it helpful for problem determination and resolution. For
example, such problems can include: Programs that adopt security officer
authority, source without corresponding objects, objects without
45
Getting Started
In both check out and promotion, the next location defaults based on the
current location. This allows a developer to simply check out a member/
object from the preferred production environment to a default
development location specified by the path. Developers do not have to
remember specific environment information, eliminating the result of an
incorrect check out. You can either restrict access so members/objects
cannot move outside this flow, or give individual users the capability to
override paths.
(Automatic
copy from)
Related Environment
Production
46 u s e r g u i d e
Understanding Environments
47
Getting Started
48 u s e r g u i d e
Using the Workbench for
Development Activities 3
T his chapter provides an overview of using the Implementer Workbench
for development activities and covers the following topics:
command prompting
editing members
promoting
inquiry
working with locks
49
Using the Workbench for Development Activities
50 u s e r g u i d e
Understanding the Workbench
compile, with the knowledge and assurance that all of the compilation
requirements (for example, library list, user ownership, authorities,
and overrides) for each software item checked out to the Workbench,
are automatically applied
Development Cycle
Check Out
Promotion Promotion
Throughout the development cycle, a developer can simply check out and
promote member/objects, with Implementer knowing exactly which
environment or library to go to next. Developers do not have to remember
member/object details and library information.
51
Using the Workbench for Development Activities
CHANG E
T EST (S EU, S DA, RLU,
(W RKMB RPDM ,
W RKM BRP DM)
Com m and Li ne) COM PILE
(O pti on 14= Com pil e)
Identifying You can easily identify work by the method you choose. Flexibility is the
key that allows you to filter down to your work. The options on the
Work Workbench include:
Projects: Prompt a list of projects and select the one you are
responsible for, or create a new one.
52 u s e r g u i d e
Using the Workbench
Implementer retains the Issue and project filters you select to define your
work between sessions. When you return to the Workbench, you start the
session right where you ended the time before. The Issue and project filters
remain active throughout the selection process in both functions. Using
subsets, you can filter on any field.
Reviewing Work You can view or change (if authorized) any details about the Issue or
project you have associated with your work. You can access complete
Details information about the DR and project including development information,
benefits, alternatives, approval information, and status. Approvals and
status allow you to control your work or perform an inquiry. While on the
Project reference or Design request field, press F4=List, to select the project
or DR, or use option 15 to view work already assigned to a DR.
Checking Out Once you have identified your work on a DR or project, you check out
member/objects so they can be created or changed within a controlled
environment. You have numerous options for standard and emergency
check out. You can select from a list of member/objects for concurrent
development, or as a shortcut method, for checking out member/objects
that are similar to ones already checked out. You can also quickly access
Work with Objects to initiate new changes.
Changing Items You usually check out an item to change it, delete it, or reserve the name
(for a new member/object). You can edit members (SEU), display files
(SDA), design report layouts (RLU), use WRKMBRPDM, or use the
command line. A built-in source Compare Member (ICMPMBR) command
provides easy identification of changes. The Merge Member (IMRGMBR)
command can automate changes when applying them to multiple versions
or custom libraries or when incorporating changes from multiple
developers or vendors.
Compiling You can immediately compile a locked object directly from the Workbench
using option 14=Compile. This option is also available as option 67,
Workbench Compile (ICOMPILE) from the Implementer Menu.
53
Using the Workbench for Development Activities
Promoting Once changes are complete, you need to promote the changes to the next
environment in the flow of development. Several options are available for
you to promote your work from the Workbench: option 11=Promote,
Clipboard options, and from Work with Objects with option 27=Promote.
You can select member/objects from multiple environments. You also
have emergency promote options. To provide absolute flexibility and
control, you can authorize specific people to perform the various
promotion steps based on user profile and environment. Implementer
adapts to the way you do your work.
Time Entry You can perform time entry anytime during the development process by
using option 30=Book Time, or by prompting the Monitor Progress
(PMONPG) command.
Time entry allows you to compare actual time to estimated time for future
work forecasting. You can easily update remaining time to maintain an
accurate estimate of continuing work.
54 u s e r g u i d e
Workbench Ease of Use Features
Optional Check From the Workbench, Implementer offers two methods for processing
check out and promotions—the one step method and a traditional method.
Out and Both methods provide access to the same features and produce the same
Promotion results. However, the one step method allows you to perform check out
and promotion using a fast path approach that saves time and effort,
Methods thereby minimizing the number of steps required in the functions. Because
of the efficient streamlined effort, the one step methods are preferred by
most developers. The traditional methods, which are more interactive,
display more panels and require additional input for processing.
Member/Object From the Workbench, you can track the status and history of all member/
objects under change management control. The status identifies the current
Status and state or application path of the member/object. As member/objects flow
History through the change management cycle, all historical software changes and
associated lock information is retained as well. When the status of a
member/object changes, the information is updated and the change is
recorded in the Status History file (IMSTHS). The status and history is
available in Work with Objects.
Multiple The Workbench allows you to process your work using a variety of
methods. Direct options exist for all daily tasks, including for example,
Selection editing, checking out, and creating requests. More involved options allow
Methods you to select member/objects for check out and promotion across panels or
various positions in a subfile.
Automatic The Workbench allows you to select member/objects by groups that are
meaningful to you, even if they are in multiple environments. You can
Grouping automatically check out or create promotion requests for items that you
want to process together (same environment path or project path, project,
or DR [DR for check out only]). If the member/objects need to be processed
in multiple groups, a message alerts you during check out or create request
and provides an option to either process all items as a single group or as
separate groups.
55
Using the Workbench for Development Activities
Work With The Workbench allows direct access to Work with Objects. Work with
Objects provides visibility to all objects controlled by Implementer, and the
Objects ability to initiate check out of a member/object not under development. It
provides lock history, archive history, member/object status history, and
inquiry to all member/objects on the system. You can display and work
with all objects, or IFS objects only using F16=Show IFS Only.
The following tables compare the functionality of the Workbench with the
functionality of Work with Objects.
2=Change (SEU) —
— 3=Promotion requests
4=Delete (Lock) —
— 10=Checkout
11=Promote —
— 13=Lock history
56 u s e r g u i d e
Workbench Ease of Use Features
14=Compile 14=Archives
20=Reject 20=Reject
24=Merge member —
27=Check out —
30=Book Time —
F3=Exit F3=Exit
F4=List F4=List
F5=Refresh F5=Refresh
F12=Cancel F12=Cancel
F13=Repeat —
57
Using the Workbench for Development Activities
F17=Filter —
— F20=Check out
F22=Promote F22=Promote
Command Prompting
The Workbench offers the option to prompt command options.
The one step check out and one step promotion features apply to
Clipboard options 2= Check Out, and 3=Promote. (The functions run
automatically without presenting the Check Out panel or the Create
Request panel.)
58 u s e r g u i d e
Using the Clipboard
Basic Clipboard The Clipboard option is particularly helpful when you are positioning
within the subfile rather than scrolling.
Functions
To use the Clipboard
The Clipboard holds selections from several panels and facilitates check
out or promotion request creation. Items that you add to the Clipboard
remain on the Clipboard until you complete the process, remove them
from the Clipboard, or until the current session ends.
The Clipboard allows you to back out of a process, provided you do not
process the final acceptance of your selections. For example, if the
member/objects that display in the Workbench Check Out panel or the
traditional Check Out panel are not the ones you need, press F3=Exit to
return to the Clipboard Processing Menu. At this point, you can select the
59
Using the Workbench for Development Activities
The Clipboard function calls the Check Out or Create Request function
with your selected items pre-filled and edited. The project path (if defined)
or environment path is used to determine the from and to environments
and libraries in both cases. If you need to perform other actions before you
accept the selections, messages display with further instructions.
60 u s e r g u i d e
Using the Clipboard
NOTE
If you intend to process the items on the Clipboard using either the ICRTRQS
or IPRCCBD commands discussed in the next sections of this document, ensure
that the Clipboard does not already contain items. A way to do this is to issue
the Process Clipboard (IPRCCBD) command, specifying the *MENU option as
described in “Using the IPRCCBD Command to Process the Clipboard” on
page 63. If no items are on the Clipboard, the following message displays:
If items are on the Clipboard, the Clipboard Processing menu displays offering
the option to display the contents of the Clipboard using option 1, Display
Clipboard.
If the Clipboard is already populated, you should clear it before using the
IADDCBD or IADDCBDIFS commands.
MBROBJ
Specify the name of the member/object to add.
OBJCODE
ACTION
Specify the action if the items being added are used to check out or create a
promotion request. Valid options are *CHANGE (default value),
*CREATE, *DELETE, or *RECOMPL.
CURENV
61
Using the Workbench for Development Activities
LIBRARY
PRJREF
DRNBR
Specify a design request number (if any) associated with the member/
object.
LNGNAMJ
ACTION
Specify the action if the items being added are used to check out or create a
promotion request. Valid options are *CHANGE (default value),
*CHANGE, *CREATE, or *DELETE.
CURNEV
Specify the current environment of the object.
PROJREF
DRNBR
Specify a design request number (if any) associated with the object.
62 u s e r g u i d e
Using the Clipboard
Using the The Create Request (ICRTRQS) command contains a MBROBJ parameter
option, *CLIPBOARD, which selects all Clipboard items for create request
ICRTRQS processing.
Command to The *CLIPBOARD option makes it possible to create a request for all
Promote member/objects currently on the Clipboard, without the need to actually
display the Clipboard. This means that the ICRTRQS command can be
Clipboard Items called from a program. Used in conjunction with the IADDCBD command,
you can select items and create a request for those items, without the need
for any manual processing.
CAUTION
This command processes all items on the Clipboard—not just the items
selected by your program.
Using the The Process Clipboard (IPRCCBD) command allows you to perform all
standard Clipboard processing options outside of Implementer, in the
IPRCCBD same manner as can be done from the Workbench using the F7=Process
Command to Clipboard function.
Process the The *CLIPBOARD option makes it possible to create a request for all
member/objects currently on the Clipboard, without the need to actually
Clipboard display the Clipboard. This means that the ICRTRQS command can be
called from a program. Used in conjunction with the IADDCBD and
IADDCBDIFS commands, you can select items and create a request for
those items without the need for any manual processing.
NOTE
This command processes all items on the Clipboard, including IFS objects, if
they were added.
The IPRCCBD command does not process release management PTF release
packages (option 6 on the Clipboard Processing Menu). The command
interface to this menu option is Create PTF Release (ICRTPTFRLS). For more
information about the ICRTPTFRLS command, see the Implementer Release
Management User Guide.
63
Using the Workbench for Development Activities
ACTION
Checking Out
The Workbench lists all items that are currently checked out. You can
check out additional items from the Workbench by:
For detailed information on Performing one step check out.
checking out, see “Performing
Check Out” on page 111. Performing traditional check out.
Check Out Implementer offers two methods for processing check out—the one step
method and a traditional method. The one step method allows you to
Methods perform check out using a fast path approach that saves time and effort,
thereby minimizing the number of steps required in the check out function.
The major benefit to the one step method is that after selecting the items for
check out, the automatic process runs quickly, and then redisplays the
Workbench with your current locked items listed. Because of these
efficiencies, it is the preferred method for most developers.
64 u s e r g u i d e
Checking Out
The one step check out method applies to checking out from the
Workbench, the Clipboard, and Work with Objects. When issuing a check
out, the user profile record is validated to determine the default check out
method. If the one step method is enabled and the check out is initiated
from the Workbench, the Workbench Check Out panel displays for
member/object selection. With the one step method enabled, you can
perform any required overrides from the Workbench Check Out panel
with F4=Prompt, which displays the traditional Check Out panel with any
selected items populated. (Some tasks later in this chapter require
processing from the traditional Check Out panel). If the check out is
initiated from Work with Objects, the check out occurs automatically. If
one step check out is not enabled, the traditional Check Out panel displays
(requiring further input).
The following one step check out task assumes the Enable One Step Check
Out flag is enabled for your user profile. Likewise, the traditional check out
task assumes the Enable One Step Check Out flag is not enabled for your
user profile. For more information, see “Check Out Methods” on page 113.
65
Using the Workbench for Development Activities
2 Select the items with option 1=Check Out and press ENTER to
automatically perform the check out and redisplay the reloaded
Workbench panel.
Alternatively, you can press F16=Select All to check out all displayed
items in the specified from environment. A message displays
informing you that you are about to check out all items in the specified
environment. You can press ENTER to continue with the check out, or
press F3 to return to the Workbench Check Out panel.
Back on the Workbench, notice the Status column is updated with the
latest action. In addition, a lock is created for each checked out
member to indicate work in process, and a copy of the member (or
object for non-source-based objects) is created in the development
library or environment.
NOTE
You can perform any required overrides from the Workbench Check Out panel
with F4=Prompt, which displays the traditional Check Out panel (with any
selected objects populated). To create a new member/object and reserve the
member/object name, check out with action code 2=Create.
If you select objects with option 1 and then attempt to reposition the subfile, the
selected objects are processed through to completion, and the Workbench
Check Out panel redisplays at the selected position.
1 From the Workbench, press F6 Check Out, or from Work with Objects,
press F20=Check out. The Check Out panel displays.
66 u s e r g u i d e
Checking Out
Checking Out From the Workbench, you can check out unlocked member/objects
through Work with Objects.
From Work With
Objects
67
Using the Workbench for Development Activities
NOTE
If you have one step check out enabled for your user profile and select option
10=Checkout, the check out processes automatically without displaying the
Check Out panel. If enabled, you can press F20=Checkout to display the
traditional Check Out panel, as needed.
68 u s e r g u i d e
Checking Out
Checking Out The Clipboard provides an easy way to store multiple member/objects for
checking out.
Using the
Clipboard To check out using the Clipboard
3 Select option 2=Standard check out to display the Check Out panel or
option 4=Emergency check out to display the Emergency Check Out
main panel.
NOTE
With one step check out enabled and you select option 2=Standard check out
or option 4=Emergency check out, the check out processes automatically
without displaying the Check Out panel.
4 Type any necessary changes on the Check Out panel, and press F9 to
accept your entry and initiate the check out.
Performing Authorized users can perform emergency check out from the Workbench.
3 Enter any necessary changes, and press F9 to accept your entry and
initiate the check out.
NOTE
The one step check out method, when enabled, applies to performing
emergency check out initiated from the Workbench, Work with Objects option
21=Emergency Check Out, and Clipboard option 4=Emergency Check Out.
69
Using the Workbench for Development Activities
You probably accessed the Workbench from Work with Objects. Press
F12=Cancel to return to Work with Objects.
Editing Members
This task describes the use of OS/400 utilities for creating and changing
your source members. You can access SEU, SDA, and RLU directly from
the Workbench. You can also automatically proceed directly to SEU when
you check out. The Workbench allows you to compare or merge specific
member/objects. You must have a member checked out and in
development to use this function.
The following tasks assume you are working in the Workbench, unless
otherwise indicated.
2 After completing your edit, press F3 to display the SEU Exit panel.
70 u s e r g u i d e
Editing Members
In the Change User Profiles panel, the Edit source on check out field must
be Y to perform check out and automatically go to SEU. You can select up to
10 members at one time and cycle through each member with SEU. If you
select more than 10 members, you must access the members from the
Workbench with option 2 for change.
4 Press F9=Accept to perform the check out. The SEU Edit panel
displays.
5 After completing your edit, press F3 to display the SEU Exit panel.
Select the required options and press ENTER to redisplay the
Workbench.
71
Using the Workbench for Development Activities
Setting Up User-defined options are held in an options file and maintained by using
the Work with User-Defined Options panel in PDM. You can access this
User-Defined panel from Work with Objects Using PDM (WRKOBJPDM) or Work with
Options Members Using PDM (WRKMBRPDM) by using F16=User options. It is
also available from the Display PDM User-Defined Options File panel or
the User Defaults panel, by using F8=STRPDM.
NOTE
The substitution variable &OBJECT returns the project’s relative long object
name when a long object is associated with a lock (&OBJECT returns the actual
object name when a long object name is not specified).
Alternate
Workbench Locks File
Field Keyword Keyword
Only Field
(PDM)
72 u s e r g u i d e
Using PDM User-Defined Options
Alternate
Workbench Locks File
Field Keyword Keyword
Only Field
(PDM)
73
Using the Workbench for Development Activities
Alternate
Workbench Locks File
Field Keyword Keyword
Only Field
(PDM)
J.D. Edwards: J.D. Edwards group names for WORLD Writer and
Fastr are available as &COMMENT10.
74 u s e r g u i d e
Using PDM User-Defined Options
Changing User From the Workbench, access the Change User Defaults panel by pressing
F18=User Defaults.
Defaults
This panel allows you to change your defaults for Implementer functions.
If enrolled in Implementer through a group profile, only a user with User
Profile maintenance rights can change the defaults for the group profile.
Users with User Profile maintenance rights can set up other users’ defaults
as well.
NOTE
These fields can be maintained from Work with Users by selecting a user with
option 20=User Defaults to display the Change User Defaults panel.
On the Change user Default panel, no field is provided for Object Library
because this information is determined based on the lock information. If you
need to override the Object library, prompt the compile command and specify
the Object library in the creation command.
75
Using the Workbench for Development Activities
NOTE
If more than 10 source-based items are checked out at one time, this option is
ignored and the source is not edited.
Compile in batch
Job description/Library
Specify the name of the job description, or *USRPRF to use the job
description of your user profile. The job description does not control the
library list used to compile; rather, when compiling items locked to
environments, the environment library list is used; for objects in a library
that are not part of an environment, the library list of the current job is
used.
Specify the name of the file and library that contains the member with the
user-defined options. These are the default values used by the Workbench
Compile (ICOMPILE) command when it is issued from a command line.
Member
When this field is set to the same value as the user’s Work with Members
Using PDM options file, the same options available from within PDM are
now available from the Workbench. If you want different options, specify a
unique name in this field. Either way, the options need to be maintained
using the Work with User Defined Options panel within PDM.
PDM mode
76 u s e r g u i d e
Using PDM User-Defined Options
Displaying PDM You can display user-defined options from the PDM database in the
Workbench.
User-Defined
Options To display PDM options from the Workbench
Processing You can process user-defined options from the Workbench by entering the
PDM option name in the Option field for any item. After pressing ENTER,
PDM User- the list of substitutions is replaced on the User Option command and
Defined Options processed.
77
Using the Workbench for Development Activities
2 Select the required option and press ENTER. When you finish editing
and the optional compile of the display file, press F3 to return to the
Workbench.
3 When you finish editing, press F3 to display the Exit RLU panel.
78 u s e r g u i d e
Workbench Compiles of Locked Objects
4 After merging, use option 2 for Edit, in SEU with the Merge Report to
complete development.
You can issue the Workbench Compile (ICOMPILE) command from any
command line. If you prompt the command, the Workbench Compile
panel (1 of 2) displays. This option is also available from the Implementer
Menu, with option 67, Workbench Compile (ICOMPILE).
79
Using the Workbench for Development Activities
If the command is called from the command line and a lock exists for the
source member name, source file name, and source library name that you
specify, the other parameters are automatically completed based on your
specification. If you do not see a creation command, press ENTER again to
retrieve the correct command.
The library list for the compile is taken The current library list of the job calling
from the locked to environment. the command is used for compilation.
If the authority method is *KEEP, the If the authority method is *KEEP, the
authority of the existing object is kept. authority of the existing object is kept.
If the authority method is *GRANT or Otherwise, the library creation
the object does not exist, the authority authority for the target library is used.
from the locked to environment is used
for the new object.
80 u s e r g u i d e
Workbench Compiles of Locked Objects
Identifying the You can identify the item to be compiled in one of two ways:
Parameter Value
Parameter Value
Object Code
81
Using the Workbench for Development Activities
Source file/library
Specify the source file name and library, or *LOCK to let the specified
object code and environment information determine the locked item to
compile.
Authority method
Create command
The creation command that was used to create the object displays,
although it can be overridden by prompting the command.
If overrides are made to the creation command and should be made to the
new object when it is promoted to production, make sure the same creation
command overrides are made when creating the promotion request. From
the Workbench, select the member/object with option 14=Compile and use
F4=List to prompt the actual creation command defined for the associated
object code.
82 u s e r g u i d e
Workbench Testing of Locked Objects
Setting a The Set to Environment Library List (ISETLIBL) command changes your
job library list to that of any environment managed by Implementer. This
Library List allows you to change between the appropriate development library list
From an and the corresponding production library list quickly and accurately when
testing.
Environment
This command is particularly useful when testing a changed application. If
Library List you specify a command to call after setting the library list, the original
library list is re-established when you return from the called command. For
example, assume you use this command to set the library list and
automatically run an inventory program that you are testing. Once you
exit from the inventory program, the library list that was in effect before
testing began is re-established, and you can continue with any activities
you were performing prior to running the test.
This facility is also available on the Implementer Menu, option 68, Set to
Environment Library List (ISETLIBL).
TIP
Add this command as a user-defined option to the Workbench. The user-
defined options TS (Test a Change) and TO (Test an Object) are available. These
options are described in “Available PDM Default Options” on page Available
PDM Default Options. For instructions on how to set up user-defined options,
see “Setting Up User-Defined Options” on page 72.
Environment
Specify the environment that the library list is based on. This is a required
entry.
List position
Specify the position within the library list to place the environment
libraries. The default value is *REPLACE, which replaces the current
library list. This is the only valid value.
83
Using the Workbench for Development Activities
Command
Specify a command to call after setting the library list. When you return
from this command, the original library list is re-established. This feature is
particularly useful for testing a changed application.
You can specify two additional library names. These libraries are added
above the environment library list. This feature is useful for adding a
personal library to the top of the environment list.
Available PDM The following PDM options can be set up to allow access from the
Workbench:
Default Options
Option Purpose Command
This panel shows related objects for the object selected on the Workbench.
In addition, it shows module where used (usage) and cross-environment
relationship information for ILE objects.
84 u s e r g u i d e
Promotion Request Overview
If member/objects found are not in the same group as the first item
selected, a message alerts you to either process all member/objects as a
single group (F16=Add all) or to process them in separate groups. You can
use F20=Display, to view member/objects that have not been processed
and are still on the Clipboard. Both F16 and F20 are only available if the
member/objects are in distinct groups.
85
Using the Workbench for Development Activities
Promotion Implementer offers two methods of promotion: the “fast path” one step
method and a traditional method. The one step method allows you to
Methods promote items using a fast path approach that saves time and effort,
thereby minimizing the steps required in the create request function. The
traditional promotion method displays the Create Request panel and
requires additional input for processing.
With the one step method enabled, you can perform any required
overrides, for example, changing special commands or object codes, by
selecting the items for promotion (option 11=Promote), and pressing
F4=List, which displays the traditional Create Request panel. This is
beneficial to know because some promotion task variations require
processing from the Create Request panel.
The one step promotion method applies to creating requests from the
Workbench (option 11=Promote), the Clipboard, and Work with Objects
(option 27=Promote). When creating requests from any of the other Create
Request menu, panel, or command options (including F22=Promote in the
Workbench and in Work with Objects) the traditional Create Request panel
defaults.
Creating This task describes the various methods for accessing the Create Request
function to create a promotion request from the Workbench. The
Promotion advantages of creating requests from the Workbench include:
Requests accessibility to locked member/objects located in development
You can access the Create Request function from numerous panels in
Implementer. The primary development panels are the Workbench and
Work with Objects. You can also access the Create Request function with
the menu option 3, the STRIM *CRTRQS command or the Create Request
(ICRTRQS) command from the command line or the menu.
The method listed next for creating a one step promotion runs interactively
without displaying additional panels (unless an error occurs). The
methods listed for creating a traditional promotion request each display
the Create Request panel. When you access the Create Request panel from
the Workbench and Work with Objects, it initially displays with edited
86 u s e r g u i d e
Promotion Request Overview
NOTE
The Create Request Comments feature is automatically enabled when you
install Implementer. This means, when you create a promotion request and
press F9=Accept, the Comments panel displays and requires an explanation for
the promotion, before allowing you to continue. You can disable this feature
without impacting Design Request comments (when the objects being
promoted are associated with a Design Request, the comments associated with
the primary Design Request are automatically added to the promotion
request). For more information, contact your Implementer System
Administrator, or Chapter 3 of the Implementer System Administrator Guide.
The following one step promotion task assumes the Enable One Step
Promotion flag is enabled for your user profile. Likewise, the traditional
promotion task assumes the Enable One Step Promotion flag is not enabled
for your user profile. For more information on this topic, see “Promotion
Methods” on page 174.
87
Using the Workbench for Development Activities
There are several ways to perform one step create request directly
from the Workbench:
Press F8 to access Work with Objects and select the items with
option 27=Promote, and press ENTER.
88 u s e r g u i d e
Compiling and Moving Promotion Requests
Task Variations When you access the Create Request main panel from the Workbench,
your selections are edited. If an error occurs or if more processing is
necessary, follow the directions indicated in the message.
NOTE
You do not have to perform this task if you set the environment default for the
Auto submit in create request field to Y and the Through step field to 4 (which
automatically includes the compile and move steps). In this case, the
promotion is initiated when you create the promotion request.
89
Using the Workbench for Development Activities
2 In the Compile Request panel, type 1 in the option field and press
ENTER to submit the compile. For detailed information, see
“Compiling” on page 220.
2 In the Move Request panel, type 1 in the option field and press
ENTER to submit the move. For detailed information, see “Moving
Promotion Requests” on page 224.
90 u s e r g u i d e
Member/Object Status and History
NOTE
When filtering the Work with Objects panel by the Status field only, a message
informs you that filtering by object status only can be time consuming. You
have the option to continue with the selected filter, or to return and define
additional filters. The display of this message is controlled by Implementer
data area IMDSPMSG. For more information, see Appendix A of the
Implementer System Administrator Guide.
In Work with Objects, when displaying the status history for an object in
production, history displays for all closed locks that were promoted into the
production environment. If multiple locks are rejected or promoted at the same
time for a single member/object, history is added for each of the locks.
The Purge History function removes obsolete lock and promotion request
history from environments, as well as status history from production
environments.
Status Description
Src-Edited The source was just edited (implies a compile was not
attempted since it was last changed).
91
Using the Workbench for Development Activities
Status Description
Comp-Fail The source was compiled but the object was not found in
development. This status only applies to objects compiled from
the Workbench (this status is not assigned when a compile is
performed on a promotion request).
The Status field supports subfile filtering. In Work with Objects, filter
on Prod to list objects that do not currently have a status assigned.
Filter on Open to list all objects that are currently locked—all objects
that have a status display, regardless of the status value.
92 u s e r g u i d e
Member/Object Status and History
The current status displays at the top of the panel and the history
displays below.
93
Using the Workbench for Development Activities
The name of the member/object you selected to display status history for.
Object Code
Description
Env/dev lb
Lists the environment name and environment description where the
member/object is currently located.
Current Status
Status
The action taken, or the application path targeted, for when the change to
the member/object occurred.
Env/dev/lb
User
The name of the user who processed the action that subsequently changed
the member/object status.
Event Date
The date the change in status occurred. Keep in mind that for submitted
jobs, the event date is the actual date the job ran, not the date it was
submitted.
Event Time
The time the change in status occurred. Keep in mind that for submitted
jobs, the event time is the actual time the job ran, not the time it was
submitted.
94 u s e r g u i d e
Online Inquiry of Development Activity
RQS#
You can access Work with Objects and Request Inquiry directly from the
Workbench.
95
Using the Workbench for Development Activities
There are two primary ways to use the Workbench for inquiry:
3 You can filter the lock information fields directly on the Workbench.
The most helpful filters are the DR number and project reference for
inquiry. These filters can be used for inquiry or (if promoting) to
determine if an entity is on a particular DR or associated with a
specific project.
For example: In the User field, type the user ID IMPGMR1 and press
ENTER. A list of locked member/objects displays for that developer.
Now type Std in the Type field and press ENTER. The standard locks
for that specific developer display.
To access the five views of the Workbench, press F11. The following
information displays:
Comments
96 u s e r g u i d e
Working With Locks
6 Option 5 for Change displays the selected source member with SEU.
Option 6 for Print member prints the selected source member. You can
also print the source, if there are major changes.
NOTE
There are developer options for SEU, SDA, RLU, and merge (IMRGMBR). If
you use these functions, ensure your current library list is correct.
Changing a This task changes information related to an existing lock. To change a lock,
you must have lock maintenance capabilities and locks must exist on the
Lock system.
2 Type 7 next to the lock you want to change and press ENTER to
display the Change Lock Details panel. If you do not have the
capability to change a lock, this option is inquiry only.
97
Using the Workbench for Development Activities
3 On the Change Lock Details panel, edit any of the following fields:
TIP
If you change the lock information, it is helpful to add a comment explaining
why it was changed.
Deleting a Lock This task deletes a lock. If you perform this task on a 3GL member/object,
it can also remove the object and source from development. You typically
perform this task after a member is checked out and further analysis
proves the member/object does not require a change.
When a delete is processed for items in a library, the lock is removed but
the member/objects remain in the specified from library. Without deleting
the member/objects, references to them are never updated in the
repository and inconsistent results can occur in Object Inquiry and Work
with Objects. Therefore, if you are deleting a lock from for items in a
personal library, you should also issue the Delete Library Reference
(IDLTLIBREF) command to clean up the member/object repository. For
more information about the IDLTLIBREF command, see Chapter 3 of the
Implementer System Administrator Guide.
To delete a lock
2 Type 4 next to the lock you want to delete, and press ENTER to
display the Confirm Delete of Locks panel.
98 u s e r g u i d e
Working With Locks
Associating This task allows you to associate multiple DRs with a single lock, and can
be used to track multiple changes on a single member/object represented
Multiple Design by multiple DRs.
Requests With If the member/object is associated with a DR, the DR status (Ready to
a Lock check out, Check Out, Promote to test, Promote to Production) and
approval (No, Yes, Pending for development, test or production) must
allow the required function. It is possible to associate multiple DRs with a
lock on a member/object. All associated DRs must be at the proper
approval and status before you can create the promotion request.
99
Using the Workbench for Development Activities
2 Type 26 next to the lock you want to add multiple DRs to, and press
ENTER to display the Work with Design Request Entities panel. If
there is a value in the Dsp field, blank it out to display all member/
objects. The originally locked member/object (entity) displays.
NOTE
You cannot associate a DR with a member/object under concurrent
development, or associate multiple DRs with a member/object that does not
have an existing DR. You must first change the lock (option 7) to associate the
DR and the proper project reference. If an Implementer project does not exist
for the entity, you must create one.
You can use value *IMPRJ in the Project Name for PM field, which defaults the
Proj Ref for Implementer field value (Implementer project name) into the
Project name for PM field. For more information, see the DesignTracker User
Guide.
100 u s e r g u i d e
Changing a Design Request
2 Type 15 next to the lock you want to view or change the DR for, and
press ENTER to display the Change Design Request panel.
2 Press F13=Repeat. The option displays next to each item after the one
you selected in Step 1.
NOTE
To process only certain items on the Workbench, filter the display before
entering an option. For example, if you want to change all RPG programs that
display on the Workbench, type RPG in the Code field, and press ENTER before
proceeding to Step 2.
101
Using the Workbench for Development Activities
102 u s e r g u i d e
Projects
4
T his chapter describes how to create projects. Depending on your use of
projects, you can create them with Implementer or ProjectMaster. Projects
are extremely helpful for filtering in the Workbench and Work with
Objects.
creating projects
project paths
project reporting
103
Projects
Creating Projects
Use this task to create or maintain a project. You can optionally assign the
project as the default project for a user profile.
You must create a project before you can check out or create promotion
requests, if the environment definition requires a project. You must create a
project and associate it with a DR before you can check out or create a
promotion request associated with the DR. An Implementer project can be
created from within DesignTracker, or an existing project can be associated
with the DR from within the Create or Change Design Request function.
You can access Work with Projects from the Project reference field in the
Workbench and the Work with Objects panel. You can change the lock
detail (option 7 in the Workbench) to include a new project or change the
project.
Creating If you check out from DesignTracker, do not use this task. Instead, follow
the instructions in “Creating Projects From ProjectMaster” on page 106.
Projects From
Implementer To create projects from Implementer
To position the panel, type the name or partial name of the project in
the position field directly above the list of project names, and press
ENTER.
104 u s e r g u i d e
Creating Projects
2 From the Work with Projects panel, use option 2 on an existing project
to change it, or press F6=Create to create a new project.
3 From the Change Project or Create Project panel, type the description
and other information, and press ENTER. The Work with Projects
panel redisplays. Project creation is now complete.
8=Functions
9=Schedule
10=Workbench
12=Promotion Reqs
14=Design Reqs
17=Standard Path
Change or display the standard project path on the Standard Project Path
panel.
18=Emergency Path
20=Tasks
21=Gantt Chart
105
Projects
1 Access the Select Design Request panel using one of the following
methods:
From the Work with Objects panel, position the cursor in the
Default DR field and press F4=List.
From the Check Out main panel, position the cursor in Design
Request field and press F4=List.
NOTE
Depending on your DesignTracker setup, you can display the Define Subset
panel before you access the Select Design Request panel.
6 Type option 1 next to a DR and press ENTER. The Check Out main
panel redisplays.
106 u s e r g u i d e
Project Paths
Setting Up a If this project is a default project for a user, perform these steps:
Default Project 1 From the Implementer Menu, type 41 and press ENTER to display the
Work with User Profiles panel.
2 Type 2 next to a user profile and press ENTER to display the Change
User Profile panel.
3 Press PAGE DOWN and type the new project reference in the Project
reference field. If you want the user to be able to change the project
reference number when checking out or creating promotion requests,
type Y in the Chg field.
5 Press F3 to Exit.
Project Paths
Implementer projects can have defined standard and emergency
application paths. A path can be defined for each project, representing the
development flow of members/objects associated with the project. This
type of path is beneficial for those who routinely use multiple testing
environments, particularly when the test environments are determined on
a project-by-project basis.
For example, if two projects are active in development, it is typical that one
environment path is used by one project and another environment path is
used by another project at the same time. By using a project path instead of
107
Projects
When using application paths in Check Out and Create Request, a project
path precedes an environment path. In other words, if a project is specified
that has a defined path, that path is used; otherwise, the environment path
is used. For more information, see Chapter 3 of the Implementer System
Administrator Guide.
Project Reporting
Flexible reporting and inquiry options are available for project
information. Both the Activity Report and Lock Report allow you to sort by
project and report within a range of projects. The Activity Report shows
detailed lock history and request information. Use the Concurrent
Development Report to view either summary or detailed information
(including projects) on members/objects that are under concurrent
development.
Use the Work with Projects function to display information about locks
and promotion requests for a specific project. You can filter the locks that
display by project.
Time Entry You can enter time in ProjectMaster using any of three entry methods, in
either a cumulative format or using from and to times.
Developers can enter their own time directly from the Workbench,
enabling project leaders to concentrate on project management tasks,
or project leaders can enter the time if needed, using option 30=Book
Time.
You can perform time entry anytime during the development process
by prompting the Monitor Progress (PMONPG) command from any
command line.
You can enter time through the Select Design Request panel using
option 20=Project Tasks.
108 u s e r g u i d e
Project Management Capabilities
Advanced You can use ProjectMaster to schedule resources. The advanced scheduling
features include scheduling one resource (person) across multiple projects,
Scheduling prioritization of tasks, and dependencies of one task to another.
Features You can create projects from user-defined templates, eliminating the
repetitive setup required to define a project.
You can define resources by the set of activities they are allowed to
perform or have the capabilities to do. For example, a junior developer
cannot be assigned or automatically scheduled for project management
activities. Resources can be set up with a proficiency level, allowing senior
staff to perform some activities faster than other staff members.
You also can create project benchmarks. This allows you to compare the
current project schedule to the original project schedule or to an interim
benchmark. This is useful for comparing project status to a revised
schedule, while retaining the ability to report against the original schedule.
Gantt charts
Cost analyses
109
Projects
110 u s e r g u i d e
Performing Check Out
5
T his chapter describes the tasks related to check out. When you check out
a member/object from a production environment or a quality assurance
environment, Implementer copies it to a developer’s development library
or an environment. When the check out is complete, Implementer secures a
lock on the object to identify the user who has it checked out and for what
purpose. You can optionally check out members/objects attached to an
Integrity Manager Issue or a DesignTracker Design Request.
concurrent development
user authorities
111
Performing Check Out
The lock ensures that no other user can unknowingly change the same
item. The lock is automatically removed once the item is promoted back
into a production environment. Locks are not removed for a member/
object promoted to a test environment. Locks can be associated with DRs
and projects. You can associate multiple DRs to a single lock.
Developers must be authorized (in Work with Users) to use the Check Out
function, as well as be authorized (in either Work with Users or Work with
Environments) to check out to and from the environments specified.
Object codes can be restricted at the object level, in Work with Object
Codes. For example, this could be done if your organization does not
plan to use certain types of objects.
Object codes can be restricted at the user level. For example, this could
be used to control database administrator rights.
112 u s e r g u i d e
Check Out Methods
The default check out method is defined on a per user basis in Work with
Users, controlled by the Enable One Step Checkout flag. When initially
installing Implementer, the one step method is enabled by default. For
subsequent upgrades, the value defined at the time of the upgrade is
retained. For more information, see Chapter 3 of the Implementer System
Administrator Guide.
Using the One The one step check out method applies to checking out from the
Workbench (F6=Check Out), the Clipboard, and Work with Objects
Step Checkout (option 1=Check Out and option 21=Emergency Check Out). When using
Method any other Check Out option (including, option 27 in the Workbench or F20
in Work with Objects), the menu options, or Check Out command options
the traditional Check Out function is performed.
When issuing a check out, the user profile record is validated to determine
the default check out method. If the one step method is enabled and the
check out is initiated from the Workbench, the Workbench Check Out
panel displays for member/object selection. With the one step method
enabled, you can perform any required overrides from the Workbench
Check Out panel with F4=Prompt, which displays the traditional Check
Out panel with any selected items populated. (Some tasks later in this
chapter require processing from the traditional Check Out panel.) If check
out is initiated from Work with Objects, the check out occurs
automatically. If one step check out is not enabled, the traditional Check
Out panel displays (requiring further input).
113
Performing Check Out
1 Access the check out function using any of the following methods for
standard one step check out:
114 u s e r g u i d e
Check Out Methods
From the Workbench or the Work with Objects panel, select the
member/object with option 9=Add to Clipboard and press
ENTER. Process the clipboard with F7=Process Clipboard and use
option 2.
NOTE
If you select objects with option 1 and then attempt to reposition the subfile,
the selected objects are processed through to completion (checked out and a
lock attached) and the Workbench Check Out panel displays at the selected
position.
Using the Traditional Check Out displays the Check Out panel. In the Check Out
main panel, you can enter individual members/objects (and object codes)
Traditional or select them from a list. This option is only available if the Build List
Checkout function was run. The Build List function creates a list of all members and
objects that exist in the environment’s library. The list displays in multiple
Method panels throughout Implementer. The list is dynamically updated while
continuously using the product. For detailed information on the Build List
function, see the Implementer System Administrator Guide.
The members/objects that are selected for check out directly from the
Workbench are already checked out; however, you can also use the Check
Out function to initiate concurrent development. Alternatively, initiating a
check out in this way provides a quick way to check out like—in other
words, using an existing check out to create a check out for a similar
member/object. This process is detailed in “Using the Workbench for
Development Activities” on page 49.
115
Performing Check Out
1 Access the check out function using any of the following methods for
standard traditional Check Out:
From the Workbench or the Work with Objects panel, select the
member/object with option 9=Add to Clipboard and press
ENTER. Process the clipboard with F7=Process Clipboard and use
option 2.
If you use a design request, you can also use F10=Select entity.
2 Complete the Check Out panel as described in “Check Out Panel Field
Descriptions” on page 118.
116 u s e r g u i d e
Check Out Methods
From the Workbench or Work with Objects panel, select option 21 for
Emergency check out.
A similar panel can be accessed from the traditional Check Out panel
by using option 20 for rejecting a member/object with an emergency
lock.
NOTE
For emergency check out, the one step check out method applies when the
check out is initiated from Work with Objects, option 21=Emergency Check
Out and from the Clipboard, option 4=Emergency Check Out.
117
Performing Check Out
Then, manually create the appropriate check out for these related
objects.
LANSA objects entered or selected for copy are added to an export list
if the environment specifies to copy LANSA objects during check out.
Implementer supports checking out multiple LANSA functions with
the same name and object code of different processes, when the
process name is specified in the first ten characters of the Comment
field.
If you do not enter the process name in the Comment field, the
function is checked out from the first process containing the function.
The name of the process displays in the Comment field and can be
changed if the LANSA function will be checked out from a different
process.
From environment
Use one of the following methods to identify the environment to check out
from:
118 u s e r g u i d e
Check Out Methods
To library/To environment
Project reference
119
Performing Check Out
If you specify a project that has a defined application path, the from and to
environments default from that project’s path.
NOTE
If you want to use a design request, see “Checking Out With a Design Request”
on page 141.
Member/object list
The two most common uses for related environments are to develop
one release of an application while you continue applying changes to
an earlier release (for example, release 2.0 based on release 1.0).
Secondly, to keep production modifications in a separate environment
from base production. In each case, the related environment list must
include all of the environments you want to define as related
environments.
Press F8=Select from object codes to select from a list of object codes:
1Type 5 next to the object code and press ENTER to display the
Member/Object Selection panel. This list contains all member/
objects associated with selected object code for the environment.
120 u s e r g u i d e
Check Out Methods
Action
Task Variations The following task variations explain how to perform additional actions to
members/objects during check out.
Deleting a Member/Object
To delete the member/object in the target environment when the member/
object is promoted, specify an action of 3 for Delete.
121
Performing Check Out
the Check Out panel. Then, use one of the following methods to
identify the member/object and location to copy from.
NOTE
The F7=Fold function is not available for AS/SET definitions. The only copy
function valid for AS/SET definitions is the copy from environment, which
displays on the main Check Out panel.
Specify the source file where the copy from member exists.
Specify the name of a specific user to check out to, or specify *USRPRF to
check out the member/object to the current user. This parameter allows
project leaders to check out member/objects to specific developers.
Specify whether the member is copied when the type does not correspond
to the object type being created. Type Y to allow the change or type N to not
allow the change.
Revision number
Specify a version number that will override the next version number to be
assigned. When setting the version number in check out, validation is
performed to ensure that the version number entered is valid for the
122 u s e r g u i d e
Check Out Methods
For example, all objects for the current release exist in production with
version number 2.0. When they are checked out, the next version number
automatically assigned would be 2.1. However, you are now ready to
begin development on the next release—3.0. By checking out the applicable
objects and overriding the revision number (in this case to 3.0), you are
able to keep member/objects and version numbers synchronized with the
release number.
Checking Out Implementer supports checking out multiple objects that have single
source members, allowing you to use a single source member to create
Single Source multiple objects. This practice, which is seen most commonly with physical
With Multiple files, works for all source-based objects.
Objects This feature uses the Implementer Multiple Objects (IMMULTOBJ) data
area. Set the data area value to *YES to allow the check out of an object that
has multiple objects with the same source member. Specify *NO if you do
not want to allow the check out if this condition occurs (this is the default
value). For more information about the IMMULTOBJ data area, see
Appendix A of the Implementer System Administrator Guide.
CAUTION
The check out of single source members with multiple objects is not recognized
as a concurrent development condition. Therefore, if you enable this data area
be aware that you can overwrite changes to objects that are checked out and
changed but not promoted through to production yet.
Common Does the comment field on the Check Out panel correspond to the
source member or object text?
Questions
This field allows you to enter a brief reason why this member/object was
checked out.
For the J.D. Edwards special object types WORLD Writer and Fastr, you
must enter a group name in the first 10 characters of the Comment field.
123
Performing Check Out
If someone placed the member into the target library without using
Implementer, this message could occur. It could also occur if the option to
remove source from the development library was set to N on a previous
promotion request, or if you deleted a lock and did not remove the
members/objects.
During check out, is the source member removed from the production
source library?
What’s the difference between the Workbench Check Out panel and
the traditional Check Out panel?
Functionally, these panels are the same; however, the Workbench Check
Out panel displays only if you have the one step check out method enabled
for your user profile. Both panels allow access to the same options, and
from the Workbench Check Out panel, you can access the traditional
Check Out panel to perform any functions not directly available from the
Workbench Check Out panel. The benefit to using the Workbench Check
Out panel is ease of use automation, and the fast path processing that
occurs when the check out runs.
Yes. The flags that control the check out method are at the user level
(defined in Work with Users). You can enable this flag based on the needs
of each developer.
Keep in mind that the one step check out method applies to checking out
from the Workbench, the Clipboard, and Work with Objects. Any other
Check Out option (including the commands and menu options) invokes
the traditional method.
124 u s e r g u i d e
Using Object Version Stamping in Check Out
With object version stamping, each object, lock record, and repository
record is stamped with a version number at predetermined stages within
the development cycle. The version number scheme and development
stage in which the object is stamped (check out only, check out and
promotion, or user-defined) is determined by the versioning method.
Implementer automatically determines and increments the version
number based on the versioning method.
With issueor DR stamping, each object is stamped with the issue or design
request number that the object was checked out for. When multiple locks
exist with multiple issues or DRs, the object is stamped with the primary
number associated with the initial lock. To ensure stamping of both
existing and newly created objects, stamping automatically occurs in the
stages at which an object can be created—check out, compiling from the
Workbench, and promotion.
NOTE
The activation and control parameters for both object version stamping and
issue or DR stamping are maintained in System Control Maintenance. For more
information, see Chapter 3 of the Implementer System Administrator Guide.
Processing For a check out action of Change, Create, Regen, or Recompile, the revision
number is validated; for an action of Delete, versioning is ignored. When
Versions in creating a new object, the revision number defaults to 1 or 1.0 (based on the
Check Out versioning method), unless a user-defined versioning method is defined.
125
Performing Check Out
number in check out when one step check out is enabled, from the
Workbench Check Out panel, press F4=Prompt to display the traditional
Check Out panel, and press F7=Fold.
The version number displays for each object that has a version number
assigned, in the Revision field in the Workbench (F11=Display Revision)
and in Work with Objects (F10=Display Revision).
NOTE
If an object is checked out while versioning is inactive and versioning is then
activated, the object is compiled without a stamped version number.
Object versioning performs the same in Emergency Check Out. For example,
object A exists in the *QAC environment with version number 3.2. Emergency
check out is performed, and object A now exists is the *TST environment with
version number 3.3. The emergency lock for object A is promoted to production
changing the version number to 4.0. When the object in *QAC (version 3.2) is
promoted to production the version number will change from 3.2 to 5.0.
126 u s e r g u i d e
Checking Out IFS Files and Directories
The IFS files and directories must be checked out to an environment rather
than to a personal directory, and checked out from a host (local)
environment or directory.
When checking out an IFS object using a new object code not included in
the Implementer list of object codes, Implementer will automatically add
the new object code to the list provided this feature is enabled in System
Control Maintenance. For more information, see Chapter 3 of the
Implementer System Administrator Guide.
IFS Object Within Implementer, the member/object name of an IFS file contains the
IFS file name and the object code contains the dot and extension.
Naming
Implementer converts any name longer than eight characters and any
Conventions extension longer than six characters (allowing one position for the “.”) to a
derived, short member/object name.
File BOOK.NSF has an assigned object name of BOOK and an object type of
NSF; object BOOK.NTF has an assigned object name of BOOK and an object
type of NTF. When you check out file BOOK.NTF, Implementer verifies the
entire file name—BOOK.NTF—for an existing assigned short name. If it
exists, it is used. If it does not exist, Implementer attempts to assign a
pseudo object name and verifies the name BOOK; however, since an entry
for BOOK already exists it assigns the next available entry BOOK~1.NTF
(rather than BOOK.NTF).
127
Performing Check Out
2 At the top of the Check Out panel, specify From and To environments
that are set up to manage IFS objects. To specify IFS files, type the file
name in the Mbr/obj field, and type the extension in the Code field.
For example, to check out the file ITEM.EXE, type ITEM in the Mbr/obj
field and .EXE in the Code field.
NOTE
If an IFS object being checked out already exists in the target environment, a
warning message allows you to bypass the check out of the duplicate object
and leave the original object in place.
2 At the top of the Check Out panel, specify From and To environments
that are set up to manage IFS objects. To specify IFS subdirectories,
type the directory name in the Mbr/obj field, and type a backslash (\)
in the Code field. For example, to check out the subdirectory SUBDIR2,
type SUBDIR2 in the Mbr/obj field and \ in the Code field.
NOTE
Although not a common practice, it is possible to have subdirectories with
extensions. In this case, specify a backslash (\) followed by the extension in the
Code field. For example, to check out the subdirectory SUBDIR2.DIR, type
SUBDIR2 in the Mbr/obj field and type \.DIR in the Code field.
Checking Out This is typically only necessary for IFS objects not previously checked out
when a member/object name is not yet established. Using this method,
Using the IFS you can enter an IFS name that is used to generate the member/object
Object Name name, allowing you to uniquely identify IFS objects. The IFS object is then
checked out using the member/object name.
2 At the top of the Check Out panel, specify From and To environments
that are set up to manage IFS objects.
3 Press F6=IFS Entry. The Convert Long Name and Post to Checkout
window displays.
128 u s e r g u i d e
Checking Out IFS Files and Directories
4 Type the IFS name and press ENTER. The Check out panel displays
with the IFS object added to the panel with the generated member/
object name.
Checking Out When checking out and promoting IFS files and directories using *.*,
keep in mind that when promoting IFS files and directories, Implementer
the Contents of does not completely replace the contents of the target environment with
an Environment the promoted IFS objects. The management of new, existing, and deleted
IFS objects is as follows:
New Objects: When an IFS object being promoted does not exist in the
target environment, that object is added to the target environment.
TIP
To ensure that only the IFS objects contained in the promotion request are
stored in the target environment, be sure to clear the target environment of all
objects prior to initiating the promotion request.
129
Performing Check Out
For example, assume that you initially check out a single IFS file,
FILE1.TXT. After making changes and saving the file, you realize you
need to change more files in the environment so you check out the entire
environment’s contents to the same target environment using the *.*
method. This action overwrites the FILE1.TXT that was already in the
target environment, which may have been the result you wanted. If you
want to retain your changes, you need to check out the additional files by
specifying them as individual files.
Continuing with the example, when you later promote the environment’s
contents using the *.* method, the unchanged FILE1.TXT is moved back
into production. Additionally, if the Remove from objects field on the
Create Request panel is set to Y, file FILE1.TXT no longer exists in the
directory in the From environment since the file was also checked out
individually. The locks placed on the file during the initial check out still
exist, although the file does not. You can correct this situation by manually
deleting the lock on the file. Again, this situation can be avoided by
continuing to use the single file method for your promotion.
TIP
For most purposes, use the same check out method each time you perform a
check out to the same target environment. Continue to use this method when
creating promotion requests for the checked out IFS objects.
2 At the top of the Check Out panel, specify From and To environments
that are set up to manage IFS objects. To specify the entire contents of
an environment, type *.* in the Mbr/obj field, and type a backslash
(\) in the Code field.
Check Out IFS This task allows you to check out using the Check Out IFS (ICHKOUTIFS)
command rather than the menu interface. You can issue the ICHKOUTIFS
(ICHKOUTIFS) command from a command line within Implementer or embed the
Command
130 u s e r g u i d e
Checking Out IFS Files and Directories
command in your own user program. You can also embed the command as
a user option in PDM, ABSTRACT, or PathFinder to further automate the
check out process.
This command is additionally used for the MKS Integrity Solution multi-
platform integration and development, to load the build numbers (the
version of objects coming from the desktop). For more information about
this feature, see the Implementer Multi-Platform Solutions Guide.
*PATH Derives the environment from the project path for the project
specified in the Project Reference parameter. A project path
must exist to use this value. If a project path does not exist, it
defaults to the environment path. If an environment path does
not exist, a message displays stating you must specify an
environment name. *PATH is the default value.
*USRPRF Derives the environment from the value defined as your
default check out from environment, in Work with Users.
Char value Specify the environment name. The environment is
determined from the environment path established for the
specified environment.
131
Performing Check Out
To environment
*PATH Derives the environment or library from the project path of the
project entered in the Project Reference parameter. A project
path must exist to use this value. If a project path does not
exist, it defaults to the environment path. If an environment
path does not exist, a message displays stating you must
specify an environment or library name. *PATH is the default
value.
*USRPRF Derives the value from the value defined as your default check
out to environment or library, in Work with Users.
Char value Specify a valid environment or library name.
Project reference
Specify the project associated with the object check out. This parameter is
not valid when Integrity Manager is the enabled issue tracking system.
Lock type
Specify the type of check out and corresponding lock to place on the object.
Object
Specify the IFS name, in path\name format, of the object to check out.
132 u s e r g u i d e
Checking Out IFS Files and Directories
Action
Specify the action to be taken in the production environment for the object.
Lock comment
Revision
Specify the revision number to assign (if applicable). This value will
override the next version number to automatically be assigned.
133
Performing Check Out
Submit
Job queue
Library
Name Specify the library name if the library is not on the library list.
*LIBL Retrieves the library from the library list. This is the default
value.
Automatically If enabled, Implementer automatically creates new object codes when you
check out IFS files or directories with extensions that do not currently exist
Creating Object in Work with Object Codes.
Codes in Check To determine if this option is enabled, contact your System Administrator.
Out
To create an IFS object code during check out
134 u s e r g u i d e
Checking Out IFS Files and Directories
2 At the top of the Check Out panel, specify From and To environments
that are set up to manage IFS objects. If the object code (preceded by a
dot (.) for a file and a backslash (\) for a directory) does not currently
exist, a message displays, as illustrated next.
3 Type one of the following values in the Reply field and press ENTER
to create the new object code:
1=Don’t add Use this option if you do not want the new object code
added. The Check Out panel will display and you can
specify a different object for check out.
2=Add Use this option to automatically add the new object
code and to continue prompting during this check out
session for any other object codes that do not exist.
Press ENTER to create the new code. The check out
proceeds normally until another non-existent object
code is found.
3=Add all future Use this option to add the new object code added and
without warning to automatically create any other non-existent object
codes during this check out session.
Support for Implementer provides support for your client/server and e-Business
applications by offering check out and promotion deployment of IFS
Multi-Platform objects using a browser interface. This browser-based integration is built
Check Out on the existing proven framework of Implementer technology, which
includes the latest support for IFS technology and the change management
of client/server development. For more information, see the Implementer
Multi-Platform Solutions Guide.
135
Performing Check Out
Implementer also provides mounted drive support for IFS objects that
reside on a computer running Windows NT Server. This feature requires
additional setup considerations for environments, user profiles, and
communications. For more information, see Chapter 3 of the Implementer
System Administrator Guide.
136 u s e r g u i d e
Checking Out for Concurrent Development
2 On the Check Out main panel, use the location defaults from the
project path, environment path, or user profile, or specify the from
environment, to library or to environment, and project reference. You
can prompt for the project reference and environments with F4=List.
This message indicates that you must use option 13 to view the locked
members/objects. Type 13 in the option field for the member/object
mentioned in the message, and press ENTER to display the Select
version for concurrent development panel.
NOTE
If you already know the Copy from environment (the location of the member/
object you specifically need), you can type it in this field.
137
Performing Check Out
The member/object you choose here is the starting point for your
change. For example, if a member is currently checked out for a major
enhancement that will not be completed for many weeks, and you
only need to make a simple change, you would probably choose the
member currently in production. A different example is, when a
change is currently being tested in a quality assurance area and you
need to make a change that includes the change currently in QA. In
this case, choose the member/object that is currently in QA.
6 Press F9=Accept to perform the check out and display the menu.
138 u s e r g u i d e
Checking Out Related Objects
This task ensures that you check out any related objects that require
changes.
During check out, either you can add all related objects to be checked out,
or you can select from the related objects to be checked out. If related
objects are not checked out, you can specify to recompile them during
promotion. If you have a SQL table or physical file on the request, all
related logical files are automatically compiled.
You can also check out related objects from the Select Entity panel when
you are associating check out with a design request. For more information,
see the DesignTracker User Guide.
This function does not support related objects for AS/SET definitions or
LANSA objects.
From the Workbench, type 8 in the option field next to the object of
type *FILE or *DTAARA and press ENTER to check out related
members/objects.
From the Workbench Check Out panel or the traditional Check Out
panel, type 10 in the option field next to the object of type *FILE or
*DTAARA and press ENTER to check out related members/objects.
139
Performing Check Out
Type 9 in the option field next to the object of type *FILE or *DTAARA
and press ENTER to display related members/objects on the Select
from Related Objects panel. Using this method requires the following
additional steps:
d) On the Check Out main panel, press F9=Accept to check out the
members/objects and display the menu.
Task Variation If you use related environments and multiple occurrences exist of a file or
data area, checking out related objects is a two-step process:
for Multiple
1 If you attempt to add multiple recurring related objects, a message
Recurring displays instructing you to press F4=List to display the Check Out
Members/ Members/Objects Selection panel.
Objects 2 In the Check Out Members/Objects Selection panel, press F8=Display
all, to display all occurrences of a member/object in different related
environments. Use option 9 for Display related objects, or option 10
for Add related objects for the specific version of a multiple occurring
member/object.
Common If you modify a physical file by adding a field, do you need to check
out related logical files and programs even if you don't need to
Questions change them?
No. You do not need to check out the related objects if you do not intend to
modify them. Related objects are automatically recompiled if you specify
this on the request.
No. You can only display related objects on the *FILE or *DTAARA object
types.
140 u s e r g u i d e
Checking Out With a Design Request
Why are all related objects not found when you display related
objects?
The related objects were not found in the from environment. The related
objects must exist in libraries defined for the from environment.
You probably did not run the Build List function after you set up the
environment definition, or the from environment definition value for
Maintain related object information is set to N (in Work with
Environments).
When you check out entities (members/objects) associated with a DR, the
entity disposition is updated to 2 (in addition to the DR status). The entity
disposition continues to be updated throughout the promotion cycle.
141
Performing Check Out
0 Not ready (always set to 0 when the entity is added to the list).
1 Ready to checkout (entity is ready to be checked out).
2 In development (entity is checked out and in development).
3 In QA (entity is checked out and in quality assurance for testing).
4 Completed (entity was moved into a *PRD (production) environment).
When a DR is specified in Check Out, and the Dev Resource Initials field
for that DR is blank, it is updated with the initials of the user performing
the check out.
From either the Workbench or Work with Objects, use the Design
Request field to filter the panel to the required DR. You can use the
default DR number, if displayed, or you can type the DR number.
Any objects selected for check out will be checked out to the filtered
DR. If you filter on a specific DR and choose to check out to a different
DR, you must change the DR number to the new number and press F8
142 u s e r g u i d e
Checking Out With a Design Request
IMPORTANT
MKS recommends that you review the Notes in the subsequent steps for
additional important information related to checking out with a DR.
1 Use one of the following methods to access the Check Out panel.
Or, use one of the following methods from either of these panels
(subsequent steps assume you have checked out from the
Workbench):
2 Specify the DR number. You can perform this step from the
Workbench or the Work with Objects panel before proceeding to the
Check Out main panel, or from the Check Out main panel. Use one of
the following options to specify the DR number:
143
Performing Check Out
From the Work With Entity List panel, select F6=Select Objects to
access the Member/Object Selection panel. You can select
additional members/objects to add to an entity list, view lock
details, perform related object processing, and a variety of other
options. The environment used is based on the production
environment specified on the Design Request Development
Information panel in DesignTracker, or the product and version
associated with the DR.
From the Work with Entity List panel, use F20=Create IM Project
to create an Implementer project. You can also use F8=Crt/Upd
PM Project to directly interface from the Entity List into
ProjectMaster to create and/or update a project. When you select
this function, existing projects are updated. For non-existing
projects, a project definition is created and updated (you can later
define the specific project parameters from within ProjectMaster).
A message displays to indicate what was updated, for example,
“Project DT12345 created/updated with 1 function
and 0 tasks.”
144 u s e r g u i d e
Checking Out With a Design Request
3 On the Check Out main panel, specify the from environment by using
one of the following options:
5 The project reference defaults from the selected DR. If the project
reference has a defined application path, the from and to
environments default based on that project’s path.
NOTE
An equivalent Implementer project must exist for the DesignTracker project.
To create a project, press F10=Select entity to display the Select Entity panel.
Press F20=Create IM Project. Press F12=Cancel to display the Check Out main
panel.
145
Performing Check Out
NOTE
If the selected items do not have the same grouping criteria (from environment
or library, to environment or library, DR, and project number), the check out
must be performed in a group. If members/objects found are not in the same
group as the first item selected, a message alerts you that you must process all
members/objects either as a single group or process them in separate groups.
NOTE
A DR number is required to use this option. In the Select Entity panel, type
option 1 next to the entities and press ENTER to display the Check Out panel.
a) Type option 5 next to the object code, and press ENTER to display
members/objects on the Member/Object Selection panel.
146 u s e r g u i d e
Checking Out With a Design Request
You can check out AS/SET definitions from and to specified AS/
SET environments that are defined in Work with Environments.
When checking out AS/SET definitions, you must use the specific
object codes that are defined with special characteristics starting
with ADK.
You can check out J.D. Edwards traditional and special objects
from and to specified J.D. Edwards environments that are defined
in Work with Environments. When checking out J.D. Edwards
definitions, you must use the specific object codes that are defined
with special characteristics starting with JDE.
NOTE
Depending on how you access the Check Out function, you can edit the
member/object selection.
8 Press F9=Accept to process the check out and display the previous
panel. A message displays indicating that the member/object(s) was
checked out. A lock is created for each member/object indicating
work in process in the Workbench, and the member (or object for non-
source-based objects) is copied into the development library or
environment.
Common Can you select any DR to associate with the check out?
Questions No. Only approved DRs with a specific Implementer project can be
associated with the members/objects you want to check out.
147
Performing Check Out
No. A lock exists for any members/objects that are checked out. You can
associate a DR with an existing lock in the Workbench by changing the lock
characteristics of the DR and project with option 7 for Change. You can
add additional DRs using option 26 for Multiple design requests.
However, a DR must be approved and have an associated Implementer
project before it can be associated with a lock.
No. You can select the members/objects with any of the selection
processes, or enter them in the member/object field. At the completion of
the checkout, the DR entity list is updated automatically.
This section provides an overview of how the ILE object codes that are
shipped with Implementer are used within the product. Authorized users
can use Work with Object Codes to view object code definitions. For a
complete listing of all object codes, contact your Implementer System
Administrator.
Binding The BNDDIR object code is used to check out and promote binding
directory objects. This is done by creating a duplicate object of the binding
Directories directory in the From environment to the To environment. The modules
and service programs entered in the binding directory should use *LIBL
for the LIB parameter to allow access to the modules and service program
wherever they reside in your environment setup.
148 u s e r g u i d e
Using ILE Object Codes in Check Out
Modules For RPGMOD, CMOD, CLMOD, and CBLMOD the module object codes
function similarly to standard program object codes (for example, RPG,
CBL, and CLP). They use CRTxxxMOD commands and require no special
treatment.
Bound For RPGBND, CBND, CLBND, and CBLBND the bound program object
codes function similarly to standard program object codes (for example,
Programs RPG, CBL, and CLP). They use the CRTBNDxxx commands and require no
special treatment.
ILE SQL For RPGSQLI, CSQLI, and CBLSQLI the ILE SQL program object codes
function similarly to standard program object codes (for example, RPG,
Programs CBL, and CLP). They use the CRTSQLxxxI commands and require no
special treatment.
Service For RPGSRV, CSRV, CLSRV, CBLSRV, and SRVPGM t he service program
object codes use the CRTSRVPGM command. A separate code exists for
Programs each language (for example, RPG, C, CL, and CBL), and one exists for
mixed language service programs. Use the language-specific codes for
service programs that contain modules, or for service programs for only
that specific language. Use the mixed service program code (SRVPGM)
when the service program consists of modules and/or service programs of
different languages. When using these codes, prompt the creation
command and review the MODULE, EXPORT, and BNDDIR parameters
for correctness based upon the ILE technique you are using.
Update Service For SRVPGMU, the update service program object code uses the
UPDSRVPGM command. When using this code, prompt the creation
Program command and change the MODULE parameter from ENTERLIST to the
modules or service programs being updated in the service program. When
checking out using this code, you may need to change the Allow object
attribute change flag in the unfolded view of the Check Out panel to Y.
ILE Program For RPGILE, CILE, CLILE, CBLILE, and ILEPGM the ILE program object
codes use the CRTPGM command. A separate code exists for each ILE
language (for example, C, CBL, CL, or RPG). The CRTPGM command
assigns an object attribute based upon the language used for the Entry
Point Module. You should therefore, choose the object code corresponding
to that language attribute (CLE, CLLE, CBLLE, or RPGLE). Note that a
generic ILEPGM object code with no attribute is included. This is only
needed for early versions of V3R1M0 and V3R0M5, where mixed language
ILE programs did not get an attribute assigned.
149
Performing Check Out
Update ILE For ILEPGMU, the update ILE program object code uses the UPDPGM
command. When using this code, prompt the creation command and
Program change the MODULE parameter from ENTERLIST to the modules or
service programs being updated in the ILE program. When checking out
using this code, you may need to change the Allow object attribute change
flag in the unfolded view of the Check Out panel to Y.
The next illustration shows the Check Out panel completed for checking
out a physical file and its data.
At check out, the PF object code checks out the physical file and its source
while the PFDTA object code checks out the physical file data.
If you are not making changes to the physical file definition, you can check
out the data only.
150 u s e r g u i d e
Using Different Source and Object Names in Check Out
The following tasks must be performed prior to using different source and
object name support:
define object codes that use a creation command with the SRCMBR
parameter (must use the keyword #SRCMBR)
Once these setup activities are complete, you can perform all check out
activities by specifying the object name.
If you specify the source name rather than the object name, the
message, “Cannot check out with source member name”
displays to notify you that you must use the object name.
Although the object name displays, the correct source member name is
automatically used, anywhere the source must be referenced.
User Authorities
In different shops, positions and responsibilities are often defined
differently.
In smaller shops where there are few levels, management can allow
increased capabilities (authorities) of Implementer functionality to most
developers.
In larger shops, the tasks can be more divided; thus, capabilities are
distributed to different positions. This task division is most often apparent
in Check Out capabilities.
151
Performing Check Out
Typical User The following chart describes how user capabilities can be divided.
Capabilities
Maintain Concurrent
Position Authorities in Check Out
DR Dev’t
LANSA Export/ During the migration of LANSA objects, you can automatically be granted
LANSA export/import rights. Because Implementer uses the export/
Import import processes for the migration of LANSA objects, insufficient LANSA
Authorities authorities on the objects can lead to failure of migrations. Therefore, if you
are authorized to check out or create promotion requests, you are
automatically granted LANSA authority to perform the export and import
152 u s e r g u i d e
Checking Out for Reject
processes. This authority is in effect only during the time the export or
import process is run. It is automatically revoked when migration is
complete.
You must be using a test (*QAC) environment to use this option. If the
member/object is not in a *QAC environment, an error message occurs
when you attempt to reject it.
Removing When a check out for reject is processed, a window displays that allows
you to specify, in the Delete Member/Object field, whether to remove
Source and source and objects from the *QAC environment.
Objects From The default value of the Delete Member/object field is controlled by data
QA area IMREJECT, which is located in the Implementer product library. If
IMREJECT is set to N, this field defaults to N and the member/objects are
not removed from the QAC environment. Likewise, if IMREJECT is set to
153
Performing Check Out
Y, this field defaults to Y and the member/objects are removed from the
QAC environment. In either case, the value can be overridden during the
reject (the data area simply determines the default that displays in the
Delete Member/Objects field).
For more information about the IMREJECT data area, see Appendix A in
the Implementer System Administrator Guide.
1 From My Workbench, type option 20 for Reject in the Opt field next to
the member/object you want to reject, and press ENTER to display the
Reject Changes panel with the selected member/object(s) listed.
3 Press ENTER to continue with the check out for reject (or override the
value in Delete Member/Objects field and press ENTER to continue
with the check out). The original panel that you performed the Reject
task from displays.
Task Variation You can reject a member/object from a test environment (*QAC) from the
Check Out main panel. Type the name of the test environment in the From
for Rejecting environment field and the development environment or library in the To
From the Menu environment field, and press ENTER. Continue with reject task as defined
previously.
154 u s e r g u i d e
Object Name Rules
Questions No. You can only reject a member/object from a test (*QAC) environment.
When you check out a member/object with action 2=Create the rules are
validated and enforced. If the member/object name does not follow the
specified rules, the check out is not allowed.
Naming rules are set up by the System Administrator. The rules allow for
consistency in member/object naming. They also allow for flexibility—
using standard Boolean logic, they allow for multiple true conditions. For
more advanced requirements, user specified exit programs can also be
used.
NOTE
Check with your System Administrator to verify if this feature is enabled. For
information on defining rules, see the Implementer System Administrator Guide.
1 If the specific object code is not found, the global object code *ALL is
used.
3 If both the object code and environment are not found, the global rule
*ALL/*ALL is used.
155
Performing Check Out
You can use the Check Out (ICHKOUT) command to check out AS/SET
definitions.
156 u s e r g u i d e
Check Out (ICHKOUT) Command
*PATH Derives the environment from the project path for the project
specified in the Project Reference parameter. A project path
must exist to use this value. If a project path does not exist, it
defaults to the environment path. If an environment path does
not exist, a message displays stating you must specify an
environment name. *PATH is the default value.
*USRPRF Derives the environment from the value defined as your
default check out from environment, in Work with Users.
Char value Specify the environment name. The environment is
determined from the environment path of the specified
environment.
To library
*PATH Derives the library from the project path for the project
specified in the Project Reference parameter. A project path
must exist to use this value. If a project path does not exist, it
defaults to the environment path. If an environment path does
not exist, a message displays stating you must specify a
library name. *PATH is the default value.
*USRPRF Derives the library from the value defined as your default
check out to library, in Work with Users.
Name Specify the library name.
To environment
Specify the environment to check out to, if not checking out to a library.
Check out is allowed to development (*TST) environments.
*PATH Derives the environment from the project path for the project
specified in the Project Reference parameter. A project path
must exist to use this value. If a project path does not exist, it
defaults to the environment path. If an environment path does
not exist, a message displays indicating that you must specify
an environment name. *PATH is the default value.
*USRPRF Derives the environment from the value defined as your
default check out to environment, in Work with Users.
Char value Specify the environment name. The environment is
determined from the environment path of the specified
environment.
157
Performing Check Out
Project reference
Lock type
Specify the type of check out and corresponding lock to place on the
member/object.
*STD Standard check out and lock. This is the default value.
*EMERG Emergency check out and lock.
Member/object
Object code
158 u s e r g u i d e
Check Out (ICHKOUT) Command
Action
Specify the action to take in the production environment for the member/
object.
Lock comment
Specify a brief comment about the check out, for example, the reason for
checking out the member/object.
Revision number
Specify a version number that will override the next version number to be
assigned, if object versioning is enabled and required.
159
Performing Check Out
This object must exist on the local system—it cannot be copied from a
remote system. The normal use of this option is to create a new member/
object with action code 2=Create.
Specify the name of the source file to use to copy an existing source-based
object to create a new one. The default is the source file defined for the
from environment for the object code specified.
The Copy from source file and Copy from library fields must be blank if
you enter a Copy from environment.
The Copy from source file and Copy from library fields must be blank if
you enter a Copy from environment.
160 u s e r g u i d e
Check Out (ICHKOUT) Command
To source file
Specify the name of a source file to copy a source-based object to. The
default is the source file defined for the from environment for the object
code specified.
Submit
Specify the standard OS/400 submit job parameter as required. *NO is the
default.
Job queue
Specify the job queue for the command to run in. This parameter displays
when you press F9=All parameters or specify Submit *YES.
161
Performing Check Out
Library
Specify the library associated with the job queue. This parameter displays
when you press F9=All parameters or specify Submit *YES.
Check Out Additional options exist for using the ICHKOUT command in PDM and in
PathFinder.
Command
Variations Using the ICHKOUT Command in PDM
The setup instructions describe how to set up a user-defined PDM option
for this command. Once you define the command in PDM, you can use
user-defined option CO (or a name of your own choosing) for check out.
Many developers prefer to work within PDM. This function allows the
developer to have change management control in check out, while having
the development productivity of using PDM.
Common What is the difference between the check out command interfaces
and the menu interface?
Questions
The command interfaces support generic parameter values and they can be
submitted in batch. You can also use them for integration into PDM and
PathFinder. For example, if you want to check out all accounts payable
objects you could use AP* for the member/object parameter. The menu
interfaces allow you to pick from a list of members/objects and display a
list of environments to check out from. They also allow check out of related
objects.
162 u s e r g u i d e
Converting RPG/400 or RPGIII Source Code to ILE RPG/400
There are two steps to this process: check out the code to convert and
perform the conversion.
1 Display the Check Out panel using any of the methods defined earlier
in this chapter.
a) Add a Check Out entry for the program you are converting using
the RPG object code and option 3=Delete in the Action field.
b) Add RPGMOD and ILEPGM of the same name, if the RPG and
the ILE programs are kept in the same source file, using option
1=Change in the Action field. However, if the source files are
different, for example, QRPGSRC and QRPGLESRC, use option
2=Create in the Action field.
The panel should now look similar to the one illustrated next.
163
Performing Check Out
NOTE
If you are not authorized to the production copies of source, you can specify
the Copy From on the RPGMOD line to get a copy of the source checked out to
the development environment.
a) Add a Check Out entry for the program you are converting using
the RPG object code and option 3=Delete in the Action field.
b) Add RPGMOD of the same name, if the RPG and the ILE
programs are kept in the same source file, using option 1=Change
in the Action field. However, if the source files are different, for
example, QRPGSRC and QRPGLESRC, use option 2=Create in
the Action field.
The panel should now look similar to the one illustrated next.
164 u s e r g u i d e
Converting CRTBNDxxx ILE Programs to CRTPGM Programs
CVTRPGSRC FROMFILE(FROMSRCLIB/FROMSRCFIL)
FROMMBR(FRM_MBR)
TOFILE(TOSRCLIB/TOSRCFIL)
TOMBR(TO_MBR)
165
Performing Check Out
binding the *MODULE that was created in QTEMP. Finally, the command
deletes the *MODULE. As you start to implement a more extensive ILE
architecture, you probably want to start changing some of these *PGMs
over to include multiple modules. The following steps define how to do
this.
1 Check out the program name as shown below to allow splitting the
CRTBNDxxx *PGM into a *MODULE and a CRTPGM style *PGM.
166 u s e r g u i d e
Checking Out Using PathFinder Information
NOTE
PathFinder’s Where Used function shows ILE *MODULE objects that use a file;
however, it does not show the ILE *PGM and *SRVPGM objects that use the file
because they contain those *MODULE objects. To ensure that level checks do
not occur in these *PGM and *SRVPGM objects, use PathFinder’s Where Used
function to list the *PGM and *SRVPGM objects containing the *MODULE
objects. Then add these objects manually to check out.
Environment This setup is necessary if you use PathFinder as the source of information
for the Implementer Related Objects panel or actual member/object
and Library selection through PathFinder.
Setup
Environment Setup
In the second Work with Environments panel (assuming the Maintain
Related Object Information field is set to Y), set the Source of information
field to 2 for PathFinder.
167
Performing Check Out
3 Type the names of your from environment libraries and press ENTER.
The message “Without making changes, press ENTER to
confirm” displays. Press ENTER again to display the PathFinder
Setup menu.
4 Type option 5 and press ENTER to display the User Defaults panel.
In the Object X-Ref library field, type the name of the library that you
want to store the cross-reference information in. This library is entered
again when you run the build for the cross-reference list and press
ENTER.
6 Select option 1 and press ENTER to build the cross-references list and
press ENTER to display the Build/Refresh Object X-Ref panel.
7 Type option 1 and press ENTER to perform the build with the libraries
you inserted in DOCLIBL User Values panel.
8 Type *DOCLIBL and press ENTER. Type the name of the library you
specified earlier to store the cross-reference information and press
ENTER.
Performing the This task assumes you are in the Check Out main panel and have already
selected an object. It is identical to checking out related objects with
Check Out Implementer as the source of information. The only difference is that the
168 u s e r g u i d e
Checking Out Using PathFinder Information
object types include *PGM and *RPG. If it is an *RPG the related objects are
programs that call the selected program. This is useful if you changed the
parameter list of a program and need to modify all programs that pass
parameters to it.
Type 10 in the option field next to the object and press ENTER to
check out related members/objects.
Type 9 in the option field next to the object and press ENTER to
display related members/objects. The Select from Related Objects
panel displays.
NOTE
PathFinder does not currently support ILE programs in the Real Time X-Ref
Update (REALUPD) command. Implementer allows you to bypass the
attempted real time update for these objects to prevent errors on promotions.
Data area IMBNDUPD in the Implementer product library is shipped with a
value of N to bypass the update. Once you receive a version of PathFinder that
supports ILE programs, you should change the value of this data area to Y.
With the data area value set to N, the PathFinder database for ILE programs is
not updated. Therefore, normal PathFinder updates should be run regularly to
keep your data current.
Common What are the setup requirements for using PathFinder with the
Implementer menu interface?
Questions
Set the Maintain Related Object Information field to Y, and set the Source of
information field to 2 for PathFinder. You also need to build the
PathFinder cross-reference list. For more information see “Environment
and Library Setup” on page 167.
169
Performing Check Out
170 u s e r g u i d e
Performing Promotions
6
T he Implementer promotion request contains one or more items to be
promoted. The items placed on the promotion request are those that, from
your perspective, consist of a single change. This change can be as simple
as one object when making a fix or a simple enhancement or it can be an
entirely new version of the application software.
Promotion requests are created in the Create Request function and are
assigned a unique, sequentially created request number. This function
allows you to select source and objects, or a COOL:2E model list for
promotion. Each promotion request can go through different steps
depending on how it was created and the environment types on the
request. These steps are: model copy (if a COOL:2E environment), export
(if LANSA environment), compile, distribution, and move. Promotion
requests can be submitted individually or together in a single job.
Implementer assigns a status to each step, which you can view when
displaying promotion request information.
advanced topics
171
Performing Promotions
The Create Request function is the first step of the promotion cycle. It is a
request for the indicated member/objects to be transferred to the specified
environments. You can create the promotion request through the
Workbench, Work with Objects, the Work with Entity List Members panel
in DesignTracker, the menu interface, or the command interface. In
addition, command interface options are available for PDM and
PathFinder.
The member/objects are copied as they exist at the time the promotion
request is created, into a temporary work library. If the promotion includes
compilation, the member/objects are compiled into this temporary work
library. You can manually accomplish this step through the menu interface
or the command interface. With the menu interface, you can change the
compile attributes, authority methods, and target environments for the
promotion request.
172 u s e r g u i d e
Promotion Request Fundamentals
The next step of the promotion cycle is the move step. The move step
transfers the member/objects into the target environment or environment
group. You can manually complete this task through the menu interface or
the command interface. A user who has administrative capabilities for the
target environment usually does this task. If you select the menu interface,
you can change the attribute overrides, authority methods, and target
environments for the promotion request. If the promotion is to a
production environment, the member/objects are unlocked. If the
promotion is to a quality assurance environment, the locks are reassigned
to indicate that the member/objects exist in the new environment.
This method allows for all positions of the field to use alphanumeric
characters, and the availability of 1,200,000 request numbers before a reset
occurs.
0001–9999 A000
A001–A00Z A010
A010–AZZZ B000
B000–B00Z B010
B010–B0ZZ B100
B100–BZZZ C000
Creating Implementer provides for batch processing of the Create Request function.
Batch processing moves a significant amount of the validation and
Promotion processing (such as source and object copying) that occur during create
Requests in request, to the submitted job, allowing the process to run quicker. Keep in
mind, that although less interactive edit processing occurs, this typically is
Batch
173
Performing Promotions
not an issue for most shops. The batch feature is most beneficial when
promoting multiple items on a request, or when issuing multiple
promotion requests.
Default Compile Implementer ensures all objects are compiled in the correct order by using
the object code sequence number. This ensures files are compiled before
Order programs, and reference files are compiled before the other files that use
them. For example, by using the object code of PFREF (which has a
creation sequence of 90, compared to PF, which has the creation sequence
of 100) to check out and promote the item, reference files are compiled
before physical files.
Promotion Implementer offers two methods of promotion—the one step method and
a traditional method. The one step method allows you to create a
Methods promotion request and promote the items using a fast path approach that
saves time and effort, thereby minimizing the steps required in the create
request function. The traditional promotion method, which is more
interactive, displays the Create Request panel and requires additional
input for processing. Both methods provide access to many of the same
features and produce the same results. However, because of time saving
advantages to the one step method, it is typically the preferred method.
The default promotion method is defined on a per user basis in Work With
Users, controlled by the Enable One Step Promotion flag. When you
initially install Implementer, the one step promotion method is enabled by
default.
The Create Request task must be performed when you have made changes
to member/objects and they are ready to be promoted to the next
environment. You must have authority to the Create Request function, as
well as authority to create a promotion request to the target environment
and out of the from environment.
174 u s e r g u i d e
Creating Requests With the One Step Promotion Method
you can perform this task. If you are authorized, the related information is
automatically updated during the move step. Locks that are associated
with a design request represent the relationship between the item and the
design request.
You can promote AS/SET definitions and traditional objects on the same
promotion request.
You can promote LANSA and traditional objects on the same promotion
request.
All valid LANSA objects on the promotion request are bundled into an
export list. LANSA objects are promoted in compiled form.
NOTE
The Create Request Comments feature is automatically enabled when you
install Implementer. When you create a promotion request and press
F9=Accept, the Comments panel displays and requires you type an explanation
for the promotion before allowing you to continue. The feature can be disabled,
while still allowing issue or design request comments to be added (when
promoted objects are associated with an issue or DR, the comments associated
with the primary issue or DR are automatically added to the promotion
request). For more information, contact your System Administrator, or see
Chapter 3 of the Implementer System Administrator Guide.
175
Performing Promotions
With the one step method enabled, from the Workbench you can perform
any required overrides (for example, changing special commands or object
codes), by selecting the items for promotion and pressing F4=List to
display the traditional Create Request panel. This is important to know,
because task variations described later in this chapter require processing
from the Create Request panel.
2 If the Comments panel displays, type a comment and press ENTER (as
explained earlier, you may or may not be required to enter comments).
In this example, the request was initiated from the Workbench. Notice
the Status column indicates ARCMNT is currently being promoted
from development to QA. A message displays at the bottom of the
176 u s e r g u i d e
Creating Requests With the Traditional Promotion Method
panel to inform you of the request number and that the move request
was submitted.
Resolving If an error is encountered during the edit check and validation process, the
Resolve Promotion Request Problems panel displays, with the appropriate
Promotion errors listed at the bottom of the panel. You can position to the error and
Request press F1 for additional message information. This panel allows you to
resolve the errors; after correcting the errors, press F9=Accept to continue
Problems processing the request.
The majority of promotion tasks are accessible from the Workbench and
from Work with Objects however; they are all accessible from the menu.
177
Performing Promotions
You can access Emergency Create Request using one of the following
methods:
178 u s e r g u i d e
Creating Requests With the Traditional Promotion Method
Use one of the following options to complete the From location field.
179
Performing Promotions
You cannot promote AS/SET definitions from a library. You can only
promote AS/SET definitions from a specifically defined AS/SET
environment.
Project Reference
Use one of the following options to complete the Project reference field.
Use your default project or the project you selected in the Workbench
or in Work with Objects.
If you are using design requests, the associated design request project
should default. If it does not, use the appropriate project reference.
If you specify a project that has a defined application path, the from and to
environments default from the project’s path.
180 u s e r g u i d e
Creating Requests With the Traditional Promotion Method
Member/object list
If you initiated the create request process from the Workbench option
11=Promote, Work with Objects option 27=Promote, or option 9=Add
to Clipboard, the member/objects currently display on the Create
Request main panel.
Press F10=Select from locks to select from a list of members that are
already checked out. You can filter on the DR number to view related
locks. For further details, see “Creating Requests by Selecting From
Locks” on page 189.
181
Performing Promotions
All valid LANSA objects on the promotion request are bundled into an
export list. LANSA objects are promoted in compiled form.
If the member/object being promoted has one of the special object codes
denoting a LANSA or AS/SET object, the from environment should have a
special environment denoting LANSA or ASSET.
If you are promoting an AS/SET display program with the associated help,
you have to promote two objects with the same name. One of the objects
must use the object code with the special characteristic ADKDSP for the
display program. The other object must use a separate object code created
with the special characteristic ADKHLP to promote the help text associated
with the display program.
Action
Specify the action that you want to take with the member/objects included
in the request.
182 u s e r g u i d e
Creating Requests With the Traditional Promotion Method
If the action is not specified, the value defaults to 1=Change (the most
frequently used action). If you are replacing an existing program with a
new program, use option 2=Delete to remove the existing program.
Optimizing Implementer provides a feature that allows you to optimize the promotion
of DDS-based physical files created with the Create Physical File (CRTPF)
Physical File command.
Promotions
For information on enabling This feature is globally defined in System Control Maintenance. When
optimized promotions, see enabled, all physical file promotions are automatically optimized, although
Chapter 3 of the Implementer
users with Move Request authority (defined in Work with Users) have the
System Administrator Guide.
ability to change the optimize status on a per request basis—this is allowed
only when creating the request. Changing the optimize status is supported
when creating a request using any described method in this chapter; for
example, from the menu option or using the ICRTRQS command.
For more information on With optimizing, Implementer uses the Change Physical File (CHGPF)
promoting DDS files and SQL command over the target file/library in production when promoting DDS-
tables, see “Database
based physical files. The processing steps of an optimized PF promotion
Management” on page 308.
are similar to those of an SQL DLL file promotion, in that most of the work
is performed in the production library during the move step. This
technique ensures the integrity of your production files, while at the same
time bypasses a significant amount of the promotion processing that
otherwise occurs in the Implementer work libraries. Because this technique
runs directly over production files, optimized promotions are typically
submitted for evening or weekend processing when the files are not used.
When optimize is not used, physical file promotions use the standard
Copy File (CPYF) command over Implementer work libraries. Existing
data is retained using the record format field mapping options *MAP and
*DROP on the CPYF command.
183
Performing Promotions
When checking out SQL tables, the Primary Key, Unique, and Check
constraints are copied to the development environment. The Foreign Key
constraint and triggers are dropped to ensure no dependencies exist to a
production environment. For sourced-based SQL files, Implementer
retrieves the triggers and constraints in the from environments and
promotes them forward as well.
184 u s e r g u i d e
Creating Requests With the Traditional Promotion Method
General Precautions
When using optimized PF promotions, note that:
The following steps assume the PF is checked out and selected for
promotion on the Create Request panel.
185
Performing Promotions
Overriding Job You can override the defaults established in Work with Environments,
Promotion Scheduling for the following fields:
Submission
Date range
Defaults
Time range
Job queue
Library
This task assumes you are in the Create Request Overrides panel.
186 u s e r g u i d e
Creating Requests With the Traditional Promotion Method
3 Specify the overrides. Type the Request Submission defaults for the
compile stage of the promotion process. The Time range fields must be
entered in HH:MM:SS format.
Changing Job Job queue manipulation can affect the successful completion of the
CMPCHK job, because if you submit the CMPCHK job before all compiles
Queues During complete, the compile step fails. To avoid this problem, place the
the Compile CMPCHK job on hold and do not release it until all other jobs for the
request complete. This action allows you to move the compiles to various
Step job queues without impact, provided they process in the proper sequence.
The CMPCHK job checks the job list to verify that all member/objects
successfully generated and compiled, and changes the status of the
promotion to Move-Pend (or Dist-Pend for remote environments).
Changing The commands used to compile objects can be modified during promotion
request creation by selecting a member/object with option 1=Override
Compile creation attribute from the Create Request panel. Only the parameters
Commands designated as modifiable in Work with Objects Codes can be overridden.
This feature is particularly useful for new member/objects. Existing
member/objects are compiled using a combination of overrides and the
existing characteristics of the object.
The following logic is used for each parameter on the creation command:
If the parameter was not overridden (or there is no override at all) and
the parameter is specified in the object code, that value is used.
187
Performing Promotions
For existing objects, if you want to ensure the existing system default value
is used for a parameter but do not want to override the value, you can
specify the parameter with no value. For example, if you want to default
the Restore Display (RSTDSP) parameter for display files, qualify it as
RSTDSP() when you define the object code in Work with Object Codes.
Questions No. Copies of both member/objects that will not be recompiled are placed
into a temporary work library. The member/objects remain in the from
environment libraries.
188 u s e r g u i d e
Creating Requests by Selecting From Locks
No, you cannot restrict this option as a whole. However, you can restrict
individual keywords on the creation command. To effectively prevent
changes to the creation command, you can optionally restrict all keywords.
How does Implementer handle a join logical file built over multiple
physical files with the same name?
Implementer does not support qualified library names in the logical file
source. MKS suggests that you use an open query file rather than a logical
file to accomplish this function.
Yes. The flags that control this feature are at the user level (defined in Work
with Users). You can enable this flag based on the need of each developer.
Keep in mind that the one step promotion method applies to creating
requests from the Workbench, the Clipboard, and Work with Objects. All
other Create Request options, including the commands and menu options,
process the traditional method.
The developer must have authority to the Create Request function, as well
as authority to create a promotion request to the target environment and
out of the from environment.
189
Performing Promotions
Benefits of The Select from Locks function is powerful as both a selection method and
for inquiry. With Select from Locks you can determine:
Selecting From
current activity for a specific user
Locks
current activity of member/objects
lock status
This task assumes you are working from the Create Request panel.
In the Select from Locks panel, type option 1 next to the member/
objects and press ENTER. A message displays indicating that the
selected member/objects have been inserted on the Create
Request main panel. Press ENTER again to return to the Create
Request main panel.
NOTE
The Select from Locks panel is versatile for viewing and selecting locked
member/objects. Ensure you have correctly established filters for what you
want to view. For example, a default project filters out any projects created
through DesignTracker that are not equal to the default project of a user.
190 u s e r g u i d e
Creating Requests by Selecting From Locks
Common Why don’t you see everything checked out to the environment you are
checking in from?
Questions
By default, this panel initially displays only the member/objects that are
checked out to you in the from environment and to the project entered on
the previous panel. You can display all objects checked out to this
environment by blanking out the filter field on the panel.
NOTE
Even if you set the parameters so you can view member/objects checked out
by another user, you are not allowed to check them in. If you attempt to check
the member/objects in, you get the message, “Mbr/obj XXXXXX is
checked out to XXXXXX”.
191
Performing Promotions
This task assumes you are in the Create Request main panel.
1 Press F7=Object list to select from a list of objects and display the
Create Request Object Selection panel.
Common When using F7=Object List or F8=Member List, why don’t you see any
member/objects to select?
Questions
Either you did not check out the member/objects in Implementer, or you
did not run the Build List function for the from environment.
192 u s e r g u i d e
Creating Requests From the Member List
This task is only available when you promote from an environment (not
from a library). It is usually performed by the developer; however, it can
also be performed by the environment administrator who has move
capabilities.
To perform this task, you must have run the Build List function, and you
must have authority to the Create Request function and the authority to
create a promotion request for the target environment.
This task assumes you are in the Create Request main panel.
2 In the Create Request Member List Selection panel, type option 1 next
to All members and press ENTER to redisplay the Create Request
main panel.
Task Variations In the Create Request, Member List Selection panel, do one of the following
for Step 2:
193
Performing Promotions
c) Rerun option 30, Build List to record the changes for the
environment since the last build.
Common Why doesn’t the object exist in the target environment when action
type is 1 for change?
Questions
This occurs when you use the member’s list to select member/objects. You
should change the actual type to 2 for Create.
194 u s e r g u i d e
Creating a Request by Copying a Request
To use this feature, you must have authority to the Create Request function
and the authority to create a promotion request for the target environment.
2 Type option 1 next to the specific promotion request and press ENTER
to redisplay the Create Request panel.
195
Performing Promotions
Common How are sure the request on the list is the one you want, or is there a
way to see the member/objects on a particular request?
Questions
Yes. Use option 5 on the Create Request, Request to Duplicate panel, or use
Request Inquiry before you create the promotion request.
What happens to the objects in the request that were copied? What is
their status? Are they still locked?
The original promotion request and objects remain unchanged. The new
promotion request initiates a new series of promotion status codes related
to the new request. If the original request was to a production environment
and completed, the locks were removed at the time of the original
promotion. If the original request was not to a production environment,
the locks were updated by this promotion request.
When using this command for SQL objects, ensure that you use SQL object
codes (with the SQL special characteristic) only for SQL objects. For
example, you cannot use the SQLT object code (for SQL Tables) to promote
a DDS-based physical file.
In addition, you cannot mix SQL and DDS files—for example, you cannot
promote an SQL-based logical file over a DDS-based physical file (and vice
versa).
The developer must have authority to the Create Request function, as well
as the authority to create a promotion request for the target environment.
196 u s e r g u i d e
Creating Requests With the ICRTRQS Command
Member/Object
Object code
Comments
The project reference can default from the user profile. If the user
profile is not assigned defaults for these values or if you are checking
out to different environments (or neither), type the project reference.
If you specify a project reference value along with the *PATH default
environment value, Implementer first attempts to derive the
environment value from the project path. If it is not successful
(indicating the specified project does not have a defined application
path), it looks for an environment path. If that is not successful the
*PATH value is not replaced and a message displays stating you must
enter an environment name.
NOTE
If you need to request more than one member/object, type + in the field next to
the member/object list and press ENTER to display the Specify More Values
for the Member/Object panel. This allows you to insert numerous member/
objects.
197
Performing Promotions
The PDM option uses the ICRTRQS command, which is accessible from
within PDM, and avoids disrupting a developers normal development
work. Because the PDM option calls the ICRTRQS command, it does not
have the full functionality of the Create Request menu option. It is helpful
to define the target environment definition to have the Auto Submit field
in the Create Request defaults set to Y (yes) and the Through Step field set
to 2 to (compile). For more information, see “Setting Up User-Defined
PDM Options” in Chapter 3 of the Implementer System Administrator Guide.
The developer must have authority to the Create Request function, as well
as the authority to create a promotion request for the target environment.
NOTE
You must set the option file in PDM (F18=Change Defaults) to IMPDMOPT,
the library to MKSIM, and the member to IMPDMOPT. To view the options,
press F16=User options.
Questions Yes. It is necessary to set the option file in PDM (F18=Change Defaults) to
IMPDMOPT, the library to MKSIM, and the member IMPDMOPT. To view
the options, press F16=User options. Alternatively, this option can be
added to any options file.
198 u s e r g u i d e
Selecting Additional Target Environments
You need to insert them or change the file, library, and member defaults.
To add them to the regular PDM library, write them in manually; do not
copy them with the CPYF command. The IBM file is a sorted file and not a
keyed access file. The options are not in the proper order.
Yes. To add multiple members to the request, specify *CLPBRD to add all
previously selected members to the request.
199
Performing Promotions
b) Verify that the Cmp field is set to Y if you want to compile the
member/objects, or set to N if you do not want to compile the
member/objects.
3 Press F9=Accept.
Questions No. Only the target environments that you are authorized to promote to
will be available.
First, Implementer uses the Build List function as the source of related
objects across environments, including remote environments. The Build
List updates the repository to show the environments where related objects
exist. When displaying or selecting related objects, Implementer displays a
list of all related object that exist in all environments.
200 u s e r g u i d e
Promoting Related Objects
Implementer allows you to review impacted objects and select any or all of
them for checkout. In addition, any impacted objects that were not checked
out but still require compiling are automatically added to the promotion
request, compiled, and promoted when their associated objects are
promoted.
NOTE
When using Hawkeye, Implementer only supports cross-environment related
objects when defined within the primary Hawkeye database library. In
addition, Hawkeye does not support cross environment related object
processing for objects that exist in *QAC environments.
201
Performing Promotions
Once the primary request is complete and all objects are moved to the
target environment, Implementer submits any secondary requests that
need to be generated. A single primary request can generate one to many
secondary requests, depending on the number of environments a related
object is found in.
Target
Request Type Related Objects
Environment
202 u s e r g u i d e
Promoting Related Objects
IMPORTANT
In previous releases of Implementer, an object code environment override
method was used to handle cross-environment related object processing. While
this method is still supported, be aware of the following:
If you currently use the object code environment override method and decide
to de-activate or delete any associated object codes (to use the automated
method), you will lose the history of the relationship between the old and the
new object definitions, since the object will change with the new method.
If the automated method is enabled and you continue to use the object code
environment override method, the secondary request generation process will
not occur.
203
Performing Promotions
In Request Inquiry, you can determine if a request has any related requests
by the Related Requests column. When related requests do not exist, the
value is blank. When related requests do exist, either the value “Primary”
or “Secondary” displays to identify the related request type. Use option
15=Related Requests to display a list of the related requests. Alternatively,
from Request Inquiry select the request with option 8=Request info and
press ENTER. Press F15=Related requests. You can display the related
request details with option 5=Display.
From the Archive Recovery panel, you can determine if a request has any
secondary requests by the value in the Related Requests column. When
related requests do not exist, the value is blank indicating a standard
release. When a related request does exist, the value “Primary” or
“Secondary” displays to identify the release type.
NOTE
The cross-environment related object promotion feature is controlled by a
global value defined in System Control Maintenance. This gives you the ability
to enable and disable the feature as needed. By default, the feature is disabled.
You can also define whether Implementer causes a primary request to end (in
Comp-fail) or continue, if there is an error while generating any secondary
requests for cross-environment related objects. This feature also requires the
Add Related Objects field in the environment definition be set to Y.
204 u s e r g u i d e
Overriding Create Request Defaults
NOTE
Implementer can grant LANSA export/import rights to users automatically
during the migration of LANSA objects. Because Implementer uses the export/
import processes for the migration of LANSA objects, insufficient LANSA
authorities on the objects can lead to failure of migrations. Therefore, if you are
authorized to check out or create promotion requests, you are automatically
granted LANSA authority to perform the export and import processes. This
authority is in effect only during the time the export or import process is
executed. It is automatically revoked when migration is complete.
Removing You have the option to customize how Implementer automatically handles
objects and source in a local *TST or *QAC environment, upon successful
Objects and completion of a promotion request from the environment.
Source in This feature is enabled by defaults at the environment level, with
Promotion validation to environment object code overrides as needed.
205
Performing Promotions
If a user attempts to change the default values for the remove flags on the
promotion request, the user profile Allow Override fields are validated for
authority to perform the override.
When promoting from a library the request level flags are set to the value
defined for the user profile creating the request. When the user profile flags
are set to N, the request level flags default to 2=never. When the user
profile flags are set to Y, the request level flags default to 1=always. This
can be overridden provided the user has proper authority. The value 3=per
object code is not allowed when promoting from a library.
For information on setting up When promoting from a *TST or *QAC environment, the request level
this feature, see the flags default to the value defined for the from environment. (This feature
Implementer System
does not apply to *PRD or remote environments since Implementer does
Administrator Guide.
not allow promotion from these environment types.)
This task assumes that your user profile is configured to allow overrides,
you are in the Create Request main panel, and have already selected the
member/objects for promotion.
206 u s e r g u i d e
Overriding Create Request Defaults
Field Description
Remove obj in from Specify whether to automatically delete the objects in the
lib/env from environment upon successful completion of the
promotion request. Specify 1=always, 2=never, or 3=per
obj code.
Remove src in from Specify whether to automatically delete the source in the
lib/env from environment upon successful completion of the
promotion request. Specify 1=always, 2=never, or 3=per
obj code.
Add related objects For traditional environments only. Specify whether to add
to request all related objects to the request before promoting the
request. Adding related objects to a request ensures you
do not promote an object that would cause a level check
in this environment.
207
Performing Promotions
NOTE
The only time a promotion scheduling change can occur from Create Request is
when the submission options for Auto-submit in Create Request is set to Y
through the compile step.
Questions Yes. Restrict their authority through user profile maintenance and
environment setup.
This task assumes you are in the Create Request panel and the member/
objects are selected for promotion.
208 u s e r g u i d e
Changing Request Details
a) Action
209
Performing Promotions
IMPORTANT
You must have the Override object attribute source field set to Y to change the
default. This is defined in Work with Users, Environment Capabilities.
c) Create sequence
210 u s e r g u i d e
Maintaining Promotion Requests
This task allows you to maintain almost all aspects of a request (except
environment information). It also allows you to recopy the source from the
from library to the holding library for the source. This is useful when a
change has been made to the source after the request is created and the
source is needed on the request.
Only the user that created the initial promotion request or the user
that has move capabilities for the primary target environment can
maintain a promotion request.
You cannot maintain a promotion request once the objects for that
promotion request are successfully compiled. You can only maintain
promotion requests with a status of Comp-Pend, Comp-Fail, Expt-
Pend, or Expt-Fail.
If you want to choose from the promotion request list in the Request
Maintenance Request Selection panel, type option 2 next to the
promotion request you want to select, and press ENTER.
211
Performing Promotions
Work folders are created for each request under a single root folder,
/IMPRMRQS.
NOTE
Support for Document Library Objects (DLO) within the IFS is included. When
performing change management of DLOs, all DLO attributes and
characteristics are automatically retained. However, promotion of QDLS and
DLO objects is only supported within the system Auxiliary Store Pool (ASP)
ASP1. This is because the Move Object (MOV) command that is used to move
QDLS and IFS objects from the staging directory to the target directory does
not support spanning of ASPs.
212 u s e r g u i d e
Promoting IFS Files and Directories
Support for Implementer provides support for your client/server and e-Business
applications by offering check out and promotion deployment of IFS
Browser-based objects, using a browser interface. This browser-based integration is built
Promotions on the existing proven framework of Implementer technology, which
includes the latest support for IFS technology and the change management
of client/server development. For more information, see the Implementer
Multi-Platform Solutions Guide.
Options for In addition to promoting IFS objects as that of any traditional OS/400
object (for example, using option 11=Promote from the Workbench), you
Promoting IFS can also promote IFS objects using any of the following methods:
Objects listing individual IFS files
3 To specify the IFS files for promotion, type the IFS file name in the
Mbr/obj field, and type the extension in the Code field.
For example, to promote the file ITEM.EXE, type ITEM in the Mbr/obj
field and .EXE in the Code field.
To promote subdirectories
3 To specify the IFS subdirectories for promotion, type the IFS directory
name in the Mbr/obj field and type a backslash (\) in the Code field.
213
Performing Promotions
Considerations When checking out and promoting IFS files and directories using *.*,
keep the following points in mind.
When Using *.*
for Promotion IFS Object Management
When promoting IFS files and directories, Implementer does not
completely replace the current content of the target environment with the
promoted IFS objects. The copy of new, existing, and deleted IFS objects is
as follows:
New Objects
When an IFS object being promoted does not exist in the target
environment, that object is added to the target environment.
Existing Objects
Deleted Objects
TIP
If you need to ensure that only the IFS objects contained in the promotion
request are stored in the target environment, be sure to clear the target
environment of all objects prior to initiating the promotion request.
214 u s e r g u i d e
Promoting IFS Files and Directories
For example, assume that you initially check out a single IFS file,
FILE1.PRG. After making changes and saving the file, you realize you
need to change more files in the environment, so you check out the entire
environment’s contents to the same target environment using the *.*
method. This action overwrites the FILE1.PRG that was already in the
target environment, which may have been the result you wanted. If you
wanted to retain your changes, however, you would need to check out the
additional files by specifying them as individual files.
Continuing with the example, when you later promote the environment’s
contents using the *.* method, the unchanged FILE1.PRG is moved back
into production. Additionally, if the Remove from objects field on the
Create Request panel is set to Y, file FILE1.PRG no longer exists in the
directory in the From environment since this file was also checked out
individually. The locks placed on the file during the initial check out still
exist, although the file does not. You can correct this situation by manually
deleting the lock on the file. Again, this situation can be avoided by
continuing to use the single file method for your promotion.
TIP
For most purposes, use the same check out method each time you perform a
check out to the same target environment. Then, continue to use this method
when creating promotion requests for the checked out IFS objects.
Automatically When you create a request for an IFS file or directory with an extension
that does not currently exist in Work with Object Codes, Implementer can
Creating Object automatically create the new object code.
Codes in Create
Request NOTE
Contact your Implementer System Administrator to determine if this option is
enabled.
1 Access the Create Request panel from Work with Objects or the
Workbench (option 11), or by using option 3 from the Implementer
Menu.
215
Performing Promotions
1 = Don’t add Use this option if you do not want to add the new object
code. The Check Out panel redisplays. Specify a
different object code for create request.
2 = Add Use this option to automatically add the object code and
continue to be prompted during this create request
session if any other object codes do not exist. When you
press ENTER, the new code is created, and the request
proceeds normally until another non-existent object code
is found.
3 = Add all Use this option to automatically add the object code and
future without to continue adding any other non-existent object codes
warning during this create request session without being
prompted again, type. When you press ENTER, all new
object codes are created and the request proceeds
normally.
Upgrading a To upgrade a directory, you have two options when promoting directories:
Directory You can update applicable files in the target directory with those
contained in the promotion request. Additionally, new files on the
promotion request that do not currently exist in the target directory
are added. Any files that are not part of the promotion request but that
already exist in the directory are not deleted from the target directory.
This option is useful any time you do not want to clear the directory
before the move—for example, if you are creating a promotion request
to update or add new form letters to a directory. This option is the
default and requires no additional action.
The special command option deletes the target directory and removes the
directory contents prior to the move step of the promotion. When the
deletion is complete, the move step recreates the target directory and
moves the objects in the promotion request to the newly created target
directory. The result is that only those objects in the promotion request
reside in the target directory.
216 u s e r g u i d e
Promoting IFS Files and Directories
Since the target directory is removed prior to the move step (when it is
recreated), this special command does not allow archiving. However, you
can perform backups using standard methods available outside of
Implementer.
For Action Type 4 to issue the command as part of the Move step.
When to do Type 1 to issue the command before the Move step.
Sequence Type a valid sequence number.
number
Command RMVDIR DIR(full_target_path) RMVLNK(*YES)
(Where full_target_path is the full path of the target
directory.) To remove the contents of the directory you
must define the RMVLNK parameter as *YES.
4 Press ENTER to add the command. Press F12 twice to redisplay the
Create Request panel.
217
Performing Promotions
Java Java optimization is available for all JAR files (.jar), class files (.class),
and compressed file archives (.zip) processed through Implementer. This
Optimization allows you to control whether optimization occurs and the optimization
level.
Define the command for the *CREATE and *CHANGE actions, for the
.class, .zip, and .jar object codes.
218 u s e r g u i d e
Using Different Source and Object Names in Promotion
In this example, when the request is promoted the physical file will be
recreated, and the data from IVCMST physical file in the IV_TST
environment will be copied into the IVCMST physical file in the IV_QAC
environment.
The following tasks must be performed prior to using different source and
object name support:
For description of these tasks, define to and from environments for check out
see the Implementer System
Administrator Guide. define object codes that use creation commands with the SRCMBR
parameter (must use the keyword #SRCMBR)
Once the setup activities are complete, you can perform all promotion
activities by specifying the object name.
If you specify the source name rather than the object name, the
following message displays to notify you that you must use the object
name: “Cannot promote with source member name”
219
Performing Promotions
Although the object name displays, the correct source member name is
used automatically, anywhere the source must be referenced.
Compiling
In most situations it is necessary to compile the changed source or related
objects before Implementer moves it back into a work environment. It may
be required if the target environment has the Compile required field set to
Y. You can automatically compile if you set the target environment
Through Step to 2. You can also submit the compile manually through the
menu interface.
2 In the Compile Request selection panel, type 1 in the option field, and
press ENTER to submit the compile.
220 u s e r g u i d e
Compiling
Task Variations
This section describes task variations and additional processing you can
perform when using the Compile Request function.
NOTE
If you want to change the overrides for the compile step of promotion
scheduling, press F18=Submission overrides to display the Job Schedule
Overrides panel. This can be done from either the Compile Requests selection
panel or the Change Compile Request panel. Fill in the changes or accept the
defaults and press ENTER to redisplay the previous panel. Note that Time
range fields must be entered in HH:MM:SS format.
Submitting Overrides
You can override the defaults established in Work with Environments for
promotion scheduling.
This task assumes you are in either the Compile Request selection panel or
the Change Compile Request panel. Both the selection and detail panels
allow you to override the promotion scheduling defaults.
221
Performing Promotions
Staged Compilation is done into a work library. First, this ensures that for large
promotion requests, the target libraries (that could be production libraries)
Compiles are not left in a partially promoted state during the compile step. This
eliminates downtime of a production environment. Second, if a source
member fails to compile, the target libraries are not left partially promoted
and damaged. Third, the compile can be initiated by a developer and the
move can be performed by someone who has control over the target
libraries.
Objects are staged for compile purposes. The source is staged when the
promotion request is created. This ensures that the promotion request
contains the moved source member.
For example, if you create a promotion request at 10:00 a.m. and a source
member in the development library was changed at 10:30 a.m., the source
member, as it existed at 10:00 a.m., is used for promotion. In addition,
when the promotion request is completed, the administrator receives a
message that the development source member was changed after the
promotion request was created.
Compile Library Implementer uses the compile library list defined for the target
environment. This feature prevents level checks in the production library
List due to the wrong library list used for compilation.
NOTE
A common cause of compile problems is incorrectly defining the library list for
compilation when creating a new environment.
222 u s e r g u i d e
Compiling
In addition, ensure the third-party command you use does not submit
another job to perform the compile, as the command issued here must
actually perform the compile.
Job Queues All source members for the promotion request are compiled in one job
during the compile step. This allows you to submit the compile step to a
job queue and subsystem that allows more than one active job at a time,
without running into problems with the object compiling before another.
The compile begins with the original member that initially failed
compilation.
223
Performing Promotions
This task is performed by the project leader after you have created the
promotion request containing the member/objects, and before it is moved
into the test or production environment.
2 Type the promotion request number or *ALL (to process all promotion
requests at a compile pending status).
4 Press ENTER to submit the compile and redisplay the command line.
Allocating Verification is performed to ensure that no objects are in use, or if they are
in use, that the objects can be replaced successfully before any source or
Objects objects are moved to the target libraries. Physical files, programs, and
panel groups are locked by the Allocate Object (ALCOBJ) command if they
are not in use. If they are in use, the target environment is checked to verify
it is set up to archive. If archiving is enabled, the existing object is moved to
the archive library. If archiving is not enabled, the objects are renamed and
moved to the system library QRPLOBJ (or an Implementer work library, if
224 u s e r g u i d e
Moving Promotion Requests
Logical files and display files are not allocated by the Allocate Object
command. The Allocate Objects command places a lock on the based-on
physical files for that logical file. This is not desirable because the logical
file cannot be promoted if the based-on physical file is in use. Therefore,
display files and logical files are tested for being in use by moving them
from the target library to a temporary library, and then back to the target
library in the Allocate phase of the move step. If they are in use, this
temporary movement is allowed and the promotion does not continue,
since these objects cannot be successfully replaced while being used.
These features ensure that if objects are in use and cannot be promoted, the
move step ends without promoting any objects, and the currently active
jobs (using the objects) do not end abnormally.
Authorities and The move step sets the authorities to objects based on the rules defined for
the environment. For detailed information about the setting of object
Ownership authorities and owners, see the Implementer System Administrator Guide.
Archiving You can specify whether to archive the source members or objects. The
archives can be used for automatic rollback (recovery) or for browsing
previous versions of the source to assist in problem determination. For
more information about this topic, see “Archive Recovery” on page 300.
Source Member If the source type of the member is changed, the source type of the new
target member is changed as well.
Considerations
225
Performing Promotions
In addition, if the source files have a different length, the source members
are successfully promoted. If the target source file has a shorter length than
the from source file, a message is sent to the user who submitted the move
and the promotion request continues.
NOTE
The Copy File (CPYF) command and the Copy Source File (CPYSRCF)
command do not change the source type of an existing source member.
Issuing Move When you create a promotion request, member/objects are placed into
holding libraries. The move task must be performed to move the member/
Requests objects from the work libraries into production libraries. It is necessary to
complete this step to put the checked out member/objects back into
production or a test environment.
A promotion request must have the status of Move-Pend and you must
have authority to move the promotion request.
3 When the message displays that the move was submitted, press
F3=Exit to return to the menu.
226 u s e r g u i d e
Moving Promotion Requests
Task Variations
This section describes task variations and additional processing you can
perform when using the Move Request function.
NOTE
If you want to change the overrides for the compile step of promotion
scheduling, press F18=Submission overrides to display the Job Schedule
Overrides panel from either the Move Requests selection panel or the Change
Move Request panel. Fill in the changes or accept the defaults and press
ENTER to redisplay the previous panel. Note that Time range fields must be
entered in HH:MM:SS format.
Submitting Overrides
You can override the defaults established in Work with Environments for
promotion scheduling. This task assumes you are in either the Move
Request selection panel or the Change Move Request panel. Both the
selection and detail panels allow you to override the promotion scheduling
defaults.
227
Performing Promotions
Special Commands
The move task allows you to create, change, or delete special commands
that you can issue before or after a move, or after the failure of a move. In
the Change Move Request panel, press F17=Special commands to display
the Work with Special Commands panel. For more information, see
“Special Command Processing” on page 229.
Questions Users who have Move Request authority or who have move capabilities for
the target environment.
Yes.
Move Request To put completed member/objects back into the production or test
environment, you can issue the Move Request (IMOVRQS) command
(IMOVRQS) directly from the command line. This submits a job to move a request
Command rather than using the menu interface. This feature is useful when you
promote a few known member/objects. Usually the menu interface, which
Option allows changing aspects of the promotion request, is more helpful.
You must first create and compile a promotion request. At that point, the
promotion request status becomes Move-Pend.
228 u s e r g u i d e
Special Command Processing
3 You can optionally move the request by date and time range. Press
F10=Additional parameters to show all parameters, and specify the
from/to time and date ranges (time values must be in HH:MM:SS
format).
4 Press ENTER to submit the move and redisplay the command line.
IMPORTANT
Special commands cannot be used to change the environment library list.
229
Performing Promotions
When you submit a move, the object authority for special commands
is taken from the user who submitted the move. If you want to change
the object authority, use the Change Object Owner (CHGOBJOWN)
command on IMPRDR10 to change the authority to a different owner.
You can add comments to the special commands to make them self-
documenting. Comments can appear either before or after the
command and they must be in brackets. For example:
/* This is a comment */
230 u s e r g u i d e
Special Command Processing
5 Press F3=Exit.
231
Performing Promotions
Specify the promotion process to issue the special command. The For
Action is based on the When to do flag as follows:
When to do
For the specified For Action, type the number representing when you want
the command to run.
Sequence number
Command
Specify the standard OS/400 command syntax for the command you want
to issue. You can type the command, or use F4 to prompt.
232 u s e r g u i d e
Special Command Processing
Special The following tables define the substitution variables and replacement
values available for special commands processed during check out and the
Command promotion cycle.
Substitution
Variables Substitution
Replacement Value
Variable
Header Level
Item Level
#PATHOBJ Substitutes the IFS project relative long name (#DIR and
#OBJECT) for IFS objects.
233
Performing Promotions
NOTE
Due to OS400 limitations, the short member name generated by Implementer is
not a valid name due to the tilde (~) character. As such, if you are using the
#SHORTNM substitution variable for a parameter in a special command in
check out or promotion, any tilde characters in the substituted value will be
automatically translated into the number sign (#) character.
Substitution
Replacement Value
Variable
Header Level
#ENVFILLIB Substitutes the file library defined for the target environment.
234 u s e r g u i d e
Special Command Processing
Substitution
Replacement Value
Variable
Item Level
#PATHOBJ Substitutes the IFS project relative long name (#DIR and
#OBJECT) for IFS objects.
#SHORTNM Substitutes the short object name for the IFS object being
promoted.
#SRCFIL Substitutes the source file name of the item being promoted.
235
Performing Promotions
Substitution
Replacement Value
Variable
#WRKSRCFIL Substitutes the name of the source file in the request work
library. Typically used with #WRKOBJLIB and
#WRKSRCLIB.
NOTE
If the work library is needed, use #WRKOBJLIB, or #WRKSRCLIB and
#WRKSRCFIL.
236 u s e r g u i d e
Special Command Processing
NOTE
For promotions of release management packages, substitution variables are
available for retrieving the from product, version, and release, and the to
product, version, and release that a package consists of. For more information,
see Chapter 4 of the Implementer Release Management User Guide.
OBJCODE
The object code associated with the object that the command will act on.
Specify any object code that is defined within Implementer, or *ALL.
NAME
The name of the objects the command will act on. Specify a character value
or *ALL.
ACTION
The action code of the objects the command will act on. Specify any valid
action code or *ALL.
RQSNBR
TARGET
237
Performing Promotions
COMMAND
Substitutio
Replacement Value
n Variable
#FILLIB Substitutes the current target file library at the time of promotion.
#FRMPRD Substitutes the name of the product the package will upgrade
from.
#FRMVER Substitutes the name of the version the package will upgrade
from.
#FRMRLS Substitutes the name of the release the package will upgrade
from.
#TOPRD Substitutes the name of the product the package will upgrade to.
#TOVER Substitutes the name of the version the package will upgrade to.
#TORLS Substitutes the name of the release the package will upgrade to.
238 u s e r g u i d e
Special Command Processing
IEXCRQSDTL Examples
Example 1: Changing Object Characteristics
The following command issues the CHGPF command to change the size to
*NOMAX for all files with an Object Code of PF (Physical File) in the
current promotion request going to the current target environment. When
defining this command, set the For Action field to 4 (Move), and set the
When to do field to 2 (After-Ok).
IEXCRQSDTL OBJCODE(PF)
NAME(*ALL)
ACTION(*ALL)
RQSNBR(#RQSNBR)
TARGET(#TRGENV)
COMMAND(CHGPF FILE(#FILLIB/#OBJECT)
SIZE(*NOMAX))
You can use this feature to selectively grant or revoke object authorities
outside of those defined against an environment. For example, an
environment allows you to specify *ALL, *USE, *CHANGE, *EXCLUDE, or
*AUTL. You can use the IEXCRQSDTL command to automatically issue
the GRTOBJAUT command against selective object codes and object
names. In this way, any combination of object authorities can be defined.
The object authorities can be updated in line with changes to the OS/400
operating system, without the need to upgrade Implementer.
239
Performing Promotions
When using the IEXCRQSDTL command for an IFS object, define a special
command that uses the long-object substitution variable. When using the
object code field, the case must match. For example, .class < > .CLASS.
Special The OS/400 Distributed Data Management (DDM) support allows objects
on one system to reference the actual contents of the objects on another
Commands to system. DDM objects can create that reference for the following types of
Manage DDM objects on the target iSeries 400 system:
physical files
logical files
data areas
data queues
The following examples describe how to use Implementer and the Change
Request Detail (ICHGRQSDTL) command to support a common scenario
related to these types of objects. The basic requirement is to promote an
240 u s e r g u i d e
Special Command Processing
object on one system as its standard object type, and promote the
corresponding object on the other system as a DDM version of the
standard object.
By first defining the environment level special commands, you can specify
standard object types, and when promoting, those objects are
automatically switched to their corresponding DDM objects.
IMPORTANT
The ICHGRQSDTL command must be embedded within the IEXCRQSDTL
command to ensure that the ICHGRQSDTL command is issued for the
appropriate promotion items only.
Specify the current request number. You must supply the substitution
variable #RQSNBR for this parameter.
TARGET
Specify the current target environment. You must supply the substitution
variable #TRGENV for this parameter.
OBJCODE
Specify the object code associated with the object to reset the status for, or
*ALL.
NAME
Specify the name of the object you want to reset the status for, or *ALL.
MODE
Specify if you want the item changed or removed from the request. Valid
values are *CHG to change the item (this is the default), or *RMV to
remove the item from the request (the item is not moved when the other
items on the request are moved).
241
Performing Promotions
ACTION
If you promote a physical file and a dependent logical file exists in the
target environment, the promotion request will fail. The Action determines
how you want to prevent this condition and allows Implementer to
continue processing.
NEWOBJCODE
CHGRQSDTL Examples
Example 1: Before the Move
The following commands, which are set to run before the move, ensure
that all data areas, data queues, logical files, and physical files are not
actually moved to the target environment. Instead, the For Action field is
set to 4 (Move), and the When to do field is set to 2 (After-Ok). Notice that
in each example a new DDM-related object code is assigned (DDMF,
DDMDTAQ, and DDMDTAA, and respectively).
This command changes PF to DDMF for all actions prior to the move step.
IEXCRQSDTL OBJCODE(PF)
NAME(*ALL)
RQSNBR(#RQSNBR)
TARGET(#TRGENV)
COMMAND (ICHGRQSDTL RQSNBR(#RQSNBR)
TARGET(#TRGENV)
OBJCODE(PF)
NAME(#OBJECT))
MODE(CHG)
ACTION(1)
NEWOBJCODE(DDMF)
242 u s e r g u i d e
Special Command Processing
This command changes LF to DDMF for all actions prior to the move step.
IEXCRQSDTL OBJCODE(LF)
NAME(*ALL)
RQSNBR(#RQSNBR)
TARGET(#TRGENV)
COMMAND (ICHGRQSDTL RQSNBR(#RQSNBR)
TARGET(#TRGENV)
OBJCODE(LF)
NAME(#OBJECT))
MODE(CHG)
ACTION(1)
NEWOBJCODE(DDMF)
This command changes DTAQ to DDMDTAQ for all actions prior to the
move step.
IEXCRQSDTL OBJCODE(DTAQ)
NAME(*ALL)
RQSNBR(#RQSNBR)
TARGET(#TRGENV)
COMMAND (ICHGRQSDTL RQSNBR(#RQSNBR)
TARGET(#TRGENV)
OBJCODE(DTAQ)
NAME(#OBJECT))
MODE(CHG)
ACTION(1)
NEWOBJCODE(DDMDTAQ)
The following commands, which are set to run after move-ok, create or
delete a remote data area, remote data queue, and DDM file based on the
action. There is no need for any changes when actions change.
243
Performing Promotions
This command deletes the existing DDMF for PFs and LFs when the action
is Delete.
IEXCRQSDTL OBJCODE(DDMF)
NAME(*ALL)
ACTION(*DELETE)
RQSNBR(#RQSNBR)
TARGET(#TRGENV)
COMMAND (DLTF FILE(#OBJLIB/#OBJECT)
RMTFILE(target-library/
#OBJECT)
RMTLOCNAME(target-system))
This command deletes the existing DDMDTAQ when the action is Delete.
IEXCRQSDTL OBJCODE(DDMDTAQ)
NAME(*DELETE)
ACTION(*DELETE)
RQSNBR(#RQSNBR)
TARGET(#TRGENV)
COMMAND (DLTDTAQ DTAQ(#OBJLIB/#OBJECT))
This command deletes the existing DDMDTAA when the action is Delete.
IEXCRQSDTL OBJCODE(DDMDTAA)
ACTION(*DELETE)
RQSNBR(#RQSNBR)
TARGET(#TRGENV)
COMMAND (DLTDTAARA DTAARA(#OBJLIB/
#OBJECT))
This command creates a DDMF for corresponding PFs and LFs when the
action is Create.
IEXCRQSDTL OBJCODE(DDMF)
ACTION(*CREATE)
RQSNBR(#RQSNBR)
TARGET(#TRGENV)
COMMAND (CRTDDMF FILE(#OBJLIB/#OBJECT)
RMTFILE(ILEPRD/#OBJECT)
RMTLOCNAME(MKS2))
This command creates a DDMDTAQ when the action is Create.
IEXCRQSDTL OBJCODE(DDMDTAQ)
ACTION(*CREATE)
RQSNBR(#RQSNBR)
TARGET(#TRGENV)
COMMAND (CRTDTAQ DTAQ(#OBJLIB/#OBJECT)
TYPE(*DDM)
RMTDTAQ(ILEPRD/#OBJECT)
RMTLOCNAME(MKS2))
244 u s e r g u i d e
Special Command Processing
Promotion When you issue the ICHGRQSDTL command before the move step, the
original software item is still copied to the work library on the target
Status system. However, since ICHGRQSDTL sets the status of the software item
to indicate that the move has occurred, Implementer does not actually
move the item.
You can use this special-purpose command any time an object should be
on one system, but not on another. A typical use of this command is to
remove an item from a promotion request, or for DDM users who want
physical files turned into DDM files for some environments. For more
information, see “Special Commands to Manage DDM” on page 240.
IMPORTANT
The ICHGRQSDTL command should be embedded within the IEXCRQSDTL
command only when used for DDM special cases.
Using the criteria that you define for the IEXCCKOCMD command,
Implementer identifies the appropriate checked out items and issues the
command that you specify for only those objects.
245
Performing Promotions
246 u s e r g u i d e
Special Command Processing
Specify the check out action that causes the command to run.
*ALL The command runs for all check out actions. This is the
default.
*CHANGE The command runs when change is the checkout action.
*CREATE The command runs when create is the checkout action.
*DELETE The command runs delete is the checkout action.
*RECOMPILE The command runs recompile is the checkout action.
Command (CMD)
IEXCCKOCMD Examples
The IEXCCKOCMD Example 1: Sending Messages
command is used with Lotus
integration for setting Domino The following command issues the SNDMSG command to notify the
ACLs with the Set Domino administrator when certain objects are successfully checked out for any
ACL (ISETDOMACL) reason. When defining this command, set the For Action field to 6
command. For more
(Checkout) and set the When to do field to 3 (After-Ok).
information, see the
Implementer Multi-Platform IEXCCKOCMD OBJCODE(.EXE)
Solutions Guide. MBROBJ(*ALL)
ACTION(*ALL)
TOENV(#TRGENV)
COMMAND(SNDMSG MSG (‘Checkout of .exe
objects was successful’) TOUSR(DEMOADM))
The following command issues the CPYF command when a physical file is
checked out for change. It copies the file from a test library to a working
library and populates the target file data. Notice the use of the #OBJECT
and #OBJLIB substitution variables, which are used to indicate the From
247
Performing Promotions
File object and To File library, respectively, in the CPYF command. When
defining this command, set the For Action field to 6 (Checkout) and set the
When to do field to 3 (After-Ok).
IEXCCKOCMD OBJCODE(PF)
MBROBJ(*ALL)
ACTION(*CHANGE)
TOENV(#TRGENV)
COMMAND(CPYF FROMFILE(TESTDATA/#OBJECT)
TOFILE(#OBJLIB/#OBJECT) FROMMBR(*FIRST)
MBROPT(*REPLACE))
Common How can you avoid re-entering the commands for each request?
Questions Copy an existing promotion request with the necessary special commands
and adapt the rest of the promotion request to your new specific needs.
Alternatively, you can define the special command at the environment
level.
Your user profile or group profile may not have the authority to the
command.
Resolving a This task allows developers or project leaders to resolve a conflict caused
by concurrent development. This task is required when conflicts exist,
Conflict before a member/object can be included on a promotion request. Objects
in concurrent development with unresolved conflicts are not promoted.
You can do this task just prior to promotion, or just after the developer
who is performing the development has completed the changes and it
requires immediate conflict resolution.
248 u s e r g u i d e
Managing Concurrent Development
You can resolve conflicts from any of these functions: Create Request,
Emergency Create Request, and Request Maintenance (main panel and
Select from Locks), the Workbench, or Manage Concurrent Development.
To resolve a conflict
1 Access the Work with Conflict Resolutions panel using one of the
following options:
2 In the Work with Conflict Locks Resolution panel, resolve the conflicts
by using any of three methods:
249
Performing Promotions
3 Press ENTER to redisplay the initial panel where you began the
conflict resolution.
NOTE
The Resolved field displays the date a conflict was resolved.
If you select multiple member/objects from any of the panels in the Work with
Conflict Locks Resolution panel, you can cycle through the numerous
member/objects by pressing ENTER after each resolution. At the end of the
series of selected member/objects, the panel where the member/objects were
selected from redisplays.
1 Type option 2=Change in the option field and press ENTER to display
the Change Conflict Resolution panel.
Questions When the user does not have change resolution authority.
250 u s e r g u i d e
Advanced Topics
Advanced Topics
This section describes some of the more advanced or non-routine topics
associated with promotions, including:
emergency promotions
problem determination
Object Version When object version stamping is active with a version method that
includes assigning the number in promotion, the next version number for
Stamping in the object is assigned when the request is submitted.
Promotion When promoting a locked object, if the check out action was Change,
Create, Regen, or Recompile the revision number is validated. If the check
out action was Delete, version stamping is ignored. When promoting an
object without locks, the version number increments only when targeting a
*PRD environment.
For more information on Validation and stamping is performed regardless of where the promotion
object version stamping, see initiates from—the Workbench, Clipboard, Create Promotion Request
“Performing Check Out” on
menu option, Emergency Create Request, Create Request (ICRTRQS)
page 111. For more
information on the setup command, archive recovery, or a COOL:2E promotion.
requirements, see the
For promotions on the host system, the version number is stamped to the
Implementer System
Administrator Guide. object after successful compilation and the objects are duplicated into the
request’s staging library (if the request is not an archive recovery request).
251
Performing Promotions
When you create the emergency promotion request, you have two
additional capabilities not available when creating standard promotion
requests.
First, you can resolve conflicts to ensure the emergency promotion will not
be stopped because of the inability to resolve a conflict.
Second, the auto-submit option defaults from the value specified for the
Implementer data area IMEMGSTP (Emergency Promotion Request
Submit Through Step) regardless of how you have defined the default
target environment. The default value for this data area is 4 (through the
move step) which ensures the change is promoted into the target libraries
as quickly as possible. The auto submit field can be overridden by pressing
F18=Overrides from the Emergency Create Request panel. For more
information on the IMEMGSTP data area, see Appendix A of the
Implementer System Administrator Guide.
252 u s e r g u i d e
Advanced Topics
The next time the object is checked out to a *TST environment, it will be
assigned version number 4.1.
Problem When an error occurs, messages are sent to the user who submitted the job.
You should review the Implementer job log and the OS/400 job log to help
Determination determine the problem.
The Implementer database retains the OS/400 job log for errors that occur
during the export (if a LANSA environment), compile, distribution, or
move steps. This facilitates better problem determination for sites that have
their OS/400 job log output queues cleared on a periodic basis. If the
failure occurred on a remote system, the job log from the remote system is
returned to the host system. You can display the job logs using the Display
Job Logs menu option.
You can specify the number of job logs to retain in System Control
Maintenance. The number of job logs to retain should be large enough to
keep job logs for a reasonable number of requests. For example, 50 job logs
may not keep 50 requests, since a job log is generated for each target
environment on the request. If you regularly promote to two environments
at a time, specifying to keep 50 requests would retain 100 job logs.
In addition, you can control the job logging level for the promotion jobs in
System Control Maintenance. If you need to log the CL statements, you can
change the LOGCLPGM parameter on the MWIJOBD job description to
*YES.
253
Performing Promotions
The following message IDs appear in the job log only when pertinent to
problem determination:
Message ID Description
254 u s e r g u i d e
Advanced Topics
The command does not delete the Implementer work libraries or perform
any other cleanup activities—these tasks must be done manually.
NOTE
The ICMPLRQS command replaces the need to use Data File Utility (DFU) on
Implementer files to manually complete a promotion request.
Other Creation To simplify the entry of promotion requests, the from environment (or
from library) and target environment or environment group values default
Features to what is defined for the:
environment path, or
user profile
You can establish restrictions by object types and user capabilities that
affect the promotion of member/objects from the development library.
You can include related objects on the request to ensure that all programs
that use a particular physical or logical file are automatically recompiled.
These related objects are added to the promotion request with an action of
9 for Recompile. Logical files that are not manually added to a promotion
request are automatically recompiled, if the physical files they are based
upon are on the request. This requires the environment’s Add Related
255
Performing Promotions
Using ILE Implementer provides complete support for software development using
ILE. ILE support improves performance, encourages modular
Object Codes in programming, and provides better control over OS/400 resources. For
Promotion more information, see “Using ILE Object Codes in Check Out” on
page 148.
Batch Batch promotion steps run with the MWIJOBD job description.
Implementer controls the library list during execution. The batch job is
Promotion submitted to the job queue specified in System Control Maintenance, but
Steps you can override the job queue.
If you want to run the batch jobs later, you can schedule the jobs in one of
four different ways. First, you can establish promotion scheduling per
environment that can be overridden for each step of the promotion
process. Second, you can submit the jobs to a held job queue and release
the job queue later. Third, you can submit the jobs as held and release the
individual jobs later. Fourth, you can have the Compile Request
(ICMPRQS) command or Move Request (IMOVRQS) command performed
by your job scheduler. You can do this on the remote system with the Move
Remote Request (IMOVRMTRQS) command.
Distributing The distribution step is performed only for promotions to remote systems.
This step is described in more detail in “Performing Distributions” on
Promotion page 271.
Requests
256 u s e r g u i d e
Scheduling Promotion Requests
default date, time, library, job queue, and whether the job is held
on the job queue
default date (with a specific time for each of the promotion steps)
The following are the most commonly used: Setup promotion scheduling
through Work with Environments and Setup promotion scheduling
overrides through one of the promotion steps.
NOTE
You can define standard move schedules on the host iSeries 400 development
system and then reschedule the move times of specific promotion requests to
remote iSeries 400 systems. This enables distribution of a promotion request
from your host system to multiple remote systems simultaneously, placing the
remote Move step under the control of a default schedule defined for that
remote system. Additional flexibility on the host system to reschedule the
Move for a specific request enables you to manage the installation schedule of
selected promotion requests without having to access that remote system. For
more information, see “Controlling Remote Job Schedules” on page 280.
257
Performing Promotions
The status for local or remote target environments might differ for the
request. This results from either: The promotion request stops at a different
step within the promotion process for each environment. The lowest step
of the cycle displays if you are not viewing the request at an environment
level; or communication between the host and remote can be interrupted if
a promotion step fails. This results in a different status being listed on both
systems.
Status Filtering
Type Open in the filter field to display all requests that do not have a
Completed status. The valid status codes are as follows:
258 u s e r g u i d e
Promotion Step Internal Processing
259
Performing Promotions
Create Request
Compile Step Move Step uses all libraries
IM0021S
From Request
Source Source Target
Library Library
Environment
Source
IM0021002 IM0021002X
Environment libraries
IM0021F Target
Implementer work libraries
Removed Environment
From objects Archives
Library
IM0021002T
IM0021001T
Replaced
Target
Objects
Create Step This step creates the promotion request and copies the source and/or
objects from the from environment/library into the Implementer work
libraries. This ensures that the source and objects are frozen at the specific
time the promotion request is created. If the source or objects are changed
after the creation of the promotion request, the copy of the original source
or objects is used and a message informs the administrator that the
member/objects were changed.
These actions are performed when you process the Create Promotion
Request main panel function or when you issue the Create Request
(ICRTRQS) command.
2 Create the request source work library and request object work
library.
260 u s e r g u i d e
Promotion Step Internal Processing
Copy the source for each source-based object with an action of Create
or Change.
Duplicate the objects into the request objects library from the from
environment or library:
b) For source-based objects that have the Compile required field set
to N on the source environment.
b) The request contains a physical file. The logical files are located
and added to the promotion request.
c) The action is 9 for recompile for any item on a request that has the
Compile required field set to N on the from environment.
Export Step This step performs the export of LANSA objects on the request to a save
file.
The export process uses the export list created in Create Request function
and performs the export into the save file in the work library.
The export function in LANSA is the first of the two step process in
LANSA to move objects from one partition to another. Promotion prepares
the LANSA objects for export and imports the objects to the target
261
Performing Promotions
environment. The LANSA objects are exported from the from partition and
imported into the to partition (each partition is specifically associated with
an environment). It is possible to limit the auto submit process to only the
export step.
1 All valid LANSA objects on the request are bundled into an export list.
Compile Step This step compiles source members for source-based objects placed on the
promotion request. In addition, it adds related objects to the request (if
needed) for traditional environments and recompiles them using the
source in the target library. This step identifies implicit logical files and
adds them to the request for compilation.
c) Compile the objects into the request, object work library using the
source in the request source library. For action 9 for recompile,
use the source in the target environment.
262 u s e r g u i d e
Promotion Step Internal Processing
6 Delete the compile listings. This is done only if all compiles were
successful and the flag in System Control is set to Y.
Move Step This step replaces the objects and source in the target environment with
newly promoted objects and source. Optionally, the replaced objects and
source can be retained in an archive library.
3 Create the temporary work libraries. Create the object stage library,
and the replaced, target objects work libraries.
4 Allocate all objects. Allocate all objects to be replaced in the target that
are exclusively allocated, with the exception of logical files currently
in use. For more information, see “Allocating Objects” on page 224.
5 Pre-stage all physical and logical files. Pre-stage all physical and
logical files before any objects in the target are replaced to minimize
the time frame where the target environment is partially updated.
Physical Files
a) Duplicate the physical file into the stage objects library from the
request, objects work library.
Logical Files
a) Duplicate the logical file to the stage objects library from the
request objects library.
263
Performing Promotions
This creates a copy of the logical file with the name IMxxxxLF
(where xxxx represents the promotion request number) and
duplicates it into the target objects library. This ensures the logical
is built over the correct physicals in the target objects library.
Then it is moved to the stage objects library.
NOTE
If the physicals for the logical also are on the request, the logical is duplicated
directly into the stage library. If the logical is based on multiple physical files
that are not on the request, and the physicals are in different libraries in the
target temporarily moved, the physicals in the target are temporarily moved to
the object stage library, and then moved back again to achieve the same result.
6 Stage and move the objects and source. All the steps in this section are
repeated for each item on the request.
a) Duplicate objects into the object stage library. Skip physical and
logical files at this time since they were pre-staged.
f) Move object to target objects library from the object stage library.
h) Copy the source member to the target source library from the
request source library.
264 u s e r g u i d e
Promotion Step Internal Processing
k) Update locks.
b) Delete the move work libraries. The object stage library and the
removed target objects library are deleted. They are NOT deleted
if errors occurred before this step.
Work Libraries Implementer uses work libraries during promotion to ensure the orderly
movement of source and objects into the correct target libraries. This
Used During section provides basic information about how the work libraries are used.
Promotion
265
Performing Promotions
With the exception of the COOL:Xtras CM target model save library, the
work libraries exist only while a promotion request is open (the status is
not completed). These work libraries are owned by user profile MWIPROD
with no public rights to ensure that these libraries stay under Implementer
control.
ppp Work library prefix. The default is IM, but you can define a
different value in data area IMPRFX. Values can be different on
the host and each remote system.
rrrr Promotion request number.
eee Environment ID number (the sequence number of the
environment on the request).
CAPS Any letter in upper case is the actual literal value of that
character.
For systems with multiple Auxiliary Storage Pools (ASPs), the ASP that the
Implementer work library is created in is important. The user ASP that the
work library is created in must be the same as the ASP of the library that
Implementer moves objects into or out of, using the Move Object
(MOVOBJ) command. Existing constraints on the Move Object (MOVOBJ)
command prevent it from moving to a library in a different ASP.
266 u s e r g u i d e
Promotion Step Internal Processing
This work library contains all objects for the request’s primary
environment and all secondary environments that are compile N. All non-
source-based objects are placed in this library during Create Request.
Source based objects are compiled into this library during the compile for
compile Y requests.
This work library contains objects for each secondary environment on the
request with the Compile required field set to Y. Objects are compiled from
the source in the Request Source Library.
Created During the compile step for a request if the target environment
Compiled required field is set to Y.
Deleted When the environment goes to Completed status.
ASP Any
Name ppprrrreee
Example IM0021001
Text ‘Implementer rqs rrrr env name objects’
267
Performing Promotions
Created When final processing for the request begins and all
environments are successfully moved.
Deleted When final processing is complete for the request.
ASP Same as the From objects library.
Name ppprrrrF
Example IM0021F
Text ‘Implementer rqs rrrr removed from objects’
268 u s e r g u i d e
Promotion Step Internal Processing
Created When the move begins for the environment, only if the target
environment is not archived.
Deleted When the environment is Completed.
ASP Same as the target object library.
Name pprrrreeeT (position 3 of the prefix is not used)
Example IM0021001T
Text ‘Implementer rqs rrrr env name target objects’
269
Performing Promotions
270 u s e r g u i d e
Performing Distributions
7
T his chapter describes the distribution and promotion of promotion
requests to remote systems or multiple environments.
271
Performing Distributions
The Move Request by System function now automatically submits one job
per target environment for any move request that does not require
compiling or adding related objects. This allows for the parallel processing
of multiple targeted environments, and provides quicker processing of
multi-environment move requests. Additionally, if an error occurs in any
one of the targeted environments, processing continues to the secondary
environments.
NOTE
The number of concurrently active jobs is determined by the OS/400 job queue
configuration defined for the host system. In most cases, this is the job queue
specified for the Implementer default job description MWIJOBD. However, this
can be overridden in either System Control Maintenance or in Work With
Environments, Promotion Scheduling. For more information about job queues,
see “Job Queues” on page 223 and“Batch Promotion Steps” on page 256, or see
the Implementer System Administrator Guide.
Moving/ This task allows you to distribute all promotion requests to remote systems
independently of moving the objects into the target environment on the
Distributing All remote system. This task is helpful when it is necessary to distribute
Promotion members/objects to remote systems and later move them to production. It
is generally performed by an environment administrator who has move
Requests By capabilities or by an authorized developer. The task is required any time
System you want the members/objects on the remote system.
272 u s e r g u i d e
Moving and Distributing Promotion Requests by System
2 Select the system by typing one of the following in the option field and
press ENTER:
b) Option 11 to move all requests. Use this option for both the host
and remote systems. It indicates a local initiated move as set up in
Work with Environments.
5=View requests
To view all promotion requests for the system for which you have move
capabilities.
10=Distribute all
To submit the distribution of objects for all promotion requests targeted for
the system for which you have move capabilities.
11=Move all
To submit the Move Requests process for all promotion requests targeted
for the systems you have move capabilities to.
To submit the distribution and move for all promotion requests targeted
for the systems you have move capabilities to.
Submitting You can override the defaults established in Work with Environments for
promotion scheduling.
Overrides
273
Performing Distributions
This task assumes you are in the Move Promotion Request by System/
Environment selection panel or the Request panel.
NOTE
Both the selection and detail panels provide access to override the promotion
scheduling defaults.
2 Type the Request Submission defaults for the distribution stage of the
promotion process. Note that Time range fields must be entered in
HH:MM:SS format.
Common Why use menu option 6 for Move requests by system rather than
option 5 for Move request?
Questions
Move requests by system allows you to break the move into two steps.
NOTE
If you use the Create Request defaults in the environment definition Promote
Through Step, you can perform a regular move (and distribute). Menu option
6, Move Promotion Request by System/Environment, allows you to manually
process this step. For example, you may want to compile on the remote or
delay (while on the remote) promoting the object into production.
274 u s e r g u i d e
Moving and Distributing Promotion Requests by System
You do this task once you have created or compiled the promotion request.
NOTE
The request is listed by promotion request number and by environment.
For example, a specific promotion request could be listed that contains five
different target environments. The promotion request would be listed five
times, once for each environment.
If you want to change the overrides for the compile step of promotion
scheduling, press F18=Submission overrides to display the Job Schedule
Overrides panel. This can be done from either the Move Promotion Request by
System/Environment selection panel or the Move Promotion Request by
System/Environment panel that displays when you use option 5=Display
Requests. Type your changes or accept the defaults and press ENTER to
redisplay the previous panel. Note that Time range fields must be entered in
HH:MM:SS format.
275
Performing Distributions
3 In the Request Selection panel, type one of the following in the option
field and press ENTER:
Option 11 to move the request. Use this option for both the host
and remote systems. This option indicates a local initiated move
as set up in Work with Environments.
5=Display
Display the details for this promotion request for example, request
originator, member/object list, and compile options.
10=Distribute
Submit the distribution of objects for this promotion request to this system.
11=Move
Submit the Move Request process for this promotion request to this
system.
Submit the distribution and move for this promotion request to this
system.
15=Related Request
Display the secondary requests that were generated at create request time
for any cross-environment related objects that required recompiling.
276 u s e r g u i d e
Moving and Distributing Promotion Requests by System
Display the OS/400 job log for this promotion request. This is useful for
problem determination and resolution.
Print the OS/400 job log for this promotion request. This is also useful for
problem determination and resolution.
Options To perform this task, you must define the environment on the remote
system in Work with Environments, and a request must be in either Move-
Pend or Dist-Pend status.
You can type option 5 to view requests in the option field of the Move
Requests by System/Environment panel and press ENTER to display
277
Performing Distributions
Tape device
Initialize tape
Volume identifier
NOTE
Use the Restore Remote Request (IRSTRMTRQS) command to prepare the
promotion requests to move on the remote system. For more information, see
“Restoring Remote Requests (IRSTRMTRQS)” on page 289.
278 u s e r g u i d e
Displaying Move Requests by System/Environment
Filtering You can filter the display to show specific locations with promotion
requests at a selected status.
Options
Position to System allows you to position to a specific system name.
This is useful if you have a large number of systems defined in
Implementer.
Filter on Status allows you to display all systems that have promotion
requests at a specified status level. This is useful if you have a large
number of systems defined in Implementer.
279
Performing Distributions
The distribution step is separate from the move step. Therefore, option
10=Distribute, must be initiated through menu option 6, Move
Requests by System/Environment.
When scheduling a remote job, you have two options: use the default
schedule settings for the target remote environment, or use the Change
Remote Request (ICHGRMTRQS) command to override the default
schedule settings for a request. Then, issue the Move Remote Request
(IMOVRMTRQS) command to reschedule the job.
NOTE
The move step must be separate from the distribution step because it must be a
remote-initiated move.
280 u s e r g u i d e
Controlling Remote Job Schedules
Overriding the The Change Remote Request (CHGRMTRQS) command allows you to
enter schedule overrides to the default move schedule for promotion
Default Job requests. This command evokes DDM to communicate the overrides to the
Schedule schedule overrides file IMRQSO on the remote for each remote system
targeted on the request. The Change Remote Request command does not
update the actual move job.
NOTE
A log of the schedule overrides entered is maintained by Implementer in file
IMRQSO on both the host and remote systems.
Remote Job Perform the following steps prior to using remote job scheduling:
Create a routinely running job on each remote system that issues the
Move Remote Request (IMOVRMTRQS) command for all requests.
2 Select the remote environment that you want to define using option
2=Change. The Change Environment panel displays.
281
Performing Distributions
6 Press ENTER to save the change and redisplay the Work with
Environments panel.
282 u s e r g u i d e
Controlling Remote Job Schedules
3 In the Move submit date range and Time range fields specify the
default date and time ranges to use for the majority of requests. The
left-most field represents the from-date or time. The right-most field
represents the to-date or time.
*CURRENT The from and to dates default from the system. This is
the default value.
Actual Date Specify an exact from and to date.
*MONTHSTR The from date is the first day of the month.
*MONTHEND The to date is the last day of the month.
*MON through Type an asterisk followed by the first three letters of any
*SUN day of the week to indicate the from date.
NOTE
In the Time range fields, you can specify exact from and to times, or
*CURRENT to default the time value from the system.
283
Performing Distributions
ADDJOBSCDE JOB(IMAUTOSCH)
CMD(IMOVRMTRQS RQSNUM(*ALL))
FRQ(*WEEKLY)
SCDDATE(*NONE)
SCDDAY(*ALL)
SCDTIME(150000)
JOBD(IMPJOBD)
2 If you need to modify the job schedule entry or view a list of currently
scheduled job entries, use the Work with Job Schedule Entry
(WRKJOBSCDE) command.
TIP
The Change Remote Request command can be issued at any point after the
request is created—the request does not have to be at a Move Pend status.
284 u s e r g u i d e
Controlling Remote Job Schedules
Specify the time range to schedule the move. The From date/To date and
From time/To time fields, in combination, define a window of time. As
such, if a value is specified for any one field, a value must be specified in all
of the fields.
Specify the job queue library and name for the move.
285
Performing Distributions
Moving Remote The Move Remote Request (IMOVRMTRQS) command processes the
move step for each remote environment targeted on the request. If
Requests schedule overrides were entered using the Change Remote Request
(ICHGRMTRQS) command, you must also issue this command to process
the override updates to the OS/400 auto job scheduler.
For new requests that were not previously submitted, it submits the
move job using the default move time, or if any schedule overrides
were specified with the Change Remote Request (ICHGRMTRQS)
command.
For all submitted requests, it updates the submitted request audit file
IMRQSO.
4 Press ENTER.
286 u s e r g u i d e
Using the Implementer Receiver Menu
1 Ensure the remote library is installed on the remote system and that
the library is on your library list.
2 Type STRIR at the command line and press ENTER to display the
Implementer Receiver menu.
287
Performing Distributions
Common What is the difference between a host initiated move and a remote
initiated move?
Questions
Host initiated moves automatically complete the distribution and
move steps into the remote production environment, or with little or
no user intervention.
Working With The Work with Remote Requests function simplifies the tasks of promotion
on a remote system by allowing request inquiry, request report printing,
Requests on and remote initiation for moving the members/objects into the remote
the Remote production environment. This function is generally performed by a remote
environment administrator who has move capabilities.
System
NOTE
AS/SET definitions are not supported on the Implementer Receiver.
1 Ensure the remote library is installed on the remote system and that
the library MKSIR is on your library list.
2 Type the command STRIR at the command line and press ENTER to
display the Implementer Receiver Menu.
3 Type option 1 at the command line and press ENTER to display the
Work with Remote Requests panel.
288 u s e r g u i d e
Using the Implementer Receiver Menu
NOTE
The environment must be set up as a remote initiated move in Work with
Environments.
Before a promotion request can be moved with this option, it must be restored
and at a Move-Pend status.
289
Performing Distributions
1 Ensure the remote library is installed on the remote system and that
the library is on your library list.
2 Type the command STRIR at the command line, and press ENTER to
display the Implementer Receiver Menu.
3 Type option 2 at the command line and press ENTER to display the
Restore Remote Requests (IRSTRMTRQS) command.
NOTE
If you want to automatically submit the move after the restore, type *YES in
the Submit move request field. If you want to delay either the restore or the
restore and automatic move until a later time, type *YES in the Hold on Job
queue field, or move the job to the appropriate job queue.
Moving Remote The Move Remote Requests (IMOVRMTRQS) command completes the
promotion process for remote initiated moves that you restored using the
Requests Restore Remote Requests (IRSTRMTRQS) command. It is used to promote
(IMOVRMTRQS) the members/objects into a remote production environment.
2 Type the command STRIR at the command line, and press ENTER to
display the Implementer Receiver Menu.
3 Type option 3 at the command line and press ENTER to display the
Move Remote Requests (IMOVRMTRQS) command.
290 u s e r g u i d e
Working With Function Keys
You can add, change, or delete specific command keys. There are specific
key numbers for global keys and the capacity to either make the key global,
or override it for each specified panel.
You can define specific function keys to directly access your internal
systems (such as a problem tracking or help desk system) from the
Implementer Receiver Menu, or to add commonly issued commands to a
function key.
2 Select the panel you want to work with (or *ALL) using option
1=Work with panel. The Work with Function Keys - Key Select panel
displays.
A description of the fields on this panel is next. From this panel you
can use option 1=Change to change function keys, or option 8=Refresh
overridden global function keys.
NOTE
If the global column displays an O (indicating that it is a global function key
with specific overrides for this panel), option 8 causes the key to reset to its
original global values. In addition, it causes Y to appear in the global column.
This option is available on all panels except the *ALL (global panel). You can
use option 9=Delete to delete function keys.
291
Performing Distributions
Panel ID
Defines the panel the function keys are defined for. This value appears in
the upper left corner of all panels within the product.
Panel width
Number of lines
Defines how many lines appear on the panel.
Global
Defines whether the function key is a global key (defined to the *ALL panel
ID) and whether the key definition was overridden from its global
definition. This entry is not maintainable.
Function Key
0 ENTER
1-24 Function keys 1 through 24
25 ROLLUP
26 ROLLDOWN
27 HELP
28 HOME
29 CLEAR
100+ Document-only function keys. This allows you to document and
display some of the commonly used keys on your system
keyboard. You can number document-only function keys from 100
to 999. These keys cause no processing to occurthey simply
document available keys that are processed outside the application
program (for example, System Request, Attention, and various PC
hot key sequences). When creating a document-only function key
you cannot enter an action or command.
292 u s e r g u i d e
Working With Function Keys
This entry is derived from the function key prefix and number. You cannot
maintain it for regular function keys. You can enter this on the Work with
Function Keys - Key Maintenance panel for document-only function keys.
This description displays on a panel after the separator for the function
key. For example, for F8=Spool Files, Spool Files is the function key text.
Valid
Display
Defines whether the function key displays on the panel, if valid. The value
for this entry is only used if the function key is valid.
Action/Command
293
Performing Distributions
294 u s e r g u i d e
Handling Emergency
Situations 8
Implementer supports the following three emergency functions:
Archive Recovery allows you to roll back a previously completed
promotion request. This is useful when a promoted change is not
working properly, and you want to return the previous versions of the
objects (and source members) to production while you investigate or
fix the problem.
Emergency Check Out provides all the features of the standard Check
Out function, and marks the member/object as checked out for
emergency purposes.
295
Handling Emergency Situations
Archiving
Implementer allows source members and objects to be archived during
promotion. You can use these archives to roll back (recover) a change, or to
simply view a historical copy of a source.
The archiving of target source and objects is based on the environment
definition. SQL tables and physical file objects are never archived. If
archiving is requested for the table or physical file object, only the source is
archived.
Source and objects are archived during the move step of a promotion
request. The target environment definition is used to control how and
when to archive. You can optionally archive the source or objects for the
environments.
NOTE
Archiving is not supported for AS/SET definitions.
Archiving Archived source and objects are stored in one large library. Because you
cannot have two objects with the same name in a library, the objects that
Source and are placed in the archive library are renamed. This allows the ability to
Objects on a archive multiple copies of the same source and object. In addition, the
source members are renamed when they are archived. The archive library
Promotion is not accessible to Implementer users.
Request When you recover objects or display archived source members, what
version of the source member or object to use is automatically determined.
You can use the same archive library for multiple environments. The
archive library must be different from any other libraries for an
environment.
If you have targeted multiple environments on a promotion request that
are designated for archive, the objects are archived multiple times.
A common development scenario is to archive your production
environments and not your development or test environments.
296 u s e r g u i d e
Using the Archive to Tape Features
NOTE
Before using the Archive to Tape features, certain setup steps must be
performed. For more information, see “Set Up for Archive to Tape
Capabilities” in Chapter 3 of the Implementer System Administrator Guide.
Working With You must be signed on as QSECOFR, or with a profile that has a group
profile of QSECOFR, to display the Archives to Tape menu or use any of
Tape Archives the menu options.
Select one of the following options to display the Archives to Tape menu.
From the Implementer Menu, type option 24, Archive to Tape, and
press ENTER.
297
Handling Emergency Situations
298 u s e r g u i d e
Using the Archive to Tape Features
CAUTION
Be careful not to issue this command with the incorrect tape loaded, since it
will be initialized and the current tape contents cleared.
To restore an archive
Archives are restored back into the same archive library that they were
saved from.
IMPORTANT
If archive libraries were saved and cleared in the past, the Implementer files
that manage the archives still reflect that the object is in the archive library
when, in fact, it is not. For this reason, a cleared object still appears on the
reports of archived versions.
If an attempt is made to recover a cleared object, it will fail (since the object is
not actually on the tape). To recover the remaining items on the request being
recovered, use the IBM Data File Utility (DFU) command to remove the record
referring to the archive that was deleted from the Archives on Tape file
(IMARTP).
Archive Reports Implementer provides three queries to manage the archives on tape:
Archives per Tape Report
When you select options 3, 4, or 5 from the Archives to Tape menu, the
queries are prompted to allow for easy selection of online viewing or
generating a printed report. In addition, standard query record selection is
available to restrict the reports to only the tape, request, or environment of
interest.
299
Handling Emergency Situations
Archive Recovery
Once you promote a change using Implementer, you can easily roll back
that change in case of an emergency. For example, if a change is moved to
production at 4:00 p.m. and you determine at 4:30 p.m. the change is
wrong (it hard halts or is giving incorrect results), you may want to return
production to the previous version and correct the problem later.
Related request processing Archive recovery supports the rollback of standard promotion requests, as
applies to promoting cross- well as related requests—that is, primary requests and their generated
environment related objects, a secondary requests.
feature activated in System
Control Maintenance. For From the Archive recovery panel, you can determine if a request has any
more information, see secondary requests by the value in the Related Requests column. When
“Related Request Processing” related requests do not exist, the value is blank, which indicates a standard
on page 201. release. When related requests do exist, the value “Primary” or
“Secondary” displays to identify the release type.
To roll back a promotion request, you must be authorized to use the
Archive Recovery menu option, and you must be authorized to recover for
this specific environment.
Recovering Whenever you promote new objects into production, it is possible for
errors to occur that make the updated production environment unusable.
Archived When this happens, it is necessary to have an automated (and accurate)
Source/Object process to restore the last production version (or whatever version you
need). Because all archived versions (up to 99 levels) are tracked, this
by Request function gives you critical control in a disaster situation.
This task allows you to return your production environment to a
previously working version of one or more objects by automatically
recovering or backing out implementation requests. A request is generated
and the compile and move procedures are automatically performed. The
recovered request is superseded by the new recovery request.
You can roll back either a single object or an entire promotion request. If
you archived the objects, you can process a rapid rollback, which does not
require the compilation step. If you archived source only, or if you want to
recompile the source, specify source archival on the request.
The rollback procedures create a promotion request. The request type is
recov. This approach ensures the same integrity as a normal promotion
request and ensures that the rollback is fully logged and tracked as a
change. Each production member/object is checked out and remains
checked out until it is forward promoted, if you selected it for check out on
the Archive Recovery Options panel.
Only promotion requests that still have source or objects in the archive
library for the environment are eligible for rollback. For example, objects
on a promotion request that were also promoted on another more recent
promotion request may not be available. If the archive for the environment
was set to only archive one version of the object, the earlier promotion
300 u s e r g u i d e
Archive Recovery
request could not be recovered because the object no longer exists in the
archive library.
2 Type 1 in the option field and press ENTER to select the request and
display the request detail. The Request Member/Object Selection
panel displays.
IMPORTANT
If you archived both source and objects, you must select either the source or the
object—you cannot select both source and objects to rollback into production.
301
Handling Emergency Situations
Common If multiple versions are archived, how do you know which one to
restore?
questions
The most current archive is at the top of the list. If you need to choose
another archived version, use the Requester, From lib/environment, and
Target environment columns to help delineate which version to select.
In Work with Objects, you can filter to the member/object, then press
F18=Show deleted. The Show deleted function identifies the deletion type
and promotion request that initiated the delete.
Yes.
Automatic During Archive Recovery, you have the option to check out the current
version that was just promoted into production to a developer. This allows
Check Out immediate development on the fix. At the same time, Archive Recovery
Archive Options rolls back the previous versions to production so users are able to
immediately become productive.
This task allows you to automatically check out during the automatic
recovery process. This is most often used when a promoted change does
not work (production halts), and you need to restore the required working
version and begin immediate changes on the previously promoted
changes.
Archive recovery requests do not use default application paths, established
in Work with Projects and Work with Environments, for Check Out and
Create Request.
This task is generally performed by an environment administrator who has
move capabilities, whenever you need to rollback a previous version of a
member/object into production.
Archiving must be enabled and a promotion request must be complete for
an archived promotion request to exist.
302 u s e r g u i d e
Archive Recovery
IMPORTANT
If you archived both source and objects, you must select either the source or the
object. You cannot select both to rollback into production.
4 Record the request ID and the project reference at the top of the
Request Member/Object Selection panel. You may need these in the
Recovery Options panel.
To User field
303
Handling Emergency Situations
NOTE
If you want to change the overrides for the compile step of promotion
scheduling, press F18=Submission overrides to display the Job Schedule
Overrides panel from the Archive Recovery Options panel. Fill in the changes
or accept the defaults and press ENTER to redisplay the previous panel. Note
that Time range fields must be entered in HH:MM:SS format.
304 u s e r g u i d e
Emergency Check Out
The user profile must have authority to perform emergency check out.
They must also have authority to perform an emergency check out from
the environment.
NOTE
For emergency check out, the one step check out method applies only when the
check out is initiated from Work with Objects, using option 21=Emergency
Check Out.
The actual steps after you select the menu option are identical to standard
check out with the following exception: The lock type placed on a
member/object in Emergency Check Out is Emerg.
1 Access Emergency Check Out using one of the following options.
Option 21=Emergency Check Out in My Workbench or the Work with
Objects panel, option 4 from the Clipboard Processing Menu, option
21 from the main menu, or type the command STRIM *ECHKOUT and
press ENTER. A similar panel can be accessed using option 20=Reject,
for rejecting a member/object with an emergency lock.
Common What is the difference between standard and emergency check out?
Questions The action that created the lock is different and the panel headings are
different.
You must assign different capabilities to a user so they can perform
emergency check out versus standard check out. The functionality remains
the same.
305
Handling Emergency Situations
Emergency Promotion
When it is necessary to promote a member/object under emergency status,
use the Emergency Create Request function to create an emergency
promotion request.
MKS suggests that you have an emergency path set up for the production
environment. For a description of path setup, see the Implementer System
Administrator Guide. Creation of standard and emergency paths is identical.
This task creates an emergency promotion request. It can be performed by
any user with the capability for Emergency Create Request. This user also
has (by default) the capability to resolve conflicts for items on the
promotion request they are currently creating.
User profiles must exist for the System Administrator and for those users
who create the environments.
NOTE
The one step promotion method does not affect this task.
2 You can use any of the Create Promotion Request tasks as described in
“Performing Promotions” on page 171.
For more information on this 3 In addition, the auto submit option defaults from the value specified
data area, see Appendix A of for the Implementer data area IMEMGSTP (Emergency Promotion
the Implementer System
Request Submit Through Step) regardless of how the default target
Administrator Guide.
environment is defined. The default value for this data area is 4
(through the move step), which ensures the change is promoted into
the target libraries as quickly as possible. The auto submit field can
also be overridden by pressing F18=Overrides from the Emergency
Create Request panel.
306 u s e r g u i d e
Member and Object
Handling 9
Implementer has advanced features to support the different types of
OS/400 objects and source members. All OS/400 members/objects that
exist in user libraries are supported as well.
The object code provides the seamless way in which Implementer supports
the different types of items it must promote. Whether an item is a source
member (such as OCL36 or COBOL copy blocks), an object (data areas or
job descriptions), or a source-based object (such as an RPG program,
display file, or physical file), you specify the same information about each
item—the name of the item and the object code.
The object code defines whether the item has an associated source member
and associated objects, and defines how it will be compiled.
Compile options
ILE member/objects
S/36 environment
S/38 environment
Extended object support
307
Member and Object Handling
Compile Options
For source-based objects, you can tailor the compilation commands for
your particular needs. You can customize any parameter of the standard
compilation commands, such as Create Display Files (CRTDSPF). You can
also use your own customized compilation commands.
Database Management
Implementer’s support for database management includes complete
support for all object and source types, including source-based objects,
non-source-based objects, source-only items, and the tracking of non-
OS/400 items.
This section covers the support Implementer provides for managing the
following types of database files:
non-source-based SQL
traditional DDS-based
triggers and constraints
IMPORTANT
If you are working in a mixed-development environment, Implementer
requires that an SQL table have only SQL indices and views built over it. In
other words, Implementer does not support DDS-based logical files built over
SQL tables, or SQL-based logical files built over DDS-based physical files.
308 u s e r g u i d e
Database Management
Managing Non- Implementer provides full support for database files built using non-
source-based SQL. This includes SQL tables, indices, and views, as well as
Source-based the retention of existing triggers and constraints.
SQL
Object Codes for Non-Source SQL
For managing SQL DDL, Implementer provides three non-source-based
object codes. You may also create user-defined object codes provided they
are created with the required special characteristic for non-source-based
tables. The special characteristic ensures that the Implementer repository
properly reflects the different object types, and also distinguishes SQL
DDL-based tables from DDS-based files.
When checking out and promoting SQL DDL objects, use the following
object codes, as described.
Special
Object Type Object Code
Characteristics
the request does not contain DDS-based logical files built over SQL
tables
the request does not contain SQL-based logical files built over DDS-
based physical files
only SQL type object codes are used for SQL objects
All SQL objects go through the compile step, which ensures that the tables
will be installed correctly in production. Implementer uses an SQL DDL
Alter Table (ALTER TABLE) statement architecture to recreate a file in the
production library. During the compile, Implementer verifies the request
does not contain changes that are not supported by the ALTER TABLE
command. The ALTER TABLE statement detects the differences between
the table being promoted and the target production table. The target table
is duplicated into a temporary library without data, where the ALTER
TABLE statement is run again. This ensures that only the changes
supported by the ALTER TABLE command are included in the promotion.
309
Member and Object Handling
After examining the target library for related indices and views, those
found are recreated in a temporary work library where they are used for
recompiling any related programs. This also ensures that all unchanged
indices and views that contain fields/columns that were dropped from the
table are detected, before the move step, again ensuring the integrity of the
production files. The target libraries are also examined for existing related
indices and views that specified list of field to include in a view. If found,
they are archived, deleted from production, and then recreated (rather
than compiled).
Implementer supports the archive and recovery of SQL DDL indices and
views. For archiving, it uses the CREATE INDEX or CREATE VIEW
command, based on file type, to save the files to a source file in the archive
library. This allows for object creation from the source file during Archive
Recovery.
The Build List function distinguishes SQL-based tables, indices, and views
from DDS-based files.
310 u s e r g u i d e
Database Management
Managing Implementer provides full support for database files built using source-
based SQL (OS/400 managed source), including the retention of existing
Source-based triggers and constraints for source-based tables.
SQL (DDL)
For more information on The promotion of source-based SQL is similar to that of an optimized PF
optimizing promotions, see promotion, in that most of the work is performed in the production library
“Optimizing Physical File
during the move step. This technique ensures the integrity of your
Promotions” on page 313.
production files, while at the same time bypasses a significant amount of
the promotion processing that occurs in the Implementer work libraries.
When checking out and promoting DDL source-based SQL objects, use the
following object codes, as described.
Source Member
Object Type Object Code
Type
311
Member and Object Handling
To promote source-based physical files, use the SQLTABL object code that
has a source member type of SQLTABL.
When using SQLTABL, or the SQLINDX object code for logical files and
SQLVIEW object code for views, all related PFs and LFs must be checked
out and promoted together (there is no implicit logical file processing).
To promote source-based logical files, use the SQLINDX object code that
has a source member type of SLQLINDX for indices, and the SQLVIEW
object code that has a source member type of SQLVIEW for views.
Note that when using SQLINDX or SQLVIEW object codes for logical files,
all related PFs and LFs must be checked out and promoted together (there
is no implicit logical file processing).
Managing The traditional database uses Data Definition Specifications (DDS) based
files, although it also uses high-level languages (such as SQL, RPG IV, and
Traditional DDS ILE Cobol) that include I/O extensions to support database files and
commands.
IMPORTANT
Implementer requires that a physical file created with DDS have only DDS-
based logical files built over it. In other words, Implementer does not support
DDS-based logical files built over SQL tables, or SQL-based logical files built
over DDS-based physical files.
312 u s e r g u i d e
Database Management
If a request fails, the existing files remain in production as they were before
the promotion. After correcting any problems, you can re-submit the
request.
313
Member and Object Handling
Related Files
When PF promotions are not optimized, existing data is retained using the
record format field mapping options *MAP and *DROP on the IBM Copy
File (CPYF) command. If *MAP/*DROP fails, the request status is set to
Move-Fail.
In the rare case where a field has been changed from numeric to
alphanumeric or vice versa, the Copy File (CPYF) command is not able to
retain the data correctly.
In this case, you should promote the physical file in two steps:
2 On a second promotion request, add the field back to the file (with the
changed field attributes).
This approach allows data to be retained in all fields, except for the field
that was changed from numeric to alphanumeric (or vice versa).
To promote or change the contents of a physical file, use the PFDTA object
code. At check out, this object code copies the records in the database to the
development library. When you create a promotion request, the data in the
development or test library is copied to the target library, but the physical
file is not compiled.
If you have added or changed records in a file and changed the source
(added, changed, or deleted fields), promote that physical file with both
the PF and PFDTA object codes.
314 u s e r g u i d e
Database Management
Changing Members
You can add or change members with the object codes delivered with
Implementer. To change a physical file member, use the CHGPFM object
code. To add a member to a physical file, use ADDPFM object code.
Journaling Files
Reference Files
To ensure field reference files are compiled before other physical files, use
the PFREF object code to promote field reference files.
Conversion Programs
315
Member and Object Handling
In addition, you should avoid changing the file size (FILESIZE) parameter
for existing objects. This can result in errors during the move step, if you
change the file size to a size smaller than the existing members of the
physical file.
Object Codes
The object code LF is provided to promote logical files when you have
made source changes. However, other object codes also affect logical files.
You can add members or change them with object codes that are delivered
with Implementer. To change a logical file member, use the CHGLF object
code. To add a member to a logical file, use the CHGLFM object code.
Journals
When a database file promotion is optimized, existing journals are retained
for journaled logical files. While Implementer does not explicitly require or
perform journal management, a function of the CHGPF command stops
and re-starts the journals for journaled files.
316 u s e r g u i d e
Database Management
Logical files can have dependencies across different libraries, but OS/400
constraints dictate that these libraries reside in the same ASP. Normally,
this is not a problem. However, let’s say you have a test library in one ASP
and a production library in another ASP and you want to promote just one
logical file. In this scenario, the physical file does not exist in the test library
and the request fails. You must keep copies of the physical files in the test
environment as well as the production environment. Most organizations
keep copies of physical and logical files in both environments.
317
Member and Object Handling
Questions Yes. Implementer automatically retains in the target libraries any triggers
and constraints associated with SQL table promotions and optimized PF
promotions. To add or remove triggers and constraints, or to retain
triggers and constraints without optimizing, use the special commands
feature when creating the promotion request.
What are the basic guidelines for creating DDS files with SQL tables?
Implementer requires that a physical file created with DDS have only DDS-
based logical files built over it. In other words, Implementer does not
support DDS-based logical files built over SQL tables, or SQL-based logical
files built over DDS-based physical files.
Data Areas Implementer provides two object codes that can be used to set the target
data area value upon promotion of the data area to the target library. A
data area is a non-source-based object. Since it generally contains data for
the application, by default, Implementer places the objects in the database
files library.
The DTAARA object code copies the data in the from library to the
target library. It has no special requirementsy. If you want to put the
object in the program library of the environment, you must change the
DTAARA object code for that environment.
The DTAARAR object code retains the existing value in the target
library. It has an object type of *DTAARA and a special characteristic
of *DTA. The special characteristic is significant—it controls whether
the existing data area value is retained.
These data areas are helpful, for example, to use a single promotion
request to deploy to multiple libraries or systems, while retaining or
replacing data area values as needed. For example, this is useful for a data
318 u s e r g u i d e
Managing ILE Development
area that controls the next order number, when a new customer needs to
have the data area value set to a newly distributed value, while an existing
customer needs to retain the existing value.
Data Queues A data queue is a non-source-based object. The IBM Create Duplicate
Object (CRTDUPOBJ) command is not valid for data queues, so when you
check out this type of object, the object cannot be duplicated into the
development library. Therefore, Implementer saves the original data
queue in a save file, and restores the data queue to the target environment
or to the library indicated on the Check Out panel. The same process is
used to promote data queues.
To end journaling for a database, use the special command feature, End
Journal Access Path (ENDJRNAP) command.
Commands and Implementer analyzes command and program objects, since the display
commands for the objects Display Command (DSPCMD) and Display
Programs Program (DSPPGM) do not have outfile support. This analysis is done
through assembler routines, and since there is no analysis of a spool file
output, there is no dependency on the national language used in OS/400.
Support for retaining and overriding compile characteristics for all ILE
objects.
319
Member and Object Handling
Support for Modules are objects that essentially contain the executable code, but are
not actually executable until they are bound into an ILE program or a
Modules service program.
Although not recommended, you may also check out just the module. In
this case, use the Implementer feature that adds all related objects to a
promotion request. This automatically rebinds the modules to the existing
programs and service programs the module is currently bound to.
320 u s e r g u i d e
Managing ILE Development
Promoting Modules
When promoting a module, you should also promote the related programs
and service programs at the same time—just as you checked them out at
the same time. You can also configure Implementer to automatically
include them on the promotion request.
Support for Service programs are objects that contain procedures that are bound to
calling programs at run time. This is also referred to as bound by reference.
Service
Programs Checking Out Service Programs
When you need to make a change to a service program, you first check out
the service program. You may also need to change the related programs
and service programs that it is bound in, although typically only if the
external exposed interfaces are changed. This includes adding or deleting
modules, adding or deleting procedures within a module, or changing the
parameters of a procedure in one of the modules. If only the logic of a
procedure changes, you do not need to rebind the service programs. If no
external changes were made, you typically do not need to check out the
related programs and service programs.
When examining related objects, a more typical example is to check out for
change the modules that require application logic changes, since typically
this is the reason for service program being changed.
321
Member and Object Handling
If you are using binding directories for the application, the binding
directory can also be added to the object.
Loading ILE Many of the same principles for loading objects into the Implementer
repository apply to loading ILE objects.
Objects Into the
Repository Loading Modules
Modules are source-based objects that Implementer loads into the
repository like any other source-based object. By default, they are assigned
an object code of xxxMOD, where xxx is the language.
322 u s e r g u i d e
Managing ILE Development
is assigned to the object, and the modules that are used by the program are
added to the Implementer’s related object repository for use in check out
and promotion.
When loading ILE programs, any modules and service programs that are
bound into an ILE program are also inserted into the Implementer impact
analysis repository.
When loading service programs, any modules and service programs that
are bound to the service program are also loaded into the Implementer
impact analysis repository.
Binding Directories
Binding directories are loaded into Implementer using the BNDDIR object
code.
Export Source
Service Program Export Source is treated as a source only item, similar to
OCL and copybooks.
Questions Yes. For more information, see “Performing Check Out” on page 111.
323
Member and Object Handling
Binding directories store a list of modules and service programs that are
used when creating programs and service programs.
324 u s e r g u i d e
S/36 Environment
S/36 Environment
Implementer supports all S/36 environment objects. This includes
extended support for MNU36 objects. When you promote MNU36 objects,
both the menu and secondary objects are promoted in tandem by one
MNU36 object code. When you promote display files, use the DSPF36
object code. You can mix S/36 environment objects with other OS/400
objects on a promotion request and at check out.
S/38 Environment
Implementer supports all S/38 environment objects. This includes
extended support for System/38 environments DFUs. When you promote
System/38 DFUs, you promote both the program object and the related
display files together, as defined by the DFU38 object code.
You can add S/38 environment objects with other OS/400 objects to a
promotion request and at check out.
325
Member and Object Handling
S/38 DFU
S/36 menu
Menu
DFU
Save files
Data queues
Cognos
326 u s e r g u i d e
Integrating With Other
Vendor Products 10
T his chapter discusses the integration of Implementer with other vendor
software. It explains any actions you must take to ensure maximum
integration, and describes how to use the integration. Some of these
products have seamless integration with Implementer. Other products
require further user action to complete the integration. These products are
described in the following sections.
The chapter is divided into two sections to reflect the type of software
product supported:
327
Integrating With Other Vendor Products
AS/SET
BPCS
CODE/400
COOL:2E
J.D. Edwards
LANSA
Powerhouse
328 u s e r g u i d e
American Software Integration
The information provided here explains how to use Implementer with the
ASI application software.
Object Codes American Software uses a special command for compiling, which, among
other things, merges both a base version of a source member, ASI PTFs,
for Check Out and customer changes into a temporary source member and then compiles
and Promotion that source member.
LF (Logical Files)
PF (Physical Files)
NOTE
The standard object codes (such as CBL and RPG) should be disallowed in each
environment.
To perform ASI compiles within Implementer, you need to check out and
promote ASI member/objects using the ASI-specific object codes. These
object codes use the Put Create Object (PUTCRTOBJ) command.
The PUTCRTOBJ command requires that the three source files used be in
the same library. These source files are typically:
329
Integrating With Other Vendor Products
The library you are developing changes in (in source file UCBLSRC
source members) must have a copy of the TCBLSRC source file and
the QCBLSRC source file in the same library as your UCBLSRC.
The library list for the environment must be the same as the library list
in the ASICOMPILE job description. In addition, the libraries must be
in the same order.
Compiling To compile an ASI Cobol within Implementer, use a specific ASI Cobol
object code, for example, CBLASI.
Cobol
The object code controls, among other things, how objects are compiled.
Programs Instead of calling the standard IBM Create Cobol Program (CRTCBLPGM)
command, the CBLASI object code (with a source member type of TXT and
special characteristic of ASICBL) calls the ASI command that merges and
then compiles Cobol source code. An example of the creation command is:
ASIUTILIB/PUTCRTOBJ OBJ(#PGMLIB/#OBJECT) SRCMBR(#OBJECT)
SRCFL(#SRCLIB/QCBLSRC) OBJTYPE(CBL) PRMSRCFL(QCBLSRC)
Message File The following information relates to possible problems encountered with
message files.
Considerations
Problem Resolution
TSRC and USRC not copied Object type special characteristics not
entered.
AS/SET Integration
AS/SET is a CASE tool developed by System Software Associates (SSA)
and used to develop the SSA BPCS product.
330 u s e r g u i d e
AS/SET Integration
Checking Out AS/SET definitions and generated traditional source and objects can
be checked out as defined in the manuals. All the required objects can
AS/SET however, be checked out along with the definitions in order to have
Definitions them locked. Locks are created for all the definitions and the required
objects that are being checked out.
AS/SET definitions that are specified with one of the ADK object
codes can only be copied from an environment defined as an AS/SET
environment.
If you check out an AS/SET display program with the associated help,
it is necessary to check out the definition and help separately as two
objects with the same name. One of the objects must use the object
code with the special characteristic of ADKDSP for the display
program. The other object must use a separate object code created
with the special characteristic ADKHLP, to check out the help text
associated with the display program.
When you use the AS/SET object codes (for example, RPT) at check
out, the AS/SET definition is copied from the production application
set to the development application set. If you want the associated
331
Integrating With Other Vendor Products
OS/400 source to be checked out, use the RPG, DSPF, and PRTF object
codes to check out the related source members for the AS/SET
definition.
There are no setup requirements within the AS/SET for this feature.
2 Define the Library parameter. This is the library where the job
description exists (MKSIM is the default).
Both the ASSET object library and file library must be positioned
before the Implementer library.
QTEMP library must appear (in any position) on the library list.
1 From menu option 42, Work with Environments, select the *TST
environment with option 19=Special commands.
332 u s e r g u i d e
AS/SET Integration
2 You can press F2 to display the second level text. Reply with one of the
following options, and press ENTER. (The reply options are valid for
both first level and second level messages.)
Option Description
During the check out process, messages are logged to the job log
indicating what action was taken by the check out program. As with
all Implementer messages, the text can be customized by maintaining
a message file. For more information on maintaining messages files,
see“Problem Determination” on page 253.
333
Integrating With Other Vendor Products
Promoting AS/ AS/SET definition promotions (using an object code that contains an
ADK special characteristic) require that the from and target
SET Definitions environments be defined as an AS/SET environment.
The source and object are moved from the From environment if the
request specifies No to compile.
334 u s e r g u i d e
AS/SET Integration
with the appropriate object codes, or use the Add Related Objects
feature to automatically include the generated objects for the
definitions on the request.
When you use the AS/SET object codes (for example, RPT) at
promotion, the AS/SET definition is copied to the target application
set. If you want the associated OS/400 source to be promoted, use the
RPG, DSPF, and PRTF object codes, or use the Add Related Objects
feature to include the generated objects for the AS/SET definition on
the promotion request.
AS/SET Commands
Command Definition
Archiving AS/ After defining an archive application set for an AS/SET environment, the
AS/SET definitions are automatically archived whenever you promote to
SET Definitions the environment.
Remote The Implementer Receiver does not support AS/SET definitions; however,
it does receive the generated objects.
Distribution
335
Integrating With Other Vendor Products
3 Complete the Add ADK required objects field with one of the
following values. The field defaults to the value defined in the
environment definition.
Value Description
BPCS Integration
BPCS is an application software product from SSA. BPCS compiles are
fully supported within Implementer. Keep in mind, however, that the
compile step requires that the program or command used for compilation
be issued within the Implementer submitted compile job. For this reason,
BPCS compiles are performed using the BPCS programs that are submitted
by the BPCS compile commands, not by the command itself.
Your Implementer System Administrator is responsible for setting up the
appropriate object codes to ensure that BPCS compiles are handled
correctly. No additional action is required by the developer to use the
BPCS interface.
336 u s e r g u i d e
CODE/400 Integration
CODE/400 Integration
CODE/400 (CoOperative Development Environment/400) is a
workstation-based client/server development environment, available with
IBM’s WebSphereTM Development Tools for the iSeries 400.
With CODE/400, you can edit, compile, and debug your client and server
applications, as well as applications written in many OS/400 languages.
The CODE/400 tools are invoked from the Workbench using the PDM
User-Defined Options function. Options are available for browsing,
editing, and designing source members.
IMPORTANT
The CODE/400 integration described herein requires that CODE/400 is
already set up and running successfully within your organization.
Creating the Once you have CODE/400 set up and running successfully, access PDM to
create the user-defined options that will access CODE/400 from the
User-Defined Workbench. For example, to invoke CODE/400 to edit a source member,
Options create an option defined with the following command syntax:
Call qcode/evfcfdbk parm('37' 'Y' 'OS400' '<LOCAL>
CODEEDIT "<OS400>&L/&F (&N)"')
Where:
Value Description
337
Integrating With Other Vendor Products
Value Description
Launching The CODE/400 tools are invoked from the Workbench using the PDM
User-Defined Options function.
CODE/400 From
Implementer To launch CODE/400 from the Workbench
NOTE
If you do not know the PDM option name, from the Workbench press
F16=User Options to display the PDM User Defined Options window and
browse the PDM database to select the required option name.
338 u s e r g u i d e
COOL:Xtras Change Management Integration
Basic Concepts You must know a few basic concepts to understand how change
management occurs for COOL:2E developed applications. These concepts
are described briefly here and expanded upon later.
Example 1
Your site has existing development and production models and you want
to implement change control.
339
Integrating With Other Vendor Products
object name in the target model. If a match is found, the object in the
development model is set to a production version.
You should note how objects are identified between the two models.
For non-versionable objects, matching is straightforward because of
the one-to-one relationship.
Example 2
Your site has a development model and traditional production library, and
you want to implement change control and establish a production model.
340 u s e r g u i d e
COOL:Xtras Change Management Integration
7 Establish that all of the objects flagged as production are the current
versions for their groups.
To return all of the objects on the list to a current status, issue the
following command:
341
Integrating With Other Vendor Products
YEXCMDLLST MDLLST(PRDLST)
RQSDTA('YRDRMDLOBJ)
FRMOBJNAM(*CURRENT)
TOOBJSGT(&Y@)
TFRNAM(*NO)')
FLAGVAL(*SELECTED)
Check Out
Check out is required when you attempt to change or delete an existing
model object or create a new model object. By logging the change of the
model object, it ensures Implementer knows what to promote when the
change is complete. Check out can occur implicitly when you change a
model object or you can explicitly check out an object before making any
changes.
342 u s e r g u i d e
COOL:Xtras Change Management Integration
Type Definition
ARR Array
CND Condition
FIL File
FLD Field
Each object type can be checked out and promoted. When these model
objects are promoted, their associated implementation objects are
promoted as well.
The function (FUN) and messages (MSG) model object types are
versionable.
This allows two users to check out and change different versions of the
same model object. The ability to do this is referred to as concurrent
development.
Model object lists allow you to create a named list that contains a subset of
model objects in the model. These lists make it easier to perform change
control tasks. For example, to edit a model you can edit one or more model
object lists. This feature is particularly useful for large models.
Each reference to a model object on a model object list is called a model list
entry. A model object can be included on an unlimited number of model
object lists; however, a model object can be checked out to only one model
object list at a time.
The following diagram illustrates the model object list and its relation to
the COOL:2E model:
343
Integrating With Other Vendor Products
ACP D
FUN H
APP F List *ALLOBJ
FIL B
CND C
CND C ACP D
FLD G
MSG E
CND C
FLD G FUN H
Change List
Implementer uses model object lists for change control purposes. When a
model object list is used by Implementer, it is referred to as a change list.
Model object lists created outside of Implementer cannot be used for
change control purposes. You can only use a model object list in promotion
if at least one model object is checked out to that model object list. A model
object list can be created when checking out a model object, or prior to
check out (in Work with Environments).
NOTE
It is not advisable to check out model objects to the COOL:2E session model list
specified in your COOL:2E model profile. If you do, it will not be used as a
change list. For detailed information about session lists, see the COOL:2E
manuals Getting Started and Generating and Implementing Applications.
344 u s e r g u i d e
COOL:Xtras Change Management Integration
Member/Object You can recognize COOL:2E model objects by a 25-character name, and
optionally, for some object types, a model objects owner. 3GL objects and
Naming source members have 10 character names. Most of the panels in
Implementer assume a 10-character name with 50 characters of descriptive
text. For model objects, the model object name is stored in those 50
characters of the description. The 10 character names contain the model
objects’ surrogate number (internal identifier) prefixed with Y.
345
Integrating With Other Vendor Products
For YFIL model objects being generated as SQL, Implementer uses the
object code YSQLPF for the associated implementation object. For YACP
model objects being generated as SQL, Implementer uses the object code
YSQLLF for the associated implementation object.
When you create the promotion request, Implementer adds the model
objects to the promotion request for each model object using a YFUN code,
and adds the corresponding 3GL objects, including the programs, with an
object code of RPGSQL or CBLSQL.
NOTE
For information about the object code setup requirements, see “COOL:2E
Integration” in Chapter 5 of the Implementer System Administrator Guide. If the
parameter sequences of the creation commands are not defined as required, it
may cause extraneous messages to appear in your job log.
Check Out When editing the COOL:2E model using the Edit Model List
(YEDTMDLLST) command, a check out status displays with the check out
Status information. The check out status changes automatically when an object is
346 u s e r g u i d e
COOL:Xtras Change Management Integration
Status Description
Working With There are a number of COOL:2E commands that you can use to manipulate
model object lists. Some list commands and their features are restricted to
Model Object change lists, which ensures that all changes to model objects are known to
Lists Implementer. These model object list commands are described in the
COOL:2E Command Reference Manual.
Checking Out Model object check out is required to create, edit, or delete a COOL:2E
model object. This approach integrates the check out procedure into the
Model Objects normal workflow of a COOL:2E developer. You do not use traditional
check out facilities for checking out model objects.
Regardless of how you check out an object, a Check Out panel displays to
allow you to confirm the check out. You may not want to display this panel
each time, particularly when you want to create many new model objects
during one session. In this case, on the Model Object Check Out panel
press F16 to bypass this panel for the rest of the session.
347
Integrating With Other Vendor Products
Implicit check out occurs when you attempt to change a model object that
is not checked out. This happens if you zoom into an object with the Z
option from a COOL:2E panel. However, not all Z options attempt a check
out since some model objects may not have any requested changes.
You must have all rights (A) to that type of model object. These rights are
defined in the User Capabilities panel when maintaining an environment
or user.
For functions, the production version can be checked out with an action of
Regen. Since there is only one production version, there can be only one
version of an object checked out for regeneration at any one time.
Furthermore, since a regeneration lock implies that the definition of the
object itself is not changing, concurrent development processing ignores
348 u s e r g u i d e
COOL:Xtras Change Management Integration
You must have edit rights (E) to that type of model object. These rights are
defined in the User Capabilities panel when maintaining an environment
or user.
Concurrent Implementer allows you to work on multiple copies of the same model
object for the versionable model objects FUN and MSG. You can restrict the
Development ability to have multiple versions of a model object checked out to specific
users for each model. Concurrent development is detected when you
attempt to edit a model object already checked out to a different user, or
check out a model object that is already checked out.
If you select a version that is not checked out, the standard model
object check out panel displays. The version you check out can be a
production version, archive version, or an un-checked out
development version. When you select a production or archive
version, a new development version of the model object is created. If
you select an un-checked out development version, that specific
development version is checked out.
Checking Out When checking out a version of the object, you have the option to rename
the model object and make the model object being checked out current. For
Versionable a complete description of the term current model object, see “Glossary” on
Model Objects page 413, or the COOL:2E Generating and Implementing Applications manual.
349
Integrating With Other Vendor Products
The model object is already checked out and the selected version to
check out is either: the development version, a production version that
is already checked out, or an archived version.
The version of the model object being checked out can optionally be made
current. The current model object is the version that you can view or edit in
the COOL:2E model. Non-current versions can only be worked with from
the Work with Versions panel, or when editing a specific model object list
that contains the non-current version. Multiple versions of the model
object can be checked out to and accessible from one or more model object
lists; however, only the current version displays in the model. All checked
out model objects that are on a model list must be current to promote that
list.
Action Description
8=Regen Assigned when an existing model object that is not checked out is
generated, or by specifying regeneration only when checking out
a model object.
User Exit Implementer provides a user exit program called IMCMEX01. Use this
program to:
Program Option
Maintain an external repository of model object information.
Using the exit program to perform additional validation for which the
developer is authorized (such as object level authority) is useful since
Implementer provides authority at the object type level. By placing
additional user-defined validation in the IMCMEX01 program,
developers can obtain authority checking at the object level. This can
350 u s e r g u i d e
COOL:Xtras Change Management Integration
The return code from this exit program can be one of the following:
The return code has a value passed into the program, since the
program is invoked at the end of Implementer validation. You cannot
raise the access mode for the user exit program; in other words, you
cannot switch from *VIEW to *EDIT.
Promoting Implementer promotes both model information and OS/400 source and
objects. The model information is promoted prior to the compile step in the
Model model copy step.
Information The model copy step uses the COOL:2E Copy Model Objects
(YCPYMDLOBJ) command to copy between the from and target
environment. It uses a model object list to drive the promotion.
You can change the command default parameters in the COOL:2E product
library. The only parameter values that Implementer overrides is Copy
CPF Name (CPYVNM) *YES and Copy Conditions (CPYCND) to
*SELECTED.
351
Integrating With Other Vendor Products
and affect what you check out to them. In general, the model object list
should contain a single logical change or multiple logical changes that are
grouped together due to dependencies between the changes.
Once a model object list is selected, you can designate other characteristics
that determine how this promotion request should be handled.
If you have not associated the model object list with a promotion request,
use the COOL:2E Analyze Model Object List (YANZMDLLST) command
to analyze the model object list.
You can continue to work in the source model during the model copy step
but you cannot work in the target model.
The Save Model option dramatically increases the model copy step
processing time. In addition, the save file is not automatically deleted at
the completion of the model copy; you must manually delete it. The file is
stored in a save file called ImrrrreeeM, in a library of the same name.
352 u s e r g u i d e
COOL:Xtras Change Management Integration
ppp Work library prefix. The default is M, but you can reset it in data
area IMPRFX. Values can be different on the host and each remote
system.
rrrr Promotion request number.
eee Environment ID number (the sequence number of the environment
on the request as established in target environments or
environment groups).
M Model.
In release 6.0 and later, COOL:2E ensures that only selected conditions are
promoted. Implementer uses the YCPYMDLOBJ Copy Conditions
(CPYCND) parameter value of *SELECTED to accomplish this.
353
Integrating With Other Vendor Products
Move Step
This step updates the implementation objects in the target library. The
objects and source are moved into the libraries specified for the
environment. The generation library of the target model is not used. This
allows the OS/400 source members and objects to reside in different
libraries; different types of objects can reside in multiple libraries as well.
The original model is updated in this step by the Promote Model List
(YPRMMDLLST) command. The version type is changed for all model
objects from development (DEV) to production (PRD). For versionable
object types, the existing PRD version of that model object group is
changed to version type archive (ARC), if archiving was requested for the
COOL:2E environment. The version type is set to PRD only when
promoting to the environment specified as the related production
environment for the from environment. In addition, the command
removes the locks and updates the check out information.
Environment
Creating a Request
To promote changes from a COOL:2E environment, from the Create
Request menu option in Implementer create a promotion request and
select a model object list. Each promotion request can only promote a
single model object list. This can affect how you create model object lists,
and affect what you check out to them. In general, the model object list
should contain a single logical change or multiple logical changes that are
grouped together due to dependencies between the changes.
354 u s e r g u i d e
COOL:Xtras Change Management Integration
The model list is used to derive the implementation objects for the
promotion request. No model objects are copied since the target
environment does not contain a COOL:2E model.
When the model objects are included on the promotion request, ensure
that the request is set up to compile the traditional objects first.
Compiling
There is no model copy step when you promote to a traditional
environment. The compiles that occur ensure that the 400 Toolkit compiler
directives in the source members are applied by using the 400 Toolkit
Execute with Pre-processor (YEXCOVR) command to perform the
compiles.
Move Request
This step updates the implementation objects in the target library. The
objects and source are moved into the libraries specified for the
environment.
The original model is also updated in this step. The version type is changed
for all model objects from development (DEV) to production (PRD). For
versionable object types, the existing PRD version of that model object
group is changed to version type archive (ARC), if archiving was requested
for the COOL:2E environment.
NOTE
The version type is set to PRD only when you promote to the environment
specified as the related production environment on the from environment. The
command removes the locks and updates the check out information as well.
355
Integrating With Other Vendor Products
For a complete description of The condition values and model messages are normally converted from
these COOL:2E commands, the model library associated with the from environment of the promotion
see the COOL:2E Command
request. If you select to convert condition values or model messages on a
Reference Manual.
promotion request that targets an environment group that contains a
primary COOL:2E production environment and a secondary traditional
environment, all conditions and messages for the secondary traditional
environment are converted from the primary COOL:2E target model.
In this case, you define the QA environment to use the same model as the
development environment. When promoting from development to QA, no
model copy occurs since the models are the same. Once the promotion to
QA is complete, the promoted model objects show as checked out to the
QA environment and can no longer be edited.
To implement this scenario, from the Work with Environments panel use
option 10=COOL:2E to change the QA environment as follows:
Change the model library to the COOL:2E model you defined to the
COOL:2E *TST environment.
356 u s e r g u i d e
COOL:Xtras Change Management Integration
You can explicitly check out model objects using option 28 from Edit
Model Object List or Work with Versions.
You can resolve conflicts with option 12 on the Work with Versions
panel. Use option 19 from the Edit Model Object List panel to display
the Work with Versions panel.
Your authority to the model object type is verified each time that you
access a model object.
NOTE
Use the Edit Model Object List (YEDTMDLLST) command to view the change
control information of model objects. This command is designed to help you
easily manage your model object lists.
Pre-load the model environment into your job with the Edit Model
(YEDTMDL) command: YEDTMDL entry (*NONE). This increases your
interactive response time on successive model edits.
Model Object When changes are made to a model object, Implementer records the date
and time the object changed and the user profile who made the change.
Audit This audit trail information can be useful to track changes to objects in the
Information model.
357
Integrating With Other Vendor Products
copied from another model and it has not changed since being copied
Change Type
When a model object is changed, COOL:2E records the type of change and
automatically determines the type of change based on what information is
changed for the model object. The change types are:
Object Only (OBJ) A change that has no effect on any other object and
does not require regeneration of the object, or any other
object, to retain the integrity or functionality, either of the
objects or of the implementation objects.
Generation Required A change that has no effect on any other model object
(GEN) but does require regeneration of the changed object to
affect the change in its implementation object. If it is an
internal object, the generable objects that use it must be
regenerated.
For a more detailed description on how you can use this information, see
“Component Change Processing” in the COOL:2E Generating and
Implementing Applications manual.
NOTE
Implementer only uses the change date and time, and user model object audit
information, not the change type.
358 u s e r g u i d e
COOL:Xtras Change Management Integration
Impact Analysis Extensive impact analysis features are available within COOL:2E. The
panels allow affected objects to be easily checked out. For example, if an
internal function is changed, the functions that use the internal function
can be displayed or built into your model list and easily checked out.
Once a promotion request is created for a model object list, all the model
objects can be analyzed to ensure the required affected objects are on the
request. You can accomplish this from the Compile Requests panel with
option 7=Analyze Request. This function submits a job that prints two
reports that analyze whether the model object list is ready for promotion
and determines if all the affected objects are included on the request.
The use of these impact analysis facilities helps you ensure change control
integrity in Implementer.
During check out and promotion, Implementer verifies if the 3GL source
and/or objects are associated with a model object. If not allowed, the
following message is sent:
Cannot check out/promote implementation object when the
development environment is flagged as "Dependent" and the
object type is EXCUSRSRC or EXCUSRPGM.
An EXCUSRPGM has both source and object associated with it; therefore,
you should use a standard object code (for example, RPG or COBOL) to
promote it.
359
Integrating With Other Vendor Products
An EXCUSRSRC has only source and no program object associated with it;
therefore, you should use the appropriate CPY object code (for example,
RPGCPY) to promote it. The object code can be tailored to define a specific
source file or copied to create a new object code. This object code is used in
the check out of the traditional portion of an EXCUSRSRC.
For the EXCUSRSRC 3GL source, check out with a source only object code
that has a source member but no object associated with it. For example, use
RPGCPY.
For the EXCUSRPGM 3GL source and/or object, check out with one of two
object codes: If you have source for the program, use the RPG object code.
If you have just the object for the 3GL program, use an object code such as
(or similar to) RPGOBJ. In this case, there is no relationship assumed
between the model objects and the related USRSRC and USRPGM. For
example, you may check out either one without regard for the other.
The source and objects are placed in the Implementer work library. The
object code automatically assigned is derived based on the same rules for
the object code assigned when checking out independent objects. This
allows Implementer to distinguish between the two different types of
EXCUSRPGMs—with source and without source.
360 u s e r g u i d e
COOL:Xtras Change Management Integration
Each scenario uses the XCB target HLL object attribute in COOL:2E (see
note) to create a new corresponding object code in Implementer. The
examples assume the EXCUSRPGMs are type CLP. If they are other HLL
types, copy the appropriate shipped object code instead of CLP.
For each of the following scenarios, define the XCB object code. Copy the
shipped CLP code to XCB, change its source file value to YXCBLSRC, and
change its shipped sequence number to 502 (or the next sequentially
available number).
361
Integrating With Other Vendor Products
For each scenario, perform the following steps in COOL:2E for each
EXCUSRPGM and EXCUSRSRC:
2 In the COOL:2E Edit Generation Types panel, change the name of the
SCB source types source file to the source file name used on the XCB
object code definition in Implementer.
Merging Model Model lists can be merged using the COOL:2E Merge Model Lists
(YMRGMDLLST) command. Merging model lists that are change-
Lists controlled allows you to combine two lists for creating a promotion
request. This feature is useful in several scenarios, including:
Combining model lists for two changes that start to converge during
development.
When two lists are merged, Implementer automatically changes the locks
to the target model object list. In order to merge the two lists neither list can
be attached to an open promotion request. In addition, you must have:
for a list that is still checked out to a *TST environment, be the user
who checked out all model objects on the list
362 u s e r g u i d e
J.D. Edwards Integration
NOTE
The remote environment must be a traditional environment, as Implementer
does not support distributing model changes from a COOL:2E environment on
one system to another COOL:2E environment on a remote system.
This release of Implementer provides support for any J.D. Edwards 8.X
version. It requires OS/400 V4R2 or higher.
363
Integrating With Other Vendor Products
Starting the You must have the following libraries in your interactive library list:
To ensure your interactive library list is correct, start your J.D. Edwards
software first. Once you are in J.D. Edwards, you can start Implementer.
IMPORTANT
The IMJDE library must be above the J.D. Edwards product libraries in your
interactive library list.
Support for To manage J.D. Edwards traditional objects, you must set up object codes
with specific characteristics. For details about the set up requirements, see
J.D. Edwards Chapter 5 of the Implementer System Administrator Guide. This offering
Traditional supports J.D. Edwards Release 5.2 through 8.X (the characteristics of the
object codes to set up are different for each release).
Objects
Support for For J.D. Edwards DREAM Writers, support for multiple versions in a form
ID is provided. This allows you to check out and promote single versions
J.D. Edwards or all versions in a form ID.
DREAM Writer Versions can be checked out and placed on a promotion request using one
Versions of the following options:
You can check out single versions by specifying the form ID in the
Member/Object field in both Check Out and Create Request. The version
ID can be defined up to ten characters in length, but it must begin in the
first position of the Comment field. When specifying a version name in the
Comment field, the version name must be entered using all upper case
letters, for example, *ALL. This rule applies to both single versions and all
versions.
364 u s e r g u i d e
J.D. Edwards Integration
Checking Out Keep the following points in mind when checking out J.D. Edwards special
objects:
If you are checking out J.D. Edwards special objects, you must use the
specific object codes that are defined with special characteristics
starting with JDE.
Locks are created for all special objects that are being checked out.
J.D. Edwards special objects that are specified with one of the JDE
object codes can only be checked out from an environment defined as
a J.D. Edwards environment.
For the J.D. Edwards special object types World Writer and FASTR,
you must enter a group name in the first ten characters of the
Comment field.
If you are managing the J.D. Edwards special object User Defined
Codes with Implementer, the member/object name consists of a four-
character system number and a two-character table name. If the
system number is less than four characters, you must add spaces to
complete the four-character requirement. For example, if you have a
system number of 55 and a table name of HT, create the member/
object name as 55 HT (two number 5s, two spaces, and the letters
HT).
Displaying J.D. From the Workbench, press F11=Display comments three times to display
J.D. Edwards member/objects. In addition to displaying comments
Edwards Items entered in check out, you can display the Form ID for World Writer and
FASTR, and the version reference for DREAM Writers.
Compiling From To compile from the Workbench (using option 14=Compile), the compile
library list must contain the J.D. Edwards product libraries JDFOBJ and
the Workbench JDFDATA.
365
Integrating With Other Vendor Products
Promoting Keep the following points in mind when promoting J.D. Edwards special
objects:
You can only promote J.D. Edwards special objects from a specifically
defined J.D. Edwards environment (J.D.E). The objects on the request
and the environments are edited for validity.
You can promote J.D. Edwards special objects and traditional objects
on the same request.
If you enter the J.D. Edwards World Writer or FASTR special objects,
the group name is required in the first ten characters of the comment
field on the request.
Archiving You can archive J.D. Edwards special objects, such as DREAM Writers and
Data Dictionary items, into a common archive library that you specify for
J.D. Edwards the environment. Selective rollback of the archived special objects is
Special Objects supported.
366 u s e r g u i d e
LANSA Integration
Archive Recovery
Once setup is complete for archive recovery of J.D. Edwards special
objects, the archive recovery process works the same as standard archive
recovery.
If you need to rollback any archived changes, use option 23 from the
Implementer Menu, select the request to recover, and select one or more
special objects to recover. Details on this process are provided in
“Handling Emergency Situations” on page 295.
LANSA Integration
LANSA is a CASE tool developed by LANSA Corporation. The
Implementer Adapter for LANSA manages LANSA objects such as files,
fields, processes, and functions, allowing you to check out and promote
LANSA objects in a controlled fashion. This interface supports LANSA for
the Web. LANSA for the Web generates Web and Extensible Markup
Language (XML) components, which can be managed by Implementer.
Checking Out You can check out LANSA objects with the appropriate object codes as
defined in the Implementer System Administrator Guide. Locks are
created for all the objects that are checked out.
When checking out LANSA objects, you must use the specific object
codes that are defined with special characteristics starting with LAN.
367
Integrating With Other Vendor Products
LANSA objects that are specified with one of the LAN object codes can
only be checked out from an environment defined as a LANSA
environment. If you are using copy from environments to check out
LANSA objects, you must use the same copy from environment
within a single check out session.
LANSA objects entered or selected for copy are added to an export list
if the environment specifies to copy LANSA objects during check out.
The check out of multiple LANSA functions with the same name and
object code from different processes is supported, when the process
name is specified in the first ten characters of the comment field.
If you do not enter the process name in the comment field, the
function is checked out from the first process containing the function.
The name of the process displays in the comment field. The name can
be changed if the LANSA function is to be checked out from a
different process.
During check out of a LANSA file (with or without data), when the
environment definition option to copy LANSA objects is Y, the import
process prompts for the name of the library that the file is imported
into. Watch for the prompt and enter the appropriate library name.
The Check Out Related Objects function does not support LANSA
objects.
368 u s e r g u i d e
LANSA Integration
Promoting The user profile (or group profile) used to promote LANSA objects
into an Implementer environment with archiving activated must be
the partition’s Security Officer user profile.
All valid LANSA objects on the request are bundled into an export list.
All LANSA objects are promoted in compiled form.
If you are promoting a LANSA function that exists in more than one
LANSA process, the name of the process that the function is being
promoted from must be defined in the comment field. If you do not
enter the process name, the function is selected from the first process.
It is possible to limit the auto submit process to only the export step.
The export step exports LANSA objects on the request. The export is
done to a save file. The verification of the successful completion of the
export process must be done by manually looking at the export
reports generated by LANSA.
369
Integrating With Other Vendor Products
Expt-Pend The Export phase is ready for execution. The Export phase is
only used by LANSA environments.
Expt-Jobq The Export function was submitted to the job queue for
processing.
Expt-Schd The Export function is scheduled for processing.
Expt-Run The Export phase is executing.
Expt-Fail An error has occurred during the Export phase. Review the
job log and the LANSA Export Report to determine the cause
of the failure. Make the proper corrections and resubmit the
export promotion.
Archiving LANSA requests are archived by exporting the LANSA objects in the
target partition into a save file in the archive library. The save file name is
built with the environment ID number to ensure that during recovery the
correct LANSA objects are recovered.
If you choose to recover LANSA objects, all of the LANSA objects on the
request are automatically recovered.
The save file name for LANSA is constructed as: LSA + request
number + environment ID.
All LANSA objects are saved into one save file and the save file is
stored in the archive library, unlike the traditional objects, which are
saved separately.
370 u s e r g u i d e
LANSA Integration
The Recover LANSA objects field on the Archive Recovery Options panel
specifies whether LANSA objects should be recovered. Both traditional
and LANSA objects can be recovered at the same time. This is useful when
you have a combination of LANSA objects and traditional objects on the
same request.
If you want to recover only traditional objects, set the Recover LANSA
objects on the request field to N when you select the traditional objects. If
you want to recover only LANSA objects, set the Recover LANSA objects
on the request field to Y but do not select any of the traditional objects.
Save File LANSA creates save files in different libraries depending on the task. The
libraries per task are:
Libraries
Check out—the file library specified in the to environment definition.
If the save files begin to take up too much disk space, you can delete the
obsolete save files.
The LANSA objects you manage with Implementer can be archived from
the target environments they are promoted to. However, the Archive
Recovery function allows you to recover LANSA objects that have only
been archived from local environments. If you are going to recover LANSA
objects from remote environments, use the following procedure:
The name of the save file is LSA followed by the promotion request
number (and the environment suffix). For example, if your request
number is 1234, look for a save file that starts with LSA1234.
Use the LANSA Import command to import the save file into your
remote production partition.
371
Integrating With Other Vendor Products
LANSA Export/ Implementer can grant LANSA export/import rights to you automatically
during the migration of LANSA objects. Because Implementer uses the
Import export/import processes for the migration of LANSA objects, insufficient
Authorities LANSA authorities on the objects can lead to failure of migrations.
Therefore, if you are authorized to check out or create promotion requests,
you are automatically granted LANSA authority to perform the export and
import processes. This authority is in effect only during the time the export
or import process is executed. It is automatically revoked when migration
is complete.
LANSA RDML The Compare RDML (ICMPRDML) command compares and prints the
differences between two LANSA RDML functions within the same
Function partition or in two different partitions. This command can be used as a
Compare stand-alone utility, either in batch or interactively. It is also called
automatically from various Implementer panels when you select option
23=Compare member against a LANSA object. Additionally, it is available
as option 69, Compare LANSA RDML (ICMPRDML) from the
Implementer Menu.
From any command line, type the ICMPRDML command and use F4 to
prompt the command, or type the parameters listed in the next
section.
From the Select from Locks panel (accessed by using F10 from Create
Requests), select a LANSA function with option 23=Compare
member.
ICMPRDML Parameters
The following parameters define the Compare RMDL command.
Base function
Specify the name of the first function you want to compare. This is
typically the original function that the compare to function was created
from. You must enter an existing function name. The use of wild cards is
not permitted.
372 u s e r g u i d e
LANSA Integration
Base process
Specify the name of the LANSA process that the base function resides in.
Partition
Specify the name of the partition that the base function resides in.
Compare to function
Specify the name of the function you want to compare against the base
function.
You must enter an existing function name. The use of wild cards is not
permitted.
Compare to process
Specify the name of the process that the compare to function resides in.
Partition
Specify the name of the partition that the compare to function resides in.
Specify *ALL or *CHG to indicate whether both equal and unequal areas of
each function (*ALL) or only unequal areas are printed (*CHG). If you
select *CHG, you can elect to print a fixed number of equal lines before
each block of differences, as defined in the next field.
If the previous field is set to *CHG, enter the number of equal lines (0–99)
prior to each detected change to print.
Output queue/Library
Specify *JOB, the output queue name and *LIBL, or the library name, to
indicate the output queue associated with the job and the library that
output queue resides in.
373
Integrating With Other Vendor Products
*FILE The printer file definitions determine whether to hold the report
output. The name of the printer file is NVCMMBP.
*YES The report output is held.
*NO The report output is not held.
Submit
*YES Submits the job to batch. The name of the submitted job is
LANSACMP.
*NO The job runs interactively.
Job description/Library
Specify the job name and either *LIBL or a library name to be used for the
submitted job. The default job description is MWIJOBD.
The last field on the panel allows you to enter text to appear at the bottom
of each page on the report. This is an optional field.
Understanding The following illustration shows a page from a typical Compare Members
report.
the Report
374 u s e r g u i d e
LANSA Integration
Member Function
File Process
Library Partition
Note that old and new commands are printed in their entirety for multiple-
line commands, even if only a portion of that command is different within
the two versions.
375
Integrating With Other Vendor Products
For information about setting up and using this integration, see the
Implementer Multi-Platform Solutions Guide.
Powerhouse Integration
Powerhouse is a CASE tool developed by Cognos. The integration of
Implementer with Powerhouse requires minimal additional object code
setup (as described in the Implementer System Administrator Guide).
Normally, it is assumed that object and source names are the same unless a
creation override is performed. With Powerhouse objects, source and
object names are differentobject names carry a two-character prefix
based on the creation command:
QTP PT
QUICK PK
QUIZ PZ
QDESIGN PK
376 u s e r g u i d e
Utility Software Products
ABSTRACT
AS/NET
MIMIX
NetView/DM
Net/Wrk400
377
Integrating With Other Vendor Products
PathFinder
ROBOT
ABSTRACT Integration
ABSTRACT is a programming environment from Advanced Systems
Concepts that includes both documentation and development tools.
Through its documentation facilities, ABSTRACT provides a centralized
information source for all of your iSeries 400 software. The ABSTRACT
development environment is designed as a replacement for part of the IBM
Programming Development Manager (PDM). ABSTRACT also offers a
GUI plug-in to IBM’s Operations Navigator, but the integration discussed
here only extends to the host-based interface.
Requirements
Abstract User- To support integration with Implementer, four PDM-style options are
available for the ABSTRACT user options file.
Defined Options
IS allows you to enter ABSTRACT from the Implementer Check Out
panel (F17=ABSTRACT). Navigate through ABSTRACT until you find
the items that you want to check out, and type IS in the option field
next to the item to add it. This is very helpful when you want to do
field level analysis of related objects, since this is only available
through ABSTRACT menu options.
378 u s e r g u i d e
ABSTRACT Integration
The options needed to use Implementer from within ABSTRACT are in the
file IMPRBOPT in the Implementer product library. They can be copied
into the ABSTRACT options file QAUOOPT in the ABSTRACT product
library, if they are not already there.
The options are defined as follows through the Work with Object
References (WRKOBJR) command:
ICHKOUTSEL
Option IS
Description Select member/object for checkout
Execution I (I=Interactive, S=Submit, Blank=Either)
Command ? ICHKOUTSEL MBROBJ(&N) OBJLIB(&L)
OBJTYPE(&T) OBJATR(&A)
SRCFILE(&SRCLIB/&SRCFIL)
&SRCTYPE(&A)
Object type *ALL
Object attribute *ALL
ICHKOUT
Option IC
Description Check out
Execution I (I=Interactive, S=Submit, Blank=Either)
Command ? ICHKOUT MBROBJ(&N) OBJCODE(&A)
Object type *ALL
Object attribute *ALL
379
Integrating With Other Vendor Products
ICRTRQS
Option IR
Description Create promotion request
Execution I (I=Interactive, S=Submit, Blank=Either)
Command ? ICRTRQS MBROBJ((&N &A))
Object type *ALL
Object attribute *ALL
IDDCBD
Option IB
Description Add item to Implementer clipboard
Execution I (I=Interactive, S=Submit, Blank=Either)
Command ? IADDCPD MBROBJ(&N) OBJCODE(&A)
Object type *ALL
Object attribute *ALL
Accessing Implementer provides direct access to the ABSTRACT main menu from
the Implementer Check Out menu option and DesignTracker Entity
ABSTRACT panels. In addition, any panel that supports the Implementer user defined
From function keys, such as the Workbench, can easily be tailored to access
ABSTRACT menus using a function key.
Implementer
The Implementer Workbench also supports user defined PDM options.
Any ABSTRACT command that can be accessed using PDM user defined
options can be used in the option field on the Workbench.
380 u s e r g u i d e
AS/NET Integration
For details on how to monitor the message queue, see the AOS Message
Manager Users Guide or the AOS Pager Manager Users Guide.
NOTE
The System Administrator must have set up the Secondary Message Queue in
System Control Maintenance in order to create the interface between AOS
Message Manager and Implementer.
AS/NET Integration
AS/NET is an object distribution package available through System
Software Associates, Inc. Implementer users can use their distribution
facilities to distribute requests to remote systems.
MIMIX Integration
MIMIX is a software product from Lakeview Technologies that provides
concurrent updates of database files on multiple systems. One of the
techniques MIMX uses is journaling.
NetView/DM Integration
NetView/DM is a mainframe-based distribution management product
from IBM that efficiently manages distribution to multiple systems at the
same time.
Net/Wrk400 Integration
Net/Wrk400 is an object distribution package available through
KnowledgeNet. Implementer users can use their distribution facilities to
distribute requests to remote systems.
381
Integrating With Other Vendor Products
PathFinder Integration
PathFinder is a documentation utility product from Hawkeye Systems, Inc.
IMPORTANT
In order to issue the PathFinder API commands, the PathFinder library must be
in your library list.
382 u s e r g u i d e
PathFinder Integration
IS to add selected items to the subfile on the Check Out panel when
you enter PathFinder using the F18=PathFinder function key in
Implementer Check Out. This is very helpful when you want to do
field level analysis of related objects since this is only available
through PathFinder menu options.
ID to select items from PathFinder and add to the entity list for the
design request you are currently creating or changing. This option can
be used if PathFinder is accessed from the Work with Entity List
Members panel in DesignTracker.
PathFinder PDM The USERPATH file, included with PathFinder software, contains the
following user-defined options, which can be used within PathFinder.
Options for
USERPATH Option Description Command
PathFinder PDM The USERPDM file, included with PathFinder software, contains the
following user-defined options, which can be used within PDM.
Options for
USERPDM
383
Integrating With Other Vendor Products
ROBOT Integration
After setup is complete as described in the Implementer System
Administrator Guide, scheduling is automatically handled as specified
during setup. No additional user action is required.
384 u s e r g u i d e
A P P E N D I X
Compare/Merge
Member Commands
A
T he Compare Member (ICMPMBR) and Merge Member (IMRGMBR)
commands are productivity tools that simplify and automate the process of
comparing and integrating programming modifications during the
development process, with up to five source members.
document changes
You can access the Compare Member (ICMPMBR) and Merge Member
(IMRGMBR) commands from the command line or through options in the
following functions:
My Workbench
385
Compare/Merge Member Commands
The compare and merge features an advanced algorithm that does not rely
on source sequence numbers or look-ahead techniques to determine what
lines to add or delete. The comparison algorithm works by initially
viewing all programs to be merged as individual blocks of code. The
algorithm attempts to match blocks, repeatedly breaking these blocks
down until it reaches the smallest block (a line). By using this approach, the
comparison algorithm does not get lost or out of synchronization when
determining lines that were added or deleted by you or your vendor.
Following the comparisons, the merge logic rules determine what lines
should be included or excluded in the target member.
To access the command panel, type ICMPMBR at the command line and
press F4 to prompt. You can also access the function by selecting option
10=Compare member and pressing ENTER from one of the following
panels: Select Version for Concurrent Dev, Select from Locks, My
Workbench, Manage Concurrent Development for a Member/Object,
Work with Conflict Resolutions, or Object Archives (from within Work
with Objects).
There are two panels for this command. After typing the required
information, press PAGE DOWN to access the additional panel.
Specify the name of the base source member, typically the original member
from which the compare member was created.
386 u s e r g u i d e
Compare Member (ICMPMBR) Command
Specify the qualified name of the source file that contains the base member.
You must enter the base file that is an existing source file.
Library (Base)
Specify a valid library that the source file is in that contains the Base
member.
Specify the name of the member that is compared to the base member, or
*BASEMEMBER, to default to the same member entered in the Base
Member field. This member can be your current production source, a
source member in development, or a modification received from your
vendor.
Specify the qualified name of the source file that contains the Compare to
member, or *BASEFILE, to default to the same file entered in the Base File
field.
Specify a valid library the source file is in that contains the Compare to
member, or *BASELIB, to default to the same library entered in the Base
File field.
Specify the source type of the member being processed. The source type
allows the compare to handle language specific constraints such as
comment lines and line continuation indicators.
*BASEFILE, *CMPFILE
387
Compare/Merge Member Commands
Listed next are the standard recognized source files and their
resulting source types.
QASMSRC *BAS
QBASSRC *BAS
QCBLSRC *CBL
QCLSRC *CLP
QCMDSRC *CMD
QDDSSRC *DDS
QLBLSRC *CBL
QPASSRC *PAS
QPLISRC *PLI
QRPGSRC *RPG
QTXTSRC *TXT
QUDSSRC *UDS
If it is not one of the standard source files above, it checks for each
of the above source types in the source file name. For example, if
the source file name is XRPGSRC2, the source type is assumed
RPG.
*BASEMBR, *CMPBMR
388 u s e r g u i d e
Compare Member (ICMPMBR) Command
Specify if blank lines are ignored in the comparison or handled in the same
manner as all other lines.
389
Compare/Merge Member Commands
Specify the column in the source line that comparison should begin from.
This can be particularly useful when processing DDS or RPG source, when
one of the source members has entries in column 1 through 5 and the other
does not. The range is 1 to 200. The default is 1.
Specify the column you want to end the data comparison at for reporting
purposes. The range is 1 to 200. The default is 80.
You should not ignore columns 1–5 for free format languages such as CLP,
PL/1, and COBOL. These languages can contain valid program statements
in these columns.
All or only Specify how to control the amount of printed output on the
changed lines report.
*ALL prints the entire member being compared, showing
both equal and unequal areas of the member.
*CHG prints only the unequal areas. Additionally, you can
print a fixed number of equal lines before each block of
differences, as defined in the next parameter.
Equal lines Use this option to indicate the number of equal lines to
before, if *CHG print before the unequal sections. This allows the unequal
sections to print in context of a few equal lines before the
unequal block. This field has an effect only if All or
changed lines is set to *CHG. This must be a value of 0
through 99.
390 u s e r g u i d e
Compare Member (ICMPMBR) Command
Submit (SUBMIT)
*YES Submits the report. The name of the submitted job is CRTOBJ
if *ALL or *SRCMBR is entered for the object. For a specific
object, the name of the object is the name of the submitted
job. The Job description (next) determines the job queue to
use.
*NO The report runs interactively.
Specify the name of the job description for the submitted job.
391
Compare/Merge Member Commands
In-house and Vendor are custom terms. They were entered using the
Modify Compare Terms (MODCMPTRM) command. They clearly
identify the version in which each unique line exists.
392 u s e r g u i d e
Compare Member Report Listing
Version
The versions of source you are comparing. It is the base and compare
entered on the Compare Members (CMPMBRS) panel.
Member
File
The name of the file the source members reside in.
Library
Source data
The actual listing of the source member line. This can be up to two lines of
100 characters.
ALL Records
ALL Unique
The number of lines that occur in only one source member when
comparing (see Glossary for dynamic common lines and static common
lines).
ALL Compared
ALL Matched
ALL %
393
Compare/Merge Member Commands
UNIQUE Exec
UNIQUE Blank
UNIQUE Comment
From any command line, type the ICMPRDML command and use F4 to
prompt the command, or type the parameters listed in the next
section.
From the Select from Locks panel, accessed by using F10 from Create
Requests, select a LANSA function with option 23=Compare member.
394 u s e r g u i d e
LANSA Compare RDML (ICMPRDML) Command
Base function
Specify the name of the first function you want to compare. This is
typically the original function from which the compare to function was
created. You must enter an existing function name. The use of wild cards is
not permitted.
Base process
Specify the name of the LANSA process in which the base function resides.
Partition
Specify the name of the partition the base function resides in.
Compare to function
Specify the name of the function you want to compare against the base
function.
You must enter an existing function name. The use of wildcard is not
permitted.
Compare to process
Specify the name of the process the compare to function resides in.
Partition
Specify the name of the partition the compare to function resides in.
Specify *ALL or *CHG to indicate whether both equal and unequal areas of
each function (*ALL), or only unequal areas should be printed (*CHG). If
you select *CHG, you can elect to print a fixed number of equal lines before
each block of differences, as defined in the next field.
If the previous field is set to *CHG, enter the number of equal lines (from 0
through 99) prior to each detected change that should be printed.
395
Compare/Merge Member Commands
Output queue/Library
Specify *JOB, or the output queue name and *LIBL, or the library name to
indicate the output queue associated with the job and the library that the
output queue is in.
*FILE The printer file definitions determine whether to hold the report
output. The name of the printer file is NVCMMBP.
*YES The report output is held.
*NO The report output is not held.
Submit
Job description/Library
Specify the job name and either *LIBL or a library name to be used for the
submitted job. The default job description is MWIJOBD.
Specify additional text to appear at the bottom of each page on the report.
LANSA The following illustration shows a page from a typical Compare Members
report.
Compare
Members
Report
396 u s e r g u i d e
LANSA Compare RDML (ICMPRDML) Command
Member Function
File Process
Library Partition
397
Compare/Merge Member Commands
Note that old and new commands are printed in their entirety for multiple-
line commands, even if only a portion of that command is different within
the two versions.
For detailed information about this report, see “Compare Member Report
Listing” on page 392.
To access the command panel, from the Implementer Menu select option
66, Merge Member, or type IMRGMBR at the command line and press F4.
You can also access this function by selecting option 11=Merge member
from one of the following panels and pressing ENTER.
My Workbench
There are three panels for this command. After typing the required
information, press PAGE DOWN to access the additional panels.
This member is the base source (previous standard release from the
vendor) from which both the production member and the enhanced
member have come.
398 u s e r g u i d e
Merge Member (IMRGMBR) Command
Specify the name of the source file that contains the base members. This is a
required field.
Name Specify the name of the file containing the base version
of the members to merge. The file name entered must be
an existing source file.
*NONE Use this option if BASEMBR is *NONE.
Specify the name of library the base source file is in. This library contains
the base version of the members to be merged. The library name entered
must be an existing library.
Specify the name of the first member that changes are considered for
selection from and merged into the target. This member is generally your
current production copy (that is, the copy used to compile the object being
used in your daily live environment).
Specify the name of the source file that contains the production member.
399
Compare/Merge Member Commands
Enhanced file
Specify the name of the source file that contains the enhanced members (up
to five enhanced versions are supported).
Specify the name of the source library that contains the enhanced source
file (up to five enhanced versions are supported).
Specify the source type of the members being processed. The source type
allows the merge to handle language specific constraints, such as comment
lines and line continuation indicators. The valid options are:
400 u s e r g u i d e
Merge Member (IMRGMBR) Command
*FILENAME
The source file name determines the source type. The following
list provides the source files supported and the resulting source
types.
QASMSRC *ASM
QBASSRC *BAS
QCSRC *C
QCBLSRC *CBL
QCLSRC *CLP
QCMDSRC *CMD
QDDSSRC *DDS
QIMGSRC *PRTIMG
QLBLSRC *CBL
QMISRC *ASM
QPASSRC *PAS
QPLISRC *PLI
QRPGSRC *RPG
QTBLSRC *TBL
QTXTSRC *TXT
QUDSSRC *UDS
*MBR
Specify the source types supported by the system. Entry of this specific
source type overrides the actual source types associated with the members.
401
Compare/Merge Member Commands
Specify whether to print the Target Source Merge Report and target source
member.
*BOTH Produces the merged source in the target member and the
Merge Report.
*FILE Produces the merged source in the target member and does
not produce the Merge Report. The new merged source
should replace any source in the designated target member.
*PRINT Produces the Merge Report. No merged source is output.
*LIST Same as *PRINT.
*NONE No merge source or report produced. Use this option only if
Member List Analysis is *YES and no other output is needed.
Specify which source member the functionally equivalent lines are drawn
from.
Also indicates the version used to determine the proper source member.
This affects the source change dates and markings outside of the Start and
End Columns in the Target source.
*ENH Equal lines are drawn from the Enhanced source member.
*BASE Equal lines are drawn from the Base source member.
*PROD Equal lines are drawn from the Production source member.
*ENHn (where n is 1 through 5) Equal lines are drawn from the
Enhanced N source member.
Specify the position in the source line that the data comparison begins
from.
Specify the position in the source line that the data comparison ends at.
The range is 1 to 200. The default is 80.
402 u s e r g u i d e
Merge Member (IMRGMBR) Command
You should not ignore columns 1–5 for free format languages such as CLP,
PL/1, and COBOL. The columns can contain valid program statements for
these languages.
Case 1
This is the standard case of source that you currently use and the vendor
still distributes. The source will be checked for are any changes that need to
be merged.
Resulting Action:
IMRGMBR merges the three versions and puts the results in the target
version member.
Case 2
This is assumed a source that you currently use, but that the vendor no
longer distributes, or an object the vendor possibly renamed. You need to
determine why the vendor no longer distributes it.
Resulting Action:
Case 3
This is assumed a source that you do not use, but that the vendor still uses.
Resulting Action:
403
Compare/Merge Member Commands
Case 4
Resulting Action:
Case 5
This case is vague. It could be that both you and the vendor created this
source independently. If so, the two source members probably do nothing
in common.
You need to decide whether you want the vendor’s source. It could be a
source member received from the vendor after original distribution of the
vendor’s last release. In this case, you will want the two source members to
be merged with each other.
Resulting Action:
IMRGMBR merges the changes from the two source members and includes
the results in the target file. Discard the target source member if the
production and enhanced members are unrelated.
Case 6
Resulting Action:
Case 7
This is a new source member from the vendor. You should verify that you
do want it.
Resulting Action:
IMRGMBR copies this member to the target file.
404 u s e r g u i d e
Merge Member (IMRGMBR) Command
Specify the name of the source member to receive the source that results
from the merge. The merge only creates (or changes) the target member if
the OUTPUT option is *FILE or *BOTH. Newly merged source replaces any
existing source in the target member.
Specify the name of the source file to contain the indicated Target source
member.
Controls the amount of printed output on the report. The *ALL option
prints the entire merged Target member, indicating that lines were
functionally-equivalent (common) in all versions, and that lines were
included or excluded from which members, based on the merge rules. The
*CHG option causes only the unequal sections of each member to print,
with indicates that lines were included or excluded from the members.
405
Compare/Merge Member Commands
Specify the number of equal lines to print before the unequal sections print.
This allows the unequal sections to print in context of the larger source
member. Entry in this field has an effect only if the All or Changed Line
parameter is set to *CHG.
Specify the number of equal lines to print after the unequal sections print.
Entry in this field has an effect only if the All or Changed Line parameter is
set to *CHG.
Specify *NO or *YES. *YES causes a line to print between each block of
included or excluded source. This allows for clearer delimiting of changed
areas.
Specify whether excluded lines are placed in a different column than the
included lines. This option only affects the report, not the merged source.
406 u s e r g u i d e
Merge Member (IMRGMBR) Command
Submit (SUBMIT)
Specify the name of the job description used for the submitted job. The
default value is MWIJOBD.
407
Compare/Merge Member Commands
408 u s e r g u i d e
Merge Member Merge Report Listing
Lines with blanks under the Action and File headings were functionally
equivalent in all three, source members. The actual selected source line
originates from the member specified by the Merge basis (Enhanced-1 in
the above example).
The shaded line new sequence 13 was included because the Production
version was identified as functionally equivalent (although different).
New Seq(uence)
Action
There can be one of two entries in this column: INC (include in Target
source member) or EXC (exclude from Target source member). INC
indicates a line that was not in the Base version, but was added in one or
more of the Production and Enhanced versions. This line is added to the
Target source member. EXC indicates a line that exists in the Base version
and either the Production version or one of the Enhanced versions. This
line is not in the Target Source member.
If changes exist from two or more versions at the same place in the source
(INCludes and/or EXCludes), the function issues a message and all sets of
changes are incorporated into the Target Source member. You must review
these situations to identify whether the changes are compatible, mutually
exclusive, or if they must be blended.
Where this column is blank, the same line existed in all versions.
File
Indicates where the line of code is either included or excluded. The entry
here is one of the codes from 1 to 7, corresponding to the different versions
listed at the top of the report. If there is no entry in this column, the line
409
Compare/Merge Member Commands
shown comes from the Merge Basis source member. A plus (+) sign printed
to the right of the file code indicates if a line was included from the
Production and one of the Enhanced members.
This is the sequence number that an included line had in its original
member.
Source Data
Under this heading are the actual lines of source. If a line was excluded
from the Target (see Action above), the function inserts an arrow into the
line, and moves the source over a designated number of spaces to the right
as specified on the Execution Options.
Note that when comparing source lines in RPG and DDS source, Merge to
Create Target Source can ignore the characters in positions 1 through 5.
Action messages
On report lines that have action messages, the message severity followed
by the message text are shown in the Source Data section.
Records
Include
Exclude
The number of records in the corresponding version that are not in the
target version.
Matched
410 u s e r g u i d e
Merge Member Merge Report Listing
Exec
Blank
The number of blank lines included in the Include and Exclude counts.
Comment
The number of comment lines included in the Include and Exclude counts.
411
Compare/Merge Member Commands
412 u s e r g u i d e
A P P E N D I X
Glossary B
action An action is used to indicate what process will be performed on a member/
object. The action is specified when checking out a member/object and
when creating a request for a member/object. The following actions are
valid for checking out and for creating a promotion request.
1 = Change
2 = Create
3 = Delete
9 = Recompile
application path The term application path refers to the standard and emergency paths that
are set up in Work with Projects and Work with Environments.
Application paths are used in the development cycle to define the flow of
member/objects between environments. They are used to determine the
location of source and related objects for an object, for example, when
compiling with a check out or create request action of recompile.
Project path: This term refers to the standard and emergency paths
that are set up in Work with Projects. A path can be defined for each
project, representing the development flow of member/objects
associated with the project. This type of path is beneficial for those
who routinely use multiple testing environments, particularly when
the test environments are determined on a project-by-project basis. For
example, if two projects are active in development, it is typical that
one environment path is used by one project and another environment
path is used by another project at the same time. By using a project
path rather than an environment path, you can avoid having to
perform overrides when checking out and promoting items associated
with one project that may not be associated with the second project.
413
application set
In the Check Out and Create Request functions where application paths
are used, a project path precedes an environment path. In other words, if a
project is specified that has a defined path, that path is used; otherwise, the
environment path is used.
NOTE
The term application path should not be confused with the term path, which
refers to support provided by for IFS objects.
application set An application path refers to AS/SET application sets. It is a partition of the
ADK product where definitions such as programs, data models, files, and
fields are stored. An application set refers to an environment such as
development or production, where copies of the application definitions are
stored.
archive recovery Archive recovery is a function used to recover from or back out of a
promotion request. It is also called rollback.
The archive serves two purposes. The first is to support Archive Recovery
or Rollback of a request. Second, the archive can be used to browse
previous versions of a source member.
414 u s e r g u i d e
batch programs for AS/SET
batch programs for Batch programs for AS/SET are an ADK program type designed to perform
AS/SET file-processing functions.
binding directory A binding directory is a list of module names and service program names
that may be needed when creating an ILE or Service program. It is not a
repository of the modules and service programs; rather it allows them to be
referred to by name and type.
change controlled A change controlled model is a COOL:2E model that is set up to work with
model COOL:Xtras CM. Its model value *CHGCTL is set to be that of the
COOL:Xtras CM product library.
change list A change list is a COOL:2E model object list defined in COOL:Xtras CM.
You can explicitly create a model object list for a given COOL:2E
environment or create one when you check out a COOL:2E model object
during an editing session. This is referred to as a model object list in
COOL:Xtras CM.
check out Check out takes a member/object from a production environment (or
quality assurance environment), copies it to a developer’s development
library or environment, and places a lock on it. This makes the member/
object in use by the user who checked it out.
clipboard The clipboard is a list of items. The clipboard allows you to select a list of
items and then process that list by another function. The clipboard holds
the selected items until they are processed. Once you have added an item
on the clipboard, you can display, remove, or add more items to the
clipboard. At least one item must exist on the clipboard before you can
process a clipboard function. Once you process the function for the items
on the clipboard, the items on the clipboard are listed within that function.
compile requests Compile requests is a function that compiles source members into work
libraries and moves non-source-based objects into object work libraries,
according to migration request instructions. Developers normally perform
this task.
415
conflict
constraint A constraint is a set of rules that defines the relationship between two files.
For example, a constraint can be used to maintain the integrity between a
customer header file and a customer detail file, by not allowing changes to
the header table file without changing the detail file. See trigger.
create request Create request is the function of initiating a promotion request to migrate
source and/or objects to production or quality assurance environments.
Developers normally perform this task.
currency Currency is a COOL:2E model object that all other related model objects
point to; an object that has usage. A non-current object has no usage in the
model.
current model object The current model object is what you can view or edit in the COOL:2E
model. Multiple versions of the model object can be checked out to and
accessible from one or more model object lists. However, only the current
version displays in the model.
data model A data model is an entity defined in ADK repository that refers to one or
more files, their associated fields, and their associated relationships.
design request A design request is a DesignTracker feature used to indicate what work
needs to be done. DesignTracker is automatically installed when you
install library MKSIM.
1 = Yes
2 = Pending
For an approval type of:
1 = Development
2 = Test
3 = Production environment
416 u s e r g u i d e
design request status
design request status The design request status is the current state of a design request. The
Implementer entity controls related to design request status are: Allow
ready to check out, Allow check out, Allow promotion to a test
environment, and Allow promotion to a production environment.
1 = Development
2 = Test
3 = Production
Upon approval from all designated users, the status can be automatically
changed by DesignTracker. You set up the approval/status relationship in
DesignTracker System Control.
DLO Document Library Object (DLO) refers to a file or folder that exists in the
QDLS file system.
document Document is a term that is used as part of support provided for IFS objects.
A document is a special type of file created by OfficeVision/400 and stored
in the QDLS space. A document is a file, but a file is not necessarily a
document.
It is the OS/400 term for any object residing within an IFS folder on the
iSeries 400. Within Implementer, the term IFS object is used.
417
environment library list
environment library An environment library list is a list of up to 250 libraries used for compilation
list in the environment. Of these, 248 entries are available for your use. The last
two entries are reserved for QTEMP and the Implementer work library on
the promotion request. In addition, the environment library list is used
when processing special commands for the request.
environment type Environment type is a field that defines whether an environment is for
production (*PRD), quality assurance (*QAC) or testing (*TST). This
ensures that the development staff does not attempt to copy members/
objects from one production environment to another.
export An export is the process of saving LANSA objects into a device or save file,
to move them from one LANSA partition to another, on the same or
different machine.
export list An export list is a named list of LANSA objects to be exported from one
LANSA partition to another. There are two types of lists provided by
LANSA: One is visible to LANSA users and maintainable within the
LANSA menu. The other is not visible to you, but provided for object
management, system vendors. An export list is created in Implementer
whenever it copies LANSA objects from one partition to another partition.
file The term file is used as part of the support for traditional OS/400 database
files and the objects in the IFS referred to as IFS files. To avoid confusion,
whenever an IFS file object is referred to in Implementer, it is referenced as
an IFS file.
folder The term folder is used as part of support provided by Implementer for IFS
objects. It represents the IBM OS/400 term for a collection of documents in
a single location. This term corresponds to IFS directory, which is the term
used within Implementer. See IFS directory.
418 u s e r g u i d e
function redirection
function redirection A function redirection is when a COOL:2E function is checked out and a new
version of that function is created, function redirection occurs to ensure
that the selected version of the model object is current and has its internal
references directed towards the other object in the model. See currency.
IFS directory The term IFS directory is used as part of support provided by Implementer
for IFS objects. The IFS directory is the location of an IFS file. When used in
this capacity, the directory usually refers to the full directory path. See
path.
This term corresponds to the OS/400 term, folder. In Implementer, these are
referred to as directories.
IFS file The term IFS file is used as part of support provided by Implementer for
IFS objects. It refers to the contents of IFS directories on the iSeries 400. It is
the PC term for any object stored in a directory. Some examples of files are
executable programs, database files, or video segments.
Within Implementer, the member/object name for an IFS file contains the
IFS file name and the object code contains the dot and extension. If the file
name has no extension, the object code is just represented by a dot. Any
name longer than eight characters is converted, and any extension longer
than six characters (allowing one position for the “.”) is converted.
For example:
HelloAS400World HELLOAS4~1 .
The combination of the IFS file name and extension is known as the
environment relative name. Environment relative names up to 100
characters are supported. If an environment relative name is greater than
100 characters, you are required to set up an environment where the
environment path includes a deeper structure.
IFS object The term IFS object is used as part of support provided by Implementer for
IFS. This term refers to the objects (IFS files and directories) that can be
stored in the integrated file system on the iSeries 400 (IFS objects are not
stored in libraries). It represents the IFS file names, directory names, or
complete directory contents that are entered in check out and when
creating a promotion request. These IFS files and directories are listed on
reports and in audits.
419
implementation object
IFS Files: You can specify the check out or promotion of individual IFS
files using member/object and object code. Each file checked out or
promoted is listed on reports and audits.
IFS Directories: You can specify the check out or promotion of the
entire contents of subdirectory (including any subdirectories and their
contents) using the backslash (\) object code. For example, if you
check out or promote \dir2, all files and directories listed in
subdirectory 2 would be included. On reports and audits, only the
directory name is listed (dir2).
*.*: You can specify the check out or promotion of the entire contents of
an environment’s directory (including files and subdirectories and
their contents) specifying *.* as the object name, and a backslash (\)
as the object code. For example, if you check out or promote IFS\dir
using the *.* specification, all IFS files and directories in IFS\dir
would be included. Reports and audits would show member/object
*.* to indicate that all contents were affected.
implementation object An implementation object is the resulting OS/400 source and objects that are
created from the generation of a COOL:2E model object. For example, a
function will usually create source and objects for a program, display file,
and help text. The source and objects generated for these objects are
referred to as the implementation objects.
import An import is the process of restoring LANSA objects from a device or save
file created in an export activity into a different partition.
issues Issues are a feature of Integrity Manager. They are used to track changes in
the software development cycle. For example, your administrator can
configure Integrity Manager in a way that a problem issue may be
associated with a solution issue for easy tracking and monitoring of both
issues. Each issue has an audit trail, which may be used to evaluate internal
processes for the effectiveness of the problem resolution process. In effect,
issues track all aspects of any engineering endeavor.
JDE data dictionary JDE data dictionary elements represent a record in the dictionary for every
elements field used in the system. This file controls how a field acts and edits on the
screen and report. In addition, it controls the edit processes of the field for
validation.
420 u s e r g u i d e
JDE dream writers
JDE dream writers JDE dream writers have two parts that break down as follows: data selection
that is translated to OPNQRYF or logical file, and processing options that
are user-controlled program passed parameters.
JDE menus JDE menus are data records keyed to a menu name. This allows changes to
menus without the need of programming.
JDE soft coding or JDE soft coding or vocabulary overrides are literals on JDE screens that are not
vocabulary overrides constants in the DDS of a screen object, but are retrieved from a file that is
keyed to a program name. This allows changes to literals without the need
for programming.
JDE software JDE software inventory or member master is a file where a record for each
inventory or member object in JDE is kept. This file contains the general severity level for
masters compilation and other details for JDE.
JDE special objects JDE special objects are objects supported by J.D. Edwards such as user-
defined codes, DREAM Writers, Member Master, Data Dictionary, Soft
Coding, and Menus.
JDE traditional objects JDE traditional objects are traditional objects that require J.D. Edwards
compiling, for example, RPG programs, CL programs, Assemblers (ASM).
JDE user-defined JDE user-defined codes (UDC) is a generic table system for data field
codes (UDC) validation, controlled by three keys:
1—System number
2—Table name
3—Element
keyword restriction A key restriction is a facility that restricts access to command keywords of
an object code. It is used to restrict sensitive keywords such as the User
Profile (USRPRF) keyword that controls adopted authorities.
LANSA function A LANSA function is an executable OS/400 program defined by you and
created by LANSA.
LANSA objects LANSA objects are objects created in LANSA such as files, fields, processes,
and functions. These objects are not necessarily OS/400 objects.
A Standard lock is the user action that created the lock through a
standard check out.
421
member/object
An Emergency lock is the user action that created the lock through an
emergency check out.
model object A model object is a COOL:2E object that can be checked out. COOL:2E has
eight types of objects that can be checked out. They are access paths (ACP),
applications (APP), arrays (ARR), conditions (CND), field (FLD), files
(FIL), functions (FUN), and messages (MSG).
model object list A model object list is a COOL:2E feature that allows some of the objects in a
model to be grouped together in a named list. For change control purposes,
model objects are checked out to lists to indicate a change was made or will
be made to the objects. The model object lists are attached to the COOL:2E
model and can be selected for COOL:2E promotion requests.
NOTE
Once you use a model object list for check out, it becomes a change list.
model object name A model object name is the 25-character name given to a COOL:2E model
object.
move request A move request is the task that moves all object/sources from the
environments or libraries to the target environments. In addition, it
performs any request instructions that impact production data (for
example, MRGMSGF). This function moves previous versions of source
and objects to the archive libraries before the move, if specified.
My Workbench The Workbench is a panel where a developer can perform all necessary
development work. The panel contains the items to be worked on, and
provides access to all necessary tools to complete the development of the
items and move them off the Workbench. The tools allow you to select and
add items to the Workbench, access standard development tools to edit,
compile and test items, and access user-defined tools through user-defined
options. From the Workbench, you can access promotion functions to
move completed items back into production, and book time against
projects.
422 u s e r g u i d e
object code
object code An object code is used to define a type of object or member to be promoted.
The object code in Implementer combines information from the OS/400
object type and source type. For IFS files, the object code is the file
extension. Object codes are user-defined.
owning model object An owning model object is the name of the model object that owns another
model object. For example, a file (FIL) object always owns an access path
(ACP) model object. Not all model objects have an owning model object.
partition A partition is a division of a LANSA system that has it’s own field
references, files, and processes. Each partition in LANSA is completely
independent and no cross-referencing is allowed across partitions. A
partition in LANSA is comparable to an environment in Implementer.
path The term path is used as part of support provided by Implementer for IFS
objects. It represents the location of a directory or subdirectory. It is the
complete list of all directories and subdirectories between the root
directory and the directory being identified. The subdirectories in the path
are separated by a backslash (\).
For example, to identify the path of the SYSTEM directory, which is nested
in the WINDOWS directory, which stems from the root directory, the notation
would be \WINDOWS\SYSTEM. (See qualified name and application path).
Project relative path is the portion of the path that is unique to each
object in the environment path.
NOTE
Be aware of the distinction between the term path and the term application path,
which refers to standard or emergency paths for a project or environment.
423
primary target environment
primary target A primary target environment is the first environment in a series of multiple
environment target environments. The primary target environment is used in Create
Request to check the existence of the target members/objects (to determine
if the action for a member/object should be Create or Change).
promotion Promotion takes members/objects from one environment (or library) and
moves them forward to a target environment. In addition, the term refers
to the whole process of returning a member/object back into production
after it has been checked out (compile and promote from Development to
QA, and QA to production).
qualified name The term qualified name is used as part of support provided by Implementer
for IFS objects. It represents the path and file name.
For example, the qualified name of the SYSEDIT.EXE file stored in the
WINDOWS\SYSTEM directory is \WINDOWS\SYSTEM\SYSEDIT.EXE.
repository Repository is an entity within the ADK product where you can create and
maintain files, fields, data models, and reusable program specifications,
such as action subroutines.
424 u s e r g u i d e
request status
Beginning with 0001, the number increments by 1 for each new promotion
request until number 9999 is reached. When this occurs, the left most
position begins with an alpha character and the other positions reset to 0
(zero). Reading from right to left, the cycle continues until each position
goes through the range 0–9 and A–Z. When the number ZZZZ is reached,
the scheme automatically resets to number 0001.
request status Request status describes where a promotion request is within the promotion
cycle. It describes what steps have been performed for the request and
what remains to be done.
required objects Required objects are traditional source and executable objects generated
from AS/SET program definitions. This contrasts to the related object
concept used for traditional objects that, for example, relates logical files to
physicals and to the programs that refer to them.
reset authorities Reset authorities is an Implementer function that revokes all object
authorities for the libraries as specified in the environment, then grants
object authorities based on the authorities from the environment authority
table.
session model list A session model list is the default model object list assigned to you when you
begin a COOL:2E editing session. This model object list usually defaults to
your OS/400 user profile. You should not use the default session model list
as a check out model object list. Instead, change the default value using the
Edit Model Profile Editing options on:
the Access to model field value of *DSNR on the Change User Capabilities
panel, the COOL:2E Designer (*DSNR) menu, or make the model users
create and use their own object model list.
stage library A stage library is an Implementer work library used to prepare (stage) each
object before it moves into the target environment. The setting of object
authorities, physical and logical members, and database file data occurs
while the object is in this library. A stage library exists while the move is in
process.
step A step refers to one of the up to four phases required to complete a request.
They are (in order) Model copy (if a COOL:2E environment) or Export (if a
LANSA environment), Compile, Distribute, and Move.
425
subdirectory
The Distribute step only applies to requests that contain remote target
environments.
version group A version group consists of all of the versions created for a model object.
Only one version in the version group will be the current version.
work library A work library is a temporary library Implementer uses during promotion
to help ensure the orderly movement of objects and source into the correct
target libraries. The work libraries only exist while a promotion request is
still open (the status is not complete).
426 u s e r g u i d e
Index
427
Index
428 u s e r g u i d e
Index
429
Index
430 u s e r g u i d e
Index
431
Index
432 u s e r g u i d e
Index
433
Index
434 u s e r g u i d e
Index
435
Index
436 u s e r g u i d e
Index
437
Index
438 u s e r g u i d e
Index
439
Index
440 u s e r g u i d e
Index
441
Index
442 u s e r g u i d e
Index
promote 54
promotion
Y
compile 89 YCHKMDLCRT command 353
move 89 YCPYMDLOBJ command 352
promotion request 85 YCVTCNDVAL command 354, 355
reject 153 YCVTMDLMSG command 354, 355
repeating options 101 YEDTMDL command 357
review work details 53 YEDTMDLLST command 348, 357
selection 51 YFRFVNM model value 355
test 53, 83 YMSGVNM model value 355
time entry 54 YPRMMDLLST command 352
tool access 50 YSBMMDLCRT command 353
traditional check out 66 YSYSCHG model value 342
user-defined options 56, 72
443
Index
444 u s e r g u i d e