02.05.2013 Views

MKS Implementer 2006 Administration Guide

MKS Implementer 2006 Administration Guide

MKS Implementer 2006 Administration Guide

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

®<br />

Integrity<br />

<strong>MKS</strong> <strong>Implementer</strong>®<br />

<strong>2006</strong><br />

<strong>Administration</strong> <strong>Guide</strong>


<strong>MKS</strong> <strong>Implementer</strong>® <strong>2006</strong><br />

<strong>Administration</strong> <strong>Guide</strong><br />

Copyright © 1988-<strong>2006</strong> <strong>MKS</strong> Software Inc.; in Canada copyright owned by <strong>MKS</strong> Inc. All rights reserved.<br />

<strong>MKS</strong> makes no warranty of any kind with regard to this material, including, but not limited to the implied warranties of merchantability,<br />

performance, or fitness for a particular purpose. <strong>MKS</strong> shall not be liable for errors contained herein, or for any direct, indirect, incidental,<br />

or consequential damages resulting from the use of this material.<br />

No part of this publication may be reproduced, transmitted, transcribed, stored in a retrieval system, or translated into any language in<br />

any form by any means, without written permission from <strong>MKS</strong>.<br />

<strong>MKS</strong> Source Integrity, <strong>MKS</strong> Integrity Manager, <strong>Implementer</strong>, <strong>MKS</strong> Toolkit, Nutcracker, <strong>MKS</strong> Integrity Solution, <strong>MKS</strong> Integrity Suite,<br />

Alertcentre, and <strong>MKS</strong> Federated Server are trademarks or registered trademarks of <strong>MKS</strong> Inc. in Canada, the United States and other<br />

countries. All other trademarks or registered trademarks are the property of their respective holders.<br />

U.S. Government Restricted Rights. The software and documentation provided to you (the "Software and Documentation") are<br />

"commercial items," developed exclusively at private expense, consisting of "commercial computer software" and "commercial computer<br />

software documentation" as such terms are defined in the applicable acquisition regulations. If you are the U.S. Government or any<br />

agency or department thereof (collectively referred to as the "Government"), the Software and Documentation are licensed hereunder (i)<br />

only as a commercial item and (ii) with only those rights as are granted to all other end users to the extent that such rights are consistent<br />

with this paragraph. If you are any agency of the Department of Defense of the Government, the following notice is given: The Software<br />

and Documentation are provided with RESTRICTED RIGHTS. You shall not use, duplicate or disclose the Software or Documentation in<br />

any way not specifically permitted by <strong>MKS</strong> Software Inc. or mandated by U.S. law. Manufacturer is <strong>MKS</strong> Software Inc., 410 Albert Street,<br />

Waterloo, Ontario Canada N2L 3V3.<br />

This product contains the edtFTPj java library. Copyright © 2003 Enterprise Distributed Technologies Ltd. All Rights Reserved http://<br />

www.enterprisedt.com. THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT<br />

NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE<br />

DISCLAIMED. IN NO EVENT SHALL ANY PERSON WHO HAS CONTRIBUTED TO OR IS THE OWNER OF ANY PART OF THIS<br />

SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES<br />

(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;<br />

OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT<br />

LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS<br />

SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.<br />

This product contains Java software developed by Sun Microsystems, Inc. © Copyright Sun Microsystems, Inc. All Rights Reserved.<br />

Java and Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.<br />

This product includes Apache Tomcat v. 4.1.27 developed by The Apache Software Foundation (http://www.apache.org/). Licensed<br />

under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a<br />

copy of the License at http://www.apache.org/licenses/LICENSE-2.0. Unless required by applicable law or agreed to in writing,<br />

software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,<br />

either express or implied. See the License for the specific language governing permissions and limitations under the License.<br />

Copyright © up to and including <strong>2006</strong> International Business Machines Corporation ("IBM") and others. All Rights Reserved. This<br />

product contains IBM Toolbox for Java software developed by IBM and is licensed under the IBM Public License Version 1.0 (the<br />

"License"); you may not use this file except in compliance with the License. See the License at http://www-128.ibm.com/<br />

developerworks/library/os-ipl.html for the specific language governing permissions and limitations under the License. THE<br />

SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED<br />

TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO<br />

EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,<br />

WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE<br />

SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR<br />

ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT<br />

LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS<br />

INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR<br />

TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF<br />

ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.<br />

This product contains JBoss version 4.0.0. Copyright © 2004-<strong>2006</strong> JBoss, Inc. This library is free software; you can redistribute it and/or<br />

modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of<br />

the License, or (at your option) any later version. Copyright © 1991, 1999 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,<br />

Boston, MA 02110-1301 USA. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without<br />

even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public<br />

License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write<br />

to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.<br />

This product contains jMimeMagic software. Copyright (C) 2003-2004, David Castro. This library is free software; you can redistribute it<br />

and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version<br />

2.1 of the License, or (at your option) any later version. Copyright © 1991, 1999 Free Software Foundation, Inc., 51 Franklin Street,


Fifth Floor, Boston, MA 02110-1301 USA. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;<br />

without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General<br />

Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not,<br />

write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.<br />

This product contains Jakarta Oro developed by The Apache Software Foundation (http://www.apache.org/) licensed under the Apache<br />

License, Version 1.1. Copyright (c) 2000-2002 The Apache Software Foundation. All rights reserved. Redistribution and use in source and<br />

binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source<br />

code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must<br />

reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials<br />

provided with the distribution. 3. The end-user documentation included with the redistribution, if any, must include the following<br />

acknowledgment: "This product includes software developed by the Apache Software Foundation (http://www.apache.org/)."; 4. The<br />

names "Apache" and "Apache Software Foundation" must not be used to endorse or promote products derived from this software<br />

without prior written permission. For written permission, please contact apache@apache.org. 5. Products derived from this software may<br />

not be called "Apache", nor may "Apache" appear in their name, without prior written permission of the Apache Software Foundation.<br />

THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,<br />

THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO<br />

EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,<br />

INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT<br />

OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED<br />

AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR<br />

OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH<br />

DAMAGE.<br />

This product contains Log4J software licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in<br />

compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0. Unless<br />

required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT<br />

WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing<br />

permissions and limitations under the License.<br />

This product contains Xerces 2.6.0 developed by The Apache Software Foundation (http://www.apache.org/) licensed under the Apache<br />

License, Version 1.1. Copyright (c) 2000-2002 The Apache Software Foundation. All rights reserved. Redistribution and use in source and<br />

binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source<br />

code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must<br />

reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials<br />

provided with the distribution. 3. The end-user documentation included with the redistribution, if any, must include the following<br />

acknowledgment: "This product includes software developed by the Apache Software Foundation (http://www.apache.org/). 4. The<br />

names "Xerces", "Apache" and "Apache Software Foundation" must not be used to endorse or promote products derived from this<br />

software without prior written permission. For written permission, please contact apache@apache.org. 5. Products derived from this<br />

software may not be called "Apache", nor may "Apache" appear in their name, without prior written permission of the Apache Software<br />

Foundation. THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT<br />

LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE<br />

DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY<br />

DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED<br />

TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)<br />

HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT<br />

(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED<br />

OF THE POSSIBILITY OF SUCH DAMAGE.


Corporate Headquarters Worldwide Offices<br />

410 Albert Street<br />

Waterloo, ON N2L 3V3<br />

Canada<br />

tel: 519 884 2251<br />

fax: 519 884 8861<br />

sales (toll free): 800 265 2797<br />

www.mks.com<br />

This document is uncontrolled when printed or copied.<br />

1815 South Meyers Rd.<br />

Suite 220<br />

Oakbrook Terrace, IL USA<br />

60181<br />

tel: 630 827 4900<br />

fax: 630 629 9167<br />

sales (toll free): 800 633 1235<br />

12701 Fair Lakes Circle<br />

Suite 350<br />

Fairfax, VA USA<br />

22033<br />

tel: 703 803 3343<br />

fax: 703 803 3344<br />

sales (toll free): 800 637 8034<br />

Martinstraße 42-44<br />

73728 Esslingen<br />

Germany<br />

tel: +49 711 351775 0<br />

fax: +49 711 351775 7555<br />

Third Floor, Duke’s Court<br />

Duke Street, Woking<br />

Surrey<br />

GU21 5BH<br />

United Kingdom<br />

tel: +44 (0)1483 733900<br />

fax: +44 (0)1483 733901<br />

sales: +44 (0)1483 733919


Table of Contents<br />

Chapters 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1<br />

About This <strong>Guide</strong>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2<br />

Related <strong>Implementer</strong> Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . 3<br />

What You Need to Know . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4<br />

Typographical Conventions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4<br />

Getting Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5<br />

Professional Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6<br />

Your Feedback Is Welcome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7<br />

2 Understanding <strong>Implementer</strong> . . . . . . . . . . . . . . . . . . . . . . . . 9<br />

System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10<br />

Terms You Should Know . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10<br />

Starting <strong>Implementer</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10<br />

Overview of Setup Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12<br />

Scenario Summaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14<br />

Host System Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17<br />

Basic Host: Scenario 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17<br />

One Test Environment: Scenario 2 . . . . . . . . . . . . . . . . . . . . . . . . 18<br />

Multiple Test Environments: Scenario 3. . . . . . . . . . . . . . . . . . . . 19<br />

Concurrent Development: Scenario 4 . . . . . . . . . . . . . . . . . . . . . . 21<br />

Emergency Development: Scenario 5 . . . . . . . . . . . . . . . . . . . . . . 23<br />

Multiple Data Libraries, Identical Structures: Scenario 6 . . . . . 25<br />

Separate Production Modifications: Scenario 7. . . . . . . . . . . . . . 27<br />

Multiple Software Releases: Scenario 8 . . . . . . . . . . . . . . . . . . . . 29<br />

Modifications to Vendor Software: Scenario 9 . . . . . . . . . . . . . . 33<br />

Release Control: Scenario 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37<br />

Remote System Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39<br />

Remote Production on Same Request: Scenario 11. . . . . . . . . . . 40<br />

Remote Production on Different Request: Scenario 12 . . . . . . . 41<br />

Testing on Remote: Scenario 13 . . . . . . . . . . . . . . . . . . . . . . . . . . . 43<br />

Multiple Remote Productions Same Changes: Scenario 14 . . . . 45<br />

Multiple Remote Systems: Scenario 15. . . . . . . . . . . . . . . . . . . . . 46<br />

Check Out From Remote: Scenario 16 . . . . . . . . . . . . . . . . . . . . . 48<br />

i


Table of Contents<br />

ii<br />

Multi-Platform Development and Deployment Scenarios . . . . . . . . 49<br />

Integrated Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50<br />

Software Development Lifecycle. . . . . . . . . . . . . . . . . . . . . . . . . . 52<br />

Managing Change Requests. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53<br />

Change Request Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58<br />

<strong>Implementer</strong> and <strong>MKS</strong> Integrity Integration: Scenario 17. . . . . 60<br />

Communications Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61<br />

Distribution Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61<br />

3 <strong>Implementer</strong> <strong>Administration</strong> . . . . . . . . . . . . . . . . . . . . . . . 63<br />

Overview of Administrative Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64<br />

System Control Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65<br />

Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72<br />

Typical Values for Different User Roles . . . . . . . . . . . . . . . . . . . . 78<br />

User Profile Object Code Overrides . . . . . . . . . . . . . . . . . . . . . . . 80<br />

User Profile Environment Capabilities. . . . . . . . . . . . . . . . . . . . . 80<br />

Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81<br />

Object Code Overrides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91<br />

Establishing Object Authorities . . . . . . . . . . . . . . . . . . . . . . . . . . . 95<br />

Deleting an Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96<br />

Environment Library List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96<br />

Promotion Job Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98<br />

Related Environments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100<br />

Environment Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101<br />

Special Command Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . 103<br />

Environment Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106<br />

Third Party Integration Prerequisites . . . . . . . . . . . . . . . . . . . . . 107<br />

Environments and User Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . 109<br />

Environment Repository Build . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117<br />

Environment Build Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121<br />

Environment Repository Report . . . . . . . . . . . . . . . . . . . . . . . . . 122<br />

Environment Verification Report . . . . . . . . . . . . . . . . . . . . . . . . 123<br />

Environment Groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125<br />

Object Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127<br />

Environment Overrides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133<br />

Object Codes for Third Party Integrations . . . . . . . . . . . . . . . . . 133<br />

Object Codes for DDM Support. . . . . . . . . . . . . . . . . . . . . . . . . . 135<br />

Object Codes for IFS Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135<br />

Object Codes for Setting a Data Area Value . . . . . . . . . . . . . . . 136<br />

Object Name Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137<br />

Option 1: Specific Object Code for Specific Environment . . . . 138<br />

Option 2: All Object Codes for a Specific Environment. . . . . . 141<br />

Option 3: Specific Object Code for All Environments . . . . . . . 141<br />

Project-based Application Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142<br />

User-Defined PDM Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144


Table of Contents<br />

Issue or Design Request Stamping . . . . . . . . . . . . . . . . . . . . . . . . . . . 145<br />

Object Version Stamping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146<br />

Versioning Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147<br />

Considerations With OS/400 and <strong>Implementer</strong> . . . . . . . . . . . . . . . . 153<br />

Operating System Upgrades . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153<br />

Changing the System Name. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154<br />

System Library List Requirements . . . . . . . . . . . . . . . . . . . . . . . 154<br />

Independent Auxiliary Storage Pools. . . . . . . . . . . . . . . . . . . . . 154<br />

Web-based Development for IFS Objects. . . . . . . . . . . . . . . . . . . . . . 155<br />

Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156<br />

iSeries Web Server Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156<br />

Mounted Drive Support for IFS Objects. . . . . . . . . . . . . . . . . . . . . . . 159<br />

4 Remote Distribution Concepts and Setup . . . . . . . . . . . 161<br />

<strong>Implementer</strong> Receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162<br />

Integration With Local Promotions. . . . . . . . . . . . . . . . . . . . . . . 163<br />

Remote System Inventory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163<br />

Remote Source Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163<br />

Consideration for Database Files. . . . . . . . . . . . . . . . . . . . . . . . . 164<br />

Distribution Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164<br />

Communications Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165<br />

APPC Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165<br />

Communication Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166<br />

APPN Lines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166<br />

Switched Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166<br />

Network Control Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167<br />

Network Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167<br />

Setting Up Communications Entries. . . . . . . . . . . . . . . . . . . . . . . . . . 169<br />

Option 1: Using Existing Communication Entries . . . . . . . . . . 170<br />

Option 2: Using an Existing Mode Description. . . . . . . . . . . . . 170<br />

Option 3: Using a Specific Mode Description . . . . . . . . . . . . . . 171<br />

Defining the Host for Remote Initiated Moves . . . . . . . . . . . . . 173<br />

Setting Up for TCP/IP Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . 173<br />

Key Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174<br />

Communication Subsystem and Job Queue IMCOM . . . . . . . 176<br />

Communications Control Command . . . . . . . . . . . . . . . . . . . . . 177<br />

Setting Up for SNADS Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . 179<br />

Distribution Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180<br />

Single Step Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180<br />

Two Step Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180<br />

Remote Initiated Moves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181<br />

Simultaneous Distribution to Multiple Remote Sites . . . . . . . . 181<br />

iii


Table of Contents<br />

iv<br />

Controlling Remote Job Schedules . . . . . . . . . . . . . . . . . . . . . . . . . . . 181<br />

Using the Default Job Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . 182<br />

Overriding the Default Job Schedule . . . . . . . . . . . . . . . . . . . . . 182<br />

Remote Job Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183<br />

Change Remote Request (ICHGRMTRQS) Command . . . . . . 185<br />

Move Remote Request (IMOVRMTRQS) Command . . . . . . . . 187<br />

Distribution Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189<br />

Move Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189<br />

Multiple System Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189<br />

Starting and Ending Remote Database Support . . . . . . . . . . . . 190<br />

Performance Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191<br />

Request Number Considerations . . . . . . . . . . . . . . . . . . . . . . . . 191<br />

Saving and Restoring Remote Tape Archives . . . . . . . . . . . . . . . . . . 192<br />

Problem Determination. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193<br />

5 <strong>MKS</strong> Integrity Integration. . . . . . . . . . . . . . . . . . . . . . . . . 195<br />

<strong>Implementer</strong> and <strong>MKS</strong> Integrity Integration. . . . . . . . . . . . . . . . . . . 196<br />

Multitiered Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196<br />

The iSeries Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198<br />

Process and Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198<br />

Assumptions and Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 202<br />

<strong>MKS</strong> Integrity Setup and <strong>Administration</strong> . . . . . . . . . . . . . . . . . 203<br />

<strong>Implementer</strong> Setup and <strong>Administration</strong> . . . . . . . . . . . . . . . . . . 216<br />

Managing <strong>Implementer</strong> Server . . . . . . . . . . . . . . . . . . . . . . . . . . 223<br />

Converting From DesignTracker to <strong>MKS</strong> Integrity . . . . . . . . . . . . . 243<br />

Conversion Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244<br />

Converting Without Data Retention . . . . . . . . . . . . . . . . . . . . . . 244<br />

Converting With Data Retention. . . . . . . . . . . . . . . . . . . . . . . . . 247<br />

Emergency Update Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255<br />

Changing the Emergency Update Mode . . . . . . . . . . . . . . . . . . 255<br />

Applying Pending Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257<br />

<strong>Implementer</strong> and <strong>MKS</strong> Source Integration . . . . . . . . . . . . . . . . . . . . 259<br />

Process and Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260<br />

Assumptions and Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 261<br />

<strong>MKS</strong> Source Setup and <strong>Administration</strong> . . . . . . . . . . . . . . . . . . . 262<br />

<strong>Implementer</strong> Setup and <strong>Administration</strong> . . . . . . . . . . . . . . . . . . 274<br />

Preparing for the Next Release . . . . . . . . . . . . . . . . . . . . . . . . . . 293<br />

Preparing for the Next Version . . . . . . . . . . . . . . . . . . . . . . . . . . 293<br />

<strong>MKS</strong> Integrity Integrations Task Checklists . . . . . . . . . . . . . . . . . . . 295<br />

Export to <strong>Implementer</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296<br />

Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302


Table of Contents<br />

6 Third Party Integrations . . . . . . . . . . . . . . . . . . . . . . . . . . 303<br />

ABSTRACT Integration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304<br />

AllFusion 2E Change Management Integration . . . . . . . . . . . . . . . . 304<br />

Considerations for Libraries and Commands . . . . . . . . . . . . . . 304<br />

Basic Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304<br />

Support for EXCUSRSRC and EXCUSRPGM . . . . . . . . . . . . . . 308<br />

Support for SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309<br />

Object Code Setup for Parallel Installation . . . . . . . . . . . . . . . . 312<br />

American Software Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313<br />

Object Code Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313<br />

Library and Library List Requirements . . . . . . . . . . . . . . . . . . . 314<br />

Troubleshooting Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315<br />

AOS Message Manager Integration . . . . . . . . . . . . . . . . . . . . . . . . . . 315<br />

AS/SET Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316<br />

Setting Up the Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316<br />

Setting Up for Archiving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317<br />

Setting Capabilities for Checked Out Generated Objects . . . . 318<br />

Setting Up for Generated Object Promotions . . . . . . . . . . . . . . 319<br />

AS/SET Dependency Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319<br />

BPCS Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320<br />

Compile Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320<br />

Setting Up Object Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321<br />

Setting Up Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322<br />

BRMS/400 Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322<br />

Code/400 Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323<br />

Requirements and Setting Up . . . . . . . . . . . . . . . . . . . . . . . . . . . 323<br />

Help Desk Integration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324<br />

Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325<br />

Setting Up the Help Desk Integration. . . . . . . . . . . . . . . . . . . . . 325<br />

Updating Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327<br />

LANSA Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328<br />

Setting Up the Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329<br />

Defining Environments and Loading the Repository . . . . . . . 330<br />

Ending Promotions Based on Message ID . . . . . . . . . . . . . . . . . 331<br />

LANSA Object Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331<br />

LANSA Task Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332<br />

Visual LANSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332<br />

Lawson Software Integration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333<br />

Source and Object Library Structure. . . . . . . . . . . . . . . . . . . . . . 334<br />

LID Method of Screen and Report Generation . . . . . . . . . . . . . 334<br />

v


Table of Contents<br />

vi<br />

Lotus Domino Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336<br />

Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338<br />

iSeries Setup and Configuration . . . . . . . . . . . . . . . . . . . . . . . . . 339<br />

<strong>Implementer</strong> Setup and Configuration . . . . . . . . . . . . . . . . . . . 339<br />

Domino Designer Setup and Configuration . . . . . . . . . . . . . . . 340<br />

Managing the Domino Access Control List . . . . . . . . . . . . . . . . 343<br />

Setting ACLs in Check Out. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348<br />

Setting ACLs in Promotion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349<br />

Database and Template Signing . . . . . . . . . . . . . . . . . . . . . . . . . 351<br />

PathFinder Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354<br />

PeopleSoft World Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355<br />

Configuring the Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356<br />

Environment Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358<br />

Object Codes for Soft Coding Items . . . . . . . . . . . . . . . . . . . . . . 359<br />

Object Codes for Traditional Objects . . . . . . . . . . . . . . . . . . . . . 360<br />

Deactivating Standard Object Codes . . . . . . . . . . . . . . . . . . . . . 361<br />

Installing the Interface on Remote Systems . . . . . . . . . . . . . . . . 361<br />

Powerhouse (Cognos) Integration. . . . . . . . . . . . . . . . . . . . . . . . . . . . 362<br />

ROBOT Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364<br />

Setting Up Non Promotion Jobs . . . . . . . . . . . . . . . . . . . . . . . . . 365<br />

Setting Up Promotion Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365<br />

WebSphere Development Studio Client for iSeries Integration . . . 365<br />

Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366<br />

WDSc for iSeries Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . 368<br />

<strong>Implementer</strong> Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369<br />

7 Administrative Utilities. . . . . . . . . . . . . . . . . . . . . . . . . . . 371<br />

Submitting Job Overrides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372<br />

Resetting Authorities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372<br />

Key Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373<br />

Common Questions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374<br />

Purging Environment History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374<br />

Repository Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376<br />

Key Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377<br />

Development Library Maintenance . . . . . . . . . . . . . . . . . . . . . . 378<br />

Saving and Restoring Tape Archives . . . . . . . . . . . . . . . . . . . . . . . . . 379<br />

Working With Tape Archives . . . . . . . . . . . . . . . . . . . . . . . . . . . 380<br />

Archive Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383<br />

Clearing Remote QA Environments . . . . . . . . . . . . . . . . . . . . . . . . . . 384


Table of Contents<br />

User Capability Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385<br />

Installing on Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386<br />

Installing on the Desktop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387<br />

Using the Capability Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388<br />

Selecting Enrolled Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390<br />

Selecting Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391<br />

User Capability Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393<br />

Customizing User Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . 394<br />

Updating the <strong>Implementer</strong> Database . . . . . . . . . . . . . . . . . . . . . 395<br />

Deleting Tutorial Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396<br />

Function Key <strong>Administration</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397<br />

vii


Table of Contents<br />

Appendixes A <strong>Implementer</strong> Data Areas and User Exit Programs. . . . . 401<br />

<strong>Implementer</strong> Data Areas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402<br />

Customizing <strong>Implementer</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414<br />

User Exit Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414<br />

Edit Library List Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415<br />

vii<br />

B Environment Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 417<br />

Local Production . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418<br />

Local Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419<br />

Local Quality Assurance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420<br />

Local User Acceptance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422<br />

Remote Production . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423<br />

C Converting DesignTracker Data to <strong>MKS</strong> Integrity . . . . . 431<br />

Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432<br />

Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432<br />

Rules and Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433<br />

User Profile and Resource Fields. . . . . . . . . . . . . . . . . . . . . . . . . 434<br />

Entities Added as Change Package Entries . . . . . . . . . . . . . . . . 434<br />

Conversion Log File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435<br />

Message and Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435<br />

Organizational Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436<br />

Example of a Basic Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . 437<br />

Convert DT to <strong>MKS</strong> Integrity (ICVTDT) Command . . . . . . . . 438<br />

Generating and Configuring the Conversion Properties File . . . . . 441<br />

Data Mapping Considerations. . . . . . . . . . . . . . . . . . . . . . . . . . . 442<br />

Generating the Conversion File . . . . . . . . . . . . . . . . . . . . . . . . . . 445<br />

<strong>Implementer</strong> Conversion Properties. . . . . . . . . . . . . . . . . . . . . . 446<br />

Post Conversion Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454<br />

D Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457<br />

Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469


C HAPTER ONE<br />

Introduction<br />

Understanding and Using This <strong>Guide</strong><br />

1<br />

<strong>MKS</strong> <strong>Implementer</strong>® is the premier software configuration management and<br />

deployment solution for the IBM iSeries. Utilizing host-based and graphical user<br />

interfaces, <strong>Implementer</strong> provides the simplicity necessary for first time users, and the<br />

breadth and depth for more advanced users. In addition to simplifying development and<br />

software change management, including full traceability and auditability of all software<br />

changes, <strong>Implementer</strong> ensures the integrity of software installations in production,<br />

development, and testing environments on iSeries servers. <strong>Implementer</strong> integrates with<br />

traditional OS/400 development environments and is leading the way with integrations<br />

into new development environments.<br />

<strong>Implementer</strong> integrates with <strong>MKS</strong> Integrity (formerly <strong>MKS</strong> Integrity Manager®) and<br />

<strong>MKS</strong> Source (formerly <strong>MKS</strong> Source Integrity® Enterprise). <strong>MKS</strong> Integrity is the<br />

enterprise choice for flexible process and workflow management, helping create<br />

repeatable processes for managing software development. <strong>MKS</strong> Integrity’s platform<br />

transparent, advanced, multi-tier architecture is scalable across the enterprise to support<br />

distributed developers and other constituents in the change process. <strong>MKS</strong> Source is the<br />

enterprise choice for comprehensive, cross-platform software configuration<br />

management. It is the most technologically advanced SCM solution on the market today,<br />

enabling secure and flexible process-centric management for local and distributed<br />

software development teams in the enterprise. These products and solutions seamlessly<br />

marry for full enterprise software configuration management and workflow.<br />

The <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> <strong>Administration</strong> <strong>Guide</strong> provides you with the information you<br />

need to build a basic understanding of <strong>Implementer</strong>. The guide explains how to<br />

configure and maintain <strong>Implementer</strong> within your organization.<br />

This chapter covers the following topics:<br />

“About This <strong>Guide</strong>” on page 2<br />

“Related <strong>Implementer</strong> Documentation” on page 3<br />

“What You Need to Know” on page 4<br />

“Typographical Conventions” on page 4<br />

“Getting Help” on page 5<br />

“Professional Services” on page 6<br />

“Your Feedback Is Welcome” on page 7<br />

1


Chapter 1: Introduction<br />

About This <strong>Guide</strong><br />

2<br />

The person responsible for setting up <strong>Implementer</strong> is referred to as the administrator<br />

throughout this guide. This guide provides the administrator with all the information needed<br />

to configure and maintain <strong>Implementer</strong>. The guide also provides information on configuring<br />

and maintaining the <strong>Implementer</strong> Receiver.<br />

NOTE For information on installing or upgrading <strong>Implementer</strong>, see the <strong>MKS</strong><br />

<strong>Implementer</strong> <strong>2006</strong> Installation <strong>Guide</strong>.<br />

The guide is organized as follows:<br />

Chapter 2: “Understanding <strong>Implementer</strong>” on page 9<br />

Explains important things you need to know and consider before setting up and<br />

configuring <strong>Implementer</strong>. Describes an overview of the change management process in a<br />

multi-platform environment.<br />

Chapter 3: “<strong>Implementer</strong> <strong>Administration</strong>” on page 63<br />

Explains how to configure the <strong>Implementer</strong> host system to suit the development<br />

activities of your organization. Explains important information related to <strong>Implementer</strong><br />

when making changes to the operating system or other system related changes.<br />

Chapter 4: “Remote Distribution Concepts and Setup” on page 161<br />

Explains the role of the <strong>Implementer</strong> Receiver and the various distribution options and<br />

concepts. Explains how to set up communications within <strong>Implementer</strong> to distribute<br />

software to remote iSeries systems.<br />

Chapter 5: “<strong>MKS</strong> Integrity Integration” on page 195<br />

Describes the integration between <strong>Implementer</strong> and <strong>MKS</strong> Integrity that provides an<br />

enterprise-wide solution for tracking issues correlated with <strong>Implementer</strong> managed<br />

development. Explains how to set up the integration and convert from DesignTracker to<br />

<strong>MKS</strong> Integrity. Additionally describes the <strong>Implementer</strong> and <strong>MKS</strong> Source integration, an<br />

export feature that enables client-based software changes initiated by an <strong>MKS</strong> Integrity<br />

issue and modified under <strong>MKS</strong> Source control, to be checked out and optionally<br />

deployed to an IFS location under <strong>Implementer</strong> change management control.<br />

Chapter 6: “Third Party Integrations” on page 303<br />

Explains special setup considerations for organizations that use any of the third party<br />

integrations supported by <strong>Implementer</strong>, such as Computer Aided Software Engineering<br />

(CASE), utility, application, cross-referencing, communications, and other tools.<br />

Chapter 7: “Administrative Utilities” on page 371<br />

Explains the various utilities and tools <strong>Implementer</strong> provides to assist with setting up<br />

and using the product, and maintaining the integrity of your <strong>Implementer</strong><br />

environments.


Related <strong>Implementer</strong> Documentation<br />

Appendix A: “<strong>Implementer</strong> Data Areas and User Exit Programs” on page 401<br />

Describes the <strong>Implementer</strong> data areas that control many aspects of <strong>Implementer</strong><br />

processing. An additional topic is QSAMPLE, a source file shipped with <strong>Implementer</strong><br />

that provides source of technical information for customizing <strong>Implementer</strong>.<br />

Appendix B: “Environment Examples” on page 417<br />

Describes typical environment setup examples for the most common environment<br />

scenarios.<br />

Chapter : “Converting DesignTracker Data to <strong>MKS</strong> Integrity” on page 431<br />

Describes how to convert DesignTracker data to <strong>MKS</strong> Integrity issues. This chapter is for<br />

customers who are converting to <strong>MKS</strong> Integrity for issue management (as described in<br />

Chapter 5) and have a requirement to convert existing DesignTracker data.<br />

Appendix D: “Glossary” on page 457<br />

Defines common terms related to <strong>Implementer</strong> and the <strong>MKS</strong> Integrity integration.<br />

Related <strong>Implementer</strong> Documentation<br />

To provide you with the most convenient means of retrieving information, product<br />

documentation is available in print and in Adobe Acrobat’s Portable Document Format<br />

(PDF). Online help is also included with the product.<br />

Documentation Print PDF<br />

<strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> <strong>Administration</strong> <strong>Guide</strong> Yes Yes<br />

<strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> User <strong>Guide</strong> Yes Yes<br />

<strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> Release Management <strong>Guide</strong> No Yes<br />

<strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> Release Notes No Yes<br />

<strong>MKS</strong> DesignTracker User <strong>Guide</strong> No Yes<br />

<strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> Installation <strong>Guide</strong> Yes Yes<br />

Additional copies of the printed guides are available for a nominal fee. For further information, send your<br />

request to pubs-mgr@mks.com.<br />

3


Chapter 1: Introduction<br />

What You Need to Know<br />

4<br />

Before installing or configuring <strong>Implementer</strong>, you should be familiar with the software<br />

development policies and procedures for your organization, as well as:<br />

OS/400 operating system and command line.<br />

OS/400 security.<br />

OS/400 communications.<br />

Typographical Conventions<br />

Throughout this guide, the following typographical conventions identify the features,<br />

functions, and components of <strong>Implementer</strong>.<br />

Items in documentation... Appear as...<br />

New terms, variables to_env<br />

Keyboard keys, programs, files, directory names, and<br />

drive letters<br />

Code-based information, such as system messages,<br />

field syntax, macros, and commands, and information<br />

you type on menus and panels<br />

appear in capitals, for example: ENTER, F6<br />

ADDLIBLE<br />

Graphical menus, commands New > Problem<br />

Graphical user interface commands the Session command<br />

Dialog boxes, features, field names Edit Options, Cancel, OK<br />

Path names c:/mks/demo<br />

NOTE A note provides you with information that supplements the key points of the<br />

subject. A note may also supply information that applies only in particular cases.<br />

TIP A tip provides you with information for using the product effectively.<br />

IMPORTANT An important note provides you with information that is essential for<br />

completing a task.<br />

CAUTION A caution note advises you about situations that have the potential to<br />

result in a loss of data.


Getting Help<br />

Getting Help<br />

<strong>MKS</strong> Customer Care is focused on delivering the right solutions to issues as they arise. For<br />

assistance, you can choose online support or telephone a technical support representative.<br />

For online support, browse to www.mks.com/support. There you will find easy access to<br />

e–mail, Web request services, automatic product notifications, and the <strong>MKS</strong> Customer<br />

Community—a secure database that provides helpful resources such as product<br />

documentation, knowledge base articles, product downloads, user forums, presentations,<br />

and more.<br />

<strong>MKS</strong>’s global support professionals comprise a tightly knit team of problem solvers, sharing<br />

critical information to help you resolve issues in the shortest possible time with optimal<br />

results. Support representatives can provide you with a variety of product related tips and<br />

innovative solutions to your unique requirements.<br />

Online Web www.mks.com<br />

E-mail support@mks.com<br />

Telephone Toll Free North America 800 219 4842<br />

Outside North America 800 219 48424<br />

India 000 800 100 6273<br />

Direct North America 519 884 2270<br />

UK +44 (0) 1483 733910<br />

Germany +49 711 351775 7575<br />

Fax North America 519 884 8861<br />

UK +44 (0) 1483 733901<br />

Germany +49 711 351775 7555<br />

The hours of operation for Customer Care in your region are as follows:<br />

North America: 8:00 A.M. to 8:00 P.M., Monday to Friday, Eastern Standard Time<br />

(GMT-5)<br />

United Kingdom: 9:00 A.M. to 5:30 P.M., Monday to Friday, British Standard Time<br />

(GMT)<br />

Germany: 9:00 A.M. to 5:30 P.M., Monday to Friday, West Europe Standard Time<br />

(GMT+1)<br />

India: 8:30 A.M. to 5:30 P.M., Monday to Friday, India Standard Time (GMT+5.5)<br />

5


Chapter 1: Introduction<br />

Professional Services<br />

6<br />

A successful configuration management system is not built on software alone. At <strong>MKS</strong>, our<br />

professional services team is committed to understanding the ever changing development<br />

environments of our clients. The professional services team can provide training, upgrade,<br />

migration, implementation, and installation services that meet your unique requirements.<br />

<strong>MKS</strong> professional services can help guide you through process analysis, software<br />

installation, source code archive migration, and product and process training. This ensures<br />

that the implementation of your new solution goes smoothly, while allowing your<br />

developers to make progress on critical projects.<br />

The professional services team can truly add value to your <strong>MKS</strong> technology investment by<br />

providing the following services:<br />

process assessment<br />

best practice consultation<br />

migration services<br />

upgrade services<br />

implementation services<br />

education and training<br />

For more information on <strong>MKS</strong> professional services:<br />

Online Web Global www.mks.com/services<br />

E-mail North America consulting@mks.com<br />

Europe europe@mks.com<br />

Telephone North America 800 633 1235<br />

UK +44 (0) 1483 733904<br />

Germany +49 711 351775 0


Your Feedback Is Welcome<br />

Your Feedback Is Welcome<br />

<strong>MKS</strong> welcomes your feedback on the documentation included with these products. If you<br />

have comments or suggestions about any of the guides or the online help, send them to:<br />

pubs-mgr@mks.com<br />

Include the following information with your feedback:<br />

product name and version number<br />

title of manual or online help topic<br />

page number (for manuals only)<br />

your suggested correction or improvement<br />

NOTE The e-mail address is provided for comments on the <strong>MKS</strong> documentation<br />

only. For technical questions or for software support, contact <strong>MKS</strong> Customer Care<br />

(support@mks.com).<br />

7


Chapter 1: Introduction<br />

8


C HAPTER TWO<br />

Understanding <strong>Implementer</strong><br />

Getting Prepared for Setup<br />

This chapter helps you to prepare for setting up <strong>Implementer</strong> by providing an<br />

overview of the tasks and scenarios that describe different approaches to using the<br />

product based on various development models.<br />

2<br />

It is possible that a scenario fits the needs of one business application while a different<br />

scenario fits another. You can blend characteristics of multiple scenarios to meet the<br />

needs of your applications. The scenarios focus on the major decisions involved in<br />

setting up <strong>Implementer</strong> for your use; they do not list every set up option available in<br />

<strong>Implementer</strong>.<br />

This chapter covers the following topics:<br />

“System Requirements” on page 10<br />

“Terms You Should Know” on page 10<br />

“Starting <strong>Implementer</strong>” on page 10<br />

“Overview of Setup Tasks” on page 12<br />

“Scenario Summaries” on page 14<br />

“Host System Scenarios” on page 17<br />

“Remote System Scenarios” on page 39<br />

“Multi-Platform Development and Deployment Scenarios” on page 49<br />

“Communications Options” on page 61<br />

“Distribution Methods” on page 61<br />

9


Chapter 2: Understanding <strong>Implementer</strong><br />

System Requirements<br />

10<br />

The system requirement for this <strong>Implementer</strong> release is OS/400 V5R1 or later, or i5/OS V5R3<br />

or later. Additional requirements may apply to using certain features or functions of<br />

<strong>Implementer</strong>. For detailed information, see the requirements described with the respective<br />

feature or function.<br />

Terms You Should Know<br />

Before you begin setting up <strong>Implementer</strong>, it is important to understand several basic terms<br />

used within the software:<br />

environment<br />

object code<br />

check out<br />

promotion<br />

For a definition of these terms and many other terms, see “Glossary” on page 457.<br />

Starting <strong>Implementer</strong><br />

To start <strong>Implementer</strong>, use the Start <strong>Implementer</strong> (STRIM) command. To start the standard<br />

<strong>Implementer</strong> Receiver, use the Start <strong>Implementer</strong> Receiver (STRIR) command. To start the<br />

<strong>Implementer</strong> Receiver for Release Management, use the (STRIRM) command.<br />

To access a specific <strong>Implementer</strong> panel, issue any of the start commands followed by the<br />

respective keyword or menu option number. For example, to access <strong>Implementer</strong> Menu<br />

option 45, System Control Maintenance, issue the command STRIM *SYSCTLMNT or STRIM<br />

45. For a list of valid keywords, see the table page 11. You can also prompt the commands<br />

and use F4=Prompt on the OPTIONS parameter to view and select a valid keyword.<br />

If you received the <strong>Implementer</strong> product from Computer Associates and have <strong>Implementer</strong><br />

enabled for AllFusion 2E change management, the following substitutions apply:<br />

STRCM command replaces the STRIM command.<br />

STRCR command replaces the STRIR command.<br />

Library Y2SYCM replaces the default host system library name <strong>MKS</strong>IM.<br />

Library Y2SYCR replaces the default remote system library name <strong>MKS</strong>IR.


Starting <strong>Implementer</strong><br />

The <strong>Implementer</strong> menus allow access to all capabilities and functions of <strong>Implementer</strong> and<br />

<strong>Implementer</strong> Receiver. Menu access options are described in this guide when they are used<br />

for specific tasks.<br />

The <strong>Implementer</strong> Menu contains the following sections across multiple panels:<br />

implementation<br />

other common tasks<br />

emergency handling<br />

reports<br />

administration<br />

release control<br />

commands<br />

The following table describes the command parameters you can use with the STRIM and<br />

STRCM commands.<br />

Start <strong>Implementer</strong> Command Keywords<br />

Menu Option STRIM Command Value<br />

Activity Report *ACTRPT<br />

Archive History Report *ARCHRPT<br />

Archive Recovery *ARCRCV<br />

Archive to Tape Menu *ARCTAP<br />

Check Out *CHKOUT<br />

Compile Promotion Request *CMPRQS<br />

Concurrent Development Report *CONDEVRPT<br />

Create Promotion Request *CRTRQS<br />

Move Promotion Request by System/Environment *MOVRQSSYS<br />

Environments *WRKENV<br />

Environment Groups *WRKENVGRP<br />

Environment Report *ENVRPT<br />

Function Keys *WRKFNCKEY<br />

Job Log Inquiry *JOBLOGINQ<br />

Lock Report *LCKRPT<br />

Menu—Panel 1 *M1 or *MENU1<br />

Menu—Panel 2 *M2 or *MENU2<br />

11


Chapter 2: Understanding <strong>Implementer</strong><br />

Overview of Setup Tasks<br />

12<br />

Start <strong>Implementer</strong> Command Keywords<br />

Menu Option STRIM Command Value<br />

Menu—Panel 3 *M3 or *MENU3<br />

Menu—Panel 4 *M4 or *MENU4<br />

Manage All Concurrent Development *MNGCONDEV<br />

<strong>MKS</strong> Integrity Setup *INTMGRSET<br />

<strong>MKS</strong> Source Setup *SRCMGT<br />

Move Promotion Request *MOVRQS<br />

My Workbench *WRKBCH<br />

Network Configuration *NETCFG<br />

Objects *WRKOBJ<br />

Object Codes *WRKOBJCDE<br />

Object Code Report *OBJCDERPT<br />

Release Deployment Menu *WRKRLSDPL<br />

Request Inquiry *RQSINQ<br />

Request Maintenance *RQSMNT<br />

Request Report *RQSRPT<br />

System Control Maintenance *SYSCTLMNT<br />

Users *WRKUSR<br />

User Report *USRRPT<br />

Work with Projects *WRKPRJ<br />

This section describes an overview of the basic tasks you need to complete to configure<br />

<strong>Implementer</strong> for your specific needs. Used in conjunction with the scenarios provided later in<br />

the chapter, this information helps you to organize <strong>Implementer</strong>.<br />

NOTE This list is not all-inclusive of the setup required to gain full advantage of all<br />

<strong>Implementer</strong>’s robust features and functions. For more information, see the<br />

requirements listed for each specific feature.


The following list identifies the basic functions you use to set up <strong>Implementer</strong>:<br />

Overview of Setup Tasks<br />

System Control Maintenance allows you to define your company name, default job<br />

queue, and numerous other system-wide defaults.<br />

Create User Profile allows you to define the rights and characteristics of each<br />

<strong>Implementer</strong> user.<br />

Create Environment allows you to define the characteristics of the different types of<br />

environments and related environments for your applications, and establish default<br />

development paths for production environments.<br />

Work with Object Codes allows you to define the specific types of objects used for<br />

promotion.<br />

Reset Authorities allows you to change the OS/400 owners and authorities to objects in<br />

the environment libraries.<br />

Build List allows you to load members and objects into <strong>Implementer</strong>’s environment<br />

repository.<br />

Create Environment Groups allows you to define environment groups for promotion or<br />

distribution purposes.<br />

Set up User-defined Programming Development Manager allows you set up PDM to<br />

perform <strong>Implementer</strong> functions for environments.<br />

<strong>Implementer</strong> Server allows you to configure the <strong>Implementer</strong> Server, which is the<br />

gateway to <strong>MKS</strong> Integrity integrations, as well as the primary contact point for many<br />

external and third party integrations. For details, see “Configuring the <strong>Implementer</strong><br />

Server” on page 217.<br />

<strong>MKS</strong> Integrity Setup allows you to configure the communications and other variables<br />

required to use <strong>MKS</strong> Integrity for issue management with <strong>Implementer</strong>. For details, see<br />

“<strong>Implementer</strong> and <strong>MKS</strong> Integrity Integration” on page 196.<br />

<strong>MKS</strong> Source Setup allows you to configure the communications and other variables<br />

required to use <strong>MKS</strong> Source for source archiving with <strong>Implementer</strong>. For details, see<br />

“<strong>Implementer</strong> and <strong>MKS</strong> Source Integration” on page 259.<br />

Before setting up <strong>Implementer</strong>, it is necessary to conceptually understand two features that<br />

apply to all development scenarios: projects and archiving.<br />

Projects are a common element of the development cycle. The primary decisions regarding<br />

projects are whether you use projects, and how you use them. The following options are<br />

available for managing projects in <strong>Implementer</strong>:<br />

<strong>Implementer</strong> projects<br />

<strong>MKS</strong> Integrity projects (requires using <strong>MKS</strong> Integrity for issue management); for more<br />

information, see “<strong>Implementer</strong> and <strong>MKS</strong> Integrity Integration” on page 196<br />

DesignTracker projects (requires using DesignTracker for issue management)<br />

13


Chapter 2: Understanding <strong>Implementer</strong><br />

14<br />

ProjectMaster projects (requires using ProjectMaster for project management)<br />

You create <strong>Implementer</strong> projects in <strong>Implementer</strong>. If using DesignTracker, you can create<br />

projects from the Work with Entity List Members panel by using F20=Create IM Project<br />

(creates one project or group of projects for each design request). <strong>Implementer</strong> projects allow<br />

for project paths (similar to environment paths) that control the development flow of<br />

members/objects associated with a project. The project path can be defined on a project-byproject<br />

basis. For details, see “Project-based Application Paths” on page 142.<br />

When DesignTracker is not used, for example, when using <strong>MKS</strong> Integrity, you must<br />

determine a method of naming your projects and determine when to create them. For<br />

example, you might create a project for every fix or minor change needed, or create a single<br />

project for fixes this month or this year, or a continuous project for all fixes. You may already<br />

have a system in place for logging user requests that match <strong>Implementer</strong> project references.<br />

Archiving serves two main purposes: The main purpose is to recover original source and/or<br />

objects when the promoted source and/or objects do not function appropriately in<br />

production. Secondly, it provides access to the initial source of a specific program to review<br />

before promoting the current changes.<br />

You should determine the value of being able to rollback a change, and the ability to view<br />

historical versions of source. <strong>MKS</strong> recommends you archive production environments but<br />

not archiving test environments.<br />

If you have remote systems, you can archive on the remote system or the local system.<br />

However, archiving on the remote allows you to rollback more quickly because it does not<br />

require redistributing the objects to the remote system.<br />

Scenario Summaries<br />

The following tables list each scenario with a description of the important characteristics of<br />

each scenario. This information is helpful to understand why a specific scenario might be<br />

useful. The detailed description for each scenario includes:<br />

illustration of the development cycle<br />

brief scenario description<br />

description of development steps<br />

setup tasks for the scenario


Host System Scenarios<br />

Scenario Important Characteristics<br />

Scenario Summaries<br />

1. Basic (page 17) developers check out from production to development<br />

developers initiate promotion back to production<br />

project leader promotes back to production<br />

does not use separate test environments<br />

2. One test environment (page 18) developers check out from production to development<br />

developers initiate promotion to a test environment<br />

project leader promotes back to production<br />

test administrator promotes to production<br />

3. Multiple test environments (page 19) similar to Scenario 2, with more testing areas<br />

testers promote to other test environments and<br />

production<br />

4. Concurrent development (page 21) allows checking out multiple versions of same member<br />

by same or different developers<br />

uses two development environments<br />

5. Emergency (page 23) allows checking out multiple versions of same member<br />

by same or different developers<br />

uses two development environments<br />

6. Multiple database libraries (page 25) testing or production environments have multiple<br />

copies of database files<br />

7. Separate production modifications<br />

(page 27)<br />

multiple related production environments<br />

automatic check out from most current version<br />

8. Multiple software releases (page 29) multiple related production environments<br />

automatic check out from either release<br />

9. Modifications to vendor software<br />

(page 33)<br />

can be used with any scenario previously listed<br />

searches multiple environments at check out<br />

does not update unmodified vendor libraries<br />

10. Release control (page 37) can be used with any scenario previously listed<br />

supports both single version and multiple version<br />

development models<br />

15


Chapter 2: Understanding <strong>Implementer</strong><br />

16<br />

Remote System Scenarios<br />

Scenario Important Characteristics<br />

11. Remote host and remote production<br />

on same promotion request (page 40)<br />

12. Host and a single remote on different<br />

promotion request (page 41)<br />

production on a single remote system<br />

remote production and local image distributed to in<br />

one step<br />

testing is not performed on remote system<br />

production on a single remote system<br />

distribute to remote production and local system in two<br />

separate steps<br />

testing is not performed on remote system<br />

13. Perform testing on remote (page 43) testing occurs on remote system<br />

distribute to remote production and local system in one<br />

step<br />

14. Multiple remote systems with same<br />

changes (page 45)<br />

production on multiple remote systems with same<br />

changes on each system<br />

15. Multiple remote sites (page 46) production on multiple remote systems with different<br />

changes on each system<br />

16. Remote source check out (page 48) production source on remote system<br />

source checked out from remote to host development<br />

Multi-Platform Scenarios<br />

Scenario Important Characteristics<br />

17. Multi-platform development and<br />

deployment (page 60)<br />

can be used with any scenario previously listed<br />

<strong>Implementer</strong> users log new issues using <strong>MKS</strong> Integrity<br />

<strong>MKS</strong> Integrity eliminates the need to sign on to the<br />

iSeries to log issues<br />

a single issue ID is used to manage a change across<br />

multiple platforms


Host System Scenarios<br />

Basic Host: Scenario 1<br />

Overview<br />

Host System Scenarios<br />

Each developer checks out to a personal environment, a project environment, a shared<br />

development environment, or a personal library. The developer checks in directly to the<br />

production environment. Contrast this scenario with the next scenario, which includes a test<br />

environment.<br />

Development Tasks<br />

This is the typical task sequence from the start of a programming change to completion.<br />

1 Check out. Developer checks out to a personal environment, project environment, or<br />

shared development environment.<br />

2 Develop and test. Developer codes, compiles, and tests programs.<br />

3 Promote to production. Developer creates the promotion request.<br />

Developer can compile the request into the work library as a separate task or when<br />

creating the request.<br />

User who has move capabilities moves the members/objects into production.<br />

Setup Tasks<br />

The setup tasks required for this scenario are as follows:<br />

1 Create an Environment task. Define the following environments:<br />

Production, one production environment.<br />

Development, one development environment for all developers, or specific<br />

environments per developer or project.<br />

17


Chapter 2: Understanding <strong>Implementer</strong><br />

18<br />

2 Create a User Profile task. Define user profiles for the following user roles:<br />

Developer, checks out members/objects, performs development, and creates a<br />

promotion request that targets production. Additionally compiles the promotion<br />

request to the work library.<br />

Administrator or project leader, creates projects and moves the promotion request to<br />

production.<br />

One Test Environment: Scenario 2<br />

Overview<br />

Each developer checks out to a personal library, a project library, or a shared development<br />

library. The developer promotes to a quality assurance environment. Testers test in this<br />

environment and then promote to production.<br />

Development Tasks<br />

This is the typical task sequence from the start of a programming change to completion.<br />

1 Check out. Developer checks out to a personal library, project library, or shared<br />

development library.<br />

2 Develop and test. Developer codes, compiles, and tests programs.<br />

3 Promote to test. Developer creates the promotion request.<br />

Developer compiles the promotion request into the work library, as a separate task<br />

or when creating the request.<br />

Authorized user moves the members/objects into quality assurance.<br />

4 Quality assurance testing. Tester tests the change for functional consistency and<br />

accuracy.<br />

5 Promote to production.<br />

Tester creates the promotion request.<br />

The promotion request can be compiled into the work library, as a separate task or<br />

when creating the request.<br />

Administrator moves the members/objects into production.


Setup Tasks<br />

The setup tasks required for this scenario are as follows:<br />

1 Create an Environment task. Define the following environments:<br />

Production, one production environment.<br />

Quality Assurance, one QA environment.<br />

Development, one development environment for all developers, or specific<br />

environments per developer or project.<br />

2 Create a User Profile task. Define user profiles for the following user roles:<br />

Host System Scenarios<br />

Developer checks out members/objects, performs development, and creates a<br />

promotion request that targets quality assurance environments. The developer<br />

compiles the promotion request in the work library.<br />

Tester performs the tests in the test environment with their own copy of the changes.<br />

Administrator promotes changes into the QA environment to allow the tester to start<br />

testing a change.<br />

Administrator or project leader creates projects and moves the promotion request to<br />

production.<br />

Multiple Test Environments: Scenario 3<br />

Overview<br />

Each developer checks out to a personal library, a project library, or a shared development<br />

library. The developer completes the necessary changes and checks in to a quality assurance<br />

environment. The testers in this environment perform the necessary testing, and then<br />

promote from quality assurance to another test environment for user acceptance. This is<br />

accomplished by copying the request that initially promoted the changes into the quality<br />

assurance environment. After user acceptance testing, you promote the change to<br />

production.<br />

Development Tasks<br />

This is the typical task sequence from the start of a programming change to completion.<br />

1 Check out. Developer checks out to a personal library, project library, or shared<br />

development library.<br />

19


Chapter 2: Understanding <strong>Implementer</strong><br />

20<br />

2 Develop and test. Developer codes, compiles, and tests programs.<br />

3 Promote to test. Developer creates the promotion request.<br />

Developer can compile the promotion request into the work library, as a separate<br />

task or when creating the request.<br />

Administrator moves the members/objects into quality assurance.<br />

4 Quality assurance testing. Tester tests the change for functional consistency and<br />

accuracy.<br />

5 Promote to test.<br />

Tester creates the request for promotion by copying the original promotion request.<br />

Administrator moves the members/objects into user acceptance testing.<br />

6 User acceptance testing. End users test the change for functional consistency and<br />

accuracy.<br />

7 Promote to production.<br />

Authorized user creates the request for promotion by copying the original<br />

promotion request.<br />

Administrator moves the members/objects into production.<br />

Setup Tasks<br />

The setup tasks required for this scenario are as follows:<br />

1 Create an Environment task. Define the following environments:<br />

Production, one production environment.<br />

Quality Assurance, the first QA environment.<br />

User Acceptance testing, the second QA environment.<br />

Development, one development environment for all developers, or specific<br />

environments per developer or project.<br />

2 Create a User Profile task. Define user profiles for the following user roles:<br />

Developer checks out members/objects, performs development, and creates a<br />

promotion request that targets quality assurance environments. Additionally<br />

compiles the promotion request in the work library.<br />

Tester performs the test in this environment with their own copy of the changes.<br />

Administrator promotes changes into the QA environment to allow the tester to start<br />

testing a change.<br />

Administrator or project leader creates projects and moves the promotion request to<br />

production.


Concurrent Development: Scenario 4<br />

Overview<br />

This scenario allows checking out multiple versions of one member.<br />

Host System Scenarios<br />

The first developer checks out to a personal library, a project library, or a shared<br />

development library. The second developer checks out to a personal library, a project library,<br />

or a shared development library by selecting from existing versions.<br />

The developer must have concurrent development capabilities, unless the activity involves<br />

emergency check out, in which case the user’s emergency check out and promotion rights<br />

override the concurrent development capabilities. For more information, see the definitions<br />

for “concurrent development” on page 459, and “conflict” on page 459.<br />

To complete the necessary changes, the first developer notifies the administrator or project<br />

leader to resolve a conflict. Once the conflict is resolved, the developer or administrator<br />

promotes the request back into production. The next program completes the same action.<br />

To focus on the concurrent development features, this scenario has only one quality<br />

assurance environment.<br />

Development Tasks<br />

This is the typical task sequence from the start of a programming change to completion.<br />

1 Check out the first version of a member. Developer checks out to a personal library,<br />

project library, or shared development library.<br />

2 Develop and test. Developer begins a programming change.<br />

3 Check out second version for a concurrent development. Developer checks out a second<br />

copy for another change to a different environment. Concurrent check out requires you<br />

have concurrent development rights. Depending on the situation, you may want to start<br />

with a current development copy or the production version. The developer working on<br />

the first version receives a message that a different developer is doing concurrent<br />

development.<br />

21


Chapter 2: Understanding <strong>Implementer</strong><br />

22<br />

4 Make the development change to the second version. Developer codes, compiles, and<br />

tests.<br />

5 Resolve the conflict for the first version of the member.<br />

Developer notifies the administrator that conflict resolution is necessary or, if<br />

allowed, resolves the conflict himself.<br />

Administrator resolves all conflicts of the first completed version of the member.<br />

Promoting a request often includes conflict resolution, as described in the next task.<br />

6 Promote the first version to testing.<br />

Developer or administrator creates the promotion request.<br />

Developer can compile the promotion request into the work library, as a separate<br />

task or when creating the request.<br />

Administrator moves the members/objects into quality assurance.<br />

7 Complete the second change. Developer codes, compiles, and tests.<br />

8 Resolve the conflict for the second change.<br />

Developer notifies the administrator that conflict resolution is necessary.<br />

Administrator resolves all conflicts of the second completed version of the member.<br />

Promoting a request often includes conflict resolution, as described in the next task.<br />

This step could include reviewing the source code of the emergency version, or even<br />

performing a merge or compare of the version.<br />

9 Promote the second version to testing.<br />

Developer creates the promotion request.<br />

Developer can compile the promotion request into the work library, either as a<br />

separate task or when creating the request.<br />

Administrator moves the members/objects into quality assurance.<br />

10 Quality assurance testing. Tester tests the change for functional consistency and<br />

accuracy.<br />

11 Promote to production.<br />

Tester creates the promotion request.<br />

Administrator moves the members/objects into production.


Setup Tasks<br />

The setup tasks required for this scenario are as follows:<br />

1 Create an Environment task. Define the following environments:<br />

Production, one production environment with a standard path.<br />

Quality Assurance, the first QA environment.<br />

Host System Scenarios<br />

Development environment, one development environment for all developers, or<br />

specific environments per developer or project.<br />

2 Create a User Profile task. Define user profiles for the following user roles:<br />

Developer checks out members/objects, performs development, creates a promotion<br />

request that targets production, and is allowed to perform concurrent development.<br />

The developer compiles the promotion request in the work library.<br />

Tester performs the tests in the test environment with their own copy of the changes.<br />

Administrator promotes changes into the QA environment to allow the tester to start<br />

testing a change.<br />

Administrator or project leader creates projects and moves the promotion request to<br />

production. This user also has conflict resolution capabilities.<br />

Emergency Development: Scenario 5<br />

Overview<br />

This scenario allows checking out multiple versions of one member. The second check out is<br />

for emergency purposes.<br />

The first developer checks out to a personal library, a project library, or a shared<br />

development library. The second developer checks out to a personal library, a project library,<br />

or a shared development library by selecting from an existing version. To do this, the<br />

23


Chapter 2: Understanding <strong>Implementer</strong><br />

24<br />

developer must have emergency capabilities. The developer completing the emergency<br />

development resolves the conflict and promotes the request back into production. The next<br />

programmer and/or administrator completes the same actions.<br />

To focus on the emergency features, this scenario includes only one quality assurance<br />

environment.<br />

Development Tasks<br />

This is the typical task sequence from the start of a programming change to completion.<br />

1 Check out the first version of a member. Developer checks out to a personal library,<br />

project library, or shared development library.<br />

2 Develop and test. Developer begins a programming change.<br />

3 Check out second version for an emergency. Developer checks out a second copy for an<br />

emergency change to a different environment. This is often an emergency check out. You<br />

must also select a specific version of the member to start with. For emergency<br />

development, this is probably the original production member/object. This is normally<br />

considered concurrent development that requires specific authority, however, in this<br />

case the emergency check out rights override the concurrent development requirement.<br />

4 Make the emergency change. Developer codes, compiles, and tests.<br />

5 Resolve the conflict for emergency version. This resolves all conflicts of the emergency<br />

version of the member. Promoting a request often includes conflict resolution as<br />

described in the next task. Usually, the user who has emergency capabilities to resolve<br />

conflicts and complete moves has this authority.<br />

6 Promote the emergency version to production. Developer creates the promotion request.<br />

You normally promote this request directly into production using the Auto Submit<br />

Through Step in the move function.<br />

7 Complete the first change. Developer codes, compiles, and tests.<br />

8 Resolve the conflict for first change.<br />

Developer notifies the administrator that conflict resolution is necessary.<br />

Administrator resolves all conflicts of the first completed version of the member.<br />

Promoting a request often includes conflict resolution as described in the next task.<br />

This step could include reviewing the source code of the emergency version, or even<br />

performing a merge or compare of the version.<br />

9 Promote the first version to production.<br />

Developer creates the promotion request.<br />

Developer can compile the promotion request into the work library, either as a<br />

separate task or when creating the request.<br />

Administrator moves the members/objects into production.


Setup Tasks<br />

The setup tasks required for this scenario are as follows:<br />

1 Create an Environment task. Define the following environments:<br />

Production, one production environment.<br />

Host System Scenarios<br />

Development environment, one development environment for all developers, or<br />

specific environments per developer or project.<br />

Emergency development environment, one development environment for all<br />

developers, or specific environments per developer or project.<br />

2 Create a User Profile task. Define user profiles for the following user roles:<br />

Developer checks out members/objects, performs development, creates a promotion<br />

request that targets production. Additionally compiles the promotion request in the<br />

work library.<br />

Developer with emergency capabilities checks out members/objects using Emergency<br />

Check Out, performs development, and creates an emergency promotion request<br />

that targets production. This developer compiles and moves the promotion request<br />

into the production environment and has conflict resolution capabilities.<br />

Administrator creates projects and moves the promotion request to production.<br />

Multiple Data Libraries, Identical Structures: Scenario 6<br />

Overview<br />

In this scenario, the production application has two database libraries. Both libraries have<br />

identical structures containing the same file objects, however, the data may differ between<br />

one set and the other. <strong>Implementer</strong> supports this scenario by creating two environments and<br />

25


Chapter 2: Understanding <strong>Implementer</strong><br />

26<br />

combining them in an environment group. These extra database libraries are either for<br />

training and testing, or for a second division of the organization that uses the same program<br />

libraries but requires separate data.<br />

The example given is for multiple production database libraries, but you could also use this<br />

for multiple database environments for a quality assurance environment. In this case, the<br />

extra database files libraries are usually for different test databases.<br />

Development Tasks<br />

This is the typical task sequence from the start of a programming change to completion.<br />

1 Check out. Developer checks out to a personal library, project library, or shared<br />

development library. The developer checks out from the full production environment.<br />

2 Develop and test. Developer codes, compiles, and tests programs.<br />

3 Promote to production.<br />

Developer creates the promotion request targeting an environment group. The<br />

environment group has the check out From environment as the first environment.<br />

The database environments are also part of this environment group.<br />

Developer can compile the promotion request into the work library.<br />

Administrator moves the members/objects into the production environments. You<br />

can perform the moves to the different environments at different times.<br />

Setup Tasks<br />

The setup tasks required for this scenario are as follows:<br />

1 Create an Environment task. Define the following environments:<br />

Production, one production environment for the complete application.<br />

Database files environment (for production), one production environment for each<br />

database files library.<br />

Development environment, one development environment for all developers, or<br />

specific environments per developer or project.<br />

2 Create an Environment Group task. Define the following environment group:<br />

Production, one environment group that combines the full production environment<br />

with the database files environments.<br />

3 Create a User Profile task. Define user profiles for the following user roles:<br />

Developer checks out members/objects, performs development, and creates a<br />

promotion request targeting the quality assurance environments. The developer<br />

compiles the promotion request in the work library.<br />

Administrator creates projects and moves the promotion request to production.


Separate Production Modifications: Scenario 7<br />

Overview<br />

Host System Scenarios<br />

This scenario allows for managing modifications to production in a separate environment<br />

from the base production application. This method is commonly used when making<br />

modifications to a standard packaged application, and when you are not making the<br />

modifications directly to the application.<br />

You define the base production and modified production libraries as two separate<br />

environments so you can control them separately. You can add additional modification levels<br />

to this scenario. In many cases there is only one copy of the database in a separate library, and<br />

since both reference it, it is defined as part of both the modified and base production<br />

environments.<br />

After checking out from the modified production environment, you bring all development<br />

changes back to the modified production environment. You always check out the member<br />

from the modified environment to development, regardless of whether the item to be<br />

changed is already in the modification library. If you have not modified the item, it is<br />

automatically copied from the base production environment.<br />

This scenario is similar to the scenario for Modifications to Vendor Software, except there are<br />

no external changes from a vendor (or a common development group) that you must<br />

periodically incorporate into the application.<br />

Development Tasks<br />

This is the typical sequence from the start of a programming change to completion.<br />

1 Check out the member/object from the Mods environment. Developer selects the<br />

member/object from a list of all items in modified production and/or base production.<br />

Check out automatically determines to take the version from modified or base<br />

production for new development.<br />

2 Develop and test. Developer begins the programming change and tests the member/<br />

object in their development environment.<br />

27


Chapter 2: Understanding <strong>Implementer</strong><br />

28<br />

3 Promote the member/object to quality assurance.<br />

Developer or administrator creates the promotion request.<br />

Developer can compile the promotion request into the work library, either as a<br />

separate task or when creating the request.<br />

Administrator moves the members/objects into quality assurance.<br />

4 Quality assurance testing. Tester tests the change for functional consistency and<br />

accuracy.<br />

5 Promote the member/object to Mods production.<br />

Tester copies the original promotion request and changes the target environment (or<br />

environment group) to the Mods environment.<br />

Administrator moves the members/objects into modified production.<br />

Setup Tasks<br />

The setup tasks required for this scenario are as follows:<br />

1 Create an Environment task. Define the following environments:<br />

Base Production, one production environment for the base version of the application.<br />

If all files are in a single library, define that library as the file library for this<br />

environment, as well as for the modified production environment.<br />

Mods Production, one production environment for the modifications of a particular<br />

application. Set up the related environments with modified production above the<br />

base production environment to allow automatic selection of the correct version<br />

during check out. If all files are in a single library, define that library as the file<br />

library for this environment, as well as for the modified production environment.<br />

Quality Assurance, one QA environment for each release of a particular application.<br />

Development environment, one development environment for all developers for each<br />

release, or specific environments per developer or project.<br />

NOTE Related environments are always connected to the modification environment,<br />

never to the base environment.<br />

2 Create a User Profile task. Define user profiles for the following user roles:<br />

Developer checks out members/objects, performs development, creates a promotion<br />

request targeting quality assurance, and is allowed to perform concurrent<br />

development. The developer compiles the promotion request in the work library.<br />

This user only has authority to check out from the modified production<br />

environments and promote to the quality assurance environments being supported.<br />

Tester performs the tests in the test environment with his own copy of the changes.


Multiple Software Releases: Scenario 8<br />

Overview<br />

Host System Scenarios<br />

This scenario allows you to manage multiple software releases for a given application.<br />

You can create a new release that contains only the changes to the prior release(s).<br />

NOTE This illustrates a delta scenario, where the new release contains only the<br />

objects that are different from the original release. It is also possible to set up a non<br />

delta scenario, where both libraries contain the entire product. The differences in<br />

setting up these two variations are described in “Differences Between Delta and<br />

Non Delta Variations” on page 32.<br />

During check out for development on the new release, <strong>Implementer</strong> searches each release<br />

and copies the item from the most recent release. A list of all items logically a part of the new<br />

release is available, whether they are physically in the new release or only in the old release.<br />

Development on the previous (1.0) release can continue using the basic development<br />

scenario. You may need ongoing support for this release, since it is in production while you<br />

are developing the newer release. You can add unlimited additional releases—allowing for<br />

the support of multiple prior releases—while developing the newest release.<br />

You frequently use concurrent development with this scenario to manage concurrent<br />

changes to the same object in multiple releases.<br />

Development Tasks<br />

This is the typical task sequence from the start of a programming change to completion.<br />

Separate development activities occur for both releases.<br />

29


Chapter 2: Understanding <strong>Implementer</strong><br />

30<br />

Changes to Release 2.0<br />

1 Check out the member/object from Production 2.0 environment. Developer for release<br />

2.0 selects the member/object from a list of all items in release 2.0 production and/or<br />

release 1.0 production. Check out automatically determines to copy the version from<br />

release 2.0 or release 1.0 production for new development.<br />

2 Develop and test Release 2.0. Developer begins the programming changes and tests the<br />

member/object in his development environment for release 2.0.<br />

3 Promote the member/object to quality assurance 2.0.<br />

Developer or administrator creates the promotion request.<br />

Developer can compile the promotion request into the work library, either as a<br />

separate task or when creating the request.<br />

Administrator moves the members/objects into quality assurance 2.0.<br />

4 Quality assurance testing release 2.0. Tester tests the change for functional consistency<br />

and accuracy.<br />

5 Promote the member/object to Production 2.0.<br />

Tester copies the original promotion request and changes the target environment (or<br />

environment group) to Production 2.0.<br />

Administrator moves the members/object into Production 2.0.<br />

Changes to Release 1.0<br />

1 Check out the member/object from Production 1.0 environment. Developer for release<br />

1.0 selects the member/object from a list of all items in release 1.0 production.<br />

2 Develop and test Release 1.0. Developer begins the programming change and tests the<br />

member/object in his development environment for release 1.0.<br />

3 Promote the member/object to quality assurance 1.0.<br />

Developer or administrator creates the promotion request.<br />

Developer can compile the promotion request into the work library, either as a<br />

separate task or when creating the request.<br />

Administrator moves the members/objects into quality assurance 1.0.<br />

4 Quality assurance testing release 1.0. Tester tests the change for functional consistency<br />

and accuracy.<br />

5 Promote the member/object to Production 1.0.<br />

Tester copies the original promotion request and changes the target environment (or<br />

environment group) to Production 1.0.<br />

Administrator moves the members/objects into Production 1.0.


Setup Tasks<br />

The setup tasks required for this scenario are as follows:<br />

Host System Scenarios<br />

1 Create an Environment task. Define the following environments for Release 2.0:<br />

Production 2.0, one production environment for release 2.0 of a particular<br />

application. Define related environments and place production 2.0 above<br />

production 1.0 to allow the automatic selection of the correct version during check<br />

out.<br />

Quality Assurance 2.0, one QA environment for release 2.0 of a particular application.<br />

Development environment 2.0, one development environment for all developers for<br />

each release, or specific environments per developer or project.<br />

Define the following environments for Release 1.0:<br />

Production 1.0, one production environment for release 1.0 of a particular<br />

application.<br />

Quality Assurance 1.0, one QA environment for release 1.0 of a particular application.<br />

Development environment 1.0, one development environment for all developers for<br />

each release, or specific environments per developer or project.<br />

2 Create a User Profile task.<br />

Define user profiles for the following user roles for Release 2.0.<br />

Developer 2.0 checks out members/objects, performs development, creates a<br />

promotion request targeting release 2.0 quality assurance, and is allowed to perform<br />

concurrent development. The developer compiles the promotion request in the<br />

work library. This user only has authority to check out or promote to the most<br />

current release supported.<br />

Tester 2.0 performs the tests in the test environment with their own copy of the<br />

changes.<br />

Administrator 2.0 promotes changes into the test environment to allow the tester to<br />

start testing a change.<br />

Administrator 2.0 creates projects and moves the promotion request to release 2.0<br />

production. This user also has conflict resolution capabilities.<br />

Define user profiles for the following user roles for Release 1.0.<br />

Developer 1.0 checks out members/objects, performs development, creates a<br />

promotion request targeting release 1.0 quality assurance, and is allowed to perform<br />

concurrent development. The developer compiles the promotion request in the<br />

work library. This user only has authority to check out or promote to releases other<br />

than the new one in development.<br />

31


Chapter 2: Understanding <strong>Implementer</strong><br />

32<br />

Tester 1.0 performs the tests in the test environment with their own copy of the<br />

changes.<br />

Administrator 1.0 promotes changes into the test environment to allow the tester to<br />

start testing a change.<br />

Administrator 1.0 creates projects and moves the promotion request to release 1.0<br />

production. This user also has conflict resolution capabilities.<br />

Differences Between Delta and Non Delta Variations<br />

The previous tasks described how to set up a delta scenario, where the new release library<br />

contains only the objects that are different from the original release. You can also set up for<br />

multiple releases using a non delta scenario, where both libraries contain the entire<br />

application.<br />

TIP The delta scenario is recommended when disk space is an overriding concern<br />

and you have limited changes. The non delta scenario, which is easy to use, is<br />

recommended when disk space is not a consideration and when frequent changes<br />

are made to the database.<br />

The following table describes the differences in setting up delta and non delta scenarios.<br />

Delta Scenario Non Delta Scenario<br />

Description Release 2.0 library contains only<br />

objects that are different from<br />

release 1.0. If some changed<br />

programs use additional files, those<br />

files may also need to be copied.<br />

Release 2.0 and release 1.0 both<br />

contain the entire application.<br />

Related environments Requires set up. Does not require set up.<br />

Related objects Requires set up. Does not require set up.<br />

Library lists Requires release 1.0 libraries in<br />

release 2.0 library list.<br />

Should not have release 1.0<br />

libraries in release 2.0 library list.


Modifications to Vendor Software: Scenario 9<br />

Overview<br />

Host System Scenarios<br />

This scenario is for users who have modified vendor-supplied software and at the same time<br />

need to receive PTFs and new releases from the vendor. Several types of development<br />

activities exist in this scenario: modifying the application, applying vendor PTFs, and<br />

applying an entire new release from the vendor. You define each of these activities in detail.<br />

Applying a new release for a large application that has been heavily modified can be a very<br />

large project; however, it can be greatly simplified by using <strong>MKS</strong> NewVersion with<br />

<strong>Implementer</strong>.<br />

To receive support from the vendor for the original application, all modifications to the<br />

package reside in separate libraries. This allows duplicating any problems using just the basic<br />

application from the vendor to determine if an issue occurred with a custom modification, or<br />

is part of the base application.<br />

For simplicity, this scenario illustrates making the changes directly to the base, although it is<br />

not required. You can keep modified vendor changes in a separate environment.<br />

This scenario is similar to the scenario for Separate Production Modifications, except there<br />

are external changes received from a vendor or from a common development group that you<br />

must periodically incorporate into the application.<br />

This scenario capitalizes on the concurrent development features of <strong>Implementer</strong>, and the<br />

source merging capabilities of NewVersion.<br />

Development Tasks<br />

There are multiple development tasks for this scenario:<br />

change a vendor-delivered member/object or create a new member/object<br />

apply vendor PTFs<br />

33


Chapter 2: Understanding <strong>Implementer</strong><br />

34<br />

apply a new release from the vendor<br />

Change a Vendor-Supplied Member/Object or Create a New One<br />

1 Check Out from custom Mods production. Developer selects the member/object from a<br />

list of all items in custom Mods production and/or the vendor base production. Check<br />

out automatically determines whether to use the version from custom Mods production<br />

or the vendor base production for each change. <strong>Implementer</strong> copies the correct source<br />

into development for custom modifications.<br />

2 Develop and test. Developer codes, compiles, and tests the members/objects.<br />

3 Promote the member/object to Mods quality assurance.<br />

Developer promotes the member/object from Mods development to Mods quality<br />

assurance.<br />

Developer can compile the promotion request into the work library, either as a<br />

separate task or when creating the request.<br />

4 Quality assurance.<br />

Tester tests programs.<br />

Tester copies the original promotion request for promotion.<br />

5 Promote to custom Mods production. Administrator for custom Mods production<br />

promotes the members/objects to customer Mods production.<br />

Apply Vendor PTFs<br />

1 Restore the PTF. Use the instructions supplied by the application software vendor to<br />

restore the PTF into a new library (referred to as the PTF library).<br />

2 Check out all items on the PTF and compile. Check out all items on the PTF, from the<br />

vendor base production environment to the vendor PTF development environment.<br />

Replace the entire source and objects with those from the PTF library and compile all<br />

source. Test the PTF using the development environment and the vendor base<br />

application.<br />

3 Check out any modified items included in the PTF. You can identify custom<br />

modifications to any item included with the PTF using Work with Objects. You must<br />

check out each modified item that is part of the PTF as if making another custom<br />

modification. You must have concurrent development capabilities to perform this check<br />

out since the object was previously checked out to the PTF environment. The next step<br />

applies the PTF to the customized version.<br />

4 Merge the PTF into the customized version. Using the Workbench, merge the PTF<br />

changes into the customized member in development. Specify modified development as<br />

the target library, modified production as production, the PTF development library as<br />

enhanced, and the base application library as base. This applies all vendor-supplied PTF


Host System Scenarios<br />

changes to the modified member. Review the Merge report and respond to any<br />

messages. Compile the member and perform testing. Ensure the PTF development<br />

library is on the library list for testing.<br />

5 Promote any modified items to testing. Promote any modified items that now contain<br />

the PTF to Mods quality assurance.<br />

6 Promote all PTF items to testing. Promote all items changed from the vendor PTF<br />

development environment to the vendor quality assurance environment.<br />

7 Promote modified items to modified custom Mods production. After testing, promote<br />

any modified items from Mods quality assurance to custom Mods production.<br />

8 Promote PTF objects to base application. After testing, promote all vendor objects from<br />

vendor testing to the vendor base production.<br />

Apply the New Release From the Vendor<br />

These tasks require the use of NewVersion, a separately-licensed <strong>MKS</strong> product.<br />

1 Load the new release from the application vendor. Use the instructions supplied by the<br />

application software vendor. The vendor should supply instructions to install the<br />

changes into test libraries, rather than directly into your custom Mods production<br />

version of that software. The directions from the vendor may be as simple as telling you<br />

which libraries to restore from tape, using the Restore Object (RSTOBJ) or Restore<br />

Library (RSTLIB) command. The vendor may provide installation utilities that you must<br />

run as described by the vendor.<br />

2 Analyze the new release libraries. Complete this step using the NewVersion functions<br />

“Define Target Libraries” and “Build Target Object Entries” to analyze the libraries. Use<br />

the “Print Action Messages” function to print a list of action or exception messages to<br />

review or resolve. Use the “Print Object Report” function to determine which objects<br />

require merging.<br />

3 Check out the objects that NewVersion has determined require merging. This checks out<br />

from the custom modifications production environment (with an automatic copy from<br />

the vendor base production, if needed) to a development environment. At this point, you<br />

might encounter members/objects that are already checked out. If you have some of<br />

these members/objects checked out already, check them out to a different development<br />

environment or library. <strong>Implementer</strong> considers this concurrent development.<br />

Concurrent development requires you to resolve conflicts before or during creation of<br />

the promotion request. The library you check out to must be the same library as the<br />

target library defined to NewVersion.<br />

The check out being performed is simply securing a lock on each of the members/<br />

objects. The source that is copied as part of this check out is replaced with the source<br />

merged in the next step.<br />

35


Chapter 2: Understanding <strong>Implementer</strong><br />

36<br />

4 Merge the source members and analyze the results. In NewVersion, use the “Create<br />

Target Source” function to create the new source members. Use the “Merge Reports”<br />

function to verify correct results and resolve object differences.<br />

5 Compile the new source members. In NewVersion, use the “Create Objects” function to<br />

compile the new source members.<br />

6 Test the changes. Use a library list that has the NewVersion target library at the top, with<br />

libraries containing the unmodified version of the objects below it.<br />

7 Promote to the custom modifications environment. The promotion request promotes<br />

from the NewVersion Target library to the custom modification environment. This<br />

promotion request can require resolving conflicts caused by the concurrent<br />

development. For details on concurrent development, see “Concurrent Development:<br />

Scenario 4” on page 21.<br />

Setup Tasks<br />

The setup tasks required for this scenario are as follows:<br />

1 Create an Environment task. Define the following custom Mods environments for this<br />

scenario:<br />

Custom Mods Production, define a production environment. Related environments<br />

set up with modified production above the base production environment allow<br />

automatic selection of the correct version in check out. If all files reside in a single<br />

library, that library is defined as the file library for this environment, as well as for<br />

the vendor base production environment.<br />

Mods Development, define a development environment.<br />

Mods Quality Assurance, define a quality assurance environment.<br />

Define the following Vendor environments for this scenario:<br />

Vendor Base Production, define a production environment. If all files are in a single<br />

library, define that library as the file library for this environment, as well as for the<br />

modified production environment.<br />

Vendor PTF Development, define a development environment.<br />

Vendor Quality Assurance, define a quality assurance environment.<br />

2 Create a User Profile task. The same group of developers and testers are commonly<br />

responsible for custom changes, as well as applying vendor PTFs and new releases.<br />

Developer checks out members/objects, performs development, creates a promotion<br />

request targeting quality assurance, and is allowed to perform concurrent<br />

development. The developer compiles the promotion request in the work library.


Host System Scenarios<br />

This user has authority to check out from the modified and base production<br />

environments and promote to the modified and vendor PTF quality assurance<br />

environments.<br />

Tester performs the tests either in the modified quality assurance or vendor PTF<br />

environments using their own copy of the changes.<br />

Administrator promotes changes into the test environments to allow the tester to<br />

start testing a change.<br />

Administrator creates projects and moves the promotion requests to modified<br />

production or to the vendor base production environments. This user also has<br />

conflict resolution capabilities.<br />

Release Control: Scenario 10<br />

Overview<br />

A typical release control development scenario starts with setting up your products and<br />

versions, and attaching the environments associated with each product at the version level.<br />

You then create an open release (the release must be at a status that allows software changes<br />

to occur, for example, ENV-OPEN). Any issues or design requests that have at least one<br />

entity promoted to production while the release is open are attached to that release.<br />

Follow your normal change management procedures for checking out and promoting<br />

member/objects. When you are ready to close a release (for example, for system test or to<br />

target production) set the release to a status that does not allow software changes (for<br />

example, ENV-CLOSED). This prevents promotions from targeting the environments<br />

defined for the version that allow creating standard releases from it (defined when you attach<br />

an environment to a version). Changing the status from one that allows software changes to<br />

one that does not allows you to capture an image of the <strong>Implementer</strong> repository so you know<br />

exactly which objects were in the release when it closed.<br />

37


Chapter 2: Understanding <strong>Implementer</strong><br />

38<br />

When you are finished with the release, set it to a status where all four status fields, Allow<br />

software change, Allow packaging, Allow controlled distribution, and Allow distribute changes<br />

are set to N (for example, NOT SUPPORTED). Changing the release status allows you to<br />

control movement into production environments. You can now create a new open release,<br />

allowing the change management cycle to begin again.<br />

Setup Tasks<br />

In most cases the implementation of this feature requires minimal setup to your existing<br />

configuration, allowing you to quickly append release control into your existing change<br />

management operation.<br />

The setup tasks required for this scenario are as follows:<br />

1 Create environments. No special considerations are required when defining<br />

environments for release control. Follow the environment setup steps described in a<br />

previous scenario, or see “<strong>Implementer</strong> <strong>Administration</strong>” on page 63 for information on<br />

creating environments.<br />

2 Define user authorities. Users must have authority to work with products and versions.<br />

This is defined in the Work with Users function. Set the Maintain Products and Maintain<br />

Versions fields to Y for each user who maintains product versions.<br />

3 Define products, versions, and releases. For details, see the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> Release<br />

Management <strong>Guide</strong>.<br />

4 Verify the software release process configuration. This consists of release types and the<br />

release status; together, they determine the development path that each release must<br />

follow.<br />

Release types are user-defined values that identify the types of releases you manage<br />

within the release control process. Release types are classified as either standard<br />

(STD) or program temporary fix (PTF).<br />

Release status defines the path a release must follow before you can changed it to<br />

the next available status. It also defines the functions you can perform to the release<br />

during each phase of the development cycle. A person with product management<br />

responsibility typically controls this stage progression.<br />

The release status controls four functions:<br />

Allow software changes controls whether software can be promoted into the<br />

environments attached to the product version.<br />

Allow create package controls whether packages can be created.<br />

Allow controlled distribution controls whether the release is available for<br />

selection to distribute to a customer system, but does not make it a default<br />

release. This is also used for release deployment.


Remote System Scenarios<br />

Allow distribute changes controls whether the release can be the default release<br />

to distribute to a customer system as the most current release available. This is<br />

also used for release deployment.<br />

The release category and the release status together determine the development path<br />

that a release must follow, and the dependency automatically associated between a<br />

current release and a previous release.<br />

Release Control Development Cycle<br />

The development cycle associated with release control effectively handles when objects are<br />

promoted back to production, without hindering the start of new development. Release<br />

control supports both single version and multiple version development models, as illustrated<br />

in the following chart.<br />

Remote System Scenarios<br />

The next six scenarios pertain to promotions that target remote iSeries systems using the<br />

<strong>Implementer</strong> Receiver.<br />

39


Chapter 2: Understanding <strong>Implementer</strong><br />

Remote Production on Same Request: Scenario 11<br />

40<br />

Overview<br />

In this scenario you distribute changes to a single remote system on the same promotion<br />

request as a local version of production environment. This scenario ensures the production<br />

system remains synchronous with the development system.<br />

Development Tasks<br />

This is the typical task sequence from the start of a programming change to completion.<br />

1 Check out. Developer checks out to a personal library, project library, or shared<br />

development library. The developer checks out from the local production version.<br />

2 Develop and test. Developer codes, compiles, and tests programs.<br />

3 Promote and distribute to production.<br />

Developer creates the promotion request targeting an environment group. The<br />

environment group has the check out From environment listed as the first<br />

environment, and the remote environment as the second environment.<br />

Developer can compile the promotion request into the work library. Typically, you<br />

compile just for the first environment.<br />

Administrator moves the members/objects into the production environments. You<br />

can perform the moves to different environments at different times, if needed. Many<br />

options exist for distributing changes to the remote system.


Setup Tasks<br />

The setup tasks required for this scenario are as follows:<br />

1 Create an Environment task. Define the following environments:<br />

Remote System Scenarios<br />

Local Production, one production environment for the local development system.<br />

Remote Production, one production environment for the remote production system.<br />

Development, one development environment for all developers, or specific<br />

environments per developer or project.<br />

2 Create an Environment Group task. Define the following environment group:<br />

Production, create an environment group that combines the local production<br />

environment with the remote production environment.<br />

3 Create a User Profile task. Define user profiles for the following user roles:<br />

Developer checks out members/objects, performs development, and creates a<br />

promotion request targeting the quality assurance environments. The developer<br />

compiles the promotion request in the work library.<br />

Administrator or project leader creates projects and moves the promotion request to<br />

production.<br />

Remote Production on Different Request: Scenario 12<br />

Overview<br />

In this scenario you distribute changes to a single remote system on a different promotion<br />

request than the local promotion, to the production environment. This scenario ensures the<br />

production system remains synchronous with the development system.<br />

Development Tasks<br />

This is the typical task sequence from the start of a programming change to completion.<br />

1 Check out. Developer checks out to a personal library, project library, or shared<br />

development library. The developer checks out from the local production version.<br />

2 Develop and test. Developer codes, compiles, and tests programs.<br />

41


Chapter 2: Understanding <strong>Implementer</strong><br />

42<br />

3 Promote to production.<br />

Developer creates the promotion request targeting an environment.<br />

Developer can compile the promotion request into the work library. Typically, you<br />

compile just for the first environment.<br />

Administrator moves the members/objects into the production environment. You<br />

can perform the moves to the different environments at different times, if needed.<br />

Many options exist for distributing the changes to the remote system.<br />

4 Promote and distribute to remote production.<br />

Developer creates the promotion request targeting a remote environment. You can<br />

create the request by copying the original request.<br />

Administrator moves the members/objects into the production environments. You<br />

can perform the moves to the different environments at different times, if needed.<br />

Many options exist for distributing the changes to the remote system.<br />

Setup Tasks<br />

The setup tasks required for this scenario are as follows:<br />

1 Create an Environment task. Define the following environments:<br />

Local Production, one production environment for the local development system.<br />

Remote Production, one production environment for the remote production system.<br />

Development, one development environment for all developers, or specific<br />

environments per developer or project.<br />

2 Create an Environment Group task. Define the following environment group:<br />

Production, one environment group that combines the local production environment<br />

with the remote production environment.<br />

3 Create a User Profile task. Define user profiles for the following user roles:<br />

Developer checks out members/objects, performs development, and creates a<br />

promotion request targeting the quality assurance environments. The developer<br />

compiles the promotion request in the work library.<br />

Administrator or project leader creates projects and moves the promotion request to<br />

production.


Testing on Remote: Scenario 13<br />

Overview<br />

In this scenario, you distribute changes to a single remote system in two phases:<br />

1 To test environments on the host and remote.<br />

Remote System Scenarios<br />

2 From test environment on the host to both the local and remote production. You<br />

distribute the changes for testing on the same promotion request as a local version of the<br />

quality assurance environment. You distribute the changes for production on the same<br />

promotion request as a local version of production environment.<br />

Development Tasks<br />

This is the typical task sequence from the start of a programming change to completion.<br />

1 Check out. Developer checks out to a personal library, project library, or shared<br />

development library. The developer checks out from the local production version.<br />

2 Develop and test. Developer codes, compiles, and tests programs.<br />

3 Promote and distribute to local and remote test environments.<br />

Developer creates the promotion request targeting an environment group. The<br />

environment group has the environment you checked out from listed as the first<br />

environment, and the remote environment as the second environment.<br />

Developer can compile the promotion request into the work library. Typically, you<br />

compile just for the first environment.<br />

Administrator moves the members/objects into the test environments. You can<br />

perform the moves to the different environments at different times, if needed. Many<br />

options exist for distributing changes to the remote system.<br />

43


Chapter 2: Understanding <strong>Implementer</strong><br />

44<br />

4 Quality assurance testing. Testers (on both the local and remote systems) test the change<br />

for functional consistency and accuracy.<br />

5 Promote and distribute to local and remote production environments.<br />

Tester on the local system creates the promotion request targeting an environment<br />

group. The environment group has the environment you checked out from listed as<br />

the first environment, and the remote environment as the second environment.<br />

Developer can compile the promotion request into the work library. Typically, you<br />

compile just for the first environment.<br />

Administrator moves the members/objects into the production environments. You<br />

can perform the moves to the different environments at different times, if needed.<br />

Many options exist for distributing the changes to the remote system.<br />

Setup Tasks<br />

The setup tasks required for this scenario are as follows:<br />

1 Create an Environment task. Define the following environments:<br />

Local Production, one production environment for the local development system.<br />

Remote Production, one production environment for the remote production system.<br />

Local Quality Assurance, the local QA environment.<br />

Remote Quality Assurance, the remote QA environment.<br />

Development, one development environment for all developers, or specific<br />

environments per developer or project.<br />

2 Create an Environment Group task. Define the following environment groups:<br />

Production, one environment group that combines the local production environment<br />

with the remote production environment.<br />

Testing, one environment group that combines the local test environment with the<br />

remote test environment.<br />

3 Create a User Profile task. Define user profiles for the following user roles:<br />

Developer checks out members/objects, performs development, and creates a<br />

promotion request targeting the quality assurance environments. The developer<br />

compiles the promotion request in the work library.<br />

Tester performs the test in this environment with their own copy of the changes.<br />

Administrators promotes changes into the QA environment to allow the tester to<br />

start testing a change.<br />

Administrator or project leader creates projects and moves the promotion request to<br />

production.


Multiple Remote Productions Same Changes: Scenario 14<br />

Overview<br />

Remote System Scenarios<br />

In this scenario, you distribute the same changes to multiple remote systems on a different<br />

promotion request than the local version of production environment. This scenario ensures<br />

the production system remains synchronous with the development system.<br />

Development Tasks<br />

This is the typical task sequence from the start of a programming change to completion.<br />

1 Check out. Developer checks out to a personal library, project library, or shared<br />

development library. The developer checks out from the local production version.<br />

2 Develop and test. Developer codes, compiles, and tests programs.<br />

3 Promote to local production.<br />

Developer creates the promotion request targeting an environment.<br />

Developer can compile the promotion request into the work library. Typically, you<br />

compile just for the first environment.<br />

Administrator moves the members/objects into the production environment.<br />

4 Promote and distribute to remote production.<br />

Developer creates the promotion request targeting an environment group.<br />

Administrator moves the members/objects into the remote production<br />

environments. You can perform the moves to the different environments at different<br />

times, if needed. Many options exist for distributing the changes to the remote<br />

system.<br />

45


Chapter 2: Understanding <strong>Implementer</strong><br />

46<br />

Setup Tasks<br />

The setup tasks required for this scenario are as follows:<br />

1 Create an Environment task. Define the following environments:<br />

Local Production, one production environment for the local development system.<br />

Remote Production, one production environment for the remote production system.<br />

Development, one development environment for all developers, or specific<br />

environments per developer or project.<br />

2 Create an Environment Group task. Define the following environment group:<br />

Production, one environment group that combines the local production environment<br />

with the remote production environments.<br />

3 Create a User Profile task. Define user profiles for the following user roles:<br />

Developer checks out members/objects, performs development, and creates a<br />

promotion request targeting the quality assurance environments. The developer<br />

compiles the promotion request in the work library.<br />

Administrator or project leader creates projects and moves the promotion request to<br />

production.<br />

Multiple Remote Systems: Scenario 15<br />

Overview<br />

In this scenario, you distribute base changes to multiple remote systems and a specific<br />

promotion request to remote systems.This scenario ensures the production system remains<br />

synchronous with the development system.


Development Tasks<br />

Remote System Scenarios<br />

This is the typical task sequence from the start of a programming change to completion.<br />

1 Check out from base production. Developer checks out to a personal library, project<br />

library, or shared development library. The developer checks out from the local<br />

production version.<br />

2 Develop and test. Developer codes, compiles, and tests programs.<br />

3 Promote and distribute to base production and multiple remote sites.<br />

Developer creates the promotion request targeting an environment group. The<br />

environment group has the environment you checked out from listed as the first<br />

environment, and the remote environment as the second environment.<br />

Developer can compile the promotion request into the work library. Typically, you<br />

compile just for the first environment.<br />

Administrator moves the members/objects into the production environments. You<br />

can perform the moves to the different environments at different times, if needed.<br />

Many options exist for distributing the changes to the remote system.<br />

4 Check out from Site N Mods on local system. Developer checks out to a personal library,<br />

project library, or shared development library. The developer checks out from the Local<br />

Site N version.<br />

5 Develop and test. Developer codes, compiles, and tests programs.<br />

6 Promote and distribute to remote site N production.<br />

Developer creates the promotion request targeting an environment.<br />

Developer can compile the promotion request into the work library. Typically, you<br />

compile just for the first environment.<br />

Administrator moves the members/objects into the production environments. You<br />

can perform the moves to the different environments at different times, if needed.<br />

Many options exist for distributing the changes to the remote system.<br />

Setup Tasks<br />

The setup tasks required for this scenario are as follows:<br />

1 Create an Environment task. Define the following environments:<br />

Local Production, one production environment for the local development system.<br />

Remote Production, one production environment for the remote production system.<br />

Development, one development environment for all developers, or specific<br />

environments per developer, project, or site.<br />

47


Chapter 2: Understanding <strong>Implementer</strong><br />

48<br />

2 Create an Environment Group task. Define the following environment group:<br />

Production, one environment group that combines the local production environment<br />

with the remote production environment.<br />

3 Create a User Profile task. Define user profiles for the following user roles:<br />

Developer checks out members/objects, performs development, and creates a<br />

promotion request targeting the quality assurance environments. The developer<br />

compiles the promotion request in the work library.<br />

Administrator or project leader creates projects and moves the promotion request to<br />

production.<br />

Check Out From Remote: Scenario 16<br />

Overview<br />

In this scenario you check out the source from a remote system to development on the host<br />

system. You promote the changes to the production environment on the host and distribute<br />

the changes to the remote system where the original check out occurred. You distribute these<br />

changes on a different promotion request than the local version to the production<br />

environment.<br />

Development Tasks<br />

This is the typical task sequence from the start of a programming change to completion.<br />

1 Check out. Developer checks out source from the remote system to a personal library,<br />

project library, or shared development library. The developer checks out to the local<br />

development environment.<br />

2 Develop and test. Developer codes, compiles, and tests programs.<br />

3 Promote to local production.<br />

Developer creates the promotion request targeting the local production environment.<br />

Developer can compile the promotion request into the work library. Typically, you<br />

compile just for the first environment.<br />

Administrator moves the members/objects into the production environment.


4 Promote and distribute to remote production.<br />

Multi-Platform Development and Deployment Scenarios<br />

Developer creates the promotion request targeting by system/environment. In this<br />

case, you would probably distribute only the source.<br />

Administrator compiles the members/objects into work libraries on the remote<br />

system.<br />

Administrator moves the members/objects into the remote production<br />

environments.<br />

Setup Tasks<br />

The setup tasks required for this scenario are as follows:<br />

1 Create an Environment task. Define the following environments:<br />

Local Production, one production environment for the local development system.<br />

Remote Production, one production environment for the remote production system.<br />

Development, one development environment for all developers, or specific<br />

environments per developer or project.<br />

2 Create a User Profile task. Define user profiles for the following user roles:<br />

Developer checks out members/objects, performs development, and creates a<br />

promotion request targeting the quality assurance environments. The developer<br />

compiles the promotion request in the work library.<br />

Administrator or project leader creates projects and moves the promotion request to<br />

production.<br />

Multi-Platform Development and Deployment<br />

Scenarios<br />

Change is always certain. In every industry, companies face the difficult task of trying to<br />

manage a multitude of changes. The companies that handle changes best are the ones that<br />

excel and rise above their competition.<br />

With the rapid migration towards e-Business solutions, the rate at which you need to turn<br />

around system solutions has increased dramatically. There is no buffer for backtracking and<br />

reworking when things are missed or overlooked.<br />

There is also a much greater need to integrate many different system components from<br />

various teams. The days of long release cycles are disappearing, and this changing business<br />

model demands tighter management and coordination. Now, more than ever, development<br />

teams need support for Software Configuration Management (SCM) and for handling change<br />

requests quickly and efficiently, especially across multiple platforms.<br />

49


Chapter 2: Understanding <strong>Implementer</strong><br />

50<br />

<strong>MKS</strong> Integrity enables collaboration across the enterprise, connecting technical and non<br />

technical teams—even partners and customers—in rapidly building, sustaining, and<br />

evolving e-Business processes, Web content, and software applications. <strong>MKS</strong> Integrity can be<br />

used to manage your development work on the iSeries, as well as your Java and C++<br />

development.<br />

Integrated Solution<br />

In a rapidly evolving organization, change happens at Web speed. Rapid business evolution<br />

means rapid customer growth, requiring new forms of collaboration, rapid content<br />

expansion, and application adaptation leading to rapid system instability. The result is<br />

evolution shock. <strong>MKS</strong> Integrity can prevent evolution shock, providing you with content<br />

management, software management, and collaboration in one built-for-e-Business integrated<br />

package.<br />

Software Configuration Management<br />

Rapid business evolution means rapid software adaptation to truly evolve to e-Business.<br />

Organizations now must rapidly integrate and evolve back end systems for maximum<br />

competitive advantage.<br />

<strong>Implementer</strong> and <strong>MKS</strong> Source allow team members to effectively manage multiple<br />

development projects, secure software assets, meet deadlines, and contribute throughout the<br />

application and development lifecycle. Using <strong>MKS</strong>’s SCM solutions, organizations can track<br />

their e-Business evolution with precision and avoid the pitfalls of evolution shock.<br />

Change Management<br />

Rapid business evolution means new forms of collaboration. In an e-Business, virtual teams<br />

of people from inside and outside of the organization create a powerful chain of actions that<br />

join together to continually evolve content, software, and business processes.<br />

<strong>MKS</strong> Integrity automates and synchronizes your business and IT processes so that only<br />

authorized content and application changes are delivered with accuracy at the right time.<br />

Organizations using <strong>MKS</strong> Integrity will strengthen their chain-of-action, particularly when<br />

faced with constant business pressure to respond to changes.<br />

iSeries Design and Implementation Management<br />

The <strong>MKS</strong> iSeries products offers both functionally and technically advanced tools that protect<br />

your company’s corporate investment in application systems on the iSeries, while ensuring<br />

production software integrity and quality. It is designed to fulfill the short- and long-term<br />

requirements of your application development lifecycle.


Multi-Platform Development and Deployment Scenarios<br />

<strong>Implementer</strong> provides implementation management controls for the check out and<br />

promotion of traditional and non traditional members and objects as they move from<br />

production to development, from development to QA, and from QA to production. During<br />

these processes, status information is fed back to <strong>MKS</strong> Integrity that, in turn, serves to inform<br />

anyone interested in the issue of the project’s status.<br />

<strong>Implementer</strong> supports Windows and Web-based applications being developed on a<br />

Windows desktop, using <strong>MKS</strong> Source to manage the desktop. With <strong>Implementer</strong>, you can<br />

automatically pull the files needed for execution (or in the case of HTML, the content to be<br />

deployed) from the <strong>MKS</strong> Source build Sandbox®, and deploy these items using the<br />

<strong>Implementer</strong> Receiver.<br />

<strong>MKS</strong> Integrity provides issue tracking using a Windows or Web interface. <strong>MKS</strong> Integrity is<br />

completely customizable and eliminates the need for a user to sign on to the iSeries to log<br />

issues.<br />

A single issue ID is used to manage a change across multiple platforms with <strong>MKS</strong> Integrity,<br />

when using <strong>Implementer</strong> and <strong>MKS</strong> Source to manage your IFS multiple platform<br />

development on the iSeries.<br />

Working in a multi-platform environment places additional requirements on the<br />

development process. Dealing with problems and issues is part of the normal development<br />

lifecycle, and during multi-platform development and deployment, the need to deal with<br />

them becomes particularly acute. Consequently, there is a critical need to:<br />

manage change requests in the software development lifecycle, including across<br />

platforms and during deployment<br />

manage the physical movement of source and objects<br />

ensure the context for deployment is appropriate for the:<br />

platform<br />

file type (HTML, client Java, server Java, native objects, databases)<br />

target technology environment (such as, Web server and database server)<br />

Multi-platform development and deployment is defined as software development where:<br />

objects are built on one platform and deployed on another, or<br />

objects deployed on multiple platforms inter-operate to form a single solution and are<br />

managed together<br />

A platform in this case does not just refer to hardware—it can also be a logical platform. For<br />

example, Java provides a target platform no matter what hardware it is run on, and the<br />

iSeries, NT, and UNIX operating systems also provide platforms.<br />

51


Chapter 2: Understanding <strong>Implementer</strong><br />

Software Development Lifecycle<br />

52<br />

The software development lifecycle is highly involved and has many variables. Accordingly,<br />

only the steps in the software development lifecycle applicable to problems encountered in<br />

multi-platform development and deployment are discussed herein. The software<br />

development lifecycle is described in more detail in “Managing the Physical Movement of<br />

Objects” on page 54.<br />

Many multi-platform development models are possible. Some examples of the types of<br />

development and deployment are as follows:<br />

development object (such as static Web content (HTML, GIF)) is deployed using the<br />

iSeries as the target Web server<br />

development object is one-to-one with the release object, such as for server Java<br />

development<br />

client Java development, for example, <strong>Implementer</strong> Capability Wizard<br />

client Visual Basic development (an application, such as <strong>MKS</strong> Integrity, accesses an<br />

OS/400 database)<br />

client C/C ++ development<br />

any application using a SETUP.EXE executable<br />

a proprietary development and deployment model (for example, PeopleSoft World)<br />

Another way to look at the various development environments is to look at several of the<br />

metrics that apply to all development types. Each environment has varying degrees of<br />

change being made during development through to the final object being placed in<br />

production. The metrics to consider are as follows:<br />

Degree of Transformation<br />

Between Development and<br />

Production<br />

Same (HTML, OCL)<br />

One to one (RPG, Java)<br />

One to many (C, dll, JAR<br />

(Java Archive), *SRVPGM<br />

One to many several times<br />

(SETUP.EXE)<br />

The development process can involve many users and many roles. The major roles of interest<br />

in multi-platform development and deployment are:<br />

developer<br />

builder (the buildmaster) of the release object<br />

Deployment Environments Execution Locations<br />

Native RPG<br />

Java programs<br />

Application server<br />

Web server<br />

Visual Basic applications<br />

Open environment (servlets)<br />

Proprietary environments<br />

Server<br />

Client<br />

Client (served from server)


deployer<br />

tester<br />

development manager/project leader<br />

Multi-Platform Development and Deployment Scenarios<br />

Additional roles may be added at each point in the process; however, adding roles changes<br />

the process, but it does not alter the change management activities.<br />

Managing Change Requests<br />

Software systems require change. Change is identified by a change request. A change goes<br />

through the appropriate software development lifecycle based on the technology and the<br />

platform. By using change requests, two classes of management information must be<br />

available at all times. These can be represented by the following questions:<br />

Where in the software development lifecycle and deployment is the change request?<br />

What change requests are resolved in this new version of an object?<br />

In addition to tracking by change request, it is also important to be able to work based on<br />

change requests. This allows work to be done on a change request and at the same time to<br />

affect all of the related objects.<br />

The General Process<br />

Typically, change requests flow through the following stages:<br />

Does an issue<br />

exist?<br />

Customer<br />

Deliver<br />

Analyze<br />

Change<br />

Requests<br />

Design<br />

Implement<br />

Test<br />

53


Chapter 2: Understanding <strong>Implementer</strong><br />

54<br />

Identifying an Issue<br />

A user submits a change request to report a bug, enhance functionality, or add new<br />

features.<br />

Analyze<br />

Once you decide to accept the change request, you analyze the problem and identify<br />

what needs to be created or changed to provide a suitable solution. This may include<br />

things other than software, such as technical publications or training materials.<br />

Design<br />

You define the solution, establish a schedule for completion, and assign the tasks to<br />

individuals.<br />

Implement<br />

You develop each solution component, which may include coding or documenting the<br />

changes to the product, system, or application.<br />

Test<br />

You test the solution to ensure it performs as designed and meets the customer’s original<br />

need.<br />

Deliver<br />

The cycle is completed once you deliver the requested change back to the customer,<br />

ensuring their satisfaction. This corresponds to delivering a new release of a product or<br />

releasing the changes to the production systems.<br />

“Identifying an issue” and “Analyze” represent the Decision Phase, which addresses the<br />

assessment and negotiation steps that are required to ensure that changes are prioritized<br />

and scheduled for a timely resolution. “Design” and “Implement” are referred to as the<br />

Development Phase. “Test” is referred to as the Verification Phase, and “Deliver” as the<br />

Deployment Phase.<br />

Sometimes, for small changes, a person may quickly go through the thought process for<br />

the first four steps in one step (for example, correcting a typographical error). For more<br />

complicated cases, these steps may be handled by different roles such as a review board,<br />

developer, or QA manager. It is important, therefore, to structure your process to<br />

incorporate the ability to hand off the issue to the responsible parties. Whatever process<br />

you enforce, you want to verify that it supports these four basic phases.<br />

Managing the Physical Movement of Objects<br />

The purpose of a change management system is to manage the movement of software objects.<br />

Yo must accomplish this in an appropriate way for the platform containing the objects. This<br />

includes, for example, honoring and enforcing the security and integrity of the platform.<br />

<strong>MKS</strong> Integrity provides an effective means of dealing with the problems and issues<br />

surrounding multi-platform development and deployment.


Multi-Platform Development and Deployment Scenarios<br />

<strong>MKS</strong> Integrity provides a complete SCM solution. It helps development, QA, and<br />

geographically distributed team members to easily organize, manage, and contribute to the<br />

software development lifecycle. This system provides Web-based access to software<br />

configuration management, defect tracking and task management (<strong>MKS</strong> Integrity)—all the<br />

tools a team needs to move projects from code to release.<br />

<strong>MKS</strong> Source and <strong>MKS</strong> Integrity introduce some new terms you may not be familiar with. The<br />

glossary provides brief descriptions of some of the common terms this guide uses when<br />

discussing change management.<br />

The following diagram shows the typical object flow during the Development, Verification,<br />

and Deployment Phases of the software development lifecycle.<br />

55


Chapter 2: Understanding <strong>Implementer</strong><br />

56<br />

The Change Request Process Desktop iSeries 400<br />

Step One: Log Change Request<br />

Step Two: Initiate and Complete<br />

Development<br />

Step Three: Create Release Object for<br />

Production (Build)<br />

Step Four: Move Release Object to Testing<br />

Step Five: Move Release Object to<br />

Production<br />

Development<br />

Sandbox<br />

<strong>MKS</strong> Source<br />

Archives<br />

(Source, Objects)<br />

Build Sandbox<br />

Source<br />

Objects<br />

Verification<br />

Phase<br />

Deployment<br />

Phase<br />

Promotion<br />

Request<br />

Development<br />

Phase<br />

Development<br />

Testing<br />

Details of this flow are described in the following sections. The process describes typical new<br />

product (released-based) desktop development. Another form of similar software<br />

development is continuous desktop development. The next table characterizes each type.<br />

IFS<br />

Production<br />

Production<br />

Archive<br />

Production<br />

Production n<br />

Archive


Release-based<br />

Development<br />

Continuous<br />

Development<br />

Multi-Platform Development and Deployment Scenarios<br />

Characteristics Significance of Characteristics<br />

Problems typically represent requirements or<br />

new features and functions as specified by<br />

product management or business analysis.<br />

The initial development process requires the<br />

coordination of the analysis, design, and<br />

development tasks across various team<br />

members. This model supports the iterative<br />

steps of the development process.<br />

There is a clear distinction between the<br />

various components that need to be<br />

developed, and the testing process that<br />

focuses on black box functionality.<br />

Need to track all tasks being done according<br />

to relevant components.<br />

With larger development tasks, multiple<br />

people may need to work on the same<br />

proposal and their work status needs to be<br />

coordinated.<br />

Need to separate the problem process from<br />

the proposal and work instruction processes<br />

to allow for separate levels of monitoring.<br />

Certification and acceptance testing are<br />

typically handled by a Quality Assurance<br />

(QA) team.<br />

Decisions to release the product are based<br />

on the results of the system testing phase.<br />

Initial development phase has passed and<br />

software has been released to the customer.<br />

Maintenance cycle has begun.<br />

All work is generated by issues or problems<br />

raised against the released product.<br />

Changes are typically bugs or small<br />

enhancements.<br />

Several problems are gathered together to<br />

be fixed in a particular release.<br />

Development and product managers work<br />

together to negotiate priorities and decide<br />

what will be fixed in a release.<br />

Requirements analysis and design are<br />

minimal and it is not necessary to track them<br />

with separate states.<br />

Need to ensure all code changes are tracked<br />

along with the original problem.<br />

Functional testing is handled within the<br />

development team.<br />

Proposals and work instructions may be used<br />

but are not tracked with a process.<br />

Work is planned and monitored closely to<br />

distribute work evenly across resources and<br />

synchronize parallel tasks.<br />

When various groups within an organization<br />

are monitoring the progress of problems,<br />

they may not be interested in the detailed<br />

development status. By separating the<br />

process from development tracking, it is<br />

possible for various managers to monitor the<br />

status of the problems they are interested in<br />

at a high level.<br />

Separate process flows for proposals and<br />

work instructions help to focus the process<br />

details as needed rather than having one<br />

long overwhelming process on a problem.<br />

Supports parallel development tasks and<br />

allows for independent tracking of each task.<br />

Process focused on the problem only, since<br />

the goal is to manage a high volume of<br />

issues rapidly.<br />

It is important to record changes with a<br />

proposal change package, but the process<br />

flow for the proposal is not significant.<br />

Simplified process facilitates the rapid handoff<br />

of responsibility among the developer,<br />

build coordinator, and QA team.<br />

Able to handle a high volume of problems<br />

and ensure they do not fall through the<br />

cracks or get lost along the way.<br />

57


Chapter 2: Understanding <strong>Implementer</strong><br />

Change Request Process<br />

58<br />

Step One: Log Change Request<br />

Enter change requests (problems or program modification requests) as <strong>MKS</strong> Integrity issues.<br />

Step Two: Initiate and Complete Development<br />

Using <strong>MKS</strong> Integrity issues, assign work to developers.<br />

The developer checks out the required source in either <strong>Implementer</strong> or <strong>MKS</strong> Source,<br />

depending on the platform location and tool appropriateness of the objects needing to be<br />

changed.<br />

An example of mixed development is a client/server application where the iSeries is used as<br />

the server. The server programs are written in RPG and the client side is written in C, Visual<br />

Basic, or Java. In this scenario, a single issue could result in a development effort on both<br />

platforms, with <strong>Implementer</strong> supporting the OS/400 side and <strong>MKS</strong> Source supporting the<br />

rest.<br />

The developers finish the work. <strong>MKS</strong> Source-side developers check in a change package to<br />

the appropriate source project, and specify the proposal number associated with the issue<br />

they have fixed. OS/400 developers promote their changes to the appropriate QA<br />

environment on the iSeries. If these changes rely on the client-based changes also being<br />

made, the changes are left in the development environment on the iSeries pending receipt<br />

and deployment of the client objects from <strong>MKS</strong> Source. Once the client objects are deployed<br />

to the OS/400 development environment, all objects are then promoted on a single<br />

<strong>Implementer</strong> promotion request to the QA environment.<br />

Step Three: Create Release Object for Production (Build)<br />

Two types of desktop development need to be considered here: release-based and continuous.<br />

The following describes released-based development. Continuous development is essentially<br />

the same, except there is no build reference.<br />

The buildmaster updates all proposals associated with the issues addressed by the current<br />

build. That way all the issues can be tied back to the build using a build number (custom field<br />

on a proposal). This build number field can either be entered manually to the proposals in<br />

cases where few issues are involved, or it can be set using the <strong>MKS</strong> Integrity batch operation<br />

function in larger impact changes.<br />

NOTE In continuous development, the buildmaster uses the Export to <strong>Implementer</strong><br />

command to export by issue number.<br />

The buildmaster builds the code that includes the set of issue fixes. The buildmaster also<br />

gathers the source code version information from the change packages attached to the<br />

proposals that address the issues, either using the <strong>MKS</strong> Integrity Change Package feature or<br />

by manually determining what source items are required based on the level of complexity


Multi-Platform Development and Deployment Scenarios<br />

and type of work. After resolving any conflicts (manually), the buildmaster checks out all<br />

required source objects to a build sandbox and generates the required binaries. When the<br />

buildmaster is satisfied the built objects are correct, they have the option to check in the<br />

objects to a project to archive the release objects themselves.<br />

After the binaries (or non binaries that should be deployed) are ready and all proposals<br />

addressed by this build are flagged with a build number identifier, the buildmaster manually<br />

moves the objects to be deployed to an IFS location on the iSeries to stage the objects for<br />

deployment.<br />

NOTE This location should be a non cumulative location that only contains objects<br />

specifically related to this build.<br />

At this point, you issue the Export to <strong>Implementer</strong> command. For details on running the<br />

export, see “Exporting to <strong>Implementer</strong>” on page 140.<br />

Step Four: Move Release Object to Quality Assurance<br />

At this point, the build is ready for system testing. Depending on the circumstances, the QA<br />

group may do either of the following from <strong>Implementer</strong>:<br />

process the promotion request from step 4, if created<br />

access the Workbench, filter the issue, and then create a promotion request<br />

If user acceptance tests fail, the issues must go back to development for investigation and<br />

resolution. Once the build is accepted and released, all the issues addressed by that release<br />

are marked as closed.<br />

Step Five: Move Release Object to Production<br />

Once the objects are promoted to a production environment using <strong>Implementer</strong>, the status of<br />

all the appropriate <strong>MKS</strong> Integrity issues are updated.<br />

Appropriate Deployment<br />

Objects for deployment are being installed into a production system. In the simplest case, just<br />

placing an object in the proper location updates the production system, as required. At the<br />

other end of the scale, significant pre- and post-processing may be required to update the<br />

production system properly. For example, you must stop and restart the Weblogic<br />

Application Server before the server can recognize changed classes, because the classes were<br />

cached earlier by the server. These functions can be performed using promotion request<br />

special commands. For more information on special commands, see the <strong>MKS</strong> <strong>Implementer</strong><br />

<strong>2006</strong> User <strong>Guide</strong>.<br />

59


Chapter 2: Understanding <strong>Implementer</strong><br />

<strong>Implementer</strong> and <strong>MKS</strong> Integrity Integration: Scenario 17<br />

60<br />

In this scenario, <strong>Implementer</strong> users log new issues using <strong>MKS</strong> Integrity, which provides<br />

workflow management and issue tracking using a Windows or Web interface, eliminating<br />

the need for you to sign on to the iSeries to log issues.<br />

<strong>MKS</strong> Integrity is the best of breed enterprise choice for highly customizing process and<br />

workflow management. Any simple defect tracking tool can record the status of a change<br />

request, but it does not monitor all the components that need to be modified, or the variety of<br />

tasks that need to be performed to resolve the issue. <strong>MKS</strong> Integrity extends the concept of<br />

defect tracking to include support for managing components, tasks, and workflow. This is<br />

particularly important when your organization has implemented a Software Configuration<br />

Management (SCM) process for the proposal, review, and approval of all software changes.<br />

With this solution, <strong>MKS</strong> Integrity is the enterprise-wide issue management system.<br />

<strong>MKS</strong> Integrity integrates with other developer productivity tools—including <strong>Implementer</strong>, to<br />

control and track development activity in <strong>Implementer</strong>, and Microsoft Project. This leverages<br />

your software investments and enhances the coverage of your application development<br />

lifecycle. <strong>MKS</strong> Integrity allows you to manage your Integrated File System (IFS) development<br />

on the iSeries and PC platforms with a single issue ID that tracks a software change across<br />

multiple platforms.<br />

Development Tasks<br />

1 Log change request. Enter change requests (problems or program modification requests)<br />

as <strong>MKS</strong> Integrity issues.<br />

2 Initiate and complete development. Using <strong>MKS</strong> Integrity issues, assign work to<br />

developers.<br />

3 Create release object for production (build). Two types of desktop development need to<br />

be considered here: release-based and continuous. Continuous development is<br />

essentially the same as released-based development, except there is no build reference.<br />

4 Move release object to quality assurance. The build is ready for system testing.<br />

5 Move release object to production. Once the objects are promoted to a production<br />

environment on the iSeries, the status of all appropriate <strong>MKS</strong> Integrity issues is updated<br />

and the related <strong>Implementer</strong> change packages are closed.<br />

Setup Tasks<br />

The setup tasks required for this scenario are as follows:<br />

1 Install and configure <strong>Implementer</strong> Server. For details, see “Configuring the <strong>Implementer</strong><br />

Server” on page 217.<br />

1 Install and configure <strong>MKS</strong> Integrity Server and <strong>MKS</strong> Integrity. For details, see the<br />

<strong>MKS</strong> Integrity Server <strong>2006</strong> <strong>Administration</strong> <strong>Guide</strong>.


Communications Options<br />

2 Configure <strong>Implementer</strong> to use <strong>MKS</strong> Integrity for issue tracking. For details, see<br />

“<strong>Implementer</strong> and <strong>MKS</strong> Integrity Integration” on page 196.<br />

3 (Optional) Configure <strong>Implementer</strong> to use <strong>MKS</strong> Source archiving. For details, see<br />

“<strong>Implementer</strong> and <strong>MKS</strong> Source Integration” on page 259.<br />

Communications Options<br />

<strong>Implementer</strong> provides three options for communications entries between host and remote<br />

systems:<br />

Use existing communication entries. This is the recommended method, and no<br />

additional set up is required.<br />

Add communication entries to a generic mode description. Using a generic<br />

communications entry provides some additional control over your communication, and<br />

must be specifically set up.<br />

Add communication entries to a specific mode description. You can create an<br />

<strong>Implementer</strong>-specific mode description that reserves the communication sessions<br />

exclusively for <strong>Implementer</strong> use. This ensures a session is available to <strong>Implementer</strong><br />

when it attempts to communicate with the remote system (unless the maximum<br />

numbers of sessions for the mode are already in use by other <strong>Implementer</strong> jobs). This<br />

option provides the greatest control over your communications. It requires setup on both<br />

the host and remote systems.<br />

For details on this topic, see “Setting Up Communications Entries” on page 169.<br />

Distribution Methods<br />

<strong>Implementer</strong> supports software distribution on tape and DVD, as well as the following<br />

distribution methods:<br />

SDMCom. Distributions using <strong>Implementer</strong>’s own object distribution facility, SDMCom,<br />

provides between 20–35 percent better performance over SNADS distribution. Its<br />

advanced features use compression algorithms and blocking specifically for remote<br />

distributions.<br />

TCP/IP (FTP or tape). Requires additional setup as described in “Setting Up for TCP/IP<br />

Distribution” on page 173.<br />

SNADS. Requires additional setup as described in “Setting Up for SNADS Distribution”<br />

on page 179.<br />

For details on this topic, see “Distribution Methods” on page 164.<br />

61


Chapter 2: Understanding <strong>Implementer</strong><br />

62


C HAPTER THREE<br />

<strong>Implementer</strong> <strong>Administration</strong><br />

Configuring <strong>Implementer</strong> on the Host System<br />

3<br />

This chapter describes the administrative tasks you must complete to configure<br />

<strong>Implementer</strong> on the host system. Use this chapter, along with the previous chapter that<br />

describes the various scenarios, to help organize and perform the setup requirements.<br />

This chapter covers the following topics:<br />

“Overview of Administrative Tasks” on page 64<br />

“System Control Maintenance” on page 65<br />

“Users” on page 72<br />

“Environments” on page 81<br />

“Environments and User Capabilities” on page 109<br />

“Environment Repository Build” on page 117<br />

“Environment Groups” on page 125<br />

“Object Codes” on page 127<br />

“Object Name Rules” on page 137<br />

“Project-based Application Paths” on page 142<br />

“User-Defined PDM Options” on page 144<br />

“Issue or Design Request Stamping” on page 145<br />

“Object Version Stamping” on page 146<br />

“Considerations With OS/400 and <strong>Implementer</strong>” on page 153<br />

“Web-based Development for IFS Objects” on page 155<br />

“Mounted Drive Support for IFS Objects” on page 159<br />

63


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

Overview of Administrative Tasks<br />

64<br />

The tasks in this chapter explain how to define the system wide control parameters within<br />

<strong>Implementer</strong>. The tasks also explain how to create and maintain the different types of users,<br />

environments, and object codes.<br />

If you distribute software to remote systems using the <strong>Implementer</strong> Receiver, you must also<br />

complete the setup tasks described in “Remote Distribution Concepts and Setup” on<br />

page 161.<br />

The user who performs these tasks must have authority to the Setup options in Work with<br />

Users (see page 74). Initially, the iSeries user profile QSECOFR and the <strong>Implementer</strong> user<br />

profile MWIPROD have these rights. <strong>MKS</strong> recommends you designate a different user profile<br />

with these authorities to use for ongoing administrative tasks.<br />

Perform the administrative tasks in the following order:<br />

1 System control maintenance: Set up your company name, default job queue, and many<br />

other system-wide defaults. Task information begins on page 65.<br />

2 Create user profile: Define the characteristics and authorities of each <strong>Implementer</strong> user.<br />

Task information begins on page 72.<br />

3 Create environment: Define the characteristics of the different types of environments for<br />

your applications, related environments, and establish application paths for production<br />

environments. Task information begins on page 81.<br />

4 Work with user capabilities: Define the authorities each user has to environments. Task<br />

information begins on page 109.<br />

5 Work with object codes: Define each type of object used for promotion. Task information<br />

begins on page 127.<br />

6 Reset authorities: Change the OS/400 owners and authorities of objects in the<br />

environment libraries. Task information begins on page 372.<br />

7 Build list: Load members/objects into the <strong>Implementer</strong> environment repository. Task<br />

information begins on page 117.<br />

8 Create environment groups: Define environment groups for promotion or distribution<br />

purposes. Task information begins on page 125.<br />

9 Set up user-defined PDM: Enable PDM to perform <strong>Implementer</strong> check out for traditional<br />

environments. Task information begins on page 144.<br />

10 Issue management: Set up the integration with <strong>MKS</strong> Integrity, if applicable. Task<br />

information is described in “<strong>Implementer</strong> and <strong>MKS</strong> Integrity Integration” beginning on<br />

page 63.<br />

When you have completed the administrative tasks, you can start using <strong>Implementer</strong> to<br />

control your application development.


System Control Maintenance<br />

System Control Maintenance<br />

This task allows you to set up and maintain the system-wide parameters used throughout<br />

<strong>Implementer</strong>. System Control Maintenance also controls the activation of many optional<br />

features in <strong>Implementer</strong>.<br />

Most users change the company name, job queue, CASE tool installation (if applicable), and<br />

any other values as needed. You can define the system parameters at the time of initial setup,<br />

once you have completed installation, or when you need to change the configuration.<br />

<strong>Implementer</strong> also provides many data areas that allow you to further customize your<br />

implementation. For details, see “<strong>Implementer</strong> Data Areas” on page 402.<br />

Your user profile must have authority to this function.<br />

To perform System Control Maintenance<br />

1 From the <strong>Implementer</strong> Menu, type 45, or type STRIM (*SYSCTLMNT) at the command<br />

line and press ENTER to display the first of four System Control Maintenance panels.<br />

The actions you can perform on this panel are:<br />

F3=Exit returns to the previous panel without updating changes.<br />

F10=*ALL Special commands allows you to work with global special commands.<br />

For details, see “Special Command Processing” on page 103.<br />

F18=Name Rules allows you to work with global object naming rules. For details,<br />

see “Object Name Rules” on page 137.<br />

2 Complete the required fields as defined in the following tables beginning. Press<br />

PAGE DOWN to display the additional panels.<br />

65


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

66<br />

3 When you have finished entering the information, press ENTER to update the<br />

information and return to the <strong>Implementer</strong> Menu.<br />

System Control Maintenance Field Descriptions: Panel 1<br />

Field Description<br />

Company name Specify the name to display on the <strong>Implementer</strong> Menu and on <strong>Implementer</strong><br />

reports (usually the <strong>Implementer</strong> licensee name).<br />

Next request number Specify the next request number to issue. A request number is the unique,<br />

four-character alphanumeric identifier assigned by <strong>Implementer</strong> when you<br />

create a new promotion request.<br />

Beginning with number 0001, the number increments by one for each new<br />

promotion request. When 9999 is reached, the left most position changes<br />

to an alpha character and the other positions reset to 0 (zero). Reading<br />

from right to left, the cycle continues until each position goes through the<br />

range 0–9, and A–Z. When number ZZZZ is reached, the number scheme<br />

automatically resets to number 0001. The maximum number of available<br />

request numbers before resetting is 1,200,000.<br />

Delete compile<br />

listings<br />

Message queue<br />

delivery<br />

CAUTION You usually do not change this value. If you change it, you must<br />

specify a number that does not overwrite existing request numbers.<br />

Specify whether to delete compile listings after successful promotions.<br />

Compile listings are located in the output queue specified by the interactive<br />

job when a request is submitted to compile.<br />

Y: Cancels all successful compile listings and retains all unsuccessful<br />

compile listings. Eliminates the disk space requirements of retaining all<br />

compile listings. Successful compiles ensure source-to-object integrity;<br />

typically, you do not need to retain these job logs.<br />

N: Retains all successful and unsuccessful compile listings. Use with<br />

caution; can cause excessive spool files.<br />

Specify how to deliver messages to the user workstation.<br />

*BREAK: Displays messages immediately.<br />

*NOTIFY: Notifies the user of pending messages. Includes turning on a<br />

message light and sounding a buzzer (if available).<br />

*HOLD: Retains messages in the message queue for the user to display.<br />

*SAME: Uses the same message notification as the previous message.<br />

*DFT: Answers messages requiring a reply with the default message<br />

reply. Does not add messages to the message queue.


Job log message<br />

logging<br />

Number of job logs to<br />

retain<br />

Default job queue/<br />

Library<br />

System Control Maintenance<br />

Specify the data to record in the OS/400 job log for <strong>Implementer</strong><br />

processing.<br />

Level: Corresponds to the first value of the OS/400 job logging level.<br />

Valid options are 0–4.<br />

Severity: Severity level used during create request. Corresponds to the<br />

second value of the OS/400 job logging level. Valid options are 00–99.<br />

Text: Message text recorded in the job log. Corresponds to the third<br />

value of the OS/400 job logging level. Valid options are *MSG, *SECLVL,<br />

and *NOLIST.<br />

Specify the number of job logs to save before deleting. Determine a number<br />

that is large enough to keep job logs for a reasonable number of requests.<br />

For example, 50 job logs may not represent 50 promotion requests, as a job<br />

log generates for each target environment on the request. Thus, if you<br />

regularly promote to two environments at a time, specify 100 job logs to<br />

retain 50 requests.<br />

Specify the default job queue and library for <strong>Implementer</strong>-submitted jobs.<br />

You can change the job queue at job execution for most jobs.<br />

Initialize tape Specify Y to automatically initialize a tape before saving objects for<br />

distribution on tape media to remote systems. The default value N does not<br />

initialize tapes.<br />

Default tape device Specify the name of the tape device used to save objects on tape media for<br />

distribution to remote systems.<br />

Default volume<br />

identifier<br />

System Control Maintenance Field Descriptions: Panel 1<br />

Field Description<br />

Specify the volume identifier to use for tape initialization. Required only to<br />

distribute to remote systems on tape media when the Initialize tape field is<br />

set to Y.<br />

Volume: Specify a a six-character value for the volume ID.<br />

*NONE: Initializes the tape without a volume ID.<br />

67


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

68<br />

System Control Maintenance Field Descriptions: Panel 2<br />

Field Description<br />

Submission method for<br />

non promotion<br />

functions<br />

Lib authority to include<br />

on env<br />

Specify which utility controls the submission of non promotion type jobs<br />

such as the Build List, Reset Authorities, and Purge History functions.<br />

1=OS/400: OS/400 operating system controls job submission. This is<br />

the default value.<br />

2=ROBOT: ROBOT controls job submission.<br />

Specify a user’s ability to include libraries in an environment definition,<br />

based on the user’s OS/400 authority to the library.<br />

*ALL: Only users with *ALL authority to a library can include the library<br />

in an environment definition.<br />

*CHANGE: Only users with *CHANGE authority to a library can include<br />

the library in an environment definition.<br />

*USE: Only users with *USE authority to a library can include the<br />

library in an environment definition.<br />

*BLANK: Authority to the library is not verified.<br />

AllFusion 2E installed Specify Y if AllFusion 2E is installed to manage 2E through <strong>Implementer</strong>.<br />

Required to create special environments for AllFusion 2E, and to display<br />

related fields and function keys for AllFusion 2E. The default value is N.<br />

AS/SET installed Specify Y if AS/SET is installed to manage AS/SET through <strong>Implementer</strong>.<br />

Required to create special environments for AS/SET, and to display<br />

related fields and function keys for AS/SET. The default value is N.<br />

LANSA installed Specify Y if LANSA is installed to manage LANSA through <strong>Implementer</strong>.<br />

Required to create special environments for LANSA, and to display<br />

related fields and function keys for LANSA. The default value is N.<br />

PeopleSoft World<br />

installed<br />

Secondary message<br />

queue<br />

Allow IFS object code<br />

creation from Check<br />

Out and Create Rqs<br />

Specify Y if PeopleSoft World is installed to manage PeopleSoft World<br />

applications through <strong>Implementer</strong>. Required to create special<br />

environments for PeopleSoft World, and to display related fields and<br />

function keys for PeopleSoft World. The default value is N.<br />

If using a third party messaging product such as AOS Message Manager,<br />

specify an additional message queue to send <strong>Implementer</strong> messages.<br />

Applies to messages regarding the status of promotion steps: start, end,<br />

and abnormal end of compile, distribution, move, and final processing.<br />

Specify Y to allow the automatic creation of an IFS object code when<br />

checking out or creating a promotion request using an IFS object code<br />

that does not exist. This is useful due to the abundant number of possible<br />

extensions of IFS files. Valid for IFS objects only (create traditional object<br />

codes through Work with Object Codes).<br />

IFS object codes are created based on the extension of the object being<br />

checked out or promoted. Applies to any IFS file or directory object code<br />

that does not already exist.


Display Comments<br />

panel when performing<br />

Create Request<br />

Perform create request<br />

in batch<br />

System Control Maintenance<br />

Specify whether to display the Comments panel when creating a<br />

promotion request and enforce the entry of a descriptive comment.<br />

Y: Enables the Comments panel and requires entry of a comment. This<br />

is the default value.<br />

N: Disables the Comments panel.<br />

This feature is mutually exclusive of promoting objects associated with an<br />

issue or design request, whereby the comments associated with the<br />

primary issue or DR are added to the promotion request.<br />

Specify whether to create promotion requests interactively or in batch.<br />

Causes less interactive edit processing and expedites the create request<br />

process by placing most edit checks, validation, and processing in the<br />

submitted job. Useful when promoting multiple items on a request or<br />

when issuing multiple requests.<br />

Y: Request processing occurs in batch. This is the default value.<br />

N: Request processing occurs interactively.<br />

Optimize PFs promotion Specify whether to optimize the promotion of physical files. For details on<br />

this feature, see the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> User <strong>Guide</strong>.<br />

Y: Optimizes physical file promotions to reduce processing time.<br />

N: Does not optimize physical file promotions (uses traditional file<br />

promotion).<br />

Maintain X-env related<br />

objects<br />

Specify whether to maintain related objects across environments and<br />

allow <strong>Implementer</strong> to automatically generate secondary requests for each<br />

environment related objects are found in.<br />

Y: Enables cross-environment related object processing and<br />

secondary requests for cross-environment related objects.<br />

N: Disables cross-environment related object processing and<br />

automatic secondary requests. This is the default value.<br />

After you change this value from N to Y and press ENTER to update your<br />

selection, a message instructs you to run the Build List function. Type Y to<br />

activate the feature, or N to return without activating the feature. For<br />

details, see “Maintain X-env related objects” on page 69.<br />

NOTE For details on related object processing based on the development path for<br />

QA environments, see “Add related objects from path” on page 72.<br />

Continue rqs if X-env<br />

error<br />

System Control Maintenance Field Descriptions: Panel 2<br />

Field Description<br />

When maintaining cross-environment related objects, specify how<br />

<strong>Implementer</strong> handles a primary request if an error occurs while<br />

generating secondary requests for cross-environment related objects.<br />

Requires the Maintain X-env related objects field set to Y.<br />

Y: Primary request continues processing if errors occur while<br />

generating secondary requests.<br />

N: Primary request ends in failure if an error occurs while generating<br />

secondary requests.<br />

69


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

70<br />

System Control Maintenance Field Descriptions: Panel 3<br />

Field Description<br />

Activate issue object<br />

stamping<br />

Specify whether <strong>Implementer</strong> automatically stamps each object with the<br />

issue or DR number the object is checked out with. To ensure stamping<br />

of both new and existing objects, stamping occurs in the three stages<br />

that allow object creation: check out, compile from the Workbench, and<br />

promotion. For details, see page 145.<br />

Y: Enables object stamping. When multiple locks exist with multiple<br />

issues or DRs, the object is stamped with the primary number<br />

associated with the initial lock.<br />

N: Disables object stamping. This is the default value.<br />

NOTE When <strong>MKS</strong> Integrity is the issue management system, this field name is<br />

Activate issue object stamping. When DesignTracker is the issue management<br />

system, the field name is Activate DR object stamping.<br />

Activate object version<br />

stamping<br />

Assign native version<br />

number at<br />

Specify if <strong>Implementer</strong> automatically stamps each object, lock, and<br />

repository record with a unique version number at defined stages within<br />

the development cycle. For details, see page 146.<br />

Y: Enables object version stamping. You must define the remaining<br />

fields on this panel as described. This is the required value for the<br />

Build List function to assign revision numbers to unstamped objects.<br />

For details, see “Environment Repository Build” on page 117.<br />

N: Disables object version stamping. This is the default value.<br />

If the Activate object version stamping field is set to Y (active), specify<br />

the versioning method.<br />

1=checkout only:<br />

Assigns the version number during check out. Implements a wholenumber<br />

versioning scheme (no decimal). For example, checking out<br />

version 2 of an object in production to a *TST environment increments<br />

the version number to 3. Each new concurrent development lock<br />

increments the version by 1 (for example, 4, 5, 6). When promoted<br />

back to production, the version is set to that of the last *QAC object<br />

version.<br />

2=checkout and promotion to *PRD environments:<br />

Assigns the version number in check out and promotion to *PRD<br />

environments. Implements a decimal number versioning scheme<br />

using both the left and right side of the decimal. For example, checking<br />

out version 2.0 of an object in production to a *TST environment<br />

increments the version number to 2.1. Each new concurrent<br />

development lock increments the right side of the decimal by 1 (for<br />

example, 2.2, 2.3, 2.4). When promoted back to production, the<br />

version is set to 3.0 (the left side of the decimal is updated only when<br />

promoted to production).<br />

3=user defined:<br />

Assigns the version number based on a custom, user-defined<br />

versioning method. Requires a Versioning program name and Library<br />

name as described next.


System Control Maintenance<br />

NOTE If <strong>MKS</strong> Source integration is enabled, the native revision number scheme<br />

applies only to objects and items not archived in <strong>MKS</strong> Source. If <strong>MKS</strong> Source<br />

integration is not enabled, the native revision number scheme applies to all items.<br />

Versioning program Specify the name of a custom versioning program to call to perform<br />

object version stamping. Required if versioning is active and the Assign<br />

native version number at field is set to 3=user defined.<br />

IMPORTANT If the custom program references objects, for example, files or data<br />

areas, the library list for the <strong>Implementer</strong> job description MWIJOBD and each<br />

user’s interactive library list must include the library containing those objects.<br />

Library Specify the library location of the custom versioning program. Required if<br />

versioning is active and the Assign native version number at field value<br />

is 3=user defined. Valid options are a specific library name, *LIBL, or<br />

*CURLIB.<br />

Concurrent<br />

Development Scope<br />

System Control Maintenance Field Descriptions: Panel 3<br />

Field Description<br />

Specify which locks establish concurrent development—either all locks<br />

from all production environments, or only those locks from the same<br />

production environment as the current check out From environment.<br />

1=All Production Env:<br />

Concurrent development is based on locks from all production<br />

environments. Activates concurrent development for the current check<br />

out, if, among all existing locks, a lock exists for the same member/<br />

object and object code.<br />

2=Per Production Env:<br />

Concurrent development is based only on locks from the same<br />

production environment as the check out From environment. Activates<br />

concurrent development for the current check out if a lock exists for the<br />

same member/object and object code and the same production<br />

environment as the current check out From environment. This is the<br />

default value.<br />

To define a user’s environment capabilities for concurrent development,<br />

see “Locks” on page 110. To further customize concurrent development<br />

processing, see “Customizing <strong>Implementer</strong>” on page 414.<br />

71


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

Users<br />

72<br />

Add related objects<br />

from path<br />

System Control Maintenance Field Descriptions: Panel 3<br />

Field Description<br />

For requests that target a *QAC environment, specify whether to<br />

automatically add related objects that exist in environments higher on the<br />

promotion path. Allows you to recompile related objects that exist in<br />

production without creating locks for the objects.<br />

Y: Searches the current promotion path to locate related objects not in<br />

the target *QAC environment or on the current promotion request.<br />

Related objects are added to the request and recompiled in the QA<br />

environment (locks are not created for these objects). Requires the<br />

production environment’s Add related objects to rqs field set to Y. For<br />

details, see page 86.<br />

N: Does not search forward on the path to locate related objects. This<br />

is the default value.<br />

Domino server URL For Lotus Domino integration and database signing, specify the Lotus<br />

Domino server URL that <strong>Implementer</strong> uses when invoking actions that<br />

can only be performed within Domino. Must be a valid URL notation that<br />

includes subdirectories required to find the <strong>Implementer</strong> utility database,<br />

for example, http://servername.domain:port/subdir.<br />

For details on setting up Domino, see “Lotus Domino Integration” on<br />

page 336.<br />

Default SMTP Server For notifying users of promotion request status through e-mail sent as<br />

request special command. Specify the default SMTP server used by the<br />

ISNDMAIL command. The value must be an IP address or host name,<br />

for example, 127.1.1.1 or localhost. Requires Java 1.3 or later<br />

installed on your iSeries.<br />

Requires the Send eMail Message (ISNDMAIL) command set up as an<br />

<strong>Implementer</strong> special command. For details, see the <strong>MKS</strong> <strong>Implementer</strong><br />

<strong>2006</strong> User <strong>Guide</strong>.<br />

This task allows you to enroll OS/400 user profiles into <strong>Implementer</strong>. You must enroll each<br />

user of <strong>Implementer</strong> before they can access and use the features. When enrolling a user, you<br />

also define the <strong>Implementer</strong> user authorities that control the features and functions the user<br />

is allowed to perform. For a table of suggested field values for the different roles each type of<br />

user performs, see “Typical Values for Different User Roles” on page 78.<br />

You can enroll users individually or under a group profile. Perform this task during the<br />

initial setup of <strong>Implementer</strong> or any time after installation when you need to add, change, or<br />

delete a user profile.<br />

NOTE Some user profile fields, as noted, apply to using <strong>Implementer</strong> with<br />

<strong>MKS</strong> Integrity for issue tracking. For details, see “User Profile Setup” on page 235.


To create or work with users<br />

1 From the <strong>Implementer</strong> Menu, type 41, or type STRIM (*WRKUSR) at the command line<br />

and press ENTER to display the Work with User Profiles panel.<br />

2 To change an existing profile, type option 2 and press ENTER.<br />

To create a new user profile, press F6=Create, or type 3 in the Opt field of an existing<br />

user and press ENTER to copy the user profile information into a new user profile.<br />

The Create User Profile panel displays. The following example illustrates the default<br />

field values when creating a new user profile.<br />

Users<br />

3 Complete the required fields as defined in the following tables of Create User Profile<br />

Field Descriptions. When you reach the end of a panel, press PAGE DOWN to display the<br />

additional panels.<br />

4 When finished, press ENTER to add or update the record. The initial Work with User<br />

Profiles panel displays.<br />

73


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

74<br />

Field Description<br />

Create User Profile Field Descriptions: Panel 1<br />

User Profile Specify the name and a description for the user profile. You can edit a<br />

name only when enrolling a new profile. You cannot rename existing user<br />

profiles.<br />

<strong>MKS</strong> Integrity User ID Specify the name this user logs on with to access the <strong>MKS</strong> Integrity<br />

Server. Field is valid only when <strong>MKS</strong> Integrity is used for issue tracking or<br />

<strong>MKS</strong> Source is used for source archiving. For details, see “User Profile<br />

Setup” on page 235, and “<strong>Implementer</strong> and <strong>MKS</strong> Source Integration” on<br />

page 259.<br />

*USRPRF: The <strong>MKS</strong> Integrity user ID defaults from the user’s iSeries<br />

user profile. This is the default value.<br />

Name: Specify the valid <strong>MKS</strong> Integrity user ID. The value *NONE is not<br />

authorized to access <strong>MKS</strong> Integrity.<br />

Programmer/env admin options<br />

The following fields, in conjunction with user capabilities by environment on page 109, define the<br />

user’s access to functions used on a daily and emergency basis.<br />

Check out Specify if this user has authority to use the Check Out option on the menu<br />

or command interface. Developers usually use the Check Out function.<br />

The default value is Y.<br />

Create request Specify if this user has authority to use the Create Request option on the<br />

menu or command interface. Developers usually use the Create Request<br />

function. The default value is Y.<br />

Compile requests Specify if this user has authority to use the Compile Requests option on<br />

the menu or command interface. Developers usually use the Compile<br />

Requests function. The default value is Y.<br />

Project maintenance Specify if this user has authority to use the Projects option on the menu.<br />

Project leaders usually use this function. The default value is N.<br />

Emergency check out Specify if this user has authority to use the Emergency Check Out<br />

function on the menu. The default value is N.<br />

Emergency create<br />

request<br />

Specify if this user has authority to use the Emergency Create Request<br />

function on the menu. The default value is N.<br />

Move requests Specify if this user has authority to use the Move Requests option on the<br />

menu or command interface. Project leaders usually use this function.<br />

The default value is N.<br />

Setup options<br />

The following fields define the user’s access to functions such as data maintenance and system and<br />

environment configuration defaults. The default value for each of these options is N (not allowed).<br />

User profile<br />

maintenance<br />

Specify if this user has authority to change user profile information in<br />

Work with Users.<br />

Host env maintenance Specify if this user has authority to change environment information in<br />

Work with Environments.


Field Description<br />

Network configuration Specify if this user has authority to use the Network Configuration menu<br />

option.<br />

Object code<br />

maintenance<br />

System control<br />

maintenance<br />

Remote env<br />

maintenance<br />

Specify if this user has authority to change object code information in<br />

Work with Object Codes.<br />

Specify if this user has authority to use the System Control menu option.<br />

Specify if this user has authority to change the system name on an<br />

existing environment.<br />

User controls<br />

The following fields define whether the user is authorized to override certain default values when<br />

promoting. The default value for each of these options is N (not allowed).<br />

Override standard paths Specify if this user has authority to change the standard path option on<br />

the menu or command interface. An application path (standard or<br />

emergency) automatically determines the from and target promotion<br />

locations based on the current location of an object. For a description of<br />

path setup, see page 102.<br />

Override emergency<br />

paths<br />

<strong>MKS</strong> Integrity<br />

emergency update<br />

Override<br />

remove from objs<br />

Override<br />

remove from src<br />

Create User Profile Field Descriptions: Panel 1<br />

Specify if this user has authority to change the emergency path option on<br />

the menu or command interface.<br />

Users<br />

Specify if this user has authority to activate and de-activate the<br />

<strong>MKS</strong> Integrity emergency update mode. This allows the user to change<br />

the value of the <strong>MKS</strong> Integrity Emergency Update Active field on the<br />

Change User defaults panel accessed from either Work with Users using<br />

option 20=User Defaults or the Workbench using F18=User Defaults.<br />

Y: User has authority to activate and de-activate emergency update<br />

mode.<br />

N: User does not have authority to emergency update mode.<br />

Specify if this user has authority to change the Remove obj in from lib/<br />

env field when creating a promotion request. a<br />

Specify if this user has authority to change the Remove src in from lib/<br />

env field when creating a promotion request. a<br />

a Pertains to deleting members/objects in a From library or environment after promotion (user profile<br />

defaults are defined on the second Work with User Profile panel). For details, see “Removing Source<br />

and Objects After Promotion” on page 92.<br />

75


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

76<br />

Field Description<br />

Create User Profile Field Descriptions: Panel 2<br />

Defaults for check out and create request<br />

The following fields define the check out and promotion defaults for the user. The Chg field allows you<br />

to define whether the user can override the default value in the corresponding function. For example,<br />

specify a default target environment for promotion and specify Y in the Chg field allows the user to<br />

change the target environment when creating a request.<br />

NOTE When using a standard or emergency path to identify the check out or<br />

promotion location, the path values have precedence. The path value *USRPRF<br />

defaults the development environment or library from the user profile. This<br />

provides user-specific development locations, allowing you to control the default<br />

promotion locations.<br />

Check out from env Specify the default environment this user checks out from (usually a<br />

production environment).<br />

Development library Specify the default development library this user checks out to and<br />

promotes from. The library must not be defined to an <strong>Implementer</strong><br />

environment. Development library and development environment are<br />

mutually exclusive (personal development libraries are used when<br />

environments are not). <strong>MKS</strong> suggests using environments in place of<br />

personal libraries.<br />

Development env Specify the default development environment this user checks out to and<br />

promotes from. The development library and development environment<br />

are mutually exclusive.<br />

Crt rqs target env Specify the default primary environment this user promotes to (usually<br />

production or QA environment.) Mutually exclusive of Crt rqs tgt env grp<br />

field.<br />

Crt rqs tgt env grp Specify the existing default target environment group when this user<br />

creates a promotion request. Mutually exclusive of Crt rqs target env field.<br />

Project reference Specify the name of the default project when checking out or creating a<br />

promotion request. For example, when a developer is assigned to a<br />

general project or a single project for a long period, the developer does<br />

not have to repeatedly specify the project value.<br />

If the project has a defined application path, that path is the default when<br />

this user performs check out and create request. For details, see “Projectbased<br />

Application Paths” on page 142.<br />

Remove obj in from<br />

library<br />

Specify whether to automatically delete or retain objects in the from library<br />

after successful promotion.<br />

Y: Deletes objects after promotion. This is the default value.<br />

N: Retains objects after promotion. Authority to override this default<br />

when creating a request is defined in the User Controls fields on the<br />

previous panel.


Field Description<br />

Remove src in from<br />

library<br />

Enable one step<br />

checkout<br />

Enable one step<br />

promotion<br />

Specify whether to automatically delete source in the from library after<br />

successful promotion.<br />

Y: Deletes source after promotion. This is the default value.<br />

N: Retains source after promotion. Authority to override this default<br />

when creating a request is defined in the User Controls fields on the<br />

previous panel.<br />

Users<br />

Specify the default check out method: one step or traditional. The one<br />

step method processes the check out transparent to the user. The<br />

traditional method requires more steps and processing of the Check Out<br />

panel. For details, see the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> User <strong>Guide</strong>.<br />

Y: Enables one step checkout. This is the default value.<br />

N: Enables traditional checkout.<br />

Specify the default promotion method: one step or traditional. The one<br />

step method performs promotion processing transparent to the user. The<br />

traditional method requires more steps and processing of the Create<br />

Request panel. For details, see the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> User <strong>Guide</strong>.<br />

Y: Enables one step promotion. This is the default value.<br />

N: Enables traditional promotion.<br />

Conflict msg queue Specify a message queue to receive a message notify when a check out<br />

causes a conflict with a lock for this user (when a member/object checked<br />

out by this user is concurrently checked out by another user). The<br />

developer is notified that concurrent development is in process—a conflict<br />

with their lock now exists and must be resolved before promoting the lock.<br />

Useful for a group profile to ensure all messages are observed.<br />

Specify *USRPRF to default the message queue from the users OS/400<br />

user profile, or specify the name of an existing message queue.<br />

Library Specify the library containing the user’s message queue.<br />

Issue Management<br />

System<br />

Create User Profile Field Descriptions: Panel 2<br />

Specify the current issue management system for this user. Only used<br />

when co-existing to allow certain users to use <strong>MKS</strong> Integrity while others<br />

use DesignTracker.<br />

1=Default: The user uses the default issue management system.<br />

2=DesignTracker: When the default issue management system is<br />

<strong>MKS</strong> Integrity, allows the user to temporarily use DesignTracker.<br />

For details, see “<strong>Implementer</strong> and <strong>MKS</strong> Integrity Integration” on page 196.<br />

77


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

Typical Values for Different User Roles<br />

78<br />

Field Description<br />

Create User Profile Field Descriptions: Panel 3<br />

Product / Customer Options<br />

Specify Y to authorize this user profile to maintain the following product and customer records used<br />

for release management and <strong>MKS</strong> Source archiving (if enabled). The default value is N. For details,<br />

see the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> Release Management <strong>Guide</strong>.<br />

Maintain products Authority to maintain products.<br />

Maintain product versions Authority to maintain product versions.<br />

Maintain customers Authority to maintain customer records.<br />

The following table describes the most common users involved with <strong>Implementer</strong>, and the<br />

suggested options to define for each type of user. You can change these suggested values to<br />

meet your specific needs.<br />

Capability Option Administrator<br />

Programmer/env admin options<br />

Project<br />

Leader<br />

Developer QA<br />

Check out Y Y Y N<br />

Emergency check out Y Y N N<br />

Create request Y Y Y Y<br />

Emergency create request Y Y N N<br />

Compile requests Y Y Y N<br />

Move requests Y Y N N<br />

Project maintenance Y Y N N<br />

Setup options<br />

User profile maintenance Y N N N<br />

Object code maintenance Y N N N<br />

Host env maintenance Y N N N<br />

System control maintenance Y N N N<br />

Network configuration Y N N N<br />

Remote env maintenance Y N N N<br />

User controls<br />

Override standard paths Y Y N N


Capability Option Administrator<br />

Override emergency paths Y Y N N<br />

Override remove from obj Y Y N N<br />

Override remove from src Y Y N N<br />

Defaults for check out and create request<br />

Check out from env Y Y Y N<br />

Develop lib. (or Env. below) Y Y Y N<br />

Develop env. (or Library above) Y Y Y N<br />

Crt rqs target env (or Env Group below) Y Y Y Y<br />

Crt rqs target env grp (or Env above) Y Y Y Y<br />

Project reference Y Y Y Y<br />

Remove obj in from library Y Y Y Y<br />

Remove src in from library Y Y Y Y<br />

Enable one step checkout Y Y Y Y<br />

Enable one step promotion Y Y Y Y<br />

Products / Customer Options<br />

Common Questions<br />

How much authority should be given to developers?<br />

Developers should be able to check out, create a request, compile a request, and access the<br />

Workbench. Usually, you do not allow developers to move a request or perform setup<br />

functions.<br />

If users are restricted through <strong>Implementer</strong> to specific environments, is it possible for them to access<br />

libraries outside of the product?<br />

Yes. To restrict a user from a specific library outside of <strong>Implementer</strong>, use standard OS/400<br />

security by using the Edit Object Authority (EDTOBJAUT) command to specify the user’s<br />

authority to the library.<br />

Should a developer be allowed to change the default path?<br />

Project<br />

Leader<br />

Developer QA<br />

Maintain Products Y Y Y Y<br />

Maintain Product Versions Y Y Y Y<br />

Maintain Customers Y Y Y Y<br />

Users<br />

This depends on how strictly your company wants to control member/object location along a<br />

predefined path during development.<br />

79


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

User Profile Object Code Overrides<br />

80<br />

Users have access to all object codes defined to an environment, as well as rights to promote<br />

any type of object. This is an optional task that allows you to place restrictions on a user’s<br />

access rights. For example, you may want to restrict the PF object code, as, typically, only a<br />

Database Administrator (DBA) has authority to promote physical files. To limit the number<br />

of users who can act as a DBA, you can disallow a user’s access to the PF object code.<br />

To change object code overrides for a user<br />

1 From the Work with User Profiles panel, type 8=Object code overrides next to the user<br />

profile and press ENTER. The Change User Profile - Object Codes panel displays.<br />

2 In the Allow Code field, type N for each object code you do not want this user to access,<br />

and press ENTER. The Work with User Profiles panel displays.<br />

User Profile Environment Capabilities<br />

Environment capabilities allow you to tailor each user’s authorities to specific environments.<br />

For example, you can enable multiple users to have move capabilities for an environment, or<br />

enable select users to perform emergency functions for an environment.<br />

You typically perform this task when you initially install and configure <strong>Implementer</strong>, after<br />

setting up the environment (not when you set up the user profile). The task is mentioned here<br />

within the Work with Users topic because you need to complete it after you create an<br />

environment. You also perform this task for a new user for existing environments. The<br />

functionality and setup are the same in both Work with Users and Work with Environments.<br />

<strong>Implementer</strong> provides two options for defining user environment capabilities:<br />

The <strong>Implementer</strong> Menu options provide standard iSeries entry screens. For details on<br />

this option and the environment capabilities task, see “Environments and User<br />

Capabilities” on page 109.<br />

The Capability Wizard is a graphical user interface (GUI) tool designed to minimize the<br />

maintenance of user authorities in <strong>Implementer</strong>. Administrators or anyone responsible<br />

for working with user authorities in <strong>Implementer</strong> can benefit from using this time saving<br />

tool. You must add new users through the <strong>Implementer</strong> Menu option. Once added, you<br />

can maintain the profiles with the Capability Wizard. The major advantage to using the<br />

Capability Wizard over the Work with Users function is that it allows you to set<br />

capabilities for multiple users and environments concurrently. For details, see “User<br />

Capability Wizard” on page 385.


Environments<br />

Environments<br />

An environment identifies a collection of libraries, object owners, authorized users, and rules<br />

of the libraries that make up one or more applications controlled by <strong>Implementer</strong>.<br />

Environments are an important concept in <strong>Implementer</strong>, as they automate many common<br />

tasks and the organization of your system.<br />

<strong>Implementer</strong> supports the following three environment types:<br />

Production (*PRD)<br />

Quality Assurance (*QAC)<br />

Test (development) (*TST)<br />

The *PRD environment is under tight control in <strong>Implementer</strong>. It is the final production<br />

version. You cannot check out to a *PRD environment or to a library defined to a *PRD<br />

environment. *PRD environments usually use program and/or database libraries that are in<br />

the end user’s library list. The major difference between a *PRD and *QAC environment<br />

relates to the move; when the move to a *PRD environment is complete, member/object locks<br />

are released—this is not the case for a *QAC environment.<br />

A *QAC environment is also under tight control in <strong>Implementer</strong>. It is not the final production<br />

version. You cannot check out to a *QAC environment or to a library that is defined in a<br />

*QAC environment. Examples of *QAC environments are: libraries used for system testing<br />

by developers, libraries used by a separate quality assurance group, and libraries used for<br />

user acceptance testing.<br />

A *TST environment is considered a developer’s set of libraries. <strong>Implementer</strong> does not<br />

control these libraries as tightly as *PRD or *QAC. For example, you can check out to a *TST<br />

environment or to a library not defined to any environment, whereas you cannot check out to<br />

libraries that are defined in *PRD or *QAC environments. This is typically considered a<br />

development environment.<br />

<strong>MKS</strong> recommends you define production environments. However, to fully capitalize on<br />

<strong>Implementer</strong>’s robust features and benefits, you should define environments for all<br />

application libraries.<br />

Key Considerations<br />

At a minimum, define a production environment that is used to manage the related<br />

application libraries. For the basic setup of common environment scenarios, see<br />

“Environment Examples” on page 417.<br />

Define all environments for an application before using any environment for that<br />

application.<br />

Define an environment before adding it to an environment group.<br />

81


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

82<br />

Define an environment before defining related environments, paths, CASE applications,<br />

or scheduling.<br />

Define from and target environments for check out. <strong>Implementer</strong> also supports checking<br />

out from an environment to a library.<br />

Authorize the user profiles that may access the new environment. Change the user<br />

profile in Change User Capabilities, accessed through Work with Environments, Work<br />

with Users, or the Capability Wizard.<br />

When setting up to archive, set the number of archive versions to 99 for each applicable<br />

environment to ensure every change to an object is always available in an archive. This<br />

enables the retention of 99 changes for a single object in an environment, without having<br />

to save them to tape in between, and ensures an older archive in the archive library is not<br />

replaced with a new copy. Normally, however, archives on the system would not be<br />

allowed to grow that large, and, would be saved off more regularly to make the archive<br />

disk space available.<br />

If using the <strong>MKS</strong> Source integration, conventions apply to environment names you use.<br />

The environment name must be representable on the file system of the operating system<br />

hosting the server for <strong>MKS</strong> Source. The environment name must start with a letter A–Z<br />

and continue with a contiguous sequence of letters A–Z, numbers 0–9, or underscores<br />

‘_’.<br />

In System Control Maintenance, review the library authority parameter for a user’s<br />

ability to include libraries in environment definitions. For more information, see the<br />

table of field descriptions on page 68.<br />

To create or change an environment<br />

1 From the <strong>Implementer</strong> Menu, type option 42, or type STRIM (*WRKENV) at the<br />

command line and press ENTER to display the Work with Environments panel.<br />

2 From the Work with Environments panel, do one of the following:<br />

Press F6=Add to create a new environment on the Create Environment panel.<br />

Type 2 in the Option field next to an existing environment and press ENTER to<br />

display the Change Environment panel.<br />

Type 3 in the Option field of an existing environment and press ENTER to create a<br />

new environment by copying the selected environment.


Environments<br />

3 Complete the fields as described in the following tables of Create Environment Field<br />

Descriptions. Press PAGE DOWN to access the additional panels.<br />

4 When finished, press ENTER to add or update the environment.<br />

Field Description<br />

Create Environment Field Descriptions: Panel 1<br />

Environment Specify the name of the environment. You can enter a name only when<br />

creating a new environment. You cannot change the name of an existing<br />

environment.<br />

Description Type a brief description for the environment.<br />

Administrator Specify a user profile that has authority to Move Requests for this<br />

environment. To the right of this field is the description of the administrator.<br />

Env type Specify whether the environment is Production (*PRD), Quality Assurance<br />

(*QAC), or Test (*TST) environment.<br />

*PRD: You can check out from and promote to a *PRD environment. You<br />

cannot check out to a *PRD environment or to a library defined to a<br />

*PRD environment, or promote from a *PRD environment.<br />

*QAC: You can promote to and from a *QAC environment. You cannot<br />

check out to a *QAC environment or to a library defined to a *QAC<br />

environment.<br />

*TST: You can check out to a *TST environment or to a library not<br />

defined to any environment. You can promote from a *TST environment.<br />

You cannot check out to libraries that are defined in *PRD or *QAC<br />

environments, or promote to *TST environments. A *TST environment is<br />

considered a developer’s set of libraries.<br />

83


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

84<br />

Field Description<br />

Library Defaults<br />

The following fields define the default values <strong>Implementer</strong> uses when you create a promotion request<br />

and specify this environment as the primary target environment.<br />

Name Specify the name of the corresponding library on the system.<br />

Library owner Specify the user profile who owns the corresponding library. This field must<br />

be blank if the Library field is *NONE. The Reset Authorities function uses<br />

this value to change the library owner. If environment libraries do not exist<br />

when targeted in promotion, <strong>Implementer</strong> creates the libraries and assigns<br />

this value as the library owner.<br />

Obj owner Specify the user profile who owns the objects in the corresponding library.<br />

The field must be blank if the Library field is *NONE. The Reset Authorities<br />

function uses this value to assign the object owner. If source files do not<br />

exist in promotion, <strong>Implementer</strong> creates the source files and assigns this<br />

value as the object owner. If an object being moved has *GRANT authority,<br />

<strong>Implementer</strong> uses this value when moving objects into the environment.<br />

Typically, the default value is *KEEP.<br />

Archive Versions/<br />

Archive Category<br />

Create Environment Field Descriptions: Panel 1<br />

The field name is Archive Versions for all environments, except for release<br />

management environments the field name is Archive Category.<br />

Archive Versions is the number of archive versions to save for this type of<br />

object or member. Supports up to 99 archive versions of each. You can<br />

archive for the program library, files library, and source library.<br />

To archive PeopleSoft World soft coding items, specify a value in this field<br />

and complete the Source library fields. To archive AS/SET definitions to an<br />

AS/SET archive application set, specify the number of levels in the Archive<br />

versions field for the source library.<br />

Archive Category allows any of the following values:<br />

0=None: Does not archive.<br />

1=Standard Only: Archives the standard release category only.<br />

2=PTF: Archives the PTF release category only.<br />

3=Standard and PTF: Archives both standard and PTF releases.<br />

Program library Specify the library that contains the programs and device files, such as<br />

display and printer files. Often referred to as the program or object library.<br />

If the environment contains only database objects, specify *NONE.<br />

Files library Specify the library that contains the physical and logical files. If the<br />

environment does not contain database objects, specify *NONE.<br />

Source library Specify the library that contains the source members for the objects in the<br />

two preceding environment libraries.<br />

To archive PeopleSoft World soft coding items, define values in the Source<br />

library fields and the Archive Versions field.


Field Description<br />

Environments<br />

Archive library Specify the library to contain the archived versions of source/objects. Only<br />

required when archiving objects. You must specify a library name to add<br />

the number of versions in the Archive versions field.<br />

AS/SET definitions and generated traditional objects are managed<br />

independently and require separate archive locations for traditional objects<br />

and definitions.<br />

The value *CALC applies to primary release management environments.<br />

For details, see the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> Release Management <strong>Guide</strong>.<br />

Create Request defaults<br />

The following fields define the default values when creating a promotion request for this environment.<br />

The Chg field defines whether the user can override the default value when creating a request.<br />

Compile required Specify whether to compile all source-based objects using the Compile<br />

Requests function before moving the objects into this environment. Ensure<br />

the objects compile with the correct library list.<br />

Y: Objects compile before the move.<br />

N: Bypasses the Compile Request function. After creating a request,<br />

you can move the objects into this environment using the Move<br />

Requests function. Use this option for AS/SET definitions and LANSA<br />

objects.<br />

Auto submit in<br />

create rqs<br />

Create Environment Field Descriptions: Panel 1<br />

Specify whether to automatically submit the promotion when creating a<br />

request.<br />

Y: Promotions automatically submit.<br />

N: Promotions are held. To promote the request use: Compile Request,<br />

Move Request, or Move Requests by System/Environment.<br />

Through step Specify how many steps of the promotion to perform when auto-submitted<br />

from Create Request. Each subsequent step includes the prior step, for<br />

example, compile includes model copy, distribute includes model copy and<br />

compile, and move includes model copy, compile, and distribute. If using<br />

promotion scheduling, it is performed for the last step specified as the<br />

submit through step.<br />

1=Export: Valid only for LANSA environments. Exports LANSA objects<br />

on the request to a save file. Verify successful completion of the process<br />

by manually reviewing the export reports generated by LANSA.<br />

2=Compile: Valid only when Compile required = Y.<br />

3=Distribute: Valid only for remote environments.<br />

4=Move: No special edits.<br />

85


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

86<br />

Field Description<br />

Add related objects<br />

to rqs<br />

Field Description<br />

Specify whether to add related objects to a request before promotion.<br />

Ensures objects are promoted without level checks in production. For<br />

example, when promoting a physical file or display file, all programs that<br />

reference the PF or any related LFs are added to the request before the<br />

compile step with an action of 9 for Recompile. <strong>Implementer</strong> uses the<br />

source in this environment to recompile the program against the changed<br />

physical file, thus avoiding the possibility of a level check.<br />

When a request targets multiple environments, the derived related objects<br />

are based on the primary environment. If this environment is a secondary<br />

environment for a request, the related objects are added based on the<br />

value of this field in the primary environment, not this environment.<br />

Y: Adds all related objects to the request. This is required to add related<br />

objects from the development path without locking the objects. For<br />

details, see page 72.<br />

N: Bypasses related object processing. For physical files, <strong>Implementer</strong><br />

adds the logicals to the request even when N is specified.<br />

Create Environment Field Descriptions: Panel 2<br />

Create Request options<br />

The following fields define additional defaults for the environment.<br />

Check out required Specify if users must check out a member/object in this environment before<br />

it can be placed on a promotion request.<br />

Y: Check out is required.<br />

N: Check out is not required.<br />

Allow authority<br />

overrides<br />

Create Environment Field Descriptions: Panel 1<br />

Specify if users can change the authority method of this environment when<br />

creating a promotion request.<br />

Y: Authority method can be changed.<br />

N: Authority method cannot be changed. All moves into the environment<br />

use the default authority method defined for the object code.


Field Description<br />

Environment information<br />

Specify the following default information for the environment.<br />

Environments<br />

Special environment Displays the special environment type for the environment. Pertains to the<br />

installed CASE tools specified in System Control. The value updates<br />

based on the third party product details in Work with Environments options<br />

10=AllFusion 2E, 11=AS/SET, 12=LANSA, or 16=PeopleSoft World.<br />

Standard: Not a special environment. This is the default value.<br />

ALLFusion: AllFusion 2E special environment.<br />

AS/SET: AS/SET special environment.<br />

LANSA: LANSA special environment.<br />

PeopleSoft: PeopleSoft World special environment.<br />

You can change a special environment to different special environment<br />

type by first removing the special environment details to establish it as a<br />

standard environment. For details, see “Third Party Integration<br />

Prerequisites” on page 107, and “Third Party Integrations” on page 303.<br />

Issue or Design rqs<br />

rqd in check out<br />

Project reference<br />

required<br />

Retain error-free<br />

joblogs<br />

Remove obj in from<br />

lib/env<br />

and<br />

Remove src in from<br />

lib/env<br />

Create Environment Field Descriptions: Panel 2<br />

Specify if an issue (<strong>MKS</strong> Integrity installed) or a design request<br />

(DesignTracker installed) is required to check out an item from this<br />

environment. Applies only to traditional *PRD environments and<br />

AllFusion 2E *TST environments.<br />

Y: Issue (or DR) is required.<br />

N: Issue (or DR) is not required. This is the default value.<br />

Specify if a project reference is required to check out a member/object from<br />

this environment.<br />

Y: Project reference is required.<br />

N: Project reference is not required. This is the default value. It is the<br />

required value for *TST environments.<br />

Specify whether to retain the job log in the <strong>Implementer</strong> database for any<br />

job processed for this environment.<br />

Y: Retains job logs.<br />

N: Deletes job logs when the related job completes normally. Retains<br />

the job log if a job terminates abnormally to assist with resolution<br />

Specify whether to delete objects and source from the environment<br />

libraries after successful promotion from this environment (must be a local<br />

*TST or *QAC environment). The value defined here is the default value for<br />

the corresponding fields in Create Request. For details, see “Removing<br />

Source and Objects After Promotion” on page 92.<br />

1=always: Automatically deletes objects and/or source. This is the<br />

default value.<br />

2=never: Retains objects and/or source.<br />

3=per obj code: Validates each object code to the environment’s object<br />

code overrides.<br />

87


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

88<br />

Field Description<br />

Maintain related<br />

object info<br />

Specify whether to maintain related object information for the environment.<br />

Y: Maintains related object information. Required value to check out<br />

related objects and add related objects to a request.<br />

N: Bypasses related object information.<br />

Source of information Specify which product maintains related object information for the<br />

environment.<br />

1=<strong>Implementer</strong>: <strong>Implementer</strong> uses the Display Program Reference<br />

(DSPPGMREF) command to generate and maintain related object<br />

information. Initially, the related information for an environment is<br />

processed by the Build List function; thereafter, it automatically updates<br />

during the move step. Displays related objects for file (*FILE) and data<br />

area (*DTAARA) object types. When activating this feature for the first<br />

time, you must run the Build List for the environment to establish the<br />

initial related object information (or use PathFinder).<br />

2=Pathfinder: PathFinder generated information is used. Automatically<br />

updates PathFinder as objects move in and out of libraries documented<br />

by PathFinder. Displays related objects for any object type. Define the<br />

remaining fields for PathFinder to maintain related object information.<br />

Pathfinder X-ref library Specify the PathFinder x-ref library to store related object information if<br />

related objects are maintained by PathFinder.<br />

Name: Specify the PathFinder x-reference library. You must run the build<br />

within PathFinder for the library before defining it here.<br />

*DEFAULTS: Uses the object x-ref files for the library specified in the<br />

PathFinder Object X-ref library field in the PathFinder user defaults.<br />

Update Pathfinder X-ref Specify whether <strong>Implementer</strong> automatically updates PathFinder<br />

information during request promotion.<br />

Y: Automatically updates PathFinder. Specify a value in the DOCLIBL for<br />

X-ref updates field.<br />

N: Bypasses PathFinder updates.<br />

DOCLIBL for X-ref<br />

updates<br />

Create Environment Field Descriptions: Panel 2<br />

Specify the documentation library list defined in PathFinder that contains<br />

the names of the libraries with object cross references.<br />

Name: Specify the name of an alternate documentation library list.<br />

*DEFAULTS: Uses the DOCLIBL specified in user defaults for one of the<br />

following: alternate name, *USER, *STANDARD, or *ALL parameters.<br />

*USER: Uses the DOCLIBL defined in the user profile.<br />

*STANDARD: Uses the DOCLIBL for the standard values.


Field Description<br />

<strong>MKS</strong> Integrity issue state<br />

Create Environment Field Descriptions: Panel 3<br />

Environments<br />

The following fields are valid for entry when you use <strong>MKS</strong> Integrity for issue tracking. For details, see<br />

“<strong>Implementer</strong> and <strong>MKS</strong> Integrity Integration” on page 196.<br />

When arrives in<br />

this env<br />

When rejected from<br />

this env<br />

Specify the <strong>MKS</strong> Integrity state to assign to a member/object checked out<br />

or promoted to this environment.<br />

NAME: Specify the name of a valid <strong>MKS</strong> Integrity status. This value<br />

overrides the global value if defined.<br />

*DEFAULT: Assigns the default value as defined in <strong>MKS</strong> Integrity setup.<br />

If the <strong>MKS</strong> Integrity default is blank or not set, no updates occur. This is<br />

the default value for this field. The status is set as follows:<br />

If checking out to this environment, assigns the default status *TST.<br />

If promoting to this environment and it is type *PRD, assigns the default<br />

status *PRD.<br />

If promoting to this environment and it is the first *QAC on the path,<br />

assigns the default status *QAC1.<br />

If promoting to this environment and it is the second *QAC on the path,<br />

assigns the default status *QAC2. Cycle continues for each *QAC<br />

environment.<br />

*NONE: No updates occur.<br />

Specify the <strong>MKS</strong> Integrity state to assign to a member/object rejected from<br />

this environment.<br />

*NAME: Specify the name of a valid <strong>MKS</strong> Integrity status. This value<br />

overrides the global value if defined. Valid for *QAC environments only.<br />

*DEFAULT: Assigns the default value as defined in <strong>MKS</strong> Integrity setup.<br />

If the <strong>MKS</strong> Integrity default is blank or not set, no updates occur. This is<br />

the default value for this field for all environment types. The status is set<br />

as follows:<br />

If rejecting from this environment and it is the first *QAC environment on<br />

the path (the path used to promote from the current location), assigns<br />

the *QAC1 default status.<br />

If rejecting from this environment and it is the second *QAC environment<br />

on the path (the path used to promote from the current location) assigns<br />

the *QAC2 default status. Cycle continues for each *QAC environment.<br />

*NONE: No updates occur.<br />

Remote information<br />

The following options allow you to define and control the remote systems.<br />

System name Specify the name of the system where this environment is located. You<br />

must first define the system in Network Configuration. Specify a local<br />

system name for a local environment, or a remote system name for a<br />

remote environment.<br />

Source library location Specify the location of the environment’s source library.<br />

L: Source library is on the local system.<br />

R: Source library is on a remote system.<br />

89


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

90<br />

Field Description<br />

Compile location Specify where to compile for this environment.<br />

L: Compile on local system.<br />

R: Compile on remote system.<br />

Distribution method Specify the distribution method when deploying to the remote system.<br />

1=SNADS (SNA Distribution Services).<br />

2=Tape.<br />

3=DVD (release management environments only; for details, see the<br />

<strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> Release Management <strong>Guide</strong>).<br />

4=SDMCom.<br />

7=TCP/IP-FTP (default value when creating a new environment).<br />

8=TCP/IP-Tape.<br />

NOTE TCP/IP-FTP is for bulk file transfers. TCP/IP-Tape is for distribution on<br />

tape media. Both options allow you to use the “Remote Initiated Move Update<br />

Host” functionality. To alternate between TCP/IP and SNADS distributions,<br />

change the value in this field as needed.<br />

If you use SNA or TCP/IP to distribute to remote systems, additional setup is<br />

required. For details, see “Setting Up for SNADS Distribution” on page 179, or<br />

“Setting Up for TCP/IP Distribution” on page 173.<br />

Remote initiated move Specify whether to initiate the move step on the host system or the remote<br />

system. Allows users on a remote system to control when to move a<br />

request into this environment and allows initiating the move on the remote.<br />

Y: Initiates the move on the remote system by a remote user.<br />

N: Initiates the move on the host system by a host user.<br />

Updates host Specify whether to update the host with remote initiated move information<br />

that includes: request header status, request detail status and information,<br />

archive information, and job log. Sets the request status to complete after<br />

request distribution.<br />

Y: Updates the host with the remote move data. Requires the Remote<br />

initiated move field set to Y.<br />

N: Bypasses the host update.<br />

Retain requests on<br />

remote<br />

Create Environment Field Descriptions: Panel 3<br />

NOTE If you use <strong>MKS</strong> Source archiving and promote using remote initiated<br />

moves with host updates, the MWIPROD user profile must have an<br />

<strong>MKS</strong> Integrity user ID that is part of the group to ensure it is<br />

configured to work with <strong>MKS</strong> Source. For details, see “Creating the <strong>Implementer</strong><br />

Developer Group” on page 264.<br />

Specify whether to retain requests on the remote system after promotions<br />

complete successfully.<br />

Y: Retains requests on remote system.<br />

N: Deletes requests on remote system. This is the default value.


Field Description<br />

Promotion notification<br />

queue<br />

Object Code Overrides<br />

Create Environment Field Descriptions: Panel 3<br />

Environments<br />

Specify the name and library of the promotion notification queue for<br />

<strong>Implementer</strong> on the remote system. The queue holds messages that notify<br />

remote users of completed promotion steps. The value *NETA uses the<br />

queue defined in the network attributes.<br />

Target release Specify the OS/400 target release for the environment. The value<br />

*NETCONFIG retrieves the value from the network configuration.<br />

<strong>Implementer</strong> uses object codes to define the various types of members/objects you check out<br />

and promote. An object code combines information from the OS/400 object type and source<br />

type. Global object codes are defined in <strong>Implementer</strong> Menu option 44, Object Codes. This<br />

function allows you to override the global values and establish different values at the<br />

environment level.<br />

You can maintain object code overrides in Work with Environments using F8=Object codes,<br />

and in Work with Object Codes using option 7=Environment Overrides. Both panels look the<br />

same and provide the same functionality, with variation only in how the data is structured:<br />

In Work with Environments, view by environment to work with overrides at the global<br />

level. This option displays the object code defaults and overrides for a specific<br />

environment.<br />

In Work with Object Codes, view by object code to work with overrides at the<br />

environment level. This option displays the defaults and overrides for all environments<br />

for a specified object code. For details on this option, see “Environment Overrides” on<br />

page 133.<br />

Object code overrides applied to an environment affect the environment default values only.<br />

When creating a new environment, the values specified at the global level are the default<br />

values assigned to the object code overrides for the new environment.<br />

You can override the default source file for source-based objects, as well as the default object<br />

library and source library. Through overrides, you can activate or deactivate particular object<br />

codes for specific environments without impact to other environments. For example, you can<br />

deactivate certain object codes if you use database-only environments, and ensure that<br />

certain types of programming languages are not used for specific environments, such as<br />

System/38 or System/36 environment languages.<br />

You can apply overrides at any time. When you change an object code, it applies the latest<br />

overrides created from that point forward; it does not change existing active overrides.<br />

Inactive overrides reflect the object code level changes.<br />

91


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

92<br />

Removing Source and Objects After Promotion<br />

<strong>Implementer</strong> allows you to control how source and objects are handled in the From<br />

environment by allowing you to retain or automatically delete the items after successful<br />

promotion from a local *TST or *QAC environment.<br />

This feature is controlled by the defaults you establish for the environment and the<br />

environment’s object code overrides as defined in the fields Remove obj in from lib/env and<br />

Remove src in from lib/env as follows:<br />

Option 1=always automatically deletes objects and/or source.<br />

Option 2=never automatically retains objects and/or source.<br />

Option 3=per obj code validates to the environment’s object code overrides. An override<br />

is validated only if the promotion request is defined to delete objects per object code.<br />

When you create a promotion request, the Remove fields on the request default to the values<br />

defined for the same fields as the From environment. When promoting from a library, the<br />

Remove fields on the request are set to the default values defined for the user profile creating<br />

the request as follows:<br />

If the user profile Remove fields are set to Y, then the Remove fields on the request<br />

default to 1 (always).<br />

If the user profile Remove fields are set to N, then the Remove fields on the request<br />

default to 2 (never).<br />

The value 3 (per object code) is not allowed when promoting from a library.<br />

You must have authority to perform overrides to change the request defaults. For details on<br />

user profile defaults and overrides, see the table on page 78.<br />

NOTE<br />

The global object code values are only used to supply the initial defaults when<br />

creating new object code overrides for an environment.<br />

<strong>Implementer</strong> does not delete from *PRD or remote environments. For details on<br />

how to delete items from a remote QA environment after successful promotion<br />

from the environment. For details, see “Clearing Remote QA Environments” on<br />

page 384.<br />

To define object code overrides for an environment<br />

1 From the Change Environment panel or Create Environment panel, press F8=Object<br />

Codes. The Change Environment Object Code Overrides panel displays.<br />

2 Press F7=Fold to toggle the view to include the object code description.<br />

NOTE For details on option 7=Work with Object Name Rules, see “Object Name<br />

Rules” on page 137.


Environments<br />

3 The values that display for each code default from the corresponding global object code<br />

definition. Establish the overrides for this environment as follows:<br />

In the Object Library, Source File, and Source Library fields, type the new value in<br />

the appropriate field. The default value *NONE in any of these fields indicates the<br />

field does not allow entry and must first be changed at the global level.<br />

In the Act Flg field, type Y to activate the object code for the environment. The object<br />

code must be active to check out or promote using the object code. Type N to<br />

deactivate the object code.<br />

In the Rmv Obj and Rmv Src fields, specify whether to delete the corresponding<br />

object and/or source upon successful completion of a promotion request from this<br />

environment. Specify Y to delete the item. Specify N to retain the item.<br />

4 Press ENTER to process your changes. The Change Environment panel (or Create<br />

Environment panel) displays.<br />

To set up IFS directories for an environment<br />

1 From the Work with Environments panel, type option 20=Directory setup next to the<br />

environment and press ENTER. The Work with Environments Directory Setup panel<br />

displays.<br />

93


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

94<br />

2 Complete this panel as defined in following table and press ENTER.<br />

Field Description<br />

Directory Setup Field Descriptions<br />

Directory path Specify the full IFS directory path covered by the environment.<br />

<strong>Implementer</strong> automatically creates the directory path for a *QAC<br />

environment if it does not exist when a promotion targets the environment.<br />

You must manually create directory paths for *PRD and *TST<br />

environments.<br />

For IFS objects located on a system running Windows NT Server, the<br />

directory path of environments associated with the NT Server mounted<br />

drive must begin with \QNTC, for example,<br />

\QNTC\<strong>MKS</strong>\PRD\ACCOUNTS_PAYABLE.<br />

Directory path owner Specify the owner of the directory. Directories managed in this environment<br />

are owned by the user profile defined as the directory path owner.<br />

IFS file owner Specify the owner of IFS files managed within the environment directory.<br />

The user defined as the IFS file owner owns all objects created in the<br />

environment directory path, including all sub-folders.<br />

IFS objects promoted to a Windows NT Server are owned by user<br />

SDMAUTUSR (or the user profile defined to <strong>Implementer</strong> data area<br />

SDMAUTUSR). For details, see “Mounted Drive Support for IFS Objects”<br />

on page 159.<br />

IFS file archive<br />

versions<br />

Specify a value from 0–99 to indicate the number of archive versions to<br />

retain when promoting objects into production.<br />

Archive directory path Specify the full IFS path name for storing archive versions. <strong>Implementer</strong><br />

automatically creates the directory if it does not exist when a promotion<br />

request targets the directory for archiving.


Establishing Object Authorities<br />

Environments<br />

An environment has specific authorities that control access to the objects in the environment.<br />

The Change Environment - Object Authorities panel allows you to add and change the<br />

OS/400 user profiles or OS/400 authorization list that have authority to reference objects<br />

within the environment.<br />

Key Considerations for IFS Objects<br />

<strong>Implementer</strong> sets authorities to IFS files in an environment directory the same as it sets<br />

authorities on libraries and objects. You must set the authorities when defining the<br />

environment to enable this feature.<br />

When promoting IFS objects to a Windows NT Server, the objects are owned by user<br />

SDMAUTUSR (or the user profile defined to <strong>Implementer</strong> data area SDMAUTUSR).<br />

Unlike traditional objects, the Reset Authorities function does not set the object owner. In<br />

addition, IFS objects inherit the authorities of the target directory; authorities defined to<br />

the environment or existing on the from object are disregarded.<br />

NOTE The Resent Authorities function allows you to grant or revoke object<br />

authorities for an environment based on how the authorities are defined for the<br />

environment. For details, see “Resetting Authorities” on page 372.<br />

To establish object authorities for an environment<br />

1 From the Change Environment panel or Create Environment panel, press<br />

F11=Authorities to display the Change Environment Object Authorities panel.<br />

95


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

96<br />

2 Do one of the following:<br />

In the Authorization list field, type the name of an existing OS/400 authorization list.<br />

In the User field, type the name of an existing OS/400 user profile.<br />

3 In the Authority field, type the authority *CHANGE, *ALL, *USE, *EXCLUDE, or *AUTL.<br />

4 Press ENTER.<br />

Deleting an Environment<br />

Deleting an environment removes the environment from the <strong>Implementer</strong> database. It also<br />

removes the environment from the related environment list for other environments. It does<br />

not delete the system libraries or source files associated with the environment.<br />

Key Considerations<br />

You must have authority to maintain environments to delete an environment.<br />

If an environment has closed locks or an attached promotion request, you must use<br />

option 32=Purge history or F19=Purge All History before you can delete the<br />

environment. For details, see “Purging Environment History” on page 374.<br />

You cannot delete an environment that is part of a development path, project path,<br />

related environment, or a From environment for a product version.<br />

You cannot delete an environment that is a From environment or target environment for<br />

a release management package. You must first use Work with Packages to manually<br />

purge the packages. For details, see the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> Release Management <strong>Guide</strong>.<br />

To delete an environment<br />

1 From the <strong>Implementer</strong> Menu, type option 42, or type STRIM (*WRKENV) at the<br />

command line and press ENTER to display the Work with Environments panel.<br />

2 From the Work with Environments panel, select each environment with option 4=Delete<br />

and press ENTER. The Confirm Delete of Environments panel displays.<br />

3 Press ENTER to delete the selected environment.<br />

Environment Library List<br />

<strong>Implementer</strong> uses the environment library list to compile source members during promotion.<br />

It is also used during development from the Workbench and to issue special commands on a<br />

promotion request.<br />

IMPORTANT You cannot use special commands to change the environment library list.


Key Considerations<br />

Environments<br />

You can specify a list of up to 250 libraries for compilation in the environment. Of these,<br />

248 entries are available for your use. The last two are reserved for QTEMP and the<br />

<strong>Implementer</strong> work library on the promotion request.<br />

IMPORTANT An incorrectly defined library list can cause the compile step to fail, or<br />

worse yet, compile using the wrong objects, and thus, result in level checks. You<br />

must ensure the library list has the correct libraries needed for compilation. This is a<br />

common error during the initial use of a new environment.<br />

The task of copying an environment includes copying associated library lists.<br />

Define local environments with a local library list and libraries that exist on the local<br />

system. You cannot define a remote library list for a local environment.<br />

Define remote environments with a remote library list and libraries that exist on the<br />

remote system. When a required library exists on both systems, you must also define a<br />

local library list for the remote environment. This allows you to establish an<br />

environment library list for local compiles, set up for move related special commands on<br />

the remote system, and locate database files related to the promoted files when explicitly<br />

added to the request.<br />

When initially defining the library list for a remote environment, the entries in the<br />

remote library list are also added to the local library list. Pressing F7 to access the local<br />

library list automatically loads the remote library list entries. You can modify the local<br />

library list as needed.<br />

If a remote environment has both remote and local library lists defined and you later<br />

change the environment to a local environment, the remote library list is no longer<br />

accessible because the environment is now local. However, <strong>Implementer</strong> retains the<br />

remote library list record, avoiding the need to recreate the library list if you later change<br />

the environment back to a remote environment.<br />

If you use special compile procedures such as those required by some third party<br />

software packages, you must add any applicable libraries to the compile library list.<br />

NOTE Prior to compiling a source member, <strong>Implementer</strong> replaces the library list of<br />

the current job with the environment library list; thus, do not put the libraries in the<br />

<strong>Implementer</strong> job description MWIJOBD.<br />

To edit an environment library list<br />

1 From the Change Environment panel or Create Environment panel, press F13=Library<br />

List.<br />

For a local environment, the Edit Environment Library List - Local panel displays. For a<br />

remote environment, the Edit Environment Library List - Remote panel displays. These<br />

panels are like the OS/400 Edit Library List (EDTLIBL) command panel.<br />

97


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

98<br />

2 In the Sequence Number field, specify the number to order the library in relation to other<br />

libraries. For traditional (non AllFusion 2E) environments, use the sequence number to<br />

order the libraries in the sequence required for compilation when promoting to the<br />

environment.<br />

3 In the Library field, specify the required library name.<br />

4 Press ENTER. The Edit Environment Library List panel displays the current libraries in<br />

sequential increments of 10.<br />

On the Edit Environment Library List - Remote panel, you can press F7 to save the<br />

remote library list and display the Edit Environment Library List - Local panel. Press F7<br />

again to save any local library list changes and return to the Edit Environment Library<br />

List - Remote panel.<br />

If you press ENTER without making any changes to the library list, the previous library<br />

list is saved and the Edit Environment Library List panel displays.<br />

Promotion Job Scheduling<br />

This task allows you to set up automatic job scheduling for the promotion steps: compile,<br />

move, and distribution for traditional environments, model copy step for AllFusion 2E<br />

environments, and export for LANSA environments. Job scheduling gives you control over<br />

the management of production environments and optimizes the utilization of your OS/400<br />

resources.<br />

Job scheduling is typically used to process jobs during non business hours, for example,<br />

nights or weekends, or to run jobs in a specific job queue.


To change promotion scheduling defaults<br />

1 From the Work with Environments panel, select the environment with option<br />

13=Promotion Scheduling and press ENTER. The Change Environment Promotion<br />

Scheduling panel displays.<br />

Environments<br />

2 Specify the Request Submission Defaults for the following stages of promotion:<br />

Model copy fields (for AllFusion 2E environments), or Compile fields for traditional<br />

environments.<br />

It is not necessary to change the scheduling defaults from *CURRENT, *SYSCTL, and N<br />

for Hold on job queue. Override options are available for each promotion step, (for<br />

example, export if a LANSA environment, compile, move, and distribute) and archiving.<br />

If the to and from time settings cross over into the next day, for example, from Day 1 at<br />

8:00 p.m. to Day 2 at 4:00 a.m., it uses the *CURRENT default that the second time period<br />

falls on in the second day and schedules accordingly.<br />

3 Press PAGE DOWN to display the second Promotion Scheduling panel and specify the<br />

Request Submission Defaults for the distribute (or export if a LANSA environment) and<br />

move stages of the promotion.<br />

4 Press ENTER to process the update.<br />

99


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

Related Environments<br />

100<br />

This function allows you to define the relationship of an environment with other<br />

environments in the form of an ordered list. <strong>Implementer</strong> uses this list in check out to display<br />

the member/object lists and related objects in an environment. For this reason, related<br />

environment lists are only used by <strong>Implementer</strong> for production environments, although you<br />

can define them for development and test environments for reference purposes.<br />

The two common uses of related environments are when:<br />

developing one release of an application as changes to an earlier release (release 2.0<br />

based on release 1.0)<br />

modifications to production are in a separate environment from the base production<br />

In either scenario, the related environment list must include all the environments, in order,<br />

that are logically included in the environment being defined. You must also include the<br />

necessary libraries on the environment library list for proper compilation when you define<br />

the environment.<br />

An environment always has at least one environment on the related environment list, the<br />

environment itself. You add additional related environments in sequence number order,<br />

which is the search order you want <strong>Implementer</strong> to follow to locate a member/object in the<br />

list.<br />

To define related environments<br />

1 From the Work with Environments panel, select the environment with option<br />

14=Related environments, and press ENTER. The Work with Related Environments<br />

panel displays.


Environment Path<br />

2 Press F6=Add. The Add Related Environment panel displays.<br />

3 Complete the following fields:<br />

Environments<br />

In the Sequence number field, specify the number to order the environment in<br />

relation to other related environments.<br />

In the Related environment field, type the name of the related environment, or press<br />

F4=List to select from a list of environments.<br />

The Display as locked field allows you to define, when an item in the specified<br />

related environment is locked, if the item in the related environment displays as<br />

locked in Work with Objects (the actual object in the related environment is locked).<br />

This pertains to the mods and base environment models, when the item in base<br />

shows as locked but the actual lock is from the mods environment.<br />

Specify Y to show lock history as locked for the base environment. This is the<br />

required value when the related environment is on the related environment list<br />

of multiple environments, for example, multiple releases of an application, and<br />

when the Environment and Related environment fields have the same<br />

environment name.<br />

Specify N to show lock history as not locked for the base environment.<br />

4 Press ENTER to add the related environment.<br />

This function allows you to add additional controls that define a standard and emergency<br />

development path for production environments. The path defines the exact flow of<br />

members/objects through the development, testing, and production environments, and<br />

restricts access so they cannot move outside this flow. It also allows defaulting the From<br />

environment and target environment in check out and promotion. You can restrict users to<br />

the defined paths, preventing any circumvention of the predefined flow of work back into<br />

production.<br />

You can define a path for each production environment, representing the flow from the<br />

development environment, quality assurance, environment group, and original production<br />

environment (the first *PRD environment on the path). If an environment is on more than one<br />

path, <strong>Implementer</strong> uses the path designated by the original check out From environment<br />

(lock). If no lock exists, <strong>Implementer</strong> uses the first path found, including the environment, as<br />

the first production environment in the path.<br />

NOTE The terms environment path and application path are also referred to as a<br />

development path.<br />

101


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

102<br />

Key Considerations<br />

You can define application paths at the environment level and at the project level. If you<br />

use both environment paths and project paths, the project path is the default path in<br />

check out and create request when a project with a defined path is specified. For details,<br />

see “Project-based Application Paths” on page 142.<br />

Each application path can have a standard path and an emergency path that represents<br />

the flow member/objects follow from the initial check out to the final promotion into<br />

production.<br />

A standard path typically has a development environment (*TST) or library in the first<br />

sequence. The next sequence can be optional QA environments or environment groups<br />

(*QAC). The first production environment (*PRD) on the path must be the environment<br />

you check out from. For an environment group, the primary environment in the group<br />

must be the environment you check out from. Subsequent production environments or<br />

environment groups are allowed depending on your development model.<br />

An emergency path typically allows check out from production to development, and<br />

promotion directly from development back to production. You can modify this flow as<br />

needed.<br />

To define a standard or emergency path for an environment<br />

1 From the Work with Environments panel, type option 17=Standard path, or option<br />

18=Emergency path, and press ENTER to display the respective Environment Path panel.<br />

This panel allows you to create, change, delete, and display paths. The top environment<br />

or library represents development. The first production environment on the path is the<br />

check out from environment.


2 Press F6=Add. The Add Standard Path Entry panel displays.<br />

3 Complete the following fields:<br />

In the Sequence number field, type the appropriate number.<br />

Environments<br />

In the Entry field, type the environment name or press F4=Prompt to select from a<br />

list of environments.<br />

The value *USRPRF allows each developer to define a different development<br />

environment or library in the user profile entry (defined in Work with Users). The<br />

development environment or library must be the first sequence.<br />

4 Press ENTER to add the new path entries.<br />

Special Command Processing<br />

<strong>Implementer</strong>’s special commands feature allows you to define commands or programs that<br />

process each time a promotion targets a specified environment. You can define special<br />

commands to run on an environment basis, or globally for all environments.<br />

<strong>Implementer</strong> uses the environment library list when issuing the special commands.<br />

Therefore, if you have any unqualified object references in the command, you must include<br />

in the environment library list each library where the objects are located. The special<br />

command must exist in the environment library list (defined in Work with Environments) for<br />

each environment.<br />

NOTE You can use substitution variables within your command, and add comments<br />

to the special commands to make them self-documenting. Comments can display<br />

either before or after the command, and they must be in brackets, for example,<br />

/* This is a comment */<br />

For details on special commands and substitution variables, see the<br />

<strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> User <strong>Guide</strong>.<br />

To define special commands for an environment<br />

1 From the Work with Environments panel, type option 19=Special commands next to the<br />

environment and press ENTER. The Work with Environment Special Commands panel<br />

displays. Any existing special commands display on this panel.<br />

103


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

104<br />

2 Press F6=Create to display the Expanded Command Display panel.<br />

3 Complete the fields as described in “Expanded Command Display Field Descriptions”<br />

on page 105.<br />

4 Press ENTER to save the special command. The Expanded Command Display panel<br />

displays blank. Create additional special commands, or press F12 to display the Work<br />

with Environments panel. The panel displays the special command you created.<br />

5 Press ENTER again to permanently save the new special command. The Work with<br />

Environments panel displays.<br />

Global Special Commands<br />

You define global special commands for environments by using the *ALL option. This option<br />

applies to all environments currently defined, as well as new environments you may add<br />

later.<br />

To create a special command for all environments<br />

1 From Work with Environments, press F10=*ALL Special Commands. The Work with<br />

Environment Special Commands panel displays.<br />

Any existing special commands display on this panel. Notice the Environment field<br />

defaults to *ALL.


2 Press F6=Create to display the Expanded Command Display panel.<br />

Environments<br />

3 Complete the fields as described in the following table, and press ENTER to add the<br />

command.<br />

Field Description<br />

Expanded Command Display Field Descriptions<br />

For Action Specify which promotion step processes the special command. The default<br />

value is blank.<br />

1=Compile: Special command runs in the compile stage.<br />

2=Dist-Host: Special command runs in the distribution stage on the host<br />

system.<br />

3=Dist-Rcvr: Special command runs in the distribution stage on the remote<br />

system.<br />

4=Move: Special command runs in the move stage. For promotions that<br />

target a remote system, the special command occurs where the move<br />

occurs.<br />

5=Move-Host: Special command runs on the system where the request<br />

originated, after successful distribution. This option is meaningful for<br />

promotions that target a remote system.<br />

6=Checkout: Special command runs in check out.<br />

When to do Specify when, during the selected For Action, to issue the special command.<br />

1=Before: Special command runs before the specified For Action.<br />

2=After-OK: Special command runs after the specified For Action<br />

successfully completes.<br />

3=After Fail: Special command runs after the specified For Action fails.<br />

105


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

Environment Report<br />

106<br />

Field Description<br />

The Environment Report lists the information defined for an environment. You can select to<br />

print summary level or detail information.<br />

The information includes: library type and defaults; host and remote library list; environment<br />

groups that contain the environment; related environments; standard and emergency paths;<br />

create request defaults; model copy details for AllFusion 2E environments; and promotion<br />

scheduling and submission overrides.<br />

The report also includes the setup defaults for AllFusion 2E, AS/SET, LANSA, and<br />

PeopleSoft World if installed.<br />

You can include information on the products and versions built from an environment, and<br />

the product versions that define an environment as a default customer environment.<br />

For environments that manage IFS objects, the report includes directory setup and archive<br />

information. The summary report can include object code information for both active and<br />

inactive object codes, object authorities, and object name rules. For environments that<br />

manage IFS objects, the IFS file extension prints for each object code that has a special<br />

characteristic of PCFILE (when the object code and extension are not the same).<br />

To print a detailed Environment Report for a specific environment<br />

From Work with Environments, select the environment with option 6=Print, and press<br />

ENTER. A message at the lower-left of the panel confirms the report printed.<br />

To print a summary or detailed Environment Report for all environments<br />

1 From the <strong>Implementer</strong> Menu, type 37, Environment Report, and press ENTER.<br />

2 Complete the fields as follows:<br />

Expanded Command Display Field Descriptions<br />

Sequence number Specify when to issue the command relative to other special commands. The<br />

number must be unique from other special commands for the environment.<br />

Command Specify the standard OS/400 command syntax of the command to run, or<br />

press F4 to prompt the command.<br />

In the Print object codes field, specify whether to include object codes for the<br />

environment. Type Y to print object codes. The default value N omits object codes.<br />

In the Print object authorities field, specify whether to include object authorities for<br />

the environment. Type Y to print object authorities. The default value N omits object<br />

authorities.


Environments<br />

In the Print object codes rules field, specify whether to include object name rules if<br />

defined for the environment. Type Y to print object name rules. The default value N<br />

omits object name rules.<br />

In the Output Queue and Library fields, specify the standard OS/400 submit job<br />

parameters as required.<br />

3 Press ENTER. A message at the lower-left of the panel confirms the report submitted.<br />

Third Party Integration Prerequisites<br />

The following information pertains to working with environments when using <strong>Implementer</strong><br />

with certain third party integrations.<br />

AS/SET Prerequisites<br />

To perform the initial setup for an AS/SET environment<br />

1 In System Control Maintenance, type Y in the AS/SET installed field and press ENTER.<br />

This allows you to define a standard environment with AS/SET information.<br />

2 In the Work with Environments panel, select the environment with option 11=AS/SET<br />

and press ENTER to display the Change Environment panel.<br />

3 In the AS/SET application set field, type the name of an existing application set.<br />

4 In the Archive application set field, type the name of the archive application set to<br />

archive AS/SET definitions.<br />

5 On the Change Environment panel, specify the number of archive versions in the<br />

Archive Versions field. In addition, specify the source library and archive library for<br />

traditional objects, and the required number of versions.<br />

6 Press ENTER. The Work with Environments panel displays.<br />

After completing this step, the Special environment field in the second Change<br />

Environment panel displays AS/SET. For details on configuring AS/SET integration, see<br />

page 316.<br />

LANSA Prerequisites<br />

To perform the initial setup for a LANSA environment<br />

1 In System Control Maintenance, type Y in the LANSA installed field and press ENTER.<br />

This allows you to define a standard environment with LANSA information.<br />

2 In the Work with Environments panel, select the environment with option 12=LANSA,<br />

and press ENTER to display the Change Environment panel.<br />

3 In the LANSA partition name field, type the name of the partition.<br />

107


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

108<br />

4 In the Copy LANSA object in check out field, specify whether to copy LANSA objects<br />

during check out.<br />

If the environment definition specifies to copy LANSA objects during check out, the<br />

copy runs in batch. The LANSA objects are exported out of the From environment and<br />

imported into the target environment. <strong>MKS</strong> recommends you manually verify the<br />

LANSA export and import reports.<br />

When checking out or promoting LANSA objects, the partition of the From environment<br />

should not be the same as the partition of the target environment.<br />

5 Press ENTER. The Work with Environments panel displays.<br />

After completing this step, the Special environment field in the second Change<br />

Environment panel displays LANSA. For details on configuring LANSA integration, see<br />

page 328.<br />

PeopleSoft World Prerequisites<br />

To complete the initial setup for a PeopleSoft World environment<br />

1 In System Control Maintenance, type Y in the PeopleSoft World installed field and press<br />

ENTER. This allows you to define a standard environment with PeopleSoft World<br />

information.<br />

2 In the Work with Environments panel, select the environment with option<br />

16=PeopleSoft World, and press ENTER to display the Change Environment panel.<br />

3 In the PeopleSoft World common library field, type the name of the PeopleSoft World<br />

common library.<br />

4 In the PeopleSoft World archive library field, type the name of the archive library for<br />

archiving.<br />

5 On the Change Environment panel, define the number of archive versions in the Archive<br />

Versions field. In addition, specify the source library and archive library for traditional<br />

objects, and the required number of versions.<br />

6 Press ENTER. The Work with Environments panel displays.<br />

After completing this task, the Special environment field in the second Change<br />

Environment panel displays PeopleSoft. For details on configuring PeopleSoft World<br />

integration, see page 355.


Common Questions<br />

Why is it necessary to use environments rather than just libraries?<br />

Environments and User Capabilities<br />

Two reasons are: <strong>Implementer</strong> only allows promotion into an environment to ensure positive<br />

tracking of all members/objects at each step of the development process, and, environments<br />

are an organizational aid for libraries and members/objects. Because environments are<br />

usually set up by application, it allows strict organization of all objects within the libraries.<br />

Environments automate many manual tasks, a primary advantage for the developer.<br />

What are the most common user errors that occur during environment setup?<br />

The necessary libraries are not included in the environment definition, and an incorrect<br />

library compilation order (compile library list).<br />

Environments and User Capabilities<br />

An environment has user capability flags that allow you to control the authority each user<br />

has to the environment for check out and promotion, as well as the authority to lock activities<br />

related to concurrent development and lock maintenance. This task allows you to grant each<br />

user specific rights that reflect the development activities the user is allowed to perform to an<br />

environment. This task is necessary for each user enrolled in <strong>Implementer</strong> for each<br />

environment they need to work in.<br />

The default rights you define in <strong>Implementer</strong> restrict rather than enable free access to the<br />

functions in <strong>Implementer</strong>. Thus, it is necessary to establish user authorities in two functional<br />

areas:<br />

Work with Users for basic authorities<br />

Work with Environments User Capabilities or Work with User - Environment<br />

Capabilities for environment-specific capabilities<br />

When initially setting up or changing environments, you can establish user capabilities while<br />

working with the environment—for this purpose, access the Change User Environment<br />

Capabilities panel through Work with Environments as described in the following task.<br />

When setting up or changing user profiles, access the panel from Work with Users. To set up<br />

required default libraries, environments, projects, or other user defaults, see “Users” on<br />

page 72.<br />

To assign user capabilities for an environment<br />

1 From the <strong>Implementer</strong> Menu, type option 42 or type STRIM (*WRKENV) at the<br />

command line and press ENTER. The Work with Environments panel displays.<br />

2 Select the environment with option 15=User capabilities and press ENTER. The Work<br />

with User Capabilities panel displays for the selected environment.<br />

109


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

110<br />

3 Select the user profile with option 2=Change and press ENTER. The first of two Change<br />

User Environment Capabilities panels displays.<br />

4 Establish the basic authorities for check out, locks and concurrent development, and<br />

promotion (press PAGE DOWN) as described in the following tables, and press ENTER to<br />

process the changes.<br />

Change User Environment Capabilities Field Descriptions: Panel 1<br />

Field Description<br />

Check out<br />

The following fields define the user’s authority to the environment for check out related tasks.<br />

Standard<br />

check out to<br />

Standard<br />

check out from<br />

Emergency<br />

check out to<br />

Emergency<br />

check out from<br />

Specify if the user has authority to perform standard check out to the<br />

environment.<br />

Specify if the user has authority to perform standard check out from the<br />

environment.<br />

Specify if the user has authority to perform emergency check out to the<br />

environment. a<br />

Specify if the user has authority to perform emergency check out from the<br />

environment.<br />

Locks<br />

The following fields define the user’s authority to the environment for tasks related to locks and<br />

concurrent development.


Environments and User Capabilities<br />

Change User Environment Capabilities Field Descriptions: Panel 1<br />

Field Description<br />

Allow concurrent dev Specify if the user has authority to perform concurrent development and<br />

check out a member/object from this environment when the item is checked<br />

out by another user. b,c Does not apply to emergency check out or promotion.<br />

1=No: User does not have authority to perform concurrent development.<br />

2=Seq Only: User has authority to perform concurrent development only<br />

for items under sequential development. User is not allowed to override<br />

the default copy From environment in check out.<br />

3=All-Auto: User has authority to perform concurrent development and<br />

override the copy From environment in check out. In sequential<br />

development, the copy From environment value defaults automatically. In<br />

non sequential development, user must manually select the copy From<br />

environment. This is the default value when <strong>Implementer</strong> is installed.<br />

4=All-Manual: User has authority to perform concurrent development and<br />

select the copy From environment in check out. In both sequential and non<br />

sequential development, the copy From environment defaults to blank and<br />

user must select it manually.<br />

Resolve conflicts Specify if the user has authority to resolve concurrent development conflicts<br />

on the Manage Concurrent Development - Work with Conflict Resolution<br />

panel. b,c<br />

For a production environment, applies to resolving conflicts for locks from the<br />

environment. For a development or test environment, applies to resolving<br />

conflicts for locks to the environment. Does not apply to emergency<br />

promotion.<br />

1=No: User does not have authority to resolve conflicts.<br />

2=Seq Only: User has authority to resolve conflicts only for items under<br />

sequential development (allows automatic conflict resolution).<br />

3=All-Auto: User has authority to resolve conflicts. In sequential<br />

development, conflicts resolve automatically. In non sequential<br />

development, user must resolve conflicts manually. This is the default<br />

value when <strong>Implementer</strong> is installed.<br />

4=All-Manual: User has authority to resolve conflicts. In both sequential<br />

and non sequential development, user must resolve conflicts manually.<br />

Lock maintenance Specify if the user has authority to maintain or delete locks on the<br />

Workbench. A project leader or another user that has move capabilities<br />

generally performs this function.<br />

a Emergency check out of a locked member/object causes concurrent development that requires users<br />

have authority to perform concurrent development for the From environment. In the case of an<br />

emergency, however, the authorities required to perform emergency check out override the authorities<br />

required to perform concurrent development. This allows a user who does not have authority to<br />

concurrent development to perform an emergency check out.<br />

b When using the <strong>Implementer</strong> Web interface for check out and promotion, the values 3=All-Auto and<br />

4=All-Manual function like the value 2=Seq Only. This is because the Web interface does not allow the<br />

manual entry of a copy From environment.<br />

c For details on how concurrent development is globally activated, see “Concurrent Development Scope”<br />

on page 71. For a description of sequential and non sequential development, see “Glossary” on<br />

page 457. For details on how the default copy From environment is determined, see the<br />

<strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> User <strong>Guide</strong>.<br />

111


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

112<br />

Typical Environment Capabilities by User Type<br />

<strong>Implementer</strong> has the following types of users:<br />

administrator<br />

project leader (*PRD, *TST, or *QAC environments)<br />

senior developer (*PRD, *TST, or *QAC environments)<br />

user acceptance tester (*QAC environments)<br />

<strong>Implementer</strong> software owner<br />

security officer<br />

Change User Environment Capabilities Field Descriptions: Panel 2<br />

Field Description<br />

Request Promotion<br />

The following fields define the user’s authority to the environment for tasks related to promotion.<br />

Standard<br />

create request to<br />

Standard<br />

create request from<br />

Emergency<br />

create request to<br />

Emergency<br />

create request frm<br />

Distribute<br />

standard request<br />

Distribute<br />

emergency request<br />

Move<br />

standard request<br />

Move<br />

emergency request<br />

Specify if the user has authority to create a standard promotion request to<br />

this environment.<br />

Specify if the user has authority to create a standard promotion request from<br />

this environment.<br />

Specify if the user has authority to create an emergency promotion request<br />

to this environment.<br />

Specify if the user has authority to create an emergency promotion request<br />

from this environment.<br />

Specify if the user has authority to distribute a standard promotion request to<br />

this environment.<br />

Specify if the user has authority to distribute an emergency promotion<br />

request to this environment.<br />

Specify if the user has authority to move a standard promotion request to this<br />

environment.<br />

Specify if the user has authority to move an emergency promotion request to<br />

this environment.<br />

Maintain request Specify if the user has authority to maintain promotion requests for the<br />

environment.<br />

Recover request Specify if the user has authority to recover archived requests for the<br />

environment.<br />

Override<br />

obj attribute sourc<br />

Specify if the user has authority to change the source of object attributes at<br />

for the environment.


Environments and User Capabilities<br />

The following sections define the overall role of each type of user with. The tables identify the<br />

typical capabilities assigned to each type of user based on the environment type. You must<br />

determine how to assign capabilities based on your organization’s operations.<br />

Administrator<br />

The administrator has the highest level of authority within <strong>Implementer</strong> to maintain the<br />

<strong>Implementer</strong> control parameters. Use this role for initial set up, to install new applications,<br />

and to change environments and users’ capabilities. The following table lists the typical<br />

settings for administrators for production environments.<br />

Capabilities Production<br />

Check Out<br />

Standard check out to -<br />

Standard check out from Y<br />

Emergency check out to -<br />

Emergency check out from Y<br />

Locks<br />

Allow concurrent dev 2, 3 or 4 (Yes) a<br />

Resolve conflicts 2, 3, or 4 (Yes) a<br />

Lock maintenance Y<br />

Request promotion<br />

Standard create request to Y<br />

Standard create request from Y<br />

Emergency create request to Y<br />

Emergency create request from Y<br />

Distribute standard request Y<br />

Distribute emergency request Y<br />

Move standard request Y<br />

Move emergency request Y<br />

Maintain requests Y<br />

Recover requests Y<br />

Override obj attribute source Y<br />

a Based on how concurrent development is defined within your organization: 2=Sequential only,<br />

3=All-Auto, 4=All-Manual. For details, see page 110.<br />

113


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

114<br />

Project Leader: Any Environment Type<br />

The project leader or a user profile that has move capabilities has the next ascending level of<br />

authority to maintain and monitor change activity. This person might be a senior developer,<br />

analyst, project leader, or manager. This user typically creates projects, manages concurrent<br />

development, and moves developer-created promotion requests into the environments the<br />

administrator controls. The following table lists the typical settings for environment<br />

administrators for production, development, and quality assurance environments.<br />

Capabilities Development QA Production<br />

Check Out<br />

Standard check out to Y - -<br />

Standard check out from - Y Y<br />

Emergency check out to N - -<br />

Emergency check out from - N Y<br />

Locks<br />

Allow concurrent dev 1 (No) 1 (No) 2, 3 or 4 (Yes) a<br />

Resolve conflicts 1 (No) 1 (No) 2, 3, or 4 (Yes) a<br />

Lock maintenance Y Y Y<br />

Request promotion<br />

Standard create request to - - Y<br />

Standard create request frm Y Y Y<br />

Emergency create request to - - Y<br />

Emergency create request frm Y Y Y<br />

Distribute standard request Y Y Y<br />

Distribute emergency request N N Y<br />

Move standard request Y Y Y<br />

Move emergency request N N Y<br />

Maintain requests Y Y Y<br />

Recover requests - - Y<br />

Override obj attribute source Y Y Y<br />

a Based on how concurrent development is defined within your organization: 2=Sequential only,<br />

3=All-Auto, 4=All-Manual. For details, see page 110.


Senior Developer: Any Environment Type<br />

Environments and User Capabilities<br />

The senior developer checks out source members, performs programming changes, and<br />

creates promotion requests. A senior developer is often given emergency capabilities. The<br />

following table lists the typical settings for senior developers for development, quality<br />

assurance, and development environments.<br />

Capabilities Development QA Production<br />

Check Out<br />

Standard check out to Y - -<br />

Standard check out from - Y Y<br />

Emergency check out to N - -<br />

Emergency check out from - N Y<br />

Locks<br />

Allow concurrent dev 1 (No) 1 (No) 2, 3 or 4 (Yes) a<br />

Resolve conflicts 1 (No) 1 (No) 2, 3, or 4 (Yes) a<br />

Lock maintenance N N Y<br />

Request promotion<br />

Standard create request to - Y Y<br />

Standard create request frm Y Y Y<br />

Emergency create request to - N Y<br />

Emergency create request frm N N N<br />

Distribute standard request N N Y<br />

Distribute emergency request N N Y<br />

Move standard request N N Y<br />

Move emergency request N N Y<br />

Maintain requests N N Y<br />

Recover requests N - N<br />

Override obj attribute source - Y N<br />

a Based on how concurrent development is defined within your organization: 2=Sequential only,<br />

3=All-Auto, 4=All-Manual. For details, see page 110.<br />

115


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

116<br />

User Acceptance Tester: QA Environment<br />

This user typically accepts promotion requests into their test environments, tests the changes<br />

in a controlled test environment, and creates promotion requests to production or the next<br />

test environment. The following table lists the typical settings for user acceptance testers for<br />

quality assurance environments.<br />

Capabilities QA<br />

Check Out<br />

Standard check out to -<br />

Standard check out from N<br />

Emergency check out to -<br />

Emergency check out from N<br />

Locks<br />

Allow concurrent dev 1 (No)<br />

Resolve conflicts 1 (No)<br />

Lock maintenance N<br />

Request promotion<br />

Standard create request to N<br />

Standard create request frm Y<br />

Emergency create request to N<br />

Emergency create request frm N<br />

Distribute standard request N<br />

Distribute emergency request N<br />

Move standard request N<br />

Move emergency request N<br />

Maintain requests N<br />

Recover requests N<br />

Override obj attribute source N


<strong>Implementer</strong> Software Owner MWIPROD<br />

Environment Repository Build<br />

<strong>Implementer</strong> includes the user profile MWIPROD. This user profile has security<br />

administrator rights to set up <strong>Implementer</strong> and owns most of the objects in <strong>Implementer</strong>.<br />

MWIPROD typically does not have capabilities to the environments in <strong>Implementer</strong>. <strong>MKS</strong><br />

recommends you define a user profile other than MWIPROD to serve as the administrator;<br />

however, this profile should not have specific authorities to the environments.<br />

NOTE <strong>MKS</strong> recommends you set the MWIPROD profile to bypass expiring the<br />

password. To do this, issue the CHGUSRPRF command with parameter value<br />

PWDEXPITV(*NOMAX).<br />

Security Officer<br />

<strong>MKS</strong> recommends you use the default user profile in the event that access is accidentally<br />

denied to other users in the system. The IBM-shipped security officer user profile QSECOFR<br />

has security administrator rights to administer <strong>Implementer</strong>.<br />

The security officer typically does not have capabilities to the environments in <strong>Implementer</strong>.<br />

<strong>MKS</strong> recommends you define a user profile other than QSECOFR to serve as the<br />

administrator. Again, this profile should not have specific authorities to the environments.<br />

NOTE Any of these user profiles can be group profiles; however, if a specific user is<br />

a member of a group but not enrolled under a separate OS/400 profile, the user has<br />

the same rights as those defined for the group profile.<br />

Environment Repository Build<br />

The Build List function, also called the “build”, loads source and object, and object code<br />

information from an environment’s set of libraries into <strong>Implementer</strong>’s environment<br />

repository. The repository provides a productivity aid that allows you to select members and<br />

objects from lists rather than having to manually type each name in the check out and create<br />

request functions. In addition, <strong>Implementer</strong> uses the repository for impact analysis to<br />

determine the source of related objects across environments.<br />

You can create the environment repository by using any of the following build types:<br />

*ALL processes all member/object types including related objects. By using additional<br />

parameters you can control whether to show build objects in the report, retain existing<br />

valid object codes, add new member/objects, remove records for items that no longer<br />

exist in the environment libraries, or completely clear the repository and rebuild it from<br />

start.<br />

*IFS processes IFS object only. This is useful when an environment has been actively<br />

managing traditional member/objects, and you add new IFS objects.<br />

117


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

118<br />

*REL processes related objects only. It updates the repository to show the environments<br />

where related objects exist.<br />

For more information on build types, see “Build List (IBLDMBOLST) Command Parameters”<br />

on page 119.<br />

The build generates the Environment Build Report, which provides member/object status<br />

and information on errors and warnings that occurred during the build. You can use this<br />

report in place of the job log or user message queue for troubleshooting errors with the build.<br />

For details, see “Environment Build Report” on page 121.<br />

Key Considerations<br />

You must have authority to host environment maintenance to run the build for a host<br />

environment, and authority to remote environment maintenance to run the build for a<br />

remote environment. These authorities are defined in Work with Users.<br />

The environment’s program library, file library, and source library must exist or the<br />

build ends in error.<br />

You can run the build from an option in Work with Environments or by using a<br />

command interface.<br />

In Work with Environments, the Build List field confirms the repository status for an<br />

environment.<br />

For each *PRD and *QAC environment in Work with Environments, specify to maintain<br />

related object information and specify the source of information. This is not required for<br />

development environments.<br />

If you use related objects in check out or create request, you must run the build for each<br />

new *PRD and *QAC environment to create the initial list of member/objects in the<br />

environment.<br />

Once you create the member/object list and the environment/libraries are handled by<br />

<strong>Implementer</strong>, the member/object list is maintained dynamically. You can rebuild the list<br />

for maintenance purposes at any time, for example, if you edit object codes that support<br />

source and object with different names.<br />

If multiple object codes exist with the same characteristics, the object code with the<br />

lowest sequence number is selected by the build when the Retain Object Codes value is<br />

set to *NO. This gives better control over which object code is selected for the<br />

environment.<br />

Changing the sequence number of an object code may change the compile sequence of<br />

members/objects in Compile Request.<br />

The build does not assign object codes used to change the characteristics or data of an<br />

existing object. This applies to any object code defined with creation process M or a<br />

special characteristic beginning with “*”. For example, the build does not assign the<br />

object codes PFDTA, PFCHG, and MRGMSGF.


Environment Repository Build<br />

For AS/SET environments, the build includes both traditional objects and AS/SET<br />

definitions that exist in the application set specified for the environment.<br />

Object Version Stamping<br />

During the build for production environments, <strong>Implementer</strong> if object version stamping is<br />

active in System Control Maintenance. If active, and the actual object is stamped with a<br />

version number, <strong>Implementer</strong> processes the corresponding repository record as follows:<br />

If the object version is valid, the build assigns that version number to the repository<br />

record.<br />

If the object is not stamped or stamped with an invalid version number, the build assigns<br />

the repository record with version number 1 or 1.0 based on the specified versioning<br />

method. If a user-defined versioning method is specified, a user exit allows you to set the<br />

version number.<br />

The repository records for *TST and *QAC environments are built with a blank version<br />

number, and source-only objects built by <strong>Implementer</strong> are disregarded (they are not assigned<br />

a version number). For more information on object version stamping, see page 146.<br />

NOTE The build updates the repository record with the object version, not the actual<br />

object. The build also does not stamp objects with issue or DR numbers.<br />

To run the build list<br />

1 From the <strong>Implementer</strong> Menu, type option 42, Environments, and press ENTER.<br />

2 Select the environment with option 30=Build List, and press ENTER. The Build Member/<br />

Object Lists (IBLDMBOLST) command panel displays.<br />

3 Complete the command parameters as described in “Build List (IBLDMBOLST)<br />

Command Parameters” on page 119.<br />

Upon successful completion a message confirms the job completed normally. In Work<br />

with Environments, the Build List field reflects the repository status for each<br />

environment.<br />

TIP You can run the environment build list for IFS objects only from Work with<br />

Objects option F21=Build IFS Object List.<br />

Build List (IBLDMBOLST) Command Parameters<br />

The Build List (IBLDMBOLST) command is the command interface to Work with<br />

Environments option 30=Build List.<br />

119


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

120<br />

Environment<br />

Specify the environment to build the repository for.<br />

Build type<br />

Specify the objects to include in the repository.<br />

*ALL Builds the repository for all objects in the environment libraries, including<br />

IFS objects. Generates the Environment Build Report.<br />

*IFS Builds the repository for IFS objects only. Generates the Environment Build<br />

Report. Requires the following Retain object codes parameter value set to<br />

*NO.<br />

*REL Builds the repository for related objects only. Does not generate the<br />

Environment Build Report. Requires the following Retain object codes<br />

parameter value set to *YES.<br />

Retain object codes<br />

The build validates each repository record in the environment’s libraries to ensure the<br />

associated object code is valid. If valid, the record remains as is. If not valid, derives a new<br />

object code and recreates the repository record.<br />

Specify how to build the repository.<br />

*YES Validates the object code, object and/or source, and retains the existing<br />

object code for valid items. Builds the repository with new source/objects<br />

added to the environment’s libraries. Removes source/objects that no<br />

longer exist in the environment’s libraries. This is useful for environments<br />

with object codes modified after the initial repository build, for example,<br />

changes to sequence numbers, compile parameters, or compile commands,<br />

as it retains valid records you otherwise have to recreate.<br />

This is the default value and requires the Build Type value *ALL.<br />

*NO Clears the repository of existing records and rebuilds it based on current<br />

information in the environment’s libraries.<br />

Show built objects in report<br />

Specify whether to include built objects in the Environment Build Report.<br />

*YES The report includes a list of all member/objects in the environment<br />

repository.<br />

*NO The report excludes the environment repository section.<br />

Output queue/Library<br />

Specify the output queue and library for the Environment Build Report. The value *JOB uses<br />

the output queue and library of the user submitting the job.


Submit<br />

Specify *YES to submit the job to batch processing, or *NO to run interactively.<br />

Job queue/Library<br />

Environment Repository Build<br />

Specify the job queue and library for the build list. The value *PRODUCT uses the default<br />

output queue and library specified in System Control Maintenance.<br />

Hold on job queue<br />

Specify whether to hold the build list job on the job queue.<br />

*JOBD Uses the value specified in the job description of the user submitting the<br />

job. This is the default value.<br />

*NO The job is not held on the job queue.<br />

*YES The job is held on the job queue.<br />

Common Questions<br />

When do you need to run the build list?<br />

Run the build list for each newly created environment, or if you add source or objects to the<br />

environment library outside of <strong>Implementer</strong>.<br />

If you create a new member using <strong>Implementer</strong>, is it necessary to rerun the build list?<br />

No. <strong>Implementer</strong> automatically updates the list. When you check out a new member with an<br />

action code of 2, <strong>Implementer</strong> creates a new member.<br />

Environment Build Report<br />

The Environment Build Report generates automatically for the build types *ALL and *IFS.<br />

The report does not generate for the build type *REL. This report is helpful for problem<br />

resolution if errors or unexpected results occur during a build, as it replaces having to use the<br />

job log or user message queue for troubleshooting errors with the build.<br />

The report includes the following information:<br />

general environment information<br />

list of all source members and objects in the environment libraries not added to the<br />

repository, with specific messages for each source member and object<br />

optionally, a list of all source, objects, and object codes loaded into the repository<br />

list of objects in the environment libraries not added to the repository<br />

list of source members in the environment libraries not added to the repository<br />

warnings that occurred during the build for specific related objects<br />

121


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

122<br />

message legend that guides you to specific actions to resolve the errors<br />

NOTE Although rare, the job log may also include unique problems not detectable<br />

by <strong>Implementer</strong>.<br />

Environment Repository Report<br />

The Environment Repository Report provides a listing of all source members and objects<br />

currently in the repository. The report is a print snapshot of the environment information<br />

that displays when filtering by environment and viewing detail in Work with Objects.<br />

The report includes general environment information and a list of all objects and object codes<br />

currently in the repository. You can optionally include related objects. You can sort the report<br />

by object name or object code.<br />

When both traditional and IFS objects exist for an environment, the report is divided into two<br />

sections; one for traditional objects and the other for IFS objects. IFS object names include the<br />

full object name and relative path. If the long name and path are longer than 100 characters,<br />

the field truncates at the end.<br />

The values stored in the Chg Date/Time fields are the latter of the date and time of the last<br />

environment build or the last promotion.<br />

The report is available by using Work with Environments option 27=Repository Report.<br />

When selected, it prompts the Repository Report (IPRTREPRPT) command. You can also<br />

issue the command from a command line. This is a host-only feature (not available on remote<br />

systems).<br />

To generate the Environment Repository Report<br />

1 Do either of the following to prompt the Repository Report (IPRTREPRPT) command:<br />

From Work with Environments, type option 27=Repository Report next to the<br />

environment, and press ENTER.<br />

On a command line, type IPRTREPRPT and press F4=Prompt.<br />

2 Complete the parameters as defined next in “Repository Report (IPRTREPRPT)<br />

Command Parameters” and press ENTER. The report generates to the user’s default spool<br />

file based on the command parameters.<br />

NOTE Running the Environment Repository Report for an environment when the<br />

build list has not been run causes an empty report. In Work with Environments,<br />

check the Build List field to verify the environment’s build status.


Repository Report (IPRTREPRPT) Command Parameters<br />

Environment<br />

Environment Repository Build<br />

Specify the environment name. If using Work with Environments option 27=Repository<br />

Report, this value defaults to the environment selected.<br />

Show related objects<br />

Specify *YES to include related objects, or *NO to omit related objects.<br />

Member/object sort method<br />

Specify the report sort order.<br />

*OBJECT The report sorts in member/object order. This is the default value.<br />

*OBJCODE The report sorts in object code order.<br />

Output queue/Library<br />

Specify the output queue and library for the report output. The default value *JOB uses the<br />

output queue and library associated with the user generating the report.<br />

Submit<br />

Specify whether to submit the job for batch processing or run interactively. The default value<br />

*YES submits the job.<br />

Job queue/Library<br />

Specify the job queue and library for job processing. The default value *PRODUCT uses the<br />

default job queue and library defined in System Control Maintenance.<br />

Hold on job queue<br />

Specify whether to hold the report job on the job queue.<br />

*JOBD Uses the value specified in the job description of the user submitting the<br />

job. This is the default value.<br />

*NO Does not hold the job.<br />

*YES Holds the job.<br />

Environment Verification Report<br />

The Environment Verification Report is an audit tool that allows you to compare the actual<br />

source and objects in an environment’s set of libraries to the source and object definitions<br />

recorded in the <strong>Implementer</strong> repository for the environment. It is useful to run after using<br />

<strong>Implementer</strong> to manage member/objects, to verify the accuracy or validity of the<br />

environment’s contents and to identify potential problems.<br />

123


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

124<br />

The verification identifies: compile dates, source location, authorities, unexpected source and<br />

objects in the environment libraries—and vice versa—expected source or objects not located,<br />

and changes made outside of <strong>Implementer</strong>.<br />

The report lists items by section ID according to the potential issue identified, as follows:<br />

objects in the environment libraries that do not exist in the repository<br />

source members in the environment libraries that do not exist in the repository<br />

objects in the repository that do not exist in the environment libraries<br />

source members in the repository that do not exist in the environment libraries<br />

source-based objects in environment libraries that were created from source other than<br />

that defined to the environment<br />

source members in the repository where the change date/time stamp on the actual<br />

source member does not match that of the repository record<br />

objects in the repository where the change date/time stamp on the actual object does not<br />

match that of the repository record<br />

IFS files in a directory but not in the repository<br />

IFS files in the repository but not in a directory<br />

This feature is available for both host and remote environments by using Work with<br />

Environments option 26=Verification Report. When selected, it prompts the Verification<br />

Report (IVFYRPT) command. You can also issue the command from the command line.<br />

To generate the analysis and print the Environment Verification Report<br />

1 Do either of the following to prompt the Verification Report (IVFYRPT) command:<br />

From Work with Environments, type option 26=Verification Report next to the<br />

environment, and press ENTER.<br />

On a command line, type IVFYRPT and press F4=Prompt.<br />

2 Complete the parameters as defined next in “Verification Report (IVFYRPT) Command<br />

Parameters” and press ENTER. The report generates to the user’s default spool file based<br />

on the command parameters.<br />

Verification Report (IVFYRPT) Command Parameters<br />

Environment<br />

Specify the environment name to process. If using Work with Environments option<br />

26=Verification Report, the value defaults to the environment selected.


Output queue/Library<br />

Environment Groups<br />

Specify the output queue and library to place the report. The default value *JOB uses the<br />

output queue and library of the user submitting the job.<br />

Submit<br />

Specify whether to submit the job or process interactively. The default value *YES submits<br />

the job. Specify *NO to process interactively.<br />

Job queue/Library<br />

Specify a job queue and library name, or use the default value *PRODUCT to use the job<br />

queue and library defined in System Control Maintenance.<br />

Hold on job queue<br />

Specify whether to hold the report job on the job queue.<br />

*JOBD Uses the value specified in the job description of the user submitting the<br />

job. This is the default value.<br />

*NO Does not hold the job.<br />

*YES Holds the job.<br />

Environment Groups<br />

An environment group is a collection of two or more environments, called a target<br />

environment group. You can use a target environment group to promote a request containing<br />

one or more objects to more than one environment. The target environment group function<br />

eliminates the need to select a list of environments every time you create a promotion request<br />

to multiple target environments.<br />

Key Considerations<br />

You can specify an environment group on an application path. For details on path setup,<br />

see “Environment Path” on page 101, and “Project-based Application Paths” on<br />

page 142.<br />

If the environment group’s primary environment is the first production environment on<br />

the path, it is the check out From environment.<br />

If a production environment precedes the environment group on the path, the first<br />

production environment is the check out From environment.<br />

If the environment group targets AS/SET environments, the first environment in the<br />

environment group must be an AS/SET environment. You can include other AS/SET<br />

environments in the environment group.<br />

125


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

126<br />

When using environment groups for promotion, AS/SET information is promoted only<br />

to the environments defined as AS/SET environments.<br />

To minimize potential errors with promoting to incorrect environments, you cannot<br />

modify an environment group using the Target Environments function in Create<br />

Request, Compile Request, Move Request, or Request Maintenance.<br />

If you use <strong>MKS</strong> Source archiving, when a promotion targets an environment group that<br />

has both local and remote environments, only the local environment has the revision<br />

update (you cannot archive remote environments in <strong>MKS</strong> Source). If you later promote<br />

the items to a group, either QA environments further on the path or production, both the<br />

host and remote repository entries for the items reference the associated revision IDs.<br />

To create or change an environment group<br />

1 From the <strong>Implementer</strong> Menu, type option 43, or type STRIM (*WRKENVGRP) on the<br />

command line and press ENTER. The Work with Environment Groups selection panel<br />

displays.<br />

2 Do one of the following:<br />

To add an environment group, press F6=Add.<br />

To copy an existing environment group, type 3 in the Opt field and press ENTER.<br />

To change an environment group, type 2 in the Opt field and press ENTER.<br />

3 On the Work with Environment Groups detail panel, complete the following fields:<br />

In the Environment group field, type the group name. The value must begin with an<br />

asterisk (*) and include a description.<br />

In the Opt field, type 1 to select the environments to include.<br />

For each selected environment, in the Seq field type the sequence for promotion.<br />

The primary environment must be sequence 1. Additional environments must have<br />

a sequence greater than 1.<br />

In the Cmp field, specify Y or N to indicate whether to compile for this environment.<br />

4 Press ENTER. The Work with Environment Groups selection panel displays.<br />

TIP To work with an environment, press F20 to display the Work with<br />

Environments panel.<br />

Common Questions<br />

Can you target multiple environments if an environment group is not defined?<br />

Yes. During Create Request, press F14=Target environments and select the additional<br />

environments.


Object Codes<br />

What signifies an environment group name?<br />

Environment group names must begin with an asterisk (*).<br />

How is a primary environment identified from other environments in an environment group?<br />

A primary environment must be sequence 1. Typically, this is a host production<br />

environment. Additional environments must be a sequence greater than 1.<br />

Can a target environment group be used on a path?<br />

Object Codes<br />

Yes. You can use an environment group on a path. If the environment group’s primary<br />

environment is the first production environment on the path, it is the check out From<br />

environment. If a production environment precedes the environment group on the path, the<br />

first production environment is the check out From environment.<br />

<strong>Implementer</strong> uses object codes to define the various types of members/objects you check out<br />

and promote. They also enable automatic functions when you associate an object with an<br />

object code.<br />

An object code combines information from the OS/400 object type and source type and<br />

directly associates the following to an object: OS/400 object type, object attribute, source<br />

member type, default source file, and default authority. You can manually override the<br />

default creation command and authority when you create the promotion request.<br />

The Work with Object Codes function allows you to create, change, delete, activate, and<br />

deactivate object codes. Most users do not need to change the default values; however, this<br />

parameter-driven approach allows you to:<br />

Create new object codes for object types not shipped in <strong>Implementer</strong> (for example, other<br />

programming languages).<br />

Change the standard source file for existing objects codes. For example, you can specify<br />

that COBOL programs default to using the source file name QCBLSRC instead of the<br />

standard OS/400 default name QLBLSRC. Changes you make to global object codes in<br />

Work with Object Codes do not overwrite overrides defined at the environment level.<br />

Change the compile options. For example, you can optimize all RPG programs during<br />

compilation without changing the actual CRTRPGPGM command.<br />

Call your own compile procedures by changing the commands used for compiling. For<br />

example, many third-party application software packages have their own compile<br />

commands.<br />

Deactivate object codes you do not use, for example, System/36 and System/38<br />

environment object codes.<br />

127


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

128<br />

Control source archiving in <strong>MKS</strong> Source (requires active integration between<br />

<strong>Implementer</strong> and <strong>MKS</strong> Source). For details, see “<strong>Implementer</strong> and <strong>MKS</strong> Source<br />

Integration” on page 259.<br />

Key Considerations<br />

You can define object codes at three levels: object code, environment, and system. Object<br />

codes defined at the object code level and environment level can be activated or<br />

deactivated for one or all environments. Object codes defined at the system level can be<br />

activated or deactivated at the system or environment level.<br />

Object codes must be active and enabled to the specific environment before you can use<br />

them. Inactive object codes cannot be used within <strong>Implementer</strong>.<br />

When you make an object code inactive, <strong>Implementer</strong> retains any existing environment<br />

overrides. To reactivate, simply change the value of the Activity flag field. Reactivating<br />

the object code also reactivates the environment overrides.<br />

When defining object codes for source members and corresponding objects with<br />

different names, object codes that use a creation command with the SRCMBR parameter<br />

(for example, CRTPLIPGM) must specify the keyword #SRCMBR in the Source Member<br />

Name parameter. In the Creation command field, add SRCMBR(#SRCMBR.<br />

After editing object codes for an environment that has source and object with different<br />

names, run the Build List, option 30 in Work with Environments. For details, see<br />

“Environment Repository Build” on page 117.<br />

When using the SQLTABL (for physical files) and SQLINDX (for logical files) object<br />

codes, you must check out all related PFs and LFs together—implicit LF processing does<br />

not occur.<br />

To create or change an object code<br />

1 From the <strong>Implementer</strong> Menu, select option 44, Object Codes, or type STRIM<br />

(*WRKOBJCDE) at the command line, and press ENTER.<br />

2 Do one of the following:<br />

To add a new object code, press F6=Add. The Create Object Code panel displays.<br />

To copy an existing object code, type 3 in the Opt field and press ENTER. The Create<br />

Object Code panel displays.<br />

To change an existing object code, type 2 in the Opt field and press ENTER. The<br />

Change Object Code panel displays.


Object Codes<br />

3 Complete the fields as described in “Object Code Field Descriptions” on page 129 and<br />

press ENTER.<br />

4 On the Object Code Override Defaults window, the activation reply options pertain to<br />

the action you performed: create, change, or reactivate. Select one of the following values<br />

and press ENTER.<br />

A=All: Activates to all environments. Use this when the object code is valid for all or<br />

most environments. You can selectively deactivate it for any environment as<br />

needed. Valid for actions create, change, and delete.<br />

N=None: Does not activate to any environment. Use this when few environments<br />

use the object code. You can selectively activate it for any environment as needed.<br />

Valid for actions create and reactivate.<br />

K=Keep: Activates the object code to the environments it was previously active to.<br />

Use this when reactivating an object code and the environments it was previously<br />

active to has not significantly changed. Valid for actions change and reactivate.<br />

Field Description<br />

Object Code Field Descriptions<br />

Object code Specify the name of the object code. The code relates to the source<br />

member type, not the OS/400 object type.<br />

Object codes for IFS files must begin with a dot (.) and can be followed<br />

by a character string. Object codes for IFS directories must begin with a<br />

backward slash (\). If the directory name has an extension, define the<br />

object code with a backward slash followed by a dot and the extension.<br />

For example, the object code for directory DIR.ONE is \.ONE.<br />

129


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

130<br />

Field Description<br />

Object Code Field Descriptions<br />

Activity flag Specify the status of the object code. You cannot check out or create a<br />

request for a member/object using an inactive object code. You can use<br />

an inactive object code for inquiry purposes.<br />

1=Active: Object code is active. This is the default value for most object<br />

codes.<br />

0=Inactive: Object code is inactive. Some infrequently used object<br />

codes are delivered inactive with <strong>Implementer</strong>.<br />

Object type Specify the type of object associated with this object code.<br />

When this field blank, the object code is referred to as non object based.<br />

This occurs, for example, when you use <strong>Implementer</strong> to check out non<br />

OS/400 objects such as printed user manuals or source-based items that<br />

only have a source member, such as OCL36 source members.<br />

Object attribute Specify the system attribute of the object associated with this object<br />

code.<br />

Source member type For object codes related to source members or source-based objects,<br />

specify the system source member type. When this field is blank, the<br />

object code is referred to as non source-based.<br />

Match the source member type code of the actual object to what is<br />

defined in <strong>Implementer</strong>. For example, the source member type for a<br />

reference file defaults to PF (like a standard physical file). To compile the<br />

reference file before the physical file, change this type to PFREF and<br />

specify a lower sequence number.<br />

Default source file For object codes related to source-based objects, specify the name of the<br />

source file. You can override the source file name in Work with<br />

Environments when you define object codes for an environment, or in<br />

Work with User Profiles by specifying the development source files of the<br />

developer.<br />

Creation sequence Specify the sequence to compile members and objects. The value must<br />

be a unique number between 1–ZZZZ. Certain object types require<br />

compiling before others. In general, the logical order is as follows: field<br />

reference files, physical files, logical files, device files (such as display<br />

and printer files), commands, and programs. The object codes delivered<br />

with <strong>Implementer</strong> use this order.<br />

When automatically assigning object codes in check out or promotion,<br />

<strong>Implementer</strong> assigns sequence 8000 to IFS directory object codes, and<br />

sequence 8010 to IFS files.<br />

Special characteristics Specify any special characteristics for the object code, such as copy data<br />

only rather than a file, merge messages in message files, or any CASE<br />

related characteristics. <strong>Implementer</strong> considers these characteristics when<br />

processing the object code.<br />

For IFS files, specify PCFILE. For IFS directories, specify PCDIR.


Field Description<br />

Object Code Field Descriptions<br />

Object authority Specify whether to keep object authority of existing object or assign<br />

based on the target environment definition.<br />

Object Codes<br />

*KEEP: Retains authority of the object in the target environment. If the<br />

object does not exist in the target environment, then *GRANT is<br />

assigned. This is the default value.<br />

*GRANT: Grants authority to the object based on the target<br />

environment. Assigns the object owner as defined in the Obj Owner<br />

field on the Change Environment panel. Assigns object authorities<br />

based on the list of authorities on the Work with Environments - Object<br />

Authorities panel. Ignores existing authorities if object exists in the<br />

target environment library.<br />

Remove obj in from env Specify whether to delete objects of this type in the From environment<br />

after successful promotion. a<br />

Remove src in from env Specify whether to delete the source for objects of this type in the From<br />

environment after successful promotion. a<br />

Creation process Specify when to issue the creation command:<br />

C=Compile: Creation command runs during the Compile Requests<br />

function. Most object codes delivered with <strong>Implementer</strong> have this<br />

creation process.<br />

Use this for: objects requiring compilation, duplicating or moving<br />

objects into production, creating a new object, replacing an existing<br />

object. <strong>Implementer</strong> places the object/source member into a work<br />

library before the move. Move Requests function replaces the existing<br />

object and/or source member. During the move, <strong>Implementer</strong> executes<br />

the commands required to move the object or source member into the<br />

environment library. This is the default value.<br />

M=Move: Creation command runs during the Move Requests function.<br />

Use this only to copy source members and execute commands that<br />

directly change production database files, such as conversion<br />

programs or copying data. During the compile step, <strong>Implementer</strong> does<br />

not perform any action on items with this object code. Use this process<br />

only for object codes that leave the existing object and/or source<br />

member in place and simply change or affect the object or member, for<br />

example, object codes CHGPGM or CHGPRTF, or CPYF command<br />

when promoting data in a file.<br />

131


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

132<br />

Field Description<br />

Object Code Field Descriptions<br />

Archive in <strong>MKS</strong> Source Specify whether to archive the source for this object code in <strong>MKS</strong> Source.<br />

Requires active integration between <strong>Implementer</strong> and <strong>MKS</strong> Source. By<br />

default, source-based object codes and those with a special<br />

characteristic of PCFILE are set for archiving in <strong>MKS</strong> Source. Non<br />

source-based object codes and those with a special characteristic of<br />

PCDIR are not eligible for archiving in <strong>MKS</strong> Source.<br />

Y=Yes: Archives source for the object code if the target environment is<br />

eligible. Valid only for source-based object codes and those with<br />

special characteristic PCFILE. This is the default value.<br />

N=No: Does not archive source for the object code. Required value for<br />

non source-based object codes and those with special characteristic<br />

PCDIR.<br />

For details, see “<strong>Implementer</strong> and <strong>MKS</strong> Source Integration” on page 259.<br />

Creation command Specify the OS/400 command required to create an object or perform the<br />

migration task for the object code. <strong>Implementer</strong> replaces any substitution<br />

variables (references to objects within the creation command) with the<br />

actual names and libraries associated with the implementation request.<br />

The valid substitution variables are as follows:<br />

#FILLIB: For creation process C, substitutes the temporary work library<br />

where the request’s files and program objects are moved or compiled<br />

into. For compile=Y requests, objects do not exist until successfully<br />

compiled. Changing the authorities of objects in this library does not<br />

affect the authority of the object in the target environment. For creation<br />

process M, substitutes the target library.<br />

#FRMLIB: For creation process C, substitutes the temporary work<br />

library where the request’s files and program objects are moved or<br />

compiled into. For compile=Y requests, the objects do not exist until<br />

successfully compiled. For creation process M, substitutes the work<br />

library created for the request. Changing authorities of objects in this<br />

library does not affect authority of objects in the target environment.<br />

#OBJECT: Substitutes the current member/object name at the time of<br />

promotion.<br />

#OBJNM9: Substitutes the current, short object name at the time of<br />

promotion.<br />

#PGMLIB: Same as #FRMLIB.<br />

#SRCFIL: Substitutes the source file name of the promoted item. For<br />

creation process C, it is the same as #WRKSRCFIL. For creation<br />

process M, it is the target source file.<br />

#SRCLIB: Substitutes the target source library of the promoted item.<br />

For creation process C, it is the work source library. For creation<br />

process M, it is the target source library.<br />

#SRCMBR: Substitutes the source member name of the promoted<br />

item.<br />

a The value specified here is only used as the default value when creating new environment object code<br />

overrides. You can override it at the environment level. Changing this value affects overrides created<br />

from this point forward, it does not affect existing overrides. For details, see “Removing Source and<br />

Objects After Promotion” on page 92.


Environment Overrides<br />

Object Codes<br />

This function allows you to work with specific object codes by environment. You can<br />

override the object library, source file, or source library for an environment, and activate or<br />

deactivate specific object codes. You can also override the default values that determine<br />

whether <strong>Implementer</strong> automatically deletes source and objects when promoting from the<br />

environment.<br />

To work with object code overrides for environments<br />

From Work with Object Codes, select an object code with option 7=Environment Overrides<br />

and press ENTER. The Work with Object Code/Environment panel displays.<br />

This panel is similar to the Change Environment Object Code Overrides panel you access<br />

from Work with Environments—the only difference is the data sort order. This view allows<br />

you to work with all environments for a specific object code. For information on defining this<br />

panel, or to view all object codes for a specific environment, see “Object Code Overrides” on<br />

page 91.<br />

Object Codes for Third Party Integrations<br />

<strong>Implementer</strong> supports integrations with a variety of other software vendors. For this<br />

purpose, <strong>Implementer</strong> reserves the following object code special characteristics: ADK for<br />

AS/SET definitions, LAN for LANSA objects, and JDE for PeopleSoft World soft coding<br />

items.<br />

133


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

134<br />

AS/SET Integration<br />

The following special characteristic codes are for managing AS/SET definitions.<br />

ADKDSP ADKMDL<br />

ADKDSP ADKFLD<br />

ADKHLP ADKFIL<br />

ADKBAT ADKAUD<br />

ADKRPT ADKSUB<br />

Create object codes that have special characteristics beginning with ADK as non source and<br />

non object based object codes. Create object codes using special characteristics beginning<br />

with ADK as non source and non object based object codes. For more information, see<br />

“AS/SET Integration” on page 316.<br />

PeopleSoft World Integration<br />

The following special characteristic codes are for managing PeopleSoft World applications.<br />

JDEUDE JDEDDC JDEWCS<br />

JDEUDS JDEVOV JDNSPC<br />

JDEDWR JDEMNU JDNPRTF<br />

JDEMBM JDEFST<br />

JDEWWR JDEPRO<br />

If you use <strong>Implementer</strong> to manage the PeopleSoft World User Defined Code, see the<br />

instructions for constructing the member/object name of this soft coding item in “PeopleSoft<br />

World Integration” on page 355.<br />

LANSA Integration<br />

The following special characteristic codes are used for managing LANSA objects.<br />

LANFLD LANXMLC<br />

LANFIL LANSVAR<br />

LANFLDT LANMVAR<br />

LANPROC LANWEBC<br />

LANFNC LANXMLC<br />

For more information, see “LANSA Integration” on page 328.


Object Codes for DDM Support<br />

Object Codes<br />

<strong>Implementer</strong> supports the management of Distributed Data Management (DDM) software.<br />

For this purpose, you must create three new object codes: DDMDTAA, DDMDTAQ, and<br />

following table.<br />

To create this object code ... copy this object code ... and specify this Object Attribute<br />

DDMDTAA DTAARA DDMDTAARA<br />

DDMDTAQ DTAQ DDMDTAQUE<br />

DDMF PF DDMF<br />

For more information on managing DDM software, see “Using Special Commands to<br />

Manage DDM Software” in the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> User <strong>Guide</strong>.<br />

Object Codes for IFS Objects<br />

<strong>Implementer</strong> provides a variety of default object codes for managing IFS directories and files.<br />

When you need to use an object code that does not exist, you can create an IFS object code the<br />

same as a traditional object code in Work with Object Codes, or you can define <strong>Implementer</strong><br />

to automatically create them when you check out or create a promotion request. The latter<br />

option requires activation in System Control Maintenance as described in “Allow IFS object<br />

code creation from Check Out and Create Rqs” on page 68.<br />

Object codes defined with a special characteristic of PCFILE display the PC file extension<br />

name in the Creation command field. When you display a PCFILE or PCDIR object code, the<br />

Creation command field name changes to IFS Object Extension. When you edit or copy an IFS<br />

object code the field name is Creation command.<br />

Due to the way that <strong>Implementer</strong> matches the object code for files with long extensions to the<br />

short form in the object code, <strong>MKS</strong> recommends you deactivate (rather than delete) obsolete<br />

object codes to ensure the retention of accurate history.<br />

NOTE <strong>Implementer</strong> supports Document Library Objects (DLO) within the IFS and<br />

automatically retains all DLO attributes and characteristics during promotion.<br />

However, because the Move Object (MOV) command used to move QDLS and IFS<br />

objects from the staging directory to the target directory does not support spanning<br />

ASPs, the promotion of QDLS and DLO objects must run in the system Auxiliary<br />

Store Pool (ASP) ASP1.<br />

To define object codes for IFS files and directories<br />

1 Access the Create Object Code panel as described in “Object Codes” on page 127.<br />

An example object code displays next.<br />

135


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

136<br />

2 Define the required fields as follows:<br />

In the Object code field, object codes for files must begin with a dot (.), and can<br />

have a trailing character string. An object code for a directory must have a unique<br />

object code that begins with a backward slash (\). If the directory name has an<br />

extension, define the object code with a backward slash followed by a dot and the<br />

extension, for example, the object code for directory DIR.ONE is \.ONE.<br />

In the Description field, type a description for the object code.<br />

In the Activity flag field, type 1 to activate the object code. Use option 2 to deactivate<br />

the object code. Object codes must be active to use them in <strong>Implementer</strong>.<br />

In the Creation sequence field, specify a number from 1–9999 to identify the order of<br />

creation for this type of object (does not have to be unique per object code). IFS<br />

object codes created by <strong>Implementer</strong> during check out or create request have<br />

creation sequence 8000. IFS files have creation sequence 8010.<br />

In the Special characteristics field, type PCFILE for a file or PCDIR for a directory.<br />

NOTE The Archive in <strong>MKS</strong> Source field defaults to Y for PCFILE or N for PCDIR.<br />

3 Press ENTER to save the changes.<br />

Object Codes for Setting a Data Area Value<br />

<strong>Implementer</strong> provides two object codes that allow you to populate a target data area value<br />

upon promotion of the data area to the target library.


Object Name Rules<br />

The object codes allow you to use a single request to promote to one or more libraries or<br />

systems and retain or replace specific data area values as needed. This is useful, for example,<br />

for a data area that controls the next order number when a new customer needs the data area<br />

value set to a newly distributed value, and an existing customer needs to retain the existing<br />

value.<br />

The object codes for setting a data area value are as follows:<br />

Use object code DTAARA to copy data in the From library to the target library. It has no<br />

special requirements.<br />

Use object code DTAARAR to retain the existing value of a data area in the target library.<br />

It has an the object type *DTAARA and the special characteristic *DTA. The special<br />

characteristic is significant—it controls whether the existing data area value is retained.<br />

You must define the DTAARAR object code with the *DTA special characteristic to<br />

function as described.<br />

Common Questions<br />

Why are object codes necessary? Can’t objects just be compiled into production libraries?<br />

Object codes allow you to consistently and accurately control how <strong>Implementer</strong> creates<br />

objects and updates your production libraries.<br />

Is the creation sequence critical?<br />

Yes. The creation sequence determines the compilation order. For example, the PF object code<br />

should have a lower sequence than the LF object code to allow compiling the physical file<br />

before the logical file.<br />

Object Name Rules<br />

<strong>Implementer</strong> supports the use of rules to control the naming construct of new member/<br />

objects. This allows an administrator to enforce a standard set of naming rules that<br />

developers must follow when creating member/objects in check out.<br />

Object name rules allow for flexibility in member/object naming, and provide for multiple<br />

true conditions using standard Boolean logic. This feature also supports the ability to call<br />

user exit programs.<br />

Name validation is performed on an environment and object code basis, where each<br />

positional group of the object name validates to a position and sequence in the rules<br />

database. If more than one rule exists for a specific position, each rule must have a unique<br />

sequence number. Any additional rules defined after the first rule for a specific position must<br />

specify *AND or *OR to indicate a complex condition.<br />

137


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

138<br />

When you check out a member/object with Action 2=Create, the rules are validated and<br />

enforced. Rule validation occurs in the following order:<br />

1 If the specific object code is not found, then the global object code *ALL is used.<br />

2 If the specific environment is not found, then the global environment *ALL is used.<br />

3 If the object code and environment are not found, then the global rule *ALL/*ALL is<br />

used.<br />

4 If no rules are found, then name validation is bypassed.<br />

If the member/object name breaches the rule, the check out is not allowed and a message<br />

confirms the environment, object code, position, length, and rule used. Additional message<br />

information is available for problem resolution. After correcting any errors, continue with the<br />

check out.<br />

You create and maintain name rules in the Work with Object Name Rules panel. You have<br />

three options for accessing this panel based on how you implement name rules as follows:<br />

specific object codes for specific environments<br />

all object codes for a specific environment<br />

specific object codes for all environments<br />

When maintaining a rule set on the Work with Object Name Rules panel, each current rule is<br />

graphically represented by a value in the Mask field. This represents which rule applies to<br />

each position of the object name.<br />

CAUTION Due to the inherent flexibility within the name rule structure, it is possible<br />

to define a rule that blocks compliance and thereby causes unpredictable results. Be<br />

sure to test all rules before using in production.<br />

Option 1: Specific Object Code for Specific Environment<br />

This option allows you to define name rules that enforce validation of a specific object code<br />

for a specific environment.<br />

To work with name rules for a specific object code and environment<br />

1 From the <strong>Implementer</strong> Menu, select option 42 to access Work with Environments.<br />

2 Select an environment with option 2=Change and press ENTER.<br />

3 Press F8=Object Codes.


Object Name Rules<br />

4 Select an object code with option 7=Work with Object Name Rules, and press ENTER. The<br />

Work with Object Name Rules panel displays.<br />

Use option 2 to edit an existing rule.<br />

Use option 3 to copy a rule.<br />

Use option 4 to delete a rule.<br />

Use option 5 to view rule details.<br />

The Environment, Object Code, and Mask fields display in the upper-left section of the<br />

panel. The mask defines which rules apply to each section of the object name. Creating a<br />

name rule automatically creates a mask. The mask is defined in lower-case letters. Each<br />

letter within the mask name corresponds to a set of rules based on position as follows:<br />

If more than one rule exists for a specific position, each rule must have a unique<br />

sequence number.<br />

Any rules after the first rule for a position must have *AND or *OR specified in the<br />

And/Or field to indicate a Boolean condition.<br />

Overlapping rules is not allowed. Overlapping a new rule with an existing rule<br />

(based on position and length) causes an error message.<br />

Each time you modify a rule, the Mask field updates to reflect the fields added or<br />

removed from the rule set.<br />

Deleting the first rule for a position (And/Or = BLANK) deletes all rules for that<br />

position. Deleting any other rule (And/Or < > BLANK) only deletes that rule. If the<br />

Comparison field value is *CALL, the program calls your external user exit program<br />

with the required parameters.<br />

139


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

140<br />

To add an object name rule<br />

1 Press F6=Add to display the Add Obj Name Rule window.<br />

2 Complete the fields as described in the following table and press ENTER. The Object<br />

Name Rules panel displays.<br />

Field Description<br />

Add Object Name Rules Field Descriptions<br />

Position Specify the starting position of the object name portion to validate. Valid values<br />

are 1–10 (standard OS/400 object length).<br />

Length Specify the length of the object name portion to validate. Valid values are 1–10<br />

(standard OS/400 object length). The length cannot overlap an existing rule.<br />

Sequence Specify the sequential order to process the name rules. Valid values are 1–999.<br />

And/Or (Optional) Specify a logical operator between two expressions. Valid values are<br />

BLANK in the first rule for a position, and *AND or *OR in subsequent rules.<br />

Comparison Specify a logical operator that compares a portion of the object name to the value<br />

specified in the Value field. Valid values are *EQ, *NE, *LT, *LE, *GT, *GE, or<br />

*CALL (user exit program).<br />

For *CALL, the Comparison field user exit program parameters to define are:<br />

Environment: (10,a)<br />

Object Code: (7,a)<br />

Name Section: (10,a) The contents of the object name (starting position for the<br />

specified length).<br />

Return Code: (1,a) Set the return code in the user program to 1 for a valid<br />

object name or 0 for an invalid object name. If the program ends in error,<br />

<strong>Implementer</strong> assumes the value is invalid.


Field Description<br />

Add Object Name Rules Field Descriptions<br />

Option 2: All Object Codes for a Specific Environment<br />

Object Name Rules<br />

Value Specify a value to compare to the logical operator defined in the Comparison<br />

field. Valid values are a constant value (no quotes), a special value (see special<br />

values listed next), or a user exit program (see user exit program parameters<br />

listed for Comparison). The special values valid for the comparison values *EQ<br />

and *NE are:<br />

*NUM: Generic numeric value.<br />

*ALPHA: Generic alphanumeric value.<br />

*BLANK: Generic blank value.<br />

Deleting the first rule for a position (And/Or = BLANK) deletes all rules for that<br />

position. Deleting any other rule And/Or < > BLANK) deletes only that rule. If the<br />

Comparison field value is *CALL, the program calls your external user exit<br />

program with the required parameters.<br />

This option allows you to define name rules that enforce validation for all active object codes<br />

for a specific environment.<br />

To work with name rules for all object codes for a specific environment<br />

1 From the <strong>Implementer</strong> Menu, type 42 and press ENTER to access Work with<br />

Environments.<br />

2 Select an environment with option 2=Change, and press ENTER. The Change<br />

Environment panel displays.<br />

3 Press F18=Name Rules. The Work with Object Name Rules panel displays. The Object<br />

Code field displays the default value *ALL, indicating all object codes specific to this<br />

environment.<br />

4 Press F6=Add. The Add Object Name Rule window displays.<br />

5 Complete the fields as described in “Add Object Name Rules Field Descriptions” on<br />

page 140.<br />

6 Press ENTER. The Object Name Rules panel displays.<br />

Option 3: Specific Object Code for All Environments<br />

This option allows you to define name rules that enforce validation of a specific object code<br />

active to all environments.<br />

141


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

142<br />

To work with name rules for a specific object code for all environments<br />

1 From the <strong>Implementer</strong> Menu, type 44 and press ENTER to access Work with Object<br />

Codes.<br />

2 Select an object code with option 2=Change, and press ENTER.<br />

3 Press F18=Name Rules. The Work with Object Name Rules panel displays. The<br />

Environment field displays the default value *ALL, indicating specific object codes for all<br />

environments.<br />

4 Press F6=Add. The Add Object Name Rules window displays.<br />

5 Complete the fields as described in “Add Object Name Rules Field Descriptions” on<br />

page 140.<br />

6 Press ENTER. The Object Name Rules panel displays.<br />

Project-based Application Paths<br />

<strong>Implementer</strong> uses application paths in the development cycle to define the flow of members/<br />

objects between environments. <strong>Implementer</strong> also uses application paths to determine the<br />

location of source and related objects for an object, for example, when compiling with a check<br />

out or create request action of recompile.<br />

The application path provides control by restricting access so members/objects cannot move<br />

outside of the defined flow. It also allows defaulting the From environment and target<br />

environment values when checking out and creating a promotion request.<br />

You can define an application path at the environment level or project level. Each path can<br />

have a standard and an emergency path that a member/object follows from the time it is<br />

checked out to the time it is promoted back into production.<br />

Functionally, environment paths and project paths are identical, but certain business<br />

situations make it more practical to use a project path. For example, two active projects in<br />

development typically use different environment paths. By using a project path instead of an<br />

environment path, you can avoid performing excessive overrides when checking out and<br />

promoting items associated with one project that are not associated with the other project.<br />

Project paths are beneficial when your development model consists of multiple test<br />

environments, particularly when the test environments are determined on a project-byproject<br />

basis.<br />

Key Considerations<br />

In check out and create request a project path overrides an environment path. In other<br />

words, if a project with a defined path is specified, the project path is followed;<br />

otherwise, the environment path is followed. For details, see page 101.


Project-based Application Paths<br />

You can specify an environment group on a project path. For details, see “Environment<br />

Groups” on page 125.<br />

You must define the project path to the project before using it in <strong>Implementer</strong>.<br />

You cannot delete an environment that is defined on a project path.<br />

When copying or deleting a project also copies or deletes the related path records.<br />

For customers using the <strong>Implementer</strong> and <strong>MKS</strong> Source integration, project paths are not<br />

available when using the Export to <strong>Implementer</strong> (ISIEXPORT) command. For details, see<br />

“<strong>Implementer</strong> and <strong>MKS</strong> Source Integration” on page 259.<br />

A user must have authority to override both standard and emergency paths to override a<br />

default project path when performing standard and emergency functions. These<br />

authorities are defined in Work with Users.<br />

The administrator usually performs this task. Adding or changing a project path<br />

requires authority to project maintenance and authority to host environment<br />

maintenance.<br />

To define a standard or emergency path for a project<br />

1 From the <strong>Implementer</strong> Menu, type option 15, Work with Projects, and press ENTER.<br />

The Work with Projects panel displays.<br />

2 Type option 17=Standard Path, or option 18=Emergency Path next to the project and<br />

press ENTER. The Environment Path panel displays.<br />

3 To add a new path entry, press F6=Add. The Add Path Entry panel displays. The Project<br />

field displays the name of the project you selected on the previous panel.<br />

143


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

144<br />

4 Complete this panel as follows:<br />

In the Sequence number field, specify a the number that represents the sequence<br />

order in relation to the other entries on the default project path. Create sequences<br />

with sufficient numeric space in between to allow adding future sequences without<br />

having to alter each sequence on the path, for example, use sequence 10, 20, and 30.<br />

In the Entry field, specify the name or parameter of the library or environment.<br />

*USRPRF: Entry defaults from the user profile for both check out environment<br />

or library, and target environment or target environment group.<br />

Development library: Specify the name of the development library. This is the<br />

target library in check out.<br />

Environment: Specify the name of the *PRD, *TST, or *QAC environment. Can<br />

be the From or target environment in check out or create request. Use F4=List to<br />

select from the Select Environment list.<br />

Environment group: Specify the name of the environment group. This is the<br />

target environment group when creating a request.<br />

The Entry type field, is a display-only field that automatically defaults after you<br />

create the sequence.<br />

Lib is a development library.<br />

*PRD is a production environment or primary environment of a target<br />

environment group.<br />

*TST is a development environment.<br />

*QAC is a quality assurance or test environment.<br />

5 When finished, press ENTER to add the record. The panel remains open for the entry of<br />

additional records. Press F12 to return to the Standard Project Path panel with the new<br />

path records listed in sequential order.<br />

User-Defined PDM Options<br />

<strong>Implementer</strong> allows you to create IBM Programming Development Manager (PDM) options<br />

to perform check out and create promotion request functions directly from within PDM.<br />

You typically perform this task once to set up the user-defined options, although you can<br />

perform the function any time thereafter as it does not have the interdependencies that some<br />

of the other setup tasks have.


To view sample PDM options<br />

1 From the PDM Work with Members panel, press F18=Change defaults.<br />

Issue or Design Request Stamping<br />

To view the example PDM options, set the Option file on the Change Defaults panel as<br />

follows:<br />

Option File IMPDMOPT<br />

Library <strong>MKS</strong>IM<br />

Member IMPDMOPT<br />

2 Press ENTER.<br />

3 Press F16=User options to view the <strong>Implementer</strong> options interface.<br />

Sample PDM options for the check out and create request functions are included. The<br />

default option names are CO (check out) and CR (create request). You can name the<br />

user-defined options as needed when adding them directly to your PDM options file.<br />

These options use the ICHKOUT and ICRTRQS commands respectively.<br />

TIP Many customers use the CO option to check out individual members in PDM,<br />

but use the Create Request menu option because it is easier to select objects.<br />

Common Questions<br />

Can you copy PDM options from IMOPT directly into a PDM options file with the Copy File (CPYF)<br />

command?<br />

No. PDM does not properly order your options in the options file when you do this. You<br />

must manually add them into your standard PDM options file.<br />

Issue or Design Request Stamping<br />

<strong>Implementer</strong> allows you to stamp objects with the issue or design request number the object<br />

was checked out for. This provides an audit trail that ties each object change back to the issue<br />

or DR that requested the change. With similar information available in the corresponding<br />

issue or DR, you have a complete circle of cross-references and auditable information for<br />

every software change.<br />

To ensure the stamping of both new and existing objects, the process automatically occurs in<br />

the three functions that support object creation: check out, compiling from the Workbench,<br />

and promotion. During these development stages, <strong>Implementer</strong> updates the description of<br />

the object by recording the issue or DR number in the PTF Number attribute. If multiple locks<br />

exist with multiple issues or DRs, the object is stamped with the primary number associated<br />

with the initial lock. For inquiry, use the Display Object Description (DSPOBJD) command to<br />

view the PTF Number attribute.<br />

145


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

146<br />

For information on using object version stamping in check out and promotion, see the<br />

<strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> User <strong>Guide</strong>.<br />

NOTE Due to IFS constraints, <strong>Implementer</strong> does not support stamping issue or DR<br />

numbers directly to IFS objects. However, for inquiry and reporting through<br />

<strong>Implementer</strong>, the information is available in the repository.<br />

To set up issue or DR object stamping<br />

1 From the <strong>Implementer</strong> Menu, type option 45, System Control, and press ENTER. The<br />

System Control Maintenance panel displays.<br />

2 Press PAGE DOWN three times.<br />

3 In the Activate issue object stamping field, specify Y to activate this feature. For more<br />

information on this field, see “Activate object version stamping” on page 70.<br />

4 Press ENTER to process the change.<br />

Object Version Stamping<br />

<strong>Implementer</strong> allows you to stamp objects, lock records, and repository records with a version<br />

number at pre-determined stages within the development cycle. This provides an audit trail<br />

that allows you to track every version of an object. It also allows you to identify specific<br />

information about deployed objects under change control.<br />

The version number scheme and development stage the object is stamped in, either<br />

check out, check out and promotion, or user-defined, is determined by the versioning method<br />

you define in System Control. <strong>Implementer</strong> automatically increments the version number<br />

based on the versioning method you specify. During the applicable development stage,<br />

<strong>Implementer</strong> updates the description of the object by recording the new revision number in<br />

the APAR ID attribute. The repository record is updated when you run the build list as<br />

described in the next section.<br />

During the build list for a *PRD environment, <strong>Implementer</strong> stamps the version number to the<br />

repository record for each object in the production environment (repository records for *TST<br />

and *QAC environments have a blank version number) as follows:<br />

If the object has a valid version number, then <strong>Implementer</strong> assigns that version to the<br />

repository record. For details, see “Environment Repository Build” on page 117.<br />

If the object does not have a version or has an invalid version, then <strong>Implementer</strong> assigns<br />

the version number 1 or 1.0 (based on the defined versioning method) to the repository<br />

record. If a user-defined versioning method is specified, a user exit is allowed for you to<br />

set the version number.


Object Version Stamping<br />

For inquiry, use the Display Object Description (DSPOBJD) command to view the APAR ID<br />

attribute. In addition, you can display an object’s revision number in the Revision field on the<br />

Workbench (F11=Display Revision) and Work with Objects (F10=Display Revision) panels.<br />

NOTE<br />

Due to IFS constraints, <strong>Implementer</strong> cannot stamp version numbers directly to<br />

IFS objects. However, for inquiry and reporting through <strong>Implementer</strong>, the<br />

information is available in the repository.<br />

<strong>Implementer</strong> disregards source-only objects during version number processing.<br />

The build does not stamp actual objects—only development activity does this.<br />

To set up object version stamping<br />

Versioning Methods<br />

1 From the <strong>Implementer</strong> Menu, type option 45, System Control, and press ENTER. The<br />

System Control Maintenance panel displays.<br />

2 Press PAGE DOWN three times.<br />

3 In the Activate object version stamping field, type Y to activate the feature. For more<br />

information on this field, “Activate object version stamping” on page 70.<br />

4 In the Assign native version number at field, specify the versioning method as follows:<br />

1 = checkout only. For details on this method, see “Method 1: Assign Version in<br />

Check Out” on page 148.<br />

2 = checkout and promotion to production environments. For details on this<br />

method, see “Method 2: Assign Version in Check Out and Promotion” on page 148.<br />

3 = user defined. For details on this method, see “Method 3: User-Defined Version”<br />

on page 149.<br />

5 Press ENTER to process the change.<br />

<strong>Implementer</strong> supports three native versioning methods. The first two methods are defined in<br />

<strong>Implementer</strong>; the third method allows you to implement your own user-defined routine.<br />

NOTE If you have <strong>MKS</strong> Source integration enabled, then the native revision number<br />

scheme applies only to objects and items not archived in <strong>MKS</strong> Source. The version<br />

number is assigned during promotion to the first *QAC environment enabled for<br />

<strong>MKS</strong> Source archiving. If <strong>MKS</strong> Source integration is not enabled, then the native<br />

revision number scheme applies to all items.<br />

147


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

148<br />

Method 1: Assign Version in Check Out<br />

This method implements a whole numbering scheme (no decimal), for example:<br />

Version 1<br />

Version 2<br />

Version 3<br />

Version 4<br />

With this method, <strong>Implementer</strong> assigns the version number when an object is checked out for<br />

create or change, and when rejected from a *QAC environment. Each time the object is<br />

checked out, the number increments by one.<br />

Scenario Example<br />

Object A in *PRD environment is version 2. Object A is checked out to *TST<br />

environment. Object A in *PRD is still version 2. Object A in *TST is now version 3.<br />

Object A version 3 is promoted to *QAC environment.<br />

Object A is concurrently checked out to *TST environment, making it version 4. Object A<br />

in *PRD is still version 2. Object A in *QAC is still version 3.<br />

Object A version 4 is promoted to *QAC environment. Object A now has two lock<br />

records in the *QAC environment—one is version 3, and the other is version 4.<br />

Object A version 4 in *QAC is promoted to *PRD. Object A in *PRD environment is now<br />

version 4.<br />

Method 2: Assign Version in Check Out and Promotion<br />

This method implements a decimal numbering scheme with numbers left and right of the<br />

decimal, for example:<br />

Version 2.0<br />

Version 2.1<br />

Version 2.2<br />

Version 3.0<br />

With this method, <strong>Implementer</strong> assigns the version number when an object is checked out for<br />

create or change, when promoted to production environments, and when rejected from a<br />

*QAC environment. When the object is checked out (including concurrent check out) the


Object Version Stamping<br />

number to the right of the decimal increments by one. When promoted to production, the<br />

number to the left of the decimal increments by one and the number to the right of the<br />

decimal resets to zero.<br />

NOTE Promoting without locks causes the version number to increment only when<br />

the object is promoted to a *PRD environment.<br />

Scenario Example<br />

Object A in *PRD environment is version 2.0. Object A is checked out to *TST<br />

environment. Object A in *PRD is still 2.0. Object A in *TST is version 2.1.<br />

Object A version 2.1 is promoted to *QAC environment.<br />

Object A is concurrently checked out to *TST environment, making it version 2.2.<br />

Object A in *PRD is still version 2.0. Object A in *QAC is still version 2.1.<br />

Object A version 2.2 is promoted to *QAC environment. Object A now has two lock<br />

records in the *QAC environment—one is version 2.1 and the other is version 2.2.<br />

Object A version 2.2 in *QAC is promoted to *PRD. Object A in *PRD environment is<br />

now version 3.0.<br />

Method 3: User-Defined Version<br />

You can define a program with a versioning scheme of up to 30 characters, which is the<br />

length of the Revision field that displays on various panels in <strong>Implementer</strong>. However,<br />

because the field updated in the actual object description is only seven characters long, only<br />

the first seven characters of the version number are recorded in the object’s description. Thus,<br />

to update the object description parameter on the actual object, define your program with a<br />

number scheme of seven characters or less. To apply object versioning without actual object<br />

stamping, the versioning scheme can be up to 30 characters.<br />

The versioning program must exist in the same library on all host and remote systems. If the<br />

program references objects, for example, files or data areas, the library containing the objects<br />

must be in the user’s interactive library list and in the library list of the <strong>Implementer</strong> job<br />

description MWIJOBD.<br />

Define your versioning program with an entry parameter group as described next.<br />

Parameter Length Description<br />

Description 512, alpha Data passed into the versioning program. See format<br />

requirements in the next table.<br />

Version Number 30, alpha Parameter the version number is returned in.<br />

Return Value 10, alpha Returns blanks if no errors occur. If a value is returned, the<br />

version number is ignored.<br />

149


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

150<br />

where the format of the Description parameter is as follows:<br />

Description Parameter<br />

Field Format<br />

The following tables describe the events that trigger the user-defined object versioning<br />

program and the parameter values passed at each trigger point.<br />

Trigger Point: Build List<br />

Triggers when the Build List is run for a *PRD environment.<br />

passed version number = *Blanks<br />

values for P@Data<br />

Valid Values<br />

Start<br />

Position<br />

From Environment environment name 1 10<br />

To Environment environment name 11 20<br />

From Environment Type *PRD, *QAC, or *TST 21 24<br />

To Environment Type *PRD, *QAC, or *TST 25 28<br />

Object object name 29 38<br />

Object Code environment name 39 45<br />

Function see Trigger Points listed next 46 55<br />

Action 1=Change, 2=Create, or 3=Recompile 56 56<br />

PRD Environment production environment name 57 66<br />

PRD Library production library name 67 76<br />

Description Parameter Field Parameter Value Passed<br />

From Environment *Blank<br />

To Environment Build List environment name<br />

From Environment Type *Blank<br />

To Environment Type *PRD<br />

Object Object name<br />

Object Code Object code<br />

Function '*BUILD'<br />

Action *Blank<br />

PRD Environment Build List environment name<br />

PRD Library Build List environment object library<br />

End<br />

Position


Trigger Point: Check Out<br />

Object Version Stamping<br />

Triggers when loading the subfile for the Check Out panel, loading the Check Out panel, and<br />

calling to retrieve the next valid version number. Program called any time ENTER or<br />

F9=Accept is pressed.<br />

passed version number = Subfile value<br />

values for P@Data<br />

Description Parameter Field Parameter Value Passed<br />

From Environment Check out FROM environment<br />

To Environment Check out TO environment<br />

From Environment Type FROM environment type<br />

To Environment Type TO environment type<br />

Object Object name<br />

Object Code Object code<br />

Function '*CO-RTV'<br />

Action Value of Action field in the subfile<br />

PRD Environment *PRD environment of FROM environment<br />

PRD Library *Blanks<br />

Trigger Point: Check Out<br />

Triggers when you enter the value for revision number. Program called to validate the<br />

specified version number.<br />

version number = Subfile value<br />

values for P@Data<br />

Description Parameter Field Parameter Value Passed<br />

From Environment Check out FROM environment<br />

To Environment Check out TO environment<br />

From Environment Type FROM environment type<br />

To Environment Type TO environment type<br />

Object Object name<br />

Object Code Object code<br />

Function '*CO-VLD'<br />

Action Value of the Action field in subfile<br />

151


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

152<br />

Description Parameter Field Parameter Value Passed<br />

PRD Environment *PRD environment of FROM environment<br />

PRD Library *Blanks<br />

Trigger Point: ICHKOUT and ICHKOUTIFS Commands<br />

Triggers when using the ICHKOUT and ICHKOUTIFS commands. Program called once to<br />

verify if object version stamping is active and to retrieve the next valid version number.<br />

passed version number = *Blanks<br />

values for P@Data<br />

Description Parameter Field Parameter Value Passed<br />

From Environment From environment<br />

To Environment To environment<br />

From Environment Type From environment type<br />

To Environment Type To environment type<br />

Object Member/Object name<br />

Object Code Object code<br />

Function '*CO-RTV'<br />

Action Value of the Action field in subfile<br />

PRD Environment *PRD environment of FROM environment<br />

PRD Library *Blanks<br />

Trigger Point: Create Request and ICRTRQS Command<br />

Triggers in create request and when using the ICRTRQS command. Program called once to<br />

verify if object version stamping is active and to retrieve the next valid version number.<br />

passed version number = *Blanks<br />

values for P@Data<br />

Description Parameter Field Parameter Value Passed<br />

From Environment From environment<br />

To Environment To environment<br />

From Environment Type From environment type<br />

To Environment Type To environment type<br />

Object Member/Object name


Description Parameter Field Parameter Value Passed<br />

Object Code Object code<br />

Function '*PROMOTE'<br />

Action Value of the Action field in subfile<br />

Considerations With OS/400 and <strong>Implementer</strong><br />

Considerations With OS/400 and <strong>Implementer</strong><br />

PRD Environment *PRD environment of FROM environment<br />

PRD Library *Blanks<br />

This section covers iSeries system information as it relates to <strong>Implementer</strong> and <strong>Implementer</strong><br />

Receiver.<br />

Operating System Upgrades<br />

The following considerations apply to installing a new release of the OS/400 operating<br />

system. No special considerations are required for PTF installation.<br />

Before you upgrade to a new release of the operating system, contact your distributor or<br />

<strong>MKS</strong> Customer Care to determine any impact the new release may have on your version<br />

of <strong>Implementer</strong>. At publication of this guide, <strong>Implementer</strong> required no changes for<br />

compatibility with the versions of OS/400 currently supported.<br />

If you use <strong>Implementer</strong> Receiver to distribute changes to a remote system, you may have<br />

changed communication entries when you initially installed <strong>Implementer</strong>. After the<br />

operating system upgrade, you must verify and reapply the changes as needed—this<br />

step is frequently overlooked.<br />

By default, an OS/400 upgrade does not retain the <strong>Implementer</strong> communication entry<br />

because the default communications subsystem QCMN is in library QSYS, and the<br />

objects in library QSYS are replaced during the operating system upgrade/installation.<br />

Before the upgrade, you can move subsystem QCMN to another library such as QGPL,<br />

or after installing the new release, you must reapply the communications entry to the<br />

QCMN subsystem.<br />

If you upgrade the host system to a release level later than the release level of the remote<br />

system, verify <strong>Implementer</strong> is set up to distribute using the previous release support<br />

feature of OS/400. To do this, in <strong>Implementer</strong>’s Network Configuration, change the<br />

target release to the version of the operating system on the remote system. To determine<br />

the previous versions the host OS/400 version allows, verify the allowed values for the<br />

Target Release (TGTRLS) parameter on the Restore Library (RSTLIB) command.<br />

153


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

Changing the System Name<br />

154<br />

The name of the host system is stored in the <strong>Implementer</strong> database. If you change the OS/400<br />

system name, for example, to use a descriptive name other than that delivered with the<br />

system, you must make the corresponding change in <strong>Implementer</strong>.<br />

To change the host system name, use <strong>Implementer</strong> Menu option 46, Network<br />

Configuration, which lists the host system and each remote system for distribution. Add<br />

the new system and specify the new OS/400 system name (use the OS/400 Display<br />

Network Attributes (DSPNETA) command to verify). Delete the obsolete system name.<br />

For details, see “Network Configuration” on page 167.<br />

In Work with Environments, you must also change each environment defined as a local<br />

environment to reflect the new host system name. For details, see “Environments” on<br />

page 81.<br />

NOTE The system name <strong>Implementer</strong> uses for the remote system is the OS/400<br />

remote location name, not the remote system name. Thus, changing the OS/400<br />

system name of the remote system does not require a change to <strong>Implementer</strong>.<br />

System Library List Requirements<br />

Do not place the <strong>Implementer</strong> product library (<strong>MKS</strong>IM is the default library name) or the<br />

<strong>Implementer</strong> Receiver library (<strong>MKS</strong>IR is the default library name) on the system library<br />

list. <strong>Implementer</strong> does not work correctly if these libraries are on the system library list.<br />

For C ‘#include’ members and externally defined files, you must manually maintain the<br />

<strong>Implementer</strong> database file IMSYSLIB. The file consists of one field for library entries.<br />

You must specify any system libraries that contain header file ‘#include’ members that<br />

are used for C development. When ‘#include’ statements are found in a C source<br />

member, <strong>Implementer</strong> determines if the ‘#include’ member exists in this list of system<br />

libraries in IMSYSLIB. If the ‘#include’ member is located in the header file in any of the<br />

system libraries specified in this file, the ‘#include’ member is not handled as a related<br />

object within <strong>Implementer</strong>.<br />

Independent Auxiliary Storage Pools<br />

<strong>Implementer</strong> supports using Independent Auxiliary Storage Pools (IASPs) to manage objects.<br />

An IASP is a DASD grouping mechanism similar to a normal ASP in that it defines an<br />

individual storage device, but unlike a normal ASP, an IASP can be activated and deactivated<br />

on demand. An IASP can also be shared between multiple systems and logical partitions<br />

(LPARs) through high speed networking, allowing DASD utilization on a single system or<br />

shared between multiple systems.


Web-based Development for IFS Objects<br />

When used on a single system, the storage defined by the IASP can be activated and<br />

deactivated within a job; however, only one primary ASP can be active at a time. If a job<br />

switches from one IASP to another, the libraries that reside in the first IASP are no longer<br />

available. When used on multiple systems, the storage defined by the IASP can be accessed<br />

by all systems simultaneously, as if it was local.<br />

<strong>Implementer</strong> moves objects between IASPs similar to how it moves objects between standard<br />

ASPs. Although IASPs support multiple libraries with the same name in different IASPs,<br />

<strong>Implementer</strong> associates a named ASP device with the environment.<br />

Key Considerations<br />

This feature requires OS/400 V5R2 or later.<br />

<strong>Implementer</strong> on the host system and <strong>Implementer</strong> Receiver on a remote system must be<br />

in a normal system ASP, for example, ASP 1–32), to ensure each is available regardless of<br />

which IASP is active.<br />

The IASP that <strong>Implementer</strong> moves objects to or from must be active when each process<br />

starts. Use the VRYCFG command to start or end an IASP. <strong>Implementer</strong> does not<br />

manage, start, or end IASPs.<br />

When moving objects, all activity occurs to and from a single IASP. <strong>Implementer</strong> does<br />

not support moving objects from one IASP to another IASP.<br />

Before checking out or promoting to or from an IASP environment, you must issue the<br />

Set ASP Group (SETASPGRP) command. If your shop is already working with IASPs,<br />

this is likely already configured, for example, as part of the daily system startup routine<br />

or handled through a job scheduler (the administrator can confirm this).<br />

The SETASPGRP command syntax is as follows:<br />

SETASPGRP ASPGRP(xxxxxxx)<br />

Where xxxxxxx is the name of the ASP group.<br />

Web-based Development for IFS Objects<br />

<strong>Implementer</strong> allows you to efficiently manage the software changes of all objects that reside<br />

on the iSeries system. This includes support for the development of your client/server and<br />

e-Business applications, as well as the check out and promotion deployment of IFS objects<br />

using a Web browser interface.<br />

This browser-based integration is built on the existing proven framework of <strong>Implementer</strong><br />

technology and includes the latest support for IBM HTTP Web servers: the original Web<br />

Server for iSeries and the Apache Web Server for iSeries. It also supports using <strong>MKS</strong> Integrity<br />

issues or DesignTracker DRs when performing the change management functions.<br />

155


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

Requirements<br />

156<br />

The requirements for using Web-based development are as follows:<br />

<strong>Implementer</strong> <strong>2006</strong>.<br />

The *PRD, *TST, and *QAC environments that manage IFS development must be<br />

defined in <strong>Implementer</strong> with the IFS directory path, path owner, and IFS object owner.<br />

In addition, the *PRD environment must have a standard application path. For details on<br />

environment setup, see page 81.<br />

Internet Explorer 4.0 or later, or Netscape 4.5 or later.<br />

Using the original Web Server for iSeries requires OS/400 V5R1 or later.<br />

Using the Apache Web Server for iSeries requires:<br />

O/S 400 V5R1 or later.<br />

Knowledge of the Apache Web Server for iSeries configuration and operations.<br />

Access to the httpd.conf configuration file for the Apache Web Server instance to<br />

configure.<br />

iSeries Web Server Setup<br />

The <strong>Implementer</strong> Web interface supports using either of the IBM HTTP Web servers: the<br />

original Web Server for iSeries or the Apache Web Server for iSeries. You must configure the<br />

Web interface to use one of these servers. If using the Apache Web Server for iSeries, see<br />

page 158 for further instructions.<br />

Original Web Server for iSeries Setup<br />

The OS/400 HTTP configuration file defines what a Web browser is able to access on your<br />

iSeries using the original Web Server for iSeries. The system administrator or a user that is<br />

authorized to and familiar with the following functions must modify the TCP/IP HTTP<br />

configuration file as follows:<br />

Define server-based security protection based on the OS/400 user profile and password.<br />

Enable three method directives.<br />

Define mapping directives for the location of the <strong>Implementer</strong> interface programs.<br />

Stop and restart the HTTP Server.<br />

IMPORTANT Only one server at a time can be listening on a specified port. You can<br />

simultaneously run more servers on a single system, but each server must listen on a<br />

unique port.


To access the HTTP configuration file<br />

Web-based Development for IFS Objects<br />

Issue the Work with HTTP Configuration (WRKHTTPCFG) command as follows. You must<br />

have authority to the command to edit the file.<br />

WRKHTTPCFG CONFIG<br />

To implement server-based security protection<br />

Within the HTTP Configuration file, add the following server protection directives. <strong>MKS</strong><br />

recommends you add the server directive entries near the beginning of the file.<br />

#Protect the Web interface program<br />

Protection IM {<br />

PasswdFile %%SYSTEM%%<br />

ACLOverride Off<br />

Mask All@*<br />

AuthType Basic<br />

ServerID <strong>Implementer</strong><br />

UserID %%SERVER%%<br />

}<br />

Protect /cgi-bin/imweb IM<br />

To enable the method directives<br />

Within the configuration file, enable the GET, HEAD, and POST method directives as follows:<br />

# ***METHOD DIRECTIVES***<br />

Enable GET<br />

Enable HEAD<br />

Enable POST<br />

To define the mapping directives<br />

The browser integration requires an entry in the configuration file to establish the directory<br />

location of your <strong>Implementer</strong> interface programs. If you installed the HTTP Server when you<br />

installed the iSeries system, IBM supplied a default and a sample HTTP configuration file<br />

already configured and enabled. In this case, you may need to change the default settings<br />

rather than add new ones.<br />

The default location is the <strong>Implementer</strong> product library <strong>MKS</strong>IM. Specify <strong>MKS</strong>IM unless the<br />

library name was changed when <strong>Implementer</strong> was installed.<br />

Add the following mapping directive to the configuration file:<br />

# ***MAPPING DIRECTIVES***<br />

Exec/cgi-bin/* /QSYS.LIB/<strong>MKS</strong>IM.LIB/*.PGM %%EBCDIC%%<br />

157


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

158<br />

To stop and restart the TCP/IP server<br />

To display your page through the Web browser, the TCP/IP HTTP server must be active.<br />

You must stop and restart the server for it to recognize the <strong>Implementer</strong> CGI programs.<br />

1 Issue the End TCP/IP Server (ENDTCPSVR) command and change the parameters as<br />

required for your configuration.<br />

2 Once the server job ends, issue the Start TCP/IP Server (STRTCPSVR) command and<br />

change the parameters as required for your configuration.<br />

3 To verify the server is active, use the Work with Active Jobs (WRKACTJOB) command<br />

and press PAGE DOWN to access the QHTTPSVR Server subsystem job.<br />

There should be multiple instances of the server job running under user profile<br />

QTMHHTTP. The first instance is a batch job. The remaining instances are the batch<br />

immediate (BCI) jobs.<br />

The number of active jobs depends upon the HTTP attributes, a value set by the Change<br />

HTTP Attributes (CHGHTTPA) command.<br />

TIP You can automate this process by adding the job to an existing OS/400 start up<br />

routine, or by changing the HTTP attributes to start the server automatically.<br />

You can now use the Web interface for IFS development. For details, see the <strong>MKS</strong> <strong>Implementer</strong><br />

<strong>2006</strong> User <strong>Guide</strong>. The next section describes setting up the Apache Web Server configuration.<br />

Apache Web Server for iSeries Setup<br />

The httpd.conf configuration file defines what a Web browser is able to access on your<br />

iSeries using the Apache Web Server for iSeries.<br />

The system administrator or a user that is authorized to and familiar with the server’s<br />

configuration and operations must use the Edit File (EDTF) command to modify the<br />

httpd.conf configuration file for the Apache Web Server instance to be configured.<br />

NOTE For details on the Apache Web Server, refer to the IBM documentation<br />

located at http://httpd.apache.org/docs-2.0/.<br />

To edit the configuration file<br />

1 Issue the following command to access the configuration file:<br />

EDTF STMF(’/www/apachedft/conf/httpd.conf’)<br />

IMPORTANT If you are not using the default Apache Web Server configuration file,<br />

replace the STMF parameter with the appropriate configuration file name.


Mounted Drive Support for IFS Objects<br />

2 Add the following directives to the httpd.conf file in the main Web site or virtual host.<br />

TIP Use the cut-and-paste function to your 5250 emulation program instead of<br />

typing the following values.<br />

ScriptAlias /cgi-bin/imweb /qsys.lib/mksim.lib/imweb.pgm<br />

<br />

Options +ExecCGI<br />

CGIConvMode %%EBCDIC/MIXED%%<br />

AllowOverride None<br />

AuthType Basic<br />

ProfileToken off<br />

AuthName <strong>Implementer</strong><br />

order allow,deny<br />

allow from all<br />

require valid-user<br />

UserID %%SERVER%%<br />

PasswdFile %%SYSTEM%%<br />

<br />

NOTE If the <strong>Implementer</strong> product is installed into a library other than <strong>MKS</strong>IM,<br />

replace <strong>MKS</strong>IM with that library name when defining this directive.<br />

3 Press F3=Save/Exit twice to save the file and return to the command line.<br />

4 Restart the server instance.<br />

The server must be active to display your page through the Web browser. You must stop<br />

and restart the server for it to recognize the new configuration directives. For details on<br />

this task, see page 158.<br />

Mounted Drive Support for IFS Objects<br />

<strong>Implementer</strong> provides mounted drive support for managing IFS objects on a system running<br />

Windows NT Server.<br />

Key Considerations<br />

Environments associated with an NT Server mounted drive must have a directory path<br />

entry that begins with \QNTC, for example, \QNTC\<strong>MKS</strong>\PRD\ACCOUNTS_PAYABLE. For<br />

details on defining the directory path, see “Directory Setup Field Descriptions” on<br />

page 94.<br />

To access an NT drive from the iSeries (for example, using WRKLNK) the user profile<br />

used to sign on to the iSeries must exist on the NT Server with the same password.<br />

159


Chapter 3: <strong>Implementer</strong> <strong>Administration</strong><br />

160<br />

<strong>Implementer</strong> uses the profile defined in the SDMAUTUSR data area to access the<br />

NT Server. The default user profile name in the data area is SDMAUTUSR. The data area<br />

is located in the <strong>Implementer</strong> product library (<strong>MKS</strong>IM is the default library name).<br />

The user profile and password defined on the iSeries must be the same profile and<br />

password defined on the NT Server. The user profile and password combination must<br />

be identical to any remote systems that use directories on the mounted NT Server.<br />

Individual profiles are not required on the NT Server for those profiles to access<br />

<strong>Implementer</strong> and manage directories on the NT Server.<br />

<strong>Implementer</strong> user profile SDMAUTUSR is the object owner of IFS objects it promotes to<br />

the NT Server. In addition, the objects inherit the authorities of the target directory<br />

(authorities defined to the environment or existing on the from object are disregarded).<br />

NOTE The Reset Authorities function does not set or change object owners or change<br />

authorities of IFS objects.<br />

Establishing the Communication<br />

NetServer requires a security officer profile to connect to the iSeries. The minimum<br />

requirement is *IOSYSCFG authority to start NetServer.<br />

To establish communications<br />

1 On a PC connected to the host iSeries, select Start > Programs > IBM AS400 Client Access<br />

> AS400 Operations Navigator.<br />

2 In the Primary Environments list, double click the system where <strong>Implementer</strong> is installed.<br />

3 Double click the Network icon.<br />

4 Double click the Servers icon.<br />

5 Double click the TCP/IP icon.<br />

6 Verify the NetServer status is Started. If NetServer is not started, right click NetServer,<br />

and from the menu click Start.


C HAPTER FOUR<br />

Remote Distribution Concepts<br />

and Setup<br />

Configuring <strong>Implementer</strong> for Remote Deployment<br />

4<br />

The distribution features of <strong>Implementer</strong> allow you to deploy changes from one iSeries system to<br />

other iSeries systems, as well as to logical partitions (LPARs).<br />

A variety of options are available to control how to perform distribution. This chapter introduces you<br />

to the <strong>Implementer</strong> Receiver on a remote system, distribution methods and concepts, setting up<br />

communications for distribution, and submitting distribution jobs.<br />

This chapter covers the following topics:<br />

“<strong>Implementer</strong> Receiver” on page 162<br />

“Distribution Methods” on page 164<br />

“Communications Considerations” on page 165<br />

“Network Configuration” on page 167<br />

“Setting Up Communications Entries” on page 169<br />

“Setting Up for TCP/IP Distribution” on page 173<br />

“Setting Up for SNADS Distribution” on page 179<br />

“Distribution Options” on page 180<br />

“Controlling Remote Job Schedules” on page 181<br />

“Distribution Steps” on page 189<br />

“Move Steps” on page 189<br />

“Multiple System Development” on page 189<br />

“Saving and Restoring Remote Tape Archives” on page 192<br />

“Problem Determination” on page 193<br />

161


Chapter 4: Remote Distribution Concepts and Setup<br />

<strong>Implementer</strong> Receiver<br />

162<br />

<strong>Implementer</strong> Receiver is a separately licensed product that runs on a remote iSeries system<br />

and receives software changes from <strong>Implementer</strong> on the host iSeries system. The Receiver is a<br />

subset of the host <strong>Implementer</strong> product. A separate license agreement and license keys are<br />

required for each <strong>Implementer</strong> Receiver to receive changes distributed from the <strong>Implementer</strong><br />

host system.<br />

<strong>Implementer</strong> contains all objects needed to distribute changes to remote systems and LPARs.<br />

The primary activities initiated on the host system are: compile, distribution, and move of a<br />

promotion request, deletion of a promotion request, and the Reset Authorities and Build List<br />

functions. The <strong>Implementer</strong> Receiver allows you to accomplish both host and remote<br />

initiated activities.<br />

The <strong>Implementer</strong> Receiver menu provides access to:<br />

Work with Remote Request panel to inquire, print, and move promotion requests, and<br />

view target environments, related requests, and special commands<br />

Restore Remote Request (IRSTRMTRQS) command to restore distributions from tape<br />

(also accessible from a command line)<br />

Move Remote Request (IMOVRMTRQS) command to complete a remote promotion by<br />

moving the items into target environments (also accessible from a command line)<br />

release management functions<br />

administrative functions<br />

Installation of the <strong>Implementer</strong> Receiver includes steps on both the host and remote systems.<br />

The default <strong>Implementer</strong> Receiver library name is <strong>MKS</strong>IR. If you change this name, you must<br />

also change the RCVLIB data area in the corresponding host system. If you install the<br />

<strong>Implementer</strong> Receiver into a library other than <strong>MKS</strong>IR, you must manually add that library<br />

name to the top of the library list for the IMPJOBD job description. <strong>Implementer</strong> uses the<br />

IMPJOBD job description when submitting a remote initiated move request.<br />

To activate the <strong>Implementer</strong> Receiver for temporary or permanent use, you must use the<br />

<strong>MKS</strong> Security Reset (RESET) command on the remote system to enter the license keys sent<br />

with your contract or in a separate letter. If you do not have valid license keys, contact <strong>MKS</strong><br />

Customer Care.<br />

NOTE For detailed information on installing or upgrading the <strong>Implementer</strong><br />

Receiver, see the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> Installation <strong>Guide</strong>.


Integration With Local Promotions<br />

<strong>Implementer</strong> Receiver<br />

A powerful feature in the architecture of <strong>Implementer</strong> is the seamless support for remote<br />

distributions. This means you define environments to <strong>Implementer</strong> and designate whether<br />

the environments are located on local or remote systems (a remote environment must have a<br />

remote system name specified in the environment definition).<br />

Promotions to local and remote systems occur for an environment based on the environment<br />

description; thus, <strong>Implementer</strong>’s distribution features are able to share features with the local<br />

promotions. For example, to distribute a change you create a promotion request, compile the<br />

request, and perform the Move Requests function to distribute the change. This is basically<br />

the same process used to promote to a local environment, meaning you only need to learn<br />

one mechanism for both local and remote promotions. The process supports a single<br />

promotion request promoting members/objects to both local and remote libraries, either by<br />

manually selecting multiple environments, or by using the environment group feature.<br />

Remote System Inventory<br />

<strong>Implementer</strong> maintains a complete inventory of the members and objects distributed to each<br />

remote environment. This information is available on many inquiry panels and reports on the<br />

host system, and includes the following information:<br />

date and time a member/object was promoted to the remote system<br />

assigned project (if using projects)<br />

promotion request details<br />

After initially setting up <strong>Implementer</strong>, you must run the Build List function to analyze the<br />

members/objects in remote environments and load the inventory into the <strong>Implementer</strong><br />

repository on the host system. For details, see “Environment Repository Build” on page 117.<br />

If needed, the Reset Authorities function allows you to set the object owners and authorities<br />

on the remote system as defined for the environment. For details, see “Resetting Authorities”<br />

on page 372.<br />

Remote Source Members<br />

You can specify that source is stored on the remote system for an environment. For example,<br />

you can store source on the remote system for infrequently modified applications when you<br />

do not retain source on the development system, or use it to secure source on a different<br />

system.<br />

Remote source members can be checked out from the remote system and optionally compiled<br />

during promotion on the remote system. This applies to source members that have related<br />

objects, such as source members for files and programs. <strong>Implementer</strong> recognizes source-only<br />

163


Chapter 4: Remote Distribution Concepts and Setup<br />

164<br />

items such as OCL, sort specifications, and text members. This ensures you include and send<br />

source to the remote for environments that have local source, as some applications require<br />

the source members during execution.<br />

NOTE Storing source on the remote only can cause problems for developers when<br />

attempting to browse source members not checked out, and they have restricted<br />

access to the remote system. In this case you can check out the source from the<br />

remote system; <strong>Implementer</strong> creates a temporary DDM file and copies the source<br />

from it.<br />

Consideration for Database Files<br />

<strong>Implementer</strong> avoids problems associated with the distribution of database files to remote<br />

systems. For example, <strong>Implementer</strong> supports promoting logical files without the related<br />

physical file on a request, and ensures that all necessary physical files are duplicated into the<br />

work library so a logical file is never based on a physical file outside of the <strong>Implementer</strong> work<br />

library. The duplicated physical files are not promoted into production so you never have<br />

additional access paths over the production environment. This also ensures successful<br />

distribution and restoration of the logical files to the remote system.<br />

For complex database files, <strong>Implementer</strong> provides the same support on the remote system as<br />

that provided on the local system.<br />

Distribution Methods<br />

<strong>Implementer</strong> supports the distribution of source members and objects on tape or by using<br />

OS/400 communications with SDMCom, TCP/IP, or SNADS. Different distribution methods<br />

can be defined per environment. The following table provides an overview of each<br />

distribution method.<br />

Distribution<br />

Method<br />

Description<br />

SDMCom SDMCom is a feature of <strong>Implementer</strong> that improves performance by 20–35% over<br />

SNADS distribution. Its advanced features use compression algorithms and<br />

blocking specifically for remote distributions.<br />

SDMCom eliminates reliance on SNADS distribution queues, directory entries, and<br />

network files, which helps simplify setup and eliminate the number of potential areas<br />

of distribution failures. For example, SDMCom eliminates concerns of whether<br />

directory entries exist or distribution queues are started. Distribution with SDMCom<br />

is performed directly within the <strong>Implementer</strong> distribution job—it is not sent to a<br />

distribution queue like QSNADS uses.


Distribution<br />

Method<br />

Communications Considerations<br />

APPC Programs<br />

Description<br />

Communications Considerations<br />

TCP/IP TCP/IP is available for both FTP and tape distributions.<br />

You must define the TCP/IP address and port in <strong>Implementer</strong>’s Network<br />

Configuration. You must also define the TCP/IP communications subsystem and job<br />

queue. When you install <strong>Implementer</strong>, the TCP/IP communications subsystem<br />

IMCOM and the communications job queue IMCOM are both created.<br />

TCP/IP must be set up between the host and remote systems. You can add the<br />

Communications Control (ICOMCTL) command to your daily OS/400 startup routine<br />

(for example, the IPL procedure) or start it manually.<br />

SNADS Distribution with SNADS requires creating directory entries on both the local and<br />

remote systems. SNADS must be set up between the two systems. You must define<br />

a distribution queue with the Configure Distribution Services (CFGDSTSRV)<br />

command. You must configure the distribution queue used by <strong>Implementer</strong> to start<br />

distribution when an item is in the distribution queue.<br />

Tape Distribution on tape involves two steps: create the tape on the local system and<br />

restore the tape on the remote system. You can use any OS/400 tape media. To<br />

restore work libraries from a tape at the remote site, use the Restore Remote<br />

Request (IRSTRMTRQS) command, either from the <strong>Implementer</strong> Receiver menu<br />

option or the command line.<br />

DVD Valid only for release management environments. For details, see the<br />

<strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> Release Management <strong>Guide</strong>.<br />

Before setting up communications for <strong>Implementer</strong> distributions, review the following<br />

information regarding the communication lines and programs supported by <strong>Implementer</strong>.<br />

<strong>Implementer</strong> uses APPC (Advanced Program to Program Communication) programs to start<br />

jobs on a remote system related to remote environments. APPC programs can be referred to<br />

as communications programs or ICF (Intersystem Communications Facility) files. You do not<br />

need this information to use <strong>Implementer</strong>, but it helps to understand how it works.<br />

<strong>Implementer</strong> uses APPC programs as follows:<br />

An APPC program is used during promotion for the distribution and move steps. The<br />

same APPC program is used during the compile step for the environment designated as<br />

having source on the remote system. For remote initiated moves, an APPC program is<br />

used if the remote environment is defined to update the host on remote initiated moves.<br />

In this case, the APPC program updates the host with information regarding the status<br />

of the promotion request, archive information, time stamping for each member and<br />

object and, if specified, job log information.<br />

165


Chapter 4: Remote Distribution Concepts and Setup<br />

166<br />

The Build List function uses an APPC program to retrieve source and object information<br />

from a remote system. Generally, you run a build when you define a new environment.<br />

The Reset Authorities function uses an APPC program to change the owners and<br />

authorities to objects for a remote environment. Generally, you reset authorities when<br />

you define a new environment.<br />

The delete request function (available from a number of different menu options) uses an<br />

APPC program to delete work libraries or SNADS network files that exist on the remote<br />

system. This ensures deleting a promotion request does not leave unwanted source,<br />

objects, work libraries, or network files on the remote system.<br />

Communication Lines<br />

APPN Lines<br />

Switched Lines<br />

<strong>Implementer</strong>’s distribution facilities use LU6.2 protocol, which is also known as APPC.<br />

<strong>Implementer</strong> is independent of the type of APPC line. This means changes can be distributed<br />

over SDLC lines or token ring lines. Changes are not distributed using asynchronous lines,<br />

since this type of line does not support the LU6.2 protocol.<br />

<strong>Implementer</strong> supports lines configured for APPN (Advanced Peer-to-Peer Network) reconnections.<br />

Whereas <strong>Implementer</strong> uses APPC programs, a situation that requires using<br />

APPN for distribution to the remote is when the host system is not directly connected to the<br />

remote. For example, system A connects directly to system B, and system B connects directly<br />

to system C—however, system A does not connect directly to system C. In this case, you<br />

must define the lines using APPN to distribute changes from system A to system C.<br />

The OS/400 operating system provides support for APPN. Use APPN when you define your<br />

network of iSeries systems and specify how remote systems that are not directly connected<br />

route to each other.<br />

<strong>Implementer</strong> supports switched (common carriers) or non switched (leased/dedicated) lines.<br />

If you use switched lines, <strong>Implementer</strong> has the option to vary on and vary off the<br />

communications configuration before and after a distribution to the system. This feature is<br />

particularly useful when you have one switched line shared by multiple systems. Without<br />

this support you would have to vary on and off the communications line, controller, and<br />

device before distributing to a different system sharing the same communications port. In the<br />

Network Configuration menu option, specify the communications line, controller, and device<br />

for <strong>Implementer</strong> to automatically vary on or off.


Network Control Programs<br />

Network Configuration<br />

Network Control Program (NCP) is a software product that runs on an IBM mainframe. NCP<br />

serves as a communications controller between two iSeries systems in a network. This is also<br />

described as using Virtual Telecommunications Access Method (VTAM), IBM’s application<br />

program interface.<br />

<strong>Implementer</strong> users that use NCP must set up communications differently because of certain<br />

communications parameters that are changed by NCP. These parameters are usually set to<br />

the OS/400 defaults by most iSeries users; however, if you use NCP, the following<br />

parameters do not usually use the OS/400 defaults:<br />

remote location name<br />

local location name<br />

mode name<br />

remote network identifier<br />

Find the values for these four parameters on your system by displaying the description of the<br />

APPC device description on the local system that connects to the remote system. Then,<br />

specify the same values for these fields for the remote system in Network Configuration.<br />

Network Configuration<br />

The system-wide communication parameters used by <strong>Implementer</strong> are defined in Network<br />

Configuration, option 46 on the <strong>Implementer</strong> Menu. Network Configuration allows you to<br />

define and maintain information about the remote systems you deploy software changes to<br />

using either SNA or TCP/IP distribution. Establishing a network configuration is only<br />

required if you distribute to remote systems—you must define each remote system you<br />

distribute to in Network Configuration.<br />

If you use TCP/IP for distribution between host and remote systems, you must define the<br />

TCP/IP address and port in Network Configuration. TCP/IP has additional setup<br />

requirements as described in “Setting Up for TCP/IP Distribution” on page 173.<br />

<strong>Implementer</strong> must be installed on the host system and the <strong>Implementer</strong> Receiver must be<br />

installed on each remote system before you establish communications between the systems.<br />

Once the systems are defined in Network Configuration, you can define the environments for<br />

each remote system.<br />

TIP If you have multiple remote environments, consider defining an environment<br />

group to target with all remote distributions.<br />

167


Chapter 4: Remote Distribution Concepts and Setup<br />

168<br />

To add or change a system in Network Configuration<br />

1 From the <strong>Implementer</strong> Menu, type option 46, or type STRIM *NETCFG at the command<br />

line and press ENTER. The Network Configuration Maintenance panel displays.<br />

2 To create a new system, press F6=Add, or to create a system by copying an existing<br />

system, type 3 in the Opt field and press ENTER. To change an existing system, select the<br />

system with option 2=Change and press ENTER.<br />

3 Specify the following fields:<br />

In the System field, type the name of the remote system to distribute to. This field<br />

allows entry only when initially creating the system.<br />

In the Description field, type a system description.<br />

In the Target Release field, specify if the remote system is at an older release of the<br />

operating system than the host system. Specify *CURRENT, *PRV, or the actual<br />

version name.<br />

4 Complete the remaining fields based on the distribution method (SNA or TCP/IP) as<br />

described in the following sections.<br />

NOTE The second and third Network Configuration Maintenance panels are for<br />

SNA distribution. If you intend to use both TCP/IP and SNA communications with<br />

this system, complete both the SNA and TCP/IP fields as required; otherwise leave<br />

one or the other blank.<br />

To configure Network Configuration for SNA distribution<br />

1 Follow the previous steps to create or change the system.<br />

2 On the second Network Configuration Maintenance panel, define the information as<br />

needed. The following steps describe where to find the necessary information:<br />

To determine the system name on the remote system, use the Display Network<br />

Attributes (DSPNETA) command.<br />

To determine the description of the device used to communicate with the remote, on<br />

the host system use the Display Device Description (DSPDEVD) command for:<br />

remote location name<br />

local location name<br />

mode<br />

remote network identifier


Setting Up Communications Entries<br />

3 Press ENTER to access the third Network Configuration Maintenance panel and continue<br />

entering the information.<br />

To determine the description of the communication lines, on the host system use the<br />

Display Line Description (DSPLIND) command for:<br />

attached non switched controllers for the control unit<br />

connection type for the line type<br />

4 Press ENTER to update the changes.<br />

To configure Network Configuration for TCP/IP distribution<br />

If you use TCP/IP for distribution between host and remote systems, complete these steps<br />

for each remote system you distribute to. In addition, if you use the Remote Initiated Move<br />

Update Host feature, you must complete these steps for the host system.<br />

1 Follow the previous steps to create or change the system.<br />

2 From the Network Configuration Maintenance panel, press ENTER twice to display the<br />

fourth Network Configuration Maintenance panel.<br />

3 Complete the fields on this panel as follows:<br />

In the TCP/IP Address field, specify an IP address, a system name in a DNS server,<br />

or a system name in a host table. The default value is blank.<br />

In the Port field, specify a valid number between 1 and 65535. The default number is<br />

30005. <strong>MKS</strong> recommends you use a number higher than 1024 to avoid conflict with<br />

standard services such Telnet, FTP, and Web servers.<br />

The port you define on the host system must match the port defined on the remote<br />

system. The port value must also match the port value you specify in the<br />

Communications Control (ICOMCTL) command you define on both the host and<br />

remote systems as described in “Setting Up for TCP/IP Distribution” on page 173.<br />

4 Press ENTER to update the system record.<br />

Setting Up Communications Entries<br />

<strong>Implementer</strong> uses communications to distribute requests from the host system to one or more<br />

remote systems. You have three options for setting up <strong>Implementer</strong> for communications and<br />

distribution between systems:<br />

use pre-existing communications entries<br />

add communications entries using an existing mode description<br />

add communications entries using an <strong>Implementer</strong>-specific mode description<br />

169


Chapter 4: Remote Distribution Concepts and Setup<br />

170<br />

This section explains the setup procedures for each option. For a comparison of the options,<br />

see “Understanding <strong>Implementer</strong>” on page 9.<br />

Option 1: Using Existing Communication Entries<br />

This option requires no additional setup steps. <strong>MKS</strong> recommends you initially set up<br />

<strong>Implementer</strong> to use an existing communications mode description. When using this<br />

approach, the communications job runs using the <strong>Implementer</strong> user profile MWIPROD.<br />

Option 2: Using an Existing Mode Description<br />

This option requires you to create communications entries using an existing mode<br />

description. It has setup tasks on both the host and remote systems.<br />

Host System Setup<br />

Before starting this task, you must have the name of the communications subsystem on the<br />

host system. This is typically subsystem QCMN and is referred to as qcmn in the following<br />

instructions.<br />

To perform setup on the host system<br />

1 Add a communications entry by issuing the following command:<br />

ADDCMNE SBS(qcmn)<br />

DEV(APPC-device)<br />

JOBD(<strong>MKS</strong>IM/MWIJOBD)<br />

DFTUSR(MWIPROD) MODE(*ANY)<br />

2 Change the device description by issuing the following command:<br />

CHGDEVAPPC DEVD(APPC-device) MODE(existing-modes)<br />

For example, the command for APPC device RMTDEV using mode BLANK is:<br />

CHGDEVAPPC DEVD(RMTDEV) MODE(BLANK)<br />

3 On the host system, issue the following command to change the <strong>Implementer</strong><br />

Communications User (IMCMNUSR) data area value to blanks, which allows using the<br />

communications entry defined next.<br />

CHGDTAARA DTAARA(<strong>MKS</strong>IM/IMCMNUSR)VALUE(' ')<br />

where VALUE is defined by a blank character enclosed in single quotes.<br />

4 In <strong>Implementer</strong> Menu option 46, Network Configuration, change the mode name of the<br />

remote system to the mode you are using.<br />

a) Select the remote system with option 2=Change and press ENTER to display the<br />

Network Configuration Maintenance panel.


Setting Up Communications Entries<br />

b) In the Mode Name field, type the existing mode name and press ENTER.<br />

Remote System Setup<br />

Before starting this task, you must have the name of the communications subsystem on the<br />

remote system. This is normally subsystem QCMN and is referred to as qcmn in the following<br />

instructions.<br />

To perform setup on the remote system<br />

1 Add a communications entry by issuing the following command:<br />

ADDCMNE SBS(qcmn)<br />

DEV(APPC-device)<br />

JOBD(<strong>MKS</strong>IM/MWIJOBD)<br />

DFTUSR(MWIPROD) MODE(*ANY)<br />

2 Change the APPC device description by issuing the following command:<br />

CHGDEVAPPC DEVD(APPC-device) MODE(existing-modes)<br />

For example, the command for existing APPC device RMTDEV using mode BLANK is:<br />

CHGDEVAPPC DEVD(RMTDEV) MODE(BLANK)<br />

Option 3: Using a Specific Mode Description<br />

This option requires creating an <strong>Implementer</strong>-specific communications entry on the host<br />

system. The setup tasks are performed on the host and each remote system.<br />

Host System Setup<br />

Before starting this task, you must have the following information available:<br />

The name of the communications subsystem on the host system. This is normally<br />

subsystem QCMN and is referred to as qcmn in the following instructions.<br />

The name of the APPC device on the host that is used to connect to the remote system.<br />

This is referred to as APPC-device in the following instructions.<br />

The system name of the remote systems you distribute changes to. This is referred to as<br />

remote-system-name in the following instructions.<br />

To perform setup on the host system<br />

1 Add a communications entry by issuing the following command:<br />

ADDCMNE SBS(qcmn)<br />

DEV(APPC-device)<br />

JOBD(<strong>MKS</strong>IM/MWIJOBD)<br />

DFTUSR(MWIPROD) MODE(*ANY)<br />

171


Chapter 4: Remote Distribution Concepts and Setup<br />

172<br />

2 Change the <strong>Implementer</strong> Communications User (IMCMNUSR) data area to blanks by<br />

issuing the following command:<br />

CHGDTAARA DTAARA(<strong>MKS</strong>IM/IMCMNUSR) VALUE(' ')<br />

where VALUE is defined by a blank character enclosed in single quotes. This allows using<br />

the communications entry defined next.<br />

3 Create a mode description on the host system that corresponds to the mode description<br />

on the remote. This allows you to specify the amount of activity needed for<br />

<strong>Implementer</strong>-related activities. Issue the following command:<br />

CRTMODD MODD(IMPMODD) TEXT('<strong>Implementer</strong> Mode')<br />

4 Associate the mode description with the communications subsystem. The default user<br />

profile on the communications entry is the profile that all <strong>Implementer</strong> APPC jobs run<br />

under. You can specify any user profile—a common entry is QUSER.<br />

a) To display the device description and determine the current modes used by the<br />

device, issue the following command:<br />

DSPDEVD DEVD(APPC-device)<br />

b) Change the APPC device description by issuing the following command:<br />

CHGDEVAPPC DEVD(APPC-device)<br />

MODE(existing-modes IMPMODD)<br />

For example, the command for APPC device RMTDEV using mode BLANK is:<br />

CHGDEVAPPC DEVD(RMTDEV) MODE(BLANK IMPMODD)<br />

Remote System Setup<br />

Before starting this task, you must have the name of the communications subsystem on the<br />

remote system. This is normally subsystem QCMN and is referred to as qcmn in the following<br />

instructions. In addition, you must have the name of the APPC device that connects the<br />

remote system to the host. This is referred to as APPC-device in the following instructions.<br />

To perform setup on the remote system<br />

1 Add a communications entry by issuing the following command:<br />

ADDCMNE SBSD(qcmn)<br />

DEV(*APPC)<br />

JOBD(IMPRCV/IMPJOBD)<br />

DFTUSR(MWIPROD)<br />

MODE(IMPMODD)<br />

2 Create a mode description on the remote system that corresponds to the mode<br />

description on the host system. This allows you to specify the amount of activity needed<br />

for <strong>Implementer</strong>-related activities. Issue the following command:<br />

CRTMODD MODD(IMPMODD) TEXT('<strong>Implementer</strong> Mode')


Setting Up for TCP/IP Distribution<br />

3 Associate the mode description with the communications subsystem. The default user<br />

profile on the communications entry is the profile that all <strong>Implementer</strong> APPC jobs run<br />

under. You can specify any user profile—a common entry is QUSER.<br />

a) To display the device description to determine the current modes used by the<br />

device, issue the following command:<br />

DSPDEVD DEVD(APPC-device)<br />

b) Change the APPC device description by issuing the following command:<br />

CHGDEVAPPC DEVD(APPC-device)<br />

MODE(existing-modes IMPMODD)<br />

For example, the command for APPC device RMTDEV using mode BLANK, is:<br />

CHGDEVAPPC DEVD(RMTDEV) MODE(BLANK IMPMODD)<br />

Defining the Host for Remote Initiated Moves<br />

You can configure remote environments set up for remote initiated moves to update the host<br />

with request processing information. This feature requires an additional communications<br />

entry on the host for the remote system to access with the update.<br />

The default user profile on the communications entry is the profile that all <strong>Implementer</strong><br />

APPC jobs run under. You can specify any user profile—a common entry is QUSER.<br />

A variety of methods exist for defining the communications entry. The following instructions<br />

work for most organizations; however, if you use other APPC programs or pass-through<br />

sessions, <strong>MKS</strong> recommends you review the applicability of these instructions to your<br />

installation.<br />

To set up a host communication entry for remote initiated moves<br />

Add a communications entry by issuing the following command:<br />

ADDCMNE SBS(qcmn)<br />

DEV(APPC-device)<br />

JOBD(<strong>MKS</strong>IM/MWIJOBD)<br />

DFTUSR(MWIPROD) MODE(*ANY)<br />

Setting Up for TCP/IP Distribution<br />

<strong>Implementer</strong> supports TCP/IP (Transmission Control Protocol/Internet Protocol)<br />

communication as a method of communication between host and remote iSeries systems.<br />

This technology is available for both FTP (File Transfer Protocol) and tape distribution.<br />

173


Chapter 4: Remote Distribution Concepts and Setup<br />

174<br />

Current TCP/IP technology does not support automatic job initiation on a remote system;<br />

thus, <strong>Implementer</strong> provides the Communications Control (ICOMCTL) command that<br />

initiates a communications subsystem, and daemon and monitor communications programs.<br />

These programs monitor the remote TCP/IP port for <strong>Implementer</strong>-specific requests. The<br />

communications programs remain in an idle state until activity initiated from the host system<br />

activates request processing on the remote system. You can use an <strong>Implementer</strong>-supplied<br />

subsystem or an alternate subsystem. For details on the ICOMCTL command, see<br />

“Communications Control Command” on page 177.<br />

If your network configuration requires FTP transfers using non passive mode, <strong>Implementer</strong><br />

provides the FTP Passive Mode (IMFTPPASV) data area to control how its FTP transfer uses<br />

passive mode when sending files using TCP/IP. Passive mode eliminates the requirement on<br />

the receiving system to open a dedicated port for the host to connect to. Most users do not<br />

need to change this data area. For details, see “FTP Passive Mode (IMFTPPASV)” on<br />

page 405.<br />

Key Considerations<br />

IMPORTANT TCP/IP communications must be set up and working successfully;<br />

other than what is required for <strong>Implementer</strong>, <strong>MKS</strong> does not assume responsibility<br />

for configuring or troubleshooting communications.<br />

To determine if a remote system is accessible (at the most basic level), from the host<br />

iSeries system issue the command PING . If you need<br />

assistance with configuring TCP/IP, see your network administrator.<br />

You must define a distribution method for each environment. For details, see<br />

“Distribution method” in the table on page 90.<br />

In Network Configuration, define the distribution method as TCP/IP. If you use<br />

<strong>Implementer</strong>’s remote initiated moves feature, you must also define specific host system<br />

information in the Network Configuration. For details, see “Network Configuration” on<br />

page 167.<br />

The Communications Control (ICOMCTL) command must be set up to run on the<br />

remote with information specific to your communication network. If you use the update<br />

host component of remote initiated moves, you must also define the command to run on<br />

the host system. For details on setting up the ICOMCTL command, see<br />

“Communications Control Command” on page 177.<br />

<strong>Implementer</strong> includes a TCP/IP communications subsystem and communications job<br />

queue, both named IMCOM, which <strong>Implementer</strong> creates in the default product library<br />

(<strong>MKS</strong>IM) during product installation. You can use an alternate subsystem; however, the<br />

benefit of using IMCOM is that it allows you to isolate <strong>Implementer</strong>’s host and remote<br />

processing jobs from all other TCP/IP jobs being processed. For details, see<br />

“Communication Subsystem and Job Queue IMCOM” on page 176.


Setting Up for TCP/IP Distribution<br />

<strong>MKS</strong> recommends you use <strong>Implementer</strong>’s default TCP/IP port, 30005, on both the host<br />

and remote systems; although this is not a requirement.<br />

<strong>MKS</strong> recommends you set all OS/400 TCP/IP attributes to the IBM recommended<br />

defaults.<br />

Firewall Considerations<br />

For TCP/IP to work successfully with <strong>Implementer</strong>, certain external conditions must be met.<br />

The following information on using TCP/IP with a firewall may be helpful to your Network<br />

Administrator, or any other person responsible for the setup and maintenance of your<br />

communications and network.<br />

When using <strong>Implementer</strong> on a system with a firewall, the firewall must be completely<br />

transparent to <strong>Implementer</strong>. Thus, when targeting external iSeries systems with remote<br />

promotions, configure the network firewall to allow traffic through a predefined, userconfigured<br />

TCP/IP port on the remote system. Specify the port in <strong>Implementer</strong>’s Network<br />

Configuration. Uncompromising to your security, <strong>Implementer</strong> ensures that the program<br />

monitoring the port only responds to <strong>Implementer</strong>-specific requests. If needed, you can<br />

restrict activity on the port to specific Internet addresses by establishing firewall rules.<br />

To avoid the possibility of remote system tampering, <strong>Implementer</strong> accepts only certain<br />

requests through TCP/IP. The request information is handled using a token passed from the<br />

host system. The remote system interprets the token to identify which remote function to<br />

invoke. Any requests that present an invalid token are ignored.<br />

For outbound communications of bulk files transfers, <strong>Implementer</strong> uses standard FTP<br />

services that process with the default user profile MWIPROD. This requires the standard FTP<br />

ports 20 and 21 enabled. In addition, for proper authorization and authority to perform the<br />

FTP operation, the MWIPROD user profile must have the Limit Capabilities parameter set to<br />

*NO, as well as have authority to use the following commands on the remote system:<br />

CLRSAVF (Clear Save File)<br />

CRTSAVF (Create Save File)<br />

CRTLIB (Create Library)<br />

DLTLIB (Delete Library)<br />

IMPORTANT Due to the variety of FTP proxy servers and their protocols, the use of<br />

proxy servers is not supported.<br />

OS/400 FTP Service<br />

You must start the standard OS/400 FTP service to use bulk file transfers.<br />

175


Chapter 4: Remote Distribution Concepts and Setup<br />

176<br />

To start the FTP server<br />

Issue the Start TCP/IP Server command as follows:<br />

STRTCPSVR *FTP<br />

Use the Change FTP Attributes (CHGFTPA) command to configure the FTP server to autostart,<br />

and to set other configuration values.<br />

Communication Subsystem and Job Queue IMCOM<br />

<strong>Implementer</strong> includes the TCP/IP communications subsystem IMCOM and a<br />

communications job queue of the same name (IMCOM). Both are created in the default<br />

product library (<strong>MKS</strong>IM) when you install <strong>Implementer</strong>. An alternate subsystem can be<br />

used, however the benefit of using IMCOM is that it allows you to isolate <strong>Implementer</strong>’s host<br />

and remote processing jobs from all other TCP/IP jobs being processed.<br />

You must reference the IMCOM subsystem and job queue, or another subsystem and job<br />

queue if used, in the ICOMCTL command as described in “Communications Control<br />

Command” on page 177.<br />

The IMCOM subsystem processes two types of jobs—daemon jobs and monitor jobs. The<br />

following table defines the characteristics of each job.<br />

Job Type Description<br />

Daemon job Job name defined with D, followed by the port number, for example D30005. There<br />

can be any number of active daemon jobs, the actual number defined by the<br />

number of daemon instances (default is five) you define for the Communications<br />

Control (ICOMCTL) program. When no active jobs exist in the subsystem, there is<br />

exactly this number of daemon jobs (never fewer). A remote process uses one<br />

daemon instance (or session) and dynamically creates a duplicate copy each time<br />

for the next process to use.<br />

Monitor job Job name defined with M, followed by the port number, for example M30005. There<br />

is always only one active monitor job.<br />

CAUTION You must end the IMCOM subsystem to perform a backup of the<br />

<strong>Implementer</strong> Receiver library. However, ending the IMCOM subsystem with active<br />

promotions can cause unpredictable results. Thus, before ending the subsystem<br />

issue the ICOMCTL command with shutdown processing enabled to ensure no<br />

active promotions or other active jobs exist. Use the End Subsystem (ENDSBS)<br />

command to end the IMCOM subsystem.


Communications Control Command<br />

Setting Up for TCP/IP Distribution<br />

The Communications Control (ICOMCTL) command is delivered with <strong>Implementer</strong>. The<br />

command installs on the host system when you install or upgrade <strong>Implementer</strong>. It installs on<br />

the remote system when you install or upgrade <strong>Implementer</strong> Receiver.<br />

To use TCP/IP with <strong>Implementer</strong>, the ICOMCTL command must be set up to run on the<br />

remote system with information specific to your communication network. If you use the<br />

“Update Host” component of remote initiated moves, the command and similar subsystem<br />

must also be defined to run on the host system to allow automatic updates to the host system.<br />

The ICOMCTL command manages the start and end of the <strong>Implementer</strong> TCP/IP<br />

communications subsystem IMCOM (or the subsystem you have specified). It also controls<br />

starting and ending the daemons and monitor job within the subsystem. The daemons<br />

monitor for <strong>Implementer</strong>-specific requests.<br />

You must start the remote subsystem and TCP/IP communications programs by either<br />

manually issuing the ICOMCTL command, or defining the command to run automatically. If<br />

the communications programs are not active in the remote subsystem during <strong>Implementer</strong><br />

processing, any host system requests received on the remote fail with a time out error.<br />

To define the ICOMCTL command<br />

1 Define the ICOMCTL command parameters as described in the next section.<br />

2 Do either of the following:<br />

Add the ICOMCTL command to your OS/400 daily startup routine.<br />

Issue the command interactively by typing ICOMCTL at the command line and press<br />

F4 to prompt. Define the parameters as required and press ENTER. A message<br />

confirms the TCP/IP communications monitor started in the specified port.<br />

IMPORTANT Add the ICOMCTL command to your daily OS/400 startup routine, for<br />

example, the IPL procedure, or start it manually. The subsystem you specify in the<br />

command starts automatically if not active when the command processes.<br />

ICOMCTL Command Parameters<br />

TCP/IP Port<br />

Specify a valid TCP/IP port number between 1-65535. The default value is 30005. Specify the<br />

the same port number for this parameter on both the host and remote ICOMCTL commands.<br />

This port number must match the TCP/IP port value defined in <strong>Implementer</strong>’s Network<br />

Configuration.<br />

177


Chapter 4: Remote Distribution Concepts and Setup<br />

178<br />

Number of daemon instances<br />

Specify the number of simultaneous connections (or sessions) to initially invoke. Valid values<br />

are between 1 and 100. The default value is 5.<br />

Job queue/Library<br />

Specify the name of the job queue to submit the communications program. The default value<br />

is IMCOM, the communications job queue delivered with <strong>Implementer</strong>.<br />

Specify a library name associated with the job queue. The value *LIBL searches the library list<br />

for the job queue library. This is the default value.<br />

Subsystem/Library<br />

Specify the name of the subsystem attached to the job queue. The default value is IMCOM,<br />

the communications subsystem delivered with <strong>Implementer</strong>. If you specify an alternate<br />

subsystem, set the maximum number of jobs parameter (Max Active) to *NOMAX.<br />

This parameter is provided for your convenience: The ICOMCTL command runs in the<br />

subsystem attached to the job queue regardless of the subsystem specified in the command.<br />

This is because the IMCOM subsystem does not automatically start, and if you use the<br />

command defaults, the subsystem must be active to process the jobs submitted to the queue.<br />

Specify the library name associated with the subsystem. The value *LIBL searches the library<br />

list for the subsystem name. This is the default value.<br />

User to run as<br />

Specify a user profile for the command to process with.<br />

Name Specify a valid user profile name.<br />

*CMNUSR Job runs under the user profile specified in the data area IMCMNUSR<br />

(default is MWIPROD). This is the default value.<br />

*CURRENT Job runs under the user profile of the person who submits the command.<br />

Shutdown Processing<br />

Specify whether <strong>Implementer</strong> automatically ends the daemon and monitor jobs in the<br />

IMCOM subsystem. Shutdown processing does not include ending the IMCOM subsystem.<br />

Y Jobs automatically end when processing completes.<br />

N Jobs remain active until manually ended. This is the default value.


Setting Up for SNADS Distribution<br />

Setting Up for SNADS Distribution<br />

<strong>Implementer</strong> works with SNA Distribution Services (SNADS) to distribute changes to remote<br />

iSeries systems. If you are not using SNADS for distribution (for example, you are using<br />

SDMCom) you can bypass this section.<br />

The host iSeries system requires SNADS directory entries for each user profile that sends and<br />

receives remote distributions using SNADS. Before starting the following task, you must<br />

have the remote location name of the iSeries system you distribute to. You must use the<br />

remote location name, not the system name. To determine the remote location name, use the<br />

DSPAPPNINF (Display APPN Information) command if you use APPN, or use the<br />

DSPDEVD (Display Device Description) command for the APPC device that connects to the<br />

remote.<br />

NOTE The remote location name is usually the same as the system name of the<br />

remote. To prevent errors, use the above commands to ensure you use the correct<br />

location name.<br />

Add Directory Entries for Sending User Profiles<br />

A SNADS directory entry must exist for each host user profile defined in <strong>Implementer</strong> that<br />

has authority to distribute changes to remote systems (these user profiles are often already<br />

enrolled).<br />

To create the directory entry for a user not currently enrolled in SNADS<br />

Issue the following command:<br />

ADDDIRE USRID(user-profile local-system-name)<br />

USRD('Text description for the user')<br />

USER(user-profile)<br />

Add Directory Entries for Receiving User Profiles<br />

A SNADS directory entry must exist for each iSeries you distribute changes to. You can<br />

create the directory entry for receiving user profiles in any of three ways:<br />

Use directory entry USER(*ANY *ANY) to allow distribution to any user on the iSeries<br />

system identified to SNADS.<br />

Use directory entry USER(*ANY remote-location-name) to allow distribution to any user<br />

on the iSeries that matches the remote-location-name.<br />

If neither of these directory entries exists, you can create the following <strong>Implementer</strong>specific<br />

directory entry. Only one directory entry is required for the remote location.<br />

Specify this directory when defining the remote iSeries in Network Configuration. It is<br />

usually for user profile MWIPROD, as all network files are sent to that directory entry on<br />

the remote.<br />

179


Chapter 4: Remote Distribution Concepts and Setup<br />

180<br />

To create an <strong>Implementer</strong>-specific directory entry<br />

Issue the following command:<br />

ADDDIRE USRID(MWIPROD remote-system-name)<br />

USRD('<strong>Implementer</strong> on remote-system-name')<br />

SYSNAME(remote-location-name)<br />

Add a Directory Entry for MWIPROD<br />

For remote distributions, you must include a directory entry for the MWIPROD user profile.<br />

Specify the user profile on the remote iSeries where the <strong>Implementer</strong> Receiver receives<br />

changes.<br />

To create the directory entry<br />

Issue the following command:<br />

ADDDIRE USRID(MWIPROD remote-system-name)<br />

USRD('<strong>Implementer</strong>')<br />

USER(MWIPROD)<br />

Distribution Options<br />

This section describes some options you have for controlling the promotions to remote<br />

systems.<br />

Single Step Distribution<br />

<strong>Implementer</strong> can distribute and apply changes to one or more remote systems in a single step<br />

(on one request). You are not required to sign on to the remote system to apply the changes.<br />

After <strong>Implementer</strong> sends the changes to the remote system, it immediately executes an APPC<br />

program to apply the changes to the target libraries. If it is necessary to redistribute from the<br />

host, you can redistribute an existing promotion request without creating a new promotion<br />

request. From the Move Requests selection panel, use option 10=Redistribute.<br />

Two Step Distribution<br />

You can distribute objects to a remote system in one step and move the objects into the target<br />

libraries in a second step. The second step can be initiated from the host system or the remote<br />

system.


Controlling Remote Job Schedules<br />

The first step bundles the objects, distributes to the remote system, receives the objects on the<br />

remote system, and restores them into a temporary holding library. At an appropriate time,<br />

the second step quickly promotes the objects from the holding library to the target libraries.<br />

To minimize the time needed to move the objects into the target libraries, most of the work<br />

(receiving and restoring) is accomplished in the first step.<br />

Remote Initiated Moves<br />

You can initiate the second step of the two step distribution process from the remote system.<br />

Use this approach when you have changes that may take a long time to distribute. Once you<br />

distribute the changes into the holding libraries on the remote system, you can move the<br />

changes into the remote production libraries from the remote system during the second step.<br />

This feature is commonly used as the last step in a nightly job stream on the remote system.<br />

You can initiate remote initiated moves on the <strong>Implementer</strong> Receiver from a menu option, or<br />

by using the Move Remote Request (IMOVRMTRQS) command.<br />

If you use TCP/IP for distribution to remote systems and the update host functionality for<br />

remote initiated moves, additional subsystem requirements apply to processing the<br />

automatic updates to the host system. For details, see “Setting Up for TCP/IP Distribution”<br />

on page 173.<br />

CAUTION If promotion requests are dependent upon the completion of other<br />

requests, you must use a single-threaded job queue.<br />

Simultaneous Distribution to Multiple Remote Sites<br />

<strong>Implementer</strong> supports simultaneous distribution to an unlimited number of remote systems,<br />

while retaining clear visibility to what happens on each remote system.<br />

To perform simultaneous distribution, you must use the Move Request by System/<br />

Environment function and submit the promotion for each system separately to enable the<br />

distribution of multiple jobs. You can use multiple job queues or multi-threaded job queues<br />

to simultaneously distribute to multiple remote systems.<br />

Controlling Remote Job Schedules<br />

<strong>Implementer</strong> allows you to define standard move schedules on the local host development<br />

iSeries system, and then reschedule the move times of specific promotion requests to remote<br />

iSeries systems.<br />

181


Chapter 4: Remote Distribution Concepts and Setup<br />

182<br />

This feature allows you to distribute a promotion request from the host iSeries to multiple<br />

remote iSeries systems simultaneously, placing the remote move step under the control of a<br />

default schedule defined for each remote system. Additional flexibility on the host system<br />

allows you to reschedule the move for specific requests to manage the installation schedule of<br />

selected promotion requests without having to access the remote system.<br />

When scheduling a remote job, two options are available: Use the default job schedule<br />

settings for the target remote environment, or use the Change Remote Request<br />

(ICHGRMTRQS) command to override the default job schedule settings for a request, then<br />

issue the Move Remote Request (IMOVRMTRQS) command to reschedule the job.<br />

Using the Default Job Schedule<br />

To schedule a promotion request to a remote environment based on the default settings for<br />

that environment, use menu option 6, Move Requests by System/Environment to distribute<br />

the request. This option is available for any remote environment set up as defined in “Remote<br />

Job Scheduling” on page 183.<br />

The promotion scheduling defined for the environment appropriately schedules the job<br />

based on the default move time. Then, based on the frequency you define on the remote<br />

OS/400 auto job schedule for the Move Remote Request (IMOVRMTRQS) command, the<br />

move submits using the default schedule.<br />

IMPORTANT The move step must be separate from the distribution step because it<br />

must be a remote-initiated move.<br />

Overriding the Default Job Schedule<br />

The Change Remote Request (ICHGRMTRQS) command is used to enter schedule overrides<br />

to the default move schedule for promotion requests. The command evokes DDM to<br />

communicate the overrides to the schedule overrides file IMRQSO on the remote for each<br />

target remote system on a request. A log of the schedule overrides is maintained in file<br />

IMRQSO on the host and remote systems.<br />

The Move Remote Request (IMOVRMTRQS) command updates the Move job. The<br />

IMOVRMTRQS command reads the schedule overrides file IMRQSO on the remote and<br />

applies the processed overrides to the OS/400 auto job scheduler. Then, based on the<br />

frequency defined on the remote OS/400 auto job schedule for the IMOVRMTRQS<br />

command, the subsystem is polled for new jobs to submit and new overrides not yet applied.<br />

NOTE Only the IMOVRMTRQS command updates the Move job—the<br />

ICHGRMTRQS command does not.


Key Considerations<br />

Controlling Remote Job Schedules<br />

The distribution step must be separate from the move step (from <strong>Implementer</strong> Menu<br />

option 6, Move Requests by System/Environment, use option 10=Distribute).<br />

The remote target environment must be set up to allow remote initiated moves (in Work<br />

with Environments).<br />

Remote Job Scheduling<br />

Complete the following setup tasks to use remote job scheduling:<br />

define remote environment to allow remote-initiated moves<br />

define remote environments with a default move time<br />

on each remote system, create a routine job that issues the Move Remote Request<br />

(IMOVRMTRQS) command for all requests<br />

To define a remote environment for remote initiated moves<br />

1 From the <strong>Implementer</strong> Menu, select option 42, Environments and press ENTER. The<br />

Work with Environments panel displays.<br />

2 Select the remote environment with option 2=Change.<br />

3 Press PAGE DOWN twice to display the third Change Environment panel.<br />

183


Chapter 4: Remote Distribution Concepts and Setup<br />

184<br />

4 Do the following:<br />

In the Remote initiated move field, type Y.<br />

In the Updates host field, type Y or N to indicate whether remote initiated moves<br />

update the host with information such as the request header status, request detail<br />

status, archive information, and job log. If set to N, the status is set to complete once<br />

the request is distributed. Otherwise, the status is not updated until the move<br />

actually occurs on the remote system.<br />

5 To save the change, press ENTER.<br />

To set up default scheduling for a remote environment<br />

1 From the Work with Environments panel, type 13=Promotion scheduling next to remote<br />

environment and press ENTER. The Change Environment panel displays.<br />

2 Press PAGE DOWN to display the second Change Environment panel.<br />

3 In the Move submit date range and Time range fields, specify the default date and time<br />

ranges to use for the majority of requests. The left-most field represents the from date<br />

and time. The right-most field represents the to date and time.<br />

In the Move submit date range fields, specify one of the following values:<br />

*CURRENT Dates default from the system. This is the default value.<br />

Actual Date Type a specific from and to date.<br />

*MONTHSTR From date is the start of the month.<br />

*MONTHEND To date is the end of the month.<br />

*MON<br />

Type an asterisk followed by the first three letters of any day<br />

through *SUN of the week to indicate the from date.


Controlling Remote Job Schedules<br />

In the Time range fields, specify exact from and to times, or specify *CURRENT to<br />

default the time value of the system.<br />

To create a job that issues the move request<br />

1 Use the Add Job Schedule Entry (ADDJOBSCDE) command to add an entry to the<br />

OS/400 job scheduler.<br />

An example daily job schedule entry is:<br />

ADDJOBSCDE JOB(IMAUTOSCH)<br />

CMD(IMOVRMTRQS RQSNUM(*ALL))<br />

FRQ(*WEEKLY)<br />

SCDDATE(*NONE<br />

SCDDAY(*ALL)<br />

SCDTIME(150000)<br />

JOBD(IMPJOBD)<br />

2 If you need to modify the job schedule entry or view a current list of job schedule entries,<br />

use the Work with Job Schedule Entry (WRKJOBSCDE) command.<br />

Change Remote Request (ICHGRMTRQS) Command<br />

The Change Remote Request (ICHGRMTRQS) command communicates schedule changes<br />

for each target remote system on a promotion request. The command can be issued at any<br />

point once the request is created (the request does not have to be at a Move-Pend status).<br />

To use the Change Remote Request (ICHGRMTRQS) command<br />

1 Use the Create Request function to submit a request to a remote environment, or select<br />

an existing request.<br />

2 Type the command ICHGRMTRQS on the command line and press F4=Prompt.<br />

3 Define the command parameters based on your environment and as described next in<br />

“ICHGRMTRQS Command Parameters”.<br />

4 Press ENTER.<br />

ICHGRMTRQS Command Parameters<br />

Request number (RQSNUM)<br />

Specify the request number of the request you created or selected.<br />

185


Chapter 4: Remote Distribution Concepts and Setup<br />

186<br />

Target environment (TGTENV)<br />

Specify the target environment on the request.<br />

Name Specify the target environment names.<br />

Generic* Type a value to include all environments that match the value, for<br />

example, type ABC* to include all environments beginning with<br />

ABC.<br />

*ALL Targets all environments that requests are created for.<br />

From date (FROMDATE)/To date (TODATE)<br />

Specify the starting from date to schedule the move.<br />

*CURRENT From and to dates default from the system.<br />

Actual Date Type a specific from and to date.<br />

*MONTHSTR From date is the start of the month.<br />

*MONTHEND To date is the end of the month.<br />

*MON - *SUN Type an asterisk followed by the first three letters of any day of the<br />

week to indicate the from date.<br />

*REQUEST Dates and times do not change. This is the default value.<br />

From time (FROMTIME)/To time (TOTIME)<br />

Specify the starting from time to schedule the move.<br />

Actual time range Type a specific from and to time.<br />

*CURRENT Defaults the time range from the system.<br />

*REQUEST Dates and times do not change. This is the default value.<br />

NOTE The From date/To date and From time/To time fields, in combination, define a<br />

window of time; thus, if you specify a value in one field you must specify a value in<br />

both of the fields.<br />

Job Queue/Library (JOBQ)<br />

Specify the job queue library and name for the move.<br />

Name Type the name of a specific job queue and library.<br />

*SYSCTL Defaults the job queue specified in System Control Maintenance.<br />

*REQUEST Job queue and library do not change. This is the default value.


Hold on job queue (HOLD)<br />

Specify whether to submit the job on hold.<br />

Move Remote Request (IMOVRMTRQS) Command<br />

Controlling Remote Job Schedules<br />

*YES Job submits on hold.<br />

*NO Job does not submit on hold.<br />

*REQUEST Promotion request determines whether the job submits on hold.<br />

The Move Remote Request (IMOVRMTRQS) command issues the move step for each target<br />

remote environment on the request. If schedule overrides were entered using the Change<br />

Remote Request (ICHGRMTRQS) command, you must issue the IMOVRMTRQS command<br />

to process the override updates to the OS/400 job scheduler.<br />

The IMOVRMTRQS command runs periodically on the remote system to control the move<br />

jobs. For new requests not previously submitted, the move job submits using the default<br />

move time, or if any schedule overrides were specified with the Change Remote Request<br />

(ICHGRMTRQS) command. For inactive requests previously submitted, it updates the<br />

schedule to the last request schedule override received. The audit file IMRQSO is updated for<br />

all submitted requests.<br />

To use the Move Remote Request (IMOVRMTRQS) command<br />

1 Use the Create Requests function to submit a request to a remote environment or select<br />

an existing request.<br />

2 Use the Change Remote Request (ICHGRMTRQS) command to override the default<br />

move schedule. Follow the steps described on page 185.<br />

3 Type the command IMOVRMTRQS on the command line and press F4=Prompt.<br />

4 Define the command parameters based on your environment and as described next in<br />

“IMOVRMTRQS Command Parameters”.<br />

5 Press ENTER.<br />

If schedule overrides cannot be applied, (such as attempting to schedule from a date in<br />

the past) an error message generates. All schedule updates of previously submitted jobs<br />

are attempted, even if an error is encountered on another request.<br />

187


Chapter 4: Remote Distribution Concepts and Setup<br />

188<br />

IMOVRMTRQS Command Parameters<br />

Request number<br />

Specify the request number of the request you created or selected.<br />

Character<br />

Value<br />

System name<br />

Specify the name of the target remote system.<br />

Job Queue/Library (JOBQ)<br />

Specify the job queue library and name for the move.<br />

Hold on job queue (HOLD)<br />

Specify whether to submit the job on hold.<br />

Specify the request number. Resubmits a request at a scheduled<br />

status. For example, resubmits a specific request if the promotion job<br />

was deleted from the system while at a scheduled status. This<br />

resubmits all scheduled jobs based on the default schedule, or the last<br />

override processed.<br />

*ALL For new requests not previously submitted, submits the move job<br />

using the default move time, or if any schedule overrides were<br />

specified with the Change Remote Request (ICHGRMTRQS)<br />

command. For inactive requests previously submitted, updates the<br />

schedule to the last request schedule override received. This does not<br />

resubmit a request at a scheduled status.<br />

*FAILED Submits requests that previously failed and have a failed status. This<br />

does not resubmit a request at a scheduled status.<br />

Name Specify the remote system name.<br />

*NETATR System name is taken from the Network Configuration. This is the<br />

default value.<br />

Name Specify the job queue and library name.<br />

*SYSCTL Uses the job queue specified in System Control Maintenance.<br />

*REQUEST Job queue and library do not change. This is the default value.<br />

*YES Job submits on hold.<br />

*NO Job does not submit on hold.<br />

*REQUEST Request determines whether the job submits on hold. This is the<br />

default value.


Distribution Steps<br />

Move Steps<br />

Distribution Steps<br />

Based on the distribution method selected, the steps vary slightly but basically consist of the<br />

following sub-steps:<br />

Save the <strong>Implementer</strong> work libraries. For tape distribution, the save is to tape. For other<br />

methods, the work libraries are saved to save files.<br />

Send the <strong>Implementer</strong> work libraries (occurs differently for SNADS and SDMCom).<br />

Receive the <strong>Implementer</strong> network file (occurs only for SNADS for distribution).<br />

Restore the work files from the save files (occurs for all distribution methods). Once this<br />

sub-step completes the distribution step is complete. The move step is next.<br />

You can initiate the move step from either the host or remote system.<br />

On the host system you can initiate the move step from: the Workbench, Work with Objects,<br />

Move Request menu option, Move Requests by System/Environment, or the Move Request<br />

(IMOVRQS) command. This invokes a communications program on the remote that<br />

performs the promotion on the remote. The promotion steps are the same as on the local<br />

system. When the move step completes, the time and date that the objects were placed into<br />

production is transmitted back to the host to update the <strong>Implementer</strong> database.<br />

On the remote system you can initiate the move step from the Work with Requests function,<br />

or the Move Remote Request (IMOVRMTRQS) command on the <strong>Implementer</strong> Receiver menu<br />

or the command line. Many users embed the command in an end of day job on the remote<br />

system.<br />

TIP Issue the IMOVRMTRQS command with the request number value *ALL to<br />

complete the promotion of all requests distributed since the last time the command<br />

was issued.<br />

Multiple System Development<br />

<strong>Implementer</strong> supports multiple system development, a feature that allows <strong>Implementer</strong> to<br />

run on multiple systems while sharing the same database.<br />

189


Chapter 4: Remote Distribution Concepts and Setup<br />

190<br />

This feature is useful when you have related development activities spread across multiple<br />

systems, or a development system and a distribution system centrally located with<br />

distribution to many remote systems. You accomplish this with DDM (Distributed Data<br />

Management).<br />

Before using this feature you need to decide which system has the primary version of<br />

<strong>Implementer</strong>. This should be the system <strong>Implementer</strong> is most heavily used on.<br />

You must set the default user profile on the communications entry to have *ALL rights to the<br />

<strong>Implementer</strong> database files on the primary system. By default, DDM jobs run from the<br />

remote system under user profile QUSER and require access to the <strong>Implementer</strong> files. For<br />

details on the communications entry, see the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> Installation <strong>Guide</strong>.<br />

Starting and Ending Remote Database Support<br />

A secondary system is prepared for multiple system development by using the Start Remote<br />

Database (STRRMTDB) command. This command changes the <strong>Implementer</strong> database files<br />

(PFs and LFs) to DDM files. You can convert all files or functional subsets (for example, only<br />

lock and conflict processing). An example of the command is:<br />

STRRMTDB RMTLOCNAME(remote_location_name)<br />

RMTPRDLIB(remote <strong>Implementer</strong> library)<br />

MODE(IMPMODD)<br />

LCLLOCNAME(*LOC)<br />

RMTNETID(*LOC)<br />

FILESCVT(*ALL) JOBQ(*PRODUCT)<br />

Specify the location name of the remote system and the name of the <strong>Implementer</strong> library on<br />

that system. If the mode description, local location name, or remote network ID do not match<br />

the defaults, specify the correct values. Prompt the command to show valid values for these<br />

parameters. The default converts all <strong>Implementer</strong> files to remote databases. Alternatively,<br />

you can specify *LOCKS and/or *PROJECTS. For further information, see “Performance<br />

Considerations” on page 191.<br />

After you validate the connection to the remote system (for example, remote location name,<br />

mode, local location name, and remote net ID are valid), a batch job submits to the JOBQ<br />

specified to perform the conversion. The <strong>Implementer</strong> files on the local system should not be<br />

in use when this job runs.<br />

When you no longer need to use this feature, use the End Remote Database (ENDRMTDB)<br />

command to change the DDM files on the secondary system back to physical and logical files.<br />

Once you issue this command, the <strong>Implementer</strong> database files contain the original<br />

information as before the initial Start Remote Database command was issued.<br />

You must install <strong>Implementer</strong> on the host system and the <strong>Implementer</strong> Receiver on each<br />

remote system used for development or that receives changes from the host system.


Performance Considerations<br />

Multiple System Development<br />

You must analyze the performance impact of this feature on the secondary systems to<br />

determine its feasibility within your system setup. Some of the database files opened on the<br />

secondary system are DDM files. To effectively use this feature you need high-speed<br />

transmissions, such as that provided by a Gigabit Ethernet. The secondary systems using<br />

<strong>Implementer</strong> with DDM files do not significantly affect the primary system.<br />

Additionally, to enable the secondary system to use <strong>Implementer</strong>, the communications line to<br />

the primary system must be active and the <strong>Implementer</strong> database files on the primary system<br />

must be available. If the line to the primary system goes down, <strong>Implementer</strong> on the<br />

secondary system is unavailable for use until you re-establish the connection.<br />

If your communication line cannot provide adequate performance when you convert the<br />

<strong>Implementer</strong> files to remote databases, you may want only certain functional areas of the<br />

product to use this feature. On the Start Remote Database command, the default is to convert<br />

all files; however, you can specify to convert only the files related to lock and conflict<br />

processing [FILESCVT(*LOCKS)]. If you specify *LOCKS, each system operates with most<br />

<strong>Implementer</strong> files locally, yet maintains one set of files that enforce, lock, and allow<br />

concurrent development across all systems.<br />

Specify *PROJECTS to have one project tracking database. You can specify one or more of<br />

these values in the FILESCVT list. If you specify *ALL anywhere in the list, it overrides<br />

*LOCKS and/or *PROJECTS.<br />

Request Number Considerations<br />

If you use multiple system development and do not convert all database files, you should<br />

adjust the request number on each secondary system to avoid conflict with the request<br />

numbers on the primary system. For example, if the next request number (in System Control<br />

Maintenance) on the primary system is 500, set the next request number on a single<br />

secondary system to 5500. For multiple secondary systems, the next request numbers can be<br />

divided into equal groups depending on the number of secondary systems. In this way the<br />

likelihood of a duplicate request number generated by requests from the secondary systems<br />

is minimal, so audit records are less confusing.<br />

Each copy of <strong>Implementer</strong> and the <strong>Implementer</strong> Receiver should use a unique prefix for<br />

internal work libraries to ensure an overlap does not occur. Specify a unique two-character<br />

prefix in the data area IMPRFX in the product library of each copy of <strong>Implementer</strong>. For<br />

details, see “<strong>Implementer</strong> Data Areas and User Exit Programs” on page 401.<br />

You should also carefully consider the user profile names you use. To eliminate any<br />

confusion of where a check out occurs, <strong>MKS</strong> recommends you use different user profile<br />

names on the different systems.<br />

191


Chapter 4: Remote Distribution Concepts and Setup<br />

Saving and Restoring Remote Tape Archives<br />

192<br />

<strong>Implementer</strong> Receiver users who require access to the archives of every change made to an<br />

environment must often balance this requirement with the disk space required to store the<br />

archive copies. Archiving to tape provides a solution for off-line storage of archived<br />

member/objects in remote environments.<br />

You can save and remove all archives or specific archives, with access to archive information<br />

for each tape. You can also selectively restore archives back to the system. Once restored, you<br />

can browse the changes and/or recover the changes.<br />

Key Considerations<br />

Remote environments must be set up for archiving. For more information, see<br />

“Environments” on page 81.<br />

Tape archives include IFS and DLO files and directories, if archived.<br />

The archive to tape function uses two temporary libraries <strong>Implementer</strong> automatically<br />

creates at the beginning of the process and deletes at the end. <strong>Implementer</strong> provides the<br />

data area IMARCTAP to store the names of these temporary libraries. The default data<br />

are values are IMARCTAP1 and IMARCTAP2.<br />

CAUTION If you change the default library names in the IMARCTAP data area, you<br />

must specify library names that do not already exist on the system as <strong>Implementer</strong><br />

creates and deletes the libraries as needed. For details, see “<strong>Implementer</strong> Data<br />

Areas” on page 402.<br />

You can initiate all archive to tape functions from the Archives to Tape menu. Access to<br />

archive menu options and commands requires signing on as QSECOFR or with a profile<br />

that has a group profile of QSECOFR or all QSECOFR capabilities.<br />

The archive to tape and restore from tape jobs can be run interactively or in batch.<br />

To save an archive to tape on the <strong>Implementer</strong> Receiver<br />

1 From the <strong>Implementer</strong> Receiver menu, select option 10, Archive to Tape. The Archives<br />

to Tape menu displays.<br />

2 Select option 1, Save Archives to Tape to prompt the Archives to Tape (ISAVARC)<br />

command.<br />

The ISAVARC command can also be prompted from the command line. The command<br />

can be processed interactively, submitted for batch processing, or added to a backup<br />

routine to automate the removal of new archives.


Problem Determination<br />

3 Specify the command parameters as described in “Save Archives to Tape (ISAVARC)<br />

Command Parameters” on page 381, and press ENTER.<br />

A good practice is to use a new tape for each save. The tape label is automatically set by<br />

<strong>Implementer</strong> and initialized with a tape volume of ARC###, where ### represents a<br />

number that starts at 001 and automatically increments for each save. This information is<br />

stored in the <strong>Implementer</strong> data area ITAPEVOLUM. If you need to specify a different<br />

tape.<br />

To restore an archive from tape on the <strong>Implementer</strong> Receiver<br />

1 From the Archives to Tape menu, select option 2, Restore Archives from Tape, or issue<br />

the IRSTARC command to display the Restore Archives from Tape (IRSTARC) command<br />

parameters.<br />

2 Specify the command parameters as described in “Restore Archives from Tape<br />

(IRSTARC) Command Parameters” on page 382, and press ENTER.<br />

Problem Determination<br />

TIP To easily locate the requests to restore, review the archive reports as described<br />

in “Archive Reports” on page 383. This feature is available on the host system only.<br />

If problems occur during distribution or when moving a promotion request, a message is sent<br />

to the user on the local system that initiated the job. The job log is sent to the host system<br />

where you can view it in Job Log Inquiry.<br />

Your initial distributions and/or moves can fail if you have <strong>Implementer</strong> or the remote<br />

communications incorrectly configured. The resulting system messages can be difficult to<br />

diagnose. You should contact your supplier for help in this case. For additional information<br />

on standard installation and communications, see “Understanding <strong>Implementer</strong>” on page 9<br />

and “<strong>Implementer</strong> <strong>Administration</strong>” on page 63.<br />

The remote diagnostic capabilities can be particularly important to users with multiple<br />

remote systems because it eliminates the need to sign on to the different remote sites to<br />

perform problem determination. In most cases, you can determine problems from the host<br />

system, rather than on each remote system.<br />

193


Chapter 4: Remote Distribution Concepts and Setup<br />

194


C HAPTER FIVE<br />

<strong>MKS</strong> Integrity Integration<br />

Setting Up the Integrated SCM Solution<br />

5<br />

Few industries in the world can compare to the rapidly changing realm of computing technology.<br />

Hardware, software, and the dot com eBusiness environment are evolving at an ever increasing rate of<br />

speed. In the explosive Internet and Web-based marketplace, many companies are rushing to take<br />

advantage of this area, creating Web sites, intranets, and online commercial software products.<br />

However the effort involved in managing change has taken its toll unnecessarily on many hardworking<br />

and dedicated people. You may relate to working in a rapid free-fire zone of software<br />

development where nightly builds, if that frequent, provide the only milestones in the process. Such<br />

inadequate measures for backup and security seriously jeopardize the effectiveness of enterprise-wide<br />

contributions. While this is only one scenario, it represents an important fact in this emerging Webbased<br />

marketplace: businesses desperately need solutions that move them from chaos to order.<br />

<strong>MKS</strong> creates solutions that help you where it matters most—in the management of changes in all your<br />

critical files and in the promotion of workflow collaboration among people in your organization. Put<br />

simply, <strong>MKS</strong> has the right solution for your business. In fact, keeping up with the pace of technology<br />

does not have to be painful—on the contrary, <strong>MKS</strong> thinks that setting the pace is much more<br />

rewarding.<br />

This chapter covers the following topics:<br />

“<strong>Implementer</strong> and <strong>MKS</strong> Integrity Integration” on page 196<br />

“Converting From DesignTracker to <strong>MKS</strong> Integrity” on page 243<br />

“Emergency Update Mode” on page 255<br />

“<strong>Implementer</strong> and <strong>MKS</strong> Source Integration” on page 259<br />

“<strong>MKS</strong> Integrity Integrations Task Checklists” on page 295<br />

“Export to <strong>Implementer</strong>” on page 296<br />

“Troubleshooting” on page 302<br />

195


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

<strong>Implementer</strong> and <strong>MKS</strong> Integrity Integration<br />

196<br />

<strong>MKS</strong> Integrity (formerly <strong>MKS</strong> Integrity Manager®) is a highly customizable, process and<br />

workflow management tool.<br />

Any simple defect tracking tool can record the status of a change request, but it does not<br />

monitor all the components that need to be modified, or the variety of tasks that need to be<br />

performed to resolve the issue. <strong>MKS</strong> Integrity extends the concept of defect tracking to<br />

include support for managing components, tasks, and workflow. This is particularly<br />

important when your organization has implemented a Software Configuration Management<br />

(SCM) process for the proposal, review, and approval of all software changes.<br />

Change packages can also aid in the review of source code. By grouping together all changed<br />

members in a change package, developers can easily locate and retrieve the members they<br />

need to review.<br />

As part of the <strong>Implementer</strong> integration, <strong>MKS</strong> Integrity allows you to correlate issues with<br />

change packages that result from <strong>Implementer</strong>-managed development.<br />

A change package allows you to specify groups of member/objects that are affected by an<br />

issue, for example, a solution’s change package might contain programs that need to be<br />

changed in order to correct a problem. This helps to ensure that no hidden features or<br />

changes enter the product.<br />

The <strong>Implementer</strong> and <strong>MKS</strong> Integrity integration:<br />

helps your development team capture and track all of the data related to change in your<br />

software system<br />

allows you to set up a workflow to manage the change process<br />

allows you to create change packages to correlate issues with specific <strong>Implementer</strong><br />

member/object revisions<br />

automatically creates change packages to correlate issues with specific <strong>Implementer</strong><br />

source members and objects<br />

provides metrics for your data including queries, reports, and charts<br />

Multitiered Architecture<br />

Your business problems are unique. Your specific concerns for managing the software<br />

development process in your environment requires a solution tailored to your workflow and<br />

information management process; you are looking for a seamless answer that works with the<br />

tools you prefer to use to get the job done.


<strong>Implementer</strong> and <strong>MKS</strong> Integrity Integration<br />

<strong>MKS</strong> Integrity uses a multitiered architecture to provide improved security and cross-platform<br />

development features. Security is improved because all information related to your software<br />

development history can be kept on secure servers and accessed from a common client<br />

application. Cross-platform development is enhanced because any supported client can<br />

access members on any supported server.<br />

The <strong>MKS</strong> Integrity Server is responsible for all project work on the remote file system, while<br />

the client (<strong>MKS</strong> Integrity) manages all file work on the local user’s file system. Using a client,<br />

remote developers, managers, and Web developers can access <strong>MKS</strong> Integrity through a Web<br />

browser client, such as Internet Explorer or Mozilla.<br />

<strong>MKS</strong> Integrity<br />

Client<br />

Issues and<br />

Change Packages<br />

<strong>Implementer</strong><br />

iSeries 400<br />

Customer Browsers<br />

<strong>MKS</strong><br />

Integrity<br />

Server<br />

IFS<br />

Development<br />

Verification Phase<br />

Testing<br />

Deployment Phase<br />

Production<br />

<strong>MKS</strong> Source<br />

Client<br />

Projects and<br />

Archives<br />

Sandboxes<br />

Using a multitiered architecture, the integration presents a beginning-to-end story for<br />

managing change<br />

197


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

The iSeries Component<br />

198<br />

The <strong>Implementer</strong> and <strong>MKS</strong> Integrity integration manages software applications across your<br />

enterprise with a streamlined process for the creation and approval of mission-critical<br />

business applications. Based on a unique, open, application server architecture, the solution<br />

includes:<br />

workflow (<strong>MKS</strong> Integrity) for collaboration, approval, and change management<br />

host based version control (<strong>Implementer</strong>) and configuration for software management<br />

client/server and Java version control (<strong>MKS</strong> Source, formerly Source Integrity®<br />

Enterprise) and configuration for software management<br />

promotion and deployment (<strong>Implementer</strong>) for the movement of software changes to QA<br />

and production<br />

Process and Workflow<br />

Managers have a window into the development process, allowing them to monitor the<br />

progress of issues and changes. Resolving issues is accomplished through an integrated<br />

change management process facilitated by a common software architecture between<br />

<strong>MKS</strong> products.<br />

Issues<br />

<strong>MKS</strong> Integrity uses issues to track changes during the software development cycle. Problems,<br />

solutions, and tasks are all examples of issues. Issues can be related to each other for<br />

reference, easy tracking, and monitoring. For example, a solution may be associated with a<br />

problem and the relationship allows you to capture the data on the problem resolution<br />

during different stages of the development process. Each issue has an audit trail, which may<br />

be used to evaluate internal processes for the effectiveness of the problem resolution process.<br />

Types<br />

Issue types describe different categories of issues, such as a change request, problem, solution,<br />

or task. For example, you can use one type for issues that record deficiencies in design. You<br />

can use another type for issues that request design changes to fix problems, or to propose<br />

enhancements or new functionality for your component. Similarly, you can use a type for<br />

issues that assign work tasks to address problems or to suggest and implement solutions.<br />

<strong>MKS</strong> Integrity is an extremely flexible issue management system. <strong>MKS</strong> Integrity allows any<br />

number of types. Each type can have its own defined workflow of allowed state transitions<br />

and its own user defined set of fields.


Workflow<br />

<strong>Implementer</strong> and <strong>MKS</strong> Integrity Integration<br />

Every type follows a workflow, which is defined for every issue of that type. Workflow is the<br />

process established by an administrator to capture and track information and steps during<br />

your software development cycle. Each issue type has its own set of states to advance through<br />

the development cycles. For example, a change request might go through the states: new,<br />

approved, coding, testing, and deployed. States can also be shared across several workflows.<br />

Issues and their current states provide change management information necessary to support<br />

business decisions.<br />

<strong>MKS</strong> Integrity helps you manage issues by assigning them to responsible groups and by<br />

tracking and enforcing rules of your workflow. The ability to monitor the progress of issues<br />

at any time means they can be handled in a timely manner. By running reports on the issue<br />

data, you are able to identify problem areas that require attention and evaluate the<br />

effectiveness of improvements over time.<br />

As part of the integration with <strong>Implementer</strong>, you can track changes to members through an<br />

issue’s change package. An <strong>Implementer</strong> change package reflects the iSeries development done<br />

to resolve the issue. For example, a solution’s change package contains all members that were<br />

changed to fix a problem.<br />

The following rules apply when using issues and <strong>Implementer</strong> change packages:<br />

Each change package reflects the members effected for a single production environment.<br />

Multiple change packages are created for a single issue when multiple production<br />

environments are affected. For example, this is the case when making a software fix to an<br />

older version as well as to the new release. If an issue needs to be fixed in more than one<br />

application, a new change package is created for each application, keeping each fix<br />

separate.<br />

Development progress in <strong>Implementer</strong> optionally updates the state of an issue to reflect<br />

the development progress within <strong>Implementer</strong>. For example, when a member is checked<br />

out for an issue, the issue state could be automatically set to “Coding”. When all changes<br />

for an issue are promoted to quality assurance, the state could be automatically set to<br />

“Testing”.<br />

<strong>Implementer</strong> development activities are controlled by an issue’s workflow.<br />

An issues change packages close automatically by promoting the members forward to a<br />

production environment.<br />

The seamless integration between <strong>Implementer</strong> and <strong>MKS</strong> Integrity ensures that all iSeries<br />

development activity not only conforms to standard version control mechanisms within<br />

<strong>Implementer</strong>, but it extends these controls by ensuring that the corporate workflow for<br />

process management setup within <strong>MKS</strong> Integrity is never violated by a single development<br />

action. Then as a result of iSeries development, the enterprise wide issue tracking system is<br />

updated automatically to communicate the issue state change throughout the organization.<br />

Throughout the development process, each member being worked on is individually tracked<br />

on the <strong>MKS</strong> Integrity issue.<br />

199


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

200<br />

The following diagram illustrates this extensive integration.<br />

<strong>Implementer</strong> Actions M KS Integrity<br />

Path<br />

DEV<br />

new state<br />

“Coding”<br />

QAC<br />

new state<br />

“Testing”<br />

PRD<br />

new state<br />

“Deployed”<br />

Issue Created by Authorized User<br />

Issue created by authorized users using browser access<br />

Issue Approved by Issue Review Board<br />

Issue updated by an issue review board<br />

<strong>Implementer</strong> Checkout<br />

Verifies state change allowed from “Approved” to “Coding”<br />

V erifies current state has “checkout” capability<br />

Copies members to DEV environment library<br />

Creates change package for environment PRD<br />

Adds member with status of “checkout”<br />

Changes issue state to “Coding”<br />

<strong>Implementer</strong> Promotion to QAC<br />

Verifies state change allowed from “Coding” to “Testing”<br />

V erifies current state has “prom ote to Q AC 1” capability<br />

Moves members to environment QAC<br />

Updates status of change package entries to “In QA1”<br />

Updates change package status to “In QA1”<br />

Updates issue state to “Testing”<br />

<strong>Implementer</strong> Promotion to PRD<br />

Verifies state change allowed from “Testing” to “Deployed”<br />

Verifies current state has “promote to Production” capability<br />

Moves members to environment PRD<br />

Updates status of change package entries to “In Prod”<br />

Updates change package status to “In Prod”<br />

Closes the change package<br />

Updates issue state to “Deployed”<br />

The integration with <strong>MKS</strong> Integrity allows you to:<br />

create and close change packages<br />

add members/objects from <strong>Implementer</strong> to an issue’s change package<br />

track each member, how the member was changed, and where the member currently is<br />

within the development process<br />

view <strong>MKS</strong> Integrity change package information from <strong>Implementer</strong><br />

view <strong>Implementer</strong> information from <strong>MKS</strong> Integrity<br />

Workflow State Capabilities<br />

Approved<br />

Deployed<br />

The change package provides the common thread through the integration. <strong>Implementer</strong><br />

documents the changes made to your members, and also tracks who made them, when they<br />

were made, and the reasons why.<br />

New<br />

Coding<br />

Testing<br />

Not applicable<br />

Check out<br />

Check out<br />

Promote to QA<br />

Promote to Production<br />

Not applicable


<strong>Implementer</strong> and <strong>MKS</strong> Integrity Integration<br />

The following illustrates how the integration between <strong>Implementer</strong> and <strong>MKS</strong> Integrity<br />

works:<br />

1 You create an issue in <strong>MKS</strong> Integrity. For example, the issue requests a bug fix for a<br />

software installation problem.<br />

2 The developer performs a check out within <strong>Implementer</strong> that automatically creates an<br />

<strong>Implementer</strong> change package. Likewise, developers can automatically create a change<br />

package from the Workbench, by assigning an issue to a lock in the Lock Detail panel, or<br />

by assigning an additional issue in the Multiple Issues panel. The change package is<br />

assigned an ID and is in an open state.<br />

3 Once the changes or additions necessary to satisfy the issue are complete, the developer<br />

promotes the members.<br />

4 The issue moves to the state in the workflow defined for the environment. For example,<br />

the issue is moved from the Test state to the QA1 state.<br />

Sample Workflow<br />

You can define this feature to any <strong>MKS</strong> Integrity state that is defined within the environment<br />

workflow. For the purpose of this document however, the setup steps and examples illustrate<br />

the generation of <strong>Implementer</strong> requests when an issue reaches a state of “Ready for QA”,<br />

based on the following workflow:<br />

Submitted<br />

In Development<br />

work is in progress<br />

work is in initial unit test state<br />

Ready for QA (manually set)<br />

work has passed initial unit test and is considered ready for promotion into QA<br />

environments<br />

an <strong>MKS</strong> Integrity user manually sets an issue to this state when the corresponding<br />

objects have passed initial unit testing and are ready for promotion to QA<br />

environments<br />

In QA1<br />

objects have successfully promoted into the first set of QA environments<br />

Promoting <strong>Implementer</strong> Requests From <strong>MKS</strong> Integrity<br />

You can create and submit promotion requests from within <strong>Implementer</strong> or from within<br />

<strong>MKS</strong> Integrity. When promotion activities are performed from <strong>Implementer</strong>, it is standard<br />

<strong>Implementer</strong> promotion processing.<br />

201


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

202<br />

A separate feature allows you to create and submit promotion requests from within<br />

<strong>MKS</strong> Integrity, without having to use a separate iSeries session. This functionality is<br />

accomplished through <strong>Implementer</strong>’s command processing capabilities, as well as the event<br />

trigger functionality of <strong>MKS</strong> Integrity, and Java scripting.<br />

When the state of an issue changes to a specific user-defined state within the workflow, an<br />

<strong>MKS</strong> Integrity event trigger runs the JavaScript that establishes a connection to the iSeries<br />

and issues the call to the <strong>Implementer</strong> Add Issue Objects to Clipboard (IADDCBDISS)<br />

command. The IADDCBDISS command adds to the <strong>Implementer</strong> Clipboard all objects<br />

locked to a specified issue. Once the objects are successfully copied to the Clipboard, the<br />

<strong>Implementer</strong> Create Request (ICRTRQS) command automatically creates and submits a<br />

request to promote the objects.<br />

All messaging related to promotion processing occurs on the iSeries. If problems occur with a<br />

promotion, e-mail notification is sent to the <strong>MKS</strong> Integrity user ID for problem analysis and<br />

resolution. This feature has setup requirements in addition to setting up the basic integration.<br />

For <strong>MKS</strong> Integrity setup, see page 212. For <strong>Implementer</strong> setup, see page 242.<br />

Assumptions and Requirements<br />

<strong>MKS</strong> assumes both <strong>Implementer</strong> and <strong>MKS</strong> Integrity are configured and working successfully<br />

independently.<br />

The standard requirements for promotion request processing apply to using this feature. For<br />

example, <strong>Implementer</strong> validates user authorities to ensure the <strong>MKS</strong> Integrity user who<br />

invokes the script has the capability to create and submit promotion requests in <strong>Implementer</strong>;<br />

thus, the <strong>MKS</strong> Integrity user responsible for issuing requests must be defined to an<br />

<strong>Implementer</strong> user profile. The <strong>Implementer</strong> user profile is subject to all standard capability<br />

checks, for example, environment authorities and authority to promote.<br />

Similarly, the rules and requirements applicable to each promotion related feature also apply,<br />

such as related object and related request processing.<br />

CAUTION By not associating the <strong>MKS</strong> Integrity user to an <strong>Implementer</strong> user profile,<br />

embedded commands in the script fail.<br />

The <strong>Implementer</strong> and <strong>MKS</strong> Integrity integration described in this guide requires:<br />

<strong>Implementer</strong> <strong>2006</strong>, which requires an iSeries system running OS/400 V5R1 or later, or<br />

i5/OS V5R3 or later. This is assumed installed and configured. For details on installing<br />

<strong>Implementer</strong>, see the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> Installation <strong>Guide</strong>.<br />

<strong>MKS</strong> Integrity 2005 or later. This is assumed installed and configured. However, for the<br />

latest features you must have <strong>MKS</strong> Integrity <strong>2006</strong> or later installed and configured. For<br />

details, see the <strong>MKS</strong> Integrity Server <strong>2006</strong> Installation <strong>Guide</strong>.


<strong>Implementer</strong> and <strong>MKS</strong> Integrity Integration<br />

An active TCP/IP connection between the iSeries running <strong>Implementer</strong> and the system<br />

running <strong>MKS</strong> Integrity Server.<br />

You must configure the <strong>Implementer</strong> Server. For details, see “Configuring the<br />

<strong>Implementer</strong> Server” on page 217. For details on managing the <strong>Implementer</strong> Server, see<br />

page 223.<br />

Run the <strong>Implementer</strong> conversion that sets <strong>MKS</strong> Integrity as the default issue tracking<br />

system. For details, see “Converting From DesignTracker to <strong>MKS</strong> Integrity” on page 243.<br />

The <strong>Implementer</strong> and <strong>MKS</strong> Source integration has additional requirements. For details,<br />

see “<strong>Implementer</strong> and <strong>MKS</strong> Source Integration” on page 259.<br />

The following table summarizes the tasks required for the integration between <strong>Implementer</strong><br />

and <strong>MKS</strong> Integrity. It also tells you where to find additional information related to setting up<br />

the integration.<br />

The table includes steps required specifically for installing and setting up the <strong>MKS</strong> Integrity<br />

Server. For complete details on installing and configuring the <strong>MKS</strong> Integrity Server, see the<br />

<strong>MKS</strong> Integrity Server <strong>2006</strong> Installation <strong>Guide</strong>.<br />

To Do This … See …<br />

Understand the system requirements before you<br />

start the installation.<br />

<strong>MKS</strong> Integrity Setup and <strong>Administration</strong><br />

“Assumptions and Requirements” on<br />

page 202.<br />

Set up <strong>MKS</strong> Integrity for the integration. “<strong>MKS</strong> Integrity Setup and <strong>Administration</strong>” on<br />

page 203.<br />

Set up the <strong>Implementer</strong> Server. “Configuring the <strong>Implementer</strong> Server” on<br />

page 217<br />

Set up <strong>Implementer</strong> for the integration. “<strong>Implementer</strong> Setup and <strong>Administration</strong>” on<br />

page 216.<br />

Manage the <strong>Implementer</strong> Server. “Managing <strong>Implementer</strong> Server” on page 223.<br />

Convert from DesignTracker to <strong>MKS</strong> Integrity and<br />

perform a data conversion, if necessary.<br />

“Converting From DesignTracker to<br />

<strong>MKS</strong> Integrity” on page 243.<br />

Use the <strong>Implementer</strong>/<strong>MKS</strong> Integrity integration. See the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> User <strong>Guide</strong>.<br />

Perform emergency operations, if required. “Emergency Update Mode” on page 255.<br />

<strong>MKS</strong> Integrity is flexible—you can customize it in any way that meets your business needs.<br />

Setting up <strong>MKS</strong> Integrity involves an assessment of your current product development<br />

process to allow you to effectively design an installation that reflects your business practices.<br />

203


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

204<br />

This assessment involves no direct interaction with the software. Instead, you need to spend<br />

some time evaluating the product development process currently followed in your<br />

organization and map it so you can customize your <strong>MKS</strong> Integrity project to suit your needs.<br />

This may take longer for some than for others. But the purpose of the assessment is to avoid<br />

the time-consuming task of redesigning a project that was not well-planned in the first place.<br />

When undertaking this assessment, you should focus on these areas:<br />

your workflow and project state transitions<br />

your current tracking mechanism<br />

the scope of implementation within your organization<br />

the relevant teams and user groups<br />

Once the assessment is complete, you can proceed to customizing your installation and refer<br />

to this assessment when setting up <strong>MKS</strong> Integrity. To set up <strong>MKS</strong> Integrity, you need to<br />

define users, groups, projects, states, types, and fields, as well as set up e-mail notification.<br />

For details on assessing your current product development process or setting up<br />

<strong>MKS</strong> Integrity, see the <strong>MKS</strong> Integrity Server <strong>2006</strong> <strong>Administration</strong> <strong>Guide</strong>.<br />

NOTE Administrative functions such as users, groups, projects, states, types, fields,<br />

and triggers are accessible only from the <strong>MKS</strong> Integrity <strong>Administration</strong> Client<br />

graphical user interface (not from the Web interface).<br />

When you have completed setting up <strong>MKS</strong> Integrity, refer to the following sections for<br />

information specific to setting up <strong>MKS</strong> Integrity for integration with <strong>Implementer</strong>:<br />

“Configure the <strong>MKS</strong> Integrity Server for <strong>Implementer</strong> Server” on page 204.<br />

“Manage States and State-based Capabilities” on page 208.<br />

(Optional) “Enable Promotions From <strong>MKS</strong> Integrity” on page 212.<br />

For a checklist of the tasks required to configure the <strong>Implementer</strong> and <strong>MKS</strong> Integrity<br />

integration, see “<strong>MKS</strong> Integrity Integration Setup: Task Checklist” on page 295.<br />

Configure the <strong>MKS</strong> Integrity Server for <strong>Implementer</strong> Server<br />

The tasks associated with configuring the <strong>MKS</strong> Integrity Server for the <strong>Implementer</strong> Server<br />

include the following:<br />

configure security ACLs (based on your version of <strong>MKS</strong> Integrity Server)<br />

set change package authorities<br />

modify the <strong>MKS</strong> Integrity Server configuration file IntegrityClientSite.rc<br />

The <strong>MKS</strong> Integrity administrator who has knowledge of working with the <strong>MKS</strong> Integrity<br />

administration functions typically performs these tasks.


Configuring <strong>MKS</strong> Integrity Server ACLs<br />

<strong>Implementer</strong> and <strong>MKS</strong> Integrity Integration<br />

<strong>Implementer</strong> requires an <strong>MKS</strong> Integrity user ID to proxy all commands sent to<br />

<strong>MKS</strong> Integrity. <strong>MKS</strong> recommends you create a new user ID, for example, iSeries, with a<br />

password that does not expire specifically for this purpose. This should be a user ID you<br />

normally do not log in with. Be sure to create the user ID on both your network and in<br />

<strong>MKS</strong> Integrity. This is also the user ID you define in <strong>Implementer</strong> as described on page 230.<br />

In <strong>MKS</strong> Integrity, this user ID requires:<br />

set up in its own unique group, for example, implementer developer group (the<br />

group should include only users who create and modify <strong>Implementer</strong> change packages)<br />

special privileges set up through the Impersonation ACL to perform work on behalf of<br />

the actual <strong>Implementer</strong> user for certain commands<br />

On the <strong>MKS</strong> Integrity Server, user access is controlled by permissions on ACLs through the<br />

Authorization <strong>Administration</strong> system. The <strong>MKS</strong> Integrity administrator typically performs<br />

ACL configuration. For details, see the <strong>MKS</strong> Integrity Server <strong>2006</strong> <strong>Administration</strong> <strong>Guide</strong>.<br />

NOTE The following task uses the <strong>MKS</strong> Integrity Web interface to configure ACLs;<br />

however, you can also use the <strong>MKS</strong> Integrity <strong>Administration</strong> Client. If using the<br />

client interface, modify the steps as needed.<br />

To configure the security ACLs for <strong>Implementer</strong> Server<br />

1 On the <strong>MKS</strong> Integrity Server, click Start <strong>MKS</strong> Authorization <strong>Administration</strong>.<br />

2 Add the following required ACL entries:<br />

mks:impersonate:group:<br />

principle: <br />

Impersonate allowed<br />

mks:im<br />

Admin allowed<br />

IMPORTANT In this example, implementer developer group is the <strong>MKS</strong> Integrity<br />

group that all <strong>Implementer</strong> users are a member of. Change this variable to reflect the<br />

group name you created. To avoid compromising your security, use a group other<br />

than the everyone group; by default, all users are part of this group.<br />

Customizing Permissions for the <strong>Implementer</strong> Change Package Type<br />

This is a required task that restricts users from the ability to modify user defined change<br />

packages outside of <strong>Implementer</strong>. This is necessary to ensure <strong>Implementer</strong> change packages<br />

remain synchronous between <strong>Implementer</strong> and <strong>MKS</strong> Integrity.<br />

205


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

206<br />

The Super Administrator with Admin permission under the mks:im ACL is permitted to<br />

manage permissions for the <strong>Implementer</strong> change package type.<br />

You customize the permissions for <strong>Implementer</strong> change packages using the following<br />

command:<br />

im editcptype implementer<br />

Using the --permittedGroups option, the Super Administrator controls which groups are<br />

allowed to view <strong>Implementer</strong> change packages. By default, the everyone group is permitted<br />

to view <strong>Implementer</strong> change packages.<br />

IMPORTANT Once new permissions are set for the <strong>Implementer</strong> change package type,<br />

the default settings are overwritten. If you set new permissions where no<br />

parameters are specified, then no one can view <strong>Implementer</strong> change packages.<br />

You perform the following task using the command line interface (CLI) in <strong>MKS</strong> Integrity. For<br />

details, see the <strong>MKS</strong> Integrity <strong>2006</strong> CLI Reference <strong>Guide</strong>.<br />

To customize permissions for the <strong>Implementer</strong> change package type<br />

From the command line interface, issue the following command:<br />

im editcptype -permittedGroups=,:modi<br />

fy implementer<br />

for example,<br />

im editcptype -permittedGroups=implementerdevelopergroup,implementerintegrationgrou<br />

p:modify implementer<br />

Modifying the <strong>MKS</strong> Integrity Server Configuration File<br />

This task is required for the ability to execute <strong>MKS</strong> Integrity and <strong>MKS</strong> Source commands<br />

from within <strong>Implementer</strong> or WDSc. It also provides a comprehensive feature that allows<br />

<strong>Implementer</strong> users to invoke <strong>MKS</strong> Integrity and <strong>MKS</strong> Source GUI gestures from their<br />

workstation.<br />

NOTE The <strong>MKS</strong> Integrity Client must be available to use this feature.<br />

The following table lists the GUI interactions available for each respective <strong>Implementer</strong> user.


<strong>Implementer</strong><br />

User<br />

To modify the <strong>MKS</strong> Integrity Server configuration file<br />

<strong>Implementer</strong> and <strong>MKS</strong> Integrity Integration<br />

IMPORTANT The IntegrityClientSite.rc communications file is located in the<br />

default installation directory of the <strong>MKS</strong> Integrity Server and the default installation<br />

directory of each <strong>MKS</strong> Integrity Client. You must modify the file in each location. To<br />

allow a developer to update the communications file on their desktop, the<br />

instructions for updating the <strong>MKS</strong> Integrity Client are also included in the<br />

<strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> User <strong>Guide</strong>.<br />

1 Using Notepad or a similar text editor, open file IntegrityClientSite.rc as follows:<br />

On the <strong>MKS</strong> Integrity Server, the file is located in the directory /config/client.<br />

On the <strong>MKS</strong> Integrity Client, the file is located in /<strong>MKS</strong>/IntegrityClient.<br />

2 Verify the following line is not commented out:<br />

daemon.connectionPolicy=mks.ic.common.policy.ICAllowSpecificConne<br />

ctionPolicy<br />

3 Add or update the following statement:<br />

daemon.validConnectionList=127.0.0.1,xxx.x.x.x<br />

where xxx.x.x.x is the IP address of <strong>Implementer</strong> Server.<br />

4 Save the file and exit.<br />

<strong>MKS</strong> Integrity GUI Gesture <strong>MKS</strong> Source GUI Gesture<br />

Administrator Perform initial setup.<br />

Activate integration and<br />

communications between<br />

<strong>Implementer</strong> and <strong>MKS</strong> Integrity.<br />

Developer Select issues.<br />

View and edit issues from the Select<br />

Issue or Multiple Issues panel.<br />

View the issue summary and URL<br />

location of an issue.<br />

Perform initial setup.<br />

Activate integration and<br />

communications between<br />

<strong>Implementer</strong> and <strong>MKS</strong> Source.<br />

Activate <strong>MKS</strong> Source archiving for<br />

<strong>Implementer</strong> products.<br />

Create development path in<br />

<strong>MKS</strong> Source.<br />

Populate <strong>MKS</strong> Source projects.<br />

Checkpoint projects.<br />

Check out a specific revision.<br />

Copy from specified environment and<br />

select highest revision.<br />

View member history and annotated<br />

views from within the Workbench,<br />

Work with Objects, and WDSc.<br />

207


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

208<br />

Manage States and State-based Capabilities<br />

Throughout the product development lifecycle, issues submitted in <strong>MKS</strong> Integrity follow a<br />

workflow. You can customize the workflow and the stage the issue is in. These stages are<br />

states in <strong>MKS</strong> Integrity. For example, your process may include resource allocation, research,<br />

coding, quality assurance testing, and production. Or your process can be more elaborate.<br />

Further, each issue type can follow a unique workflow.<br />

State Usage Within <strong>Implementer</strong><br />

In <strong>Implementer</strong>, promotion path entries are used to designate the different development<br />

locations. They also correlate to states in <strong>MKS</strong> Integrity, and define the default mapping<br />

between <strong>Implementer</strong> environments and the state of issues for members in those<br />

environments.<br />

<strong>Implementer</strong> has three default promotion paths: *TST, *QAC1, and *PRD. You can create<br />

additional *QAC paths as needed, for example, *QAC2, *QAC3, *QAC4. Promotion path<br />

entries are defined in the <strong>MKS</strong> Integrity State setup, option 47 from the <strong>Implementer</strong> Menu.<br />

NOTE For details on <strong>MKS</strong> Integrity state setup in <strong>Implementer</strong>, see “State Setup in<br />

<strong>Implementer</strong>” on page 232.<br />

<strong>Implementer</strong> State-based Capabilities<br />

In <strong>MKS</strong> Integrity, you assign <strong>Implementer</strong> capabilities to the states used during <strong>Implementer</strong>managed<br />

development. State-based capabilities correlate to the <strong>Implementer</strong> promotion path.<br />

They define the <strong>Implementer</strong> functions (check out, promotion, and rejection) that are allowed<br />

or not allowed for members while an issue is in a defined state.<br />

The following state based capabilities (state transitions) are created in <strong>MKS</strong> Integrity after<br />

you run F8=Configure <strong>MKS</strong> Integrity from <strong>Implementer</strong>’s <strong>MKS</strong> Integrity State Setup panel<br />

(as described on page 233). The capabilities are based on the default path entries in<br />

<strong>Implementer</strong>.<br />

allows checkout to a development environment in <strong>Implementer</strong><br />

allows promotion to QAC environment number 1 as defined in the development path in<br />

<strong>Implementer</strong><br />

allows rejection of changes from a quality assurance environment back to a development<br />

environment in <strong>Implementer</strong><br />

allows promotions to a production environment in <strong>Implementer</strong><br />

The following example shows the state based capabilities that apply to the following<br />

workflow:<br />

Submitted > Checkout > QA1 > QA2 > In Production


State <strong>MKS</strong> <strong>Implementer</strong> State Based Capability<br />

To work with states and state based capabilities in the <strong>MKS</strong> Integrity<br />

<strong>Administration</strong> Client<br />

<strong>Implementer</strong> and <strong>MKS</strong> Integrity Integration<br />

Submitted Allows check out to development environment in <strong>Implementer</strong>.<br />

Checkout Allows check out to development environment in <strong>Implementer</strong>.<br />

Allows promotion to QAC environment #1 as defined in the development path in<br />

<strong>Implementer</strong>.<br />

QA1 Allows promotion to QAC2 environment #2 as defined in the development path<br />

in <strong>Implementer</strong>.<br />

Allows rejection of changes from quality assurance environment back to<br />

development environment in <strong>Implementer</strong>.<br />

QA2 Allows promotion to production environment in <strong>Implementer</strong>.<br />

Allows rejection of changes from quality assurance environment back to<br />

development environment in <strong>Implementer</strong>.<br />

For multiple QA environments, select additional promotion capabilities as<br />

needed. For details, see “<strong>Implementer</strong> State-based Capabilities” on page 208.<br />

In Production None. Once member object is promoted to production, all <strong>Implementer</strong> change<br />

packages automatically close.<br />

In the <strong>MKS</strong> Integrity <strong>Administration</strong> Client, under <strong>MKS</strong> Integrity, select States. The<br />

States view displays.<br />

Any changes you make in the States view have an immediate effect in your <strong>MKS</strong> Integrity<br />

database. Dialog boxes opened from the States view contain Cancel buttons for canceling<br />

operations.<br />

209


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

210<br />

Creating States<br />

You can create states for use in an issue type’s workflow. You can only create one state at a<br />

time. For details on creating states, see the <strong>MKS</strong> Integrity Server <strong>2006</strong> <strong>Administration</strong> <strong>Guide</strong>.<br />

To create a state in the graphical user interface<br />

1 From the States view, do one of the following to display the Create State dialog box:<br />

Select State > Create.<br />

Right click and select Create.<br />

Click<br />

2 In the Name field, enter a name for the state. This is the name the state is referred to in<br />

<strong>MKS</strong> Integrity.<br />

3 Under the Description tab, you can enter a more detailed textual description of the state,<br />

such as the state’s meaning in your workflow. To do this, click the Description tab.<br />

4 Under the Position tab, you can specify where the new state displays in the State list<br />

within an issue. Use the Move Up and Move Down buttons to change the position of the<br />

new state.<br />

5 Under the Image tab, you can associate a custom icon image with the state. To do this,<br />

select Use Custom Image, and click Select to browse for the image file. To have no image<br />

associated with the type, select No Image.<br />

If you choose to use your own custom icon image, the image must be in GIF or JPEG<br />

format, and no larger than 24 by 16 pixels.


<strong>Implementer</strong> and <strong>MKS</strong> Integrity Integration<br />

6 Under the Capabilities tab, you can define state-based capabilities. State based capabilities<br />

allow the check out, promotion, or rejection of members in <strong>Implementer</strong> while an issue is<br />

in a given state.<br />

If the issue state does not allow open change packages, <strong>MKS</strong> Integrity prompts you to<br />

close the issue’s change package before you move any issue to that state.<br />

If an issue state does not allow open change packages, you cannot create new change<br />

packages for any issues in that state.<br />

To display all available state-based capabilities, from the Filter list select .<br />

To display only enabled state-based capabilities, from the Filter list select<br />

.<br />

To define <strong>Implementer</strong> state-based capabilities:<br />

a) From the Filter list, select <strong>MKS</strong> <strong>Implementer</strong> to display only the state-based<br />

capabilities related to this integration.<br />

b) From the list, select the development activities that are allowed while an issue is in<br />

this state.<br />

IMPORTANT If using the <strong>MKS</strong> Source integration as described in “<strong>Implementer</strong> and<br />

<strong>MKS</strong> Source Integration” on page 259, the development state (*TST) must have the<br />

capability Allows open SI change packages to exist.<br />

211


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

212<br />

7 When you are finished setting the new state’s properties, click OK.<br />

IMPORTANT The following setup tasks are required only to promote <strong>Implementer</strong><br />

requests from within <strong>MKS</strong> Integrity. If you do not plan to use this alternate<br />

promotion feature, go to “<strong>Implementer</strong> Setup and <strong>Administration</strong>” on page 216 and<br />

complete the <strong>Implementer</strong> setup as described.<br />

Enable Promotions From <strong>MKS</strong> Integrity<br />

This is an optional feature that allows you to create and promote <strong>Implementer</strong> requests from<br />

within <strong>MKS</strong> Integrity. This feature has setup tasks in both <strong>MKS</strong> Integrity and <strong>Implementer</strong>.<br />

This section describes the setup tasks required in <strong>MKS</strong> Integrity. For details on the<br />

<strong>Implementer</strong> setup tasks, see “Enable Promotions From <strong>MKS</strong> Integrity” on page 242. For an<br />

overview of the feature, see “Promoting <strong>Implementer</strong> Requests From <strong>MKS</strong> Integrity” on<br />

page 201.<br />

Review and perform the following <strong>MKS</strong> Integrity setup requirements:<br />

Verify that the states applicable to your use of this feature exist within your<br />

<strong>MKS</strong> Integrity workflow. Add the states needed.<br />

Verify an e-mail server is defined in the <strong>MKS</strong> Integrity im.properties or<br />

is.properties file (for problem notification).<br />

Verify an e-mail address exists for the <strong>MKS</strong> Integrity user ID responsible for changing<br />

issue states that cause the creation of promotion requests (for problem notification).<br />

Modify a JavaScript file with user-defined values.<br />

Add a new trigger for the state change.<br />

Basic information on completing these tasks is described next. For detailed information, see<br />

the <strong>MKS</strong> Integrity Server <strong>2006</strong> <strong>Administration</strong> <strong>Guide</strong>.<br />

Modifying the JavaScript File<br />

The JavaScript file PromoteIssue.js. is located in the default directory:<br />


<strong>Implementer</strong> and <strong>MKS</strong> Integrity Integration<br />

If the <strong>MKS</strong> Integrity Server is running with debug log enabled, the actual commands that are<br />

executed from the script display in the log. The debug log is enabled through the<br />

logger.properties file located in the directory /config/properties.<br />

TIP <strong>MKS</strong> recommends you have someone with JavaScript skills perform the script<br />

modifications.<br />

To modify the JavaScript File<br />

1 Open file PromoteIssue.js using any text editor.<br />

2 Set the following variables defined in the script. Use the comments embedded in the file<br />

to help determine how to set the values. Specify the following values:<br />

iSeriesName is the iSeries system to connect to where <strong>Implementer</strong> is installed. This<br />

can be the TCP/IP host name or the IP address.<br />

userProfile is the <strong>Implementer</strong> user profile on the iSeries that is used to connect to<br />

the system, for example MWIPROD.<br />

NOTE This user profile is for internal purposes—promotions are not submitted by<br />

this user profile. Promotions are submitted using the user profile that changed the<br />

issue state.<br />

userPassword is the password for the <strong>Implementer</strong> user profile defined in the<br />

userProfile variable.<br />

implementerLibraryList is the <strong>Implementer</strong> library list used to run <strong>Implementer</strong><br />

commands.<br />

You can optionally change the following variables in the script:<br />

createRequestCommand is the command that creates and submits the <strong>Implementer</strong><br />

promotion request. You can change any of the command parameters except<br />

FRMLIB, FRMENV, and MBROBJ, which require the value *CLIPBOARD. The<br />

OPTIMIZE parameter defaults to *YES. You can change the value to *NO if<br />

necessary. For details on this topic, see the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> User <strong>Guide</strong>.<br />

fromEmail is the e-mail address that sends an e-mail to notify when a problem is<br />

detected on the iSeries.<br />

3 Save any changes to the file. The JavaScript does not require compiling.<br />

Creating an Event Trigger<br />

The event trigger you define in <strong>MKS</strong> Integrity must be rule based. It is used to call the<br />

supplied JavaScript code, which in turn establishes a connection to the specified iSeries<br />

system and issues several <strong>Implementer</strong> commands to create and submit the promotion<br />

requests on the iSeries.<br />

213


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

214<br />

The following tasks describe how to define the trigger for this feature. For details on event<br />

triggers, see the <strong>MKS</strong> Integrity Server <strong>2006</strong> <strong>Administration</strong> <strong>Guide</strong>.<br />

To define an event trigger<br />

1 Open an <strong>MKS</strong> Integrity <strong>Administration</strong> Client session and navigate to the Triggers view.<br />

2 Do one of the following to display the Type panel on the Create Trigger dialog box:<br />

Select Trigger > Create.<br />

Right click and select Create.<br />

Click .<br />

3 In the Name field, specify a name for the new trigger, for example, Promote Issue.<br />

4 Select Rule Based Change Trigger.<br />

5 (Optional). To enter a description for the event trigger, click the Description tab.<br />

6 On the Description panel, specify a description in the field.<br />

7 Click the Rule tab to define a rule for the trigger. The Rule panel displays.


a) Under Condition, select the prime field State' from the Field list.<br />

<strong>Implementer</strong> and <strong>MKS</strong> Integrity Integration<br />

A prime field, indicated by a prime symbol ('), specifies a new value or condition<br />

for the selected field, and primarily captures a change from one condition to<br />

another. For example, in a workflow with the states Submitted > In<br />

Development > Ready for QA > In QA > Release, the rule based trigger<br />

performs the action whenever an issue is changed to the Ready for QA state<br />

(State'=Ready for QA).<br />

You can define the trigger to any state change that is defined to the <strong>MKS</strong> Integrity<br />

workflow.<br />

b) From the Operator list, select the equal to (=) operator.<br />

c) Select the Constant option. This allows you to select a state value for the field<br />

specified in the Field list, for example, Ready for QA.<br />

Be sure to select the state that corresponds to when you want the trigger to run.<br />

The trigger runs when the issue state changes to this value.<br />

d) Click Add to add the condition to the rule.<br />

8 To select the JavaScript for the new trigger, click the Trigger tab. The Trigger panel<br />

displays.<br />

215


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

216<br />

9 To specify the script file the event trigger runs, do one of the following:<br />

a) In the Script File field, type PromoteIssue.js (the name of the JavaScript file).<br />

a) Click Browse to select the file from the Select Trigger Scripts viewer.<br />

10 Enable the Post option to schedule the trigger to run after the state changes to the<br />

specified value.<br />

11 Click OK to create the trigger.<br />

You are ready to perform the <strong>Implementer</strong> setup and administration tasks as described next.<br />

<strong>Implementer</strong> Setup and <strong>Administration</strong><br />

The <strong>Implementer</strong> Server is the foundation for many Java-based processes invoked by<br />

<strong>Implementer</strong>. It is the gateway to <strong>MKS</strong> Integrity integration. The <strong>Implementer</strong> Server<br />

significantly reduces the scope of effort involved with managing the integrations between<br />

<strong>Implementer</strong>, <strong>MKS</strong> Integrity, and <strong>MKS</strong> Source. Flexible by design, <strong>Implementer</strong> Server<br />

supports running one or more copies of <strong>Implementer</strong> on one iSeries system integrated with a<br />

single copy of <strong>MKS</strong> Integrity. It also allows <strong>MKS</strong> Integrity to remain active when<br />

<strong>Implementer</strong> is shut down for a backup.<br />

After converting from DesignTracker to <strong>MKS</strong> Integrity and completing the <strong>MKS</strong> Integrity<br />

setup and administration tasks, you are ready to perform the <strong>Implementer</strong> setup and<br />

administration tasks. These tasks include:


“Configuring the <strong>Implementer</strong> Server” on page 217.<br />

“Managing <strong>Implementer</strong> Server” on page 223.<br />

“Defining <strong>MKS</strong> Integrity Values in <strong>Implementer</strong>” on page 226.<br />

“State Setup in <strong>Implementer</strong>” on page 232.<br />

“User Profile Setup” on page 235.<br />

“Environment Setup” on page 237.<br />

“Enable Promotions From <strong>MKS</strong> Integrity” on page 242.<br />

<strong>Implementer</strong> and <strong>MKS</strong> Integrity Integration<br />

If you use the release management features of <strong>Implementer</strong>, you must also compete the<br />

field mapping as described in the table beginning on page 231.<br />

Complete the setup tasks in the order listed. For a checklist of the tasks required to configure<br />

the <strong>Implementer</strong> and <strong>MKS</strong> Integrity integration, see “<strong>MKS</strong> Integrity Integration Setup: Task<br />

Checklist” on page 295.<br />

When performing these tasks, <strong>Implementer</strong> validates the supplied information with<br />

<strong>MKS</strong> Integrity. This requires active communications between the two products. For<br />

information on managing the <strong>Implementer</strong> Server, see page 223.<br />

Configuring the <strong>Implementer</strong> Server<br />

The <strong>Implementer</strong> Server runs on the iSeries. A single <strong>Implementer</strong> Server functions for a<br />

single installation of <strong>Implementer</strong>.<br />

The server automatically installs into the default IFS installation directory on the iSeries<br />

when you initially install or upgrade <strong>Implementer</strong>. The default installation directory is:<br />

/<strong>MKS</strong>/<strong>Implementer</strong>/<strong>MKS</strong>IM/server<br />

The <strong>Implementer</strong> Server can also run on the following platforms:<br />

PC running Windows 2000 Server, Windows 2003 Server, or Windows XP Professional,<br />

in close physical proximity (and a local Ethernet connection) to the iSeries.<br />

Integrated xSeries (IXS) running Windows 2000 Server, Windows 2003 Server, or<br />

Windows XP Professional.<br />

For details on installing and configuring <strong>Implementer</strong> Server to run on a PC, see “Install<br />

and Configure <strong>Implementer</strong> Server on a PC” on page 220. Follow the same instructions<br />

to run the server on an IXS.<br />

IMPORTANT When running <strong>Implementer</strong> Server on a PC, the tasks associated with<br />

installing, upgrading, and running the server are manual.<br />

UNIX variants. For information on installing and configuring <strong>Implementer</strong> Server to run<br />

on UNIX, see “Install and Configure <strong>Implementer</strong> Server on UNIX” on page 222.<br />

217


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

218<br />

If you have any third party exit program packages installed to augment system security, you<br />

must configure the programs to allow:<br />

ODBC/JDBC communication.<br />

Remote command execution (using client access/iSeries access server).<br />

You must define the exit programs to allow communication from the system <strong>Implementer</strong><br />

runs on, which may be a localhost, and the user profile specified in the IMCMNUSR data<br />

area (MWIPROD is the default data area value).<br />

Configure <strong>Implementer</strong> Server on the iSeries<br />

The <strong>Implementer</strong> server requires Java Virtual Machine (JVM) 1.4 installed on the iSeries. JVM<br />

1.4 requires OS/400 V5R1 or later, or i5/OS V5R3 or later.<br />

This task allows you to define the control parameters for the <strong>Implementer</strong> Server. Your<br />

<strong>Implementer</strong> user profile must have authority to System Control Maintenance to perform the<br />

following setup tasks.<br />

To configure the <strong>Implementer</strong> Server<br />

1 From the <strong>Implementer</strong> Menu, type option 49, <strong>Implementer</strong> Server, and press ENTER.<br />

2 Complete the fields as described in the following table. When you have finished entering<br />

the information, press ENTER.


Field Name Description<br />

<strong>Implementer</strong> Server Setup Field Descriptions<br />

Current Status Current status of <strong>Implementer</strong> Server.<br />

Use <strong>Implementer</strong><br />

Server<br />

<strong>Implementer</strong> and <strong>MKS</strong> Integrity Integration<br />

Started: Communications between <strong>Implementer</strong> Server and <strong>Implementer</strong><br />

are active.<br />

Starting: Communications between <strong>Implementer</strong> Server and <strong>Implementer</strong><br />

are in the process of being activated.<br />

Stopped: Communications between <strong>Implementer</strong> Server and<br />

<strong>Implementer</strong> are currently not active.<br />

Suspended: Communications between <strong>Implementer</strong> Server and<br />

<strong>Implementer</strong> are on stand-by.<br />

Specify whether <strong>Implementer</strong> Server is configured to perform specific<br />

functionality within <strong>Implementer</strong>.<br />

Y: <strong>Implementer</strong> Server is configured.<br />

N: <strong>Implementer</strong> Server is not configured.<br />

Host address Specify the IP address or host name of the system running <strong>Implementer</strong><br />

Server. This address is used for all communications between <strong>Implementer</strong><br />

and <strong>Implementer</strong> Server.<br />

Valid characters are A–Z, a–z, 0–9, dash (-), underscore (_), and period (.).<br />

The default value is localhost. Case usage is not significant. The host<br />

address is not validated.<br />

Do not enclose the IP address in quotes. For example, 192.168.10 is a<br />

valid address; "192.168.10" is an invalid address. Do not specify a URL<br />

that begins with HTTP:// or HTTPS://.<br />

Server port Specify a unique number between 1 and 65535 for the HTTP port<br />

<strong>Implementer</strong> Server listens on. <strong>MKS</strong> recommends you use a number higher<br />

than 1024. The default value is 8080.<br />

Adapter port Specify a unique number between 1 and 65535 for the port <strong>Implementer</strong><br />

uses to communicate with <strong>Implementer</strong> Server. <strong>MKS</strong> recommends you use<br />

a number higher than 1024. The default value is 54545.<br />

Logging level Specify the level of detail for <strong>Implementer</strong> Server to log.<br />

*INFO logs all informational and warning messages. This is the default<br />

value.<br />

*WARN logs warning messages only.<br />

*DEBUG logs all messages. This level should be used only when<br />

instructed by <strong>MKS</strong> Customer Care.<br />

Startup delay Specify the number of seconds <strong>Implementer</strong> waits between communication<br />

attempts once the start command is issued to start <strong>Implementer</strong> Server.<br />

The default value is 30.<br />

Startup retry count Specify the number of times to retry communications before ending the job<br />

with a communication failure. The default value is 5.<br />

Log files to retain Specify the number of days worth of log files to retain in the <strong>Implementer</strong><br />

Server logs directory. The cleanup task runs every six (6) hours to remove<br />

old files. Specify zero (0) to retain all log files. The default value is 30 (days).<br />

219


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

220<br />

Field Name Description<br />

Time zone offset Specify the number of hours difference between this system and Greenwich<br />

Mean Time (GMT). For example, a system located in Central Standard Time<br />

(CST) has the offset value -6. Valid values are -12 through +12, or<br />

*SYSVAL, which allows you to use the Coordinated Universal Time Offset<br />

(QUTCOFFSET) system value.<br />

The time zone offset is required for <strong>Implementer</strong> and <strong>MKS</strong> Integrity to be<br />

relatively synchronized in time. For example, if <strong>Implementer</strong> is located in the<br />

Central time zone and <strong>MKS</strong> Integrity is in the Eastern time zone, there is<br />

one hour difference between the two servers. By defining the time zone<br />

offset, a change package’s date and time fields are correctly represented in<br />

the time zone where the server is located.<br />

IMPORTANT You must restart <strong>Implementer</strong> Server to effect changes to the time<br />

zone offset value.<br />

Install and Configure <strong>Implementer</strong> Server on a PC<br />

<strong>Implementer</strong> Server can run on a PC or an Integrated xSeries (IXS) running Windows 2000<br />

Server, Windows 2003 Server, or Windows XP Professional. When installed on a PC,<br />

<strong>Implementer</strong> Server runs as a service to ensure it starts automatically when the PC starts.<br />

<strong>Implementer</strong> Server can run from any location except the desktop. The desktop is regarded as<br />

a user’s private space, and as such, you should not run system processes and services from it.<br />

<strong>MKS</strong> recommends you install it in a directory near the root, for example,<br />

c:/<strong>Implementer</strong>_200x_Server.<br />

IMPORTANT<br />

<strong>MKS</strong> recommends you install the latest Database Group PTF, obtainable from<br />

IBM, before running the <strong>Implementer</strong> Server on a PC.<br />

When running <strong>Implementer</strong> Server as a service on a PC, you must manually<br />

perform the tasks associated with installing and upgrading the server, and the<br />

initial startup of the service.<br />

After initially installing <strong>Implementer</strong> and after each subsequent upgrade, you<br />

must manually copy the server directories to the PC and install the service.<br />

The tasks associated with setting up <strong>Implementer</strong> Server to run on a PC or IXS are as follows:<br />

Manually copy the server directory from the IFS installation location on the iSeries to the<br />

target PC.<br />

Configure the <strong>Implementer</strong> properties file with system-specific values.<br />

Install the NT service.<br />

<strong>Implementer</strong> Server Setup Field Descriptions


To copy <strong>Implementer</strong> Server from the iSeries to the target PC<br />

<strong>Implementer</strong> and <strong>MKS</strong> Integrity Integration<br />

1 Sign on to the iSeries with a user profile that has authority to access the <strong>Implementer</strong><br />

Server directory, for example, use a *SECOFR user profile. The default, IFS installation<br />

location of the <strong>Implementer</strong> Server is:<br />

/<strong>MKS</strong>/<strong>Implementer</strong>/<strong>MKS</strong>IM/server<br />

2 Using a tool such as Windows Explorer or iSeries Navigator, copy the entire<br />

<strong>Implementer</strong> Server directory from the IFS on the iSeries to the target PC. You may need<br />

to map to the drive first. Be sure to include /ROOT in the directory path of the target<br />

location.<br />

To configure <strong>Implementer</strong> Server properties file<br />

1 In the root of the <strong>Implementer</strong> Server directory on the target PC, locate the<br />

<strong>Implementer</strong>Server.properties file.<br />

2 Using a standard text editor, such as Notepad, open<br />

<strong>Implementer</strong>Server.properties.<br />

3 Modify the following variables based on the system where <strong>Implementer</strong> is installed:<br />

IMPLEMENTER_HOST is the host name or IP address of the iSeries.<br />

IMPLEMENTER_LIBRARY is the <strong>Implementer</strong> product library. <strong>Implementer</strong> ships in<br />

library <strong>MKS</strong>IM.<br />

IMPLEMENTER_USER is the user ID authorized to the <strong>Implementer</strong> product library.<br />

It must correspond to the user ID defined in the IMCMNUSR data area in the<br />

<strong>Implementer</strong> product library on the iSeries.<br />

This user ID must have *CHANGE authority to all <strong>Implementer</strong> database files.<br />

<strong>MKS</strong> recommends you use the default user profile MWIPROD.<br />

IMPLEMENTER_PASSWORD is the password for the IMPLEMENTER_USER. It must<br />

correspond to the password defined in the IMCMNUSR data area.<br />

INTEGRITY_CLIENT_PORT is the port that all workstations running <strong>MKS</strong> Integrity<br />

Client Client listen on when invoking GUI functions from <strong>Implementer</strong> or WDSc,<br />

for example, issue display, annotated view, or member history. All workstations<br />

running <strong>MKS</strong> Integrity Client that invoke GUI functions from <strong>Implementer</strong> must be<br />

listening on the same port. The default value is 31000. This is an optional property.<br />

Once you configure these values in the properties file, delete the NOT_CONFIGURED<br />

line from the file.<br />

4 Save the changes and close the file.<br />

221


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

222<br />

To install the <strong>Implementer</strong> Server service<br />

1 Optionally modify the install-service.bat file as follows:<br />

The default service name of the server is <strong>MKS</strong> <strong>Implementer</strong> Server. Change the<br />

SERVICENAME environment variable to specify a different service name. This is only<br />

necessary if more than one <strong>Implementer</strong> server is running on a single PC.<br />

To explicitly define the directory where the server runs, change the SERVERDIR<br />

environment variable as needed.<br />

2 Execute the install-service.bat file. This removes the existing <strong>Implementer</strong> Server<br />

service if it is already set up and installs a new service with any new parameters you<br />

optionally defined.<br />

IMPORTANT After performing an upgrade to the <strong>Implementer</strong> Server, you must reinstall<br />

the <strong>Implementer</strong> Server service by running the install-service.bat file.<br />

If you previously modified the file, for example, changed the service name, you<br />

must re-enter the changes before executing the file.<br />

Install and Configure <strong>Implementer</strong> Server on UNIX<br />

<strong>Implementer</strong> Server includes the script runserver.sh that allows you to install and run the<br />

server on a variety of UNIX variants. This document assumes Solaris.<br />

Installing and configuring <strong>Implementer</strong> Server on UNIX requires the assistance of someone<br />

who is familiar with both the iSeries and UNIX, including basic shell operation. It also<br />

requires:<br />

Java Runtime Environment (JRE) 1.4, appropriate for the system, must be installed.<br />

To verify the JRE version, issue the ‘java -version’ command. You can download<br />

many JREs from http://java.com/en/download.<br />

A standard shell scripting language, for example, sh, ksh, bash.<br />

To install <strong>Implementer</strong> Server on UNIX<br />

1 Using your preferred copy method, copy the entire <strong>Implementer</strong> Server subdirectory<br />

from the IFS on the iSeries to the new directory on the UNIX system. The default, IFS<br />

installation location of <strong>Implementer</strong> Server is:<br />

/<strong>MKS</strong>/<strong>Implementer</strong>/<strong>MKS</strong>IM/server<br />

If using FTP, you must use ASCII mode for all files that have .properties, .policy,<br />

.sh, and .xml extensions.<br />

2 Optional: Turn on the execute permission on the runserver.sh script using chmod.<br />

3 Optional: Delete the JRE subdirectory from the server directory (it applies to Windows<br />

systems only).


<strong>Implementer</strong> and <strong>MKS</strong> Integrity Integration<br />

4 Configure <strong>Implementer</strong> Server as described in “Configuring the <strong>Implementer</strong> Server” on<br />

page 217.<br />

5 Configure the <strong>Implementer</strong> Server properties file as described on page 221.<br />

Managing <strong>Implementer</strong> Server<br />

The <strong>Implementer</strong> Server runs based on the values you have defined in <strong>Implementer</strong> Menu<br />

option 49, <strong>Implementer</strong> Server. To ensure sufficient access to the <strong>Implementer</strong> database, the<br />

server job runs under the <strong>Implementer</strong> user profile MWIPROD.<br />

The server must be active for successful communications with <strong>MKS</strong> Integrity and<br />

<strong>MKS</strong> Source. When you install the server on the iSeries, the <strong>Implementer</strong> Server Control<br />

(ICTLSVR) command allows you to start, stop, suspend, and resume the server. The reload<br />

option allows you to reload the server with current configuration and environment<br />

information if communications failed initially. The command also provides status and job<br />

information when the server is active.<br />

<strong>MKS</strong> recommend you add the ICTLSVR command to your normal daily startup routine to<br />

ensure it activates on IPL (Initial Program Load) by the QSTRTUP program. The user profile<br />

that issues the ICTLSVR command must have authority to System Control Maintenance.<br />

Whenever you make a change to the <strong>MKS</strong> Integrity Server, for example, changes to<br />

workflow, workflow authorities, or state capabilities, you must restart <strong>Implementer</strong> Server.<br />

For information on managing the <strong>Implementer</strong> server on a PC, see page 224.<br />

NOTE The <strong>Implementer</strong> data area IMSRVJVA provides the ability to customize<br />

certain aspects of <strong>Implementer</strong> Server. However, this is usually not necessary;<br />

therefore, <strong>MKS</strong> recommends you change the data area values only when instructed<br />

by <strong>MKS</strong> Customer Care.<br />

ICTLSVR Command Parameters<br />

Command<br />

Specify the command action to perform.<br />

*START Activates the server. The server job runs under the default user profile<br />

MWIPROD. This option is not available if the server is running on a PC.<br />

*STOP Shuts down the server. You must stop the server to upgrade or reinstall<br />

<strong>Implementer</strong>.<br />

*SUSPEND Disconnects the JDBC connections from the <strong>Implementer</strong> database to<br />

release resources. Disables requests to <strong>Implementer</strong> by returning a soft<br />

error. This allows you to secure a backup of the <strong>Implementer</strong> product<br />

library.<br />

223


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

224<br />

*RESUME Reconnects the JDBC to the <strong>Implementer</strong> database. Re-enables requests<br />

to <strong>Implementer</strong>.<br />

*STATUS When <strong>Implementer</strong> server is active, reports the current status of the<br />

server and related job information.<br />

*RELOAD Reloads <strong>Implementer</strong> server with current information. Use manually to<br />

reload configuration information, or programmatically to reload<br />

environment information for <strong>MKS</strong> Source integration.<br />

Job Queue/Library<br />

Specify the name of the job queue and corresponding library that <strong>Implementer</strong> server runs in.<br />

The server job activates in this job queue. The default value is IMCOM, a job queue delivered<br />

in the <strong>Implementer</strong> product library <strong>MKS</strong>IM. These parameters are required for the *START<br />

command option.<br />

Managing <strong>Implementer</strong> Server on a PC<br />

The <strong>Implementer</strong> Server service starts automatically when the PC starts. If you need to<br />

manually start the server, from the Windows Control Panel in the System <strong>Administration</strong><br />

group, use the Services application to start the <strong>MKS</strong> <strong>Implementer</strong> Server service (or the<br />

service name you specified if you changed the default value).<br />

Managing <strong>Implementer</strong> Server on UNIX<br />

You must perform the following steps when starting <strong>Implementer</strong> Server. You can optionally<br />

automate this task by including the steps in the system startup script.<br />

To execute <strong>Implementer</strong> Server on UNIX<br />

1 Set the JAVA_HOME environment variable to identify the root location of the JRE.<br />

a) If the Java executable is located in /usr/local/java/jre-1.4.1_02/bin/java,<br />

then set the JAVA_HOME environment variable to /usr/local/java/jre-<br />

1.4.1_02.<br />

b) Optional: You can update the runserver.sh script to include a hard coded<br />

reference to the JAVA_HOME variable.<br />

2 Do one of the following:<br />

If you enabled the execute permission bit in setup, then invoke the runserver.sh<br />

script directly from the command line.<br />

If you did not enable the execute permission bit in setup, then invoke the<br />

runserver.sh script by invoking sh runserver.sh.


<strong>Implementer</strong> Server Patches and PTFs<br />

<strong>Implementer</strong> and <strong>MKS</strong> Integrity Integration<br />

<strong>Implementer</strong> provides patches for <strong>Implementer</strong> Server in the standard <strong>Implementer</strong> PTF<br />

format. When a patch for <strong>Implementer</strong> Server is included with a PTF, the PTF installer<br />

automatically installs the patch into the server directory.<br />

The patches usually distribute as CLASS files (as opposed to JAR files) to allow applying<br />

incremental patches. The class files install into the IFS location:<br />

/mks/implementer//webapps/ROOT/WEB-INF/classes<br />

IMPORTANT If <strong>Implementer</strong> Server runs on a PC, after applying a patch you need to<br />

recopy the server from the IFS to the system where the server runs. Follow the same<br />

instructions as when initially installing the server. You do not need to reinstall the<br />

service.<br />

When you apply an <strong>Implementer</strong> Server patch, a marker file is created in the ‘info’<br />

subdirectory. The marker file identifies which issue the patch applies to. If you apply<br />

multiple patches, then multiple marker files are created in the subdirectory. The marker file is<br />

in the form IMPTFnnnn, where nnnn is the issue number associated with the PTF.<br />

Troubleshooting <strong>Implementer</strong> Server<br />

If you encounter errors with <strong>Implementer</strong> Server, the <strong>Implementer</strong> Server log files register<br />

server activity based on the logging level you define in <strong>Implementer</strong> Menu option 49,<br />

<strong>Implementer</strong> Server.<br />

Server activity for the current date is stored in file implementer-server.log. When the<br />

current date changes, implementer-server.log renames to a date differentiated file name,<br />

and an empty implementer-server.log file is created. The server log files are purged<br />

based on the number of days you specify to retain on the <strong>Implementer</strong> Server Setup panel.<br />

When <strong>Implementer</strong> Server runs on the iSeries, the server log files are stored in the<br />

/logs sub-directory of the IFS. The <strong>Implementer</strong> Display Server Log (IDSPSVRLOG)<br />

command allows you to view history logs. The command has one parameter, DATE,<br />

which accepts the value *CURRENT, or a specific date you enter in YYYYMMDD<br />

format.<br />

IMPORTANT Your user profile must have authority to System Control Maintenance to<br />

issue the IDSPSVRLOG command.<br />

When <strong>Implementer</strong> Server runs on a PC, the log files are stored in the /logs subdirectory<br />

on the PC. You can view the history logs using any standard text editor, such<br />

as Notepad.<br />

225


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

226<br />

<strong>Implementer</strong> Server must be able to communicate with <strong>MKS</strong> Integrity Server for the<br />

integration to work successfully.<br />

A common diagnostic technique when resolving <strong>MKS</strong> Integrity connectivity issues is to<br />

ping the hostname (or IP address) of <strong>MKS</strong> Integrity Server. This technique is effective<br />

provided you ping the server from the correct host.<br />

When <strong>Implementer</strong> Server is installed on an iSeries, the iSeries must be able to<br />

communicate with <strong>MKS</strong> Integrity Server.<br />

When <strong>Implementer</strong> Server is installed on a PC, that PC must be able to<br />

communicate with <strong>MKS</strong> Integrity Server. In this case, the iSeries is not actually<br />

communicating with <strong>MKS</strong> Integrity Server, thus, it is meaningless if you can ping<br />

<strong>MKS</strong> Integrity Server from the iSeries.<br />

If you have Windows XP Service Pack 2 (SP2) installed on the system running<br />

<strong>Implementer</strong> Server, the firewall built into SP2 could interfere with server<br />

communications. You may need to adjust the firewall to allow connections on the Server<br />

and Adapter ports, or disable it entirely.<br />

For additional troubleshooting information, see the table on page 302.<br />

Defining <strong>MKS</strong> Integrity Values in <strong>Implementer</strong><br />

The <strong>MKS</strong> Integrity communication parameters are defined in <strong>Implementer</strong> on the<br />

<strong>MKS</strong> Integrity Setup panel.<br />

Your <strong>Implementer</strong> user profile must have authority to maintain System Control (defined in<br />

Work with Users) to change the default values on the <strong>MKS</strong> Integrity Setup panel. Without<br />

this authority, changes are not allowed and the panel is protected.<br />

To define <strong>MKS</strong> Integrity values in <strong>Implementer</strong><br />

1 From the <strong>Implementer</strong> Menu, type option 47, <strong>MKS</strong> Integrity, and press ENTER, or issue<br />

the STRIM *INTMGRSET command.


<strong>Implementer</strong> and <strong>MKS</strong> Integrity Integration<br />

You can perform the following functions on the <strong>MKS</strong> Integrity Setup panel.<br />

F3=Exit returns to the <strong>Implementer</strong> Menu without processing any information.<br />

F6=State setup displays the <strong>MKS</strong> Integrity State Setup panel to create and modify<br />

<strong>MKS</strong> Integrity promotion path state information. For details, see “State Setup in<br />

<strong>Implementer</strong>” on page 232.<br />

F7=Test allows you to test the communications between <strong>Implementer</strong> Server and<br />

<strong>MKS</strong> Integrity Server. Sets the System Available field status based on the result.<br />

F8=Configure <strong>MKS</strong> Integrity updates <strong>MKS</strong> Integrity with the <strong>Implementer</strong>-related<br />

state based capabilities that control check out and promotion. You perform this<br />

function once as part of the initial setup. Thereafter, use it to add additional *QAC<br />

paths through F6=State Setup. There is no risk in running this function multiple<br />

times. For details on using this function, see page 234. For a list of the capabilities<br />

this function adds to <strong>MKS</strong> Integrity, see “<strong>Implementer</strong> State-based Capabilities” on<br />

page 208.<br />

F9=Apply Pending Changes synchronizes <strong>Implementer</strong> with <strong>MKS</strong> Integrity by<br />

applying any pending updates that were postponed when the <strong>MKS</strong> Integrity<br />

emergency update mode was active. For details on using this function, see<br />

“Applying Pending Changes” on page 257.<br />

F12=Cancel returns to the previous panel without processing any options.<br />

227


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

228<br />

F20=Convert to <strong>MKS</strong> Integrity converts the issue management system from<br />

DesignTracker to <strong>MKS</strong> Integrity. For details, see “Converting From DesignTracker<br />

to <strong>MKS</strong> Integrity” on page 243.<br />

IMPORTANT<br />

Other than completely restoring from a backup, you cannot reverse the results of<br />

invoking this function. Therefore, you must review all related documentation in<br />

this chapter before running a conversion. When you process the function, two<br />

confirmation panels display; the panels include important information on the<br />

function you are about to perform and require a reply. You can cancel the<br />

procedure from either of the panels.<br />

This function does not convert DesignTracker data. For details on converting<br />

data, see page 431.<br />

2 Complete this panel as described “<strong>MKS</strong> Integrity Setup Field Descriptions” on page 228.<br />

(Press PAGE DOWN to access the additional panels.)<br />

3 When you are finished adding the information, press ENTER.<br />

4 To ensure communications are active and the setup you have defined is usable by<br />

<strong>Implementer</strong>, press F7=Test.<br />

5 To configure <strong>MKS</strong> Integrity with the <strong>Implementer</strong> capabilities, press F8=Configure<br />

<strong>MKS</strong> Integrity.<br />

After completing this task, you are ready to perform “State Setup in <strong>Implementer</strong>” as<br />

described on page 232.<br />

Field Description<br />

<strong>MKS</strong> Integrity Setup Field Descriptions<br />

Issue Management System Identifies which product is configured to supply <strong>Implementer</strong> with<br />

issue tracking information and represents the current issue<br />

management system. The default value DesignTracker verifies that<br />

DesignTracker provides all issue information. The value<br />

<strong>MKS</strong> Integrity verifies that <strong>MKS</strong> Integrity provides all issue<br />

information.<br />

The field is input protected. The only way to change the value from<br />

DesignTracker to <strong>MKS</strong> Integrity is by running the conversion that sets<br />

<strong>MKS</strong> Integrity as the default system. Once, converted, there is no<br />

way to change the value back to DesignTracker.<br />

For the integration described in this chapter, the field value must be<br />

<strong>MKS</strong> Integrity. If this is not the value, see “Converting From<br />

DesignTracker to <strong>MKS</strong> Integrity” on page 243.


Field Description<br />

<strong>MKS</strong> Integrity Setup Field Descriptions<br />

<strong>Implementer</strong> and <strong>MKS</strong> Integrity Integration<br />

<strong>MKS</strong> Integrity Current Status Identifies the current status of <strong>MKS</strong> Integrity. Automatically updated<br />

through communication attempts (input is not allowed).<br />

System available indicates whether <strong>MKS</strong> Integrity was available on<br />

the last attempt to communicate.<br />

Yes: Communication between <strong>MKS</strong> Integrity and <strong>Implementer</strong> was<br />

successful.<br />

No: Communication between <strong>MKS</strong> Integrity and <strong>Implementer</strong> was<br />

unsuccessful.<br />

Pending changes indicates whether <strong>Implementer</strong> ran in emergency<br />

update mode when <strong>MKS</strong> Integrity was unavailable and if updates are<br />

pending that need to be applied to <strong>MKS</strong> Integrity.<br />

Yes: New changes exist that need to be sent to <strong>MKS</strong> Integrity for<br />

database synchronization. For details, see “Applying Pending<br />

Changes” on page 257.<br />

No: No new changes need to be sent to <strong>MKS</strong> Integrity.<br />

<strong>MKS</strong> Integrity Connection Setup<br />

The following fields define the communication parameters that allow <strong>Implementer</strong> to work with<br />

<strong>MKS</strong> Integrity and <strong>MKS</strong> Integrity Server.<br />

Communications timeout Number of seconds <strong>Implementer</strong> waits for a valid response after<br />

contacting the <strong>MKS</strong> Integrity Server. Only used when <strong>MKS</strong> Integrity<br />

is the issue management system.<br />

If communications between <strong>Implementer</strong> and <strong>MKS</strong> Integrity Server<br />

are slow, set this to a higher number to prevent time-outs during<br />

normal usage, such as if <strong>MKS</strong> Integrity Server is available but not<br />

responding in a timely manner due to heavy traffic or running a large<br />

query.<br />

Server Address of <strong>MKS</strong> Integrity Server. This server address must be<br />

reachable from the iSeries, as well as work within a clients Web<br />

browser. It is used to construct a URL.<br />

Specify either the IP address or a name that both the Domain Name<br />

Server (DNS) on the iSeries and each client’s Web browser can<br />

resolve.<br />

Valid characters are A–Z, a–z, 0–9, dash (-), underscore (_), and<br />

period (.). Case usage is not verified.<br />

Do not enclose the server address in quotes. For example,<br />

127.0.0.1 is a valid address, "127.0.0.1" is an invalid address.<br />

Server browser port Port number for the <strong>MKS</strong> Integrity Web interface; the port<br />

<strong>Implementer</strong> uses to access the <strong>MKS</strong> Integrity Web interface from<br />

<strong>Implementer</strong> panels. Commonly referred to as the Integrity Server<br />

Port. It must be different from the Server <strong>Implementer</strong> Port.<br />

If the Server field is defined, this is a required field and the value<br />

must be between 1 and 65535. The default value in the property file<br />

is 7001.<br />

229


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

230<br />

Field Description<br />

Server cleanup frequency Number of minutes <strong>Implementer</strong> waits between the end of an<br />

<strong>MKS</strong> Integrity transaction and when the transaction is cleared from<br />

the database.<br />

<strong>MKS</strong> Integrity user ID User ID used for all communication between <strong>Implementer</strong> Server and<br />

<strong>MKS</strong> Integrity Server. This must be the same user ID as described<br />

and specified in “Configuring <strong>MKS</strong> Integrity Server ACLs” on<br />

page 205. This user ID is also used by the IUPDCI command to post<br />

updates back to <strong>MKS</strong> Integrity Server.<br />

Field entry is case sensitive; the case specified in <strong>MKS</strong> Integrity must<br />

be specified here.<br />

Password Password of the <strong>MKS</strong> Integrity user ID specified in the previous field<br />

and required for all communications between <strong>Implementer</strong> Server<br />

and <strong>MKS</strong> Integrity Server. Non display field that displays as blank<br />

when typing the password value.<br />

Description field User-defined issue description field within <strong>MKS</strong> Integrity, for<br />

example, Summary. Contents of this field displays as the long<br />

description for an issue on <strong>Implementer</strong> panels. Entry in this field is<br />

optional. Case specified in <strong>MKS</strong> Integrity must be specified here. The<br />

field must be type Long Text.<br />

<strong>Implementer</strong> project field For <strong>Implementer</strong> project tracking in <strong>MKS</strong> Integrity, specify the name<br />

of the user defined field within <strong>MKS</strong> Integrity that contains the<br />

<strong>Implementer</strong> project field. The case usage specified here must match<br />

the case usage applied to the field in <strong>MKS</strong> Integrity.<br />

This field value must be defined in <strong>MKS</strong> Integrity as Short Text or<br />

Pick data type with a maximum length of seven characters (the field<br />

name can be longer). Any project values in <strong>MKS</strong> Integrity must be<br />

added manually to <strong>Implementer</strong>.<br />

After selecting an issue in <strong>Implementer</strong> using F4=Prompt, the<br />

appropriate project field populates with the value from <strong>MKS</strong> Integrity.<br />

The project reference displays on select <strong>Implementer</strong> panels, for<br />

example, the Workbench and Work with Objects.<br />

iSeries notify user The iSeries user profile to notify when the state of the connection to<br />

<strong>MKS</strong> Integrity changes to either available or unavailable. User is also<br />

notified with the results of the update process when you run a<br />

synchronization using F9=Apply pending changes.<br />

Allow co-existence with<br />

DesignTracker<br />

<strong>MKS</strong> Integrity Setup Field Descriptions<br />

Indicates if co-existence with DesignTracker is enabled. The field is<br />

read only and only applicable if <strong>MKS</strong> Integrity is the default issue<br />

tracking system. For details on co-existence, see “Converting From<br />

DesignTracker to <strong>MKS</strong> Integrity” on page 243.<br />

Last allowed DR number Applicable only if DesignTracker co-existence is enabled. Specify the<br />

last valid design request number when DesignTracker co-existence is<br />

enabled. Any DR/Issue number higher than the specified number is<br />

considered an <strong>MKS</strong> Integrity issue.


Field Description<br />

Release Management Field Mapping<br />

<strong>Implementer</strong> and <strong>MKS</strong> Integrity Integration<br />

Define the following fields to use <strong>MKS</strong> Integrity and the release management features of <strong>Implementer</strong>.<br />

For details, see the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> Release Management <strong>Guide</strong>.<br />

Release Management<br />

Active?<br />

<strong>MKS</strong> Integrity Setup Field Descriptions<br />

Specify Y to use the release management features of <strong>Implementer</strong><br />

with <strong>MKS</strong> Integrity. Activation of this feature requires a value in each<br />

of the remaining fields.<br />

Issue type to create Type of issue to create in <strong>MKS</strong> Integrity for each release you create<br />

in release management. You must define this release type in<br />

<strong>MKS</strong> Integrity specifically for release management use.<br />

Deleted release state Issue state to assign to an issue when the corresponding release is<br />

deleted from <strong>Implementer</strong> (the issue is not deleted).<br />

Related issues field Type of relationship to add to the corresponding release issue in<br />

<strong>MKS</strong> Integrity when a new issue is added to a release management<br />

release. Leave the field blank to create a traditional relationship type.<br />

Product field Name of the user defined field within <strong>MKS</strong> Integrity that displays the<br />

product value in an issue. Field must be defined in <strong>MKS</strong> Integrity as<br />

type Long Text.<br />

Version field Name of the user defined field within <strong>MKS</strong> Integrity that displays the<br />

version in an issue. Field must be defined in <strong>MKS</strong> Integrity as type<br />

Long Text.<br />

Release field Name of the user defined field within <strong>MKS</strong> Integrity that displays the<br />

release value in an issue. Field must be defined in <strong>MKS</strong> Integrity as<br />

type Long Text.<br />

Release description Name of the user defined field within <strong>MKS</strong> Integrity that displays the<br />

release description in an issue. Field must be defined in<br />

<strong>MKS</strong> Integrity as type Long Text.<br />

Release type Name of the user defined field within <strong>MKS</strong> Integrity that displays the<br />

release type in an issue. Field must be defined in <strong>MKS</strong> Integrity as<br />

type Long Text.<br />

Release status field Name of the user defined field within <strong>MKS</strong> Integrity that displays the<br />

release status in an issue. Field must be defined in <strong>MKS</strong> Integrity as<br />

type Long Text.<br />

Open date field Name of the user defined field within <strong>MKS</strong> Integrity that displays the<br />

date a release was opened. Field must be defined in <strong>MKS</strong> Integrity<br />

as type Long Text.<br />

Open time field Name of the user defined field within <strong>MKS</strong> Integrity that displays the<br />

time a release was opened. Field must be defined in <strong>MKS</strong> Integrity<br />

as type Long Text.<br />

231


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

232<br />

Field Description<br />

State Setup in <strong>Implementer</strong><br />

<strong>MKS</strong> Integrity Setup Field Descriptions<br />

Close date field Name of the user defined field within <strong>MKS</strong> Integrity that displays the<br />

date a release was closed. Field must be defined in <strong>MKS</strong> Integrity as<br />

type Long Text.<br />

Close time field Name of the user defined field within <strong>MKS</strong> Integrity that displays the<br />

time a release was closed. Field must be defined in <strong>MKS</strong> Integrity as<br />

type Long Text.<br />

<strong>MKS</strong> Integrity is an extremely flexible tool that uses issues to manage development activities.<br />

While it allows for any number of user-defined issues, each issue is identified by a type, and<br />

each type has its own user-defined fields.<br />

<strong>MKS</strong> Integrity controls the <strong>Implementer</strong> development activities of check out and promotion<br />

through an issue’s state, and each issue type can have its own workflow of allowed state<br />

transitions.<br />

<strong>MKS</strong> Integrity associates every item that is changed with the issue it was changed for by way<br />

of an issue change package entry. Change package entries are added and updated only through<br />

<strong>Implementer</strong>’s check out and promotion activities. If checking out from multiple production<br />

environments, the changes for each environment are placed in a different change package.<br />

<strong>MKS</strong> Integrity shows the progress of a change package in <strong>Implementer</strong> development with a<br />

status. Through <strong>MKS</strong> Integrity, you are able to view the status of any member that is<br />

managed through <strong>Implementer</strong>.<br />

In <strong>Implementer</strong>, the default promotion path entries are globally defined in the <strong>MKS</strong> Integrity<br />

State Setup function. <strong>Implementer</strong> provides three default paths: *TST, *QAC1, and *PRD.<br />

You can optionally create an unlimited number of additional *QAC paths as needed, for<br />

example, *QAC2, *QAC3, *QAC4. Each promotion path entry corresponds to a user-defined,<br />

default state that is routinely assigned to an issue when all members of a change package<br />

progress through the development path, or when a member is rejected from a particular<br />

environment in the development path.<br />

If an application requires a unique status, you can override the global definitions at the<br />

environment level. When assigning issue states, <strong>Implementer</strong> processes existing environment<br />

overrides first, if none exist then it assigns the appropriate default global value based on<br />

where the environment is in the promotion path. The environment can override to a different<br />

state or can specify *NONE if no state change is desired. For information on overriding the<br />

default path, see “Environment Setup” on page 237.


<strong>Implementer</strong> and <strong>MKS</strong> Integrity Integration<br />

Performing <strong>MKS</strong> Integrity State Setup requires a user profile that has authority to System<br />

Control Maintenance. The administrator typically performs this task when setting up the<br />

integration. Thereafter, you use it only to change a path’s issue state or to add or delete *QAC<br />

states. When you create a promotion path entry or change an issue state in <strong>Implementer</strong>, the<br />

issue state is validated in <strong>MKS</strong> Integrity.<br />

To configure promotion path entries with issue states<br />

1 From the <strong>Implementer</strong> Menu, type option 47, <strong>MKS</strong> Integrity, and press ENTER, or issue<br />

the command STRIM *INTMGRSET. The <strong>MKS</strong> Integrity Setup panel displays.<br />

2 Press F6=State setup. The <strong>MKS</strong> Integrity State Setup panel displays.<br />

The actions you can perform on this panel are as follows.<br />

Option 2=Change allows you to change the issue state to assign during the various<br />

stages of development. For each default promotion path entry you use, you must<br />

define the issue state to assign to an issue when the issue is in this state. To complete<br />

this task, proceed directly to step 3 page 234.<br />

Option 4=Delete allows to remove the last user-defined *QAC path entry. For<br />

example, if paths *QAC2, *QAC3, and *QAC4 exist, you must delete *QAC4 before<br />

deleting *QAC3 is allowed. Deleting any other promotion path type is not allowed.<br />

Option 5=Display allows you to view state detail for a path.<br />

233


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

234<br />

F6=State setup allows you to create a new promotion path entry on the<br />

<strong>MKS</strong> Integrity State Setup panel. It may be helpful to review “Manage States and<br />

State-based Capabilities” on page 208 before creating a new promotion path entry.<br />

IMPORTANT After adding a new *QAC path, you must update with the new state<br />

capabilities for <strong>Implementer</strong> to check for by running F8=Configure <strong>MKS</strong> Integrity.<br />

Then use <strong>MKS</strong> Integrity State Setup to assign the <strong>Implementer</strong> capabilities to the<br />

appropriate states.<br />

3 Type option 2=Change next to the promotion path, and press ENTER. The <strong>MKS</strong> Integrity<br />

State Detail panel displays.<br />

4 Complete this panel as described in the following table, and press ENTER.<br />

Field Description<br />

<strong>MKS</strong> Integrity State Detail Field Descriptions<br />

Promotion path entry Location on the promotion path the state is being set for. When adding a<br />

new path entry, the value defaults to the next *QAC environment and<br />

cannot be changed.<br />

Description Description about the path level.<br />

Issue state Issue state to assign when an item is in this promotion path location.<br />

Must be a valid state in <strong>MKS</strong> Integrity.<br />

For a *TST entry, the state is set in check out. For a *QAC or *PRD entry,<br />

the state is set after successful promotion. If the value is left blank, the<br />

issue state remains unchanged.


Field Description<br />

User Profile Setup<br />

<strong>MKS</strong> Integrity State Detail Field Descriptions<br />

<strong>Implementer</strong> and <strong>MKS</strong> Integrity Integration<br />

Issue state when rejected Issue state to set when an item in this promotion path location is<br />

rejected. Must be a valid state in <strong>MKS</strong> Integrity.<br />

Applies to *QAC path entries only. If this value is left blank, the issue<br />

state remains unchanged when rejected.<br />

For each <strong>Implementer</strong> user that uses the integration, you must define an <strong>MKS</strong> Integrity user<br />

profile and specify whether the user has authority to activate <strong>MKS</strong> Integrity emergency<br />

mode. In addition, each user that performs an <strong>Implementer</strong> check out or promotion for items<br />

associated with an <strong>MKS</strong> Integrity issue must have a valid user profile in <strong>Implementer</strong> and a<br />

valid user ID in <strong>MKS</strong> Integrity.<br />

The user’s profile can be the same for both products or it can be different. By default,<br />

<strong>Implementer</strong> uses the iSeries user profile, which may or may not be the same as the<br />

<strong>MKS</strong> Integrity user ID. If the <strong>MKS</strong> Integrity user ID is different from the iSeries user profile,<br />

you can optionally define the appropriate <strong>MKS</strong> Integrity user ID to <strong>Implementer</strong>. This allows<br />

all integrations with <strong>MKS</strong> Integrity for a user to consistently use the value specified. There is<br />

no requirement that the password be the same.<br />

<strong>MKS</strong> Integrity Emergency Mode Authority<br />

In the event <strong>MKS</strong> Integrity temporarily cannot be contacted to perform the integrations,<br />

<strong>Implementer</strong> provides a facility that allows the check out and promotion functions to<br />

continue uninterrupted. This is accomplished by activating <strong>Implementer</strong>’s emergency update<br />

mode.<br />

For example, let’s say you have changes on an active request that must be promoted<br />

immediately to correct a level check problem in production, but a communication failure<br />

between <strong>Implementer</strong> and <strong>MKS</strong> Integrity has caused the promotion to fail. By activating the<br />

emergency update mode, you can continue with all required development activities, while<br />

storing the issue updates for subsequent posting once the communications are re-established.<br />

IMPORTANT When emergency update mode is active, <strong>Implementer</strong> is unable to<br />

validate <strong>MKS</strong> Integrity information. Thus, any issue number is accepted in check<br />

out, including invalid numbers, and every promotion is allowed even if the<br />

workflow or capabilities normally prohibit it. For this reason, operating in<br />

emergency mode is not intended as a normal disconnected mode—rather it is for<br />

emergency purposes only, such as when a production environment is down and<br />

must be updated to be active again.<br />

Users must be authorized to control the emergency update mode; for security reasons, no<br />

users are authorized by default. Typically, emergency mode authority is given to select<br />

development managers and senior developers. Once authorized, the user activates and<br />

235


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

236<br />

deactivates the emergency mode through the <strong>MKS</strong> Integrity Emergency Update Active field in<br />

Work with Users, by using option 20=User Defaults, or from the Workbench by using<br />

F18=User Defaults. For details on using this feature, see the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> User <strong>Guide</strong>.<br />

Using the emergency update mode for remote initiated moves or remote compiles with host<br />

updates requires the <strong>Implementer</strong> user profile MWIPROD defined with the <strong>MKS</strong> Integrity<br />

emergency update field set to Y, and the <strong>MKS</strong> Integrity Emergency Update Active field set to Y<br />

(in User Defaults). For more information, see “Considerations for Remote Processing” on<br />

page 256.<br />

It is not necessary to have the emergency mode authority defined prior to a communication<br />

failure. When communications are down and a change must be made in <strong>Implementer</strong>, the<br />

<strong>Implementer</strong> administrator can authorize and activate the necessary user.<br />

The following task requires that the user profiles associated with this integration exist in<br />

<strong>Implementer</strong> and the user IDs are enrolled in <strong>MKS</strong> Integrity.<br />

NOTE For details on working with users, see “Users” on page 72. For <strong>MKS</strong> Integrity<br />

users, see the <strong>MKS</strong> Integrity Server <strong>2006</strong> <strong>Administration</strong> <strong>Guide</strong>.<br />

To define a user profile for <strong>MKS</strong> Integrity integration<br />

1 From the <strong>Implementer</strong> Menu, type option 41, Users, and press ENTER. The Work with<br />

User Profile panel displays.<br />

2 Select the user profile with option 2=Change, and press ENTER. The Change User Profile<br />

panel displays.


<strong>Implementer</strong> and <strong>MKS</strong> Integrity Integration<br />

3 In the <strong>MKS</strong> Integrity User ID field, specify the name this user logs on with to access<br />

<strong>MKS</strong> Integrity. This user ID is also used for source archiving in <strong>MKS</strong> Source when<br />

<strong>MKS</strong> Source archiving is enabled. The user ID must be set up in <strong>MKS</strong> Integrity and/or<br />

<strong>MKS</strong> Source before defining it here. The field entry is case sensitive. Valid entries are as<br />

follows:<br />

*USRPRF: The iSeries user profile defaults as the <strong>MKS</strong> Integrity user. This is the<br />

default value. iSeries user profiles are specified in all upper case. If the name<br />

specified in <strong>MKS</strong> Integrity is not all upper case, retype the name using the exact case<br />

as that used in <strong>MKS</strong> Integrity.<br />

Name: Specify the valid <strong>MKS</strong> Integrity user ID.<br />

*NONE: The user is not authorized to access <strong>MKS</strong> Integrity.<br />

4 In the <strong>MKS</strong> Integrity emergency update field, specify if this user has authority to activate<br />

and de-activate the <strong>MKS</strong> Integrity emergency update mode and perform emergency<br />

updates. Allows the user to change the value of the <strong>MKS</strong> Integrity Emergency Update<br />

Active field on the Change User defaults panel, which is accessible from Work with<br />

Users using option 20=User Defaults and from the Workbench using F18=User Defaults.<br />

Y: The user has authority to activate the emergency update mode.<br />

N: The user does not have authority to activate the emergency update mode.<br />

5 Press ENTER to update the user profile.<br />

NOTE When activating emergency mode as described in “Emergency Update<br />

Mode” on page 255, the authorized user must sign off the iSeries and sign on again.<br />

When the authorized user accesses <strong>Implementer</strong>, a message displays at the bottom<br />

of the menu to confirm the emergency update mode is active.<br />

Environment Setup<br />

If the environments for this integration already exist and you have already configured the<br />

state setup, depending on your workflow you may not need to perform the following<br />

additional environment setup tasks.<br />

<strong>Implementer</strong> allows you to control whether an issue is required when checking out from<br />

a production environment. This allows you to enforce rules that define how a member<br />

that is checked out from the environment can subsequently be rejected and promoted<br />

throughout the development cycle.<br />

237


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

238<br />

Optional environment overrides to the default states to assign. The default states that are<br />

routinely assigned to an issue when all members of a change package are in a particular<br />

environment or when an item is rejected from a particular environment are defined in<br />

the <strong>MKS</strong> Integrity Setup. At the environment level, you can define overrides to the<br />

global default values.<br />

When assigning states in check out and promotion, environment overrides are assigned<br />

first. If overrides do not exist, the applicable global value is assigned. For details on<br />

global states, see “State Setup in <strong>Implementer</strong>” on page 232.<br />

The following task requires the environments and <strong>MKS</strong> Integrity states used with this<br />

integration exist in <strong>Implementer</strong>. For detailed information on working with environments,<br />

see “Environments” on page 81.<br />

To set an environment to require issues and override issue states<br />

1 From the <strong>Implementer</strong> Menu, type option 42, Environments, and press ENTER. The Work<br />

with Environments panel displays.<br />

2 Select the environment with option 2=Change, and press ENTER. The Change<br />

Environment panel displays.<br />

3 Press PAGE DOWN to display the second Change Environment panel.<br />

4 In the Issue Required for check out field, specify if an issue number is required to check<br />

out an item from the environment. Applies to *PRD environments only.<br />

N An issue number is not required. This is the default value.<br />

Y An issue number is required.<br />

5 Press PAGE DOWN to display the third Change Environment panel.


<strong>Implementer</strong> and <strong>MKS</strong> Integrity Integration<br />

6 In the When arrives in this env field, optionally override the global issue states for the<br />

<strong>MKS</strong> Integrity state to assign to an item when it is checked out or promoted to this<br />

environment.<br />

NAME Specify a valid <strong>MKS</strong> Integrity state name to override the global<br />

value if defined. The name is case sensitive.<br />

*DEFAULT Assigns the default global value as defined in <strong>MKS</strong> Integrity State<br />

setup. If the default is not set, no updates occur. This is the default<br />

value for this field for all environment types. The state is set as<br />

follows:<br />

If checking out to this environment, assigns the *TST default<br />

state.<br />

If promoting to this environment and it is the first *QAC on<br />

the path, assigns the *QAC1 default state. If promoting to this<br />

environment and it is the second *QAC on the path, assigns<br />

the *QAC2 default state. This cycle continues for each *QAC<br />

environment.<br />

If promoting to this environment and it is type *PRD, assigns<br />

the *PRD default state.<br />

*NONE No updates occur to the issue state.<br />

239


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

240<br />

7 In the When rejected from this env field, specify the <strong>MKS</strong> Integrity state to assign to an<br />

item rejected from this environment.<br />

NAME Specify a valid <strong>MKS</strong> Integrity state name to override the global<br />

value if defined. Valid for *QAC environments only. The name is<br />

case sensitive.<br />

*DEFAULT Assigns the default global value defined in <strong>MKS</strong> Integrity State<br />

Setup. If the default is not set, no updates occur. This is the default<br />

value for all environment types.<br />

The state is set as follows: If rejecting from this environment and it<br />

is the first *QAC environment on the path (the path used to<br />

promote from the current location), assigns the *QAC1 default<br />

state. If rejecting from this environment and it is the second *QAC<br />

environment on the path (the path used to promote from the<br />

current location), assigns the *QAC2 default state. This cycle<br />

continues for each *QAC environment.<br />

*NONE No updates occur.<br />

8 Press ENTER to update the environment information. The Work with Environments<br />

panel displays.<br />

IMPORTANT The following setup tasks are required to promote <strong>Implementer</strong><br />

requests from within <strong>MKS</strong> Integrity. If you do not intend to use this alternate<br />

promotion feature, go to “Converting From DesignTracker to <strong>MKS</strong> Integrity” on<br />

page 243.<br />

Updating Issues Based on Promotion Status<br />

The Update <strong>MKS</strong> Integrity (IUPDCI) command allows you to change the state of an issue<br />

based on the promotion status of objects in a change package. This process keeps<br />

<strong>MKS</strong> Integrity synchronous with the development cycle by triggering an issue state change<br />

based on promotion activity. For example, you may want to set the state to “Failed QA”<br />

when a move to QA fails. This is an optional feature.<br />

The IUPDCI command is invoked as an <strong>Implementer</strong> “After Move-OK” special command for<br />

each environment you want to trigger the state change.<br />

After connecting to the source iSeries and retrieving a list of all issues associated with the<br />

promotion request, the mass update of issues to the specified state occurs. The state change<br />

occurs only after all objects contained in the change package have reached the new location<br />

(QA or production). All issues in the change package must be promotable to the given state.<br />

<strong>MKS</strong> Integrity allows for an unlimited (and possibly recursive) number of relationships. The<br />

IUPDCI command uses a commit/rollback processing architecture, whereby the status<br />

update occurs only when all issues associated with the specified promotion request are at a<br />

state that allows the update. If any one of the issues do not update, then no issues update.


IUPDCI Command Requirements and Setup<br />

<strong>Implementer</strong> and <strong>MKS</strong> Integrity Integration<br />

<strong>MKS</strong> Integrity uses a Java back end that resides on the iSeries to initiate a communication<br />

session with the <strong>MKS</strong> Integrity Server. The Update <strong>MKS</strong> Integrity (IUPDCI) command uses<br />

Java Runtime Environment 1.5 on the iSeries, which is provided in i5/OS release V5R3 and<br />

later. The IUPDCI command verifies Java is installed prior to running.<br />

In addition, you must change the IMJDKVER data area value to ‘1.5’ for the IUPDCI<br />

command to use Java 1.5. For details, see “<strong>Implementer</strong> Data Areas and User Exit Programs”<br />

on page 401.<br />

If the target <strong>MKS</strong> Integrity Server runs on an AIX system, Java Development Kit (JDK)<br />

version 1.4 is required on the client to communicate with <strong>MKS</strong> Integrity on the AIX system<br />

and use the IUPDCI command. <strong>Implementer</strong> provides the JDK Version (IMJDKVER) data<br />

area that allows you to store the JDK version to use with the Update <strong>MKS</strong> Integrity (IUPDCI)<br />

command. The default data area value is 1.2 (enclosed in single quotes (‘ ‘). You must install<br />

JDK version 1.4 on the iSeries, and change the IMJDKVER data area value to 1.4. On OS/400<br />

V5R2, you can install JDK version 1.4 from the IBM license product installation media. On<br />

OS/400 V5R1, you can install JDK version 1.4 by installing IBM PTF SI05336 and following<br />

the instructions included with the PTF.<br />

The setup requirements for the IUPDCI command are as follows:<br />

copy <strong>MKS</strong> Integrity files to the iSeries<br />

create a special command for the applicable environments<br />

To copy the <strong>MKS</strong> Integrity files to the iSeries<br />

1 Open Windows Explorer, and click Tools > Map Network Drive. The Map Network Drive<br />

dialog box displays prompting for a drive and path name.<br />

2 Select the drive name you want to use or accept the default value.<br />

3 For the path, type:<br />

//Your_System_Name/mks/<strong>Implementer</strong>/<strong>MKS</strong>IM/lib<br />

NOTE The default product library is <strong>MKS</strong>IM. If you changed the product library to<br />

another name, substitute the changed name for <strong>MKS</strong>IM.<br />

4 Make sure the Reconnect at Logon box is not enabled, and click OK. You may be<br />

prompted for a user ID and password to connect to the system.<br />

5 From Windows Explorer, select and expand the drive you just mapped.<br />

6 Navigate to your <strong>MKS</strong> Integrity Client install location. If you accepted the default<br />

location at the time of installation, the default location is:<br />

C:/Program Files/<strong>MKS</strong>/Integrity Client<br />

241


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

242<br />

7 From your <strong>MKS</strong> Integrity Client install location, copy file mksclient.jar from the<br />

/lib directory to the iSeries you mapped to in steps 1–5.<br />

To create the special command<br />

Define the special command for each applicable *QAC and *PRD environment. For detailed<br />

information on special commands, see “Special Command Processing” on page 255.<br />

When promoting changes from development to QA or from QA to production, the issue<br />

updates to reflect the current location and status. The update runs each time a promotion<br />

request targets an environment that has the IUPDCI command defined as a special<br />

command. The actual update occurs after the move portion of the promotion request<br />

successfully completes. When the promotion request is at a status of completed, you can<br />

access <strong>MKS</strong> Integrity to view the updates.<br />

In the following example, the special command is defined for a QA environment:<br />

IUPDCI RQS(#RQSNBR) NEWSTATE('"In QA"')<br />

IMPORTANT The value for NEWSTATE has embedded blanks; therefore, you must<br />

enclose it first in single quotes (' ') and then in double quotes (" ") as illustrated.<br />

IUPDCI Command Parameters<br />

Request Number<br />

Specify the promotion request number to process the special command for. The substitution<br />

variable #RQSNBR processes the command for all promotion requests that target the<br />

environment. This is a seven character alphanumeric field.<br />

New issue state<br />

Specify the new state value to assign to the issue. This is 20 character alphanumeric field.<br />

Mixed-case entry is supported.<br />

Enable Promotions From <strong>MKS</strong> Integrity<br />

This section describes the additional set up required in <strong>Implementer</strong> to create and promote<br />

<strong>Implementer</strong> requests from within <strong>MKS</strong> Integrity. This is an optional feature.<br />

The setup involves tasks in both <strong>MKS</strong> Integrity and <strong>Implementer</strong>. For information on the<br />

<strong>MKS</strong> Integrity tasks, see “Enable Promotions From <strong>MKS</strong> Integrity” on page 212. For an<br />

overview of the feature, see “Promoting <strong>Implementer</strong> Requests From <strong>MKS</strong> Integrity” on<br />

page 201.<br />

Review and perform the following <strong>Implementer</strong> setup requirements as needed:


Converting From DesignTracker to <strong>MKS</strong> Integrity<br />

Verify the <strong>MKS</strong> Integrity user responsible for creating promotion requests in<br />

<strong>MKS</strong> Integrity is defined in <strong>Implementer</strong> and has the required capabilities, for example,<br />

the capability to create and submit promotion requests for the applicable environments.<br />

Define the IEXCCMDUSR data area as described next.<br />

Change the IEXCCMDUSR Data Area<br />

The Command Capability Check Profile (IEXCCMDUSR) data area is used for capability<br />

checking. The data area stores the name of the single user profile that is allowed to issue the<br />

Run <strong>MKS</strong> Integrity Server (IEXCCMDIS) command that is embedded in the JavaScript file.<br />

The user profile you specify in this data area must be the same user profile specified in the<br />

JavaScript file for the userProfile variable (for details, see page 213). This user profile is used<br />

only for this feature; thus, it is not necessary to define the profile in <strong>Implementer</strong> or<br />

<strong>MKS</strong> Integrity. For this reason, consider creating a new profile for this specific purpose, for<br />

example, iSeries.<br />

CAUTION Embedded commands in the script fail if you do not associate the<br />

<strong>MKS</strong> Integrity user ID to an <strong>Implementer</strong> user profile.<br />

To change the IEXCCMDUSR data area value<br />

1 Type the following command:<br />

CHGDTAARA DTAARA(IEXCCMDUSR) VALUE(user_profile_name)<br />

where user_profile_name is the user specified in the script.<br />

2 Press ENTER to update the data area.<br />

You are now ready to convert from DesignTracker to <strong>MKS</strong> Integrity as described next.<br />

Converting From DesignTracker to <strong>MKS</strong> Integrity<br />

When you initially install <strong>Implementer</strong> or upgrade from a release prior to release 5.3,<br />

DesignTracker is the default issue management system. To use <strong>Implementer</strong> with<br />

<strong>MKS</strong> Integrity as described in this chapter, you must convert issue management systems and<br />

activate <strong>MKS</strong> Integrity to establish it as the default system.<br />

When you convert from DesignTracker to <strong>MKS</strong> Integrity, you have the option to use<br />

<strong>MKS</strong> Integrity only, or to use <strong>MKS</strong> Integrity and DesignTracker concurrently on a transitional<br />

basis. With either option, the eventual result is the elimination of DesignTracker as a<br />

production application.<br />

243


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

244<br />

Once <strong>MKS</strong> Integrity is active system-wide, you cannot convert back to DesignTracker.<br />

However, for existing DesignTracker users, provisions are available for enabling select users<br />

to use DesignTracker temporarily. Future upgrades of <strong>Implementer</strong> automatically consider<br />

and retain the settings you define.<br />

Conversion Methods<br />

<strong>Implementer</strong> provides two methods for converting issue management systems from<br />

DesignTracker to <strong>MKS</strong> Integrity: system conversion without data retention or system<br />

conversion with data retention. The latter method includes a feature that, after converting to<br />

<strong>MKS</strong> Integrity, allows you to convert DesignTracker design requests (DRs) and service<br />

requests (SRs) to <strong>MKS</strong> Integrity issues.<br />

To determine which conversion method fits your business requirements, you need to answer<br />

the following question:<br />

Is DesignTracker in use with any DRs you want to keep?<br />

If no, simply convert to <strong>MKS</strong> Integrity as described in “Converting Without Data<br />

Retention” on page 244. This is the case for new installations of <strong>Implementer</strong>.<br />

If yes, convert to <strong>MKS</strong> Integrity as described in “Converting With Data Retention” on<br />

page 247, and optionally convert DRs and SRs to <strong>MKS</strong> Integrity issues as described in<br />

“Converting DesignTracker Data to <strong>MKS</strong> Integrity” on page 431.<br />

NOTE Prior installations of <strong>Implementer</strong> automatically installed demonstration DRs<br />

and SRs. If these are the only requests present, you can delete them. You can also<br />

delete any requests from a pilot project.<br />

Converting Without Data Retention<br />

The tasks described in this section perform a conversion that allows you to convert issue<br />

management systems—that is, switch from using DesignTracker to using <strong>MKS</strong> Integrity,<br />

without retaining any existing DesignTracker data. Converting to <strong>MKS</strong> Integrity without<br />

regard for existing data is straightforward and allows you to quickly begin using<br />

<strong>MKS</strong> Integrity.<br />

This conversion method is applicable when DesignTracker is not used for issue management,<br />

or if it has been used but you do not need to preserve any DRs or SRs that may exist from the<br />

prior use. This conversion method deletes all existing DRs, SRs, DR entity lists, and any DR<br />

references on current locks and lock history. It does not delete the actual locks or lock history.<br />

This is a one time task. Once the conversion successfully completes, you can begin using the<br />

integration.<br />

Your user profile must have authority to System Control Maintenance to perform this task.


CAUTION<br />

Converting From DesignTracker to <strong>MKS</strong> Integrity<br />

This task deletes DesignTracker data. If you need to retain DesignTracker data,<br />

do not perform this task; instead, see “Converting With Data Retention” on<br />

page 247.<br />

<strong>MKS</strong> recommends you perform a backup of the DesignTracker database by<br />

saving the <strong>Implementer</strong> library prior to running this conversion function.<br />

To convert to <strong>MKS</strong> Integrity without retaining data<br />

1 Sign on to the iSeries with a user profile that has authority to System Control<br />

Maintenance and access the <strong>Implementer</strong> Menu.<br />

2 Type option 47, <strong>MKS</strong> Integrity, and press ENTER. Alternatively, on the command line<br />

issue the command STRIM *INTMGRSET. The <strong>MKS</strong> Integrity Setup panel displays.<br />

3 Press F20=Convert to <strong>MKS</strong> Integrity. (Press F24=More keys to view function key F20 in<br />

the list.) The first of three Convert to <strong>MKS</strong> Integrity confirmation windows display.<br />

4 In the Reply field, type N to disallow co-existence, and press ENTER. The second Convert<br />

to <strong>MKS</strong> Integrity panel displays.<br />

CAUTION The function you are about to perform deletes existing DesignTracker<br />

data. If you do not want to delete DesignTracker data, do not perform this step.<br />

However, if this step is not performed or a system conversion is not performed, you<br />

cannot use <strong>MKS</strong> Integrity as described in this chapter.<br />

245


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

246<br />

NOTE There are two Convert to <strong>MKS</strong> Integrity panels. Both panels allow you to<br />

display additional information before converting. Press F2=Display 2nd Level Text.<br />

5 In the Reply field, type Y, and press ENTER.<br />

To cancel the conversion and return to the <strong>MKS</strong> Integrity Setup panel, either: type N in<br />

the Reply field, and press ENTER, press F3=Exit, or F12=Cancel.<br />

After pressing ENTER to continue, the second confirmation window displays. A message<br />

confirms you selected to convert from DesignTracker to <strong>MKS</strong> Integrity.


Converting From DesignTracker to <strong>MKS</strong> Integrity<br />

6 To proceed with the conversion, in the Reply field type G, and press ENTER to perform<br />

the conversion.<br />

To cancel the conversion and return to the <strong>MKS</strong> Integrity Setup panel either: type N in<br />

the Reply field, and press ENTER, press F3=Exit, or F12=Cancel.<br />

After pressing ENTER to continue, the following message displays at the bottom of the<br />

<strong>MKS</strong> Integrity Setup panel: “Successful conversion to <strong>MKS</strong> Integrity.”<br />

The system conversion from DesignTracker to <strong>MKS</strong> Integrity is complete. You are ready to<br />

begin using the new features, as described in the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> User <strong>Guide</strong>.<br />

Converting With Data Retention<br />

For <strong>MKS</strong> customers that currently use DesignTracker for issue management, the tasks<br />

described in this section perform a conversion that allows you to convert issue management<br />

systems—that is, switch from using DesignTracker to using <strong>MKS</strong> Integrity, and retain<br />

existing DesignTracker data. This conversion method enables the <strong>Implementer</strong> feature<br />

co-existence, which is required when converting DesignTracker data to <strong>MKS</strong> Integrity.<br />

The purpose of co-existence is twofold: It avoids application downtime during the<br />

application conversion project by allowing you to simultaneously use both <strong>MKS</strong> Integrity<br />

and DesignTracker, and it allows you to convert DesignTracker DRs, SRs, and related entity<br />

information to <strong>MKS</strong> Integrity issues using the Convert DT to <strong>MKS</strong> Integrity (ICVTDT)<br />

command. By design, it allows some users to use <strong>MKS</strong> Integrity issues without requiring all<br />

users to switch at the same time. This allows for a gradual transition of development teams<br />

when multiple teams share the same <strong>Implementer</strong> installation.<br />

NOTE For details on the ICVTDT command, see “Converting DesignTracker Data to<br />

<strong>MKS</strong> Integrity” on page 431.<br />

Converting to <strong>MKS</strong> Integrity when you need to retain and convert existing data can be an<br />

involved undertaking simply due to the inherent complexities associated with performing<br />

data conversions. For example, a typical data conversion requires mapping existing files and<br />

fields to new values in the new database. Detailed information on performing a data<br />

conversion begins on page 431.<br />

TIP <strong>MKS</strong> can assist with converting your DesignTracker data to <strong>MKS</strong> Integrity, as<br />

well as assist in defining your business processes and workflow for <strong>MKS</strong> Integrity.<br />

For details, contact <strong>MKS</strong> Customer Care.<br />

Before you perform the actual data conversion, however, you need to determine how the<br />

data conversion will occur. In other words, will you perform a one-time conversion of all<br />

applicable data and users, or will you perform a gradual conversion on subsets of data and<br />

users?<br />

247


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

248<br />

The need for this decision—beyond having control of the overall scope of your conversion<br />

project—is that with co-existence you can designate on a user basis which issue tracking<br />

system a user works with. It allows you to have groups of users still using DesignTracker<br />

while other users use <strong>MKS</strong> Integrity. This approach is beneficial to larger organizations with<br />

many end users, as it allows you to train and migrate groups of individuals rather than all<br />

users at once. For information on setting the issue management system for a user, see<br />

page 253.<br />

To simplify working with two issue management systems, while co-existence is active you<br />

configure each issue management system to manage a different range of numbers, where<br />

issues and DRs each have a specific number range that is unique to each type, and numbers<br />

outside of the specified ranges are not allowed. DRs always have the lowest numbers and<br />

<strong>MKS</strong> Integrity issues have the higher numbers.<br />

Everyone is able to view all IDs and some basic information, but the check out and promotion<br />

functions require users to only use the issue management system they are set up for. This<br />

methodology allows DesignTracker to use numbers up to the last allowed DR number you<br />

specify. Information on setting the last DR number begins on page 250.<br />

You achieve a successful conversion when all <strong>Implementer</strong> user profiles that perform check<br />

out or promotion functions are set to use <strong>MKS</strong> Integrity for issue management. Although, it<br />

may be desirable to keep a few users with a second user profile set to use DesignTracker so<br />

they can fully navigate the DesignTracker audit trail.<br />

Once the conversion finishes, the DesignTracker transactions can remain online and visible to<br />

the select DesignTracker users for historical purposes. There is no need to disable coexistence<br />

after you finish the conversion.<br />

IMPORTANT <strong>MKS</strong> recommends you convert to a pilot copy of <strong>MKS</strong> Integrity to verify<br />

the results before going “live” with converted data. <strong>MKS</strong> also recommends you<br />

perform a backup of the DesignTracker database by saving the <strong>Implementer</strong> library<br />

prior to running this conversion program.<br />

Promotion Considerations With Co-existence<br />

The following promotion-related considerations apply to working in the co-existent mode:<br />

All issues for a single promotion request must be in the same issue management system.<br />

In other words, you cannot assign both DRs and issues to the same promotion request.<br />

If using concurrent development, do not allow the same member to have locks<br />

associated with a DR and issue in the same environment, as this will make it non<br />

promotable.<br />

The user that submits a move request must use the same issue management system as<br />

the user who created the request. For example, on a request that contains DRs, both the<br />

requestor and the user submitting the move must be set up to use DesignTracker. On a<br />

request that contains issues, the respective users must be set up to use <strong>MKS</strong> Integrity.


Run the Conversion<br />

Converting From DesignTracker to <strong>MKS</strong> Integrity<br />

This is a one time task. Perform this conversion task only if DesignTracker is, or was, used for<br />

issue management and you need to retain and/or convert any data that may exist from the<br />

prior use.<br />

Your user profile must have authority to System Control Maintenance to perform the task.<br />

IMPORTANT This task allows you to establish <strong>MKS</strong> Integrity as the system-wide issue<br />

tracking system and enable DesignTracker co-existence. While you must perform<br />

this task to later convert DesignTracker data to <strong>MKS</strong> Integrity, it does not actually<br />

convert or delete any data. To convert DesignTracker data to <strong>MKS</strong> Integrity, see<br />

“Converting DesignTracker Data to <strong>MKS</strong> Integrity” on page 431. To completely<br />

remove DesignTracker data without co-existing or converting data, see “Converting<br />

Without Data Retention” on page 244.<br />

To convert to <strong>MKS</strong> Integrity and retain existing data<br />

1 Sign on to the iSeries with a user profile that has authority to System Control<br />

Maintenance and access the <strong>Implementer</strong> Menu.<br />

2 Type option 47, <strong>MKS</strong> Integrity, and press ENTER. Alternatively, on the command line<br />

issue the command STRIM *INTMGRSET. The <strong>MKS</strong> Integrity Setup panel displays.<br />

3 Press F20=Convert to <strong>MKS</strong> Integrity. (Press F24=More keys to view function key F20 in<br />

the list.) The Convert to <strong>MKS</strong> Integrity window displays.<br />

4 In the Reply field, type Y, and press ENTER. Alternatively, press F2 to display additional<br />

information on the function you are about to perform as illustrated next.<br />

249


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

250<br />

5 To continue with the conversion, in the Reply field type Y, and press ENTER.<br />

NOTE If you need to cancel the conversion, either type N in the Reply field, and press<br />

ENTER, press F3=Exit, or F12=Cancel.<br />

When the conversion completes, the following values are set in the <strong>MKS</strong> Integrity Setup<br />

panel:<br />

Issue Management System field value is <strong>MKS</strong> Integrity.<br />

Allow co-existence with DesignTracker field value is Y.<br />

Last allowed DR number field value is 99999.<br />

IMPORTANT For any users that will continue to use DesignTracker, it is necessary to<br />

override the system default of <strong>MKS</strong> Integrity. For details, see “Set a User’s Default<br />

Issue Management System” on page 253.<br />

Set the Last Allowed DR Number<br />

With co-existence, each issue management system uses a different range of ID numbers.<br />

Each <strong>Implementer</strong> function that allows specifying an issue or DR number, or associates an<br />

issue or DR with a lock, ensures the number being used is appropriate for the user’s issue<br />

management system. An error displays if the number specified is outside the range of their<br />

issue management system.


Converting From DesignTracker to <strong>MKS</strong> Integrity<br />

For example, a user who is set up to use DesignTracker tries to check out or promote using<br />

number 12345—by range, an <strong>MKS</strong> Integrity issue number—receives an error. Likewise, if a<br />

user attempts to create a new DR by using either the menu option or the Create Design<br />

Request (DTCRTDR) command, <strong>Implementer</strong> verifies the new DR number is within the valid<br />

DR number range—if the number is not valid, then creating the DR is not allowed.<br />

Displaying the basic description or details of an issue or DR does not require enrollment in<br />

the specific issue management system.<br />

Changing the last allowed DR number value is allowed only if <strong>MKS</strong> Integrity is the default<br />

issue tracking system and DesignTracker co-existence is enabled. The value automatically<br />

sets to 99999—the highest possible DR number—when you convert to <strong>MKS</strong> Integrity and<br />

enable co-existence. Before processing any DRs or issues, you must change this number to<br />

another value based on your data. Thereafter, avoid changing it to eliminate a possible<br />

conflict with existing issues, or DRs that you may subsequently convert to issues.<br />

IMPORTANT You must specify a Last allowed DR number value that allows for all<br />

expected growth in DR usage until DesignTracker is retired, as there is no way to<br />

change this number once you use an <strong>MKS</strong> Integrity issue.<br />

The following task requires you have successfully completed the conversion to<br />

<strong>MKS</strong> Integrity and enabled the option to co-exist with DesignTracker.<br />

To change the last allowed DR number<br />

1 From the <strong>Implementer</strong> Menu, type option 47, <strong>MKS</strong> Integrity, and press ENTER.<br />

Alternatively, on the command line issue the command STRIM *INTMGRSET. The<br />

<strong>MKS</strong> Integrity Setup panel displays.<br />

2 Press PAGE DOWN to display the second <strong>MKS</strong> Integrity Setup panel.<br />

251


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

252<br />

3 In the Allow co-existence with DesignTracker field, verify the value is Y, indicating<br />

DesignTracker and <strong>MKS</strong> Integrity are able to co-exist. This value is required to enable<br />

changing the last allowed DR number. If the value on your system is not Y, see<br />

“Converting With Data Retention” on page 247.<br />

4 In the Last allowed DR number field, type the value of the last valid DR number allowed<br />

in DesignTracker. The default value is 4999.<br />

IMPORTANT Be sure to specify a value that allows for all expected growth in DR<br />

usage until DesignTracker is retired. The value cannot be set below the current<br />

highest DR number created. Any DR number higher than the number specified here<br />

is considered an <strong>MKS</strong> Integrity issue.<br />

5 Press ENTER to update the information.<br />

Set the Next Issue Number in <strong>MKS</strong> Integrity<br />

When using co-existing issue management systems, you must configure each issue<br />

management system to manage a different range of numbers, where issues and DRs each<br />

have a specified number range that is unique to each type, and numbers outside of the<br />

specified ranges are not allowed for either type. DRs always have the lowest range of<br />

numbers and <strong>MKS</strong> Integrity issues have a higher range of numbers.<br />

This is an <strong>MKS</strong> Integrity function, accomplished by adding a new property to the<br />

im.properties file on the <strong>MKS</strong> Integrity Server. For details on configuring properties for<br />

the <strong>MKS</strong> Integrity Server, see the <strong>MKS</strong> Integrity Server <strong>2006</strong> <strong>Administration</strong> <strong>Guide</strong>.<br />

IMPORTANT Make changes to the Integrity Server property files using a text editor,<br />

such as Notepad, and then save as plain text. You must restart the server to effect the<br />

changes.<br />

To set the next issue number in <strong>MKS</strong> Integrity<br />

1 Navigate to the im.properties file located in:<br />

/config/properties<br />

2 Open the file and add the following line to the im.properties file:<br />

mksis.im.minimumIssueNumber=<br />

for example, mksis.im.minimumIssueNumber=70000<br />

NOTE You can increase the next issue number value, you cannot decrease it.


Set a User’s Default Issue Management System<br />

Converting From DesignTracker to <strong>MKS</strong> Integrity<br />

Setting a user’s default issue management system is required only when the conversion of<br />

DesignTracker data is gradual, rather than a one-time conversion.<br />

Each user enrolled in <strong>Implementer</strong> is set automatically to use the default issue tracking<br />

system as defined in the <strong>MKS</strong> Integrity setup, option 47 on the <strong>Implementer</strong> Menu. Once you<br />

convert to <strong>MKS</strong> Integrity and enable co-existence, all users are set to use <strong>MKS</strong> Integrity. If<br />

some users will continue transitional use of DesignTracker, after converting to <strong>MKS</strong> Integrity<br />

you can re-enable each user that will continue to use DesignTracker.<br />

Generally, whichever system a user is set up for determines the text that displays on all<br />

<strong>Implementer</strong> panels and reports. Thus, when using <strong>MKS</strong> Integrity the term “issue” is used.<br />

When using DesignTracker the term “design request” is used. For example, when a user set<br />

up to use <strong>MKS</strong> Integrity displays the Workbench, the field name is Issue, when the field<br />

value may actually contain DR numbers if they are filtered to a lock associated with a user set<br />

up to use DesignTracker. Although the <strong>MKS</strong> Integrity user is able to view the DR number,<br />

they are restricted from using or changing the lock detail because they cannot manipulate<br />

DRs through <strong>Implementer</strong>. The exception to this rule is when displaying activity—each user,<br />

regardless of their default issue management system, can view the activity of other users.<br />

By design, <strong>Implementer</strong> does not allow a single user to use both <strong>MKS</strong> Integrity and<br />

DesignTracker under the same <strong>Implementer</strong> user profile. However, you can work around<br />

this and permit the ability to work in both systems by issuing two different iSeries user<br />

profiles. For example, this might be useful for some administrators or team leaders during<br />

transition to the new system. You can simplify this step by copying existing user profiles.<br />

When changing the user profile or environment values, the applicable <strong>MKS</strong> Integrity fields<br />

are changeable based on the default issue management system as defined in the<br />

<strong>MKS</strong> Integrity Setup, not the current users override.<br />

To set the issue management system for a user in <strong>Implementer</strong><br />

1 From the <strong>Implementer</strong> Menu, type option 41, Users, and press ENTER. The Work with<br />

User Profiles panel displays.<br />

2 Type option 2=Select next to the user profile, and press ENTER. The Change User Profile<br />

panel displays.<br />

3 Press PAGE DOWN to display the second Change User Profile panel.<br />

253


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

254<br />

4 In the Issue Management System field, specify the current issue management system for<br />

this user. This field is only used when co-existing to allow certain users to use<br />

<strong>MKS</strong> Integrity while others use DesignTracker; otherwise, input is protected.<br />

When you activate <strong>MKS</strong> Integrity, all users are set to use <strong>MKS</strong> Integrity. Change this<br />

value only to set the user’s default to DesignTracker and to change it back to<br />

<strong>MKS</strong> Integrity (1=Default) when DesignTracker is no longer used by the user.<br />

1=Default: The user is using the default issue management system as defined on the<br />

<strong>MKS</strong> Integrity Setup panel. This is the default value.<br />

2=DesignTracker: The user is using DesignTracker, even if <strong>MKS</strong> Integrity is the<br />

default issue management system as defined on the <strong>MKS</strong> Integrity Setup panel.<br />

5 Press ENTER to update the information.<br />

IMPORTANT<br />

After changing this value for a user, the user must sign off the iSeries and sign<br />

back on for the change to take effect.<br />

If this user checks out or promotes using <strong>Implementer</strong>’s Web interface, you must<br />

restart the Web server to recognize the new issue management system. For<br />

information on the Web interface, see “Web-based Development for IFS Objects”<br />

on page 155.<br />

The conversion from DesignTracker to <strong>MKS</strong> Integrity is complete. If you need to convert<br />

existing DesignTracker data, see “Converting DesignTracker Data to <strong>MKS</strong> Integrity” on<br />

page 431. If you do not need to convert DesignTracker data, you can begin using the<br />

integration as described in the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> User <strong>Guide</strong>.


Emergency Update Mode<br />

Emergency Update Mode<br />

If communications between <strong>Implementer</strong> and <strong>MKS</strong> Integrity become temporarily<br />

unavailable and thereby cause <strong>MKS</strong> Integrity inaccessible to perform updates, <strong>Implementer</strong><br />

provides the Emergency Update Mode facility. When activated, emergency update mode<br />

allows for the uninterrupted continuation of all iSeries development activities, including<br />

check out and promotion.<br />

For example, you have changes on an active request that require immediate promotion to<br />

correct a level check problem in production, but a communication failure between<br />

<strong>Implementer</strong> and <strong>MKS</strong> Integrity has caused the promotion to fail. By activating the<br />

emergency update mode, you can continue with all required development activities while<br />

storing the issue updates for subsequent posting once the communications are re-established.<br />

Users must have authority to work in emergency update mode and perform emergency<br />

updates. Typically, this authority is given to a few development managers and senior<br />

developers. When authorized, you can activate and deactivate the emergency mode by<br />

changing the value of the <strong>MKS</strong> Integrity emergency update active field, accessible from Work<br />

with Users by using option 20=User Defaults, or from the Workbench by using F18=User<br />

Defaults. For details on the setup requirements, see “<strong>MKS</strong> Integrity Emergency Mode<br />

Authority” on page 235.<br />

TIP To maintain a record of communication failures, you can journal the<br />

<strong>Implementer</strong> file IMCICT and monitor any changes to the file.<br />

Changing the Emergency Update Mode<br />

When the status of communications between <strong>Implementer</strong> and <strong>MKS</strong> Integrity changes, the<br />

user defined as the iSeries Notify User is notified of the change by a message in the user’s<br />

OS/400 message queue. (The iSeries Notify User is defined in <strong>MKS</strong> Integrity setup, option 47<br />

from the <strong>Implementer</strong> Menu.) The user is notified when communications become either<br />

unavailable or available. At the same time, in the <strong>MKS</strong> Integrity Setup, the System Available<br />

field reflects the current status.<br />

When a communication failure occurs, a common practice is to perform problem<br />

determination to assess the magnitude of the failure and its potential impact on<br />

development. Based on these results, and perhaps additional variables such as your current<br />

development activities and the time of day, you can decide whether to activate the<br />

emergency update mode.<br />

For example, if a communication failure occurs that you expect to last for only a brief time<br />

and it does not hinder current development activities, you may decide not to activate the<br />

emergency update mode. In this case, developers can continue with Workbench activities<br />

such as editing and compiling, but they are not allowed to check out or promote. On the<br />

other hand, if a failure occurs during the night that could interrupt the processing of<br />

255


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

256<br />

scheduled promotions that you do not want to end in a failed status, activating the<br />

emergency update mode is necessary to allow <strong>Implementer</strong> to proceed with promotion<br />

request processing.<br />

To allow promotions to complete without an active connection, this feature requires each<br />

user who submits promotions to have their user profile <strong>MKS</strong> Integrity emergency update<br />

active field set to Y in Work with Users.<br />

Emergency Mode Active<br />

When the emergency update mode is active for a user and that user signs on to <strong>Implementer</strong>,<br />

the following message displays at the bottom of the menu to confirm the operating mode:<br />

“<strong>MKS</strong> Integrity emergency update mode is ACTIVE!”.<br />

In active mode, <strong>Implementer</strong> bypasses all capability and validity checking, and postpones all<br />

updates to <strong>MKS</strong> Integrity. This allows the authorized user to continue with the development<br />

activities, such as editing, checking out, and promoting. Move requests continue as normal,<br />

however the <strong>MKS</strong> Integrity status change does not occur until you apply pending changes.<br />

Once you restore communications, you can synchronize the <strong>Implementer</strong> and <strong>MKS</strong> Integrity<br />

databases with pending changes as described in “Applying Pending Changes” on page 257.<br />

Considerations for Remote Processing<br />

When using emergency update mode with remote initiated moves or remote compiles with<br />

host updates, to avoid problems with the host update job failing and the request ending with<br />

a status of Move-fail, you must change the user profile of the user that runs the host update<br />

program (this is usually the <strong>Implementer</strong> user profile MWIPROD).<br />

In Work with Users, set the <strong>MKS</strong> Integrity emergency update field to Y, and in User Defaults<br />

set the <strong>MKS</strong> Integrity emergency update active field to Y. Once communications are back<br />

online, change the user defaults back to N.<br />

Emergency Mode Inactive<br />

When a disruption in communications causes a user not to have emergency update mode<br />

active, <strong>Implementer</strong> sends the user a communications failure message to notify of the<br />

operating mode.<br />

Developers are able to perform some development activities, but the permitted tasks are<br />

limited in scope. For example, working in emergency mode allows editing and compiling,<br />

but check out, promotion, and any tasks that require the use of an issue or validation to<br />

<strong>MKS</strong> Integrity are not allowed.


To activate or deactivate the emergency update mode<br />

1 Use one of the following options to access the Change User Defaults panel:<br />

From the Workbench, press F18=User Defaults.<br />

Emergency Update Mode<br />

From the <strong>Implementer</strong> Menu, type option 41, Users, and press ENTER. Select the<br />

user profile with option 20=User Defaults, and press ENTER.<br />

2 In the <strong>MKS</strong> Integrity emergency update active field, specify Y to activate emergency<br />

update mode, or N to deactivate emergency update mode for the user.<br />

3 Press ENTER to process the update.<br />

4 To activate the change, sign off the iSeries and sign on again.<br />

When emergency update mode is active and the authorized user accesses <strong>Implementer</strong>,<br />

the following message displays at the bottom of the menu to confirm the operating<br />

mode: “<strong>MKS</strong> Integrity emergency update mode is ACTIVE!”.<br />

Applying Pending Changes<br />

Once you restore the communications between <strong>Implementer</strong> and <strong>MKS</strong> Integrity, you need to<br />

apply any pending changes that occurred while the emergency update mode was active.<br />

This function updates any issues that were changed while communications between<br />

<strong>Implementer</strong> and <strong>MKS</strong> Integrity were unavailable. It updates <strong>MKS</strong> Integrity with the current<br />

state of the issues change packages and change package entries, and sets the state of the<br />

issues to reflect the current status of the change packages.<br />

257


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

258<br />

In the event an issue being processed does not exist, the change package entry log is updated<br />

to indicate that no updates were performed for the issue and no future updates will occur for<br />

the issue. Although no updates occur, the change package entry log is updated to reflect the<br />

issue posted to ensure further updates are not attempted.<br />

If an invalid action or workflow conflict occurred while the emergency update mode was<br />

active, for example, a promotion that would not normally be allowed based on the current<br />

state of an issue, the update to <strong>MKS</strong> Integrity does not occur during the update because it<br />

will only fail. This is a warning condition; as such, it is left for the administrator to ensure the<br />

issue is set to the proper state.<br />

After successfully applying the pending updates, a message of the update results is sent to<br />

the user defined as the iSeries Notify User. If no pending updates exist, a message at the<br />

bottom of the panel confirms this.<br />

Apply Pending Changes Command Option<br />

You can apply pending changes by using a menu interface or by using the Apply Pending<br />

Changes (IAPYPNDCHG) command. You can issue the command from the command line or<br />

embed into a user-defined program. The command has no parameters.<br />

IMPORTANT Before applying pending changes, you must ensure the emergency<br />

update mode is not active.<br />

To apply pending changes, use one of the following options<br />

From a command line, issue the following command:<br />

APYPNDCHG<br />

From the <strong>Implementer</strong> Menu, type option 47, <strong>MKS</strong> Integrity, and press ENTER or issue<br />

the command STRIM *INTMGRSET. The <strong>MKS</strong> Integrity Setup panel displays.<br />

a) Determine whether <strong>MKS</strong> Integrity is available by the value in the System Available<br />

field.<br />

b) Determine if pending changes exist by the value in the Pending Changes field. If<br />

pending changes exist, press F9=Apply Pending Changes.<br />

Apply Pending <strong>MKS</strong> Integrity Changes Report<br />

The Apply Pending <strong>MKS</strong> Integrity Changes report generates automatically when you apply<br />

pending changes by using the menu interface or the command interface. The report generates<br />

to the spool file of the user profile who ran the apply pending changes job. The spool file<br />

name is IMPNDCHG.<br />

The report includes the following information:<br />

date and time the update ran


issue and issue summary<br />

update result<br />

change package ID<br />

environment<br />

change package state<br />

change package status<br />

member and object code<br />

member status<br />

<strong>Implementer</strong> and <strong>MKS</strong> Source Integration<br />

<strong>Implementer</strong> and <strong>MKS</strong> Source Integration<br />

<strong>Implementer</strong> and <strong>MKS</strong> Integrity integrate with <strong>MKS</strong> Source to give you detailed visibility of<br />

your iSeries source changes using <strong>MKS</strong> Source and <strong>MKS</strong> Integrity.<br />

With this integration, <strong>MKS</strong> Source can be used as a primary repository or a supplemental<br />

archive for native iSeries source members. <strong>MKS</strong> Source is the source code repository for<br />

detail iSeries source changes and updates, and <strong>MKS</strong> Integrity tracks the source members<br />

changed and promoted at the issue level. <strong>Implementer</strong>’s repository tracks the <strong>MKS</strong> Source<br />

revision—the result of promoting the member into an environment set up for <strong>MKS</strong> Source<br />

archiving. <strong>MKS</strong> Source and <strong>MKS</strong> Integrity handle all other tracking and auditing.<br />

The <strong>Implementer</strong> and <strong>MKS</strong> Source integration allows you to:<br />

Check out iSeries source code from <strong>Implementer</strong> or <strong>MKS</strong> Source.<br />

Promote <strong>Implementer</strong> locks, which automatically updates the <strong>MKS</strong> Source repository<br />

and records the <strong>MKS</strong> Source revisions in <strong>Implementer</strong>.<br />

View iSeries source member change history in the <strong>MKS</strong> Source Member History,<br />

including previous release development branches. You can also compare two member<br />

revisions by using the View Differences option.<br />

View changed iSeries source code lines by revision in the <strong>MKS</strong> Source Annotated View.<br />

Review <strong>Implementer</strong> product/release source revisions shown in release checkpoints and<br />

created on <strong>MKS</strong> Source projects that track <strong>Implementer</strong> products.<br />

Use the <strong>MKS</strong> Source iSeries Developer ViewSet to inquire on functions applicable to<br />

iSeries source information.<br />

Initiate the graphical Annotated View and Member History in <strong>MKS</strong> Source using<br />

<strong>Implementer</strong> green screen or WDSc interfaces.<br />

Use <strong>MKS</strong> Source in addition to <strong>Implementer</strong> for iSeries source archiving.<br />

259


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

Process and Workflow<br />

260<br />

Managers have a graphical window into the development process, allowing them to monitor<br />

the progress of issues and changes. The resolution of issues is accomplished through an<br />

integrated change management process facilitated by a common software architecture shared<br />

between <strong>MKS</strong> products.<br />

At the core of the integration, <strong>Implementer</strong>’s release control features have a direct correlation<br />

to change management functions in <strong>MKS</strong> Source as described in the following table.<br />

This release control feature in <strong>Implementer</strong>... ... Correlates to this feature in <strong>MKS</strong> Source<br />

product subproject of base product project<br />

product/version development path<br />

product/version/environment subproject of base environment project<br />

product/version/release release checkpoint<br />

The integration uses two <strong>MKS</strong> Source projects, defined as a base product project and a base<br />

environment project, to store all <strong>Implementer</strong> source archive information.<br />

Product Subproject in Base Product Project<br />

A product subproject is automatically created in the <strong>MKS</strong> Source base product project<br />

for each product when you set the Archived by <strong>MKS</strong> Source field to Y in <strong>Implementer</strong>’s<br />

Product Maintenance panel. Product subprojects are located in the Base Product project<br />

you reference in the <strong>MKS</strong> Source Setup panel in <strong>Implementer</strong>.<br />

Permissions for each product subproject are inherited from the base product project.<br />

All source members associated with the <strong>Implementer</strong> product are stored in the product’s<br />

subproject. When you add or update a member, it is added or checked in to this<br />

subproject. The product subproject contains all versioned contents for all members<br />

checked in for the product, including members that are later dropped. Users should not<br />

be given visibility to the product subproject; they can view the contents through<br />

environment subprojects within the product’s versions.<br />

Before creating a new version of the product in <strong>Implementer</strong>, you redefine the current<br />

version with a development path of *VERSION. A function in <strong>Implementer</strong> allows you<br />

to create an <strong>MKS</strong> Source development path, which assigns branched <strong>MKS</strong> Source<br />

revisions to subsequent promotions into the archived product/version/environments.<br />

This allows you to create a new version with a development path of *HEADREV, and<br />

continue with promotions to the *HEADREV version assigned trunk revisions.<br />

IMPORTANT The base projects referenced in this document are standard <strong>MKS</strong> Source<br />

projects. They act as parent projects to various subprojects. It is not required to<br />

register the base projects as top level projects in <strong>MKS</strong> Source.


Environment Subprojects in Base Environment Project<br />

<strong>Implementer</strong> and <strong>MKS</strong> Source Integration<br />

An environment subproject represents the current state of an <strong>Implementer</strong> environment.<br />

Environment subprojects are subprojects of the Base Environment project you reference<br />

on the <strong>MKS</strong> Source Setup panel in <strong>Implementer</strong>. <strong>Implementer</strong> automatically creates an<br />

environment subproject when you set a product/version/environment’s Archived by<br />

<strong>MKS</strong> Source field to Y on the Product Version Environment Maintenance panel.<br />

Permissions for each environment subproject are inherited from the base environment<br />

project.<br />

Environment subprojects allow imports and revision updates only; they do not allow<br />

adds or check in. When you promote a member, it is added or checked in to the product<br />

subproject and then imported to update the revision in the environment subproject.<br />

When you close a release, a function in <strong>Implementer</strong> allows you to create a checkpoint<br />

for associated production environment subprojects. This allows you to review the<br />

project in its current form at any point by viewing the project history using the<br />

checkpoint.<br />

Within each product and environment subproject, the first level subproject is the source<br />

physical file name, the base name of the file is the item name, and the file extension is the<br />

source member type. For example, member MWI0110, member type RPGLE, in source<br />

physical file QALLSRC appears as /MWI0110.RPGLE in subproject QALLSRC. IFS items are<br />

stored in a subproject named ifs.<br />

Assumptions and Requirements<br />

The <strong>Implementer</strong> and <strong>MKS</strong> Source integration requires:<br />

<strong>Implementer</strong> <strong>2006</strong>, which requires an iSeries system running OS/400 V5R1 or later, or<br />

i5/OS V5R3 or later. This is assumed installed and configured. For information on<br />

installing <strong>Implementer</strong>, see the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> Installation <strong>Guide</strong>.<br />

<strong>MKS</strong> Integrity Server <strong>2006</strong> or later, and <strong>MKS</strong> Source <strong>2006</strong> or later. This is assumed<br />

installed and configured. For information on installing <strong>MKS</strong> Integrity products, see the<br />

<strong>MKS</strong> Integrity Server <strong>2006</strong> Installation <strong>Guide</strong>.<br />

The <strong>Implementer</strong> Server must be configured and active. For details, see “Configuring the<br />

<strong>Implementer</strong> Server” on page 217. For information on managing <strong>Implementer</strong> Server,<br />

see page 223.<br />

TCP/IP connectivity between the iSeries running <strong>Implementer</strong> and the system running<br />

<strong>MKS</strong> Integrity Server.<br />

NOTE Using <strong>MKS</strong> Integrity is optional with the <strong>Implementer</strong> and <strong>MKS</strong> Source<br />

integration. If using <strong>MKS</strong> Integrity, you must have <strong>MKS</strong> Integrity 2005 or later<br />

installed and configured.<br />

261


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

<strong>MKS</strong> Source Setup and <strong>Administration</strong><br />

262<br />

The integration configuration steps you perform in <strong>MKS</strong> Source are one-time tasks. Once you<br />

complete these setup tasks, no ongoing tasks are required in <strong>MKS</strong> Source.<br />

NOTE The integration can run on the same or a separate server as the <strong>MKS</strong> Integrity<br />

integration and <strong>Implementer</strong> Server.<br />

The setup tasks in <strong>MKS</strong> Source require the assistance of your <strong>MKS</strong> Integrity administrator.<br />

Overall, the <strong>Implementer</strong> and <strong>MKS</strong> Source integration requires the skill sets of both your<br />

<strong>MKS</strong> Integrity administrator and <strong>Implementer</strong> administrator. <strong>MKS</strong> recommends you<br />

coordinate the configuration of this integration with the applicable administrators in your<br />

organization to ensure a successful and smooth process.<br />

The setup tasks in <strong>MKS</strong> Source include the following:<br />

Create two base projects in <strong>MKS</strong> Source to act as parent projects for the product and<br />

environment subprojects. This task begins on page 263.<br />

Create an <strong>MKS</strong> Source integration user, or use the existing <strong>MKS</strong> Integrity integration<br />

user. This task begins on page 264.<br />

Create an <strong>Implementer</strong> Developer group to manage users (developers) of the<br />

integration. This task begins on page 264.<br />

Assign <strong>MKS</strong> Source policies. This task begins on page 265.<br />

Assign ACL permissions to the integration user and <strong>Implementer</strong> Developer group. This<br />

task begins on page 268.<br />

Modify the <strong>MKS</strong> Integrity Client Client configuration file IntegrityClientSite.rc to<br />

enable developers to invoke <strong>MKS</strong> Source GUI gestures from their workstation. This<br />

allows launching annotated views and member history in <strong>MKS</strong> Source from the<br />

<strong>Implementer</strong> Workbench and Work with Objects, as well as WDSc. For details on this<br />

task, see “Modifying the <strong>MKS</strong> Integrity Server Configuration File” on page 206.<br />

When using <strong>MKS</strong> Integrity, the workflow State prior to the first environment enabled for<br />

<strong>MKS</strong> Source archiving (Version Environment, Archived by <strong>MKS</strong> Source = Y) must have<br />

the capability Allows open SI change packages to exist. <strong>MKS</strong> recommends you<br />

enable the first QA environment for <strong>MKS</strong> Source archiving to ensure that all source<br />

member changes promoted from development are captured in <strong>MKS</strong> Source. In this case,<br />

the workflow State In development (or the equivalent value you have defined) must<br />

have this capability. If you use <strong>MKS</strong> Integrity issues and require more information, see<br />

“<strong>Implementer</strong> State-based Capabilities” on page 208.<br />

Detailed information on how to perform each of these tasks is located in the <strong>MKS</strong> Integrity<br />

<strong>2006</strong> <strong>Administration</strong> <strong>Guide</strong>. In collaboration with that guide, the following sections contain<br />

important supplemental information you need to know when setting up <strong>MKS</strong> Source<br />

specifically for the integration with <strong>Implementer</strong> as described in this chapter.


<strong>Implementer</strong> and <strong>MKS</strong> Source Integration<br />

A chronological checklist of the tasks required to configure the <strong>Implementer</strong> and <strong>MKS</strong> Source<br />

integration is provided page 296. <strong>MKS</strong> recommends you use the checklist to ensure you<br />

complete each required task in the order described.<br />

Creating Base Projects in <strong>MKS</strong> Source<br />

The base projects you create in <strong>MKS</strong> Source are specific to each copy of <strong>Implementer</strong> you<br />

integrate with <strong>MKS</strong> Source. Thus, if you have multiple copies of <strong>Implementer</strong> integrated with<br />

a single copy of <strong>MKS</strong> Source, each copy must reference a different set of base projects.<br />

<strong>MKS</strong> suggests you use a naming convention that is universally common, for example,<br />

BaseProductProject and BaseEnvironmentProject are the project names used<br />

throughout this documentation. Once you create the base projects, the necessary subprojects<br />

are created automatically within each base project based on the values you specify and<br />

functions you perform on <strong>Implementer</strong>’s release control panels.<br />

NOTE Parent projects in <strong>MKS</strong> Source are base projects in <strong>Implementer</strong>.<br />

Under the base product project, <strong>MKS</strong> Source automatically creates a product subproject for<br />

each application product you define in <strong>Implementer</strong>’s release control setup as archived by<br />

<strong>MKS</strong> Source. All source members are stored in these subprojects. When you add or update a<br />

member, the member is added or checked in to this subproject.<br />

NOTE The following task describes how to create a base product project and a base<br />

environment project. <strong>MKS</strong> Source automatically creates product and environment<br />

subprojects when you define the products and product/version/environments in<br />

<strong>Implementer</strong> and activate <strong>MKS</strong> Source archiving by setting the Archived by<br />

<strong>MKS</strong> Source field to Y for each. For details on creating projects in <strong>MKS</strong> Source, see<br />

the <strong>MKS</strong> Source <strong>2006</strong> User <strong>Guide</strong>.<br />

To create the base projects in the <strong>MKS</strong> Source GUI<br />

1 From the <strong>MKS</strong> Window, open the <strong>MKS</strong> Source ViewSet.<br />

2 Select Project > Create. The Specify the Project to Create dialog box displays.<br />

3 If your administrator has specified multiple server roots, from the Look in list select a<br />

location where you want to create the project. Otherwise, go to the next step.<br />

4 Enter the path and file name, or browse to a location on the <strong>MKS</strong> Integrity Server where<br />

you want to create the project, for example, C:/BaseProductProject. If the project<br />

path does not exist on the <strong>MKS</strong> Integrity Server, the new path is created.<br />

5 Enter a name for the project. The default project name is project.pj. The project is<br />

identified by the directory.<br />

6 Click OK. The project displays in a Project view.<br />

7 Repeat steps 1–6 to create the base environment project. Be sure to specify a different<br />

directory for this project.<br />

263


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

264<br />

Creating the Integration User<br />

You have the option to create a specific integration user, or designate an existing <strong>MKS</strong> Source<br />

user profile as the integration user. If you currently use <strong>MKS</strong> Integrity with <strong>Implementer</strong>,<br />

you probably already have a designated profile.<br />

TIP To identify your existing <strong>MKS</strong> Integrity integration user, from the <strong>Implementer</strong><br />

Menu select option 47, <strong>MKS</strong> Integrity Setup, to view the <strong>MKS</strong> Integrity User ID field<br />

value.<br />

Because of certain authorities the integration user must have, the integration user should be a<br />

user that does not usually sign on to the system or use the product. The primary functions of<br />

the integration user are:<br />

connect to the <strong>MKS</strong> Integrity Server from the <strong>Implementer</strong> Server<br />

execute certain commands that a typical user does not have authority to perform<br />

impersonate users to perform work on behalf of the impersonated user<br />

The integration user requires setup in <strong>MKS</strong> Source and <strong>Implementer</strong>. In a later task when you<br />

configure <strong>Implementer</strong> for the integration, you specify this user ID in the <strong>MKS</strong> Source User ID<br />

field on the <strong>MKS</strong> Source Setup panel. For details, see “Defining <strong>MKS</strong> Source Values in<br />

<strong>Implementer</strong>” on page 275.<br />

Information on setting permissions for the integration user begins on page 268. For details on<br />

creating users in <strong>MKS</strong> Integrity, see the <strong>MKS</strong> Integrity Server <strong>2006</strong> <strong>Administration</strong> <strong>Guide</strong>.<br />

Creating the <strong>Implementer</strong> Developer Group<br />

<strong>MKS</strong> recommends you create a group and add the iSeries users to the group, for example,<br />

implementer developer group is used throughout this documentation. This allows you to<br />

set ACLs and permissions for the group rather than for each individual user. If you use<br />

<strong>MKS</strong> Integrity with <strong>Implementer</strong> and you are using the same server for <strong>MKS</strong> Source<br />

integration, the group profile may already exist.<br />

IMPORTANT During a remote initiated move that updates the host, <strong>Implementer</strong> uses<br />

the profile MWIPROD to update the host. If you use remote initiated moves with<br />

host updates (remote environment defined with the Remote initiated move and<br />

Updates host fields set to Y) for promotions with <strong>MKS</strong> Source integration, the<br />

MWIPROD user profile must have an <strong>MKS</strong> Integrity user ID that is part of the<br />

group to work with <strong>MKS</strong> Source.<br />

Information on setting permissions for the <strong>Implementer</strong> Developer group or users begins on<br />

page 268. For details on creating groups or users, see the <strong>MKS</strong> Integrity Server <strong>2006</strong><br />

<strong>Administration</strong> <strong>Guide</strong>.


Setting <strong>MKS</strong> Source Policies<br />

<strong>Implementer</strong> and <strong>MKS</strong> Source Integration<br />

<strong>MKS</strong> Source policies at the global level. You can set the policies by using the <strong>MKS</strong> Integrity<br />

<strong>Administration</strong> Client as illustrated in the following task, or by editing the si.policy file<br />

located in the default installation directory C:/Program Files/<strong>MKS</strong> IntegrityServer/<br />

config/policies.<br />

For details on creating or editing <strong>MKS</strong> Source policies, see the <strong>MKS</strong> Integrity Server <strong>2006</strong><br />

<strong>Administration</strong> <strong>Guide</strong>.<br />

To edit <strong>MKS</strong> Source policies using the <strong>MKS</strong> Integrity <strong>Administration</strong> Client<br />

1 Open the <strong>MKS</strong> Integrity <strong>Administration</strong> Client.<br />

2 Click to expand the <strong>MKS</strong> Source node.<br />

3 Click to highlight the Policies section. The Global Policies section displays in the right<br />

pane.<br />

4 Highlight Global Policies in the right display pane.<br />

5 Select Policies > Edit. The policy editor displays the policy section you selected.<br />

TIP To edit global policies, you can also open the shortcut menu by highlighting Global<br />

Policies in the right pane, right clicking, and selecting Edit. To edit project policies,<br />

choose the project in the right pane, right click, and select Edit. If the projects are not<br />

listed, right click and select Create, and then select the appropriate project.<br />

To display the global policies that are set for the <strong>MKS</strong> Integrity Server, double click<br />

to expand the Global Policies section in the right pane.<br />

265


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

266<br />

NOTE To enable a policy option, select that option. For example, to require a<br />

revision description each time a member is checked in, select the Revision<br />

Description Required option. To lock any policy, click the lock box (on the left side)<br />

beside that policy. Locking a policy at the global level prevents any other project<br />

policy or client preference from overriding that policy. A check mark displays for all<br />

enabled policies. A lock symbol displays for all policies that are locked.<br />

Options that have been explicitly set display in a bold typeface.<br />

a) Click the General tab and set the mandatory policies as described in the following<br />

table.<br />

Global Policies: General<br />

Global Policy Policy Value<br />

Revision Description Required Disabled<br />

Archive Description Required Disabled<br />

Deferred Operations Mandatory Disabled<br />

b) Click the Change Packages tab and set the mandatory policies as described in the<br />

following table.<br />

Global Policies: Change Packages<br />

Global Policy Policy Value<br />

Change Packages Enabled Enabled<br />

Track Locks In Change Package Disabled<br />

Use Change Package Tracking Label Disabled<br />

Change Packages Mandatory Disabled<br />

Integrity Manager Issue Mandatory Disableda a While it is not a requirement to use <strong>MKS</strong> Integrity with the <strong>Implementer</strong> and <strong>MKS</strong> Source integration, if<br />

you are using <strong>MKS</strong> Integrity, this policy must be disabled.<br />

NOTE At any time after changing the policy settings, you can restore all default<br />

settings by clicking Reset to Defaults. Clicking the reset button resets only the<br />

options displayed on the current active tab.<br />

6 To accept the changes after editing the policies, click OK.<br />

7 Under the <strong>MKS</strong> Source node, click to expand the Permissions section.<br />

8 Under Permissions, click to highlight Global. A list of users and/or groups displays<br />

in the right pane.


<strong>Implementer</strong> and <strong>MKS</strong> Source Integration<br />

9 From the menu, select ACL > Dev Path Inheritance to set the permission to enabled.<br />

When you have finished setting the policies, the expanded Global Policies should look<br />

similar to the following illustration (depending on other policies you may have defined).<br />

Creating and Setting an <strong>MKS</strong> Integrity ACL and Permission<br />

The integration with <strong>MKS</strong> Source requires the integration user configured in an integration<br />

group. <strong>MKS</strong> Source requires an ACL entry for internal processing.<br />

To configure the required <strong>MKS</strong> Integrity ACL<br />

1 On the <strong>MKS</strong> Integrity Server, click Start <strong>MKS</strong> Authorization <strong>Administration</strong>.<br />

2 Add the following required ACL entry:<br />

mks:impersonate:group:<br />

principle: <br />

Impersonate allowed<br />

IMPORTANT In this example, is a group that contains the<br />

integration user. Change this value to reflect the group name you created. To avoid<br />

compromising your security, use a group other than the everyone group; by default,<br />

all users are part of this group.<br />

267


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

268<br />

Creating and Setting <strong>MKS</strong> Source ACLs and Permissions<br />

You can set <strong>MKS</strong> Source ACL permissions at the global level or you can make them project<br />

specific. If you use <strong>MKS</strong> Source for multiple platform development in addition to<br />

<strong>Implementer</strong> iSeries projects, <strong>MKS</strong> recommends you define the permissions for this<br />

integration at the project level to avoid possible conflict with other projects that may require<br />

different ACL values.<br />

Once you have added the integration user and implementer developer group and/or<br />

users to <strong>MKS</strong> Integrity, you must set the ACL permissions that control user access to global<br />

functions, product projects, and environment projects.<br />

The integration user and implementer developer group require different global ACL<br />

permissions and different ACL permissions for projects.<br />

NOTE The following tasks are described using the <strong>MKS</strong> Integrity <strong>Administration</strong><br />

Client. For information on performing these tasks using the <strong>MKS</strong> Integrity Client<br />

GUI, see the <strong>MKS</strong> Integrity Server <strong>2006</strong> <strong>Administration</strong> <strong>Guide</strong>.<br />

The following tasks assume the principals exist. If the principals have not been<br />

created on your system, you must add or import them before you can assign the<br />

permissions.<br />

To set global ACL permissions for the integration user and <strong>Implementer</strong> developer<br />

group<br />

1 From the <strong>MKS</strong> Integrity <strong>Administration</strong> Client, open the <strong>MKS</strong> Source view, click to<br />

expand the Permission section, and then highlight Global. The display pane shows any<br />

existing permission information for the mks:si ACL.<br />

2 Right click to add the principal, or from the Principal list, select the <br />

user.<br />

3 From the menu, select ACL > Change Permissions. The Change Permissions dialog box<br />

displays.


<strong>Implementer</strong> and <strong>MKS</strong> Source Integration<br />

4 In the Permissions area, change the condition of the following permissions by clicking<br />

the indicator box and toggling through the condition indicators until the box displays a<br />

green plus sign, indicating the allowed condition.<br />

Set permissions for the user as described in the following table.<br />

5 To accept the changes, click OK.<br />

6 Right click to add the principal, or from the Principal list, select the group.<br />

7 From the menu, select ACL > Change Permissions. The Change Permissions dialog box<br />

displays.<br />

8 In the Permissions area, change the condition of the following permissions by clicking<br />

the indicator box and toggling through the condition indicators until the box displays a<br />

green plus sign, indicating the allowed condition.<br />

Set permissions for the implementer developer group as described in the following<br />

table.<br />

9 To accept the changes, click OK.<br />

Global ACL Permissions: Integration User<br />

ACL Permission Permission Value<br />

AddMember Allowed<br />

ChangePackageAdmin Allowed<br />

CreateChangePackage Allowed<br />

Login Allowed<br />

ShareArchive Allowed<br />

Global ACL Permissions: <strong>Implementer</strong> Developer Group<br />

ACL Permission Permission Value<br />

AddMember Allowed<br />

CreateChangePackage Allowed<br />

Login Allowed<br />

ShareArchive Allowed<br />

To set base product project ACL permissions for the integration user and <strong>Implementer</strong><br />

developer group<br />

1 From the <strong>MKS</strong> Integrity <strong>Administration</strong> Client, open the <strong>MKS</strong> Source view, click to<br />

expand the Permissions section, and highlight Projects. The display pane shows any<br />

existing project permission information for the mks:si ACL.<br />

269


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

270<br />

2 To create a project ACL, select ACL > Create Project ACL from the main menu. The Select<br />

a Project dialog box displays.<br />

NOTE The following illustration shows an existing project ACL.<br />

3 Select the registered <strong>MKS</strong> Source project to create the ACL for,<br />

and click OK. The Confirm ACL Creation dialog box displays.<br />

4 To create the new project ACL, click Yes. The Select ACL Entries to Add dialog box<br />

displays the project ACL name. For example, for the BaseProductProject project, the<br />

project ACL name is mks:si:project:id:BaseProductProject.


5 From the Principal list, select the user.<br />

<strong>Implementer</strong> and <strong>MKS</strong> Source Integration<br />

6 In the Permissions area, change the condition of the following required permissions as<br />

described by clicking the indicator box and toggling through the condition indicators<br />

until the box displays a green plus sign, indicating the allowed condition.<br />

Set permissions for the user as described in the following table.<br />

ACL Permissions: Base Product Project: Integration User<br />

ACL Permission Permission Value<br />

AddSubproject Allowed<br />

ApplyProjectLabel Allowed<br />

Checkpoint Allowed<br />

CreateDevpath Allowed<br />

CreateSubproject Allowed<br />

DeleteProjectLabel Allowed<br />

FetchRevision Allowed<br />

ModifyProjectAttribute Allowed<br />

MoveProjectLabel Allowed<br />

OpenProject Allowed<br />

NOTE You can set all other permissions to allowed or denied as needed.<br />

7 To accept the changes, click OK.<br />

8 From the menu, select ACL > View ACL. An ACL mks:si:project view displays.<br />

271


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

272<br />

9 Right click the group, and select Change Permissions. The<br />

Change Permissions dialog box displays.<br />

10 Click Deny All to deny all permissions.<br />

11 Set the ACL permissions for implementer developer group for the<br />

as described in the following table.<br />

ACL Permissions: Base Product Project: <strong>Implementer</strong> Developer Group<br />

ACL Permission Permission Value<br />

AddMember Allowed<br />

CheckIn Allowed<br />

FetchRevision Allowed<br />

Lock Allowed<br />

ModifyAuthor Allowed<br />

ModifyMember Rev Allowed<br />

OpenProject Allowed<br />

12 To accept the changes, click OK. An ACL mks:si:project view displays.<br />

13 Click Close.<br />

To set base environment project ACL permissions for the integration user and<br />

implementer developer group<br />

1 From the <strong>MKS</strong> Integrity <strong>Administration</strong> Client, open the <strong>MKS</strong> Source view, expand the<br />

Permission section, and then highlight Projects. The display pane shows any existing<br />

<strong>MKS</strong> Source projects.<br />

2 Select the registered <strong>MKS</strong> Source project to create the<br />

ACL for, and click OK. The Confirm ACL Creation dialog box displays.


<strong>Implementer</strong> and <strong>MKS</strong> Source Integration<br />

3 To create the new project ACL, click Yes. The Select ACL Entries to Add dialog box<br />

displays the project ACL name. For example, for the BaseEnvironmentProject<br />

project, the project ACL name is mks:si:project:id:BaseEnvironmentProject.<br />

4 From the Principal list, select the user.<br />

5 Set permissions for the user as described in the following table.<br />

ACL Permissions: Base Environment Project: Integration User<br />

ACL Permission Permission Value<br />

AddSubproject Allowed<br />

ApplyProjectLabel Allowed<br />

Checkpoint Allowed<br />

CreateDevpath Allowed<br />

CreateSubproject Allowed<br />

DeleteProjectLabel Allowed<br />

FetchRevision Allowed<br />

ModifyProjectAttribute Allowed<br />

MoveProjectLabel Allowed<br />

OpenProject Allowed<br />

NOTE You can set all other permissions to allowed or denied as needed.<br />

6 To accept the changes, click OK.<br />

7 From the menu, select ACL > View ACL. An ACL mks:si:project view displays.<br />

8 Right click group and select Change Permissions. The<br />

Change Permissions dialog box displays.<br />

9 Click Deny All to deny all permissions.<br />

10 Set the ACL permissions for the implementer developer group for the<br />

as described in the following table.<br />

273


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

274<br />

ACL Permissions: Base Environment Project: <strong>Implementer</strong> Developer Group<br />

ACL Permission Permission Value<br />

AddMember Allowed<br />

DropMember Allowed<br />

FetchRevision Allowed<br />

ModifyMemberRev Allowed<br />

OpenProject Allowed<br />

11 To accept the changes, click OK. An ACL mks:si:project view displays.<br />

12 Click Close.<br />

This concludes the setup tasks in <strong>MKS</strong> Source. The <strong>Implementer</strong> administrator must perform<br />

the following setup tasks in <strong>Implementer</strong>.<br />

<strong>Implementer</strong> Setup and <strong>Administration</strong><br />

The setup and administration steps in <strong>Implementer</strong> are primarily one-time tasks; however,<br />

the <strong>MKS</strong> Source integration adds a few steps to the standard <strong>Implementer</strong> release control<br />

activities, which are periodic ongoing tasks. Once you complete the initial tasks to configure<br />

the <strong>MKS</strong> Source integration, the ongoing tasks are standard functions that apply to using<br />

release control within the development cycle and using <strong>MKS</strong> Source as an additional<br />

repository for <strong>Implementer</strong> source.<br />

The setup tasks in <strong>Implementer</strong> require the assistance of your <strong>Implementer</strong> administrator.<br />

Overall, the <strong>Implementer</strong> and <strong>MKS</strong> Source integration requires the skill sets of both your<br />

<strong>MKS</strong> Integrity administrator and <strong>Implementer</strong> administrator. <strong>MKS</strong> recommends you<br />

coordinate the configuration of this integration with the applicable administrators in your<br />

organization to ensure a successful and smooth process.<br />

The one-time setup tasks in <strong>Implementer</strong> include the following:<br />

Define <strong>MKS</strong> Source values in <strong>Implementer</strong>. This task begins on page 275.<br />

Verify object codes for archiving in <strong>MKS</strong> Source. This task begins on page 278.<br />

Verify <strong>Implementer</strong> user profiles have a valid <strong>MKS</strong> Integrity user ID. This task is<br />

described on page 235.<br />

Perform product maintenance (create an initial product or use an existing product) and<br />

activate product source archiving in <strong>MKS</strong> Source to create a product subproject. This<br />

task begins on page 280.<br />

Perform product version maintenance (create a new version or use an existing version)<br />

and set the development path for the current version to *HEADREV (or *VERSION if not<br />

the current release). This task begins on page 283.


<strong>Implementer</strong> and <strong>MKS</strong> Source Integration<br />

Starting with production and moving toward QA1, perform product/version/<br />

environment maintenance (use an existing or create a new product/version/<br />

environment) and activate <strong>MKS</strong> Source archiving for the environment, which creates<br />

and populates an environment subproject in <strong>MKS</strong> Source. This task begins on page 286.<br />

A chronological checklist of the tasks required to configure the <strong>Implementer</strong> and <strong>MKS</strong> Source<br />

integration is provided page 296. <strong>MKS</strong> recommends you use the checklist to ensure you<br />

complete each required task in the order described.<br />

NOTE The <strong>Implementer</strong> Server must be active for successful communications with<br />

<strong>MKS</strong> Source. For information on reloading the server with current configuration<br />

and environment information if communications fail, see “Managing <strong>Implementer</strong><br />

Server” on page 223.<br />

Defining <strong>MKS</strong> Source Values in <strong>Implementer</strong><br />

You activate the integration and define the <strong>MKS</strong> Source communication parameters in<br />

<strong>Implementer</strong> on the <strong>MKS</strong> Source Setup panel.<br />

Your <strong>Implementer</strong> user profile must have authority to maintain System Control Maintenance<br />

(defined in Work with Users) to change the default values on the <strong>MKS</strong> Source Setup panel.<br />

Without this authority, changes to the panel are not allowed.<br />

To define <strong>MKS</strong> Source values in <strong>Implementer</strong> and activate the integration<br />

1 From the <strong>MKS</strong> <strong>Implementer</strong> Menu, type 48, <strong>MKS</strong> Source Setup, and press ENTER, or<br />

issue the STRIM *SRCMGT command. The <strong>MKS</strong> Source Setup panel displays.<br />

275


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

276<br />

2 In the Integration enabled field, type Y.<br />

NOTE Once the integration is active, if you later decide to disable it after using<br />

<strong>MKS</strong> Source archiving, a message notifies you that all products configured for the<br />

integration must have the Archived by <strong>MKS</strong> Source set to N before you can disable<br />

the integration on this panel.<br />

3 In the Communications timeout, Server, Server browser port, <strong>MKS</strong> Source User ID, and<br />

Password fields, do either of the following:<br />

Press F16=Copy <strong>MKS</strong> Integrity Setup to import the values defined on the<br />

<strong>MKS</strong> Integrity Setup panel. Use this option when <strong>MKS</strong> Source and <strong>MKS</strong> Integrity<br />

are located on the same server.<br />

Complete the fields as described in the following table. Use this option when<br />

<strong>MKS</strong> Source and <strong>MKS</strong> Integrity are located on different servers and/or use different<br />

user IDs.<br />

4 In the Base Product project and Base Environment project fields, specify the values as<br />

described in the table on page 277.<br />

5 Press F7=Test to ensure communications are active and a connection can be established.<br />

If communications are successful, the System available field value changes to Y, and<br />

a message at the bottom of the panel confirms the status. Continue with the next<br />

step.<br />

If communications are not successful, you must resolve the communication problem<br />

before continuing. Once resolved, continue with the next step.<br />

6 Press ENTER. The two base projects you specified validate in <strong>MKS</strong> Source. An error<br />

displays if problems occur attempting to access the information. After resolving the<br />

error, press ENTER to update the information.<br />

Field Description<br />

<strong>MKS</strong> Source current status<br />

System available<br />

<strong>MKS</strong> Source Setup Field Descriptions<br />

Indicates if communications are active and the integration between<br />

<strong>Implementer</strong> and <strong>MKS</strong> Source is enabled at the system level.<br />

Yes: Communications are active and the integration is<br />

functioning. Required value to receive edit checks on the<br />

remaining fields on this panel.<br />

No: Communications are inactive and the integration is not<br />

functional.


Field Description<br />

<strong>MKS</strong> Source Setup Field Descriptions<br />

<strong>Implementer</strong> and <strong>MKS</strong> Source Integration<br />

<strong>MKS</strong> Source connection setup<br />

The following fields define the communication parameters that allow <strong>Implementer</strong> to integrate with<br />

<strong>MKS</strong> Source.<br />

Integration enabled Specify whether the integration between <strong>Implementer</strong> and<br />

<strong>MKS</strong> Source is active.<br />

Yes: The integration is active. Specify Y to activate the<br />

integration.<br />

No: The integration is not active. Specify N to deactivate the<br />

integration. You can also use this setting to save current values<br />

not yet finalized while troubleshooting communication problems.<br />

Communications timeout Number of seconds <strong>Implementer</strong> waits for a valid response after<br />

contacting <strong>MKS</strong> Integrity Server running <strong>MKS</strong> Source. Only used<br />

when <strong>MKS</strong> Source is used for source archiving.<br />

If communications between <strong>Implementer</strong> and <strong>MKS</strong> Integrity Server<br />

are slow, set this to a higher number to prevent time outs during<br />

normal usage, such as if the <strong>MKS</strong> Integrity Server is available but<br />

not responding in a timely manner due to heavy traffic.<br />

Server IP address or host name of <strong>MKS</strong> Integrity Server running<br />

<strong>MKS</strong> Source. Used for all communications between <strong>Implementer</strong><br />

and <strong>MKS</strong> Integrity Server. Must be a host name or IP address, not<br />

a URL that begins with http:// or https://. Can be the same<br />

server or a different server than that specified in the <strong>MKS</strong> Integrity<br />

Setup panel. Do not enclose the value in quotes.<br />

Server browser port The port number used to communicate to <strong>MKS</strong> Integrity Server<br />

running <strong>MKS</strong> Source. Specify a value between 1–65535.<br />

<strong>MKS</strong> Source User ID User profile that has administrative rights in <strong>MKS</strong> Source. This<br />

user ID is used to test the connection to <strong>MKS</strong> Integrity Server, and<br />

is the impersonation user ID used to proxy all commands between<br />

<strong>Implementer</strong> and <strong>MKS</strong> Source. Must be the same user ID as<br />

described in “Creating the Integration User” on page 264. Casesensitive<br />

field—the case specified in <strong>MKS</strong> Source must be<br />

specified here.<br />

Password Password of the <strong>MKS</strong> Source user ID specified in the previous<br />

field. Non display field that displays as blank when typing the<br />

password value. Case-sensitive field—the case specified in<br />

<strong>MKS</strong> Source must be specified here.<br />

Base Product project Specify the base product project in <strong>MKS</strong> Source that all product<br />

subprojects are created under. The project is validated in<br />

<strong>MKS</strong> Source; thus, it must exist in <strong>MKS</strong> Source prior to referencing<br />

here. Type the value exactly as it exists in the <strong>MKS</strong> Source project<br />

directory (including the directory, file name, and file extension), for<br />

example, c:/BaseProductProject/project.pj. a<br />

277


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

278<br />

Field Description<br />

<strong>MKS</strong> Source Setup Field Descriptions<br />

Base Environment project Specify the base environment project in <strong>MKS</strong> Source that all<br />

environment subprojects are created under. The project is<br />

validated to <strong>MKS</strong> Source; thus, it must exist in <strong>MKS</strong> Source prior to<br />

referencing here. Type the value exactly as it exists in the<br />

<strong>MKS</strong> Source project directory (including the directory, file name,<br />

and file extension), for example, c:/<br />

BaseEnvironmentProject/project.pj. a<br />

a The BaseProductProject and BaseEnvironmentProject do not have to be top level projects in<br />

<strong>MKS</strong> Source. The format of your projects may be different from the examples based on your<br />

<strong>MKS</strong> Source platform and configuration options. Ask your <strong>MKS</strong> Source administrator for the exact<br />

entries.<br />

Controlling Archiving in <strong>MKS</strong> Source by Object Code<br />

You can activate and deactivate <strong>MKS</strong> Source archiving at the object code level in<br />

<strong>Implementer</strong>. The archive value set for an object code applies to all environments configured<br />

for <strong>MKS</strong> Source archiving.<br />

When the <strong>Implementer</strong> and <strong>MKS</strong> Source integration is enabled, an object codes’s Archived by<br />

<strong>MKS</strong> Source value defaults based on the following rules:<br />

Source-based object codes and those with a special characteristic of PCFILE are set to<br />

automatically archive in <strong>MKS</strong> Source.<br />

Non source-based object codes and those with a special characteristic of PCDIR are not<br />

eligible for archiving in <strong>MKS</strong> Source; thus, they are set to a value that does not allow<br />

<strong>MKS</strong> Source archiving and cannot be changed.<br />

Before allowing check out and promotion activities using the <strong>MKS</strong> Source integration, you<br />

can optionally deactivate <strong>MKS</strong> Source archiving for other object codes you may not want<br />

archived, for example, IFS object codes for .jar files or Lotus Notes database files.<br />

IMPORTANT Before allowing <strong>Implementer</strong> check out and promotion activity with<br />

<strong>MKS</strong> Source archiving enabled, review the object code Archived by <strong>MKS</strong> Source<br />

values and make any necessary changes. After check out and promotion activity<br />

begins with <strong>MKS</strong> Source archiving enabled, you must only change the Archived by<br />

<strong>MKS</strong> Source value when <strong>Implementer</strong> check out and promotions are not active.<br />

If you change the Archived by <strong>MKS</strong> Source value to Y, to establish accurate<br />

<strong>MKS</strong> Source revisions for existing items with the new object code value, you must<br />

disable and repopulate all archived product/version/environments. To do this,<br />

change the Archived by <strong>MKS</strong> Source value from Y to N for all archived product/<br />

version/environments, then in Product Version Maintenance use F6=Enable<br />

<strong>MKS</strong> Source Archiving, starting with the oldest *VERSION ending with the<br />

*HEADREV version. For more information, see “To create archives for existing<br />

previous versions of iSeries source” on page 285.


To set object codes for archiving in <strong>MKS</strong> Source<br />

<strong>Implementer</strong> and <strong>MKS</strong> Source Integration<br />

1 From the <strong>Implementer</strong> Menu, type option 44, Object Codes, and press ENTER. The Work<br />

with Object Codes panel displays.<br />

2 To change an existing object code, type 2=Change next to an object code, and press<br />

ENTER. The Change Object Code panel displays.<br />

3 Complete the panel as needed. For details on completing this panel, see “Object Codes”<br />

on page 127.<br />

In the Archive in <strong>MKS</strong> Source field, specify one of the following:<br />

Y=Yes Archives source for the object code in <strong>MKS</strong> Source if the target<br />

environment is eligible. This is the default value and valid only for<br />

source-based object codes and those with the special characteristic<br />

PCFILE.<br />

N=No Does not archive source for the object code in <strong>MKS</strong> Source. This is the<br />

default value and required value for non source-based object codes<br />

and those with the special characteristic PCDIR.<br />

After changing the field value, a dialog window requires you confirm the action. Type Y,<br />

and press ENTER. <strong>Implementer</strong> searches the repository for objects with this object code. If<br />

an item with this object code has association with an environment archived in<br />

<strong>MKS</strong> Source, existing revisions are removed from all repository items and locks for the<br />

object code/environment.<br />

4 Press ENTER.<br />

279


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

280<br />

Product Setup and Source Archiving<br />

Products are a component of <strong>Implementer</strong>’s release control feature. Release control allows<br />

you to internally manage your software release process as a fundamental part of your daily<br />

change management operation that includes software versioning at the product, version,<br />

release and environment level. It provides for additional management, control, and<br />

orientation by release name or release number, allowing you to effectively manage<br />

production environments.<br />

With release control you can name each release of software before rolling out to production.<br />

While preparing a release for rollout, you automatically “freeze” the environments that<br />

manage the release to ensure unplanned changes are not subsequently promoted beyond a<br />

user-specified cutoff period. After rollout you can view the release history for that release<br />

and other releases as part of the post-project assessment.<br />

In <strong>Implementer</strong> Menu option 51, Products, you must define each product associated with<br />

<strong>MKS</strong> Source archiving. You have the option to use existing products or create new products.<br />

You then activate <strong>MKS</strong> Source archiving for the product, which automatically creates the<br />

product’s subproject in <strong>MKS</strong> Source. <strong>Implementer</strong>’s Product Maintenance panel allows you<br />

to establish product archiving in <strong>MKS</strong> Source. When the Archived by <strong>MKS</strong> Source field value<br />

is N, field entry is not allowed. To change the value to Y and create the product subproject in<br />

<strong>MKS</strong> Source, you use the function F6=Enable <strong>MKS</strong> Source Archiving.<br />

NOTE For details on release management and deployment, see the <strong>MKS</strong> <strong>Implementer</strong><br />

<strong>2006</strong> Release Management <strong>Guide</strong>.<br />

Requirements and Considerations<br />

Each product corresponds to the product subproject directory in <strong>MKS</strong> Source. For this<br />

reason, the product names you use must conform to a naming convention that is<br />

representable on the file system of the operating system that hosts the server for<br />

<strong>MKS</strong> Source. Generally, the product name must start with a letter A–Z and continue<br />

with a contiguous sequence of letters A–Z, numbers 0–9, or underscores ‘_’. The product<br />

name allows 10 characters consisting of letters and numbers only (no special characters),<br />

for example, ACCTRVCV06 is allowed, ACCTRCV-06 is not allowed. (This requirement<br />

also applies to the names of versions, releases, and environments.)<br />

Multiple products cannot archive the same environment—only one product can archive<br />

an environment in <strong>MKS</strong> Source.<br />

The base product project must exist in <strong>MKS</strong> Source before performing the following task.<br />

To work with products and enable <strong>MKS</strong> Source archiving to create product subprojects<br />

1 From the <strong>Implementer</strong> Menu, type option 51, Products, and press ENTER. The Work with<br />

Products panel displays.


2 Do one of the following to display the Product Maintenance window:<br />

Type 1=Create on the first option line, and press ENTER.<br />

<strong>Implementer</strong> and <strong>MKS</strong> Source Integration<br />

Select an existing product with option 2=Change, and press ENTER.<br />

Select an existing product with option 3=Copy, and press ENTER.<br />

3 Complete the fields as required. For detailed information on this panel, see the<br />

<strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> Release Management <strong>Guide</strong>.<br />

4 The Archived by <strong>MKS</strong> Source field defaults to N. To activate source archiving for this<br />

product in <strong>MKS</strong> Source, press F6=Enable <strong>MKS</strong> Source Archiving.<br />

NOTE If the <strong>MKS</strong> Source integration is not active on the <strong>MKS</strong> Source Setup panel in<br />

<strong>Implementer</strong>, the Archived by <strong>MKS</strong> Source field is view-only and function key<br />

F6=Enable <strong>MKS</strong> Source archiving does not display. For details, see “Defining<br />

<strong>MKS</strong> Source Values in <strong>Implementer</strong>” on page 275.<br />

A message displays requiring you to confirm your request to create an <strong>MKS</strong> Source<br />

product project for the selected <strong>Implementer</strong> product.<br />

281


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

282<br />

5 To continue, type Y, and press ENTER.<br />

A series of validations ensure you have the required permissions. A message notifies of<br />

problems trying to create the product project, or if the product or subproject already<br />

exist in <strong>MKS</strong> Source.<br />

IMPORTANT Once you archive a product in <strong>MKS</strong> Source, the Archived by<br />

<strong>MKS</strong> Source field is editable and can be changed to N if needed. If you change the<br />

value to N to deactivate archiving, a message notifies you that interim development<br />

activity performed while environment archiving is not active causes gaps in the<br />

version history if you later reactivate archiving. Interim source changes are not<br />

captured separately in the archives while archiving is off; however, the next<br />

promoted version captures any changes made since the last archived promotion.<br />

You must confirm your request to deactivate archiving. To re-establish the<br />

integration, additional setup work is required. Any change to the Archived by<br />

<strong>MKS</strong> Source field value causes a source reload in <strong>MKS</strong> Source to ensure the server is<br />

refreshed with current data.<br />

Once all edits are passed, a confirmation panel confirms creation of the subproject. On<br />

the Product Maintenance panel, the Archived by <strong>MKS</strong> Source field updates to Y.<br />

<strong>MKS</strong> Source creates the product subproject, for example, the product Inventory has the<br />

subproject INVENTORY/project.pj under the base product project c:/<br />

BaseProductProject/project.pj as illustrated next.<br />

6 Repeat steps 2–5 for each product to archive in <strong>MKS</strong> Source.<br />

NOTE Permissions for each product subproject are inherited from the base product<br />

project.


Product Version Setup and Development Paths<br />

<strong>Implementer</strong> and <strong>MKS</strong> Source Integration<br />

Each product you define in <strong>Implementer</strong> and associate with <strong>MKS</strong> Source archiving has one or<br />

more versions that represent different stages of the software. You have the option to use<br />

existing versions or create new versions.<br />

Each product version is associated with a development path in <strong>MKS</strong> Source. The<br />

development path is an identifier that specifies a branch of software development. Changes<br />

made through a new *VERSION development path are assigned suffixed revisions, for<br />

example, 1.4.1.2, which distinguishes them from the unsuffixed revisions assigned to the<br />

main *HEADREV development trunk, for example, 1.5. This allows you to track logical<br />

revisions for multiple versions of a product in simultaneous development.<br />

<strong>Implementer</strong>’s Product Version Maintenance panel allows you to establish the development<br />

path for a product version. Once established, you can process the update that creates the<br />

development path in <strong>MKS</strong> Source.<br />

The valid development path values are as follows:<br />

*NONE: Versions set to development path *NONE are not archived. This is the default<br />

value <strong>Implementer</strong> assigns to the development path for a product version. It is also used<br />

for older releases that are not archived in <strong>MKS</strong> Source.<br />

*HEADREV: This is the starting point for a new version and represents the current<br />

version in development. It is the main trunk on a version tree. The head revision uses the<br />

main trunk development path in the project. The main trunk development path is<br />

always present (you cannot create it).<br />

Only one version of a product can have the development path value *HEADREV<br />

specified at a time. All prior versions must be set to *VERSION before assigning the<br />

value *HEADREV to a new version.<br />

*VERSION: This is a branch on a trunk. You manually set an outgoing *HEADREV<br />

product version’s development path from *HEADREV to *VERSION before you create a<br />

new version, which becomes the new *HEADREV trunk version.<br />

Requirements and Considerations<br />

The version name corresponds to the project checkpoint and development path in<br />

<strong>MKS</strong> Source. For this reason, the version names you use must be representable on the file<br />

system of the operating system hosting the server for <strong>MKS</strong> Source. The version name<br />

must start with a letter A–Z and continue with a contiguous sequence of letters A–Z,<br />

numbers 0–9, or underscores ‘_’.<br />

When a product version has a based on product/version/release specified, the based on<br />

product/version/release must be checkpointed in <strong>MKS</strong> Source. For details, see<br />

“Product/Version/Release Setup and Checkpointing in <strong>MKS</strong> Source” on page 291.<br />

283


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

284<br />

Only one version per product can be set to *HEADREV. When multiple versions exist,<br />

you must set all previous versions to *VERSION before you can set a new version to<br />

*HEADREV.<br />

The product version must not have open releases when creating the development path.<br />

A message notifies you if open releases exist.<br />

Before creating a new release of a product, you must close the current release.<br />

To work with product versions and set the <strong>MKS</strong> Source development path for a version<br />

1 From the <strong>Implementer</strong> Menu, type option 51, Products, and press ENTER. The Work with<br />

Products panel displays.<br />

2 Select the product with option 10=Work with Versions, and press ENTER. The Work with<br />

Product Versions panel displays.<br />

3 Do one of the following to display the Product Version Maintenance window:<br />

Type 1=Create on the first option line, and press ENTER.<br />

Select an existing version with option 2=Change, and press ENTER.<br />

Select an existing version with option 3=Copy, and press ENTER.<br />

NOTE If <strong>Implementer</strong> or the product are not set up for <strong>MKS</strong> Source archiving, the<br />

<strong>MKS</strong> Source Devpath field is view-only, and function key F6=Create Development<br />

Path does not display. For details, see “Product Setup and Source Archiving” on<br />

page 280, and “Defining <strong>MKS</strong> Source Values in <strong>Implementer</strong>” on page 275.


<strong>Implementer</strong> and <strong>MKS</strong> Source Integration<br />

4 Complete the fields as required. For <strong>MKS</strong> Source integration, the relevant fields are<br />

Version, Version Description, Based on Product, Based on Version, Based on Release,<br />

and <strong>MKS</strong> Source Devpath. For details on this panel, see the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> Release<br />

Management <strong>Guide</strong>.<br />

Do one of the following:<br />

a) If this is the current version, in the <strong>MKS</strong> Source Devpath field, type *HEADREV (this is<br />

the starting point for the version, which is used to create the next current release),<br />

and press ENTER.<br />

b) If this is a previous version (not the current version) in the <strong>MKS</strong> Source Devpath<br />

field type *VERSION.<br />

NOTE The next two steps only apply to the *VERSION development path. The<br />

*HEADREV development path automatically assigns revisions from the main trunk;<br />

therefore, it does not require a development path assigned.<br />

5 To create the *VERSION development path in <strong>MKS</strong> Source, press F6=Create<br />

Development Path in <strong>MKS</strong> Source. A message displays requiring you to confirm your<br />

request to create the <strong>MKS</strong> Source development path for the selected <strong>Implementer</strong><br />

product version.<br />

6 To continue, type Y, and press ENTER.<br />

A series of validations ensure you have the required permissions and the development<br />

path can be created. A message displays if the product development path already exists<br />

or if the product version has an open release. Once all validations successfully pass, the<br />

product project is checkpointed in <strong>MKS</strong> Source with a checkpoint name equal to the<br />

version name, and a development path is created on the checkpoint.<br />

7 Repeat steps 2–6 for each version of the product that requires a development path in<br />

<strong>MKS</strong> Source.<br />

To create archives for existing previous versions of iSeries source<br />

1 Activate archiving for the product.<br />

2 Activate archiving for the oldest version you want to archive in <strong>MKS</strong> Source. Specify the<br />

development path *HEADREV.<br />

3 Activate archiving for each environment within the version.<br />

4 Change the version to use development path *VERSION, and create the development<br />

path.<br />

5 Activate archiving for the next oldest version you want to archive in <strong>MKS</strong> Source.<br />

Specify the development path *HEADREV.<br />

6 Activate archiving for each environment within that version.<br />

285


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

286<br />

7 Repeat steps 4–6 for each of the remaining versions, from the oldest version to the most<br />

current version.<br />

8 Activate archiving for the current version. Specify the development path *HEADREV.<br />

9 Activate archiving for each environment within the current version.<br />

IMPORTANT Once you archive a product version in <strong>MKS</strong> Source, if you change the<br />

<strong>MKS</strong> Source Devpath back to *NONE a dialog window notifies you that the action<br />

results in disabling the integration. Thus, any interim development activity<br />

performed while environment archiving is inactive causes gaps in the version<br />

archive if you later reactivate the integration and archiving.<br />

Product/Version Environments Setup and Environment Population<br />

<strong>Implementer</strong>’s Product Version Environment Maintenance panel allows you to activate<br />

source archiving for the environment, which automatically populates the environment<br />

project in <strong>MKS</strong> Source. This process performs the initial import of environment source by<br />

copying all eligible source items in the <strong>Implementer</strong> environment on the iSeries, performs a<br />

mass check in to the product subproject, imports into the environment subproject, and<br />

updates the <strong>Implementer</strong> repository and locks with the new revisions provided by<br />

<strong>MKS</strong> Source.<br />

Requirements and Considerations<br />

This function applies to production and QA environments only.<br />

Environment names correspond to the environment subproject directory in <strong>MKS</strong> Source.<br />

For this reason, the environment names you use must be representable on the file system<br />

of the operating system hosting the server for <strong>MKS</strong> Source. The environment name must<br />

start with a letter A–Z and continue with a contiguous sequence of letters A–Z, numbers<br />

0–9, or underscores ‘_’.<br />

Running simultaneous environment population jobs can result in invalid revisions in<br />

<strong>MKS</strong> Source and invalid revision references in <strong>Implementer</strong>. Therefore, you must<br />

process the environment population job in a single threaded job queue, or verify the<br />

results of each environment population are correct before enabling the next environment<br />

population.<br />

You must run a Build List for each applicable environment before performing this step.<br />

For details, see page 117.<br />

The environment can be associated with multiple product/versions, but can only be<br />

archived in one product/version.<br />

If a based on product/version/release is specified in the product/version, it must exist<br />

in <strong>Implementer</strong>.


<strong>Implementer</strong> and <strong>MKS</strong> Source Integration<br />

If a based on environment is specified, the based on product/version/release specified<br />

in the associated product/version must have a product/version/environment with the<br />

same environment name as the based on environment specified in the target<br />

environment.<br />

The based on product version environment must be archived in <strong>MKS</strong> Source to provide<br />

the starting revisions for the new environment’s population.<br />

You must enable environments in a specific order to ensure the production environment<br />

is assigned lower revisions than those assigned to items in QA environments. First,<br />

enable the production (*PRD) environment and then enable the quality assurance<br />

environments (*QAC). If you have multiple *QAC environments, enable them in order<br />

from production toward QA1, for example, QA4, QA3, QA2, QA1, where QA4 is the<br />

environment closest to “going into” production.<br />

The environment population uses <strong>Implementer</strong>’s repository entries and locks to control<br />

when it assigns new revisions as follows:<br />

When processing a production member, if a based on environment is not specified<br />

or the member does not exist in the based on environment, <strong>Implementer</strong> performs<br />

an <strong>MKS</strong> Source check in to assign the initial revision ID.<br />

When a member exists in a based on environment, <strong>Implementer</strong> uses the based on<br />

member’s revision to assign the new environment member revision.<br />

When processing a member from QA and a lock does not exist, <strong>Implementer</strong><br />

searches the product/version environment list toward production and uses the<br />

revision from the first environment where the member exists.<br />

When processing a member from QA and a lock exists, <strong>Implementer</strong> performs an<br />

<strong>MKS</strong> Source check in to generate a new revision ID.<br />

The following table illustrates the results of processing a member.<br />

Environment Sequence Number Lock Assigned Revision Assigned<br />

PRD 10 N 1.1<br />

QA4 20 N 1.1<br />

QA3 30 Y 1.2<br />

QA2 40 N 1.2<br />

QA1 50 Y 1.3<br />

287


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

288<br />

NOTE<br />

When enabling an environment, <strong>Implementer</strong> verifies the sequence you have<br />

defined on the Product Version Environment Maintenance panel to ensure the<br />

environments process in sequential order from production to QA1.<br />

It is not necessary to enable all environments for a product/version. The revision<br />

advances when the lock moves into the first <strong>MKS</strong> Source archive-enabled<br />

environment encountered.<br />

To work with product/version environments and perform the initial environment<br />

population<br />

1 From the <strong>Implementer</strong> Menu, type option 51, Products, and press ENTER. The Work with<br />

Products panel displays.<br />

2 Select the product with option 10=Work with Versions, and press ENTER. The Work with<br />

Product Versions panel displays.<br />

3 Do one of the following to display the Product Version Environment Maintenance<br />

window:<br />

Type 1=Create on the first option line, and press ENTER.<br />

Select an existing version with option 2=Change, and press ENTER.<br />

Select an existing version with option 3=Copy, and press ENTER.


<strong>Implementer</strong> and <strong>MKS</strong> Source Integration<br />

4 Complete the fields as required. For detailed information on this panel, see the<br />

<strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> Release Management <strong>Guide</strong>.<br />

In the Based on environment field, type the environment name, or position the<br />

cursor in the field, and press F4=Select Environment and use option 1=Select to<br />

select an environment on the Environment Selection window.<br />

In the Always checkout from <strong>MKS</strong> Source field, specify Y to always check out source<br />

from <strong>MKS</strong> Source. With this option, native source member sequence numbers and<br />

source change dates are not maintained when a member is checked out.<br />

The default value N allows you to specify the source check out location as either<br />

<strong>MKS</strong> Source or as a local repository, which maintains native source member line<br />

sequence numbers and source change dates.<br />

The Archived by <strong>MKS</strong> Source field is view-only when the field value is N. This the<br />

required value to change the Based on environment field value as described in the next<br />

step. The value automatically changes to Y after successfully completing the<br />

environment population. Performing an environment population is the only way to set<br />

the field value to Y (you cannot manually change the value to Y). If the job no longer<br />

exists, for example, it was deleted from queue, you can change the value to N, and then<br />

rerun the environment population. If the job fails, you must first resolve the cause of the<br />

failure before rerunning the job.<br />

IMPORTANT Once the environment population successfully completes and the<br />

Archived by <strong>MKS</strong> Source field is set to Y, you can change the value back to N to stop<br />

archiving. This action displays a message to inform you that any development<br />

activity performed while environment archiving is not active causes interim gaps in<br />

the archived versions if you later reactivate archiving.<br />

5 To perform the environment population, press F6=Enable <strong>MKS</strong> Source Archiving.<br />

NOTE Function F6=Enable <strong>MKS</strong> Source Archiving is available only when: The<br />

integration is enabled in <strong>MKS</strong> Source Setup, the product is archived in <strong>MKS</strong> Source,<br />

the product/version is either *HEADREV or *VERSION, and the Archived by<br />

<strong>MKS</strong> Source value is N.<br />

If the product/version has the <strong>MKS</strong> Source Devpath value *VERSION, <strong>Implementer</strong><br />

verifies the development path exists in <strong>MKS</strong> Source. If it does not exist, a message<br />

confirms that you must create the development path in <strong>MKS</strong> Source before performing<br />

the environment population. For details, see “Product Version Setup and Development<br />

Paths” on page 283.<br />

Once all validations pass, a confirmation window displays.<br />

289


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

290<br />

6 Proceed as follows:<br />

a) Optionally specify an existing <strong>MKS</strong> Integrity issue or press F4 to prompt the Select<br />

Issue panel. <strong>Implementer</strong> applies this issue to the items checked in during the<br />

population process.<br />

b) Specify the job queue parameters as needed, and press ENTER. This creates the<br />

environment project in <strong>MKS</strong> Source and submits a job to populate the environment<br />

based on the values you specify.<br />

If you are performing this step to re-enable an environment project that was previously<br />

archived, a message confirms the action and explains that any interim development<br />

performed while archiving was off causes interim gaps in the <strong>MKS</strong> Source archives.<br />

Because of this, the first revision of an item checked in to <strong>MKS</strong> Source after re-enabling<br />

may have changes that occurred in multiple promotions when the environment was not<br />

enabled, appearing as though they all occurred during the last promotion.<br />

During the environment population, on the Work with Product Version Environments<br />

panel, the Archived by <strong>MKS</strong> Source field shows the interim value I to indicate the<br />

environment population is in process. If you attempt to change the field value from I to<br />

N while the process is active, an error message notifies you of the active job and advises<br />

you wait for the job to complete. You also cannot change the field value from I to<br />

If the job does not complete successfully, for example, due to communication problems<br />

between <strong>Implementer</strong> and <strong>MKS</strong> Source, a message informs you of the problem and the<br />

job fails. After resolving the problem, on the Product Version Environment Maintenance


<strong>Implementer</strong> and <strong>MKS</strong> Source Integration<br />

panel set the Archived by <strong>MKS</strong> Source field value to N, and resubmit the environment<br />

population by pressing F6 (for details, see step 5 on page 289).<br />

NOTE To assist with error resolution, the submitted job information displays in the<br />

second level text of messages related to the environment population.<br />

Product/Version/Release Setup and Checkpointing in <strong>MKS</strong> Source<br />

Just as you can check in a source file to preserve its changes from one revision to another, you<br />

can also track changes to the configuration of a project and source changes related to a<br />

product release. In <strong>MKS</strong> Source, this is called checkpointing.<br />

Checkpointing saves a copy of the project as a baseline revision in the project’s history. The<br />

checkpoint includes the list of members along with their revision numbers and locations, as<br />

well as subproject revisions and locations, and project and member attributes.<br />

You can use the project’s revision number to keep track of your projects, but to simplify postrelease<br />

maintenance, you can also use a release name label to identify significant project<br />

development milestones when you checkpoint a project.<br />

When you checkpoint a project, <strong>MKS</strong> Source checkpoints the product and environment<br />

subprojects. Using checkpointed projects, <strong>MKS</strong> Source also allows you to view a summary of<br />

the changes that occurred between two versions of a project.<br />

Requirements and Considerations<br />

Release names correspond to the release checkpoint name in <strong>MKS</strong> Source. For this<br />

reason, the release names you use must be representable on the file system of the<br />

operating system hosting the server for <strong>MKS</strong> Source. The release name must start with a<br />

letter A–Z and continue with a contiguous sequence of letters A–Z, numbers 0–9, or<br />

underscores ‘_’.<br />

You must close and checkpoint the current release before you can open a new release in<br />

the same product/version.<br />

Checkpointing a release is a one-time action. Once you checkpoint a release, you cannot<br />

checkpoint it again. You can confirm the checkpoint status on the Product Version<br />

Release Maintenance panel.<br />

The release must be in a closed state. You can confirm the release state on the Product<br />

Version Release Maintenance panel. In the Date closed field, a valid date confirms the<br />

release is closed. If you attempt to checkpoint an open release, a message confirms you<br />

must close the release before checkpointing is allowed.<br />

NOTE To close a release, from the Work with Releases for a Product/Version panel,<br />

select the release with option 12=Change Status, and press ENTER. Select the<br />

appropriate close status with option 1=Select, and press ENTER.<br />

291


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

292<br />

To work with product/version/releases and checkpoint a release<br />

1 From the <strong>Implementer</strong> Menu, type option 51, Products, and press ENTER. The Work with<br />

Products panel displays.<br />

2 Select the product with option 10=Work with Versions, and press ENTER. The Work with<br />

Product Versions panel displays.<br />

3 Select the version with option 10=Work with Releases, and press ENTER. The Work with<br />

Releases for a Product/Version panel displays.<br />

4 Do one of the following to display the Product Version Release Maintenance window:<br />

Type 1=Create on the first option line, and press ENTER.<br />

Select an existing release with option 2=Change, and press ENTER.<br />

Select an existing release with option 3=Copy, and press ENTER.<br />

5 Press F6=Checkpoint in <strong>MKS</strong> Source. The function key displays only when the product<br />

version is archived in <strong>MKS</strong> Source and the release is closed. A confirmation window<br />

displays.<br />

6 In the Reply field type Y to confirm your request to checkpoint the specified product/<br />

version/release.


Preparing for the Next Release<br />

<strong>Implementer</strong> and <strong>MKS</strong> Source Integration<br />

As the development cycle progresses and work on the current release comes to completion,<br />

minimal administration is required to prepare for creating a new release. The basic tasks<br />

consist of closing the current version/release and opening the new version/release.<br />

NOTE The ongoing administration tasks are functions you perform in <strong>Implementer</strong>.<br />

<strong>MKS</strong> Source does not require ongoing administration.<br />

To prepare for a new release<br />

1 Close the current release of the product/version.<br />

a) In the Work with Releases for a Product/Version panel, select the current release<br />

with option 12=Change status, and press ENTER. In the Change Release Status<br />

window, select the appropriate closed status with option 1=Select, and press<br />

ENTER.<br />

b) In the Product Version Release Maintenance panel, checkpoint the release by<br />

pressing F6=Checkpoint in <strong>MKS</strong> Source.<br />

2 Create and open a new release of the product/version.<br />

3 Begin development on the new release.<br />

You can perform patch and PTF release activity with environments in previous versions<br />

of the product now set to development path *VERSION. These changes are tracked on<br />

branch revisions with suffixes after the departure point, for example, 1.4.1.2 for a<br />

change to an item that was at revision 1.4, while the trunk revision, for example, 1.5, is<br />

assigned the next revision of the item promoted into the *HEADREV version.<br />

Preparing for the Next Version<br />

NOTE You must perform these steps for each new release.<br />

As the development cycle progresses and work on the current version comes to completion,<br />

minimal administration is required to prepare for creating a new version. The basic tasks<br />

consist of closing the current version/release and opening the new version/release.<br />

NOTE The ongoing administration tasks are functions you perform in <strong>Implementer</strong>.<br />

<strong>MKS</strong> Source does not require ongoing administration.<br />

293


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

294<br />

To prepare for a new version<br />

1 From the Product Version Maintenance panel, set the current *HEADREV version of the<br />

product to *VERSION to designate it as a previous version, and press F6=Create<br />

Development Path in <strong>MKS</strong> Source.<br />

This forces any further development onto the *VERSION development path, and assigns<br />

suffixed *VERSION branch revisions to items subsequently promoted, rather than<br />

*HEADREV trunk revisions that are assigned to items promoted in the new *HEADREV<br />

version you create in step 5.<br />

IMPORTANT When you create a new version, you must enable the version’s<br />

environments for <strong>MKS</strong> Source archiving before development starts on the new<br />

version. This ensures that all new development performed for the new version is<br />

reflected in the source archives. It also ensures the revision numbers in the previous<br />

version correctly initialize into the new version (using the “based-on” references<br />

when you define the new version/environments).<br />

2 Duplicate the existing environment libraries for the new version. Use new library names<br />

to differentiate between the versions.<br />

3 Create environments for the new version. For details, see “Environments” on page 81.<br />

4 Run the Build List for the new environments. For details, see “Environment Repository<br />

Build” on page 117.<br />

5 Create a new version of the product in Work with Product Versions and set the<br />

development path value to *HEADREV.<br />

6 In Work with Product Version Environments, add environments to the version. For the<br />

based on environment, specify the corresponding environment from the previous<br />

release.<br />

7 Create the environment project. In Product Version Environment Maintenance, press<br />

F6=Enable <strong>MKS</strong> Source Archiving. This creates the environment subproject in<br />

<strong>MKS</strong> Source under the base environment project, and performs the initial import<br />

(synchronization) of the environment source. For details, see “Product/Version<br />

Environments Setup and Environment Population” on page 286.<br />

8 Create and open a new release of the product/release.<br />

NOTE You must perform steps 1–9 for each new version/release.<br />

9 Begin development on the new release.<br />

You can also perform patch and PTF release activity with environments in previous<br />

versions of the product now set to development path *VERSION. These changes are<br />

tracked on branch revisions with suffixes after the departure point, for example,


<strong>MKS</strong> Integrity Integrations Task Checklists<br />

1.4.1.2 for a change to an item that was at revision 1.4, while the trunk revision, for<br />

example, 1.5, is assigned the next revision of the item promoted into the *HEADREV<br />

version.<br />

<strong>MKS</strong> Integrity Integrations Task Checklists<br />

The following task checklists apply to the steps required to set up the integrations between<br />

<strong>Implementer</strong> and <strong>MKS</strong> Integrity, and <strong>Implementer</strong> and <strong>MKS</strong> Source. The checklists are<br />

helpful aids to use when setting up the integrations, and if you encounter problems with the<br />

integrations. <strong>MKS</strong> recommends you verify the completion of each required task prior to<br />

calling Customer Care.<br />

Step<br />

Number<br />

NOTE The setup tasks in <strong>MKS</strong> Integrity and <strong>MKS</strong> Source require the assistance of<br />

your <strong>MKS</strong> Integrity administrator. Likewise, the setup tasks in <strong>Implementer</strong> require<br />

the assistance of your <strong>Implementer</strong> administrator. <strong>MKS</strong> recommends you<br />

coordinate the configuration of this integration with the applicable administrators in<br />

your organization to ensure a successful and smooth process.<br />

Task Description<br />

<strong>MKS</strong> Integrity Integration Setup: Task Checklist<br />

1 Configure <strong>MKS</strong> Integrity Server ACLs on page 205.<br />

2 Customize permissions for <strong>Implementer</strong> change package type on<br />

page 205.<br />

3 Modify the <strong>MKS</strong> Integrity Server communications file on page 206.<br />

4 Create states on page 210.<br />

5 Enable promotions from <strong>MKS</strong> Integrity (optional) on page 212.<br />

6 Define <strong>MKS</strong> Integrity values in <strong>Implementer</strong> on page 226.<br />

7 State setup in <strong>Implementer</strong> on page 232.<br />

8 User profile setup on page 235.<br />

9 Environment setup on page 237.<br />

10 (Optional) Enable updating issues based on promotion status on page 240.<br />

11 (Optional) Enable promotions from <strong>MKS</strong> Integrity on page 242.<br />

12 Convert from DesignTracker to <strong>MKS</strong> Integrity on page 243.<br />

Task<br />

Complete<br />

295


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

Export to <strong>Implementer</strong><br />

296<br />

Step<br />

Number<br />

Task Description<br />

<strong>MKS</strong> Source Integration Setup: Task Checklist<br />

1 Modify the <strong>MKS</strong> Integrity Server configuration file on page 206.<br />

2 Define <strong>Implementer</strong> state-based capabilities if using <strong>MKS</strong> Integrity with<br />

<strong>MKS</strong> Source and <strong>Implementer</strong> on page 208.<br />

3 Create base projects in <strong>MKS</strong> Source on page 263.<br />

4 Create the integration user on page 264.<br />

5 Create the <strong>Implementer</strong> Developer group on page 264.<br />

6 Set <strong>MKS</strong> Source policies on page 265.<br />

7 Create and set an <strong>MKS</strong> Integrity ACL and permission on page 267.<br />

8 Create and set <strong>MKS</strong> Source ACLs and permissions on page 268.<br />

9 Define <strong>MKS</strong> Source values in <strong>Implementer</strong> on page 275.<br />

10 Define or modify object codes for archiving in <strong>MKS</strong> Source on page 278.<br />

11 Product setup and source archiving on page 280.<br />

12 Product version setup and development paths on page 283.<br />

13 Product/version environment setup and environment population on<br />

page 286.<br />

14 Product/version/release setup and checkpoint in <strong>MKS</strong> Source on page 291.<br />

Check<br />

Complete<br />

The <strong>Implementer</strong> and <strong>MKS</strong> Source integration provides Export to <strong>Implementer</strong>, a Java<br />

application that runs on Windows. The export function allows you to check out and<br />

optionally deploy PC-based software changes, initiated by an <strong>MKS</strong> Integrity issue and<br />

modified under <strong>MKS</strong> Source control, to an IFS location under <strong>Implementer</strong> change<br />

management control on the iSeries.<br />

The export runs using DTBridge, a client application delivered with <strong>Implementer</strong>. When<br />

activated, the export retrieves a list of <strong>MKS</strong> Integrity issues for a single or group of issues<br />

based upon the entry of either an issue number or a build number. The bi-directional updates<br />

occur automatically and include the creation of an <strong>Implementer</strong> change package for each<br />

selected issue. The status of the change packages reflect the current development progress<br />

within <strong>Implementer</strong>.


Requirements<br />

The following is required to use this feature:<br />

Export to <strong>Implementer</strong><br />

Complete the setup tasks described in “<strong>Implementer</strong> and <strong>MKS</strong> Integrity Integration” on<br />

page 196.<br />

Download, install, and configure DTBridge. DT Bridge requires:<br />

TCP/IP connection to the iSeries system where <strong>Implementer</strong> is installed.<br />

<strong>Implementer</strong> <strong>2006</strong> or later.<br />

Windows 2000 Professional or later.<br />

For product and component compatibility, the DTBridge version must match the<br />

<strong>MKS</strong> Integrity version requirements as described in the following table.<br />

DTBridge is delivered with <strong>Implementer</strong>; however, the DTBridge version does not need<br />

to match the <strong>Implementer</strong> version. If DTBridge is currently installed, you can verify the<br />

current version by starting the DTBridge Console, and from the DTBridge toolbar click<br />

Help > About.<br />

Installing DTBridge<br />

The tasks involved with downloading and installing DTBridge are as follows:<br />

Verify the TCP/IP connection.<br />

<strong>MKS</strong> Integrity Version DTBridge Release<br />

<strong>2006</strong> <strong>2006</strong><br />

2005 2005<br />

Download and install the self-extracting installation program dtbridge.exe.<br />

DTBridge requires an active TCP/IP connection to the iSeries where <strong>Implementer</strong> is installed.<br />

If you cannot communicate with the iSeries server successfully, DTBridge will not properly<br />

connect to process the database changes.<br />

PING is an MS-DOS program that allows you to verify that a particular Internet Protocol (IP)<br />

address exists and can accept requests. PING is used diagnostically to verify that a host<br />

computer you are trying to reach has communications enabled and operational. To verify<br />

your TCP/IP connection, you can either ping the system or ping the iSeries servers (requires<br />

ClientAccess installed on the local PC), as described next. If ping is unsuccessful, contact your<br />

system administrator.<br />

To ping the system to verify the TCP/IP connection<br />

1 At a command prompt, type CD.., and press ENTER to return to the root directory C:/.<br />

297


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

298<br />

2 Type PING (system name), and press ENTER.<br />

A message confirms that either ping was successful, or a time out occurred and the<br />

system was not located.<br />

To ping the iSeries servers<br />

1 At a command prompt, type CD.., and press ENTER to return to the root directory C:/.<br />

2 Type CWBPING (system name), and press ENTER.<br />

After polling the iSeries servers, a message confirms the status—either ping of the server<br />

was successful, or a time-out occurred and the server was not located.<br />

Use either of the following methods to download DTBridge from the iSeries and install onto<br />

your desktop.<br />

Map Network Drive allows you to copy data by sector. Depending on the speed of your<br />

PC, this method may take longer than File Transfer Protocol (FTP).<br />

FTP allows you to perform a bulk data transfer. This method is generally quicker than<br />

mapping a drive, but involves more steps.<br />

To download and install DTBridge using a mapped network drive<br />

1 Open Windows Explorer, and click Tools > Map Network Drive. The Map Network Drive<br />

dialog box displays prompting for a Drive and Path name.<br />

2 Select the drive name to use or accept the default value.<br />

3 For Path, type //Your_System_Name/mks/<strong>Implementer</strong>/<strong>MKS</strong>IM<br />

NOTE The default, product library name is <strong>MKS</strong>IM. If you changed the product<br />

library to another name, substitute the changed name for <strong>MKS</strong>IM.<br />

4 Make sure the Reconnect at Logon box is not enabled, and click OK. You may be<br />

prompted for a user ID and password to connect to the system.<br />

5 From Windows Explorer, select and expand the drive you just mapped.<br />

6 Double click dtbridge.exe and follow the installation wizard. The default installation<br />

directory is:<br />

C:/Program Files/<strong>MKS</strong>/<strong>Implementer</strong>/DTBridge<br />

You can change the destination directory during the install if required.<br />

To download and install DTBridge using FTP<br />

1 At a command prompt, type FTP, and press ENTER. The ftp> prompt displays.<br />

2 Type OPEN your_system_name, and press ENTER. A message confirms the connection is<br />

in progress, and a prompt displays requesting a user ID.


Export to <strong>Implementer</strong><br />

3 Specify a valid user ID for the system you opened in step 2, and press ENTER. A prompt<br />

displays requesting the password for the specified user ID.<br />

4 Type the password, and press ENTER.<br />

5 Type bin, and press ENTER. A message confirms the representation type is binary image.<br />

6 Type quote site namefmt 1, and press ENTER. A message confirms that naming<br />

format 1 is enabled.<br />

7 Type cd /mks/<strong>Implementer</strong>/<strong>MKS</strong>IM, and press ENTER. A message confirms the current<br />

directory changed, for example, /mks/<strong>Implementer</strong>/<strong>MKS</strong>IM.<br />

NOTE The default, product library name is <strong>MKS</strong>IM. If you changed the product<br />

library to another name, substitute the changed name for <strong>MKS</strong>IM.<br />

8 Type lcd C:/temp, and press ENTER. A message confirms the local directory is C:/<br />

temp. (You may need to create this directory if it does not exist.)<br />

9 Type get dtbridge.exe, and press ENTER. The self-extracting installation executable<br />

transfers into directory C:/temp on your PC.<br />

10 Type quit, and press ENTER. The C:/ prompt displays.<br />

11 Type cd C:/temp, and press ENTER.<br />

12 Type dtbridge.exe, and press ENTER. The default installation directory is:<br />

C:/Program Files/<strong>MKS</strong>/<strong>Implementer</strong>/DTBridge<br />

You can change the destination directory during the installation if required.<br />

13 Follow the installation wizard to complete the installation.<br />

Configuring DTBridge Components and Properties<br />

This section explains how to configure the DTBridge components required for the<br />

<strong>Implementer</strong> and <strong>MKS</strong> Source integration described in this chapter, as well as the help desk<br />

integration described in “Help Desk Integration” on page 324. The setup involves:<br />

granting authority to an <strong>Implementer</strong> file<br />

defining DTBridge properties file<br />

The DTBridge properties file contains the application control parameters for several<br />

integrations. Based on the integration you are configuring, the applicable properties must be<br />

defined prior to using DTBridge.<br />

The export feature described in this chapter uses the DTSystemName, DTUser, and<br />

DTPassword properties to connect to the iSeries and perform the required processing on the<br />

iSeries system specified in the DTSystemName property. The CIBuildNumberField is used<br />

299


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

300<br />

to identify the name of the custom field you created in <strong>MKS</strong> Integrity that will contain the<br />

build number (the field used to find all related issues for the export process). This is a<br />

required property if you are using <strong>MKS</strong> Integrity with the Export to <strong>Implementer</strong> feature.<br />

NOTE<br />

The IUPDCI command feature requires additional configuration. For details, see<br />

“Updating Issues Based on Promotion Status” on page 240.<br />

The DT Call Association Properties are used for the features described in “Help<br />

Desk Integration” on page 324.<br />

Some DesignTracker properties relate to obsolete functionality that is in the<br />

process of deprecation. Thus, the only DesignTracker properties you need to<br />

configure are those described in this guide.<br />

To authorize the user profile to the <strong>Implementer</strong> file<br />

Issue the following OS/400 command:<br />

GRTOBJAUT OBJ(<strong>MKS</strong>IM/IMCICT)<br />

OBJTYPE(*FILE)<br />

USER(DTUSER)<br />

AUT(*CHANGE)<br />

To start DTBridge Console and configure the DTBridge properties file<br />

1 Click Start > Programs > <strong>MKS</strong> <strong>Implementer</strong> > DTBridge Console. The DTBridge Console<br />

window displays. Notice the Status bar indicates DTBridge is currently not active.<br />

2 Click File > Setup from the menu. The Edit DTBridge Setup properties file displays.<br />

Instructions and example properties are included within the file. The properties file is<br />

organized by functional area. The beginning of each section lists the properties with a<br />

brief description and an example. At the end of each section, the property displays again<br />

as property name=x.<br />

When defining the property value, type the value as follows:<br />

property name=property value<br />

3 Use the following tables to define the properties respective to the functionality you are<br />

setting up.<br />

4 When you are finished, click File > Save Setup.<br />

IMPORTANT The following tables define the applicable properties in the DTBridge<br />

file. When defining the OS/400 values, you must use upper case syntax.


General Properties Description<br />

Logging level to use<br />

when application is run<br />

DTBridge General Properties<br />

Export to <strong>Implementer</strong><br />

0 = Basic logging only. Messages include the DR number and <strong>MKS</strong> Integrity<br />

issue number relationship, and verification that the DR was created.<br />

1 = Detailed Logging. Messages include the DR number, related text and<br />

description information, and the DR and <strong>MKS</strong> Integrity issue number relationship.<br />

This information is useful for diagnostic and support purposes.<br />

Log JDBC 0 = No. No logging. This is the default value.<br />

1 = Yes. Generates a detailed log of all JDBC connection messages. (JDBC is the<br />

Java form of ODBC, and is the communication method between DTBridge and<br />

multi-platform databases.) This information is useful for diagnostic and support<br />

purposes, for example, if you have a problem connecting to DTBridge.<br />

Issue Source Product to derive issues from. Specify CI if you are using <strong>MKS</strong> Integrity.<br />

DesignTracker Properties Description<br />

DesignTracker Properties<br />

DTSystemName Name of the iSeries system where DesignTracker is installed.<br />

DTLibrary Name of the DesignTracker installed library. The default product library is <strong>MKS</strong>IM.<br />

DTUser Name of the DesignTracker user that has authority to the library defined in the<br />

DTLibrary property.<br />

DTPassword Password associated with the DTUser property.<br />

<strong>MKS</strong> Integrity Properties Description<br />

<strong>MKS</strong> Integrity Properties<br />

CIServerName Full name of the server that is running the Integrity Server to connect with. A<br />

value is required.<br />

CIPort Port number to use to communicate with the Integrity Server defined in the<br />

CIServerName property. The default is 9001. A value is required.<br />

CIUserName Name of the user to connect to the Integrity Server. A value is required.<br />

CIUserPassword Password associated with the CIUserName property. A value is required.<br />

CIBuildNumberField Name of a custom <strong>MKS</strong> Integrity field to contain the Build Number. A value is<br />

required if using the Export to <strong>Implementer</strong> feature. Create the custom field as a<br />

Short Text field with a maximum length of 30.<br />

301


Chapter 5: <strong>MKS</strong> Integrity Integration<br />

<strong>MKS</strong> Source/<strong>MKS</strong> Integrity<br />

Integration Properties<br />

Troubleshooting<br />

302<br />

<strong>MKS</strong> Source/<strong>MKS</strong> Integrity Integration Properties<br />

Description<br />

DefaultIMEnvironment Default <strong>Implementer</strong> *TST environment on the iSeries to check out to in the<br />

Export to <strong>Implementer</strong> function. This is an optional property.<br />

DefaultProject Default <strong>Implementer</strong> project to use in the Export to <strong>Implementer</strong> function.<br />

DefaultStagingLocation Default IFS location on the iSeries where to pull objects from.<br />

For each slash in the actual name, define the property with two slashes (//).<br />

For example, if the default IFS location is /home/mydirectory, specify<br />

//home//mydirectory. This is an optional property.<br />

The following information can help you resolve common problems with <strong>Implementer</strong> Server.<br />

Symptom Possible Cause Resolution<br />

Using ICTLSVR<br />

*START, F7=Test in<br />

<strong>MKS</strong> Integrity Setup<br />

panel, or F7=Test in<br />

<strong>MKS</strong> Source Setup<br />

panel results in error<br />

VIM8598 “Unable<br />

to communicate<br />

with the <strong>MKS</strong><br />

Integrity<br />

Server”.<br />

#1: IP address for system running <strong>Implementer</strong><br />

Server is not in <strong>MKS</strong> Integrity config file<br />

IntegrityClientSite.rc.<br />

Also see <strong>MKS</strong> Integrity weblogic.log for error<br />

message with missing IP, for example:<br />

Thu Feb 9 14:32:25 CDT <strong>2006</strong>:<br />

<br />

* * * * ERROR * * * * (0):<br />

ICAllowSpecificConnectionPolicy failed<br />

the connection. Connection: 10.17.4.6:<br />

is not on the list of acceptable<br />

machines.<br />

#2: Network may not be configured to communicate<br />

between the system running <strong>Implementer</strong> server<br />

and system running <strong>MKS</strong> Integrity.<br />

From system running <strong>Implementer</strong> Server, ping<br />

system where <strong>MKS</strong> Integrity Server is located (see<br />

<strong>MKS</strong> Integrity Setup panel, Server port field).<br />

<strong>Implementer</strong> Server running on iSeries, from<br />

command line issue<br />

ping <br />

(IP address must be in single quotes .<br />

<strong>Implementer</strong> server running on a PC, from<br />

command prompt run ping .<br />

In the IntegrityClientSite.rc<br />

file, specify the IP addresses for the<br />

system running <strong>Implementer</strong> Server<br />

and the localhost (127.0.0.1) in<br />

daemon.validConnectionList=<br />

For details, see “Modifying the<br />

<strong>MKS</strong> Integrity Server Configuration<br />

File” on page 206.<br />

Verify and correct network<br />

configuration.<br />

Specify correct system running<br />

<strong>MKS</strong> Integrity Server in Server port<br />

field on <strong>Implementer</strong>’s <strong>MKS</strong> Integrity<br />

Setup panel and/or <strong>MKS</strong> Source<br />

Setup panel. For details, see<br />

“Defining <strong>MKS</strong> Integrity Values in<br />

<strong>Implementer</strong>” on page 226, and<br />

“Defining <strong>MKS</strong> Source Values in<br />

<strong>Implementer</strong>” on page 275.


C HAPTER SIX<br />

Third Party Integrations<br />

Configuring <strong>Implementer</strong> for Integrated Development Environments<br />

6<br />

<strong>MKS</strong> is committed to the continuous development and growth of <strong>Implementer</strong>’s integrations with<br />

third party software tools and applications.<br />

This chapter covers the following topics:<br />

“ABSTRACT Integration” on page 304<br />

“AllFusion 2E Change Management Integration” on page 304<br />

“American Software Integration” on page 313<br />

“AOS Message Manager Integration” on page 315<br />

“AS/SET Integration” on page 316<br />

“BPCS Integration” on page 320<br />

“BRMS/400 Integration” on page 322<br />

“Code/400 Integration” on page 323<br />

“Help Desk Integration” on page 324<br />

“LANSA Integration” on page 328<br />

“Lawson Software Integration” on page 333<br />

“Lotus Domino Integration” on page 336<br />

“PathFinder Integration” on page 354<br />

“PeopleSoft World Integration” on page 355<br />

“Powerhouse (Cognos) Integration” on page 362<br />

“ROBOT Integration” on page 364<br />

“WebSphere Development Studio Client for iSeries Integration” on page 365<br />

303


Chapter 6: Third Party Integrations<br />

ABSTRACT Integration<br />

304<br />

<strong>Implementer</strong>’s integration with ABSTRACT does not require additional setup. For<br />

information on using the integration, see the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> User <strong>Guide</strong>.<br />

AllFusion 2E Change Management Integration<br />

The <strong>Implementer</strong> Adapter for AllFusion 2E Change Management (CM) is a separately<br />

licensed product that provides change control for AllFusion 2E developed applications and<br />

traditionally developed (3GL) applications. <strong>Implementer</strong> is compatible with AllFusion 2E<br />

release 8.1 and earlier. The integration requires a specific license key to activate.<br />

The procedures required for setting up the integration, including:<br />

considerations for libraries and commands<br />

understanding basic concepts<br />

considerations for EXCUSRPGM and EXCUSRSRC<br />

support for SQL<br />

Considerations for Libraries and Commands<br />

Basic Concepts<br />

While following the setup steps described in this chapter, keep in mind the following product<br />

and library considerations. If you received the <strong>Implementer</strong> product from Computer<br />

Associates and it is enabled for AllFusion 2E change management:<br />

The host library default name is Y2SYCM (not <strong>MKS</strong>IM).<br />

The remote library default name is Y2SYCR (not <strong>MKS</strong>IR).<br />

Use the STRCM command in place of the Start <strong>Implementer</strong> (STRIM) command.<br />

Use the STRCR command in place of the Start <strong>Implementer</strong> Receiver (STRIR) command.<br />

You must know a few basic concepts to understand how change management occurs for<br />

AllFusion 2E developed applications. These concepts are described briefly next and<br />

expanded upon later.


Change Controlled Models<br />

AllFusion 2E Change Management Integration<br />

The process for enabling a model for change control differs for pre-existing models as<br />

opposed to newly created models. For newly created models, the process is as simple as<br />

creating the model with the Create Model Library (YCRTMDLLIB) command, specifying the<br />

<strong>Implementer</strong> product library (<strong>MKS</strong>IM or Y2SYCM) in the change control parameter<br />

(CHGCTL). For established AllFusion 2E models, you have to initialize the version type of all<br />

of the model objects.<br />

To accomplish this, various tools are available for analysis and modification, such as the Start<br />

Change Control (YSTRCHGCTL) and Associate Production Model (YASCPRDMDL)<br />

commands. You must also define the model to <strong>Implementer</strong> as an AllFusion 2E environment.<br />

Type a model library name on the AllFusion 2E options panel, accessible using option 10<br />

from the Work with Environments panel.<br />

The following examples help to clarify these concepts.<br />

Example 1<br />

You have existing development and production models and you want to implement change<br />

control.<br />

1 Start Change Control (YSTRCHGCTL) command<br />

If your production model is closely synchronized to the changes in development, you<br />

can achieve implementation most easily by using the YSTRCHGCTL command. You<br />

need to specify the set version type (SETVSNTYP) parameter (the possible values are<br />

available in the command help text). The most sophisticated value for this parameter is<br />

*ASSOC, which invokes the Associate Production Model (YASCPRDMDL) command<br />

described next.<br />

2 Associate Production Model (YASCPRDMDL) command<br />

The YASCPRDMDL command compares objects between two models. It matches objects<br />

by Owner name/Object type/Copy name in the development (source) model with the<br />

Owner name/Object type/Object name in the target model. If a match is found, the<br />

object in the development model is set as a production version.<br />

The production model provided to the YASCPRDMDL command should ideally be the<br />

related production environment you define in the CM environment setup. If you do not<br />

have a production model, you can use a QA model instead.<br />

For this approach to be effective, you must achieve development cutoff of all changes,<br />

both functional and database. If functional cutoff is not an option, database cutoff is a<br />

minimum requirement to obtain a predictable result.<br />

You should note how objects are identified between the two models. For non versionable<br />

objects, matching is straightforward because of the one-to-one relationship. For<br />

versionable objects such as the functions, a more arbitrary pairing method could cause<br />

some unexpected results. The program reads the development model objects in Owner/<br />

305


Chapter 6: Third Party Integrations<br />

306<br />

Type/Name order. If a match is found in the target model, the program tries to make the<br />

object PRD (if it is not already). If any other version in the group is PRD, the attempt<br />

fails, the information is written to a report, and processing continues. The result is the<br />

first version in a group, alphabetically, set to PRD.<br />

If the wrong version is flagged as the production version, you have to make manual<br />

changes. Use the Associate Production Model Report to identify which objects to correct.<br />

For each object, change the version that was set by the YASCPRDMDL command to<br />

DEV, and set the version to production. The Work with Versions (YWRKVSN) and<br />

Change Model Object (YCHGMDLOBJ) commands can be useful for this.<br />

Example 2<br />

You have a development model and traditional production library, and you want to<br />

implement change control and establish a production model.<br />

1 If the production library in your existing system was generated from your development<br />

model, you have two options. You can define a separate environment for the existing<br />

3GL production library, or you can create a new model library and define its generation<br />

library as the existing 3GL production library. Either solution works, but the first<br />

solution has overhead of both extra promotion steps and extra disk space requirements.<br />

2 For either situation, you must identify the objects in development that constitute the<br />

objects in production. If you already have <strong>Implementer</strong> as your change control system,<br />

this is not necessary since the production version types are already set.<br />

To identify the production objects in your existing development model, either:<br />

Use the Start Change Control (YSTRCHGCTL) command, particularly if your<br />

existing promotion system places permanent locks on those objects promoted to<br />

production (set the version type to *BYLOCK).<br />

Alternately, follow these steps if the production flags have not been established:<br />

Issue the YBLDMDLLST command to create a model list of all the non<br />

versionable objects in the model, in other words, exclude functions and<br />

messages. Do not include <strong>Implementer</strong>-supplied objects.<br />

Issue the Execute Model Object List (YEXCMDLLST) command to call change<br />

model object (YCHGMDLOBJ) for each list entry, and change the version type<br />

of the objects to production (*PRD).<br />

Create a model list of all functions and messages, excluding those supplied by<br />

AllFusion 2E (versionable objects). For each object, include only the version in<br />

production. Do not include more than one version for a group, as it causes an<br />

error in the next step.<br />

Generate the YEXCMDLLST command as before for the non versionable<br />

objects. An error occurs if you attempt to set more than one version in a group<br />

to production.


AllFusion 2E Change Management Integration<br />

3 Establish that all objects flagged as production are the current versions for their groups.<br />

To create a list of all objects in the model, issue the following command:<br />

YBLDMDLLST MDLLST(PRDLST)<br />

CUROBJ(*NO)<br />

To remove all objects that are current or have a development version type, issue the<br />

following command:<br />

YFLTMDLLST MDLLST(PRDLST)<br />

OUTLST(PRDLST)<br />

CUROBJ(*NO)<br />

VSNTYP(*PRD)<br />

OUTFLAGVAL(*SELECTED)<br />

To return all of the objects on the list to a current status, issue the following<br />

command:<br />

YEXCMDLLST MDLLST(PRDLST)<br />

RQSDTA('YRDRMDLOBJ<br />

FRMOBJNAM(*CURRENT)<br />

TOOBJSGT(&Y@)<br />

TOOBJSGT(&Y@)<br />

TFRNAM(*NO)')<br />

FLAGVAL(*SELECTED)<br />

4 With the production objects in your development model correctly established, you are<br />

ready for the final step⎯creation of the production model objects.<br />

a) To populate the production model, issue the Copy Model Object (YCPYMDLOBJ)<br />

command. If you ran YSTRCHGCTL as instructed in step 2, or if <strong>Implementer</strong> is<br />

active for the development or production model, disable it by setting the YCHGCTL<br />

model value to *NONE.<br />

b) Build a model list of all production objects in the development model, and, using<br />

the Copy Model Object (YCPYMDLOBJ) command, copy that list to the new<br />

production model.<br />

c) Re-establish <strong>Implementer</strong> by setting the YCHGCTL model value to the name of<br />

your <strong>Implementer</strong> product library specified in the development and production<br />

models.<br />

Versioning 2E Messages<br />

AllFusion 2E message versions are typically always recreated except when translating<br />

terminology to another language. However, <strong>Implementer</strong> allows you to control whether to<br />

create a new message version when checking out 2E messages. In Work with Environments,<br />

select the 2E environment with option 10=AllFusion 2E. On the Change Environment panel,<br />

in the Crt new version of MSG objects field, the default value Y automatically creates a new<br />

message version. Change the value to N to retain the original version of 2E messages.<br />

307


Chapter 6: Third Party Integrations<br />

Support for EXCUSRSRC and EXCUSRPGM<br />

308<br />

By default, <strong>Implementer</strong> allows you to promote the AllFusion 2E EXCUSRSRC and<br />

EXCUSRPGM functions separately from their associated implementation 3GL source and<br />

objects. This is called “Independent EXCUSRSRC and EXCUSRPGM”.<br />

You can also automatically promote the 3GL source and objects associated with EXCUSRSRC<br />

and EXCUSRPGM functions when these functions are promoted. When enabled, the<br />

implementation objects for EXCUSRSRC and EXCUSRPGM function types are derived and<br />

included on the promotion request. With this feature, the implementation source and/or<br />

objects may not be checked out or promoted separately from this model object. This is called<br />

“Dependant EXCUSRSRC and EXCUSRPGM”.<br />

This feature is controlled by the User source and user program promotion method field in<br />

Work with Environments. When upgrading AllFusion 2E CM, the existing default method of<br />

independent EXCUSRSRC and EXCUSRPGM is retained. Enabling this feature provides<br />

capabilities that were available prior to AllFusion 2E CM release 6.0.<br />

Considerations for EXCUSRSRC and EXCUSRPGM<br />

When promoting EXCUSRSRC and EXCUSRPGM, even though the Remove source field is<br />

set to Y, the source for the user programs is not removed.<br />

Storing Source and Object Outside the Generation Library<br />

There are three common ways to store EXCUSRPGM source and objects outside the test<br />

model generation library. The following paragraphs briefly describe the scenarios and<br />

implementation steps. Each scenario uses the XCB target HLL object attribute in AllFusion 2E<br />

(see note) to create a new, corresponding object code in <strong>Implementer</strong>. The examples assume<br />

the EXCUSRPGMs are type CLP. If they are other HLL types, copy the appropriate shipped<br />

object code instead of CLP.<br />

For each of the following scenarios, define the XCB object code. Copy the shipped CLP code<br />

to XCB, and change its source file value to YXCBLSRC.<br />

1 Source in an alternate source file in the generation library with object in the generation<br />

library.<br />

Create an XCB object code.<br />

2 Source in an alternate source file in the generation library with objects in a library other<br />

than the generation library.<br />

Create an XCB object code.<br />

On the Environment Object Code Override panel, change the object library to the<br />

library you want to store the EXCUSRPGM object in.


Support for SQL<br />

AllFusion 2E Change Management Integration<br />

3 Source in an alternate source file in a library other than the generation library.<br />

Create an XCB object code.<br />

On the Environment Object Code Override panel, change the object library value to<br />

the library you want to store the EXCUSRPGM object in. (Use the F8=Object code<br />

override on the Change Environment panel.)<br />

Change the Environment Object Code Override source location library to the library<br />

to store the EXCUSRPGM source in.<br />

Regardless of the scenario, perform the following steps in AllFusion 2E for each<br />

EXCUSRPGM or EXCUSRSRC.<br />

4 When editing the function in AllFusion 2E, change the language from CLP, RPG, or CBL<br />

to XCB.<br />

5 Display the AllFusion 2E Edit Generation Types panel, and change the name of the SCB<br />

source types source file to the source file name used on the XCB object code definition in<br />

<strong>Implementer</strong>.<br />

To define an environment for 3GL source and object processing associated with<br />

EXCUSRSRC and EXCUSRPGM functions<br />

1 From the <strong>Implementer</strong> Menu, type option 42, Environments, to display the Work with<br />

Environments panel.<br />

2 Select the AllFusion 2E environment with option 10=AllFusion 2E and press ENTER.<br />

3 In the User source and user program promotion method field, specify one of the<br />

following values:<br />

1=Dependent Automatically adds associated implementation source and<br />

objects to the promotion request.<br />

2=Independent Does not add the associated implementation source and<br />

objects. This is the default value.<br />

IMPORTANT If you change the environment to add dependent objects, do not have<br />

any 3GL source and objects checked out that are associated with a model object.<br />

<strong>Implementer</strong> supports the SQL-related generation options available in earlier releases of<br />

AllFusion 2E. This includes the creation of SQL tables, indices, and views, and the<br />

corresponding functions that create RPG SQL and COBOL programs.<br />

309


Chapter 6: Third Party Integrations<br />

310<br />

When creating a promotion request, <strong>Implementer</strong> recognizes these SQL types of generated<br />

objects and assigns the appropriate object code when determining the implementation<br />

objects to add to the promotion request.<br />

This feature capitalizes on the SQL-specific object codes delivered with <strong>Implementer</strong>. Verify<br />

your setup with the YSQLPF (tables), YSQLLF (indices and views), and SQL program types<br />

(RPGSQL and CBLSQL) as described in the following sections.<br />

Managing SQL Files, Indices, and Views<br />

<strong>Implementer</strong> provides the YSQLPF and YSQLLF objects codes to manage AllFusion 2E SQL<br />

files, indices, and views. In an AllFusion 2E model, these items have different model object<br />

attributes, but share the same:<br />

source member type (YSQL)<br />

source file (QSQLSRC)<br />

creation command (YEXCSQL)<br />

When generating YFIL model objects as SQL, <strong>Implementer</strong> uses the object code YSQLPF for<br />

the associated implementation object. When generating YACP model objects as SQL,<br />

<strong>Implementer</strong> uses the object code YSQLLF for the associated implementation object. Thus,<br />

verify the YSQLPF and YSQLLF object codes are defined as follows, and that they are active<br />

to each applicable AllFusion 2E environment.<br />

NOTE You must define the parameter sequences of the creation commands as<br />

shown to avoid extraneous messages in your job log.<br />

Field Required Value<br />

Object code/Description YSQLPF (AllFusion 2E SQL physical file)<br />

Activity flag 1<br />

Object type *FILE<br />

Object attribute PF<br />

Source member type YSQL<br />

Default source file QSQLSRC<br />

Object authority *KEEP<br />

Creation process C<br />

Creation command YEXCSQL MBR(#SRCMBR)<br />

OBJLIB(#FILLIB)<br />

SRCFILE(#SRCLIB/#SRCFIL)


Field Required Value<br />

Managing SQL Functions<br />

AllFusion 2E Change Management Integration<br />

Object code/Description YSQLLF (AllFusion 2E SQL indices/views)<br />

Activity flag 1<br />

Object type *FILE<br />

Object attribute LF<br />

Source member type YSQL<br />

Default source file QSQLSRC<br />

Object authority *KEEP<br />

Creation process C<br />

Creation command YEXCSQL MBR(#SRCMBR)<br />

OBJLIB(#FILLIB)<br />

SRCFILE(#SRCLIB/#SRCFIL)<br />

In an AllFusion 2E model, an SQL function created over an SQL file has an object attribute of<br />

RPG or CBL. Based on the type of function, it also has:<br />

source member type of SQLRPG or SQLCBL<br />

source file of QRPGSRC or QCBLSRC<br />

creation command of CRTSQLRPG or CRTSQLCBL<br />

For managing AllFusion 2E SQL functions, <strong>Implementer</strong> provides the RPGSQL and RPGCBL<br />

object codes. By using these SQL-specific object codes to check out SQL functions,<br />

<strong>Implementer</strong> assigns the appropriate program type object code to the lock.<br />

When you create a promotion request, <strong>Implementer</strong> adds the model objects to the request for<br />

each model object using a YFUN code, and adds the corresponding 3GL objects—including<br />

the programs—with an object code of RPGSQL or CBLSQL.<br />

Verify the RPGSQL and CBLSQL object codes are defined as follows, and that they are active<br />

to each applicable AllFusion 2E environment.<br />

Field Required Value<br />

Object code/Description RPGSQL (AllFusion 2E RPG SQL function)<br />

Activity flag 1<br />

Object type *PGM<br />

Object attribute RPG<br />

Source member type SQLRPG<br />

Default source file QRPGSRC<br />

311


Chapter 6: Third Party Integrations<br />

Object Code Setup for Parallel Installation<br />

312<br />

Field Required Value<br />

Object authority *KEEP<br />

Creation process C<br />

Creation command CRTSQLRPG PGM(#PGMLIB/#OBJECT)<br />

SRCFILE(#SRCLIB/#SRCFIL)<br />

COMMIT(*NONE)<br />

SRCMBR(#SRCMBR)<br />

Field Required Value<br />

Object code/Description CBLSQL (AllFusion 2E CBL SQL function)<br />

Activity flag 1<br />

Object type *PGM<br />

Object attribute CBL<br />

Source member type SQLCBL<br />

Default source file QSQLSRC<br />

Object authority *KEEP<br />

Creation process C<br />

Creation command CRTSQLCBL PGM(#PGMLIB/#OBJECT)<br />

SRCFILE(#SRCLIB/#SRCFIL)<br />

COMMIT(*NONE)<br />

SRCMBR(#SRCMBR)<br />

If you have upgraded from an <strong>Implementer</strong> release prior to release 5.0 and you performed a<br />

parallel installation as explained in the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> Installation <strong>Guide</strong>, before using<br />

the software you must add certain AllFusion 2E-specific object codes to <strong>Implementer</strong>.<br />

The following table defines the object codes to add.<br />

Object Code Description<br />

Creation<br />

Sequence<br />

YACP AllFusion 2E access path 9120 YACP<br />

YAPP AllFusion 2E application 9120 YAPP<br />

YARR AllFusion 2E array 9120 YARR<br />

YCND AllFusion 2E condition 9120 YCND<br />

YFIL AllFusion 2E file 9120 YFIL<br />

Special<br />

Characteristics


Object Code Description<br />

NOTE<br />

The creation sequences are suggested values you may change.<br />

Set the Object authority field to *KEEP, and the Creation process field to C.<br />

For details on adding or changing objects codes, see page 127.<br />

American Software Integration<br />

American Software Integration<br />

American Software, Incorporated (ASI) develops a portfolio of enterprise and supply chain<br />

software applications designed to automate planning and operational functions with leading<br />

e-business solutions, enterprise resource planning (ERP), supply chain management, flow<br />

manufacturing, warehouse management, and transportation operations. The following<br />

information explains how to use <strong>Implementer</strong> with the (ASI) application software.<br />

Object Code Requirements<br />

American Software uses a special command for compiling, which, among other things,<br />

merges both a base version of a source member, ASI PTFs, and customer changes into a<br />

temporary source member and then compiles the source member. The ASI change<br />

management process is automated using ASI-specific objects.<br />

To perform ASI compiles within <strong>Implementer</strong>, you need to create new object codes similar to<br />

the following standard object codes.<br />

CBL (Cobol Programs)<br />

CLP (Control Language Programs)<br />

DSPF (Display Files)<br />

PRTF (External Printer Files)<br />

LF (Logical Files)<br />

PF (Physical Files)<br />

Creation<br />

Sequence<br />

YFLD AllFusion 2E field 9120 YFLD<br />

YFUN AllFusion 2E function 9120 YFUN<br />

YMSG AllFusion 2E message 9120 YMSG<br />

Special<br />

Characteristics<br />

Object codes are maintained using <strong>Implementer</strong> Menu option 44, Object Codes. For details,<br />

see “Object Codes” on page 127.<br />

313


Chapter 6: Third Party Integrations<br />

314<br />

To perform an ASI Cobol compile with <strong>Implementer</strong>, create a new object code as shown next<br />

(illustrates an object code named CBLASI, but any naming convention can be used).<br />

Field Value<br />

Object Code/Description CBLASI (ASI COBOL Program)<br />

Object type PGM<br />

Object attribute CBL<br />

Source member type TXT<br />

Default source file UCBLSRC<br />

Special characteristics ASICBL<br />

Object authority *KEEP<br />

Creation process C<br />

Creation command ASIUTILIB/PUTCRTOBJ OBJ(#PGMLIB/#OBJECT)<br />

SRCMBR(#OBJECT)<br />

SRCFL(#SRCLIB/QCBLSRC)<br />

OBJTYPE(CBL)<br />

PRMSRCFL(QCBLSRC)<br />

Change the other object codes in the same way. The object code controls, among other things,<br />

how objects are compiled. Instead of calling the standard IBM Create Cobol Program<br />

(CRTCBLPGM) command, the CBLASI object code calls the ASI command that merges and<br />

compiles Cobol source code. You can deactivate the standard object codes (such as CBL and<br />

RPG) in each environment.<br />

You must make the following two changes prior to running the <strong>Implementer</strong> Build List. For<br />

details, see “Environment Repository Build” on page 117.<br />

1 In the environment’s object code overrides, change the source file to the actual “Q”<br />

libraries (QCBLSRC).<br />

2 Change the object codes to a source member type of the actual source file (CBL) instead<br />

of TXT.<br />

After the build completes, you can change the source file back to the “U” libraries<br />

(UCBLSRC), and change the object codes back to TXT.<br />

Library and Library List Requirements<br />

The PUTCRTOBJ command requires the three source files located within the same library. In<br />

other words, the library you are making changes in (in source file UCBLSRC members) must<br />

have a copy of the TCBLSRC source file and QCBLSRC source file in the same library as<br />

UCBLSRC.


Typically, these source files are:<br />

QCBLSRC (unmodified current release)<br />

TCBLSRC (PTFs to current release)<br />

UCBLSRC (customer changes to current release)<br />

AOS Message Manager Integration<br />

In addition, the environment library list must match the library list of the ASICOMPILE job<br />

description, with the libraries listed in the same order.<br />

Troubleshooting Problems<br />

The following information may be helpful with resolving typical problems related to<br />

message files.<br />

Problem Resolution<br />

Source mismatch Change the Source member type to TXT.<br />

Checked out QSRC instead of USRC The default source file must be USRCxxx.<br />

TSRC and USRC not copied Special characteristics not entered for object type.<br />

AOS Message Manager Integration<br />

AOS Message Manager interfaces with <strong>Implementer</strong> to allow you to monitor the status of<br />

promotion requests. The messages can be set up to automatically create an OS/400 message<br />

to one or more user profiles. In addition, you can send <strong>Implementer</strong> messages directly to a<br />

pager to notify someone not signed on to the iSeries that a situation requires attention.<br />

To set up the AOS Message Manager integration<br />

1 From the <strong>Implementer</strong> Menu, select option 45, System Control Maintenance. The System<br />

Control Maintenance panel displays.<br />

2 Press PAGE UP to display the second panel.<br />

3 In the Secondary message queue field, type the name of the AOS Message Manager<br />

message queue. This points AOS Message Manager to the message queue where all<br />

messages in <strong>Implementer</strong> are sent, and to the appropriate <strong>Implementer</strong> users.<br />

You can also page a user when specific messages are received. For more information, see<br />

the AOS Pager Manager Users <strong>Guide</strong>.<br />

315


Chapter 6: Third Party Integrations<br />

AS/SET Integration<br />

316<br />

The <strong>Implementer</strong> Adapter for AS/SET is a separately licensed product that manages AS/SET<br />

definitions and generated traditional objects independently.<br />

You can check out AS/SET definitions, make modifications, and promote to QA and<br />

production to complete the cycle. <strong>Implementer</strong> automatically handles locking the definitions<br />

and ensures proper check in by promoting in a controlled fashion. An audit trail is<br />

maintained of all activities to the definitions. <strong>Implementer</strong>’s inquiries and reports include the<br />

AS/SET definitions and generated objects you manage.<br />

There are specific commands to copy, delete, and verify existence of AS/SET definitions from<br />

within <strong>Implementer</strong>. These functions are used to manage definitions and as standalone<br />

commands.<br />

Setting Up the Integration<br />

The setup activities necessary to handle AS/SET applications are as follows:<br />

Install AS/SET on the system.<br />

Change the library list in the job description (MWIJOBD) to include the AS/SET product<br />

libraries.<br />

IMPORTANT You must include the AS/SET libraries in the job description to ensure<br />

the promotion of AS/SET definitions does not abnormally end.<br />

Include the AS/SET product libraries ASSETO, ASSETF, and ASSETGPL on your<br />

interactive library list to manage an AS/SET definition.<br />

In System Control Maintenance, set the AS/SET installed field to Y.<br />

Set up standard environments to manage AS/SET applications.<br />

Set the Compile required field to N if you use this environment only for AS/SET<br />

definitions.<br />

Enable the “Remove member in from library/environment” feature in Work with<br />

Environments for AS/SET definitions.<br />

Associate the standard environment with an application set where the definitions for the<br />

environment reside. Once the existing environment is associated with an application set,<br />

it becomes a special AS/SET environment. The indication of this special environment<br />

displays on the second detailed Change Environments panel. The application set name<br />

you specify must exist (<strong>Implementer</strong> does not create application sets). If the application<br />

set name is blank, the environment type reverts to Standard on the Change<br />

Environment panel.


AS/SET Integration<br />

Use object codes with the following special characteristics for AS/SET definitions.<br />

Object Code Description<br />

If you need different object codes, they must have special characteristics beginning with<br />

ADK. Create the object codes as non source and non object based.<br />

NOTE<br />

Setting Up for Archiving<br />

ADKDSP AS/SET display program definition.<br />

ADKBAT AS/SET batch program definition.<br />

ADKRPT AS/SET report program definition.<br />

ADKMDL AS/SET data model.<br />

ADKLLD AS/SET field definition.<br />

ADKFIL AS/SET file definition.<br />

ADKAUD AS/SET audit trail definition.<br />

ADKSUB AS/SET action subroutine definition.<br />

You can promote AS/SET definitions to an environment group. You must define<br />

the primary environment as an AS/SET environment. If non AS/SET<br />

environments exist in the group, the AS/SET definitions are not promoted to<br />

these environments, although the promotion of both AS/SET definitions and the<br />

generated objects occurs to the AS/SET environments in the group.<br />

When you run the Build List for AS/SET environments, the member/object list<br />

includes both traditional objects and AS/SET definitions that exist in the<br />

application set specified for the environment.<br />

After defining an AS/SET environment (a standard environment associated with an AS/SET<br />

application set) perform the following task to enable archiving for AS/SET definitions.<br />

To set up for AS/SET archiving<br />

1 In the Archive version fields on the Change Environment panel, specify the number of<br />

levels (versions) to retain for archiving. You must also specify the archive library name<br />

and number of versions for traditional objects.<br />

2 In the Work with Environments panel, type 11=AS/SET, and press ENTER. The Create<br />

Environment panel displays.<br />

3 In the Archive application set field, type the name of the archive application set, and<br />

press ENTER.<br />

317


Chapter 6: Third Party Integrations<br />

Setting Capabilities for Checked Out Generated Objects<br />

318<br />

You can configure <strong>Implementer</strong> to automatically allow modifying either all AS/SETgenerated<br />

objects or CL programs only.<br />

To enable modifying AS/SET-generated objects or CL programs<br />

1 From the <strong>Implementer</strong> Menu, select option 42, Environments, and press ENTER. The<br />

Work with Environments panel displays.<br />

2 Type 11=AS/SET to select the AS/SET environment and press ENTER. The Create<br />

Environment panel displays.<br />

3 In the Allow C/O of generated objects field and the Allow C/O of generated CL field, type<br />

Y or N to indicate whether the specified AS/SET-generated items allow modification.<br />

These objects are identified with an associated object code, for example, CLPOBJ,<br />

RPGOBJ, and PFOBJ. You can enter any of the following combinations in these fields.<br />

Field Entry Combinations<br />

Allow C/O of generated objects (Y/N) N N Y<br />

Allow C/O of generated CL (Y/N) Y N Y


Setting Up for Generated Object Promotions<br />

AS/SET Integration<br />

You can configure <strong>Implementer</strong> to automatically promote all AS/SET-generated objects with<br />

other promotion items.<br />

NOTE When creating a promotion request, AS/SET is required in your library list.<br />

However, to avoid generated object not being added to the request when promoting<br />

from an application set other than the one you are currently in, you should not be<br />

within the AS/SET product.<br />

To enable the automatic promotion of AS/SET generated objects<br />

1 From the <strong>Implementer</strong> Menu, select option 42, Environments, and press ENTER. The<br />

Work with Environments panel displays.<br />

2 Type 11=AS/SET to select the AS/SET environment and press ENTER. The Create<br />

Environment panel displays the AS/SET details as illustrated on page 318.<br />

3 In the Promote generated objects field, specify one of the following values.<br />

0: Does not add generated objects to the promotion request.<br />

1: Adds only generated objects to the promotion request.<br />

2: Adds generated source and objects to the promotion request.<br />

4 Press ENTER.<br />

You have the option to override these default settings at promotion time as explained next.<br />

AS/SET Dependency Check<br />

The Check ADK Dependencies (ICHKADKDEP) command checks for AS/SET object<br />

dependencies of any ADK items during check out.<br />

This feature requires setting up the <strong>Implementer</strong> Job Description (MWIJOBD) library list and<br />

a special command at the environment level. There are no special setup requirements within<br />

AS/SET.<br />

To change the job description<br />

1 On the OS/400 command line, type the following command and press F4=Prompt.<br />

CHGJOBD JOBD(MWIJOBD)<br />

2 Define the Library parameter (this is the library where the job description exists; <strong>MKS</strong>IM<br />

is the default).<br />

319


Chapter 6: Third Party Integrations<br />

320<br />

3 Define the Initial Library List parameter as follows, and press ENTER.<br />

Add the AS/SET object library (ASSETO is the default) before the AS/SET file<br />

library (ASETF is the default).<br />

Add the AS/SET object library and AS/SET file library before the <strong>Implementer</strong><br />

library.<br />

Add the QTEMP library in any position on the library list.<br />

Special Command Setup<br />

You must define the AS/SET Dependency Check as a special command attached to the *TST<br />

environment to run automatically after check out.<br />

To define the special command<br />

1 From Work with Environments, select the *TST environment with option 19=Special<br />

commands. The Work with Environment Special Commands panel displays (the panel<br />

may display existing commands).<br />

2 Press F6=Add. The Expanded Command Display panel displays.<br />

3 Define the special command as follows:<br />

In the For Action field, type 6 (Checkout).<br />

In the When to do field, type 2 (After-OK).<br />

In the Command field, type:<br />

ICHKADKDEP MBROBJ(#OBJECT)<br />

OBJCODE(#OBJCOD)<br />

FRMENV(#FRMENV)<br />

TOENV(#TRGENV)<br />

4 Press ENTER.<br />

BPCS Integration<br />

To use <strong>Implementer</strong> with SSA/BPCS software, you must make special compile changes.<br />

These changes involve setting up required object codes within <strong>Implementer</strong>, and possibly<br />

making changes to your environment setup. These setup tasks are explained next.<br />

Compile Considerations<br />

The first consideration for performing BPCS compiles within <strong>Implementer</strong> is to determine<br />

whether all compiles are BPCS compiles, or whether some compiles are BPCS compiles and<br />

others are not performed through BPCS commands or programs (for example, DSPF).


BPCS Integration<br />

If all compiles use BPCS commands or programs, you must change the standard object<br />

codes delivered with <strong>Implementer</strong>.<br />

If some compiles do not use BPCS commands or programs, you must create new object<br />

codes for the BPCS compiles and retain the standard object codes for the non BPCS<br />

compiles.<br />

For information on making these changes, see “Setting Up Object Codes” on page 321.<br />

BPCS provides programs for compiling, rather than using the standard IBM creation<br />

commands like CRTCLPGM. The BPCS compilation commands, such as CLCRTCLP, cannot<br />

be called directly because these commands submit the compile. The <strong>Implementer</strong> compile<br />

step requires the program or command used for compilation running within the<br />

<strong>Implementer</strong> submitted compile job (the command cannot submit a different job). For this<br />

reason, BPCS compiles within <strong>Implementer</strong> are performed using the BPCS programs<br />

submitted by the BPCS compile commands, not by the command itself.<br />

BPCS supports compiling the following source types.<br />

Source Type BPCS Programs Existing New<br />

CLP CLCRTCLP CLP CLPB<br />

DSPF CRTDSPLY2 DSPF DSPFB<br />

LF CLCRTLFILE LF LFB<br />

PF CLCRTPFILE PF PFB<br />

PRTF CLCRTPRTF PRTF PRTFB<br />

RPG CLRPG RPG RPGB<br />

The BPCS programs have the same first four parameters as follows:<br />

object-name (#OBJECT)<br />

to-library (#PGMLIB or #FILLIB)<br />

source-file-name (#SRCFIL)<br />

source-library (#SRCLIB)<br />

Setting Up Object Codes<br />

Change the object codes as follows. For details, see “Object Codes” on page 127.<br />

321


Chapter 6: Third Party Integrations<br />

Setting Up Environments<br />

322<br />

Existing<br />

Object Code<br />

New Object<br />

Code<br />

If you create new object codes to support BPCS compiles, any environments you define<br />

automatically allow the BPCS object codes that call the BPCS compiler and the standard<br />

object codes that call the OS/400 compiler. Thus, you may want to deactivate the standard<br />

object codes for BPCS environments.<br />

To deactivate standard object codes for BPCS environments<br />

1 From the <strong>Implementer</strong> Menu, type option 42, Environments and press ENTER.<br />

2 Type 2=Change to select a BPCS environment. The Change Environment panel displays.<br />

3 Press F8=Object Codes. The Change Environment Object Code Overrides panel displays.<br />

4 In the Allow field, type N next to the object code to deactivate it.<br />

5 Press ENTER to save the change.<br />

BRMS/400 Integration<br />

Command or String to Use<br />

CLP CLPB CALL PGM(CLCRTCLP) PARM(#OBJECT #PGMLIB #SRCFIL<br />

#SRCLIB '*YES')<br />

DSP DSPFB CALL PGM(CRTDSPLY2) PARM(#OBJECT #PGMLIB #SRCFIL<br />

#SRCLIB '*YES' 'BPCS' '*YES')<br />

LF LFB CALL PGM(CLCRTLFILE) PARM(#OBJECT #FILLIB #SRCFIL<br />

#SRCLIB '*YES' '*YES')<br />

PF PFB CALL PGM(CLCRTPFILE) PARM(#OBJECT #FILLIB<br />

#SRCFIL#SRCLIB '*YES' *NO' '*YES' '*YES' 'BPCS'<br />

'PGMMSGQ')<br />

PRTF PRTFB CALL PGM(CLCRTPRTF) PARM(#OBJECT #PGMLIB #SRCFIL<br />

#SRCLIB '*YES' '*YES')<br />

RPG RPGB CALL PGM(CLRPG) PARM(#OBJECT #PGMLIB #SRCFIL<br />

#SRCLIB '*YES' '*YES')<br />

<strong>Implementer</strong> supports using a third party save/restore utility for saving archives to tape. For<br />

example, you can use IBM’s Backup Restore Management System (BRMS/400), or an<br />

internally developed program. In this scenario, all Archive to Tape menu options are<br />

available except for menu option 2, Restore Archives from Tape. When you need to restore a<br />

tape archive created by a third party utility, you must restore the tape using that utility.


Code/400 Integration<br />

Using a third party utility requires you activate the <strong>Implementer</strong> data area IMSVPGM, as<br />

well as activate a skeleton CL program provided in the <strong>Implementer</strong> source file QSAMPLE.<br />

Once set up, you can use the Save Archives to Tape option on the Archive to Tape Menu to<br />

call your internally defined command (rather than the standard IBM Save Library (SAVLIB)<br />

command).<br />

NOTE QSAMPLE is a source file delivered in the <strong>Implementer</strong> product library<br />

(<strong>MKS</strong>IM is the default product library). QSAMPLE provides technical information<br />

and programs that help you to customize certain features of <strong>Implementer</strong>.<br />

To set up archiving to tape for a third party save/restore utility<br />

1 Perform the environment archive setup as described in “Environments” on page 81.<br />

2 In the <strong>Implementer</strong> source file QSAMPLE, modify the CL program IMSVLB2 to call your<br />

third party save command.<br />

For details on using QSAMPLE, refer to the source contained within the file.<br />

3 Activate the IMSVPGM data area by issuing the Change Data Area (CHGDTAARA)<br />

command as follows:<br />

CHGDTAARA DTAARA(IMSVPGM (1 10)) VALUE(LIBRARY)<br />

CHGDTAARA DTAARA(IMSVPGM (11 10)) VALUE(PROGRAM)<br />

Where the value in positions 1 through 10 is the library name associated with your<br />

internal program, and the value in positions 11 through 20 is the name of the internal<br />

program defined in program IMSVLB2 in QSAMPLE. For details on the IMSVPGM data<br />

area, see “Save Program Name (IMSVPGM)” on page 411.<br />

Code/400 Integration<br />

CODE/400 (CoOperative Development Environment/400) is a workstation-based, client/<br />

server development environment that is available with IBM’s WebSphere Development<br />

Tools for the iSeries. With CODE/400, you can edit, compile, and debug client/server<br />

applications, as well as applications written in many other OS/400 languages. For details on<br />

using Code/400, see the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> User <strong>Guide</strong>.<br />

Requirements and Setting Up<br />

This guide assumes CODE/400 and <strong>Implementer</strong> are set up and running successfully within<br />

your organization.<br />

323


Chapter 6: Third Party Integrations<br />

324<br />

To create the user-defined options<br />

Access PDM to create the user-defined options that access CODE/400 from the <strong>Implementer</strong><br />

Workbench.<br />

For example, to invoke CODE/400 to edit a source member, create an option defined with the<br />

following command syntax:<br />

where:<br />

Call qcode/evfcfdbk parm('37' 'Y' 'OS400' ' CODEEDIT<br />

"&L/&F (&N)"')<br />

Value Description<br />

37 Coded character set identifier (CCSID) used to send information to the<br />

desktop.<br />

Y Specify Y to display a message, or N to bypass messages.<br />

OS400 Specify the type of server to log messages in the command shell. If the OS/400<br />

server is not defined, you may get an error in the command shell.<br />

Specify the CODE/400 server location, or (empty brackets) to use the first<br />

active CODE/400 server.<br />

CODEEDIT Specify the command to run on the desktop (indicated by ). You must<br />

enclose the command in double quotes. The command options are:<br />

CODEBRWS to browse.<br />

CODEEDIT to edit.<br />

CODEDSU to design (screens).<br />

"&L/&F (&N)" &L is the library.<br />

&F is the source file.<br />

&N is the member name.<br />

Must have a blank space between &F and (&N) to correctly substitute the<br />

source file.<br />

Help Desk Integration<br />

<strong>Implementer</strong> integrates with open help desk and Customer Relationship Management<br />

(CRM) applications, providing the ability to associate calls that are logged in a help desk<br />

software package with DesignTracker design requests (DR) and service requests (SR).<br />

You can use <strong>MKS</strong> SupportCenter or any other help desk software that has an ODBC (Open<br />

Database Connectivity) or JDBC (Java Database Connectivity) accessible database.


Requirements<br />

This help desk integration requires the following:<br />

DTBridge is installed and configured. DTBridge is delivered with <strong>Implementer</strong><br />

Help Desk Integration<br />

DesignTracker is installed and configured as your issue management application (you<br />

must not be using <strong>MKS</strong> Integrity for issue tracking). DesignTracker is delivered with<br />

<strong>Implementer</strong>.<br />

SupportCenter 3.2 is installed; however this requirement does not force you to use<br />

SupportCenter as your help desk application. SupportCenter is required for the use of<br />

the call header file, which is populated with the data extracted from your help desk<br />

database when the update runs. SupportCenter is delivered with <strong>Implementer</strong>. If<br />

SupportCenter is your help desk application, this guide assumes it is configured. If<br />

SupportCenter is not your help desk solution, this guide assumes that a different help<br />

desk product is configured.<br />

Setting Up the Help Desk Integration<br />

These instructions assume that <strong>Implementer</strong>, DesignTracker, DTBridge, and SupportCenter<br />

are installed and configured. In addition, you must perform the following setup in the<br />

DTBridge properties file prior to running the Associate Calls Update program.<br />

DTBridge Properties Setup<br />

The DTBridge properties file (DTBridge.properties) contains the application control<br />

properties for the Associate Calls functionality and a few other integrations. The DT Call<br />

Association properties relate to the Associate Calls Update program. For details on<br />

DTBridge, see “Installing DTBridge” on page 135.<br />

To start DTBridge Console and configure the DTBridge properties file<br />

1 Click Start > Programs > <strong>MKS</strong> <strong>Implementer</strong> > DTBridge Console. The DTBridge Console<br />

window displays. Notice the Status bar indicates DTBridge is not active.<br />

2 Click File > Setup from the menu. The Edit DTBridge Setup properties file displays.<br />

The properties file is organized by functional area. The help desk integration requires<br />

input in the DT Call Association Properties only.<br />

At the beginning of each section the properties are listed with a brief description and<br />

example. At the end of each section, the property displays again as property name=x.<br />

Instructions and examples are also included within the DTBridge properties file.<br />

3 Configure the properties as described in the following table. Define OS/400 values using<br />

upper case syntax. When defining the property value, type the value as follows:<br />

property name=property value<br />

325


Chapter 6: Third Party Integrations<br />

DT Call Association<br />

Properties<br />

326<br />

4 When you are finished, click File > Save Setup.<br />

Description<br />

DT Call Association Properties<br />

SCLibrary Name of your SupportCenter library or the library that contains the HDPHDRP file.<br />

SCUser User profile that has authority to the library defined for SCLibrary.<br />

SCPassword Password associated with the SCUser property.<br />

HDDSN Name of the ODBC data source that points to the help desk database to extract call<br />

information from.<br />

HDUser User ID to access the help desk database defined for the HDDSN property.<br />

HDPassword Password associated with the HDUser property.<br />

HDDRSelectSQL SQL statement that retrieves call information to generate SupportCenter call header<br />

records associated with DesignTracker DRs. The SQL select statement must include<br />

the following fields in the order listed.<br />

Call ID, 10a<br />

Customer Number, 10a<br />

Customer Name, 30a<br />

Product Name, 10a<br />

Allocated to, 10a<br />

Waiting on, 10a<br />

Call Status, 1a<br />

Design Request #, 5,0<br />

HDSRSelectSQL SQL statement that retrieves call information to generate SupportCenter call header<br />

records associated with DesignTracker SRs. The SQL select statement must include<br />

the following fields in the order listed.<br />

Call ID, 10a<br />

Customer Number, 10a<br />

Customer Name, 30a<br />

Product Name, 10a<br />

Allocated to, 10a<br />

Waiting on, 10a<br />

Call Status, 1a<br />

Service Request #, 5,0<br />

NOTE For details on SQL statements, see “Defining the Structured Query Language<br />

Statements” in the next section.


Updating Calls<br />

Defining the Structured Query Language Statements<br />

Help Desk Integration<br />

When defining the Structured Query Language (SQL) statements for the HDDRSelectSQL<br />

and HDSRSelectSQL properties, specify the selected fields in the following order:<br />

Call ID (10a)<br />

Customer Number (10a)<br />

Customer Name (30a)<br />

Product (10a)<br />

Allocated to (10a)<br />

Waiting on (10a)<br />

Call Status (1a)<br />

DR or SR number (5,0)<br />

The size of the original field in your help desk software is not important because the field<br />

truncates to the size indicated when updating the SupportCenter call header file.<br />

The following is an example SQL statement:<br />

SELECT SUBSTR(S_SRV_REQ.SR_NUM,1,10),<br />

SUBSTR(S_SRV_REQ.CST_OU_ID,1,10), SUBSTR(S_ORG_EXT.NAME,1,30),<br />

SUBSTR(S_PROD_INT.NAME,1,10), SUBSTR(S_EMPLOYEE.LOGIN,1,10),<br />

SUBSTR(S_SRV_REQ.SR_SUB_STAT_ID,1,10),<br />

SUBSTR(S_SRV_REQ.SR_STAT_ID,1,1), SUBSTR(S_SRV_REQ.SR_CST_NUM,3,5)<br />

FROM SIEBEL.S_EMPLOYEE S_EMPLOYEE, SIEBEL.S_ORG_EXT S_ORG_EXT,<br />

SIEBEL.S_PROD_INT S_PROD_INT, SIEBEL.S_PROD_LN S_PROD_LN,<br />

SIEBEL.S_SRV_REQ S_SRV_REQ WHERE S_SRV_REQ.CST_OU_ID =<br />

S_ORG_EXT.ROW_ID AND S_SRV_REQ.PRDINT_ID = S_PROD_INT.ROW_ID AND<br />

S_PROD_INT.PR_PROD_LN_ID = S_PROD_LN.ROW_ID AND<br />

S_SRV_REQ.OWNER_EMP_ID = S_EMPLOYEE.ROW_ID AND ((S_SRV_REQ.SR_CST_NUM<br />

Like 'DR%') AND (S_PROD_LN.NAME Like '%<strong>MKS</strong>%'))<br />

You run the Associate Calls Update program from the DTBridge Console. A Java class<br />

executes your defined SQL statements, which associates calls with the appropriate DR or SR<br />

and generates a history log of the associated calls. For example, any records containing data<br />

that maps incorrectly (such as alpha data in the numeric DR/SR number field) causes a<br />

warning message in the history log. The invalid records are skipped, and the process<br />

continues with the next record. A total count of all warnings posted (resulting in records not<br />

updated) prints at the end of the log. To view the latest history log, from the DTBridge<br />

Console, click File > View History.<br />

327


Chapter 6: Third Party Integrations<br />

328<br />

You can view prior history logs through Windows Explorer. The default location is C:/<br />

Program Files/<strong>MKS</strong>/<strong>Implementer</strong>/DTBridge. History log names consist of the date and<br />

time created, and the file extension .log, for example, DTHD<strong>2006</strong>0115134216.log.<br />

Once the update successfully completes, access DesignTracker and view the updated DRs<br />

and SRs with option 17=Display calls.<br />

DTBridge Silent Update<br />

Updating calls using the silent method allows you to quickly process the updates without<br />

interactively viewing the updates or subsequent messages that occur. The updates and<br />

corresponding status are recorded to a log file in the same directory.<br />

To update calls using DTBridge silent method<br />

From your Windows desktop, click Start > Programs > <strong>MKS</strong> <strong>Implementer</strong> > Associate Help<br />

Desk Calls.<br />

The update processes during a brief pause. When it completes, you can review the history log<br />

file for detailed job information.<br />

DTBridge Console Update<br />

Updating calls using the DTBridge console provides a GUI interface that allows you to<br />

interactively view the updates and subsequent messages as they occur.<br />

To update calls using DTBridge Console<br />

1 From your Windows desktop, click Start > Programs > <strong>MKS</strong> <strong>Implementer</strong> > DTBridge<br />

Console. The DTBridge window displays.<br />

2 Click Tools > Associate Calls. Status messages display to indicate each process that<br />

occurs and the subsequent results.<br />

LANSA Integration<br />

The <strong>Implementer</strong> Adapter for LANSA is a separately licensed product that provides<br />

integration with the following LANSA products:<br />

LANSA for iSeries<br />

LANSA for the Web<br />

Visual LANSA<br />

The integration provides for the controlled check out and promotion of LANSA objects,<br />

allowing you to manage the development of LANSA files, fields, processes, and functions, as<br />

well as Web and Extensible Markup Language (XML) components and system variables.


LANSA Integration<br />

You manage LANSA objects with LANSA environments. A LANSA environment type is<br />

established by associating an <strong>Implementer</strong> environment with a valid LANSA partition. This<br />

ensures any changes to objects in a partition are managed using the associated environment.<br />

Specific object codes accomplish the check out and promotion of LANSA objects to and from<br />

the LANSA environments. The Check Out function locks the name of the LANSA object<br />

and—depending on the environment definition—copies (export and import) the LANSA<br />

objects to the development environment.<br />

Promotion prepares the LANSA objects for export and moves (imports) the objects into the<br />

target environment. Distribution of LANSA objects to remote locations is supported.<br />

LANSA objects are archived in the archive library specified for the target environment.<br />

<strong>Implementer</strong> supports using LANSA task tracking to manage the development of LANSA<br />

objects and related issues.<br />

All reports and inquiries track the LANSA objects managed by <strong>Implementer</strong>.<br />

Setting Up the Interface<br />

The following information applies to setting up the integration. For more information, see<br />

“LANSA Prerequisites” on page 107.<br />

In System Control Maintenance, verify the LANSA installed field is set to Y.<br />

Change the <strong>Implementer</strong> job description (MWIJOBD) to include the LANSA product<br />

libraries in the library list.<br />

IMPORTANT The job description must include the LANSA libraries to avoid the<br />

promotion of LANSA definitions ending abnormally.<br />

Verify the <strong>Implementer</strong> user profile MWIPROD has authority to modify and delete the<br />

definitions for all LANSA objects managed with <strong>Implementer</strong>.<br />

<strong>Implementer</strong> provides the IMLNPSO data area that allows you to store the name of the<br />

LANSA partition security officer. <strong>Implementer</strong> runs the LANSA command for export/<br />

import using the partition security officer profile to prevent migration failures caused by<br />

insufficient authority to the LANSA command and the items being exported. For details<br />

on the data area, see “LANSA Partition Security Officer (IMLNPSO)” on page 408.<br />

If distributing LANSA objects to remote locations using the <strong>Implementer</strong> Receiver,<br />

<strong>Implementer</strong> uses the IMPJOBD job description (in library <strong>MKS</strong>IR) on the remote system<br />

to set the library list for remote jobs. This requires you add the LANSA product libraries<br />

DC@PGMLIB, DC@DTALIB, and DC@DEMOLIB to the IMPJOBD library list. If you<br />

renamed the LANSA product libraries, add the renamed libraries to the initial library list<br />

of the IMPJOBD job description.<br />

329


Chapter 6: Third Party Integrations<br />

330<br />

<strong>Implementer</strong> supports only one copy of LANSA product libraries per installation. If you<br />

use separate copies of LANSA on a single system where each copy has its own data and<br />

program libraries, for example, one copy for development and/or QA and another copy<br />

for production, each LANSA copy must point to a different copy of <strong>Implementer</strong>. For<br />

information on troubleshooting problems with this usage, see the related messages in job<br />

MON_BK0516. For information on installing parallel versions of <strong>Implementer</strong>, see the<br />

<strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> Installation <strong>Guide</strong>.<br />

Defining Environments and Loading the Repository<br />

The set up activities associated with managing LANSA applications include setting up the<br />

environments that manage LANSA objects. You must associate each of these environments<br />

with a partition where the LANSA applications reside.<br />

In Work with Environments, establish the environment as a LANSA environment by<br />

specifying an existing LANSA partition in the LANSA partition name field.<br />

In the Copy LANSA object in check out field, specify whether to copy LANSA objects to<br />

this environment during check out.<br />

Do not specify the same partition for a From environment and target environment if the<br />

environments are used for the same check out or promotion session. The special<br />

environment type displays on the second Change Environments panel. If you remove<br />

the partition name, the environment type reverts to a standard environment.<br />

If you use a LANSA environment only for LANSA definitions, set the Compile required<br />

field to N.<br />

The export step exports LANSA objects on the request to a save file. You can set<br />

promotion processing to automatically submit through the export step only. In the<br />

Change Environment panel, specify Y in the Auto submit in create rqs field, and type<br />

1=Expt in the Through step field.<br />

To verify successful completion of the export, review the export reports generated by<br />

LANSA, or use data area IMLNMSG as described in “Ending Promotions Based on<br />

Message ID” on page 331.<br />

To use an environment group for LANSA objects, the primary environment must be a<br />

LANSA environment. LANSA objects are moved to other environments in the group<br />

only if they have a special environment type of LANSA.<br />

To archive LANSA objects, each LANSA environment must specify the archive library<br />

and the number of archive versions to retain. For information on how to archive and<br />

recover LANSA requests, see the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> User <strong>Guide</strong>.<br />

Run the Build List to create the list of LANSA objects in the partition associated with the<br />

LANSA environment. <strong>Implementer</strong> analyzes the LANSA repository and retrieves the list<br />

of LANSA objects.


Ending Promotions Based on Message ID<br />

LANSA Integration<br />

<strong>Implementer</strong> provides the IMLNMSG data area that allows you to store the message IDs of<br />

errors you want to force a promotion to fail on if the error is encountered. Fatal messages<br />

automatically cause the promotion to fail.<br />

During promotion processing, <strong>Implementer</strong> compares the message IDs written in the export<br />

list spool file to the message IDs recorded in the IMLNMSG data area. When a match is<br />

found, it ends the processing of the promotion job.<br />

This data area is blank by default. When adding multiple message IDs, separate the message<br />

ID values with one blank space.<br />

LANSA Object Codes<br />

<strong>Implementer</strong> provides the following object codes for checking out and promoting LANSA<br />

definitions. Before using the object codes for the first time, you must run the Build List for<br />

each LANSA environment to update the repository.<br />

<strong>Implementer</strong> uses the object code’s special characteristic to derive logic. The special<br />

characteristic matches the object code name and assigns the object authority *KEEP. You can<br />

change the name of an object code, but you cannot change the special characteristic.<br />

Object Code Description<br />

LANFLD LANSA fields.<br />

LANFIL LANSA files.<br />

LANFLDT LANSA files with data.<br />

LANPROC LANSA process.<br />

LANFNC LANSA functions.<br />

LANWEBC LANSA Web components.<br />

LANXMLC LANSA XML components.<br />

LANSVAR LANSA system variables.<br />

LANMVAR LANSA multi-lingual system variables.<br />

<strong>Implementer</strong> supports having the same file name in a single partition that exists in two<br />

different libraries. This feature requires using separate object codes for each file library. In<br />

addition, each separate object code must have the object library specified at the environment<br />

level. For information on setting up object codes, see page 127. For information on overriding<br />

a default library for an object code and environment, see “Environment Overrides” on<br />

page 133.<br />

331


Chapter 6: Third Party Integrations<br />

LANSA Task Tracking<br />

Visual LANSA<br />

332<br />

<strong>Implementer</strong> supports using LANSA task tracking to manage your LANSA development<br />

and related issues.<br />

Task tracking replaces the use of <strong>Implementer</strong> projects. With task tracking enabled,<br />

<strong>Implementer</strong> processes LANSA tasks as projects by creating a project record from the<br />

specified task number, if one does not already exist. To support the LANSA task number<br />

format of 8 characters and <strong>Implementer</strong>’s project number format of 7 characters, the LANSA<br />

task number right-truncates when converted to the <strong>Implementer</strong> project ID.<br />

<strong>Implementer</strong> creates a project record for any task number that exists in the LANSA task<br />

definition log file with a status of Open or Work. <strong>Implementer</strong> also creates a project record if<br />

the task exists in the LANSA TTS object register file and the task number does not exist in the<br />

<strong>Implementer</strong> project file. If the task does not exist in the TTS object register file, any value<br />

specified in the Project Reference field is processed as a project number by <strong>Implementer</strong>.<br />

When creating a request, the locked project number defaults in the Project Reference field on<br />

the Create Request panel. During the move, the project number defaults in the TASK_ ID<br />

parameter on the LANSA command for exporting and importing.<br />

The LANSA command allows only one task number; thus, only one task number is allowed<br />

per promotion request. Using project filters guarantees only one task number per request. If<br />

you select records for more than one task number, exit the Create Request panel and clear the<br />

selected objects to omit.<br />

LANSA task tracking is controlled in <strong>Implementer</strong> by the LANSA Task Usage (IMLNTSK)<br />

data area. The data area value must be *YES to enable task tracking (the default value is<br />

*NO).<br />

To enable LANSA task tracking<br />

Issue the CHGDTAARA command as follows:<br />

CHGDTAARA DTAARA(IMLNTSK) VALUE(*YES)<br />

<strong>Implementer</strong> provides integration with Visual LANSA for the development of your graphical<br />

and client/server applications in a Windows-based development environment.<br />

Key Considerations<br />

The following information applies to setting up and using Visual LANSA with <strong>Implementer</strong>.<br />

Environment pathing must be set up for LANSA environments. The test partition is<br />

allowed on only one path.


Lawson Software Integration<br />

Emergency development requires a separate emergency development partition. The<br />

emergency partition is allowed on only one path.<br />

All environments on the path require the Copy LANSA objects in check out field set to N.<br />

Visual LANSA requires the use of task tracking within your development model. For<br />

details, see “LANSA Task Tracking” on page 332.<br />

The MWIPROD user profile must have data read authority to the following LANSA files<br />

used by <strong>Implementer</strong> programs:<br />

DC@F76V1 (TTS Object Event Log)<br />

DC@F75V2 (TTS Task Definition Log)<br />

DC@F74V1 (TTS Object Register)<br />

Change the DC@A07 data area in LANSA to set an <strong>Implementer</strong> exit program that<br />

executes the LANSA APIs to run a command. This task is described next.<br />

To change the DC@A07 data area in LANSA<br />

Issue the following command:<br />

CHGDTAARA DTAARA(DC@PGMLIB/DC@A07 (689 20)) VALUE('<strong>MKS</strong>IM<br />

IMLNUSEX')<br />

IMPORTANT Previous releases of the <strong>Implementer</strong> and Visual LANSA integration<br />

required adding a trigger to LANSA file DC@F76 in library DC@DTALIB. The<br />

DC@A07 data area replaces the need for the trigger; thus, you must remove the<br />

trigger if it exists. Use the following command to remove the trigger:<br />

RMVPFTRG FILE(DC@DTALIB/DC@76) TRGTIME(*ALL) TRGEVENT(*ALL)<br />

Lawson Software Integration<br />

Lawson Software provides a comprehensive and customizable solution that includes<br />

applications for enterprise performance management, distribution, financial statements,<br />

human resources, procurement, retail operations, and service process optimization.<br />

<strong>Implementer</strong> is compatible with all releases of Lawson Software.<br />

When configuring <strong>Implementer</strong> for integration with Lawson, two features of the Lawson<br />

modules require additional setup considerations:<br />

Source and object library structure.<br />

LID method of screen and report generation in Lawson 7.<br />

333


Chapter 6: Third Party Integrations<br />

Source and Object Library Structure<br />

334<br />

In a typical Lawson environment, source is delivered in a single source library and source<br />

members are stored in application-specific source files. For example, the accounts payable<br />

source file QAPRPGSRC contains all source members for the Accounts Payable module.<br />

The recommended approach for configuring <strong>Implementer</strong> is to define one set of<br />

environments that encompasses all Lawson applications, rather than a set of environments<br />

for each application. The Lawson source is contained in one library with many source files<br />

that differentiate the application modules. The source types specified on each source member<br />

allows <strong>Implementer</strong> to assign object codes when you run the Build List.<br />

LID Method of Screen and Report Generation<br />

Lawson 7 provides a Graphical User Interface (GUI) for viewing the application’s screens and<br />

reports. Another feature provides greater control of report printing. This method of creating<br />

screens and reports is referred to as “LID method of screen and report generation”.<br />

<strong>Implementer</strong> supports the management of screen and report generation by using specific<br />

object codes you create for each Lawson application module. The object codes have userdefined<br />

commands and programs. To assist with the minimal setup, <strong>Implementer</strong> provides<br />

sample programs in source file QSAMPLE (in the <strong>Implementer</strong> product library <strong>MKS</strong>IM) that<br />

describe how to create the command and CL program for each object code. Refer to the<br />

following Lawson-related items in QSAMPLE:<br />

Member/Object Type Description<br />

PCRTPRNT7 CMD Lawson create print command.<br />

PCRTPRNT7C CLP Lawson create print command CPP for LID method of screen and<br />

report generation.<br />

PCRTSCRN7 CMD Lawson create screen command.<br />

PCRTSCRN7C CLP Lawson create screen command CPP.<br />

See the instructions included in source member PCRTPRNT7 for creating the printer related<br />

object code. See the instructions included in source member PCRTSCRN7 for creating the<br />

screen related object code. These commands execute the Lawson LAWENV program to set<br />

library lists and environment variables, and execute the Lawson command to create GUI<br />

information for the screens and reports.<br />

NOTE For details on QSAMPLE, see “Customizing <strong>Implementer</strong>” on page 414.


The object code values required for a Lawson screen generation are as follows:<br />

Field Required Value<br />

Object Code SCRNAP7<br />

Source member type SCRN<br />

Default source file APRPGSRC7<br />

Object authority *KEEP<br />

Creation process M<br />

The object code values required for a Lawson report source are as follows:<br />

Lawson Software Integration<br />

Creation command PCRTSCRN7 LAWENV(#ENV) LAWAPP(application_name)<br />

SOURCE(#SRCFIL) MEMBER(#OBJECT)<br />

Field Required Value<br />

Object Code PRNTAP7<br />

Source member type PRNT<br />

Default source file APRPGSRC7<br />

Object authority *KEEP<br />

Creation process M<br />

Creation command PCRTPRNT7 LAWENV(#ENV) LAWAPP(application_name)<br />

SOURCE(#SRCFIL) MEMBER(#OBJECT)<br />

NOTE The instructions in QSAMPLE explain that the object code uses the creation<br />

command with the default parameters defined for the CL program, and instruct you<br />

to modify the CL using the default values for the LAWENV and LAWAPP<br />

parameters. Thus, if you modify the default value of either of these parameters, you<br />

must include the parameters and new values on the object code creation command.<br />

Environment Setup<br />

If you deploy Lawson applications to a remote environment defined with local source and<br />

local compiles (in Work with Environments), an additional configuration step is required to<br />

create the LID information during promotion.<br />

For each remote environment defined with local source and local compile location, create a<br />

special command to run on the remote system as described next.<br />

335


Chapter 6: Third Party Integrations<br />

336<br />

To create the special command for a remote environment<br />

1 From Work with Environments, select the remote Lawson environment with option<br />

19=Special commands and press ENTER. The Work with Special Commands panel<br />

displays.<br />

2 Press F6=Create. The Expanded Command Display panel displays.<br />

3 Define the fields as follows:<br />

In the For Action field, type 4=Move.<br />

In the When to do field, type 2=After-OK.<br />

In the Sequence number field, type 1.0. If the environment has other special<br />

commands, specify the number in relation to the other special commands.<br />

In the Command field, type the following command syntax:<br />

IEXCRQSDTL OBJCODE(*ALL)<br />

RQSNBR(#RQSNBR)<br />

TARGET(ENV_NAME)<br />

COMMAND(PCRTPRNT7 LAWENV(#TRGENV) LAWAPP(AP)<br />

SOURCE(#SRCFIL) MEMBER(#SRCMBR))<br />

4 Press ENTER to add the command.<br />

Frequently Asked Questions<br />

Do I need to define the CALL LAWENV command in a special command?<br />

No. The CL program delivered in QSAMPLE executes the LAWENV command to set the<br />

library list and Lawson environment variables to ensure the LID-created objects are created<br />

successfully.<br />

How are you able to run the LAWENV program in a submitted program?<br />

Passing blanks as the second parameter allows the LAWENV program to run in batch.<br />

Do I need to change the <strong>Implementer</strong> job description to include Lawson libraries?<br />

No. During check out and promotion <strong>Implementer</strong> uses the environment library list to<br />

perform the required library manipulation.<br />

Lotus Domino Integration<br />

<strong>Implementer</strong> provides integration with Lotus Domino to offer change management support<br />

for iSeries-based Lotus Notes and your internally developed Domino software applications.


Lotus Domino Integration<br />

This separately licensed feature provides browser-based check out, promotion, and<br />

deployment of Lotus Notes Storage Files (NSF) and Notes Template Files (NTF) from<br />

Domino Designer. To ensure the Notes databases you deploy have the correct authority,<br />

<strong>Implementer</strong> allows you to set the Domino Access Control List (ACL) during check out and<br />

promotion.<br />

The integration supports using <strong>MKS</strong> Integrity issues or DesignTracker design requests when<br />

checking out and promoting NSFs and NTFs. The integration builds on the framework of the<br />

existing <strong>Implementer</strong> technology that includes the latest support for IFS technology and<br />

change management of client/server applications. The integration capitalizes on the<br />

browser-based support <strong>Implementer</strong> provides for IFS objects.<br />

With this solution, the <strong>Implementer</strong> for Domino interface incorporates Domino development<br />

in tandem with your iSeries development. From within Domino, developers can check out<br />

the Notes databases using a browser interface. After completing the work, objects can be<br />

promoted through a browser interface to a *QAC or *PRD environment back on the iSeries.<br />

After promotion, the objects reside in a staging repository where they are subsequently<br />

deployed to a Domino server or Domino clients. The server updates are accomplished by<br />

either another iSeries under the control of <strong>Implementer</strong>, or an NT mounted drive. Domino<br />

client updates are under the control of Tivoli.<br />

To facilitate ease of use, developers can use <strong>Implementer</strong> without familiarity of the iSeries, by<br />

using a browser interface that supplies functionality to the desktop. For access to the iSeries,<br />

the interface construct uses CGI (Common Gateway Interface) technology.<br />

<strong>Implementer</strong> enables you to track all software changes made to Lotus Domino objects that<br />

reside on the iSeries, with the following benefits:<br />

Centralized Registry of Objects in iSeries Folders<br />

The <strong>Implementer</strong> repository maintains objects that reside in the IFS directory, as well as<br />

traditional OS/400 member/objects. Use the <strong>Implementer</strong> Work with Objects function to<br />

view repository items.<br />

Promotion Transaction History<br />

The Request Inquiry panel maintains a current list of all items promoted into a particular<br />

environment by <strong>Implementer</strong>. For IFS objects, historical data provides vital information<br />

such as object author, object authorities, and time/date stamps for each step of a<br />

promotion.<br />

Synchronized With Legacy Applications<br />

<strong>Implementer</strong> for Domino supports controlled deployment of multiple applications<br />

during a single promotion. You can install traditional OS/400 objects along with IFS<br />

objects, without having to maintain multiple software packages for tracking and<br />

maintaining objects on the iSeries and Domino server. This deployment architecture<br />

ensures minimum downtime during your application programming.<br />

337


Chapter 6: Third Party Integrations<br />

Requirements<br />

338<br />

Deployment Packaging<br />

Easily create change packages of Notes databases to deploy using the menu or from<br />

command line interfaces in <strong>Implementer</strong>. Initiate package deployment using the<br />

deployment server—configurable to automatically install change packages on each<br />

target server—with no intervention required on your part.<br />

Customizable scheduling of change packages allows you to install changes when you<br />

need them. For change packages deployed to multiple servers, you can schedule each<br />

package to run at a specific time based on the local needs of each server. Upon<br />

completion, status information posts back to the deployment server.<br />

Synchronized With Back Office Development<br />

<strong>Implementer</strong> for Domino allows you to deploy changes consisting of both Lotus Notes<br />

content and integrated back office changes. This ensures synchronous deployment of<br />

your RPG or COBOL based business logic and DB2/400 databases (integrated with<br />

Notes applications) to your testing or production servers. This deployment architecture<br />

ensures a minimum of downtime for your applications.<br />

Synchronized With Other e-Business Initiatives<br />

<strong>Implementer</strong> for Domino manages your e-Business development needs when they<br />

expand beyond Notes applications. As with back office development, it also allows for<br />

management of your Java executables; static HTML, XML, and XSL; and graphics (such<br />

as JPEG and GIF files), along with your Notes development.<br />

This <strong>Implementer</strong> release is certified to work with Domino release 6.0. The requirements for<br />

these integrated features are as follows:<br />

<strong>Implementer</strong> <strong>2006</strong> for deployment of Lotus NSFs and NTFs. <strong>Implementer</strong> requires<br />

OS/400 V5R1 or later, or i5/OS V5R3 or later.<br />

Lotus Notes R4.6 or later (including Notes Client, Domino Designer, and Domino<br />

Administrator).<br />

Domino Server R4.6 or later for deployment. The Domino Server provides the easiest<br />

and most flexible use of the Lotus Notes database and the <strong>Implementer</strong> change<br />

management software by using the same platform to create, change, move, and deploy<br />

the Lotus NSFs and NTFs.<br />

This integration expands to Domino Servers on platforms other than the iSeries. For<br />

example, you can run a Domino Server on a Windows NT platform to create Lotus NSFs<br />

and NTFs, which you can place under <strong>Implementer</strong> change management control using a<br />

mapped network drive or shared network folder.<br />

Internet Explorer 4.0 or later, or Netscape 4.5 or later.


iSeries Setup and Configuration<br />

Lotus Domino Integration<br />

This integration supports using either of the IBM HTTP Web servers: the original Web Server<br />

for iSeries or the Apache Web Server for iSeries. Before using the integration, your system<br />

administrator or a user who is authorized and familiar with server setup functions needs to<br />

configure the Web interface to use one of these servers. For detailed information on setting<br />

up the servers, see “iSeries Web Server Setup” on page 156. When you have finished that<br />

task, continue with “<strong>Implementer</strong> Setup and Configuration” in the next section.<br />

NOTE The following sections describe how to set up the basic Lotus Domino<br />

integration. For details on setting up ACL management, see “Managing the Domino<br />

Access Control List” on page 343. For details on setting up database signing, see<br />

“Database and Template Signing” on page 351.<br />

<strong>Implementer</strong> Setup and Configuration<br />

The following tasks assume the *PRD, *TST, and *QAC environments that manage Lotus<br />

development and IFS objects are set up in <strong>Implementer</strong> with the IFS directory path and path<br />

owner, IFS object owner, and archive information (if archiving). When defining the Domino<br />

environments, define the *PRD environment with a standard application path. In addition, to<br />

ensure the correct ownership of Domino database archives, specify an archive directory that<br />

is outside of the standard Domino data directory. For details on environment setup, see<br />

“Environments” on page 81.<br />

<strong>Implementer</strong> provides the Domino Server Data Directory (IMDOMDATA) data area that<br />

allows you to record the server data directory for <strong>Implementer</strong> to use to call the Domino API.<br />

This is only required if you are using Domino 6.0 and the Domino server does not use the<br />

Domino 5 default data directory /notes/data.<br />

In the IMDOMDATA data area (located in the <strong>Implementer</strong> product library <strong>MKS</strong>IM) you<br />

must specify the actual data directory used by the Domino sever. The data area is delivered<br />

with a blank default value.<br />

To change the IMDOMDATA data area<br />

1 Issue the CHGDTAARA command and press F4 to prompt.<br />

2 In the New value field, specify the data directory for the Domino server.<br />

3 Press ENTER.<br />

339


Chapter 6: Third Party Integrations<br />

Domino Designer Setup and Configuration<br />

340<br />

The <strong>Implementer</strong> for Domino integration uses Uniform Resource Locator (URL) technology<br />

to access the iSeries and run the check out and promotion programs. This allows you to run<br />

the <strong>Implementer</strong> Software Adapter for Domino programs by using any viable method for<br />

accessing Internet addresses, such as:<br />

type the URL in the browser Address bar<br />

add the URL to the browser Favorites list<br />

create custom tools in Domino Designer 6.0 (SmartIcons in Domino Designer 5.0)<br />

Using Domino tools or SmartIcons allows you to customize the <strong>Implementer</strong> for Domino<br />

programs and run the browser-based functions from the desktop. These methods require you<br />

create either tools or icons defined with the URL path on the iSeries that points to the Web<br />

check out program and the Web promotion program.<br />

If you use <strong>MKS</strong> Integrity for issue management within <strong>Implementer</strong>, you can automate the<br />

integration by creating tools or SmartIcons to run <strong>MKS</strong> Integrity from within Domino<br />

Designer. For details on this feature, see “<strong>Implementer</strong> and Integrity Manager Integration”<br />

on page 21.<br />

To run the <strong>Implementer</strong> for Domino Web programs from an Internet Explorer or<br />

Netscape browser<br />

Open your browser, and in the Address bar type the URL for the iSeries (include the bin<br />

directive), for example:<br />

http://your-iSeries-name/cgi-bin/imweb?cmd=chkout<br />

where,<br />

//your_iSeries_name defines the iSeries host name<br />

/cgi-bin defines the reference within the HTTP configuration that points to the<br />

<strong>Implementer</strong> library<br />

/imweb?cmd=chkout defines the <strong>Implementer</strong> program to run<br />

To create custom tools in Domino Designer 6.0<br />

1 From Domino Designer, click Tools > Add Tool. The Add Tool dialog box displays.


2 Follow the Domino Designer instructions for creating custom tools.<br />

Lotus Domino Integration<br />

In the Tool Name field, specify a text description to identify the menu item, for<br />

example, <strong>Implementer</strong> Check Out.<br />

In the Tool Action field, enable Run program.<br />

In the Tool Action text box, type the HTTP address location to access the<br />

<strong>Implementer</strong> Web function, for example:<br />

address for Web check out:<br />

http://system_name/cgi-bin/imweb?cmd=chkout<br />

address for Web reject:<br />

http://system_name/cgi-bin/imweb?cmd=reject<br />

address for Web promotion:<br />

http://system_name/cgi-bin/imweb?cmd=crtrqs<br />

From the Tool Context list, click the options that control when the tool is available.<br />

3 Click OK to create the tool and add the tool to the Tools menu.<br />

4 Repeat steps 1–3 for each <strong>Implementer</strong> Web function: check out, reject, and promotion.<br />

Once you complete this task, the <strong>Implementer</strong> Web functions are accessible from the<br />

Tools menu as illustrated next.<br />

341


Chapter 6: Third Party Integrations<br />

342<br />

To add SmartIcons to Domino Designer 5.0<br />

1 From Domino Designer, click File > Preferences > SmartIcon Settings.<br />

2 Follow the Domino Designer instructions for adding SmartIcons.<br />

Add an icon for each <strong>Implementer</strong> Web function: check out, reject, and create request.<br />

For each icon, specify the @URLOpen formula statement that starts the each respective<br />

program, for example:


formula for Web check out:<br />

@URLOpen ("http://system_name/cgi-bin/imweb?cmd=chkout")<br />

formula for Web reject:<br />

@URLOpen ("http://system_name/cgi-bin/imweb?cmd=reject")<br />

formula for Web promotion:<br />

@URLOpen ("http://system_name/cgi-bin/imweb?cmd=crtrqs")<br />

Lotus Domino Integration<br />

where, system_name/cgi-bin defines the iSeries host name (virtual location the iSeries<br />

server maps to) and imweb?cmd=(value) defines the <strong>Implementer</strong> program to run.<br />

To add an icon for <strong>MKS</strong> Integrity, define the URL by specifying the installation location<br />

of <strong>MKS</strong> Integrity. This may be a file location on your desktop, or a server name and IP<br />

address if located on another server, for example:<br />

or<br />

@URLOpen ("http://server_name:7001")<br />

D:/Program Files/<strong>MKS</strong>/Integrity Client/bin/<strong>MKS</strong> Integrity.exe<br />

Once added, the icons display on the Domino Designer toolbar.<br />

Managing the Domino Access Control List<br />

A Domino Access Control List (ACL) is a collection of entries in a table that define which<br />

access rights a user has to the database.<br />

343


Chapter 6: Third Party Integrations<br />

344<br />

Every database has an ACL that specifies the level of access that users and servers have to the<br />

database. Although the names of access levels are the same for users and servers, those<br />

assigned to users determine the tasks that users can perform in a database, while those<br />

assigned to servers determine what information within the database the servers can replicate.<br />

The ACL allows a manager to control user access by requiring authentication of the user’s<br />

identity or membership in a predefined group. Access is then granted according to the<br />

assigned rights.<br />

For each user, server, or group in an ACL you can specify:<br />

Access levels that control which tasks a user can perform in a database, or control what<br />

information within a database a server can replicate.<br />

Access level privileges that enhance or restrict the access level assigned to each name in the<br />

ACL.<br />

User types that identify whether a name in the ACL is for a person, server, or group.<br />

User types provide additional security for a database.<br />

Roles that allow a database designer to define a subset of users, servers, or both to<br />

provide controlled access to database design elements, or to some database functions.<br />

The <strong>MKS</strong> <strong>Implementer</strong> Adapter for Lotus Domino supports the management of Domino<br />

database ACLs by allowing you to set the ACL at various stages in the development cycle.<br />

The following setup tasks assume the <strong>Implementer</strong> environments used for the Lotus Domino<br />

integration exist. For more information, see “<strong>Implementer</strong> Setup and Configuration” on<br />

page 339. In addition, this feature requires:<br />

authorizing a user profile to the IFS directories<br />

defining the ACL directives<br />

creating a special command that sets the ACL<br />

Defining QNOTES Authority to IFS Directories<br />

The user profile QNOTES must have authority to all IFS files and directories in the<br />

environment paths of the *PRD, *TST, and *QAC environments. This is established in<br />

<strong>Implementer</strong> by defining the user profile value QNOTES as the directory path owner and IFS<br />

file owner for native IFS directories.<br />

To authorize user profile QNOTES to the IFS directories<br />

1 From the <strong>Implementer</strong> Menu, type option 42, Environments, and press ENTER. The Work<br />

with Environments panel displays.<br />

2 Select the environment with option 20=Directory setup and press ENTER. The Work with<br />

Environments - Directory Setup panel displays.<br />

In the Directory path owner field, type QNOTES.


In the IFS file owner field, type QNOTES.<br />

3 Press ENTER.<br />

Lotus Domino Integration<br />

4 Repeat these steps for each *PRD, *TST, and *QAC environment defined for this feature.<br />

Defining ACL Directives<br />

You define the ACL directives as a series of commands, either in a source physical file<br />

(maintainable with SEU) or in the <strong>Implementer</strong> promotion request comments. You should<br />

use a source physical file when the directives are static or unchanging and apply to one or<br />

more Notes databases in an environment. This recommended method provides maximum<br />

control when assigning ACL access rights. For examples of this method, see page 346.<br />

When the directives are more dynamic and varying in nature, you can use the <strong>Implementer</strong><br />

promotion request comments; however, this method renders less control due to its free-form<br />

structure.<br />

For setting an ACL in check out, you must define the directives in a source physical file<br />

member. The format of the directives is as follows:<br />

where:<br />

**STRDOMACL<br />

addrole <br />

removerole <br />

removeallrole<br />

addacl :::<br />

removeacl <br />

removeallacl<br />

**ENDDOMACL<br />

NOTE The **STRDOMACL and **ENDDOMACL markers are only used when the ACL<br />

directives are embedded in the promotion request comments.<br />

Value Description<br />

Domino access identifier the ACL applies to.<br />

= Domino access identifier type being set. Valid values are mixedgroup, person,<br />

persongroup, server, servergroup, and unspecified. This value is validated.<br />

Access level to grant. Valid values are noaccess, depositor, reader, author, editor,<br />

designer, and manager. This value is validated.<br />

Comma-delimited list of roles to assign to the ACL entry. If the role does not exist<br />

for the ACL it is added automatically.<br />

345


Chapter 6: Third Party Integrations<br />

346<br />

Example ACL Directive<br />

removeallacl<br />

removeallrole<br />

addrole user<br />

addrole developer<br />

addacl findept:persongroup:reader:developer,user<br />

addacl misdept:persongroup:noaccess:developer<br />

addacl vpfinance:person:manager:user<br />

Defining Special Commands<br />

The following <strong>Implementer</strong> special commands allow you to set the Domino ACL:<br />

Set Domino ACL (ISETDOMACL) command<br />

Execute Checkout (IEXCCKOCMD) command<br />

Execute Request Detail (IEXCRQSDTL) command<br />

The ISETDOMACL command establishes and maintains an ACL for a specified Domino<br />

database file. The ISETDOMACL command is described in detail in this section.<br />

The IEXCCKOCMD and IEXCRQSDTL commands are command processors. Independent of<br />

one anther, they allow you to distinguish certain items during check out and promotion<br />

(respectively) for additional special command processing. The IEXCCKOCMD and<br />

IEXCRQSDTL commands actually condition the processing of any command you specify.<br />

Based on criteria you define for the special command, the selected items checked out or<br />

promoted are identified, and the commands you specify execute for the objects that meet the<br />

conditional criteria.<br />

You use the ISETDOMACL command in conjunction with either the IEXCCKOCMD<br />

command or the IEXCRQSDTL command. Together, they allow for setting a Domino ACL at<br />

your choice of two stages in the development cycle: check out or promotion. This architecture<br />

eliminates potential mis-use of the command by only allowing the command processing, and<br />

thus, controlled ACL management, within the specified job stream.<br />

The IEXCCKOCMD and IEXCRQSDTL commands are explained at a high level in this<br />

section as they pertain to ACL management with the ISETDOMACL command. Command<br />

examples are included. For details on special command processors and valid substitution<br />

variables, see the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> User <strong>Guide</strong>.<br />

To define a special command to set an ACL<br />

1 From the <strong>Implementer</strong> Menu, type option 42, Environments, and press ENTER. The Work<br />

with Environments panel displays.<br />

2 Select the appropriate environment with option 19=Special commands, and press<br />

ENTER. The Work with Environments Special Commands panel displays.<br />

3 Press F6=Create.


Lotus Domino Integration<br />

4 Complete this panel based on your requirements. The ISETDOMACL command syntax<br />

and command parameters are described next. For a description of the fields on this<br />

panel, see the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> User <strong>Guide</strong>.<br />

5 When you have finished, press ENTER to create the special command.<br />

6 Repeat these steps for each applicable environment.<br />

ISETDOMACL Command Syntax<br />

ISETDOMACL DB(NAME)<br />

ACLDIR(*FILE or *COMMENT)<br />

ACLFILE(FILE_NAME)<br />

ACLMBR(MEMBER_NAME)<br />

RQSNBR(<strong>Implementer</strong> request number)<br />

ISETDOMACL Command Parameters<br />

Database (DB)<br />

Specify the name of the Domino database to process.<br />

ACL directive source (ACLDIR)<br />

Specify where to retrieve the ACL control directives.<br />

*FILE Sets the ACL in check out or promotion. Retrieves the ACL control<br />

directives from an existing source physical file. You must also qualify<br />

the ACLFILE, Library, and ACLMBR parameters.<br />

*COMMENT Sets the ACL during promotion. Retrieves the ACL control directives<br />

from the promotion request comments you define when creating the<br />

promotion request. You must also qualify the RSQNBR parameter.<br />

ACL directive source file (ACLFILE)<br />

If you specified *FILE for the ACL directive source (ACLDIR) parameter, specify the name of<br />

the file to read the ACL directives from.<br />

Library<br />

If you specified an ACL directive source file name, specify the name of the library associated<br />

with the file referenced.<br />

347


Chapter 6: Third Party Integrations<br />

348<br />

Member (ACLMBR)<br />

If you specified an ACL directive source file name, specify the file member to read.<br />

IMPORTANT Due to OS/400 limitations, the short member name generated by<br />

<strong>Implementer</strong> is not a valid ACLMBR name due to the tilde (~) character. Thus, if you<br />

are using the #SHORTNM substitution variable for the ACLMBR parameter in a<br />

special command in check out or promotion, each tilde character in the substituted<br />

value automatically translates to the number sign (#) character.<br />

For example, you specify the long file name databasefile.nsf, <strong>Implementer</strong><br />

generates the name database~1, and creates the directive source member name<br />

database#1.<br />

Request number (RQSNBR)<br />

If you specified *COMMENT in the ACL directive source (ACLDIR) parameter, specify the<br />

<strong>Implementer</strong> request number that contains the request comments.<br />

Setting ACLs in Check Out<br />

The IEXCCKOCMD and ISETDOMACL commands are used together to set a Domino ACL<br />

for development use when checking out to a *TST environment. After defining the<br />

ISETDOMACL command within the IEXCCKOCMD command as an environment level<br />

special command for the target environment, the command processes for all appropriate<br />

objects checked out to the environment. If a special command fails during check out, the<br />

process halts and the error displays. After correcting the problem you can retry the check out.<br />

This method requires defining the ACL directives in an existing source physical file.<br />

NOTE<br />

When defining the IEXCCKOCMD command to run the ISETDOMACL<br />

command, to avoid possible errors in the browser if an object does not exist in the<br />

target directory, set the ACTION parameter value to *CHANGE (rather than<br />

*CREATE). This issues the command for only items that are checked out for<br />

change.<br />

The ISETDOMACL command is applicable for setting an ACL on the iSeries<br />

server; however, do no use it in check out if the development (*TST) environment<br />

is on a local PC, for example, \QNTC\DEVDEMO\HOME\TST1.<br />

IEXCCKOCMD and ISETDOMACL Example<br />

In the following example, the special command is set to run after a successful check out.


Lotus Domino Integration<br />

The IEXCCKOCMD command is defined to process the ISETDOMACL command for all<br />

NSF objects checked out for change to the LOTUS_TST environment.<br />

Within the ISETDOMACL command, the substitution variable #PATHOBJ ensures the<br />

specified ACL processing occurs in the directory of the target environment.<br />

The ACL directives are defined in a source file, which you define by the use of<br />

ACLDIR(*FILE).<br />

Setting ACLs in Promotion<br />

The IEXCRQSDTL and ISETDOMACL commands are used together to set a Domino ACL in<br />

a target environment during promotion. After defining the ISETDOMACL command within<br />

the IEXCRQSDTL command as an environment-level special command for the target<br />

environment, the command processes for all appropriate objects on the promotion request.<br />

With this method, you have the option to place the ACL directives in either an existing source<br />

physical file or the <strong>Implementer</strong> promotion request comments. When setting a standard<br />

ACL, <strong>MKS</strong> recommends you retrieve the ACL directives from a source physical file. When<br />

setting a specific ACL for a specific database, <strong>MKS</strong> recommends you retrieve the directives<br />

from the promotion request comments.<br />

IEXCRQSDTL and ISETDOMACL Examples<br />

In the following example, the special command is set to run before the move occurs.<br />

349


Chapter 6: Third Party Integrations<br />

350<br />

The IEXCRQSDTL command is defined to process the ISETDOMACL command for all<br />

NSF objects on a promotion request.<br />

Within the ISETDOMACL command, note the use of #FRMDIR/#OBJECT instead of<br />

#PATHOBJ. This ensures the specified ACL processing occurs in the work library rather<br />

than the target directory—if for any reason the ACL manipulation fails or the promotion<br />

fails, the production database is not effected.<br />

The ACL directives are defined in the request comments, which you set by the use of<br />

ACLDIR(*COMMENT).<br />

The following are additional examples of using the IEXCRQSDTL command to process the<br />

ISETDOMACL command in promotion.<br />

This example sets an ACL for a database from a file named ACLMASTER in the<br />

<strong>MKS</strong>IMUSR library, using a member name based on the short object code (derived by<br />

<strong>Implementer</strong>). This allows you to specify the ACL on a database basis.<br />

ISETDOMACL DB('#FRMDIR/#OBJECT')<br />

ACLDIR(*FILE)<br />

ACLFILE(<strong>MKS</strong>IMUSR/ACLMASTER)<br />

ACLMBR('#SHORTNM')<br />

NOTE Due to OS/400 limitations, if the #SHORTNM substitution variable for the<br />

ACLMBR parameter contains any tilde characters, the substituted value<br />

automatically translates to the number sign (#) character. For details, see<br />

“MEMBER” in “ISETDOMACL Command Parameters” on page 347.


Lotus Domino Integration<br />

This example sets an ACL the same for all databases promoted in the environment.<br />

ISETDOMACL DB('#FRMDIR/#OBJECT')<br />

ACLDIR(*FILE)<br />

ACLFILE(<strong>MKS</strong>IMUSR/ACLMASTER)<br />

ACLMBR('ACLMASTER')<br />

This example sets an ACL based on the target environment. The ACL is specified by<br />

creating a member in file <strong>MKS</strong>IMUSR/ACLMASTER using the target environment<br />

name as the member name.<br />

ISETDOMACL DB('#FRMDIR/#OBJECT')<br />

ACLDIR(*FILE)<br />

ACLFILE(<strong>MKS</strong>IMUSR/ACLMASTER)<br />

ACLMBR('#TRGENV')<br />

Database and Template Signing<br />

<strong>Implementer</strong> provides the ability to sign Domino databases (NSF) and template files (NTF)<br />

during promotion to QA and production environments. The signed databases and templates<br />

can be promoted to one or more host and remote iSeries systems. If signing fails for any<br />

reason, the promotion request is set to a move fail status, and messages related to the failure<br />

are sent to the iSeries job log.<br />

Key Considerations<br />

This feature requires Lotus Domino 6.0 or later running on the iSeries.<br />

Setup of this feature in Domino requires the assistance of a Domino database<br />

administrator who is familiar with how Lotus Domino is configured in your shop.<br />

All signing is performed by a single Domino agent application running in a Domino<br />

Web server.<br />

Signing is performed on the source system prior to moving the database and template to<br />

the target system/environment.<br />

The user that performs signing must be either the administrator or full administrator<br />

and have manager rights to the database being signed.<br />

Each user who has rights to sign databases for the target system must be set up in<br />

<strong>Implementer</strong> on the source system.<br />

Lotus Domino Setup<br />

The setup tasks in Lotus Domino require a database administrator to do the following:<br />

351


Chapter 6: Third Party Integrations<br />

352<br />

Install the <strong>MKS</strong>Utility.nsf database (provided with <strong>Implementer</strong>) into the Domino<br />

Server directory of your choice (based on your Lotus Domino configuration). This is the<br />

Domino agent signing application.<br />

The utility database installs into the standard root IFS space on your iSeries when you<br />

install or upgrade <strong>Implementer</strong>. The default installation location is:<br />

/<strong>MKS</strong>/<strong>Implementer</strong>/product_library/Domino/<strong>MKS</strong>Utility.nsf<br />

Ensure the <strong>MKS</strong>Utility.nsf database is signed by a user that has privileges to Run<br />

Unrestricted Methods and Operations on the server where database signing occurs.<br />

Apply any necessary ACLs to the database as needed.<br />

CAUTION Future upgrades of <strong>Implementer</strong> require you recopy the database, re-sign<br />

the database, and re-apply any other changes, for example, ACLs.<br />

Configure the Domino Server to have the Domino Web Engine use Session<br />

Authentication with either Single Server or Multiple Servers.<br />

<strong>Implementer</strong> Setup<br />

The setup tasks in <strong>Implementer</strong> include the following:<br />

Define the Domino server URL and Domino users in <strong>Implementer</strong>.<br />

Define a special command for each Lotus Domino environment that manages the<br />

databases and templates to be signed. Define the ISGNDOMDB command within the<br />

<strong>Implementer</strong> special command processor IEXCRQSDTL at the environment level, to run<br />

for any promotion action except the delete action.<br />

To define the Domino Server URL and Domino users<br />

NOTE This task requires an <strong>Implementer</strong> user profile that has authority to maintain<br />

System Control Maintenance.<br />

1 From the <strong>Implementer</strong> Menu, type 45, System Control Maintenance, and press ENTER.<br />

2 Press PAGE DOWN twice to access the third System Control Maintenance panel.


Lotus Domino Integration<br />

3 In the Domino server URL field, specify the Lotus Domino server URL location that<br />

points to the Domino database signing application <strong>MKS</strong>Utility.nsf.<br />

This must be a valid URL that includes any subdirectories necessary to find the<br />

<strong>Implementer</strong> utility database <strong>MKS</strong>Utility.nsf, for example,<br />

http://servername.domain:port/subdir.<br />

4 Press F13=Domino Credentials to display the Work with Domino Users panel.<br />

5 Press F6=Add.<br />

6 In the Domino user-id field, specify the Domino user ID that has authority to sign<br />

databases and templates.<br />

7 In the Password field, specify the corresponding password for the Domino user ID. (The<br />

password does not display on this panel.)<br />

8 Press ENTER to return to the Work with Domino Users panel. Continue adding Domino<br />

users, or press F3=Exit.<br />

To define the special command<br />

1 From the <strong>Implementer</strong> Menu, type option 42, Work with Environments, and press<br />

ENTER.<br />

2 Select the Lotus Domino environment with option 19=Special Commands, and press<br />

ENTER. The Work with Environment Special Commands panel displays.<br />

3 Press F6=Create. The Expanded Command Display panel displays.<br />

4 In the For Action field, type 4=Move. (Valid to run only on the host system.)<br />

5 In the When to do field, type 1=Before.<br />

353


Chapter 6: Third Party Integrations<br />

354<br />

6 In the Sequence number field, specify when to issue the command in relation to any<br />

other special commands defined for the environment.<br />

7 In the Command field, type IEXCRQSDTL and press F4=Prompt.<br />

8 Complete the remaining field parameters as described in the next section. For details on<br />

the IEXCRQSDTL special command and special command processing, see the<br />

<strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> User <strong>Guide</strong>.<br />

9 Press ENTER to add the command.<br />

10 Repeat these steps for each applicable environment and object code as needed.<br />

Sign Domino Database (ISGNDOMDB) Command Parameters<br />

Domino database (DB)<br />

Specify the name of the database to sign. Enclose the value in quotes as illustrated in<br />

“ISGNDOMD Command Syntax”.<br />

Domino userid (USER)<br />

Specify the Domino user ID that has a authority to sign the database.<br />

ISGNDOMD Command Syntax<br />

ISGNDOMDB DB('database_name') USER(authorized_user_ID)<br />

Example of IEXCRQSDTL and ISGNDOMDB Command<br />

IEXCRQSDTL OBJCODE(.NSF)<br />

NAME(*ALL)<br />

ACTION(*CHANGE)<br />

RQSNBR(#RQSNBR)<br />

TARGET(#TRGENV)<br />

COMMAND(ISGNDOMDB DB('#FRMDIR/#OBJECT') USER('user_ID')<br />

PathFinder Integration<br />

TIP If the environment manages only .NSF and .NTF objects codes, you can specify<br />

OBJCODE (*ALL) to allow signing both object types with one special command.<br />

<strong>Implementer</strong> interfaces with PathFinder, a documentation utility product from Hawkeye<br />

Systems, Inc. <strong>Implementer</strong> works with PathFinder Versions 5.1 or later.<br />

<strong>Implementer</strong> supports all cross-environment related objects defined within the primary<br />

Hawkeye database library. <strong>Implementer</strong> uses PathFinder information for related object<br />

processing during check out and create request.


PeopleSoft World Integration<br />

Before using PathFinder information with <strong>Implementer</strong>, in Work with Environments you<br />

must define each environment that PathFinder documents. In addition, you must run the<br />

PathFinder “Build Object Cross Reference” for each library defined within the environments.<br />

For more information on this function, see the PathFinder User Manual and online help.<br />

Once PathFinder is enabled, related object information is available in check out to help<br />

determine the members/objects impacted by a planned change. When items are checked<br />

back into the environments documented by PathFinder, you can specify to add related<br />

objects to the request. This analysis is done using the information previously loaded into<br />

PathFinder.<br />

NOTE Hawkeye does not currently support cross-environment related object<br />

processing for objects that exist in *QAC environments.<br />

To define Pathfinder for an environment<br />

1 From the <strong>Implementer</strong> Menu, type option 42, Environments, and press ENTER. The Work<br />

with Environments panel displays.<br />

2 Select the environment with option 2=Change and press ENTER.<br />

3 Press PAGE DOWN to access the second panel.<br />

4 In the Maintain related obj info field, type Y.<br />

5 In the Source of information field, type 2 for PathFinder.<br />

IMPORTANT PathFinder does not currently support ILE programs in the Real Time<br />

X-Ref Update (REALUPD) command. However, <strong>Implementer</strong> allows you to bypass<br />

the attempted real time update for these objects to prevent errors on promotions.<br />

Data area IMBNDUPD in the <strong>Implementer</strong> product library is shipped with a value<br />

of N to bypass the update. Once you receive a version of PathFinder that supports<br />

ILE programs, change the value of this data area to Y. When the data area is set to N,<br />

<strong>Implementer</strong> does not update the PathFinder database for ILE programs; thus, run<br />

normal PathFinder updates regularly to keep your data current.<br />

PeopleSoft World Integration<br />

The <strong>Implementer</strong> Adapter for PeopleSoft World (formerly J.D. Edwards) manages PeopleSoft<br />

World applications. The interface is available by purchasing and installing the separately<br />

licensed <strong>Implementer</strong> Adapter for PeopleSoft World software. The integration requires a<br />

specific license key for activation.<br />

355


Chapter 6: Third Party Integrations<br />

356<br />

<strong>Implementer</strong> supports the management of PeopleSoft World soft coding items such as User<br />

Defined Code, DreamWriters, Member Master, Data Dictionary, Vocabulary Override,<br />

WorldWriter, FASTR, and Processing Option. <strong>Implementer</strong> also manages PeopleSoft World<br />

traditional objects, such as RPG and CLP, and includes updating the Software Version<br />

Repository (SVR).<br />

<strong>Implementer</strong> provides object codes specifically for checking out and promoting PeopleSoft<br />

World soft coding items to and from PeopleSoft World special environments. The check out<br />

function locks the name of the PeopleSoft World soft coding item, allowing you to develop<br />

and promote PeopleSoft World items in a controlled method. Distribution of PeopleSoft<br />

World soft coding items to remote locations is supported. <strong>Implementer</strong>’s reports and<br />

inquiries track the PeopleSoft World items it manages.<br />

This release of <strong>Implementer</strong> provides support for any PeopleSoft World 8.X version. After<br />

following the initial instructions in the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> Installation <strong>Guide</strong>, perform the<br />

following tasks to configure the host system.<br />

Configuring the Interface<br />

The interface objects are shipped in the <strong>Implementer</strong> product library in save file IMJDESAVF.<br />

You must restore the save file to the PeopleSoft World interface library IMJDE. This library is<br />

referred to as IMJDE or the interface library throughout this chapter.<br />

The setup instructions assume both <strong>Implementer</strong> and PeopleSoft World are installed on the<br />

system. The additional set up activities include the following:<br />

Restore the interface save file objects.<br />

Apply license keys.<br />

Define the MWIJOBD job description.<br />

Enable PeopleSoft World support in <strong>Implementer</strong>.<br />

Set up environments to handle PeopleSoft World soft coding items and associate each<br />

environment with the common library where PeopleSoft World applications are located.<br />

Set up archiving.<br />

Activate object codes.<br />

Set up environment groups (optional).<br />

Configure remote systems, if applicable.<br />

IMPORTANT To manage PeopleSoft World soft coding items, you must add the PeopleSoft<br />

World product libraries JDFSRC, JDFDATA, and JDFOBC to your interactive library list.<br />

For more information, see the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> User <strong>Guide</strong>.


To restore the interface save file objects<br />

PeopleSoft World Integration<br />

After installing <strong>Implementer</strong>, sign on to the system as the security officer and issue the<br />

following command:<br />

RSTOBJ OBJ(*ALL)<br />

SAVLIB(DSSII)<br />

DEV(*SAVF)<br />

SAVF(<strong>MKS</strong>IM/IMJDESAVF)<br />

RSTLIB(IMJDE)<br />

IMPORTANT The IMJDE library must be on the system prior to restoring the save file<br />

objects. If it does not exist, use the Create Library (CRTLIB) command to create it,<br />

and then issue the Restore Object (RSTOBJ) command as indicated.<br />

To apply the security codes for the host system<br />

1 Add the <strong>Implementer</strong> PeopleSoft World interface library to your library list by issuing<br />

the following command:<br />

ADDLIBLE (IMJDE)<br />

2 Type the RESETCOD command, and press F4 to prompt. The Reset Security Codes panel<br />

displays.<br />

In the <strong>Implementer</strong> library field, type the interface library name, IMJDE.<br />

In the next four fields (Security Code #1 through Security Code #4) specify the<br />

security codes for up to four iSeries systems. Type each code (provided with the<br />

product media) in the appropriate field.<br />

3 Press ENTER.<br />

To define the MWIJOBD job description<br />

Verify the following libraries exist in the MWIJOBD library list:<br />

<strong>Implementer</strong> PeopleSoft World Interface library (IMJDE).<br />

PeopleSoft World product libraries (JDFDATA and JDFOBJ).<br />

IMPORTANT Your interactive library list must have the IMJDE library above the<br />

PeopleSoft World product libraries.<br />

To enable PeopleSoft World support in <strong>Implementer</strong><br />

In System Control Maintenance, set the PeopleSoft installed field to Y.<br />

357


Chapter 6: Third Party Integrations<br />

Environment Setup<br />

358<br />

Once you define environments for PeopleSoft World integration, any new object codes you<br />

create support the PeopleSoft World compiles. The environments include both PeopleSoft<br />

World object codes (that call the PeopleSoft World compiler) and standard object codes (that<br />

call the OS/400 compiler). You can optionally deactivate the standard object codes if they are<br />

not used. For details, see “Deactivating Standard Object Codes” on page 361.<br />

NOTE If you create an environment group for PeopleSoft World soft coding items,<br />

the primary environment must be a PeopleSoft World environment.<br />

To set up PeopleSoft World special environments<br />

1 Set up standard environments to manage PeopleSoft World applications.<br />

2 To associate the standard environment with a PeopleSoft World common library, use<br />

option 16 in the Work with Environments panel. Once the existing environment is<br />

associated with a PeopleSoft World common library, it becomes a special PeopleSoft<br />

World special environment. The common library name you specify must exist<br />

(<strong>Implementer</strong> does not create a common library).<br />

To identify this as a special environment, PeopleSoft displays in the Special<br />

Environment field on the second detailed Change Environment panel. If you remove the<br />

common library name, the environment type reverts to Standard.<br />

3 From the Change Environment panel, press F13=Library List to change the compile<br />

library list in the environment definition to include the following libraries:<br />

<strong>Implementer</strong> PeopleSoft World Interface library (IMJDE).<br />

PeopleSoft World product libraries (JDFSRC, JDFDATA, and JDFOBJ).<br />

IMPORTANT Your interactive library list must have library IMJDE above the<br />

PeopleSoft World product libraries. The PeopleSoft World common library does not<br />

need to be on the environment library list; when it is defined on the PeopleSoft<br />

World setup panel, <strong>Implementer</strong> adds it when needed.<br />

Setting Up for Archiving Soft Coding Items<br />

You can archive PeopleSoft World soft coding items such as DreamWriters and Data<br />

Dictionaries into an archive common library you specify for the environment. <strong>Implementer</strong><br />

also supports selective rollback of the archived soft coding items.<br />

An archive environment must be a PeopleSoft World special environment that has an<br />

associated archive common library.


To set up for archiving<br />

PeopleSoft World Integration<br />

1 From the <strong>Implementer</strong> Menu, type 42, Environments, and press ENTER. The Work with<br />

Environments panel displays.<br />

2 Select the environment to set up with option 16=PeopleSoft, and press ENTER. The<br />

Change Environment panel displays.<br />

3 In the PeopleSoft archive library field, specify a valid archive library name for archiving<br />

the soft coding items. The library should be the same name as the <strong>Implementer</strong> archive<br />

library assigned to the environment.<br />

4 Press ENTER to save the entry.<br />

5 Press F12 to return to the Work with Environments panel.<br />

6 Type option 2=Change and press ENTER. The Change Environment panel displays.<br />

7 Specify a value in the Source library field. In the Archive Versions field, specify the<br />

number of archive versions to retain for PeopleSoft World soft coding items. These fields<br />

establish the archiving of PeopleSoft World soft coding items.<br />

8 Press ENTER.<br />

Object Codes for Soft Coding Items<br />

Use the following object codes and matching special characteristics delivered with<br />

<strong>Implementer</strong> to manage PeopleSoft World soft coding items. You must first activate the<br />

object codes (in Work with Object Codes) for all applicable environments.<br />

NOTE For information on activating and deactivating object codes, see “Object<br />

Codes” on page 127.<br />

If needed you can override the common library for all PeopleSoft World soft coding items.<br />

On the object code overrides panel, select the PeopleSoft World environment with option<br />

2=Change, and press F8=Object Codes.<br />

Object Code Description<br />

JDEUDE User Defined Code (UDC).<br />

JDEUDS User Defined Code tables, to set up or change update authorization for specific<br />

users, PeopleSoft World user class/group, or *PUBLIC. Allows you to control<br />

which users are authorized to change certain UDC tables.<br />

JDEDWR DreamWriters.<br />

JDEMBM Member Masters.<br />

JDEDDC Data Dictionaries.<br />

359


Chapter 6: Third Party Integrations<br />

Object Codes for Traditional Objects<br />

360<br />

Object Code Description<br />

JDEVOV Vocabulary overrides.<br />

JDEMNU Menus.<br />

JDEWWR WorldWriters.<br />

JDEFST FASTR.<br />

JDEPRO Processing Options.<br />

JDEWCS World Case.<br />

JDNSPC For traditional objects (like RPG, CLP), required to update the Software Version<br />

Repository in PeopleSoft World for traditional objects.<br />

Use the following object codes delivered with <strong>Implementer</strong> to manage PeopleSoft World<br />

traditional objects. You must first activate the object codes (in Work with Object Codes) for all<br />

applicable environments.<br />

Object Code/ Description<br />

JDEDSPF Display file.<br />

JDEPF Physical file.<br />

JDELF Logical file.<br />

JDECLP CL program.<br />

JDERPG RPG program.<br />

JDEPRTF Generates printer file overrides during promotion (valid for local compiles only).<br />

With the exception of the JDEPRTF object code, each object code has the special characteristic<br />

JDNSPN. The JDEPRTF object code has the special characteristic JDNPRTF, which adopts the<br />

same functionality as the JDNSPC special characteristic. All traditional objects managed by<br />

<strong>Implementer</strong> with these object codes/special characteristics update the Software Version<br />

Repository (SVR) in PeopleSoft World during check out and promotion. The objects must<br />

exist as member IDs in the SVR file. When working with a new object, you must first create<br />

the member ID in the SVR file to enable <strong>Implementer</strong> updates.<br />

IMPORTANT Only one copy of JDE files F9801 and F9802 can exist across your<br />

environments. In other words, the production, QA, and development environments<br />

share these two files; multiple copies of these files cause incorrect SVR updates.


Deactivating Standard Object Codes<br />

PeopleSoft World Integration<br />

You can deactivate any standard object codes not needed for PeopleSoft World special<br />

environments.<br />

To deactivate standard object codes for PeopleSoft World environments<br />

1 From the <strong>Implementer</strong> Menu, type option 42, Environments, and press ENTER.<br />

2 In the Opt field, type 2=Change, and press ENTER. The Change Environment panel<br />

displays.<br />

3 Press F8=Object Codes. The Change Environment Object Code Overrides panel displays.<br />

4 In the Act Flg field, type N next to each object code to deactivate in the environment.<br />

5 Press ENTER to save the changes.<br />

Installing the Interface on Remote Systems<br />

<strong>Implementer</strong> supports the distribution of PeopleSoft World soft coding items such as User<br />

Defined Code, DreamWriters, and Member Masters to remote systems. This section pertains<br />

to sending PeopleSoft World soft coding items to remote systems using the <strong>Implementer</strong><br />

Receiver.<br />

The interface objects are shipped with <strong>Implementer</strong> in save file IMJDESAVF, which is<br />

automatically installed when you install the <strong>Implementer</strong> Receiver. You must restore the<br />

save file to the <strong>Implementer</strong> Receiver product library, <strong>MKS</strong>IR. After installing the<br />

<strong>Implementer</strong> Receiver, perform the following tasks to configure the remote system.<br />

To restore interface save file objects on a remote system<br />

1 Sign on to the remote system as the system security officer.<br />

2 Issue the following command:<br />

RSTOBJ OBJ(*ALL)<br />

SAVLIB(DSSII)<br />

DEV(*SAVF)<br />

SAVF(<strong>MKS</strong>IR/IMJDESAVF)<br />

RSTLIB(<strong>MKS</strong>IR)<br />

IMPORTANT On the <strong>Implementer</strong> Receiver, restore the interface objects into the<br />

<strong>Implementer</strong> Receiver library <strong>MKS</strong>IR. If you changed the name of the <strong>Implementer</strong><br />

Receiver library, replace <strong>MKS</strong>IR with the new name.<br />

Because any subsequent upgrades to the <strong>MKS</strong>IR library overwrite the restored save<br />

file objects, when upgrading the <strong>Implementer</strong> Receiver you must perform these<br />

tasks again to reinstall the interface objects.<br />

361


Chapter 6: Third Party Integrations<br />

362<br />

To apply security codes to the remote system<br />

1 Add the <strong>Implementer</strong> Receiver library to your library list by issuing the following<br />

command:<br />

ADDLIBLE <strong>MKS</strong>IR<br />

2 Type the RESETCOD command, and press F4 to prompt the command. The Reset Security<br />

Codes panel displays.<br />

In the Remote <strong>Implementer</strong> library field, specify the remote <strong>Implementer</strong> Receiver<br />

library name (<strong>MKS</strong>IR is the default library name).<br />

In the Security Code #1 through Security Code #4 fields, specify the security code<br />

(provided with the product media) for up to four iSeries systems.<br />

3 Press ENTER.<br />

4 To reset authority on the restored objects, ensure the <strong>Implementer</strong> libraries are on the<br />

library list, and issue the following command.<br />

IGRTAUT LIBNAM(<strong>MKS</strong>IR)OBJNAME(*ALL)<br />

Ignore any error messages after issuing this command.<br />

5 Change the library list in the job description of the communications entry to include the<br />

PeopleSoft World product libraries.<br />

IMPORTANT The job description must include the PeopleSoft World libraries to avoid<br />

the abnormal end of promotions with PeopleSoft World soft coding items.<br />

Ensure the user profile MWIPROD has data management authority to all files in all<br />

PeopleSoft World libraries on the host and remote systems. In addition, enroll<br />

MWIPROD as part of “GROUP” within PeopleSoft World.<br />

Powerhouse (Cognos) Integration<br />

Using <strong>Implementer</strong> with Powerhouse (Cognos) requires creating an object code for each of<br />

the Cognos creation commands: QTP, QUIZ, QUICK, and QDESIGN.<br />

To create the object codes<br />

1 From the <strong>Implementer</strong> Menu, type option 44, Object Codes, and press ENTER. The Work<br />

with Object Codes panel displays.<br />

2 Press F6=Add to display the Create Object Code panel.


3 Complete the fields using the values described in the following tables.<br />

Powerhouse (Cognos) Integration<br />

The examples illustrate each object code having the same name as the creation command<br />

it is created for. However, this is merely a suggestion; you can assign any object code<br />

name to the object code.<br />

4 When finished, press ENTER to save the information.<br />

QTP Object Code<br />

Field Value<br />

Object code/Description QTP (QTP Program (PowerHouse))<br />

Activity flag 1<br />

Object type *USRSPC<br />

Object attribute QTP<br />

Source member type QTP<br />

Default source file PHZTSRC<br />

Creation sequence 519<br />

Special characteristics COGPT<br />

Object authority *KEEP<br />

Creation process C<br />

Creation command QTP DICTIONARY(*LIBL/COGNOSSLS)<br />

AUTO(#SRCLIB/SRCFIL #OBJECT)<br />

QUIZ Object Code<br />

Field Value<br />

Object code/Description QUIZ (QUIZ program)<br />

Activity flag 1<br />

Object type *USRSPC<br />

Object attribute QUIZ<br />

Source member type QUIZ<br />

Default source file PHQZSRC<br />

Creation sequence 518<br />

Special characteristics COGPZ<br />

Object authority *KEEP<br />

Creation process C<br />

Creation command QUIZ DICTIONARY(*LIBL/COGNOSSLS)<br />

AUTO(#SRCLIB/#SRCFIL #OBJECT)<br />

363


Chapter 6: Third Party Integrations<br />

ROBOT Integration<br />

364<br />

Field Value<br />

QUICK Object Code<br />

Object code/Description QUICK (QUICK Program (PowerHouse))<br />

Activity flag 1<br />

Object type *USRSPC<br />

Object attribute QUICK<br />

Source member type QUICK<br />

Default source file PHQKSRC<br />

Creation sequence 517<br />

Special characteristics COGPK<br />

Object authority *KEEP<br />

Creation process C<br />

Creation command QUICK DICTIONARY(*LIBL/COGNOSSLS)<br />

AUTO(#SRCLIB/#SRCFIL #OBJECT)<br />

Field Value<br />

QDESIGN Object Code<br />

Object code QDESIGN (QDESIGN Program (PowerHouse))<br />

Activity flag 1<br />

Object type *USRSPC<br />

Object attribute QDESIGN<br />

Source member type QDESIGN<br />

Default source file PHQZSRC<br />

Creation sequence 520<br />

Special characteristics COGPZ<br />

Object authority *KEEP<br />

Creation process C<br />

Creation command QDESIGN DICTIONARY(*LIBL/COGNOSSLS)<br />

AUTO(#SRCLIB/#SRCFIL #OBJECT)<br />

<strong>Implementer</strong> supports using ROBOT for job scheduling. With this integration, you can<br />

identify one or more target environments for ROBOT to use when submitting promotion jobs<br />

such as compiles and moves. You can also use ROBOT for other <strong>Implementer</strong> jobs unrelated<br />

to promotions, such as submitting reports.


Setting Up Non Promotion Jobs<br />

WebSphere Development Studio Client for iSeries Integration<br />

The following task describes how to set up <strong>Implementer</strong> to use ROBOT for scheduling non<br />

promotion jobs.<br />

To enable ROBOT scheduling<br />

1 From the <strong>Implementer</strong> Menu, type option 45, System Control Maintenance, and press<br />

ENTER.<br />

2 Press PAGE DOWN to display the second panel.<br />

3 In the Submission method for non-promotion functions field, type 2. This enables the use<br />

of ROBOT for scheduling in place of standard OS/400 scheduling.<br />

4 Press ENTER to save the change.<br />

Setting Up Promotion Jobs<br />

The following task describes how to set up a target environment for job scheduling with<br />

ROBOT. For promotion requests that target multiple environments, the primary environment<br />

controls whether ROBOT is used.<br />

To setup target environments for ROBOT<br />

1 From the <strong>Implementer</strong> Menu, type option 42, Environments, and press ENTER. The Work<br />

with Environments panel displays.<br />

2 Use option 13=Promotion scheduling to select an environment. The Change<br />

Environment panel displays.<br />

3 In the Job submitted by field, type 2 to specify ROBOT is used to schedule promotions to<br />

the selected environment.<br />

4 Press ENTER to process the update.<br />

WebSphere Development Studio Client for<br />

iSeries Integration<br />

The IBM WebSphere® Development Studio Client for iSeries (WDSc) plug-in for<br />

<strong>Implementer</strong> allows users to access <strong>Implementer</strong>’s version control functions from within<br />

<strong>Implementer</strong>-specific, context-sensitive menu options on the WDSc Remote System Explorer<br />

(RSE) menu.<br />

365


Chapter 6: Third Party Integrations<br />

Overview<br />

366<br />

This fully integrated solution provides support for your Integrated Development<br />

Environment (IDE) native and client/server software development targeted for an iSeries,<br />

allowing you to access the functionality of <strong>Implementer</strong> while working within IBM’s Eclipsebased<br />

technology in the following iSeries-focused offerings:<br />

WebSphere Development Studio Client for iSeries (includes WebSphere Studio Site<br />

Developer (WSSD)).<br />

WebSphere® Development Studio Client Advanced Edition for iSeries (includes<br />

WebSphere Studio Application Developer (WSAD)).<br />

For the purpose of this guide, both offerings are referenced as WDSc.<br />

The plug-in blends transparently into the IDE, allowing you to work within the framework of<br />

your existing <strong>Implementer</strong> software configuration management (SCM) structure. The<br />

integration additionally supports using <strong>MKS</strong> Integrity for issue management, and<br />

<strong>MKS</strong> Source for your PC-based development.<br />

NOTE The setup tasks related to this integration are typically performed by each<br />

developer (rather than an administrator) on individual clients; therefore, the setup<br />

tasks are described in the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> User <strong>Guide</strong> rather than this guide.<br />

WDSc is an IBM development tool used for developing multiple types of applications for an<br />

iSeries. It is the iSeries offering of IBM’s Eclipse-based WebSphere Studio Workbench<br />

(WSW). It includes the full functionality of WebSphere Studio Site Developer Advanced<br />

(WSSDA) and additional major components specific to the iSeries.<br />

In WDSc, perspectives are used to manage the iSeries development. A perspective is a group of<br />

views that show various aspects of the resources on the workbench. A user can switch<br />

perspectives, depending on the current task, and customize the layout of the views and<br />

editors within each perspective.<br />

WDSc has three perspectives for iSeries development. This document describes the use of the<br />

iSeries Projects and Remote Systems Explorer (RSE) perspectives as they relate to using the<br />

fully integrated WDSc plug-in for <strong>Implementer</strong>.<br />

The following shows a graphical view of the plug-in from within the RSE perspective.


WebSphere Development Studio Client for iSeries Integration<br />

After performing an <strong>Implementer</strong> check out, the member is opened in the default LPEX editor<br />

for modification. Once the changes are complete, the member is ready for compiling and<br />

promotion—all from within WDSc.<br />

The types of users that benefit from using this integration include native iSeries developers<br />

who use RSE, and native iSeries developers who use iSeries Projects.<br />

To highlight some of the integration features, developers have:<br />

<strong>Implementer</strong>-specific, context-sensitive menu options on the Remote System Explorer<br />

menu in WDSc that provide direct access to the <strong>Implementer</strong> SCM functions of check<br />

out, reject, promotion, and processing. This includes access to the <strong>Implementer</strong> compile<br />

function from within WDSc, ensuring compiles retain all existing attributes like when<br />

run from the <strong>Implementer</strong> Workbench.<br />

Flexibility with process changes, where any SCM process can be performed on the<br />

<strong>Implementer</strong> Workbench or from within WDSc. Team members can use their interface of<br />

choice, regardless of which interface other team members use or which interface was<br />

used for a prior process. For example, you can check out through the <strong>Implementer</strong><br />

Workbench, and then edit and compile through WDSc.<br />

367


Chapter 6: Third Party Integrations<br />

368<br />

An <strong>Implementer</strong> properties page provides clear visibility to current member and object<br />

information for all items under the control of <strong>Implementer</strong>. For example, it shows the<br />

current status and environment, as well as the lock details for all active locks on a<br />

specific item.<br />

For diagnostic purposes, a log generates for all <strong>Implementer</strong> actions performed within<br />

WDSc. A preferences facility allows you to set the message logging level to record<br />

specific types of messages, for example, error messages, warning messages, or<br />

informational messages.<br />

For <strong>MKS</strong> Integrity customers, the integration supports tracking your iSeries<br />

development with issues, and further integrates with the <strong>MKS</strong> Integrity® Worktray<br />

Plug-in for Eclipse. The worktray plug-in allows a developer to view <strong>MKS</strong> Integrity<br />

issues, <strong>MKS</strong> Source change packages, and <strong>Implementer</strong> change packages without exiting<br />

from the WDSc environment.<br />

For <strong>MKS</strong> Source customers, <strong>MKS</strong> provides additional support for WDSc. <strong>MKS</strong>’s<br />

integration with WebSphere Studio Workbench (WSW) allows users to access<br />

<strong>MKS</strong> Source version control commands when using the WSSDa component of WDSc to<br />

perform Web and client/server development.<br />

For more information on WebSphere Studio Workbench, browse to:<br />

www.ibm.com/software/ad/workbench<br />

WDSc for iSeries Requirements<br />

IMPORTANT For additional information related to requirements and assumptions,<br />

see the Readme file included with the <strong>Implementer</strong> plug-in.<br />

To configure and use the <strong>Implementer</strong> and WDSc integration, in RSE you need to define<br />

a connection to the iSeries system where <strong>Implementer</strong> is installed. For more information<br />

on creating a new system connection or connecting to the system, refer to the<br />

appropriate WDSc documentation or online help.<br />

Install and configure WDSc 6 or WDSc 5 on each client. If using WDSc 5, <strong>MKS</strong><br />

recommends you use WDSc 5.1.2.<br />

You must install and configure any required client service packs.<br />

You must install and configure the required host components. For details browse to:<br />

http://www-306.ibm.com/software/awdtools/wdt400/sysreq/index.html<br />

OS/400 V5R1 or later is required on the iSeries that hosts <strong>Implementer</strong>. <strong>MKS</strong><br />

recommends you check with IBM for PTFs required for WDSc.


WebSphere Development Studio Client for iSeries Integration<br />

This guide assumes you know how to use WebSphere Studio Site Developer and<br />

WebSphere Development Studio Client for iSeries. For information on using either<br />

product, refer to the appropriate IBM product documentation or online help.<br />

<strong>Implementer</strong> Requirements<br />

Install and configure <strong>Implementer</strong> <strong>2006</strong>. For information on installing <strong>Implementer</strong>, see<br />

the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> Installation <strong>Guide</strong>.<br />

Install <strong>Implementer</strong> plug-in version 5.7.x or later for use with WDSc 6.<br />

<strong>Implementer</strong> also provides plug-in version 5.6.x for use with WDSc 5. Integration with<br />

the <strong>MKS</strong> Integrity worktray plug-in requires <strong>Implementer</strong> plug-in version 5.6.1 or later.<br />

For more information, see the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> User <strong>Guide</strong>.<br />

Each <strong>Implementer</strong> production environment used for check out or promotion must have<br />

a development path defined. The paths may have been set up when <strong>Implementer</strong> was<br />

initially configured, verify they exist. Environment paths are defined in <strong>Implementer</strong><br />

Menu option 42, Environments. For details, see “Environments” on page 81.<br />

To ensure check out occurs to a development library when using personal development<br />

libraries, any applicable environments must have *USRPRF as the development location<br />

in the environment path. For more information, see the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> User<br />

<strong>Guide</strong>.<br />

Integration with <strong>MKS</strong> Integrity and the <strong>MKS</strong> Integrity® Worktray Plug-in for Eclipse<br />

requires installing and configuring <strong>MKS</strong> Integrity <strong>2006</strong> or later.<br />

369


Chapter 6: Third Party Integrations<br />

370


C HAPTER SEVEN<br />

Administrative Utilities<br />

Maintaining <strong>Implementer</strong><br />

7<br />

This chapter describes the various utilities and tools <strong>Implementer</strong> provides to assist<br />

you with setting up and maintaining <strong>Implementer</strong>.<br />

This chapter covers the following topics:<br />

“Submitting Job Overrides” on page 372<br />

“Resetting Authorities” on page 372<br />

“Purging Environment History” on page 374<br />

“Repository Maintenance” on page 376<br />

“Saving and Restoring Tape Archives” on page 379<br />

“Clearing Remote QA Environments” on page 384<br />

“User Capability Wizard” on page 385<br />

“Deleting Tutorial Information” on page 396<br />

“Function Key <strong>Administration</strong>” on page 397<br />

371


Chapter 7: Administrative Utilities<br />

Submitting Job Overrides<br />

372<br />

System Control Maintenance allows you to define a standard default job queue and library<br />

where all environment-related submitted jobs run. In Work with Environments, the<br />

F18=Submit Overrides function allows you to override the global defaults for the job queue<br />

and library. If you use the OS/400 job scheduler or ROBOT job scheduling, you can also<br />

schedule jobs to run for a specific date and time. The overrides remain in effect for any jobs<br />

submitted during the current session⎯in other words, until you exit from Work with<br />

Environments. This feature applies to submitting job overrides for promotion requests, as<br />

well as for the Build List, Reset Authorities, and Purge History functions.<br />

To submit job overrides<br />

1 From the Work with Environments panel, press F18=Submit Overrides. The Job<br />

Submission Overrides window displays.<br />

2 Complete the following fields as described.<br />

In the Job queue, Library, and Hold on job queue fields, specify the standard OS/400<br />

submit job parameters as required.<br />

In the Schedule date field, specify a date for the job to run. The default value is<br />

*CURRENT. You can change the value to any value valid for the Submit Job<br />

(SBMJOB) command.<br />

NOTE *MONTHSTR (start of the month) and *MONTHEND (end of the month) are<br />

not applicable when using ROBOT to submit promotion requests.<br />

In the Schedule time field, specify a time for the job to start. The default value is<br />

*CURRENT. You can change the value to any value valid for the Submit Job<br />

(SBMJOB) command. Specify Time Range fields in HH:MM:SS format.<br />

3 Press ENTER to process the overrides and return to the Work with Environments panel.<br />

Resetting Authorities<br />

Each environment has specific authorities as defined in Work with Environments. The<br />

Change Environment Object Authorities function allows you to define the user profiles that<br />

have authority to reference objects within the environment. The Reset Authorities function<br />

allows you to grant or revoke authorities for all objects in the libraries of any environment<br />

you have move capabilities for.<br />

The object ownership and authorities are reset based on how the authorities are defined for<br />

the environment. To ensure authorities reset for all objects, run the environment Build List<br />

prior to submitting the Reset Authorities.


Resetting Authorities<br />

Use this function for production environments when you initially set up <strong>Implementer</strong>, and<br />

when you need to:<br />

revoke all authorities from objects or libraries<br />

change owners of environment libraries<br />

change owners of all objects<br />

grant authorities for all objects<br />

<strong>Implementer</strong> sets authorities during promotion. If you need to change individual member/<br />

objects, in Create Request use option 2=Toggle Authority Method to toggle the authorities on<br />

specific members/objects from *KEEP (keeps the authority of the original object in the target<br />

environment) or *GRANT (grants authority based on the target environment).<br />

Key Considerations<br />

CAUTION If you set the environment authorities incorrectly, it could render the<br />

application software unusable by users due to insufficient authority to use the<br />

objects. Alternatively, it could also allow unauthorized access to the application and<br />

associated database files by granting too much authority.<br />

Use this function to establish the proper authorities for all objects within an<br />

environment, when authorities have changed in create request, or when you need to<br />

change them for a specific reason.<br />

You must have authority to host environment maintenance and move authority to reset<br />

authorities for a host environment. You must have authority to remote environment<br />

maintenance and move authority to reset authorities for a remote environment.<br />

Authority to host and remote environment maintenance is defined at the user level, in<br />

Work with Users. Move authority is defined at the environment level, in Work with<br />

Environments, User Capabilities.<br />

This job submits with the defaults defined in System Control. For information on<br />

overriding the job submission defaults, see “Submitting Job Overrides” on page 372.<br />

<strong>Implementer</strong> sets the authorities of IFS files within an environment’s directory the same<br />

as it sets the authorities on traditional objects and libraries. You must set the authorities<br />

when defining the environment.<br />

For new environments with no source library or source files, <strong>Implementer</strong> automatically<br />

creates the source library and source files during promotion, and sets the authorities<br />

based on the object authorities defined for the environment.<br />

373


Chapter 7: Administrative Utilities<br />

374<br />

When promoting to a Windows NT Server, IFS objects inherit the authorities of the<br />

target directory, regardless of authorities defined to the environment or existing on the<br />

from object. The object owner is user SDMAUTUSR (or the user profile defined to<br />

<strong>Implementer</strong> data area SDMAUTUSR). Unlike traditional objects, the object owner is not<br />

set by the Reset Authorities function.<br />

NOTE The Reset Authorities function does not change the authorities or owners of<br />

IFS objects in environments on a mounted drive.<br />

To reset authorities<br />

Common Questions<br />

1 From Work with Environments, select the environment with option 31, Reset<br />

Authorities, and press ENTER. A message displays confirming the action you are about to<br />

perform. (If you need to cancel without running the job, press F3=Exit or F12=Cancel.)<br />

2 Press F9=Submit to submit the reset authority job. The Work with Environments panel<br />

redisplays.<br />

What conditions warrant running Reset Authorities (other than when initially setting up the<br />

environment)?<br />

It may be necessary to run this function after initial setup if the libraries within the<br />

environments become corrupt external to <strong>Implementer</strong> use. You should restrict external<br />

access to the libraries you have under <strong>Implementer</strong>’s controlled.<br />

When is it necessary to rerun Reset Authorities and overwrite the authorities that exist?<br />

Use this function if users have either too much or not enough authority to an environment.<br />

Purging Environment History<br />

The Purge History function purges the <strong>Implementer</strong> database of completed promotion<br />

requests for a specific environment or globally for all environments. The function is available<br />

on both the host and remote system. On the host system, you can optionally purge lock status<br />

and history, object status history, and concurrent development activity.<br />

The function purges information from the <strong>Implementer</strong> database. It does not delete system<br />

objects or information. After purging, you can delete the environment if necessary.<br />

For details on deleting environments, see page 96.


Key Considerations<br />

Purging Environment History<br />

To purge host environments, you must have authority to environment maintenance and<br />

move authority for the environment. To purge remote environments, you must have<br />

authority to remote environment maintenance and move authority for the environment.<br />

Authority to host and remote environment maintenance is defined in Work with Users.<br />

Move authority is defined in Work with Environments, User Capabilities.<br />

When purging history for all environments (F19=Purge All History), users cannot access<br />

or use <strong>Implementer</strong> while the purge is running (requires a dedicated database). When<br />

purging specific environments, users cannot access the selected environment while the<br />

purge is running.<br />

Purging completed requests removes requests that completed on or before the purge<br />

date you specify. It removes the entire promotion request if the request is from the<br />

purged environment, or if the request targets a single environment and that<br />

environment is purged. If a request targets multiple environments and the secondary<br />

target environment is purged, it removes the purged primary environment from the<br />

request and the second environment becomes the primary environment on the request.<br />

In addition, <strong>Implementer</strong> adds a comment to the request, for example, “The primary<br />

target environment ‘name’ was purged on date by ‘user’.” When removing<br />

a purged secondary environment from the request, <strong>Implementer</strong> also adds a comment to<br />

the request, for example, “The target environment ‘name’ was purged on date<br />

by ‘user’.”<br />

You can optionally purge closed locks and object status history for production<br />

environments by specifying *ALL for the purge to date. If a lock is from or to the purged<br />

environment, it removes the lock and all related history. If a lock was copied from a<br />

purged environment, it removes any references to the environment from the lock and<br />

related history. If the history of a lock includes passing through a purged environment,<br />

the portion of history related to the purged environment.<br />

CAUTION Use this option cautiously—it purges the <strong>Implementer</strong> database of<br />

historical data, thereby removing audit trail information from production<br />

environments.<br />

Only requests that are non-release management packages can be removed. For details on<br />

purging release management environments, see the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> Release<br />

Management <strong>Guide</strong>.<br />

<strong>MKS</strong> recommends you print the Activity Report, option 31 on the <strong>Implementer</strong> Menu,<br />

prior to running Purge History. This report is useful for analyzing the status of all<br />

environments and projects.<br />

375


Chapter 7: Administrative Utilities<br />

376<br />

To purge environment history<br />

1 From the <strong>Implementer</strong> Menu, type option 42, Environments, and press ENTER.<br />

From the <strong>Implementer</strong> Receiver menu, type option 8, Environments, and press ENTER.<br />

On the remote system you also have the option to use the Purge History (IDBPRG)<br />

command. Type IDBPRG and press ENTER to display the Purge History window. The<br />

Purge History command is valid only on the <strong>Implementer</strong> Receiver.<br />

2 Select the environment to purge with option 32, Purge History. To purge history for all<br />

environments, press F19=Purge All History. The Purge History panel displays.<br />

3 Complete the fields as described in the following table of “Purge History Field<br />

Descriptions”.<br />

4 Press F9=Submit to submit the job (or press F3=Exit to cancel the purge function).<br />

NOTE For information on overriding the default job queue and submission method<br />

on the host system, see “Submitting Job Overrides” on page 372. On the remote<br />

system, data area IRJOBQ stores the remote job queue, and data area IRSBMMTD<br />

stores the submission method. For details, see “<strong>Implementer</strong> Data Areas” on<br />

page 402.<br />

Field Description<br />

Repository Maintenance<br />

Purge History Field Descriptions<br />

Environment Name If purging a single environment, this field defaults to the<br />

environment selected on the Work with Environments panel. If you<br />

selected to purge all environments, the field defaults to *ALL.<br />

Purge to date Specify the ending date to purge all completed requests. For<br />

promotion requests, this is the completion date of each request. For<br />

locks and object history, it is the date the lock was released on the<br />

host system. Specify *ALL to purge up to the current date.<br />

Purge lock/obj status history Specify whether to purge lock and object status history. This option<br />

is valid only for host production environments. Status history is not<br />

purged for locks released on the specified purge to date, or for<br />

existing locks with active concurrent development.<br />

Y: Purges lock and object status history.<br />

N: Does not purge lock and object status history. This is the<br />

default value.<br />

<strong>Implementer</strong>’s member/object repository is the source for items that display in Object<br />

Inquiry and Work with Objects. Repository Maintenance allows you to modify the object<br />

codes associated with traditional member/objects and IFS objects within the repository for an<br />

environment.


Repository Maintenance<br />

This is useful, for example, if unexpected results occur after running the Build List for an<br />

environment. You can modify an existing object code, such as change PFOBJ to PF after<br />

locating the source, without having to rerun the Build List. The IFS command is useful for<br />

loading IFS objects into the <strong>Implementer</strong> database.<br />

Key Considerations<br />

The Change Repository (ICHGREP) command allows you to add, change, or delete<br />

object codes for traditional member/objects.<br />

The Change Repository IFS (ICHGREPIFS) command allows you to add or delete object<br />

codes for IFS objects. You cannot change IFS object codes, because the object code is<br />

always the IFS extension (for example, .EXE) or the object short name.<br />

You must have standard move authority for the environment being maintained to issue<br />

the ICHGREP and ICHREPIFS commands.<br />

To maintain the repository for traditional member/objects<br />

At the command line, issue the following:<br />

ICHGREP FUNCTION(*ADD, *CHG, *DLT)<br />

NAME(MEMBER/OBJECT_NAME)<br />

ENV(ENVIRONMENT_NAME)<br />

OBJCODE(OBJECT_CODE_NAME)<br />

NEWOBJCODE(NEW_OBJECT_CODE_NAME)<br />

DLTDTA(Y, N)<br />

NOTE The parameter NEWTYPE is valid only for the *CHG function.<br />

To maintain the repository for IFS objects<br />

At the command line, issue the following:<br />

ICHGREPIFS FUNCTION(*ADD, *DLT)<br />

OBJ(IFS_OBJECT_NAME)<br />

ENV(ENVIRONMENT_NAME)<br />

DLTDTA(Y, N)<br />

377


Chapter 7: Administrative Utilities<br />

378<br />

Change Repository Command Parameters<br />

Function<br />

Specify the action to perform.<br />

*ADD Adds an item to the repository for the specified environment. This is the<br />

default value.<br />

*CHG Changes an item in the repository for the specified environment. Valid for<br />

traditional member/objects only.<br />

*DLT Deletes an item from the repository for the specified environment.<br />

Member or Object<br />

Specify the name of the member or object to add, change or delete.<br />

Environment<br />

Specify the environment location of the member or object (the environment you are adding to<br />

or deleting from).<br />

Object code<br />

Specify the object code currently assigned to the item. Valid for traditional member/objects<br />

when the Function is *CHG.<br />

New object code<br />

Specify the new object code to assign to the item. Valid for traditional member/objects when<br />

the Function is *CHG.<br />

Delete from the database<br />

This parameter is valid for IFS objects when the Function is *DLT. The *DLT function allows<br />

you to delete the object from the database. The default value is blank.<br />

Y Deletes the member or object from the database.<br />

N Deletes the member or object from the environment repository only (does<br />

not delete from the database).<br />

Development Library Maintenance<br />

The Delete Library Reference (IDLTLIBREF) command allows you to delete obsolete records<br />

from the <strong>Implementer</strong> repository for development libraries. The command removes all<br />

references to member/objects within the library, including current locks. Use this command<br />

when few to no open locks exist.


To issue the IDLTLIBREF command<br />

From an <strong>Implementer</strong> command line, issue the following command:<br />

IDLTLIBREF LIB(LIBRARY_NAME or *ALL)<br />

Saving and Restoring Tape Archives<br />

Saving and Restoring Tape Archives<br />

<strong>Implementer</strong> users who require access to the archives of every change made to an<br />

environment must often balance this requirement with the disk space required to store the<br />

archive copies. Archiving to tape minimizes the impact of large archives by allowing you to<br />

store the archives off line.<br />

You can save and remove all archives or specific archives. You have access to the archive<br />

information for each tape. You can selectively restore archives back to the system. Once<br />

restored, you can browse the changes and/or recover the changes back into production.<br />

This feature is also available on the <strong>Implementer</strong> Receiver. For details, see “Saving and<br />

Restoring Remote Tape Archives” on page 192.<br />

NOTE For information on archiving and archive recovery, see the <strong>MKS</strong> <strong>Implementer</strong><br />

<strong>2006</strong> User <strong>Guide</strong>.<br />

Key Considerations<br />

Tape archives include IFS and DLO files and directories, if archived.<br />

The archive to tape function uses two temporary libraries that <strong>Implementer</strong><br />

automatically creates at the beginning of the process and deletes at the end. <strong>Implementer</strong><br />

provides the data area IMARCTAP to store the names of these temporary libraries. The<br />

default data are values are IMARCTAP1 and IMARCTAP2.<br />

CAUTION If you change the default library names in the IMARCTAP data area, you<br />

must specify library names that do not exist on the system, as <strong>Implementer</strong> creates<br />

and deletes the libraries as needed. For details, see “<strong>Implementer</strong> Data Areas” on<br />

page 402.<br />

You can initiate all archive to tape functions from the Archives to Tape menu. Access to<br />

the menu options and commands requires you sign on as QSECOFR or with a profile<br />

that has a group profile of QSECOFR or QSECOFR capabilities.<br />

A good practice is to use a new tape for each save. <strong>Implementer</strong> automatically sets the<br />

tape label and initializes the tape with volume ARC###, where ### represents a number<br />

that starts at 001 and automatically increments for each save. <strong>Implementer</strong> data area<br />

ITAPEVOLUM store this information.<br />

379


Chapter 7: Administrative Utilities<br />

380<br />

<strong>Implementer</strong> provides query reports on the host system that allow you to locate and list<br />

all archives saved to tape. You can view the reports online or select to print.<br />

To restore a tape archive, you can use the menu option or a command option to restore<br />

the archives for any environment archive on a request you need to back out.<br />

To perform recovery, use <strong>Implementer</strong> Menu option 23, Archive Recovery, to select the<br />

request to recover. <strong>Implementer</strong> automatically creates and promotes a standard archive<br />

recovery request. You can browse the source through Archive Recovery or Object<br />

Inquiry. For details, see the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> User <strong>Guide</strong>.<br />

<strong>Implementer</strong> supports using a third party save/restore utility to save archives to tape.<br />

For example, you can use IBM’s Backup Restore Management System (BRMS/400), or an<br />

internal program. For details, see “BRMS/400 Integration” on page 322.<br />

The archive to tape and restore from tape functions are available on the host and<br />

<strong>Implementer</strong> Receiver. You can run the jobs interactively or in batch. For details on the<br />

remote system functions, see “Saving and Restoring Remote Tape Archives” on<br />

page 192.<br />

Working With Tape Archives<br />

The Archives to Tape menu provides access to the functions and reports associated with tape<br />

archives. Access to these functions requires signing on to the system with the QSECOFR user<br />

profile, or a user profile that has a group profile of QSECOFR or QSECOFR capabilities.<br />

To access the Archives to Tape menu<br />

Do one of the following:<br />

From the <strong>Implementer</strong> Menu, type option 24, Archive to Tape, and press ENTER.<br />

From a command line, issue the STRIM *ARCTAP command, or the GO IMARCTAP<br />

command (library <strong>MKS</strong>IM must be in your library list).<br />

CAUTION The next task initializes a tape and optionally clears the tape contents. To<br />

avoid the loss of saved data, verify you have the correct tape before continuing.<br />

To save an archive to tape<br />

1 From the Archive to Tape menu, select option 1, Save Archives to Tape to prompt the<br />

Archives to Tape (ISAVARC) command. You can also prompt the ISAVARC command<br />

from the command line.


2 Complete the command parameters as described next and press ENTER.<br />

Saving and Restoring Tape Archives<br />

Process the command interactively, submit for batch processing, or add it to a backup<br />

routine to automate the removal of new archives.<br />

NOTE When using a third party save/restore utility and you select option 1, the<br />

Save Archives to Tape panel is replaced as instructed by your internally described<br />

program in IMSVLB2 in QSAMPLE. As such, the remaining steps in this task do not<br />

apply; follow the steps applicable to the utility you are using. For more information,<br />

see “BRMS/400 Integration” on page 322.<br />

Save Archives to Tape (ISAVARC) Command Parameters<br />

Tape Device<br />

Specify the name of the tape device to use for the save operation.<br />

Archive library<br />

Do one of the following:<br />

Specify the name of the library that contains the archived objects. If multiple<br />

environments share an archive library, this allows you to save in a single operation all<br />

objects for all environments that use the library.<br />

Specify *ALL to save the objects from all archive libraries. This option allows you to save<br />

all objects in all archive libraries for all environments.<br />

Specify *ENV to save the objects for a particular environment. If multiple environments<br />

share an archive library, it saves only the objects for that environment rather than the<br />

entire contents of the library. This option requires a value in the following Archive<br />

environment field.<br />

Archive environment<br />

Specify the name of the environment associated with the archived objects. This saves the<br />

archived objects only, not the entire archive library.<br />

From date<br />

Specify a date (in YY/MM/DD format) to include all objects archived on or after the date.<br />

To date<br />

Specify a date (in YY/MM/DD format) to include all objects archived on or before the date.<br />

NOTE The From date and To date fields allow you to include objects that were<br />

changed on, before, after, or within the dates specified. Use the fields separately, or<br />

in combination to process a date range selection. The default value for each field is<br />

blank, which bypasses date filtering.<br />

381


Chapter 7: Administrative Utilities<br />

382<br />

Density<br />

Specify the density of the tape. The default value is *DEVTYPE.<br />

Target release<br />

Specify the release level of the operating system for the saved objects. The default value is<br />

*CURRENT.<br />

Initialize tape<br />

Specify whether to initialize the tape before the save operation. If you specify *NO and the<br />

tape has the wrong volume ID, a message notifies you that the volume ID does not match.<br />

You must correct the error before continuing.<br />

Submit<br />

The default value *YES submits the job to batch processing. Specify *NO to process the job<br />

interactively.<br />

Job queue/Library<br />

The default values *PRODUCT/*LIBL assign the default job queue defined in System<br />

Control Maintenance. Change the values as needed.<br />

Hold on job queue<br />

Specify the standard OS/400 submit job value as needed.<br />

To restore an archive from tape<br />

1 From the Archives to Tape menu, select option 2, Restore Archives from Tape, or issue<br />

the IRSTARC command to display the Restore Archives from Tape (IRSTARC) command<br />

parameters.<br />

2 Specify the IRSTARC command parameters as described next, and press ENTER.<br />

TIP Review the archive reports described in the next section to easily locate the<br />

requests to restore.<br />

Restore Archives from Tape (IRSTARC) Command Parameters<br />

Request Number<br />

Specify the request number to restore, or specify *ALL to restore all requests on the tape for<br />

the specified environment.


Environment<br />

Saving and Restoring Tape Archives<br />

Specify an environment to restore the recovered members/objects into. Archives restore into<br />

the same archive library they were saved from.<br />

Tape Device<br />

Specify the name of the device you are using to restore the tape.<br />

Submit<br />

Archive Reports<br />

The default value *YES submits the job to batch processing. Specify *NO to process the job<br />

interactively.<br />

Job queue/Library<br />

The default values *PRODUCT/*LIBL uses the default job queue defined in System Control<br />

Maintenance. Change the values as needed.<br />

Hold on job queue<br />

Specify the standard OS/400 submit job value as needed.<br />

IMPORTANT If you previously saved and cleared archive libraries, the <strong>Implementer</strong><br />

files that manage the archives still reflect the object in the archive library, when<br />

actually, it is not. For this reason, a cleared object may still appear on the archive<br />

report, but any attempt to recover the cleared object fails since the object is not<br />

actually on the tape. To recover the remaining items on the request, use the IBM<br />

Data File Utility (DFU) command to remove the record that refers to the archive that<br />

was deleted from the <strong>Implementer</strong> archive file (IMARTP).<br />

<strong>Implementer</strong> provides report queries to help you manage tape archives. The following<br />

reports are available on the Archives to Tape menu:<br />

Archives per Tape Report<br />

Archives by Request Report<br />

Archives by Environment Report<br />

Select any of the respective menu options to prompt the query. Standard query record<br />

selection allows you to limit the reports to a specific tape, promotion request, or environment<br />

of interest. You have the option to view information online or print the report.<br />

383


Chapter 7: Administrative Utilities<br />

Clearing Remote QA Environments<br />

384<br />

When you promote from a host and a remote QA environment to a production environment<br />

on a single request, <strong>Implementer</strong> retains a copy of the source and objects in the remote QA<br />

environment. By default, <strong>Implementer</strong> does not delete items from remote environments.<br />

For situations when this is not the desired result, <strong>Implementer</strong> provides a feature that allows<br />

you to delete the items in a remote QA environment after successful promotion from the<br />

environment. This is beneficial when QA and production environments exist on both the host<br />

and remote systems, and you want to automatically delete source and objects from the<br />

remote QA environments. For example, a promotion request created on a host system targets<br />

both local and remote QA environments. After successful QA testing, a new request created<br />

from the host QA environment targets both host and remote production. As part of the final<br />

move processing for the request, a special command you define runs based on your<br />

specifications and deletes the source and objects from the remote QA environment.<br />

NOTE This feature is available for AllFusion 2E environments by setting up the<br />

special command as described in this section. You must also set the <strong>Implementer</strong><br />

data area values for IMDLTFRMUP and IMDLTFRMUS to ‘YES’. For details, see<br />

“<strong>Implementer</strong> Data Areas” on page 402.<br />

Key Considerations<br />

Define the remote QAC environment with the Remove obj in from lib/env field and the<br />

Remove src in from lib/env field set to 1 (Always). For details, see the environment field<br />

descriptions on page 131.<br />

Define a special command for the remote environment to run for all promotion requests<br />

that target the environment. The special command automatically runs after the move<br />

completes, when the source and objects are in the target libraries.<br />

Add the <strong>Implementer</strong> Receiver library to the library list of the remote environment to<br />

support processing the special command.<br />

Define the object codes, or enable environment object code overrides for the remote QA<br />

environments. For details, see “Removing Source and Objects After Promotion” on<br />

page 92.<br />

To define the special command<br />

1 From the Work with Environments panel, select the remote production environment<br />

with option 19=Special commands, and press ENTER.<br />

2 Press F6=Add.


3 Complete the following fields and press ENTER.<br />

To modify the remote production environment library list<br />

User Capability Wizard<br />

1 From the Work with Environments panel, select the remote environment with option<br />

2=Change and press ENTER.<br />

2 Press F13=Library List to display the Edit Environment Library List - Remote panel.<br />

3 Complete the following fields:<br />

In the Sequence Number field, specify the next sequence number.<br />

In the Library field, specify the name of the <strong>Implementer</strong> Receiver library. The<br />

default product library for the <strong>Implementer</strong> Receiver is <strong>MKS</strong>IR. If you changed the<br />

library name when you installed the <strong>Implementer</strong> Receiver, substitute your changed<br />

name for the default name.<br />

4 Press ENTER to update the list.<br />

User Capability Wizard<br />

Environment (remote environment name)<br />

For Action 4 (Move)<br />

When to do 5 (After move-ok)<br />

Command IRMVFRMOBJ<br />

RQSNBR(#RQSNBR)<br />

TRGENV(#TRGENV)<br />

FRMENV(REMOTE_QA_ENVIRONMENT)<br />

The Capability Wizard is a graphical user interface (GUI) tool designed to minimize the setup<br />

and maintenance of user authorities in <strong>Implementer</strong>. It allows you to rapidly reflect new<br />

business rules quickly, by changing the capabilities of multiple users or environments with a<br />

single action.<br />

The administrator, or anyone responsible for working with user authorities in <strong>Implementer</strong>,<br />

can benefit from using this time saving application tool. The major advantage to using the<br />

Capability Wizard over the Work with Users function is that it allows you to process<br />

concurrent changes to the capabilities for multiple users and environments.<br />

The Capability Wizard requires adding new users through the Work with Users function, as<br />

well as adding new environments through Work with Environments function, both<br />

accessible from the <strong>Implementer</strong> Menu. You can create the initial records with the minimum<br />

requirements, and use the time-efficient Capability Wizard to complete the setup and<br />

perform ongoing maintenance.<br />

385


Chapter 7: Administrative Utilities<br />

386<br />

The Capability Wizard is delivered with <strong>Implementer</strong>. In addition to the requirements for<br />

<strong>Implementer</strong>, this feature requires:<br />

Windows<br />

Java Virtual Machine 1.1 (provided)<br />

TCP/IP connection to the iSeries<br />

Installing on Windows<br />

The Capability Wizard requires Java Runtime Environment (JRE) 1.1.5, or later. This is<br />

included with the installation program. The installation process searches for the existing JRE<br />

on the target PC and if it is not located, installation of the JRE is performed before the<br />

Capability Wizard installation. The installation requires you:<br />

Verify TCP/IP connectivity.<br />

Download the self-extracting executable capwiz.exe.<br />

Run the Capability Wizard install program capwiz.exe and follow the instructions that<br />

display in the setup procedure.<br />

Verify the user profile. The user profile you use must have *CHANGE rights to the<br />

<strong>Implementer</strong> file IMUSEN, and *USE rights to files MWIPF200 and MWIPF300. By<br />

default, only QSECOFR and MWIPROD profiles have these rights.<br />

Verifying TCP/IP Connectivity<br />

The Capability Wizard requires an active TCP/IP connection to the iSeries system where the<br />

<strong>Implementer</strong> database is located. If you cannot communicate with the OS/400 server<br />

successfully, the Capability Wizard cannot properly connect to the iSeries to perform the<br />

database updates.<br />

Ping is an MS-DOS program that allows you to verify that a particular Internet Protocol (IP)<br />

address exists and can accept requests. Ping is used diagnostically to verify that the host<br />

computer you are trying to reach has communications enabled and is operating. To verify<br />

your TCP/IP connection, you can either ping the system or ping the iSeries servers (requires<br />

ClientAccess installed on the local PC) as described next. If ping is unsuccessful, contact your<br />

system administrator.<br />

To ping the OS/400 servers<br />

1 From a command prompt, type cd.. and press ENTER to display the root directory c:/.


2 Type CWBPING (system_name) and press ENTER.<br />

where system name is the name of the system you are attempting to ping.<br />

User Capability Wizard<br />

You may see polling of multiple OS/400 servers. A message confirms the status: Either<br />

ping of the specified server was successful, or a time out occurred without locating the<br />

server.<br />

To ping the system<br />

1 At a command prompt, type cd.. and press ENTER to display the root directory c:/.<br />

2 Type PING (system_name) and press ENTER.<br />

A message confirms the status: Either ping of the specified server was successful, or a<br />

time out occurred without locating the server.<br />

Installing on the Desktop<br />

You have two options for downloading and installing the JRE and Capability Wizard from<br />

the iSeries onto your PC. The method you choose is simply a matter of preference.<br />

Map Network Drive copies data by sector and may take longer than the FTP method,<br />

depending on the speed of your PC.<br />

FTP (File Transfer Protocol) performs a bulk data transfer. It is quicker than the map<br />

drive method, but involves more steps.<br />

The default installation directory is C:/<strong>MKS</strong>/<strong>Implementer</strong>/Capability Wizard. You can<br />

select a different directory if necessary.<br />

During installation of the Capability Wizard, you may be prompted to install the Java<br />

Runtime Environment if not already installed.<br />

To install the Capability Wizard using the Map Network Drive method<br />

1 Open Windows Explorer and click Tools > Map Network Drive. A Map Network Drive<br />

dialog box displays prompting for a drive and path name.<br />

2 Select the drive name to use or accept the default value.<br />

3 For the path, type:<br />

//Your_System_Name/<strong>MKS</strong>/<strong>Implementer</strong>/<strong>MKS</strong>IM<br />

NOTE The default product library name is <strong>MKS</strong>IM. If you changed the product<br />

library to another name, substitute the changed name for <strong>MKS</strong>IM.<br />

4 Make sure the Reconnect at Logon box is disabled and click OK. You may be prompted<br />

for a user ID and password to connect to the system.<br />

387


Chapter 7: Administrative Utilities<br />

388<br />

5 From Windows Explorer, select and expand the drive you just mapped.<br />

6 Double click capwiz.exe.<br />

7 Follow the installation instructions presented on the screens. When you complete the<br />

installation, you can begin using the Capability Wizard.<br />

To install the Capability Wizard using the FTP method<br />

1 At a command prompt, type FTP and press ENTER to display an ftp> prompt.<br />

2 Type OPEN your_system_name and press ENTER. A message confirms, "Connected to<br />

your_system_name".<br />

3 A prompt displays requesting a user. Type a valid user ID for the system you opened in<br />

step 2, and press ENTER.<br />

4 A prompt displays requesting the password for the user ID specified in step 3. Type the<br />

password and press ENTER.<br />

5 Type bin and press ENTER. A message confirms "Representation type is binary<br />

IMAGE".<br />

6 Type quote site namefmt 1 and press ENTER. A message confirms you are using<br />

naming format "1".<br />

7 Type cd /<strong>MKS</strong>/<strong>Implementer</strong>/<strong>MKS</strong>IM and press ENTER. A message confirms, "Current<br />

directory changed to /mks/<strong>Implementer</strong>/<strong>MKS</strong>IM".<br />

NOTE The default product library name is <strong>MKS</strong>IM. If you changed the product<br />

library to another name, substitute the changed name for <strong>MKS</strong>IM.<br />

8 Type lcd c:/temp and press ENTER. A message confirms, "Local directory now<br />

c:/temp". (You may need to create this directory if it does not exist.)<br />

9 Type get capwiz.exe and press ENTER. The self-extracting installation executable<br />

transfers to your PC into directory c:/temp.<br />

10 Type quit and press ENTER to display the c:/ prompt.<br />

11 Type cd c:/temp and press ENTER.<br />

12 Type capwiz.exe and press ENTER.<br />

13 Follow the installation instructions presented on the screens. When you complete the<br />

installation, you can begin using the Capability Wizard.<br />

Using the Capability Wizard<br />

The Capability Wizard allows you to authorize <strong>Implementer</strong> users to perform specific<br />

functions in the environments they work with.


User Capability Wizard<br />

The Capability Wizard prompts you to sign on to the iSeries. Your user profile must be set up<br />

in <strong>Implementer</strong> and have authority to user profile maintenance and environment<br />

maintenance.<br />

NOTE Instructions on using this utility are also in file Readme.txt installed with<br />

the Capability Wizard.<br />

To start the Capability Wizard<br />

1 From your Windows desktop, click<br />

Start > Programs > <strong>MKS</strong> <strong>Implementer</strong> > Capability Wizard.<br />

A command prompt window displays to inform you the program is starting, followed<br />

by the User Capability Wizard Welcome dialog box. Click the following command<br />

buttons to perform an action:<br />

Previous allows you to return to the previous panel.<br />

Next allows you to process current selections and display the next window.<br />

Cancel allows you to close the Capability Wizard.<br />

2 Follow the steps on the Welcome dialog box and click Next. The System Configuration<br />

dialog box displays.<br />

389


Chapter 7: Administrative Utilities<br />

390<br />

The status bar currently indicates you are not connected.<br />

IMPORTANT The user profile you sign on with must have *CHANGE rights to the<br />

<strong>Implementer</strong> file IMUSEN, and *USE rights to files MWIPF200 and MWIPF300. By<br />

default, only QSECOFR and MWIPROD profiles have these rights. For more<br />

information, see “Verifying TCP/IP Connectivity” on page 386.<br />

3 In the System name field, type the name of the iSeries or the IP address of the system you<br />

are connecting to.<br />

4 In the User ID, Password, and Library fields, specify the user ID, password, and installed<br />

<strong>Implementer</strong> library name (if other than the default product library name <strong>MKS</strong>IM).<br />

5 Click Next. The Enrolled Users list displays.<br />

If the Wizard is unable to connect to the specified system, the status indicates that an<br />

error has occurred. You can review the error details in the files CapWiz Output.txt<br />

and Error Log.txt.<br />

If this process locks up, press CTRL + ALT + DEL and use the Task Manager to end the<br />

Capability Wizard function. If the first attempt to connect fails, it may be necessary to<br />

close and restart the Wizard.<br />

Selecting Enrolled Users<br />

The Enrolled Users list displays all enrolled users. You can select all users, a combination of<br />

multiple users, or a specific user.<br />

NOTE To enroll new users you must use the Work with Users function. For details,<br />

see “Users” on page 72.


To select users<br />

1 In the Enrolled Users list, click a user.<br />

User Capability Wizard<br />

To select a block of users, click the first user and while pressing SHIFT, click the last<br />

user. To omit selective users, press CTRL and click the user.<br />

To select multiple users, press CTRL and click each user.<br />

To select all enrolled users, enable the Select ALL users option. To omit selective<br />

users, press CTRL and click the user.<br />

2 Click Next. The Environment list displays.<br />

Selecting Environments<br />

The Environment list displays the environments that users work in.<br />

You can use a variety of selection criteria to limit the view of environments. For example, you<br />

can select all environments, or any combination of development, QA, and production<br />

environments.<br />

You may want to filter by environment type. For example, you can select just development or<br />

production environments, or all development and all QA environments.<br />

391


Chapter 7: Administrative Utilities<br />

392<br />

To select an environment<br />

1 In the Environment list, click an environment. To select by environment type, enable the<br />

Environment types check box for the type of environments you want to view.<br />

To select a block of environments, click the first environment, and while pressing<br />

SHIFT, click the last environment. To omit selective environments, press CTRL and<br />

click the environments.<br />

To select multiple environments, press CTRL and click each environment.<br />

To select all environments, enable the Select ALL Environments option. To omit<br />

selective environments, press CTRL and click the environment.<br />

2 Click Next. The Authority list displays, filtered by the specified environment type.


User Capability Details<br />

User Capability Wizard<br />

The authority types that display in the list are based on predefined templates that define<br />

the typical user groups associated with <strong>Implementer</strong>. You cannot change the standard<br />

authorities of these templates. To modify the standard values, see the Readme.txt in the<br />

installation directory. For information on authority types, see “Understanding<br />

<strong>Implementer</strong>” on page 9.<br />

The Custom authority allows you to override the standard defaults for any user. For<br />

information on this option, see “Customizing User Capabilities” on page 394.<br />

Click Detail to display the Capability Details list to view the authorities and options<br />

defined for each authority type. For details, see “User Capability Details” in the next<br />

section.<br />

Click Next to define this user with the standard rights and authorities associated<br />

with the selected authority type.<br />

The Confirm Selections dialog box displays. Proceed with “Updating the<br />

<strong>Implementer</strong> Database” on page 395.<br />

The Authority list allows you to define the functions a user type is allowed to access. You can<br />

view the authority details for any enrolled user. For a description of each capability, see<br />

“Environments and User Capabilities” on page 109.<br />

To view capability details for a user<br />

1 Click an authority and then click Detail.<br />

The Capability Details list displays the standard capabilities for a specified authority<br />

type, by environment type. Use the scroll bar to view the capabilities settings. The only<br />

authority type you can modify is Custom Capability Group.<br />

393


Chapter 7: Administrative Utilities<br />

394<br />

2 Click OK. The Authority Templates list displays.<br />

You can work with additional authority types or proceed with updating the<br />

<strong>Implementer</strong> database.<br />

To update the <strong>Implementer</strong> database<br />

1 Click OK. The Confirm Selections dialog box displays.<br />

2 Proceed with “Updating the <strong>Implementer</strong> Database” on page 395.<br />

Customizing User Capabilities<br />

You can use the custom capability group to modify a user’s standard capabilities and<br />

authorities. This is the only capability group that allows changes. The value in the Allowed<br />

field controls the allowed capabilities.<br />

To customize user capabilities<br />

1 Select the CUSTOM Authority type.<br />

2 Click Details.<br />

3 For the environment type and capability you are changing, double click the value in the<br />

Allowed field to display the list of allowed values.<br />

4 Click the value you want to define. Valid options are:<br />

Y (allowed)<br />

N (not allowed)<br />

(this is the default value)


5 Click OK. The Authority list displays.<br />

6 Click Next. The Confirm Selections dialog box displays.<br />

Updating the <strong>Implementer</strong> Database<br />

User Capability Wizard<br />

The Capability Wizard uses TCP/IP to perform SQL updates to <strong>Implementer</strong>. When you are<br />

ready to update the <strong>Implementer</strong> database, you can either process the update and return to<br />

continue processing additional updates, or process the update and exit the Capability<br />

Wizard.<br />

On the Confirm Selections dialog box, the Status bar indicates pending <strong>Implementer</strong> updates<br />

exist. The Status bar confirms either the number of records selected for production<br />

environment update, or that no production environments were selected to update.<br />

395


Chapter 7: Administrative Utilities<br />

396<br />

To confirm your selections and update the <strong>Implementer</strong> database<br />

1 (Optional) Enable the Repeat option to continue with additional updates without exiting<br />

the application.<br />

2 Click Finish. The Successful Update message box displays.<br />

3 Click OK.<br />

If you enabled the Repeat option, the Enrolled Users list displays; otherwise, the<br />

application closes.<br />

Deleting Tutorial Information<br />

<strong>Implementer</strong> includes demonstration data to help new users learn to use the software and<br />

help experienced users to use new features. If you selected to install demonstration data<br />

when you installed <strong>Implementer</strong>, you can delete the tutorial data when it is no longer<br />

needed.<br />

To delete tutorial information<br />

1 Delete the tutorial libraries. For a list of these libraries, see Appendix A of the<br />

<strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> Installation <strong>Guide</strong>.<br />

2 From the Workbench, delete the locks for the member/objects associated with tutorial<br />

environments. For details, see “Deleting a Lock” in the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> User <strong>Guide</strong>.<br />

3 To remove the historical data, from Work with Environments, use option 32, Purge<br />

History.<br />

CAUTION Purge history removes the history of completed requests and locks for an<br />

environment based on dates you specify. If you are using <strong>Implementer</strong> for change<br />

management in production (not just for training), performing this function may<br />

result in the removal of that data. For details, see “Purging Environment History” on<br />

page 374.<br />

4 Delete the demonstration environments by using <strong>Implementer</strong> Menu option 42,<br />

Environments. For details, see “Deleting an Environment” on page 96.


Function Key <strong>Administration</strong><br />

Function Key <strong>Administration</strong><br />

The Work with Function Keys function allows you to change the definition of command keys<br />

on a modifiable panel. You can add, change, or delete specific command keys. There are<br />

specific key numbers for global keys and the capacity to either make the key global or<br />

override it for each specified panel.<br />

You can define specific function keys to directly access your internal systems (such as a<br />

problem tracking or help desk system) from the <strong>Implementer</strong> Menu or <strong>Implementer</strong> Receiver<br />

Menu, or add commonly used commands to a function key.<br />

To work with function keys<br />

1 From the <strong>Implementer</strong> Menu, select option 50, Function Keys, and press ENTER. The<br />

Work with Function Keys Panel Select panel displays.<br />

From the <strong>Implementer</strong> Receiver menu, select option 9, Function Keys, and press ENTER.<br />

2 Select the panel you want to work with (or *ALL) using option 1=Work with panel.<br />

The Work with Function Keys - Key Select panel displays. For a description of the fields<br />

on this panel, see “Key Select Maintenance Field Descriptions”.<br />

Use option 1=Change to change function keys, or option 8=Refresh overridden global<br />

function keys. If the global column displays O (indicating a global function key with<br />

specific overrides for the panel), option 8 resets the function key to its original global<br />

values and causes Y to display in the global column. This option is available on all panels<br />

except the *ALL (global) panel. Use option 9=Delete to delete function keys.<br />

To change a function key<br />

1 From the Work with Function Keys - Key Select panel, select the key to change with<br />

option 1=Change, and press ENTER. The Work with Function Keys - Key Maint panel<br />

displays.<br />

2 Complete the fields on this panel as defined in the following table, and press ENTER to<br />

process the changes.<br />

397


Chapter 7: Administrative Utilities<br />

398<br />

Field Description<br />

Key Select Maintenance Field Descriptions<br />

Panel ID Identifies the panel that function keys are defined for. This value displays in<br />

the upper left-hand corner of the product panels.<br />

Panel width Specifies the width of the panel.<br />

Nbr of lines Specifies how many lines display on the panel.<br />

Key Number assigned to the function key.<br />

0: ENTER<br />

1–24: Function keys 1 through 24<br />

25: ROLL UP<br />

26: ROLL DOWN<br />

27: HELP<br />

28: HOME<br />

29: CLEAR<br />

100+: Document-only function keys. Allows you to document and display<br />

on panels some of the commonly used keys on your keyboard. You can<br />

number document-only function keys from 100–999. These keys do not<br />

process, rather they document available keys that process outside the<br />

application program (for example, SYSTEM REQUEST ATTENTION and<br />

various PC hot key sequences). When creating a document-only function<br />

key, you cannot enter an action or command.<br />

Key name Derived from the function key prefix and number (not maintainable for<br />

regular function keys). You can enter this on the Work with Function Keys -<br />

Key Maintenance panel for document-only function keys.<br />

Function key text Text to display on the panel, following the separator for the function key. For<br />

example, for F8=Spool Files the function key text is Spool Files.<br />

Valid Indicates whether the function key is valid on this panel.<br />

Y: The function key is valid.<br />

N: The function key is not valid. Invalid function keys do not display, for<br />

example, ROLL UP on a panel with only one page.<br />

Display Defines whether the function key displays on the panel, if valid. The value<br />

for this entry is used only if the function key is valid.<br />

Y: The function key displays.<br />

N: The function key does not display. If the Valid field is set to Y, the<br />

function key remains valid, for example, the ENTER key.


Field Description<br />

Function Key <strong>Administration</strong><br />

Global Defines whether the function key is a global key (defined to the *ALL panel)<br />

and whether the key definition was overridden from its global definition. This<br />

entry is not maintainable.<br />

Y: The key is an unchanged global key. The specified key definition is equal<br />

to the global key definition.<br />

O: The global definition is overridden for this function key.<br />

Blank: The key is not a global key. The function key is defined globally, but<br />

one of the attributes is redefined on this panel.<br />

Action/Command This entry can be an action or a command as follows:<br />

Actions are prefaced by an asterisk (*); commands are not.<br />

If the entry contains an action, the action returns to the program processing<br />

the panel. You cannot maintain actions.<br />

If the entry contains a command, the command runs when you press the<br />

function key. You can maintain a command by typing 1 in the selection entry<br />

and pressing ENTER.<br />

399


Chapter 7: Administrative Utilities<br />

400


A PPENDIX A<br />

<strong>Implementer</strong> Data Areas and<br />

User Exit Programs<br />

Customizing <strong>Implementer</strong><br />

A<br />

The additional features described in this appendix allow you to further customize your<br />

<strong>Implementer</strong> database.<br />

This appendix covers the following topics:<br />

“<strong>Implementer</strong> Data Areas” on page 402<br />

“Customizing <strong>Implementer</strong>” on page 414<br />

401


Appendix A: <strong>Implementer</strong> Data Areas and User Exit Programs<br />

<strong>Implementer</strong> Data Areas<br />

402<br />

<strong>Implementer</strong> has numerous data areas that control various features and functions within the<br />

product. You can modify the data area values to further customize your <strong>Implementer</strong><br />

database.<br />

The data areas are located on either the host system or the remote system, although some<br />

data areas exist on both systems as noted. On the <strong>Implementer</strong> host system the data areas are<br />

located in the default product library <strong>MKS</strong>IM. On the <strong>Implementer</strong> Receiver the data areas<br />

are located in the default product library <strong>MKS</strong>IR.<br />

To change the data areas, sign on to the iSeries with the <strong>Implementer</strong> user profile MWIPROD,<br />

or a user profile with *ALLOBJ special rights, and use the standard OS/400 Change Data<br />

Area (CHGDTAARA) command.<br />

IMPORTANT The data areas described are those that you can safely change. You<br />

should not change other data areas in the <strong>Implementer</strong> library.<br />

Add Related Objects for Service Programs (IMADDOBJ)<br />

The IMADDOBJ data area allows you to control how <strong>Implementer</strong> handles objects related to<br />

service programs during related object processing. This prevents the unnecessary recompile<br />

of objects that use service programs when modules are changed but the signature does not<br />

change.<br />

Valid values for the data area are *YES (default value) and *NO. Set the value to *NO to<br />

activate this feature and bypass recompiling objects related to service programs.<br />

Archive to Tape Libraries (IMARCTAP)<br />

The IMARCTAP data area contains the name of two temporary libraries used by the archive<br />

to tape function. The default data area value is IMARCTAP1 in positions 1 through 10, and<br />

IMARCTAP2 in positions 11 through 20, enclosed in single quotes, for example, ‘IMARCTAP1<br />

IMARCTAP2’.<br />

CAUTION <strong>Implementer</strong> deletes and recreates the libraries in this data area as needed,<br />

for example, when submitting the archive to tape. Thus, if you change the default<br />

library names stored in IMARCTAP, you must specify libraries that do not exist or<br />

are not needed elsewhere on your system.<br />

Bind Update (IMBNDUPD)<br />

The IMBNDUPD data area allows you to bypass the PathFinder update for ILE programs.<br />

Valid values are *YES or *NO (default value) enclosed in single quotes. Set the value to<br />

‘*YES’ to activate this feature.


Communications User Profile (IMCMNUSR)<br />

<strong>Implementer</strong> Data Areas<br />

The IMCMNUSR data area contains the user profile and password <strong>Implementer</strong> uses to<br />

initiate communications to a remote system when distributing changes to the remote system.<br />

The data area is located on both the host system and the <strong>Implementer</strong> Receiver.<br />

The default value is MWIPROD in positions 1 through 10 (user profile name), and MWIPROD<br />

(password) in positions 11 through 20. You must enclose the values in single quotes that<br />

encompass the entire 20-character field, for example, ‘MWIPROD MWIPROD ’.<br />

If the data area value is blank, a user profile is not available for <strong>Implementer</strong> to initiate<br />

communications with the remote. In this case the user profile is derived by retrieving the<br />

communication entries defined in the communication subsystem on the remote system.<br />

Check Out/Reject Options (IMCOREJ)<br />

The IMCOREJ data area pertains to checking out and rejecting changes from QA, when the<br />

member/object being checked out already exists in the target check out location. By default, a<br />

message window displays to notify you the member/object exists in the target location, and<br />

you are required to select a copy option to proceed. The data area allows you to bypass the<br />

display of the message window and automatically default the copy option.<br />

The data area value allows four character positions. Positions 1 and 2 relate to checking out.<br />

Positions 3 and 4 relate to rejecting from QA. The default value is NSNS, which prompts the<br />

display of the window and requires selecting a copy from option. The data area layout and<br />

allowed values are as follows.<br />

Position Description Valid Values<br />

1 Controls display of the “Mbr/Obj<br />

Already Exists” window in check out.<br />

2 Allows you to set the default copy<br />

option when position 1 is set to Y.<br />

3 Controls display of the “Mbr/Obj<br />

Already Exists” window when<br />

rejecting from QA.<br />

4 Allows you to set the default copy<br />

option when position 3 is set to Y.<br />

Y = Does not display the window.<br />

N = Displays the window to allow selection of a<br />

copy option.<br />

S = Skip.<br />

R = Replace.<br />

X = Replace All.<br />

K = Keep Existing.<br />

A = Keep All Existing.<br />

Y = Does not display the window.<br />

N = Displays the window to allow selection of a<br />

copy option.<br />

S = Skip.<br />

R = Replace.<br />

X = Replace All.<br />

K = Keep Existing.<br />

A = Keep All Existing.<br />

403


Appendix A: <strong>Implementer</strong> Data Areas and User Exit Programs<br />

404<br />

Delete User Programs and User Source During Promotion<br />

(IMDLTFRMUP and IMDLTFRMUS)<br />

For AllFusion 2E CM users, the IMDLTFRMUP and IMDLTFRMUS data areas allow you to<br />

control whether to remove user programs (IMDLTFRMUP) and user source (IMDLTFRMUS)<br />

in the from library after successful promotion. You can delete programs and display files<br />

without removing database files from development or test libraries to retain test data.<br />

The data areas exist on both the host and remote system. On the remote, the data areas<br />

control whether user programs and user source are removed from the remote QA<br />

environment during promotion to the remote. This is beneficial when both QA and<br />

production environments exist on both the host and remote systems.<br />

Valid values for the data areas are *YES or *NO enclosed in single quotes. The default value is<br />

‘*YES’. The value *NO overrides the value specified on a promotion request.<br />

NOTE<br />

If using these data areas to enable <strong>Implementer</strong>’s remote QA environment<br />

cleanup feature, you must also set up a special command to run as part of the<br />

promotion. For details, see “Clearing Remote QA Environments” on page 384.<br />

For traditional member/objects and IFS objects, this functionality is available<br />

using object code overrides. For details, see “Object Code Overrides” on page 91.<br />

Delete Locks (IMDLTLOCK)<br />

The IMDLTLOCK data area allows you to set default values on the Confirm Delete of Locks<br />

panel that displays when you select a member/object with option 4=Delete from the<br />

Workbench.<br />

You can specify different values for the deletion of locks, source, and objects. The valid data<br />

area values are *YES or *NO. The default value *YES sets the value to Y for all options. The<br />

value *NO sets the value to N for all options.<br />

You can also specify a three-character string consisting of a combination of Y and N to<br />

individually set each value. For example, if IMDLTLOCK is set to YYN, the result is Delete<br />

locks = Y, Delete sources = Y, Delete objects = N. If IMDLTLOCK is set to NYN, the result is<br />

Delete locks = N, Delete sources = Y, Delete objects = N.<br />

NOTE Users must have lock maintenance rights set to Y in the environment for<br />

authority to override these defaults. This is defined in Work with Environments,<br />

User Capabilities.<br />

Delay Evoked Jobs (IMDLYJOB)<br />

The IMDLYJOB data area allows you to place an evoked job into a delay state once the job<br />

becomes active. Working with remote jobs can be difficult, as a batch job on one machine<br />

initiates the job on another machine. Developers typically use this feature to capture specific


<strong>Implementer</strong> Data Areas<br />

diagnostic information at a customer site for debugging or tracing a job. It is also used when<br />

changes are required to a remote job, or to examine characteristics of a job before it begins to<br />

implement changes.<br />

The data area is located on both the host system and the remote system.Valid values are *YES<br />

or *NO enclosed in single quotes. The default value ‘*NO’ allows the job to continue<br />

normally without delay. The value *YES immediately places the evoked job into a delay state<br />

upon going active and sends a message to the QSYSOPR message queue stating that the job is<br />

in delay status. The job delays for one minute before going active again. It delays another<br />

minute and repeats indefinitely until you change the data area value to *NO.<br />

Domino Server Data Directory (IMDOMDATA)<br />

The IMDOMDATA data area allows you to record the server data directory that <strong>Implementer</strong><br />

uses to call the Domino API. This is only required when using Domino 6.0 and the Domino<br />

server does not use the Domino 5 default data directory /notes/data.<br />

The data area value is blank by default. If necessary, change the value to the actual Domino<br />

data directory being used.<br />

NOTE For details on the <strong>Implementer</strong> and Lotus Domino integration, see “Lotus<br />

Domino Integration” on page 336.<br />

Display Message Panel (IMDSPMSG)<br />

The IMDSPMSG data area is used in Work with Objects to control the display of a message<br />

when filtering the subfile using only the Object Status field.<br />

The valid data area values are *YES or *NO enclosed in single quotes. The default value<br />

‘*YES’ displays a message explaining that filtering on object status only can be time<br />

consuming. The message allows you to continue with the selected filter, or return to specify<br />

additional filters. The value *NO bypasses the message altogether.<br />

Emergency Request Submit Through Step (IMEMGSTP)<br />

The IMEMGSTP data area allows you to redefine the default auto submit through step for<br />

emergency promotion requests.<br />

The valid numeric values for IMEMGSTP are 2 (compile), 3 (distribute), or 4 (move), enclosed<br />

in single quotes. The default value is ‘4’.<br />

FTP Passive Mode (IMFTPPASV)<br />

The IMFTPPASV data area allows you to control how <strong>Implementer</strong>’s FTP transfer uses<br />

passive mode when sending files using TCP/IP. Passive mode eliminates the requirement on<br />

the receiving system to open a dedicated port for the host to connect to.<br />

405


Appendix A: <strong>Implementer</strong> Data Areas and User Exit Programs<br />

406<br />

The data area is located on both the host system and the remote system. Valid values are<br />

*YES or *NO enclosed in quotes. The default value “*YES” uses passive mode. Set the value<br />

to “*NO” to use non passive mode.<br />

IMPORTANT Most users do not change this data area. You should change the value<br />

only if your network configuration requires FTP transfers using non passive mode.<br />

JDK Version (IMJDKVER)<br />

The IMJDKVER data area relates to using <strong>MKS</strong> Integrity for issue management with<br />

<strong>Implementer</strong>. The data area allows you to store the Java Development Kit (JDK) version to<br />

use when using the Update <strong>MKS</strong> Integrity (IUPDCI) command to update <strong>MKS</strong> Integrity on<br />

an AIX system. This is required only if the target <strong>MKS</strong> Integrity Server runs on an AIX system<br />

(JDK version 1.4 is required on the client for communications).<br />

The default data area value is ‘1.2’ enclosed in single quotes. To use the IUPDCI command<br />

on an AIX system, you must install JDK version 1.4 on the iSeries, and change the IMJDKVER<br />

data area value to ‘1.4’. On OS/400 V5R2, you can install JDK version 1.4 from the IBM<br />

license product installation CD. On OS/400 V5R1, install JDK version 1.4 by ordering the<br />

required PTFs from IBM.<br />

NOTE For details on using <strong>MKS</strong> Integrity with <strong>Implementer</strong>, see “<strong>Implementer</strong> and<br />

<strong>MKS</strong> Integrity Integration” on page 196.<br />

<strong>Implementer</strong> Library Name (IMLIBRARY)<br />

The IMLIBRARY data area contains the name of the <strong>Implementer</strong> product library. It is a 10character<br />

data area. You must enclose the value in single quotes. The default value is<br />

‘<strong>MKS</strong>IM’.<br />

Change the data area value if you rename the <strong>Implementer</strong> library after initial installation, or<br />

if you require a parallel installation of the product (two versions of <strong>Implementer</strong> on the same<br />

system). When you install <strong>Implementer</strong> with a name other than <strong>MKS</strong>IM, the data area value<br />

is appropriately set by the installation procedure.<br />

NOTE If you have <strong>Implementer</strong> enabled for AllFusion 2E, (you received the<br />

<strong>Implementer</strong> product from Computer Associates), the default product library is<br />

Y2SYCM. When <strong>Implementer</strong> is installed with a name other thanY2SYCM, the<br />

installation procedure appropriately sets the data area value.<br />

Log Evoked Programs (IMLOGCL)<br />

The IMLOGCL data area allows you to change the logging level on <strong>Implementer</strong>-evoked<br />

jobs. The data area is located on both the host system and the remote system. It is useful<br />

when a unique job description is not available for <strong>Implementer</strong> on the remote system, and<br />

changing the logging level is not possible without impacting other users on the system.


<strong>Implementer</strong> Data Areas<br />

This value affects jobs evoked on the host after a remote initiated move is submitted on the<br />

remote. The valid data area values are *YES or *NO enclosed in single quotes. The default<br />

value ‘*NO’ allows logging as currently defined. The value *YES changes the job to log CL<br />

instructions with the maximum message logging level 4 0 *SECLVL. This ensures logging of<br />

all messages and retains the job log upon job termination.<br />

Submit Multiple Jobs (IMMULTJOB)<br />

The IMMULTJOB data area allows you to submit multiple jobs when submitting promotion<br />

requests. Valid values for the data area are *YES or *NO enclosed in single quotes. The<br />

default value ‘*YES’ allows the submission of multiple jobs. The value *NO does not submit<br />

multiple jobs.<br />

Once a promotion request is submitted <strong>Implementer</strong> determines whether the request was<br />

submitted to multiple jobs or a single job. This requires:<br />

The Add related objs to request field set to N (in Work with Environments) for all target<br />

environments on the request.<br />

The Compile required field set to N (in Work with Environments) for all target<br />

environments on the request. If Compile required=Y, the compile phase must be<br />

complete.<br />

For requests that target multiple environments or an environment group, you cannot use<br />

the Move Request by System/Environment option to override the request and submit<br />

the move on a per-environment basis.<br />

For requests that target a specific system, you cannot use the Move Request by System/<br />

Environment options 10=Distribute all, 11=Move all, or 12=Distribute and move all, to<br />

submit the distribution or move.<br />

Multiple Object Single Source Check Out (IMMULTOBJ)<br />

The IMMULTOBJ data area allows you to check out multiple objects that have single source<br />

members, allowing the single source member to create multiple objects. This practice, most<br />

common with physical files, works for all source-based objects.<br />

The valid values for the data area are *YES or *NO enclosed in single quotes. The default<br />

value ‘*NO’ does not allow checking out an object that has multiple objects with the same<br />

source member. Set the value to *YES to allow checking out an object that has multiple objects<br />

with a single source member.<br />

IMPORTANT Checking out a single source member with multiple objects is not<br />

considered a concurrent development condition. Therefore, if you enable<br />

IMMULTOBJ, be aware you could easily overwrite changes to work in process—<br />

that is, objects checked out and changed but not promoted through to production.<br />

407


Appendix A: <strong>Implementer</strong> Data Areas and User Exit Programs<br />

408<br />

Allow Member/Object on Multiple Requests (IMMULTRQS)<br />

The IMMULTRQS data area controls whether a member/object is allowed on multiple open<br />

promotion requests concurrently.<br />

Valid values for the data area are *NO or *YES enclosed in single quotes. The default value<br />

‘*NO’ does not allow an item on multiple promotion requests. Set the value to *YES to allow<br />

an item on multiple promotion requests.<br />

LANSA Error Messages (IMLNMSG)<br />

The IMLNMSG data area allows you to store the message IDs of LANSA errors you want to<br />

force a request to fail on when the error occurs during promotion processing. Fatal messages<br />

automatically cause the promotion to fail. During promotion, <strong>Implementer</strong> compares the<br />

message IDs written in the spool file of the export list to the message IDs recorded in the<br />

IMLNMSG data area. When a match is established, processing of the promotion job ends.<br />

This default data area value is blank. To store multiple messages IDs, separate the message<br />

IDs with a blank space.<br />

LANSA Partition Security Officer (IMLNPSO)<br />

The IMLNPSO data area allows you to store the name of the LANSA partition security<br />

officer. <strong>Implementer</strong> runs the LANSA command for export/import using the partition<br />

security officer profile to prevent migration failures caused by insufficient authority to the<br />

LANSA command and the items being exported.<br />

The data area is located on both the host system and the remote system and must be set on<br />

each system. The default data area value is blank. To change the data area, specify the<br />

partition security officer name in positions 1 through 10.<br />

LANSA Task Usage (IMLNTSK)<br />

The IMLNTSK data area allows you to enable LANSA task tracking in <strong>Implementer</strong>. Task<br />

tracking allows <strong>Implementer</strong> to process LANSA tasks as project numbers by creating an<br />

<strong>Implementer</strong> project record from the specified task number (if it does not already exist).<br />

The default data area value is *NO. Set the value to *YES to enable task tracking and for<br />

integration with Visual LANSA. For details, see “LANSA Task Tracking” on page 332 and<br />

“Visual LANSA” on page 332.<br />

Creation Commands That Allow the TGTRLS Parameter (IMPRVCMDS)<br />

The IMPRVCMDS data area allows you to store a list of creation commands that accept the<br />

Target Release (TGTRLS) parameter to perform local compiles for a remote environment.<br />

You can add other creation commands to the data area, although you do not need to change<br />

it often. For example, adding a command can be required if a new object is created by an<br />

upgrade to the operating system and you do not have the required version of <strong>Implementer</strong>.


Path Slash (IMPATHSLSH)<br />

<strong>Implementer</strong> Data Areas<br />

The IMPATHSLSH data area is used for the development of IFS and DLO objects on a non<br />

English system. IFS and DLO objects have a backward slash (\) in the object path; however,<br />

the actual backward slash character is not the same character for all languages. The data area<br />

allows you to specify the translated character to substitute for the backward slash. The<br />

default data area value is ‘\’.<br />

Process Package (IMPKGPRC)<br />

The IMPKGPRC data area is used with the release management features of <strong>Implementer</strong>. It<br />

allows you to define how to handle a package creation job if an error occurs with member/<br />

objects when creating the package. Valid values are as follows:<br />

Blank Terminates the package creation job and deletes the package.<br />

*FAILEND Processes the job through to the end, ends in failure, and deletes<br />

package. Messages are sent of member/object errors.<br />

*PROCESS Processes all member/objects but does not add member/objects with<br />

errors. Messages are sent of skipped members/objects.<br />

Work Library Prefix (IMPRFX)<br />

The IMPRFX data area contains the prefix assigned to the name of all <strong>Implementer</strong> work<br />

libraries. The data area is located on both the host system and the remote systems. It is three<br />

characters in length. Most work libraries use all three characters, but some use only the first<br />

two characters. You must enclose the value in single quotes. The default value is ‘IM’.<br />

When using two parallel versions of <strong>Implementer</strong>, you must change the data area so that one<br />

version of <strong>Implementer</strong> uses a different prefix of work libraries. You can also change the<br />

prefix to set the work libraries to follow internal naming conventions.<br />

Remove Member/Object From QA on Reject (IMREJECT)<br />

The IMREJECT data area controls how <strong>Implementer</strong> handles source and objects when<br />

checking out for reject from a *QAC environment. It allows you to reject member/objects<br />

from QA and check them back into development on the original lock. The source (for source<br />

based objects) or object (for non source based objects) is copied back into development from<br />

QA. The lock is redirected to development for continued programming effort. By requiring<br />

locks on promotion requests, the items in QA remain for further testing and not promoted to<br />

the next QA or production environment, while development continues.<br />

The data area also controls the default value that displays in the Delete Member/Objects field<br />

on the Delete Member/Objects While Rejecting window when an item is selected for reject.<br />

The valid data area values area *YES or *NO enclosed in single quotes. The default value<br />

‘*NO’ sets the field defaults to N and retains member/objects in QA. Set the value to *YES to<br />

set the field defaults to Y and delete member/objects from QA.<br />

409


Appendix A: <strong>Implementer</strong> Data Areas and User Exit Programs<br />

410<br />

Regardless of the data area value the field values can be overridden during check out. You<br />

can also set <strong>Implementer</strong> to bypass the display of the Delete Member/Objects While<br />

Rejecting window and enforce the rules set by the IMREJECT data area. For details, see<br />

“Bypass Window on Reject From QA (IMBYPSRJW)” described next.<br />

Bypass Window on Reject From QA (IMBYPSRJW)<br />

The IMBYPSRJW data area allows you to control the display of the Delete Member/Objects<br />

While Rejecting window when rejecting items from a *QAC environment.<br />

The default data area value *NO enables the window display. Set the value to *YES to bypass<br />

the window display. For example, if source and object always remains in QA when rejecting<br />

and developers are not allowed to override the rule, set the IMREJECT data area to *NO, and<br />

set the IMBYPSRJW data area to *YES.<br />

Reclaim Group (IMRCLAGRP)<br />

When exiting the <strong>Implementer</strong> main menu, the Reclaim Activation Group (RCLACTGRP)<br />

command automatically executes. If you use activation groups or ASC Sequel, the command<br />

causes user programs that use activation groups to fail, and causes ASC Sequel to fail after<br />

<strong>Implementer</strong> runs and ends in an iSeries session.<br />

The IMRCLAGRP data area allows you to control execution of the RCLACTGRP command<br />

when exiting the <strong>Implementer</strong> main menu. The default data area value is ‘*YES’. Change<br />

the value to ‘*NO’ to bypass execution of the RCLACTGRP command.<br />

Return File and Member ID After Promotion (IMRETFILID)<br />

The IMRETFILID data area allows you to retain existing file and member IDs when<br />

promoting physical files and logical files. The data area is located on both the host system<br />

and the remote systems.<br />

The default value *NO deactivates the feature. Set the value to *YES on both the host and<br />

remote to retain the file and member IDs on both systems. The file and member IDs are taken<br />

out of the from file and applied to all target files. If the file exists in the From environment,<br />

the file and member IDs are derived from that file. If the file does not exist in the From<br />

environment, the file and member IDs are derived from the object created in the <strong>Implementer</strong><br />

work library. Exceptions to this general rule are:<br />

When a PF and related LFs do not exist in the From environment and a request is created<br />

for the PF with the LFs added as related objects, the file and member IDs for the PF come<br />

from the object created in the <strong>Implementer</strong> work library, and the file and member IDs for<br />

the LFs come from the target logical files.<br />

When targeting a remote environment that has the source library/compile location set to<br />

R (remote), the compile option must be set to N to retain the file and member IDs.


Sequential Request (IMSEQRQS)<br />

<strong>Implementer</strong> Data Areas<br />

The IMSEQRQS data area pertains to the processing sequence of promotion requests for<br />

environments that are not compiled. This does not apply to emergency promotions. By<br />

default, <strong>Implementer</strong> processes all compile requests based on a compile date edit. For<br />

environments with the Compiled Required field set to N, this data area allows you to bypass<br />

the date edit and process requests sequentially by request number.<br />

The default data area value *NO allows all requests to process based on the date edit. Change<br />

the value to *YES to bypass the date edit when not compiling and allow promotions to<br />

process in request number sequence.<br />

Special Commands (IMSPCCMD)<br />

The IMSPCCMD data area contains a list of <strong>Implementer</strong> commands that are available as<br />

special commands. The commands can be used as special commands without having the<br />

<strong>Implementer</strong> library in the library list of the target environment. All other special commands<br />

require the <strong>Implementer</strong> library in the target library list or a qualified library name. Users do<br />

not maintain this data area.<br />

NOTE To issue <strong>Implementer</strong> commands as special commands, the product library<br />

(<strong>MKS</strong>IM is the default) must be on the environment library list. For AllFusion 2E,<br />

the product library (Y2SYCM is the default) must be on the environment library list.<br />

Save Program Name (IMSVPGM)<br />

The IMSVPGM data area pertains to the Archive to Tape feature. It allows you to identify a<br />

third party save/restore utility to a create off-line storage of archived information. For<br />

example, you can use IBM’s Backup Restore Management System (BRMS) or your own<br />

version of a save/restore utility.<br />

This is a 20 character data area: Positions 1 through 10 store the library name associated with<br />

internal program, and positions 11 through 20 store the name of the internal program.<br />

This feature also requires defining values to a skeleton program named IMSVLB2 located in<br />

the <strong>Implementer</strong> source file QSAMPLE. For detailed information on setting up to use a third<br />

party save/restore utility, see “BRMS/400 Integration” on page 322.<br />

Promotion Batch Step Test Mode (IMTSTMOD)<br />

The IMTSTMOD data area controls when promotion batch steps are performed, and whether<br />

they run in test mode or real mode. This feature is only useful for testing purposes and used<br />

under the direction of <strong>MKS</strong> Customer Care. The data area values are as follows.<br />

*NO The job continues as normal. This is the default value.<br />

411


Appendix A: <strong>Implementer</strong> Data Areas and User Exit Programs<br />

412<br />

*MSG Activates additional messaging during the batch promotion of a request<br />

and allows it to run without actually compiling or moving items. Each<br />

internal phase of the request receives a cryptic start/end message to<br />

accurately determine the internal phase being processed, helping to<br />

identify which part of the promotion completed and which part is<br />

processing when an error occurs. This is useful to identify some<br />

promotion problems. Customer Care may request you change the setting<br />

if additional information in needed.<br />

*YES Do not use without direction from Customer Care. Causes all promotion<br />

requests to appear as though related processing is complete, but does not<br />

actually compile or move objects. The job completes successfully and the<br />

request is set to completed status. When active, there are no messages<br />

about individual items on the request being compiled or moved, and<br />

instead of calling the compile or move programs, the program names are<br />

listed in the job log to show when they would be called.<br />

Invalid Logical File Control (IMWRNTRGLF)<br />

The IMWRNTRGLF data area controls how <strong>Implementer</strong> handles the recompile of logical<br />

files implicitly added to a promotion request that results in compile fail status, for example,<br />

due to missing or invalid source.<br />

The data area is located on both the host and remote systems, but currently only used on the<br />

remote system. Valid values are as follows.<br />

*ABT The promotion aborts. This is the default value.<br />

*DLT Deletes the invalid logical files and generates the Display File Description<br />

(DSPFD) and Display File Field Description (DSPFFD) reports to allow<br />

manually recreating the logical files.<br />

*INQ The promotion pauses and prompts for an action to continue. Valid replies<br />

are D to delete the logical file and C to cancel the request.<br />

Next Tape Label (ITAPEVOLUM)<br />

The ITAPEVOLUM data area controls the next volume ID for archives saved to tape.<br />

<strong>Implementer</strong> automatically initializes a tape with volume ID ARC###, where ### is a number<br />

starting with 001 that increments for each archive saved. The data area does not usually<br />

require a manual change.<br />

Reference File to Set Authority (LFREFOBJ, PFREFOBJ)<br />

The LFREFOBJ and PFREFOBJ data areas control the authority used to promote physical and<br />

logical files. It is a 20-character data area. Positions 1 through 10 store a file name, and<br />

positions 11 through 20 store a library name. The file specified is used as the reference object<br />

when setting authority to PFs and LFs on a promotion. If the data area value is blank, the<br />

authority to promote PFs and LFs is based on the value specified in the environment<br />

definition.


Receiver Library Name (RCVLIB)<br />

<strong>Implementer</strong> Data Areas<br />

The RCVLIB data area on the host system contains the name of the <strong>Implementer</strong> Receiver<br />

library for the remote system. It is a 10-character data area enclosed in single quotes. The<br />

default value is ‘<strong>MKS</strong>IR’.<br />

Change the data area value only if you use an <strong>Implementer</strong> Receiver library name other than<br />

<strong>MKS</strong>IR on the remote system, or if you are running two parallel versions of <strong>Implementer</strong>,<br />

and <strong>Implementer</strong> is used to send changes to remote systems.<br />

NOTE If you have <strong>Implementer</strong> enabled for AllFusion 2E CM, this data area is in the<br />

AllFusion 2E host library Y2SYCM and contains the name of the AllFusion 2E CM<br />

Receiver library on the remote system (the default is Y2SYCR).<br />

Authorized User of IFS Objects (SDMAUTUSR)<br />

The SDMAUTUSR data area stores the user profile <strong>Implementer</strong> uses to manage all objects<br />

that exist outside of the QSYS library, for example, IFS files and directories.<br />

The default value is ‘SDMAUTUSR’ (enclosed in single quotes). The user profile is created<br />

with a random password and the following characteristics: all object special authority,<br />

enabled status, a current (non expired) password.<br />

To use a different profile, specify a user profile that has the same characteristics to enable<br />

<strong>Implementer</strong> to properly manage objects outside of the QSYS library. Use the Change User<br />

Profile (CHGUSRPRF) command to set the characteristics as follows:<br />

CHGUSRPRF USRPRF(name)<br />

PASSWORD(password)<br />

STATUS(*ENABLED)<br />

SPCAUT(*ALLOBJ)<br />

PWDEXPITV(*NOMAX)<br />

In addition, the user profile must be enrolled in the system distribution directory by using the<br />

Work with Directory Entries (WRKDIRE) command. A user ID entry of *ALL is not sufficient.<br />

IMPORTANT <strong>Implementer</strong> uses the SDMAUTUSR user profile and password to<br />

access an NT Server for IFS object management on a mounted drive. For this<br />

purpose the user profile and password must be identical and the values defined on<br />

the iSeries must be the same user profile and password defined on the NT Server.<br />

For details, see “Mounted Drive Support for IFS Objects” on page 159.<br />

Remote Job Queue (IRJOBQ)<br />

The IRJOBQ data area contains the name of the remote job queue. It is used along with data<br />

area IRSBMMTD, which stores the job submission method. The data area is located on the<br />

remote system in the <strong>Implementer</strong> Receiver library (default is <strong>MKS</strong>IR).<br />

413


Appendix A: <strong>Implementer</strong> Data Areas and User Exit Programs<br />

414<br />

This is a 20 character data area. Positions 1 through 10 store the job queue name, and<br />

positions 11 through 20 store the library name. You must enclose the values in single quotes,<br />

for example, ‘QBATCH *LIBL ‘.<br />

Remote Job Submission Method (IRSBMMTD)<br />

The IRSBMMTD data area contains the submission method for remote jobs. The data area is<br />

located on the remote system in the <strong>Implementer</strong> Receiver product library.<br />

This is a one character data area. Valid values are 0 or 1, enclosed in single quotes, for<br />

example, ‘1’.<br />

Work Library Cleanup (IMWLCLNUP)<br />

The IMWLCLNUP data area is used with the release management features of <strong>Implementer</strong><br />

when using multiple <strong>Implementer</strong> Receivers on the same iSeries. The data area allows you to<br />

install the same delivery on each remote system by controlling the deletion of the<br />

<strong>Implementer</strong> work libraries used during delivery installation.<br />

The data area is located on the remote system in the <strong>Implementer</strong> Receiver library <strong>MKS</strong>IR.<br />

The default data area value *YES deletes the work libraries. Set the value to *NO to retain the<br />

work libraries. Set the value to *NO on each <strong>Implementer</strong> Receiver, and then change it to<br />

*YES before installing the last delivery. For more information, see the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong><br />

Release Management <strong>Guide</strong>.<br />

Customizing <strong>Implementer</strong><br />

<strong>Implementer</strong> provides the source file QSAMPLE, which is an ever-growing source of<br />

technical information that helps you to further customize <strong>Implementer</strong>. The source file is<br />

located in the <strong>Implementer</strong> product library <strong>MKS</strong>IM.<br />

User Exit Programs<br />

IMPORTANT Check the latest <strong>MKS</strong> <strong>Implementer</strong> Release Notes for release-related<br />

changes to QSAMPLE that may require recompiling your modified source<br />

programs.<br />

The following is a partial list of the user exit programs provided in QSAMPLE. Refer to the<br />

source in QSAMPLE for more details on these and other user exit programs.


Program Name Description<br />

Customizing <strong>Implementer</strong><br />

IMPRMV3 Allows you to customize the setting of authorities on objects promoted through<br />

<strong>Implementer</strong>.<br />

IMCODF Allows you to customize path defaults during check out.<br />

IMCRDF Allows you to customize path defaults during create request.<br />

IMCOMO8 Allows you to customize concurrent development processing. To set concurrent<br />

development to include only the items checked out from the same environment,<br />

see “Concurrent Development Scope” on page 71.<br />

IMUPDLCK Allows you to bypass updating the source/object locks on a request after the<br />

successful move of source/objects to the specified environment.<br />

When using programs from QSAMPLE, <strong>MKS</strong> recommends you place them in a library other<br />

than the <strong>Implementer</strong> product library, for example, <strong>MKS</strong>IMMOD, so they are not affected by<br />

product upgrades. You must add the modified library to the interactive library lists for all<br />

users, as well as the library list of any batch programs that use the commands. In addition,<br />

when using a modification library you must change the <strong>Implementer</strong> commands to remove<br />

the default product library parameter from all commands (the default product library name<br />

is <strong>MKS</strong>IM).<br />

Edit Library List Command<br />

The Edit Library List (IEDTLIBL) command allows you to modify the library list of an<br />

<strong>Implementer</strong> environment. You must have authority to the environment and standard move<br />

capabilities for the environment library list you want to modify.<br />

The command is located in the <strong>Implementer</strong> product library in source file QSAMPLE. For<br />

detailed instructions on creating the command, refer to the comments in the IEDTLIBL<br />

command source in QSAMPLE.<br />

You prompt the command from a command line, specify the Environment name and<br />

<strong>Implementer</strong> library parameters, and press ENTER to retrieve the current library list of the<br />

specified environment. Libraries can be added to the end or middle of the list (they are added<br />

in the order entered).<br />

To add a library to an environment’s library list, type the greater-than character (>) in the<br />

Control field.<br />

To remove a library from an environment’s library list, type the less-than character (


Appendix A: <strong>Implementer</strong> Data Areas and User Exit Programs<br />

416<br />

IEDTLIBL Command Parameters<br />

Environment Name<br />

Specify the name of the environment associated with the library list to modify.<br />

<strong>Implementer</strong> Library<br />

Specify the name of the <strong>Implementer</strong> product library (default product library is <strong>MKS</strong>IM).<br />

Specify another name if you changed the product library name when you installed<br />

<strong>Implementer</strong>.<br />

Library List Type<br />

Specify the system location of the library. Valid values are (L) Local or (R) Remote. The<br />

default value is L. When setting a local and remote library list for an environment, you must<br />

create two separate lists. The command does not support both local and remote libraries in<br />

the same list.<br />

Library<br />

Specify the name of the library to add or remove from the list.


A PPENDIX B<br />

Environment Examples<br />

A <strong>Guide</strong> to Setting Up Environments<br />

B<br />

This appendix provides setup examples of typical environments for the most common<br />

development scenarios. Although the examples do not describe all possible settings, they<br />

may be helpful when initially setting up <strong>Implementer</strong>.<br />

The examples illustrate specific environment settings for the following environment<br />

types:<br />

“Local Production” on page 418<br />

“Local Development” on page 419<br />

“Local Quality Assurance” on page 420<br />

“Local User Acceptance” on page 422<br />

“Remote Production” on page 423<br />

417


Appendix B: Environment Examples<br />

Local Production<br />

418<br />

The following table describes how to define an environment for local production.<br />

Field Description<br />

Environment Specify the environment name. It is helpful to design a recognizable<br />

naming convention, for example, AR_PRD.<br />

Description Specify a brief description of the environment, for example, Demo 1<br />

Production.<br />

Administrator Specify the <strong>Implementer</strong> administrator profile.<br />

Env type Specify the type of environment. Valid options are *PRD (production),<br />

*QAC (quality assurance), and *TST (development).<br />

Library defaults<br />

Specify the program library, files library, source library, and archive library names. If the libraries do not<br />

exist, <strong>Implementer</strong> automatically creates them when promoting a request to the environment. The<br />

library owner is the user profile defined in the Lib owner fields.<br />

Library Owner,<br />

Object Owner<br />

Applies to new objects created in <strong>Implementer</strong>, when you run Reset<br />

Authorities for an environment.<br />

Archive Versions Specify the number of archive versions to keep (up to 99 versions).<br />

Create request defaults: CHG fields<br />

The Chg field, parallel to the next four fields, controls whether you can change (override) these values<br />

when creating a promotion request that targets this environment. Specify Y to allow overrides.<br />

Compile required Yes. Allows auto submit in create request.


Field Description<br />

Local Development<br />

The following table describes how to define an environment for local development.<br />

Local Development<br />

Auto submit in create rqs Yes. Allows automatic promotion within a request to one of four levels:<br />

compile, distribute and move, or export (if a LANSA environment).<br />

Through step 2 (automatically promotes through the compile step).<br />

Add related objects to rqs Yes (automatically adds related objects to a promotion request) for<br />

compile purposes. Related environments include all programs related<br />

to a file, as well as all related ILE components.<br />

Check out required Yes. Members/objects require check out before adding them to a<br />

promotion request. You must also check out newly created members/<br />

objects, or have the name reserved.<br />

Allow authority overrides Yes. Allows changing object authority on a promotion request from<br />

*KEEP to *GRANT.<br />

Field Description<br />

Environment Specify the environment name. It is helpful to design a recognizable<br />

naming convention, for example, AR_TST.<br />

Description Specify a brief description of the environment, for example,<br />

Developer’s Development Env.<br />

Administrator Specify the <strong>Implementer</strong> administrator profile.<br />

419


Appendix B: Environment Examples<br />

Local Quality Assurance<br />

420<br />

Field Description<br />

Env type Specify the type of environment *TST (development), *QAC (quality<br />

assurance), or *PRD (production).<br />

Library defaults<br />

Specify the program library, files library, source library, and archive library names.<br />

Library Owner,<br />

Object Owner<br />

Applies to new objects created in <strong>Implementer</strong>, when you run Reset<br />

Authorities for an environment.<br />

Archive Versions Development usually does not archive versions.<br />

Create request defaults: CHG field<br />

Yes. The Chg field, parallel to the next four fields, controls whether you can change the corresponding<br />

field values when working with this environment.<br />

Compile required No.<br />

Auto submit in create rqs No. Does not allow automatic promotion of a request.<br />

Submit through step Specify a value (1–4) even if the previous step is set to N.<br />

Add related objects to rqs Yes. Automatically adds related objects to a promotion request.<br />

Check out required No. Member/objects do not require check out before adding them to a<br />

promotion request.<br />

Allow authority overrides No. Not allowed to change object authority on a promotion request.


Local Quality Assurance<br />

The following table describes how to define an environment for local quality assurance.<br />

Field Description<br />

Environment Specify the environment name. It is helpful to design a recognizable<br />

naming convention, for example, AR_QAC.<br />

Description Specify a brief description of the environment, for example, Quality<br />

Assurance Env.<br />

Administrator Specify the <strong>Implementer</strong> administrator user profile.<br />

Env type Specify the type of environment, *TST (development), *QAC (quality<br />

assurance), or *PRD (production).<br />

Library defaults<br />

Specify the program library, files library, source library, and archive library names.<br />

Library Owner,<br />

Object Owner<br />

Applies to new objects created in <strong>Implementer</strong>, when you run Reset<br />

Authorities for an environment.<br />

Archive Versions Specify the number of archive versions to keep (up to 99 versions).<br />

Create request defaults: CHG field<br />

Yes. The Chg field, parallel to the next four fields, controls whether you can change the corresponding<br />

field values when working in this environment.<br />

Compile required Yes. Members are usually compiled before promoting to a test<br />

environment.<br />

Auto submit in create rqs Yes. Allows automatic promotion of a request to 1 of 4 levels: compile,<br />

distribute and move, or export (if a LANSA environment).<br />

Submit through step 2 (automatically promotes through the compile step).<br />

Add related objects to rqs Yes. Automatically adds related objects to a promotion request.<br />

Check out required Yes. Members/objects require check out before adding them to a<br />

promotion request. You must also check out newly created members/<br />

objects.<br />

Allow authority overrides No. Not allowed to change object authority on a promotion request.<br />

421


Appendix B: Environment Examples<br />

Local User Acceptance<br />

422<br />

The following table describes how to define an environment for local user acceptance.<br />

Field Description<br />

Environment Specify the environment name. It is helpful to design a recognizable<br />

naming convention, for example, USRACPT.<br />

Description Specify a description of the environment, for example, User<br />

Acceptance Env.<br />

Administrator Specify the <strong>Implementer</strong> administrator user profile.<br />

Env type Specify the type of environment, *TST (development), *QAC (quality<br />

assurance), or *PRD (production).<br />

Library defaults<br />

Specify the program library, files library, source library, and archive library names.<br />

Library Owner,<br />

Object Owner<br />

Applies to new objects created in <strong>Implementer</strong>, when you run Reset<br />

Authorities for an environment.<br />

Archive Versions Specify the number of archive versions to keep (up to 99 versions).


Field Description<br />

Remote Production<br />

Remote Production<br />

Create request defaults: CHG field<br />

Yes. The Chg field, parallel to the next four fields, controls whether you can change the corresponding<br />

field values when working with this environment.<br />

Compile required No.<br />

Auto submit in create rqs Yes. Allows automatic promotion of a request to 1 of 4 levels: compile,<br />

distribute and move, or export (if a LANSA environment).<br />

Submit through step 2 (automatically promotes through the compile step).<br />

Add related objects to rqs Yes. Automatically adds related objects to a promotion request.<br />

Check out required Yes. Members/objects require check out before adding them to a<br />

promotion request. You must also check out newly created members/<br />

objects.<br />

Allow authority overrides No. Not allowed to change object authority on a promotion request.<br />

Defining an environment for remote production requires the entry of information in various<br />

fields across three Work with Environments panels. Press PAGE DOWN to access each panel.<br />

423


Appendix B: Environment Examples<br />

424<br />

The following table describes how to define an environment for remote production.<br />

Field Description<br />

Environment Specify the environment name. It is helpful to design a recognizable<br />

naming convention, for example, RMTSYS1.<br />

Description Specify a brief description of the environment, for example, Remote<br />

Production # 1.<br />

Administrator Specify the <strong>Implementer</strong> administrator.<br />

Env type Specify the type of environment, *PRD (production), *QAC (quality<br />

assurance), or *TST (development).<br />

Library defaults<br />

Specify the program library, files library, source library, and archive library names.<br />

Library Owner,<br />

Object Owner<br />

Applies to new objects created in <strong>Implementer</strong>, when you run Reset<br />

Authorities for an environment.<br />

Archive Versions Specify the number of archive versions to keep (up to 99 versions).<br />

Create request defaults: CHG field<br />

Yes. The Chg field parallel to the next four fields controls whether you can change the corresponding<br />

field values when working in this environment.<br />

Compile required No.<br />

Auto submit in create rqs Yes. Allows automatic promotion of a promotion request to 1 of 4<br />

levels: compile, distribute and move, or export if a LANSA<br />

environment.<br />

Submit through step 4 (automatically promotes through the Move step).<br />

Add related objects to rqs Yes. Automatically adds related objects to a promotion request.


Press PAGE DOWN to access the second Create Environment panel.<br />

Field Description<br />

Remote Production<br />

Check out required No. Members/objects do not require check out before adding them<br />

to a promotion request.<br />

Allow authority overrides No. Not allowed to change object authority on a promotion request.<br />

Special environment For a remote environment, this must be a standard LANSA or<br />

PeopleSoft World environment, not an AllFusion 2E or AS/SET<br />

environment.<br />

Issue required for check out Specify whether you require an issue for all check out activity<br />

(requires <strong>MKS</strong> Integrity installed for issue tracking).<br />

When DesignTracker is used for issue management, this field name<br />

is Design Request required for check out.<br />

Project reference required Specify whether you require a project for check out.<br />

Retain error-free job logs Specify Y or N to indicate whether to maintain error-free job logs in<br />

an <strong>Implementer</strong> database file.<br />

Remove obj in from lib/env Specify 2=Never (<strong>Implementer</strong> never deletes items from remote<br />

production environments).<br />

Remove src in from lib/env Specify 2=Never (<strong>Implementer</strong> never deletes items from remote<br />

production environments).<br />

Maintain related object info Specify Y or N, as needed. If Y, complete the next four fields as<br />

needed based on the source of related object information.<br />

Source of information Specify the source of related object information. Valid options are<br />

1=<strong>Implementer</strong> or 2=Hawkeye PathFinder.<br />

PathFinder X-ref library Specify the PathFinder x-ref library where related object information<br />

is stored if PathFinder maintains related objects.<br />

Update PathFinder X-ref Specify whether to automatically update PathFinder information<br />

during request promotion.<br />

DOCLIBL for X-ref updates Specify the documentation library list name in PathFinder that<br />

contains the library names of cross-referenced objects.<br />

425


Appendix B: Environment Examples<br />

426<br />

Press PAGE DOWN to access the third Create Environment panel.<br />

Field Description<br />

When arrives in<br />

this env<br />

Specify the <strong>MKS</strong> Integrity issue state to set for an item when checked<br />

out or promoted to this environment. Required only if <strong>MKS</strong> Integrity is<br />

the issue tracking system.<br />

Name: Specify the name of a valid <strong>MKS</strong> Integrity status to assign.<br />

*DEFAULT: Assigns the appropriate <strong>MKS</strong> Integrity default value.<br />

For example, when an item is checked out to *TST environment,<br />

the default issue status for *TST is set. When promoted to *PRD<br />

environment, the default issue status for *PRD is set. If promoted<br />

to this environment and it is the first *QAC on the path, the issue<br />

status for *QAC1 is set; if second *QAC on the path, the issue<br />

status *QAC2 is set.<br />

*NONE: Status is not assigned or updated.<br />

For information on using <strong>MKS</strong> Integrity, see page 196.<br />

When rejected from this env Specify the <strong>MKS</strong> Integrity issue state to set for an item when rejected<br />

from this environment. Required only if <strong>MKS</strong> Integrity is the issue<br />

tracking system.<br />

Name: Specify the name of a valid <strong>MKS</strong> Integrity status to assign.<br />

*DEFAULT: Assigns the appropriate <strong>MKS</strong> Integrity default value.<br />

For example, when an item is rejected from this environment to the<br />

first *QAC environment on the path, the default status for *QAC1 is<br />

assigned; for the second *QAC environment on the path, the<br />

default status for *QAC2 is assigned.<br />

*NONE: Status is not assigned or updated.<br />

System Specify the system name defined in Network Configuration.<br />

Source library location L=Local (compile runs on host system, objects sent to remote).


Field Description<br />

Network Configuration<br />

Remote Production<br />

Compile location L=Local (compile runs on host system, objects sent to remote).<br />

Values for Source Library Location and Compile Location must be<br />

the same.<br />

Distribution method 4=SDMCom. SDM-Com is a feature of <strong>Implementer</strong> that improves<br />

performance 20–35% over SNADS distribution. Its advanced<br />

features use compression algorithms and blocking specifically for<br />

remote distributions.<br />

Remote initiated move Specify Yes or No for a remote operator to initiate moves.<br />

Updates host No. If Remote initiated move is set to Y, this field allows you to update<br />

the host with information such as job logs and messages.<br />

Retain requests on remote Specify whether to retain requests on the remote system.<br />

Promotion notification queue Specify the promotion notification queue on remote system.<br />

Target release Specify if the remote system is at a different release of the operating<br />

system than the host system. Useful when you have multiple<br />

environments that target a single remote, to specify different target<br />

release values for each environment.<br />

*NETCONFIG: Retrieves the value defined for Target Release<br />

parameter in menu option 46, Network Configuration. This is the<br />

default value.<br />

*CURRENT: Remote system is at same operating system level as<br />

host system.<br />

*PRV: Remote system is at an earlier release of the operating<br />

system.<br />

Name: Specify actual version name, for example, V5R2M0.<br />

This example describes the required fields and suggested values in Network Configuration<br />

for remote environments.<br />

427


Appendix B: Environment Examples<br />

428<br />

This is the first Network Configuration Maintenance panel<br />

Field Description<br />

System Specify the system name to send changes to (can only be defined when<br />

you define a new system).<br />

Description Specify a brief description of the system.<br />

Target release Specify the OS/400 release level of the remote (target) system.<br />

*CURRENT: Remote system is at same operating system level as host<br />

system.<br />

*PRV: Remote system is at an earlier release of the operating system.<br />

Name: Specify the version name, for example, V5R2M0.<br />

SNA Communications options<br />

The following options allow you to define how to distribute to the remote system.<br />

Remote location name Specify the name of the remote location that changes are sent to. If you<br />

use Network Control Program (NCP), this is the NCP system name. It is<br />

not the name displayed in Display Network Attributes (DPSNETA). The<br />

value *SYSTEM uses the current system name.<br />

Local location name Specify the name of the local location where changes are sent from.<br />

Mode name Specify the name of the system object that contains controlling information<br />

for an APPC session. Enter a specific mode name, or *NETATR to use the<br />

default identifier in the network attributes. If you created a communication<br />

mode for <strong>Implementer</strong>, use IMPMODD.


Field Description<br />

Remote network<br />

identifier<br />

Press PAGE DOWN to access the second Network Configuration Maintenance panel.<br />

Remote Production<br />

Specify the name of the remote network where the location resides<br />

(usually *NETATR).<br />

Name: Enter the specific name of the remote network.<br />

*NETATR: Name is taken from the network attributes.<br />

*LOC: System automatically selects the remote network ID.<br />

*NONE: Non remote network ID is used.<br />

SNADS user ID Specify the SNADS user ID used to send network files to the specified<br />

system. This is typically user profile MWIPROD. Use this ID only if you<br />

distribute to the remote via SNADS (determined by the distribution method<br />

defined for the environment in Work with Environments).<br />

SNADS user address Specify the SNADS user address used to send network files to the<br />

specified system. This is the remote system name.<br />

Name: Address used when enrolling user in SNADS directory entry.<br />

*SYSTEM: System name used for the address listed above (current<br />

system name).<br />

Field Description<br />

Switched line Specify Y or N whether the communications line is a switched line.<br />

Switched line name Specify the name of the switched line (required to auto vary on and auto<br />

vary off the line).<br />

Control unit name Specify the name of the control unit associated with the line to this<br />

system.<br />

429


Appendix B: Environment Examples<br />

430<br />

Field Description<br />

Auto vary on Specify whether to vary on the communications line, controller, and<br />

device before remote processing begins.<br />

Auto vary off Specify whether to vary off the communications line, controller, and<br />

device after remote processing completes.<br />

Remote wait time Specify the number of minutes the remote program waits before<br />

attempting to receive a network file (promotion request).<br />

Remote no. of retries Specify the number of times the remote program attempts to receive a<br />

network file. Each retry attempt waits for the number of minutes specified<br />

in the Remote Wait Time field. If the network file is not received after this<br />

number of retries, request processing ends and the request status is set<br />

to the appropriate failed status: Comp-fail, Dist-fail, or Move-fail.


A PPENDIX C<br />

Converting DesignTracker<br />

Data to <strong>MKS</strong> Integrity<br />

Migrating Legacy Data to <strong>MKS</strong> Integrity<br />

C<br />

This appendix is for DesignTracker customers who are converting to <strong>MKS</strong> Integrity for<br />

issue management and have a requirement to convert existing DesignTracker data to<br />

<strong>MKS</strong> Integrity issues. This allows you to make history visible in <strong>MKS</strong> Integrity and bring<br />

future work into <strong>MKS</strong> Integrity.<br />

The tasks in this chapter explain how to convert existing DesignTracker design requests<br />

(DRs), service requests (SRs), and DR entity information to <strong>MKS</strong> Integrity issues, by<br />

using the <strong>Implementer</strong> conversion tool.<br />

<strong>MKS</strong> can assist with converting your DesignTracker data to <strong>MKS</strong> Integrity by providing<br />

conversion assistance, as well as assist in defining your business processes and workflow<br />

to <strong>MKS</strong> Integrity. For more information on this option, contact <strong>MKS</strong> Customer Care.<br />

This appendix covers the following topics:<br />

“Requirements” on page 432<br />

“Overview” on page 432<br />

“Rules and Actions” on page 433<br />

“Generating and Configuring the Conversion Properties File” on page 441<br />

“Post Conversion Considerations” on page 454<br />

431


Appendix C: Converting DesignTracker Data to <strong>MKS</strong> Integrity<br />

Requirements<br />

Overview<br />

432<br />

The following requirements apply to using this data conversion:<br />

Install or upgrade to <strong>Implementer</strong> <strong>2006</strong>, including configuring the <strong>Implementer</strong> Server.<br />

Install or upgrade to <strong>MKS</strong> Integrity <strong>2006</strong>.<br />

In addition, you must define you development process and workflow <strong>MKS</strong> Integrity,<br />

and any fields and field values you map must exist in <strong>MKS</strong> Integrity. For details on this<br />

topic, see the <strong>MKS</strong> Integrity Server <strong>2006</strong> <strong>Administration</strong> <strong>Guide</strong>.<br />

<strong>MKS</strong> Integrity is set as the default issue tracking system within <strong>Implementer</strong>, with<br />

DesignTracker co-existence enabled. These tasks are described in “Converting With Data<br />

Retention” on page 247.<br />

If you have already converted to <strong>MKS</strong> Integrity, you may have already completed the<br />

following requirements that are described in Chapter 5. To verify this:<br />

Review “Set the Last Allowed DR Number” on page 250 and make any necessary<br />

changes.<br />

Review “Set the Next Issue Number in <strong>MKS</strong> Integrity” on page 252 and make any<br />

necessary changes.<br />

Review “Set a User’s Default Issue Management System” on page 253 and make any<br />

necessary changes.<br />

The conversion tool uses the <strong>MKS</strong> Integrity Setup information defined in <strong>Implementer</strong> to<br />

communicate with <strong>MKS</strong> Integrity and create issues, as such, communications between<br />

<strong>Implementer</strong> and <strong>MKS</strong> Integrity must be active to use the conversion tool. For details on<br />

this topic, see “Defining <strong>MKS</strong> Integrity Values in <strong>Implementer</strong>” on page 226.<br />

<strong>MKS</strong> Integrity, unlike DesignTracker, has an enterprise focus that uses different process<br />

control mechanisms and field types than DesignTracker. As such, converting data to<br />

<strong>MKS</strong> Integrity using <strong>Implementer</strong>’s automated conversion tool requires that the controls,<br />

workflow, issue types, fields, field values, and users, which are essential to operating your<br />

business, are set up in <strong>MKS</strong> Integrity prior to running the data conversion. These items are<br />

not created by the conversion.<br />

Once <strong>MKS</strong> Integrity is set up and <strong>Implementer</strong> is converted to use <strong>MKS</strong> Integrity for issue<br />

management in co-existence with DesignTracker, you can focus on the data conversion<br />

aspect of your project.


Rules and Actions<br />

You have the option to convert all data at the same time, or gradually convert subsets of data,<br />

for example, by product, user, department, or project. Perhaps your business model requires<br />

only the conversion of DRs (not SRs)—the conversion tool has the flexibility to accommodate<br />

each of these scenarios, and more. The Work with Design Requests and Work with Service<br />

Requests subsetting functions are used to select the DRs or SRs for conversion.<br />

As explained in “Set a User’s Default Issue Management System” on page 253, <strong>Implementer</strong><br />

allows you to designate on a user basis which issue tracking system a user is working with. In<br />

other words, you can temporarily have groups of users using DesignTracker, while other<br />

users are using <strong>MKS</strong> Integrity. This approach is beneficial to larger organizations with many<br />

end users, as it allows you to train and migrate groups of individuals rather than all users at<br />

once.<br />

<strong>Implementer</strong> provides a conversion tool that is delivered in the form of the Convert DT to<br />

<strong>MKS</strong> Integrity (ICVTDT) command. Unlike most <strong>Implementer</strong> commands, this command<br />

works together with a conversion property file that resides on the <strong>Implementer</strong> Server. The<br />

conversion results post to a conversion log on the same system. Using the conversion tool,<br />

you are able to generate the conversion properties file you use to map existing DesignTracker<br />

data and fields to corresponding values already defined in <strong>MKS</strong> Integrity. Details on the<br />

ICVTDT command begin on page 438. Information on mapping data begins on page 441.<br />

Once the conversion properties are properly set up and you have all the required data<br />

mapped, the conversion tool is used to convert the DesignTracker data to <strong>MKS</strong> Integrity<br />

issues. Information on using the conversion tool begins on page 433.<br />

The data conversion is complete when all applicable data is converted to <strong>MKS</strong> Integrity<br />

issues and no users are set to use DesignTracker for issue management. Information on post<br />

data conversion activities begins on page 454.<br />

Rules and Actions<br />

The conversion tool allows you to convert existing DesignTracker DRs, SRs, and DR entity<br />

information to <strong>MKS</strong> Integrity issues and related change packages. You can convert subsets of<br />

DRs and/or SRs, making it possible to have groups of DRs or SRs convert differently<br />

depending on the values specified in the conversion properties file when the conversion<br />

runs.<br />

DRs must have no open locks to convert. Once converted, a DR cannot be associated with a<br />

lock, for example, a converted DR cannot be used in check out. Editing a converted DR or SR<br />

is allowed; however, any changes made to a converted DR or SR are not updated to the<br />

corresponding <strong>MKS</strong> Integrity issue. Thus, a good business practice is to only make changes to<br />

the new issue.<br />

433


Appendix C: Converting DesignTracker Data to <strong>MKS</strong> Integrity<br />

434<br />

Each DesignTracker DR and SR field is optionally mapped to an <strong>MKS</strong> Integrity field as<br />

defined by you. DR entities and corresponding fields automatically convert to <strong>Implementer</strong><br />

change packages in <strong>MKS</strong> Integrity. Fields can either be omitted, or they can have the name of<br />

an existing <strong>MKS</strong> Integrity field to populate with the data. The “Logged by User” and<br />

“Logged Date” always convert to internal fields.<br />

For each field you convert, if there is a master file in DesignTracker setup, the DesignTracker<br />

field value is assigned to the corresponding <strong>MKS</strong> Integrity field value as defined in the<br />

conversion properties file. This allows replacing the shorter abbreviated values common in<br />

DesignTracker, with the longer, more descriptive values common to <strong>MKS</strong> Integrity. For<br />

example, DesignTracker status values can be set to existing <strong>MKS</strong> Integrity state values.<br />

After the data conversion, the DRs and related lock history remain in DesignTracker,<br />

unchanged and available online to select DesignTracker users for historical and auditing<br />

purposes.<br />

TIP <strong>MKS</strong> recommends you assign the new <strong>MKS</strong> Integrity issue number to one of the<br />

user defined fields on DRs and SRs so it is visible when displaying a DR or SR. This<br />

also makes it available to include in reports and queries.However, this has no<br />

impact on the fact that once a DR or SR is converted, it will not convert again even if<br />

included in selection criteria.<br />

User Profile and Resource Fields<br />

<strong>Implementer</strong> attempts to convert all user profile and resource fields to the <strong>MKS</strong> Integrity user<br />

values defined for Project Leader and Developer Resource.<br />

<strong>Implementer</strong> retrieves the user ID that corresponds to the resource ID in the DesignTracker<br />

Resource master file. From the user ID, the OS/400 user profile is retrieved from the<br />

<strong>Implementer</strong> Work with Users function to verify if an <strong>MKS</strong> Integrity user ID is specified. If<br />

any of these values are invalid or not specified, the alternate value is used.<br />

In the event a name cannot convert, when defining the ICVTDT command parameters you<br />

must specify a valid default user to assign to the issue if there is no conversion for the user or<br />

available resource in DesignTracker.<br />

NOTE This rule applies when mapping to an <strong>MKS</strong> Integrity user field. If mapping to<br />

a text field, the original text maps to the new field.<br />

Entities Added as Change Package Entries<br />

When a converted DR is associated with a DesignTracker entity, an <strong>Implementer</strong> change<br />

package is created based on the standard <strong>MKS</strong> Integrity change package creation rules.


The Create User ID for a change package is determined in the following order:<br />

Rules and Actions<br />

assigns the user associated with the DR entity, if the user is enrolled in <strong>MKS</strong> Integrity<br />

assigns the development resource initials associated with the DR entity, if the user is a<br />

valid <strong>Implementer</strong> user and enrolled in <strong>MKS</strong> Integrity<br />

assigns the DRs Logged By user, if the user is a valid <strong>Implementer</strong> user and enrolled in<br />

<strong>MKS</strong> Integrity<br />

assigns the default create user as specified in the ICVTDT command (see “Default create<br />

user” on page 440)<br />

The change package status is set after the members are added. Because a converted DR<br />

cannot be associated with open locks, the change packages automatically close once<br />

converted.<br />

Conversion Log File<br />

Processing of the Convert DT to <strong>MKS</strong> Integrity (ICVTDT) command generates a conversion<br />

log file that lists any errors found in the setup and any problems detected during the actual<br />

conversion. <strong>MKS</strong> recommends you review the log file each time the ICVTDT command is<br />

processed, as it is the only place truncation warnings appear.<br />

The log is located on the <strong>Implementer</strong> Server. The log name is:<br />

implementer-conversion-YYYYMMDDHHMMSS.log<br />

Where YYYYMMDDHHMMSS is the date and time the log was created (the time stamp is based on<br />

a 24-hour clock), for example, implementer-conversion-<strong>2006</strong>04213124701.log.<br />

Message and Error Handling<br />

For every 50 items converted, a status message displays at the bottom of the display to<br />

indicate the actual number of converted items, for example, “Converted 50 items” and<br />

“Converted 2,500 items”. When the conversion ends, the total number of converted DRs<br />

and SRs display.<br />

If the conversion properties are incorrectly defined or problems occur when adding<br />

<strong>Implementer</strong> change packages for the DR entities, the conversion halts and the problems are<br />

logged to the conversion log file. You must resolve these problems before restarting the<br />

conversion.<br />

If a specific DR or SR does not convert, the problems are logged to the conversion log file and<br />

the conversion continues processing. After resolving the problem, you can restart the<br />

conversion without modifying the parameter selection (previously converted issues are<br />

excluded).<br />

435


Appendix C: Converting DesignTracker Data to <strong>MKS</strong> Integrity<br />

436<br />

Conversion Considerations<br />

DRs that are currently linked to SRs in DesignTracker will not have a relationship<br />

automatically added between the new issues in <strong>MKS</strong> Integrity—this requires a manual<br />

change. In addition, because the following data (if used) is not applicable to <strong>MKS</strong> Integrity, it<br />

does not convert:<br />

DR and SR approval related information<br />

process control information, for example, field display and validation controls, and<br />

<strong>Implementer</strong> state controls<br />

release management information<br />

ProjectMaster information<br />

SupportCenter attached calls<br />

Organizational Activities<br />

The organizational activities required to perform the data conversion include the following:<br />

1 Pilot the integration.<br />

a) In <strong>Implementer</strong>, run the system conversion that allows DesignTracker and<br />

<strong>MKS</strong> Integrity to co-exist.<br />

b) Configure <strong>MKS</strong> Integrity, which includes:<br />

Types, workflow, fields, and field values. The workflow must allow any state<br />

transition to any other state. In addition, no mandatory fields can be specified<br />

in the workflow. The fields cannot have editability rules; remove any existing<br />

editability rules. You can modify this open workflow to be more restrictive<br />

once the conversion has finished.<br />

Enroll users.<br />

c) Configure <strong>Implementer</strong> to use <strong>MKS</strong> Integrity.<br />

d) Map your existing data to <strong>MKS</strong> Integrity by completing the conversion properties<br />

file.<br />

e) Run the Convert DT to <strong>MKS</strong> Integrity (ICVTDT) command to convert a sampling of<br />

DRs (for testing purposes, these DRs can be copied from other DRs).<br />

f) Verify the setup by using the <strong>Implementer</strong> and <strong>MKS</strong> Integrity functions to check out<br />

and promote back to production.<br />

g) Document all <strong>Implementer</strong> and <strong>MKS</strong> Integrity set up steps.<br />

h) Apply the set up changes to the production copies if piloting the conversion in<br />

separate installations.


Rules and Actions<br />

2 Plan and perform any required training (pilot installations can be used for this purpose).<br />

3 Configure <strong>MKS</strong> Integrity for any remaining changes:<br />

a) Workflow, fields, and types.<br />

b) Enroll users (non pilot users).<br />

4 Perform the conversion.<br />

a) Secure a backup of the <strong>Implementer</strong> and <strong>MKS</strong> Integrity databases.<br />

b) Issue the Convert DT to <strong>MKS</strong> Integrity (ICVTDT) command for each group of DRs<br />

and SRs requiring conversion.<br />

c) Perform any additional <strong>MKS</strong> Integrity setup changes.<br />

d) Verify the set up by using the <strong>Implementer</strong> and <strong>MKS</strong> Integrity functions for check<br />

out and promotion.<br />

e) Begin using the new features.<br />

Example of a Basic Conversion<br />

The following tasks illustrate the steps required to perform and complete a typical data<br />

conversion.<br />

1 Issue the following command to run the conversion and generate the initial conversion<br />

properties file:<br />

ICVTDT MODE(*EDIT) TYPE(*BOTH) DFTCRTUSR(CVTUSER)<br />

A message confirms the file was generated and the location of the file.<br />

NOTE To generate a new conversion properties file, delete or rename the existing file.<br />

2 Define the mappings from DesignTracker values to <strong>MKS</strong> Integrity fields and values.<br />

In the conversion properties file, modify the field and value settings using any<br />

desktop ASCII editor, such as Notepad. For details, see “Generating and Configuring the<br />

Conversion Properties File” on page 441.<br />

3 In <strong>MKS</strong> Integrity, set up any new types, fields, or field values that will be used for<br />

DesignTracker DRs or SRs.<br />

4 From the Work with Design Requests and/or Work with Service Requests functions, use<br />

F17 to subset the list of requests to convert.<br />

5 Edit the conversion settings by issuing the following command:<br />

ICVTDT MODE(*EDIT) TYPE(*BOTH) DFTCRTUSR(CVTUSER)<br />

437


Appendix C: Converting DesignTracker Data to <strong>MKS</strong> Integrity<br />

438<br />

6 Resolve all errors reported in the conversion log file. For details, see “Conversion Log<br />

File” on page 435.<br />

7 Run the conversion by issuing the following command:<br />

ICVTDT MODE(*CONVERT) TYPE(*BOTH) DFTCRTUSR(CVTUSER)<br />

8 Review the conversion log file for errors and warnings. For details, see “Message and<br />

Error Handling” on page 435.<br />

9 If the alternate was used to handle undefined values, in <strong>MKS</strong> Integrity, query for issues<br />

that use the alternate values for fields and modify the values as needed.<br />

Convert DT to <strong>MKS</strong> Integrity (ICVTDT) Command<br />

The Convert DT to <strong>MKS</strong> Integrity (ICVTDT) command is the tool that allows you to generate<br />

an initial <strong>Implementer</strong> conversion properties file, validate the entries in the file, and convert<br />

existing DRs and SRs into <strong>MKS</strong> Integrity issues.<br />

The command uses the current DR and SR selection criteria that are applied when subsetting<br />

the Work with Design Requests or Work with Service Requests functions for the user that<br />

issues the command, or the selection criteria of the last report generated by the user<br />

(whichever is most current). This allows you to view and report on the information to<br />

convert. The conversion automatically excludes any items already converted.<br />

The command converts DRs and SRs based on the values defined in the implementerconversion.properties<br />

file that installs in the root directory where the <strong>Implementer</strong><br />

server is installed. Records convert based on the sort order determined by using the DR and<br />

SR summary report criteria. For information on the conversion properties file, see<br />

“Generating and Configuring the Conversion Properties File” on page 441.<br />

The command provides three operational modes, depending on the Conversion Mode<br />

parameter value specified.<br />

Command parameter Conversion properties file status / command action<br />

*EDIT or *CONVERT Creates file if it does not exist.<br />

*EDIT Edits existing file.<br />

*CONVERT Edits existing file. If no errors, converts data.<br />

Create an initial prototype of the conversion properties file by issuing the command with the<br />

*EDIT parameter value, which populates the file based on the data currently defined to<br />

DesignTracker. The property file can be edited using any ASCII text editor. You can issue the<br />

ICVTDT command with the *EDIT parameter value as often as needed to validate the<br />

conversion property file until no errors are reported. When you are ready to convert data,<br />

issue the command with the *CONVERT parameter value.


Rules and Actions<br />

The command generates a conversion log file that lists any errors found in the setup, as well<br />

as any errors that occur during the data conversion. For details, see “Conversion Log File” on<br />

page 435.<br />

The command performs the following edits that must pass validation:<br />

The user running the conversion is enrolled in <strong>MKS</strong> Integrity and set up in <strong>Implementer</strong><br />

as a DesignTracker user.<br />

The default <strong>MKS</strong> Integrity user is valid.<br />

If converting DRs, a valid DR issue type is specified.<br />

If converting SRs, a valid SR issue type is specified.<br />

Each field is mapped to an existing <strong>MKS</strong> Integrity field (unmapped fields are omitted).<br />

Each field is mapped to a field of the proper type.<br />

For each field that has a restricted list of entries, each valid DesignTracker field value is<br />

mapped to a valid <strong>MKS</strong> Integrity field value.<br />

NOTE This requires all new field values defined in <strong>MKS</strong> Integrity. <strong>MKS</strong> professional<br />

services provides tools to help with this task if you have a lot of values to define.<br />

The alternate value, if specified, is a valid <strong>MKS</strong> Integrity value for the field.<br />

Each <strong>MKS</strong> Integrity field is assigned to only one DesignTracker field within DRs and<br />

SRs. For example, the State field can be assigned to both DRs and SRs as separate<br />

entities, but it cannot be assigned more than once within DRs or SRs alone.<br />

No open locks exist for DRs. If DRs with open locks are found, a message is sent to the<br />

conversion log and the edit or conversion does not occur.<br />

To use the ICVTDT command, DesignTracker and <strong>MKS</strong> Integrity must be set up as coexisting<br />

issue management systems as described in “Converting With Data Retention” on<br />

page 247.<br />

NOTE The ICVTDT command converts data only. For information on converting the<br />

issue management system, see “Converting From DesignTracker to <strong>MKS</strong> Integrity”<br />

on page 243.<br />

439


Appendix C: Converting DesignTracker Data to <strong>MKS</strong> Integrity<br />

440<br />

Convert DT to <strong>MKS</strong> Integrity (ICVTDT) Command Parameters<br />

Conversion mode<br />

Specify whether to run the conversion in edit mode or conversion mode as follows:<br />

*EDIT Validates the conversion setup as defined in the implementerconversion.properties<br />

file. Does not convert DRs or SRs.<br />

Creates initial prototype implementer-conversion.properties file<br />

populated with the default values of all master data currently defined in<br />

the DesignTracker setup. The resulting file may be large depending on<br />

the volume of data. Use this file to map existing DesignTracker fields to<br />

the corresponding <strong>MKS</strong> Integrity fields.<br />

If you have made significant changes to your setup since creating the<br />

initial conversion properties file, delete or rename the file and generate a<br />

new one.<br />

*CONVERT Validates the conversion setup as with the *EDIT parameter, and if the<br />

configuration file is valid, converts DRs and SRs to issues.<br />

Type to convert<br />

Specify the type of DesignTracker requests to convert.<br />

Default create user<br />

IMPORTANT The first time you issue this command, specify the *EDIT<br />

parameter value to generate an initial conversion properties file. This file<br />

contains data from your existing setup and must be generated to validate your<br />

conversion setup and data mapping. You may have to do this multiple times<br />

until the expected results are achieved. Rerun the ICVTDT command with the<br />

*EDIT value until the log file is error free. When you are satisfied with the edit<br />

results, you are ready to convert DRs and SRs by issuing the command using<br />

the *CONVERT parameter value.<br />

*BOTH Converts both DRs and SRs.<br />

*DR Converts DRs only.<br />

*SR Converts SRs only.<br />

Specify an <strong>Implementer</strong> user profile name to assign as the Created by user for issues and<br />

change packages when a user associated with a DR, SR, or DR entity cannot be assigned, for<br />

example, if a user profile no longer exists or a user is not enrolled in <strong>MKS</strong> Integrity.<br />

The default name specified here must be set up in <strong>Implementer</strong> as an <strong>MKS</strong> Integrity user and<br />

enrolled in <strong>MKS</strong> Integrity.<br />

Based on the type, the Created by user is assigned in the following order:


Type Order of assignment<br />

Command Usage Examples<br />

Generating and Configuring the Conversion Properties File<br />

Issues Logged by user.<br />

Default create user specified in the ICVTDT command.<br />

Change Packages User associated with the DR entity, if the user is enrolled in <strong>MKS</strong> Integrity.<br />

Development resource initials associated with the DR entity, if the user is a<br />

valid <strong>Implementer</strong> user and enrolled in <strong>MKS</strong> Integrity.<br />

DRs Logged By user, if the user is a valid <strong>Implementer</strong> user and enrolled in<br />

<strong>MKS</strong> Integrity.<br />

Default create user specified in the ICVTDT command.<br />

First, the ICVTDT command is used to generate and validate the setup defined in the<br />

conversion properties file for DRs and SRs. Data is not converted. An example of this<br />

command is:<br />

ICVTDT MODE(*EDIT) TYPE(*BOTH) DFTCRTUSR(CVTUSER)<br />

Next, the ICVTDT command is used to convert a subset of DRs to <strong>MKS</strong> Integrity issues.<br />

This example assumes that any errors reported in the conversion properties file as a<br />

result of issuing the command in the first example are resolved. If any DRs are<br />

associated with an invalid user profile, <strong>Implementer</strong> assigns the <strong>MKS</strong> Integrity user<br />

defined for the default user profile CVTUSER. An example of this command is:<br />

ICVTDT MODE(*CONVERT) TYPE(*DR) DFTCRTUSR(CVTUSER)<br />

Last, the ICVTDT command is used to convert the user’s defined subset of DRs and SRs<br />

to <strong>MKS</strong> Integrity issues. An example of this command is:<br />

ICVTDT MODE(*CONVERT) TYPE(*BOTH) DFTCRTUSR(CVTUSER)<br />

Generating and Configuring the Conversion<br />

Properties File<br />

Before converting DesignTracker data, you must map the existing data to corresponding<br />

values in <strong>MKS</strong> Integrity. This is accomplished by fist generating the <strong>Implementer</strong> conversion<br />

properties file. After generating the file, you must map the DesignTracker fields to the<br />

<strong>MKS</strong> Integrity fields.<br />

If your DesignTracker setup changes you can edit the conversion properties file, or if you<br />

want to completely recreate the conversion property file from scratch, either delete or rename<br />

the existing file on the <strong>Implementer</strong> Server and then rerun the edit process.<br />

After reviewing the following information, you can perform the task on page 446 that<br />

explains how to generate, edit, update, and save the file as needed for the data conversion.<br />

441


Appendix C: Converting DesignTracker Data to <strong>MKS</strong> Integrity<br />

Data Mapping Considerations<br />

442<br />

The overall success of your data conversion is contingent upon two criteria: the accuracy of<br />

workflow and values you define in <strong>MKS</strong> Integrity, and the accuracy with which you map<br />

existing DesignTracker data values to the new values. To support this objective, this section<br />

contains specific information you need to know in preparation for mapping data and<br />

configuring the conversion properties file.<br />

Field Mapping<br />

You must map all applicable DesignTracker fields to a corresponding valid field in<br />

<strong>MKS</strong> Integrity. You accomplish this by configuring the <strong>Implementer</strong> conversion properties<br />

file. An example of the conversion properties file is illustrated in the table on page 446. You<br />

may find it helpful to use this table as a template when mapping your data.<br />

Prior to running the conversion, you must define any new fields in <strong>MKS</strong> Integrity (the<br />

conversion does not create fields). An error occurs if a specified field is not of the required<br />

type.<br />

Field Values<br />

Several fields in DesignTracker contain data that you can prompt or that is validated to<br />

master file data. To allow for a parallel structure in <strong>MKS</strong> Integrity, you can convert these<br />

fields to either a Pick or Short Text data type in <strong>MKS</strong> Integrity. The DesignTracker fields are:<br />

Product<br />

Product/component<br />

Product/version<br />

Priority<br />

Company/division<br />

Company/division/department<br />

Cost center<br />

System<br />

Request type<br />

Request status<br />

Review the following table to determine whether to use a Pick or Short Text data type.


Data Type Description<br />

Generating and Configuring the Conversion Properties File<br />

Pick Allows selection of predefined values only. If values exist in the DesignTracker<br />

database that do not match the current master files, it causes an error. This could<br />

occur by entering data when the System Control value was set to bypass entry<br />

validation.<br />

After the conversion, you can rename the Pick entry to rename all references to it.<br />

Short Text Allows any text and also provides a list of standard options. All values defined in<br />

DesignTracker for this field are added as suggestions. If values exist in DRs or SRs<br />

that are not in the master files, they are set for the issue (unlike the Pick data type).<br />

After the conversion, you can rename a suggestion without impact to any other<br />

issues that contain the suggestion. To change an issue you must edit and change<br />

the new value.<br />

Users and resources do not require mapping because the conversion uses the <strong>Implementer</strong><br />

user’s profile for <strong>MKS</strong> Integrity as specified in Work with Users. These values convert to the<br />

corresponding <strong>MKS</strong> Integrity user profile. If a user is not defined, the default user specified<br />

on the ICVTDT command is used.<br />

However, the <strong>MKS</strong> Integrity Log by User, although set using the same logic, is handled<br />

differently to handle cases when the DesignTracker user that originally logged the DR or SR<br />

is no longer an active user, and therefore, not enrolled in <strong>MKS</strong> Integrity. To account for this,<br />

you should set the Logged by User to convert to a string field to allow the Logged by User<br />

name, as it appears in DesignTracker, to map to this field. Any DesignTracker fields that<br />

convert to an <strong>MKS</strong> Integrity user can be placed in a User field type.<br />

NOTE Blank spaces in DesignTracker values automatically translate to an<br />

underscore “_” in the value entry. This file is built from master files; thus, if any<br />

values used in the DesignTracker database are not listed in the master file, you must<br />

add those values. If the values contain blanks, you must substitute an underscore for<br />

the blanks. Underscore values are not required when specifying the new<br />

<strong>MKS</strong> Integrity value.<br />

Alternate Values<br />

The conversion allows each field to have an alternate value specified. The alternate value is<br />

automatically used when a map entry is not specified for the corresponding field value for a<br />

DR or SR. The alternate value serves a dual purpose:<br />

If multiple values are specified for a field in DesignTracker and you want most of them<br />

to use the same value in <strong>MKS</strong> Integrity, you can set the alternate value for those fields,<br />

and set the other values to a value other than the alternate.<br />

If existing DesignTracker data is not defined in the setup lists for the data type in<br />

<strong>MKS</strong> Integrity and you specify a Pick data type, an error occurs during the conversion if<br />

an alternate value is not specified. If this occurs, either rerun the conversion after the<br />

443


Appendix C: Converting DesignTracker Data to <strong>MKS</strong> Integrity<br />

444<br />

conversion of mapped values is finishes, or create the issues by using the value specified<br />

as the alternate value, and then query the issues in <strong>MKS</strong> Integrity and change them as<br />

needed.<br />

Long Text Fields and Descriptions<br />

In DesignTracker, all text information displays using a fixed font size, whereas <strong>MKS</strong> Integrity<br />

uses a variable font size. Similarly, the long descriptions in DesignTracker allow for a<br />

limitless amount of data, whereas the long text fields in <strong>MKS</strong> Integrity have a size limit. The<br />

conversion tool handles these database variances as follows:<br />

When converting long text fields in DesignTracker, each line of text is separated with a<br />

“new line” character in <strong>MKS</strong> Integrity (paragraphs are not created). If existing text is<br />

spaced to form columns of information, this format is not replicated in <strong>MKS</strong> Integrity.<br />

If the data for a long description exceeds the limit of the <strong>MKS</strong> Integrity field, during the<br />

conversion the extra text and corresponding message are written to the error log. This<br />

allows you to manually enter the data into another field, for example, using cut and<br />

paste, or edit the text to a size that fits in the field. When this occurs the text in the issue<br />

field indicates a truncated value.<br />

Hierarchical Field Considerations<br />

DesignTracker allows for parent/child data relationships, where some fields are sub-fields of<br />

other fields, resulting in a hierarchical data structure. The hierarchical field considerations<br />

apply to the following DesignTracker fields:<br />

Product/component<br />

Product/version<br />

Company/division<br />

Company/division/department<br />

<strong>MKS</strong> Integrity does not support user defined hierarchical data; thus, you can place this type<br />

of data into a Pick or Short Text data type, as explained in “Field Values” on page 442. When<br />

you generate the property file, the description for all hierarchical entries is built based on the<br />

hierarchical field values. Once converted, the data in <strong>MKS</strong> Integrity is separated by a forward<br />

slash “/” to indicate the different data levels.<br />

For example, in the company/division/department field:<br />

ACME Mfg is the company description for ACME Manufacturing<br />

Widgets is the division description for WID<br />

Accounting is the department description for ACCT<br />

The generated key is:<br />

ACME/WID/ACCT=ACME Mfg/Widgets/Accounting


Mapping to the Project Field<br />

Generating and Configuring the Conversion Properties File<br />

Some fields in the conversion property file can be mapped into the Project field. Fields that<br />

are mapped into this field automatically parse using a forward slash “/” as the project<br />

hierarchy delimiter. All project levels must be created with the appropriate hierarchy. For<br />

example, the company/division/department value of Acme/Widgets/Accounting has the<br />

project hierarchy:<br />

Acme<br />

Widgets<br />

Accounting<br />

If you are mapping to a project field data type, the <strong>Implementer</strong> conversion properties value<br />

must have a forward slash (/) at the beginning of the new field name, for example, /Acme/<br />

Widgets/Accounting.<br />

NOTE This option is valid only if you are not using <strong>Implementer</strong> projects with<br />

<strong>MKS</strong> Integrity issues for project tracking as described in the “<strong>Implementer</strong> project<br />

field” description on page 230.<br />

New Issue Number<br />

<strong>MKS</strong> recommends you assign the <strong>MKS</strong> Integrity new issue number to one of the user defined<br />

fields in DesignTracker so it is included in reports and queries. If a previously converted DR<br />

or SR is included in a query used for conversion, it is excluded even if the new issue number<br />

is not stored in a user defined field.<br />

Generating the Conversion File<br />

The following tasks allow you to generate an initial conversion properties file. The values<br />

listed in the initial file are based on your existing DesignTracker data. For each applicable<br />

DesignTracker field value, you need to define the corresponding conversion value to assign<br />

in <strong>MKS</strong> Integrity.<br />

The overall success of your data conversion relies upon the accuracy of your data mapping.<br />

For assistance with completing this task, see the table of the <strong>Implementer</strong> conversion<br />

properties on page 446.<br />

445


Appendix C: Converting DesignTracker Data to <strong>MKS</strong> Integrity<br />

446<br />

To generate and configure the conversion properties file<br />

1 Generate an initial conversion properties file by issuing the following command. Change<br />

the parameter values as needed based on your requirements:<br />

ICVTDT MODE(*EDIT)<br />

TYPE(*BOTH)<br />

DFTCRTUSR(default_user_name)<br />

A message confirms the conversion property file generated and the location of the file.<br />

For detailed information on this command, see “Convert DT to <strong>MKS</strong> Integrity (ICVTDT)<br />

Command Parameters” on page 440.<br />

2 Open the file using a standard text editor and modify the conversion properties to<br />

correspond with the information applicable to your database.<br />

3 To retain the changes, save the implementer-conversion.properties file as a plain<br />

text file.<br />

4 Once the conversion properties file is populated with valid values, re-issue the<br />

command to verify no errors exist. When you are satisfied with your results, you are<br />

ready to convert the data.<br />

<strong>Implementer</strong> Conversion Properties<br />

The tables in this section describe the <strong>Implementer</strong> conversion properties file. There are two<br />

sections to the conversion properties file: general conversion control properties, and DR and<br />

SR field conversion properties. You may find it helpful to use the tables as a template when<br />

mapping your data.<br />

<strong>Implementer</strong> Conversion<br />

Control Properties<br />

Description<br />

mks.implementer.dr.ud_field=0 Controls which user defined field holds the issue number for a converted<br />

DR. Valid values are:<br />

0 (none—default value)<br />

1 (user defined field #1)<br />

2 (user defined field #2).<br />

Note that any data in the specified user defined field will be overwritten.<br />

mks.implementer.sr.ud_field=0 Controls which user defined field holds the issue number for a converted<br />

SR. Valid values are:<br />

0 (none—default value)<br />

1 (user defined field #1)<br />

2 (user defined field #2)<br />

Note that any data in the specified user defined field will be overwritten.


<strong>Implementer</strong> Conversion<br />

Control Properties<br />

Description<br />

Generating and Configuring the Conversion Properties File<br />

mks.implementer.dr.issue_type Defines the <strong>MKS</strong> Integrity issue type to use for DRs, for example,<br />

Defects.<br />

mks.implementer.sr.issue_type Defines the <strong>MKS</strong> Integrity issue type to use for SRs, for example,<br />

Features.<br />

Design Request and Service Request Field Conversion<br />

Properties and Definitions<br />

Referring to the table on page 448, the field definitions for the design request and service<br />

request conversion properties are as follows:<br />

mks.implementer.dr and mks.implementer.sr indicate whether this field is part of<br />

a design request or service request.<br />

intmgrfield is the <strong>MKS</strong> Integrity field to contain the converted DesignTracker data for<br />

a specific DesignTracker field.<br />

In the following example, the <strong>MKS</strong> Integrity field Priority contains the converted<br />

requester priority for a DR<br />

mks.implementer.dr.intmgrfield.requester_priority=Priority<br />

value is the value to assign in <strong>MKS</strong> Integrity that replaces the value in DesignTracker<br />

In the following example, the <strong>MKS</strong> Integrity field Priority uses the new values of High<br />

for A, Medium for B, and Low for C:<br />

mks.implementer.dr.value.requester_priority.A=High<br />

mks.implementer.dr.value.requester_priority.B=Medium<br />

mks.implementer.dr.value.requester_priority.C=Low<br />

NOTE<br />

The initial <strong>MKS</strong> Integrity field values specified in the conversion properties file<br />

come from the description of the value in DesignTracker. Alternately, you can<br />

edit the description in DesignTracker and recreate the conversion properties file.<br />

For more information, see the table on page 438.<br />

Any spaces in DesignTracker values automatically translate to an underscore “_”<br />

in the value entry. Because this file is built from master files, if any values used in<br />

the DesignTracker database are not listed in the master file, you need to add<br />

those values. If the values contain blanks, you must substitute an underscore for<br />

the blanks. Underscore values are not required when specifying the new<br />

<strong>MKS</strong> Integrity value.<br />

447


Appendix C: Converting DesignTracker Data to <strong>MKS</strong> Integrity<br />

448<br />

alternate is the default value to automatically assign in <strong>MKS</strong> Integrity if a specific<br />

replacement for the value is not in DesignTracker. If left blank and no replacement value<br />

is found, the conversion reports an error.<br />

In the following example, if the DR priority is set and the value is not A, B, or C, then the<br />

<strong>MKS</strong> Integrity field Priority is set to unknown.<br />

mks.implementer.dr.value.requester_priority.alternate=unknown<br />

Design Request and Service Request Field Conversion Properties<br />

DesignTracker<br />

Description/Field<br />

Name<br />

mks.implementer.dr.intmgrfield.number= DR number<br />

DRDRNB<br />

mks.implementer.dr.intmgrfield.logged_by_user_id=<br />

mks.implementer.dr.value.logged_by_user_<br />

id.alternate=<br />

Recommended<br />

<strong>MKS</strong> Integrity<br />

Field Data Type<br />

Integer<br />

Logged by user User or Short Text<br />

DRLGUI<br />

This field is not used as the actual issue<br />

Created By userid; it can be assigned to<br />

any field. If assigned to a Short Text field,<br />

it can be used to store the user who<br />

created the DR, even if the user is not<br />

enrolled in <strong>MKS</strong> Integrity.<br />

When assigning to a Short Text field, do<br />

not specify an alternate value as the<br />

system verifies the user is defined in<br />

<strong>Implementer</strong> with an <strong>MKS</strong> Integrity<br />

user ID.<br />

mks.implementer.dr.intmgrfield.logged_date= Logged date Date<br />

DRLGDT<br />

This field is not used as the issue<br />

Created Date field. It can be assigned to<br />

any field.<br />

mks.implementer.dr.intmgrfield.closed_date= Closed date<br />

DRCLDT<br />

mks.implementer.dr.intmgrfield.closed_flag= Closed flag<br />

DRCLFG<br />

mks.implementer.dr.intmgrfield.title= Title<br />

DRDRTT<br />

mks.implementer.dr.intmgrfield.type=<br />

mks.implementer.dr.value.type.alternate=<br />

mks.implementer.dr.intmgrfield.system=<br />

mks.implementer.dr.value.system.alternate=<br />

mks.implementer.dr.intmgrfield.product=<br />

mks.implementer.dr.value.product.alternate=<br />

DR type<br />

DRDRTB<br />

System<br />

DRSYSY<br />

Product<br />

DRPDPD<br />

Date<br />

Boolean<br />

Short Text or<br />

Summary<br />

Pick or Short Text<br />

Pick, Project, or<br />

Short Text<br />

Pick, Project, or<br />

Short Text


Design Request and Service Request Field Conversion Properties<br />

mks.implementer.dr.intmgrfield.product_component=<br />

mks.implementer.dr.value.product_component.<br />

alternate=<br />

mks.implementer.dr.intmgrfield.product_version=<br />

mks.implementer.dr.value.product_version.<br />

alternate=<br />

Generating and Configuring the Conversion Properties File<br />

Product/<br />

component<br />

DRPDPD/<br />

DRCPCP<br />

Product/version<br />

DRPDPD/<br />

DRVRVR<br />

mks.implementer.dr.intmgrfield.expected_date= Expected date<br />

DREXDT<br />

mks.implementer.dr.intmgrfield.requested_date= Requested date<br />

DRRQDT<br />

mks.implementer.dr.intmgrfield.requester_<br />

priority=<br />

mks.implementer.dr.value.requester_priority.alternat<br />

e=<br />

mks.implementer.dr.intmgrfield.benefits_priority=<br />

mks.implementer.dr.value.benefits_priority.<br />

alternate=<br />

mks.implementer.dr.intmgrfield.development_<br />

priority=<br />

mks.implementer.dr.value.development_priority.<br />

alternate=<br />

mks.implementer.dr.intmgrfield.status=<br />

mks.implementer.dr.value.status.alternate=<br />

mks.implementer.dr.intmgrfield.project_leader_<br />

initials=<br />

mks.implementer.dr.value.project_leader_initials.alt<br />

ernate=<br />

mks.implementer.dr.intmgrfield.development_<br />

resource_initials=<br />

mks.implementer.dr.value.development_resource_<br />

initials.alternate=<br />

Requester priority<br />

DRRQPR<br />

Benefits priority<br />

DRBNPR<br />

Development<br />

priority<br />

DRDVPR<br />

Status<br />

DRSTST<br />

Project leader<br />

initials<br />

DRPLIN<br />

Developer initials<br />

DRDRIN<br />

mks.implementer.dr.intmgrfield.estimated_effort= Estimated effort<br />

DRENEF<br />

mks.implementer.dr.intmgrfield.estimated_cost= Estimated cost<br />

DRENCS<br />

mks.implementer.dr.intmgrfield.estimated_<br />

completion_date=<br />

DesignTracker<br />

Description/Field<br />

Name<br />

Estimated<br />

completion date<br />

DRECDT<br />

Recommended<br />

<strong>MKS</strong> Integrity<br />

Field Data Type<br />

Pick, Project, or<br />

Short Text<br />

Pick, Project, or<br />

Short Text<br />

Date<br />

Date<br />

Pick or Short Text<br />

Pick or Short Text<br />

Pick or Short Text<br />

Pick, Project, or<br />

Short Text<br />

User or Short Text<br />

(converts to<br />

<strong>MKS</strong> Integrity<br />

user)<br />

User or Short Text<br />

(converts to<br />

<strong>MKS</strong> Integrity<br />

user)<br />

Float<br />

Float<br />

Date<br />

449


Appendix C: Converting DesignTracker Data to <strong>MKS</strong> Integrity<br />

Design Request and Service Request Field Conversion Properties<br />

mks.implementer.dr.intmgrfield.implementer_<br />

project_reference=<br />

mks.implementer.dr.value.implementer_project_<br />

reference.alternate=<br />

mks.implementer.dr.intmgrfield.estimated_effort_<br />

remaining=<br />

mks.implementer.dr.intmgrfield.estimated_cost_<br />

remaining=<br />

mks.implementer.dr.intmgrfield.total_actual_<br />

effort=<br />

450<br />

<strong>Implementer</strong><br />

project reference<br />

DRIMPJ<br />

Estimated effort<br />

remaining<br />

DRTEEF<br />

Estimated cost<br />

remaining<br />

DRTECS<br />

Total actual effort<br />

DRTAEF<br />

mks.implementer.dr.intmgrfield.total_actual_cost= Total actual cost<br />

DRTACS<br />

mks.implementer.dr.intmgrfield.company=<br />

mks.implementer.dr.value.company.alternate=<br />

mks.implementer.dr.intmgrfield.company_division=<br />

mks.implementer.dr.value.company_division.<br />

alternate=<br />

mks.implementer.dr.intmgrfield.company_division_<br />

department=<br />

mks.implementer.dr.value.company_division_<br />

department.alternate=<br />

mks.implementer.dr.intmgrfield.cost_center=<br />

mks.implementer.dr.value.cost_center.alternate=<br />

Company<br />

DRCOCO<br />

Company/division<br />

DRCOCO/<br />

DRDVDV<br />

Company/division/<br />

department<br />

DRCOCO/<br />

DRDVDV/DRDPD<br />

Cost center<br />

DRCECE<br />

mks.implementer.dr.intmgrfield.contact= Contact<br />

DRCTCT<br />

mks.implementer.dr.intmgrfield.production_<br />

environment=<br />

mks.implementer.dr.value.production_environment.<br />

alternate=<br />

DesignTracker<br />

Description/Field<br />

Name<br />

Production<br />

environment<br />

DRPREV<br />

mks.implementer.dr.intmgrfield.duplicate_number= Duplicate request<br />

number<br />

DRDDNB<br />

mks.implementer.dr.intmgrfield.user_defined_field_1= User defined<br />

field #1<br />

DRU1UD<br />

Recommended<br />

<strong>MKS</strong> Integrity<br />

Field Data Type<br />

Pick or Short Text<br />

for <strong>Implementer</strong><br />

projects or Project<br />

type for other<br />

projects<br />

Float<br />

Float<br />

Float<br />

Float<br />

Pick, Project, or<br />

Short Text<br />

Pick, Project, or<br />

Short Text<br />

Pick, Project, or<br />

Short Text<br />

Pick, Project, or<br />

Short Text<br />

Short Text<br />

Pick, Project, or<br />

Short Text<br />

Short Text or<br />

Integer<br />

Pick or Short Text


Design Request and Service Request Field Conversion Properties<br />

mks.implementer.dr.intmgrfield.user_defined_field_2= User defined<br />

field #2<br />

DRU2UD<br />

Generating and Configuring the Conversion Properties File<br />

mks.implementer.dr.intmgrfield.last_date_updated= Last date updated<br />

DRRUDT<br />

Design Request Long Text Fields<br />

mks.implementer.dr.intmgrfield.alternative_text= Alternatives text<br />

DRNRTB<br />

mks.implementer.dr.intmgrfield.long_description= Description<br />

DRNRTB<br />

mks.implementer.dr.intmgrfield.bulletin_board= Bulletin board<br />

DRNRTB<br />

mks.implementer.dr.intmgrfield.benefits_text= Benefits text<br />

DRNRTB<br />

mks.implementer.dr.intmgrfield.development_info= Development<br />

information<br />

DRNRTB<br />

mks.implementer.dr.intmgrfield.user_defined= User defined text<br />

DRNRTB<br />

mks.implementer.sr.intmgrfield.number= SR Number<br />

SRSRNB<br />

mks.implementer.sr.intmgrfield.logged_by_user_id=<br />

mks.implementer.sr.value.logged_by_user_id.<br />

alternate=<br />

DesignTracker<br />

Description/Field<br />

Name<br />

Recommended<br />

<strong>MKS</strong> Integrity<br />

Field Data Type<br />

Pick or Short Text<br />

Date<br />

Long Text<br />

Long Text<br />

Long Text<br />

Long Text<br />

Long Text<br />

Long Text<br />

Integer<br />

Logged by user User or Short Text<br />

SRLGUI<br />

This field is not used as the actual issue<br />

Created By userid; it can be assigned to<br />

any field. If assigned to a Short Text field,<br />

it can be used to store the user who<br />

created the DR, even if the user is not<br />

enrolled in <strong>MKS</strong> Integrity.<br />

When assigning to a Short Text field, do<br />

not specify an alternate value, as the<br />

system verifies the user is defined in<br />

<strong>Implementer</strong> with an <strong>MKS</strong> Integrity<br />

user ID.<br />

mks.implementer.sr.intmgrfield.logged_date= Logged date Date<br />

SRLGDT<br />

This field is not used as the issue<br />

Created Date; it can be assigned to any<br />

field.<br />

451


Appendix C: Converting DesignTracker Data to <strong>MKS</strong> Integrity<br />

Design Request and Service Request Field Conversion Properties<br />

mks.implementer.sr.intmgrfield.closed_date= Closed date<br />

SRCLDT<br />

mks.implementer.sr.intmgrfield.closed_flag= Closed flag<br />

SRCLFG<br />

mks.implementer.sr.intmgrfield.title= Title<br />

SRSRTT<br />

mks.implementer.sr.intmgrfield.type=<br />

mks.implementer.sr.value.type.alternate=<br />

mks.implementer.sr.intmgrfield.system=<br />

mks.implementer.sr.value.system.alternate=<br />

mks.implementer.sr.intmgrfield.product=<br />

mks.implementer.sr.value.product.alternate=<br />

mks.implementer.sr.intmgrfield.product_component=<br />

mks.implementer.sr.value.product_component.<br />

alternate=<br />

mks.implementer.sr.intmgrfield.product_version=<br />

mks.implementer.sr.value.product_version.<br />

alternate=<br />

452<br />

SR type<br />

SRSRTB<br />

System<br />

SRSYSY<br />

Product<br />

SRPDPD<br />

Product/<br />

component<br />

SRPDPD/<br />

SRCPCP<br />

Product/ version<br />

SRPDPD/<br />

SRVRVR<br />

mks.implementer.sr.intmgrfield.expected_date= Expected date<br />

SREXDT<br />

mks.implementer.sr.intmgrfield.requested_date= Requested date<br />

SRRQDT<br />

mks.implementer.sr.intmgrfield.requester_<br />

priority<br />

mks.implementer.sr.value.requester_priority.<br />

alternate=<br />

mks.implementer.sr.intmgrfield.benefits_priority=<br />

mks.implementer.sr.value.benefits_priority.<br />

alternate=<br />

mks.implementer.sr.intmgrfield.status=<br />

mks.implementer.sr.value.status.alternate=<br />

Requested priority<br />

SRRQPR<br />

Benefits priority<br />

SRBNPR<br />

Status<br />

SRSTST<br />

mks.implementer.sr.intmgrfield.estimated_effort= Estimated effort<br />

SRESEF<br />

mks.implementer.sr.intmgrfield.estimated_cost= Estimated cost<br />

SRESCS<br />

mks.implementer.sr.intmgrfield.company=<br />

mks.implementer.sr.value.company.alternate=<br />

DesignTracker<br />

Description/Field<br />

Name<br />

Company<br />

SRCOCO<br />

Recommended<br />

<strong>MKS</strong> Integrity<br />

Field Data Type<br />

Date<br />

Boolean<br />

Short Text or<br />

Synopsis<br />

Pick or Short Text<br />

Pick, Project, or<br />

Short Text<br />

Pick, Project, or<br />

Short Text<br />

Pick, Project, or<br />

Short Text<br />

Pick, Project, or<br />

Short Text<br />

Date<br />

Date<br />

Pick or Short Text<br />

Pick or Short Text<br />

State, Pick, or<br />

Short Text<br />

Float<br />

Float<br />

Pick, Project, or<br />

Short Text


Design Request and Service Request Field Conversion Properties<br />

mks.implementer.sr.intmgrfield.company_division=<br />

mks.implementer.sr.value.company_division.<br />

alternate=<br />

mks.implementer.sr.intmgrfield.company_division_<br />

department=<br />

mks.implementer.sr.value.company_division_<br />

department.alternate=<br />

mks.implementer.sr.intmgrfield.cost_center=<br />

mks.implementer.sr.value.cost_center.alternate=<br />

Generating and Configuring the Conversion Properties File<br />

Company/division<br />

SRCOCO/<br />

SRDVDV<br />

Company/division/<br />

department<br />

SRCOCO/<br />

SRDVDV/<br />

SRDPDP<br />

Cost center<br />

SRCECE<br />

mks.implementer.sr.intmgrfield.contact= Contact<br />

SRCTCT<br />

mks.implementer.sr.intmgrfield.duplicate_number= Duplicate SR<br />

number<br />

SRDSNB<br />

mks.implementer.sr.intmgrfield.user_defined_field_1= User defined<br />

field #1<br />

SRU1UD<br />

mks.implementer.sr.intmgrfield.user_defined_field_2= User defined<br />

field #2<br />

SRU2UD<br />

mks.implementer.sr.intmgrfield.last_date_updated= Date last updated<br />

SRRUDT<br />

Service Request Long Text Fields<br />

DesignTracker<br />

Description/Field<br />

Name<br />

mks.implementer.sr.intmgrfield.alternative_text= Alternatives text<br />

SXNRT<br />

mks.implementer.sr.intmgrfield.long_description= Description<br />

SXNRTB<br />

mks.implementer.sr.intmgrfield.benefits_text= Benefits text<br />

SXNRTB<br />

mks.implementer.sr.intmgrfield.user_defined= User defined text<br />

SXNRTB<br />

Recommended<br />

<strong>MKS</strong> Integrity<br />

Field Data Type<br />

Pick, Project, or<br />

Short Text<br />

Pick, Project, or<br />

Short Text<br />

Pick, Project, or<br />

Short Text<br />

Short Text<br />

Short Text or<br />

Integer<br />

Short Text<br />

Short Text<br />

Date<br />

Long Text<br />

Long Text<br />

Long Text<br />

Long Text<br />

453


Appendix C: Converting DesignTracker Data to <strong>MKS</strong> Integrity<br />

Post Conversion Considerations<br />

454<br />

Review and perform the following tasks after you have finished converting all DesignTracker<br />

data to <strong>MKS</strong> Integrity:<br />

Modify converted values<br />

If the alternate value was used to handle undefined values, in <strong>MKS</strong> Integrity, query for<br />

issues that used the alternate values for fields and modify the values as needed. For<br />

details, see the <strong>MKS</strong> Integrity Server <strong>2006</strong> <strong>Administration</strong> <strong>Guide</strong>.<br />

Set all users to use <strong>MKS</strong> Integrity<br />

In <strong>Implementer</strong>, verify the appropriate users are set to use <strong>MKS</strong> Integrity for issue<br />

management. For details, see “Set a User’s Default Issue Management System” on<br />

page 253.<br />

Start using the new features<br />

When you have successfully completed the data conversion, you can begin using the<br />

new features as described in the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong> User <strong>Guide</strong>.<br />

Each converted DR and SR retains a permanent record of the <strong>MKS</strong> Integrity location and<br />

issue number it converted to. Likewise, displaying a converted issue in <strong>MKS</strong> Integrity<br />

identifies the DR it was created from, if that field is set as recommended. This information<br />

provides an audit trail that is useful for cross-referencing a converted DR or SR with its<br />

corresponding issue in <strong>MKS</strong> Integrity, and vice versa.<br />

This feature requires the Issue Management System field for your <strong>Implementer</strong> user profile<br />

set to 2=DesignTracker. For this purpose it may be helpful to create a secondary user profile<br />

for a few users—one profile set to <strong>MKS</strong> Integrity and the second profile set to DesignTracker.<br />

Or, you can create a single default profile for DesignTracker users to use. For details, see “Set<br />

a User’s Default Issue Management System” on page 253.<br />

To display the <strong>MKS</strong> Integrity URL for a converted DR or SR<br />

1 From the DesignTracker Menu, use option 1, Design Requests, or option 3, Service<br />

Requests, to display the respective Work with panel.<br />

2 Select the DR or SR with option 5=Display, and press ENTER to display the request.<br />

The <strong>MKS</strong> Integrity URL field displays up to 120 characters of text that wraps to the next<br />

line as needed. As shown in the next illustration, the URL indicates the location and<br />

issue number the converted request mapped to. (A non converted DR or SR displays the<br />

text Not converted.)


Post Conversion Considerations<br />

455


Appendix C: Converting DesignTracker Data to <strong>MKS</strong> Integrity<br />

456


A PPENDIX D<br />

Glossary<br />

Definitions of Common <strong>Implementer</strong> Terms<br />

D<br />

This appendix provides a description of the many terms used in software change<br />

management and throughout <strong>Implementer</strong>. Review this appendix to learn these terms<br />

and definitions, and understand how they relate to <strong>Implementer</strong>.<br />

NOTE For a description of <strong>MKS</strong> Integrity terms, see the <strong>MKS</strong> Integrity Server<br />

<strong>2006</strong> <strong>Administration</strong> <strong>Guide</strong>. For a description of <strong>MKS</strong> Source terms, see the<br />

<strong>MKS</strong> Source <strong>2006</strong> User <strong>Guide</strong>.<br />

action An action is used to indicate the process to perform to a member/object. The<br />

action is specified when checking out a member/object and when creating a request for a<br />

member/object. The following actions are valid for checking out and creating a<br />

promotion request:<br />

1 = Change<br />

2 = Create<br />

3 = Delete<br />

8 = Regen (only valid for AllFusion 2E model objects)<br />

9 = Recompile<br />

administrator The administrator sets up and configures <strong>Implementer</strong>. The<br />

administrator defines users, environments, environment capabilities. The administrator<br />

also defines the <strong>MKS</strong> Integrity parameters required in <strong>Implementer</strong> for integration.<br />

application path An application path refers to the standard and emergency paths set up<br />

in Work with Projects and Work with Environments. Application paths are used in the<br />

development cycle to define the flow of member/objects between environments. They<br />

are also used to determine the location of source and related objects for an object, for<br />

example, when compiling with a check out or create request action of recompile.<br />

The two basic types of application paths are:<br />

Project path<br />

This term refers to the standard and emergency paths set up in Work with Projects.<br />

A path can be defined for each project to represent the development flow of<br />

member/objects associated with the project. This type of path is beneficial when<br />

457


Appendix D: Glossary<br />

458<br />

routinely using multiple testing environments, especially when the test environments<br />

are determined on a project by project basis.<br />

Environment path<br />

This term refers to the standard and emergency paths set up in Work with<br />

Environments. A path can be defined for each production environment, representing the<br />

development flow of member/objects associated with the environment. Environment<br />

paths provide control, while eliminating redundancy when checking out and promoting,<br />

by restricting access so members/objects cannot move outside of the defined flow. It also<br />

allows defaulting the From environment and target environment values when checking<br />

out and creating a promotion request. Users can be restricted to the defined paths,<br />

preventing any circumvention of the predefined flow of work back into production, or<br />

they can be authorized to override a default path.<br />

If you use both environment paths and project paths, the project path is the default path in<br />

check out and create request when a project with a defined path is specified.<br />

NOTE Do not confuse the term application path with the term path, which refers to<br />

support provided by for IFS objects.<br />

application set Application set refers to AS/SET application sets, a partition of the ADK<br />

product where definitions such as programs, data models, files and fields are stored. An<br />

application set refers to an environment such as development or production, where copies of<br />

the application definitions are stored.<br />

archive recovery Archive recovery is the <strong>Implementer</strong> function that recovers members/<br />

objects or backs them out of a promotion request. It is also called rollback.<br />

archiving Archiving refers to the duplication of an existing production source member,<br />

object, or file (without data) into a designated library before the to-be-implemented object is<br />

moved into production. You use the archive to store members and/or objects or file<br />

information. Members/objects are placed in the archive during the Move Request function.<br />

Archiving is optional. It is defined by the environment definition. You can archive up to 99<br />

versions of files, objects, or source.<br />

The archive serves two purposes. First, it supports archive recovery or the rollback of a<br />

request. Second, the archive can be used to browse previous versions of a source member.<br />

batch programs for AS/SET Batch programs for AS/SET is an ADK program type designed<br />

to perform file-processing functions. No online display panels are involved in batch<br />

programs.<br />

binding directory A binding directory is a list of modules and service programs that may be<br />

needed when creating an ILE or Service program. It is not a repository of the modules and<br />

service programs, rather, it allows referencing by name and type.


change controlled model A change controlled model is an AllFusion 2E model set up to<br />

work with <strong>Implementer</strong>. It’s model value *CHGCTL is set to that of the product library,<br />

<strong>MKS</strong>IM or Y2SYCM.<br />

Glossary<br />

change list A change list is an AllFusion 2E model object list defined in <strong>Implementer</strong>. You<br />

can explicitly create a model object list for an AllFusion 2E environment, or create one when<br />

you check out an AllFusion 2E model object during an editing session. This is referred to as a<br />

model object list in <strong>Implementer</strong>.<br />

check in Check in describes the process of promoting a member/object back into<br />

production after it is checked out. Check in removes the lock.<br />

check out Check out is the <strong>Implementer</strong> function that takes a member/object from a<br />

production environment (or quality assurance environment), copies it to a developer’s<br />

development library or environment, and places a lock on it. This makes the member/object<br />

in use by the user who checked it out.<br />

Clipboard The Clipboard is a work space for member/objects. After adding an item on the<br />

Clipboard, you can display, remove, or add more items to the Clipboard. The Clipboard<br />

holds the selected items until they are processed. At least one item must exist on the<br />

Clipboard before you can run a Clipboard function. You can select a list of items and process<br />

the list by another function. Once you run the function for the items, the items are listed<br />

within that function and removed from the Clipboard.<br />

co-existence Co-existence is an <strong>Implementer</strong> feature that allows you to convert<br />

DesignTracker DRs and SRs to <strong>MKS</strong> Integrity issues.<br />

compile request Compile request is an <strong>Implementer</strong> function that compiles source members<br />

into the work libraries and moves non source-based objects into work libraries, according to<br />

the migration request instructions. Developers typically perform this task.<br />

concurrent development Concurrent development is when two or more versions of a<br />

member/object exist at the same time. It is the result of checking out a member/object that is<br />

already checked out. When concurrent development occurs, the multiple versions of the<br />

member/object are considered in conflict with each other. The ability to check out a<br />

member/object for concurrent work can be restricted to certain users. See also, non<br />

sequential development and sequential development.<br />

conflict When concurrent development is started, a conflict is created for that specific<br />

member/object. You must resolve a conflict before a member/object can be promoted.<br />

constraint A constraint is a set of rules that defines the relationship between two files. For<br />

example, a constraint can be used to maintain the integrity between a customer header file<br />

and a customer detail file, by not allowing changes to the header table file without changing<br />

the detail file. See also, trigger.<br />

create request Create request is the <strong>Implementer</strong> function of initiating a promotion request<br />

for the purpose of migrating source and/or objects to production or quality assurance<br />

environments. Developers typically perform this task.<br />

459


Appendix D: Glossary<br />

460<br />

currency Currency is an AllFusion 2E model object that all other related model objects point<br />

to. It is an object that has usage. A non current object has no usage in the model.<br />

current model object The current model object is what the user can view or edit in an<br />

AllFusion 2E model. Multiple versions of the model object can be checked out to and<br />

accessible from one or more model object lists. However, only the current version displays in<br />

the model.<br />

data model A data model is an entity defined in the ADK repository that refers to one or<br />

more files, associated fields, and associated relationships.<br />

design request A design request is a feature of DesignTracker used to indicate what work<br />

needs to be done. DesignTracker automatically installs when you install <strong>Implementer</strong>.<br />

NOTE If you use <strong>MKS</strong> Integrity for issue tracking with <strong>Implementer</strong>, you do not use<br />

DesignTracker.<br />

design request approval A design request approval can be:<br />

0 = No<br />

1 = Yes<br />

2 = Pending<br />

For an approval type of:<br />

1 = Development<br />

2 = Test<br />

3 = Production environment<br />

design request disposition The design request disposition can be:<br />

0 = Not Ready (always set to 0 when entity is added to the list)<br />

1 = Ready for checkout (entity is ready to be checked out)<br />

2 = In development (entity is checked out to development)<br />

3 = In quality assurance (entity is checked out and in quality assurance for testing)<br />

4 = Completed (entity moved into a *PRD environment)<br />

design request status The design request status is the current state of a design request.<br />

The <strong>Implementer</strong> entity controls related to design request status are: allow ready to check<br />

out, allow check out, allow promotion to a test environment, and allow promotion to a<br />

production environment. Upon approval from all designated users, the status can be<br />

automatically changed by DesignTracker. You set up the approval/status relationship in<br />

DesignTracker System Control.<br />

directory See IFS directory.


Glossary<br />

DLO Document Library Object (DLO) refers to a file or folder that exists in the QDLS file<br />

system on an iSeries. These objects, referred to in <strong>Implementer</strong> as IFS objects, are supported<br />

for change management. See also IFS object, IFS file, and IFS directory.<br />

document A document is a special type of file created by OfficeVision/400 and stored in the<br />

QDLS space. A document is a file, but a file is not necessarily a document. It is the OS/400<br />

term for any object residing within an IFS folder on the iSeries. Within <strong>Implementer</strong>, the term<br />

IFS object is used.<br />

environment An environment identifies a collection of libraries, object owners, authorized<br />

users, and rules about how the libraries are controlled by <strong>Implementer</strong>. See also related<br />

environment.<br />

environment ID An environment ID is a sequential number assigned to each target<br />

environment on a promotion request. The number, which starts at one and increments by<br />

one, is used for naming some libraries, save files, and other objects used as part of the<br />

promotion request.<br />

environment library list Environment library list is a list of up to 250 libraries used for<br />

compilation in the environment. Of these, 248 entries are available for your use. The last two<br />

entries are reserved for QTEMP and the <strong>Implementer</strong> work library on the promotion request.<br />

The environment library list is used also when processing special commands for a request.<br />

environment type An environment type defines whether an environment is for production<br />

(*PRD), quality assurance (*QAC), or development (*TST). It enforces check out an<br />

promotion restrictions and ensures the developers do not attempt to copy members/objects<br />

from one production environment to another.<br />

export An export is the process of saving LANSA objects into a device or save file to move<br />

them from one LANSA partition to another, on the same or different system.<br />

export list An export list is a named list of LANSA objects to be exported from one LANSA<br />

partition to another. There are two types of lists provided by LANSA: One is visible to<br />

LANSA users and maintainable within the LANSA menu. The other is not visible to you but<br />

provided for object management vendors. <strong>Implementer</strong> creates an export list whenever it<br />

copies LANSA objects from one partition to another partition.<br />

file A file refers to the support <strong>Implementer</strong> provides for traditional OS/400 files and<br />

objects in the IFS (referred to as IFS files). To avoid confusion, whenever an IFS file object is<br />

referenced in <strong>Implementer</strong>, the term IFS file is used.<br />

<strong>Implementer</strong> supports all traditional OS/400 files, for example, physical files, logical files,<br />

display files, message files, printer files, SQL tables, and SQL indices and views. See also IFS<br />

file.<br />

folder A folder represents the OS/400 term for a collection of documents in a single<br />

location. The term is used as part of support <strong>Implementer</strong> provides for IFS objects. It<br />

corresponds to IFS directory. See also IFS directory.<br />

461


Appendix D: Glossary<br />

462<br />

function A function describes a particular <strong>Implementer</strong> menu option or command. For<br />

example, the Activity Report function refers to the interactive menu option activity that<br />

prints the Activity Report and the submitted job that prints the report.<br />

A function is also a specific type of AllFusion 2E model object you can promote (FUN); an<br />

executable program or collection of programs.<br />

function redirection Function redirection relates to when an AllFusion 2E function is<br />

checked out and a new version of that function is created. Function redirection occurs to<br />

ensure the selected version of the model object is current and has its internal references<br />

directed towards the other object in the model. See also, currency.<br />

IFS directory IFS directory is the location of an IFS file. When used in this capacity, the<br />

directory usually refers to the full directory path. See also path.<br />

This term is used as part of support <strong>Implementer</strong> provides for IFS objects. The term<br />

corresponds to the OS/400 term, folder. In <strong>Implementer</strong>, it is referred to as a directory.<br />

IFS file IFS file refers to the contents of IFS directories on the iSeries. It is the PC term for any<br />

object stored in a directory. Some examples of files are executable programs, database files, or<br />

video segments.<br />

Within <strong>Implementer</strong>, the object name for an IFS file contains the IFS file name and the object<br />

code contains the dot and extension. If the file name has no extension, the object code is<br />

represented by a dot (.). Any name longer than eight characters and any extension longer<br />

than six characters is converted (allowing one position for the “.”), for example:<br />

IFS File Name Member/Object Name Object Code<br />

HelloiSeriesWorld.class HELLOiSe~1 .CLASS<br />

HelloiSeriesWorld HELLOiSe~1 .<br />

The combination of the IFS file name and extension is known as the environment relative<br />

name. Environment relative names up to 100 characters are supported. Environment relative<br />

names greater than 100 characters require setting up an environment with a deeper<br />

development path structure. See also IFS directory.<br />

IFS object IFS object refers to the objects (IFS files and directories) stored in the IFS space on<br />

the iSeries (IFS objects are not stored in libraries). It represents the IFS file names, directory<br />

names, or complete directory contents specified in check out and create request. IFS files and<br />

directories appear on reports and in audits. <strong>Implementer</strong> supports the following IFS objects:<br />

IFS Files<br />

You can check out or promote individual IFS files by using the object name and object<br />

code. Each file checked out or promoted is listed on reports and audits.<br />

IFS Directories<br />

You can check out or promote the contents of a subdirectory (including subdirectory<br />

contents) by using the backward slash (\) object code. For example, if you check out or


Glossary<br />

promote \dir2, all files and directories listed in subdirectory 2 are included. On reports<br />

and audits only the directory name (dir2) is listed.<br />

*.*<br />

You can check out or promote the contents of an environment’s directory (including<br />

files, subdirectories, and contents) by specifying *.* for the object name, and a<br />

backward slash (\) for the object code. For example, if you check out or promote<br />

IFS\dir using *.*, all IFS files and directories in IFS\dir are included. Reports and<br />

audits show member/object *.* to indicate that all contents were affected.<br />

implementation object An implementation object is the resulting OS/400 source and objects<br />

created from the generation of an AllFusion 2E model object. For example, a function usually<br />

creates source and objects for a program, display file, and help text. The source and objects<br />

generated for these objects are referred to as the implementation objects.<br />

<strong>Implementer</strong> Receiver The <strong>Implementer</strong> Receiver is a component of <strong>Implementer</strong> that<br />

resides on a remote system. Software can be distributed to the <strong>Implementer</strong> Receiver.<br />

import An import is the process of restoring LANSA objects from a device or save file<br />

created in an export activity into a different partition.<br />

JDE JDE is the abbreviation for J.D. Edwards (now PeopleSoft World).<br />

keyword restriction A keyword restriction is a facility that restricts access to object code<br />

command keywords. It is used to restrict sensitive keywords, such as the User Profile<br />

(USRPRF) keyword that controls adopted authorities.<br />

LANSA function A LANSA function is an OS/400 executable program created by LANSA<br />

and user-defined.<br />

LANSA objects LANSA objects are objects created in LANSA, such as files, fields, processes,<br />

and functions. They are not necessarily OS/400 objects.<br />

lock A lock is applied to a member/object when it is checked out. The lock is automatically<br />

released when the member object is promoted to a production (*PRD) environment.<br />

A Standard lock is the user action that created the lock through a standard check out.<br />

An Emergency lock is the user action that created the lock through an emergency check<br />

out.<br />

member/object A member/object is a member and/or object under <strong>Implementer</strong> control.<br />

It can be an object or source stored in a library, an element managed by a CASE tool (such as<br />

AllFusion 2E), or an IFS file. For example, it refers to an object for a data area, but for an RPG<br />

program it refers to the member and object.<br />

model object A model object is an AllFusion 2E object you can check out. AllFusion 2E has<br />

eight object types you can check out: access paths (ACP), applications (APP), arrays (ARR),<br />

conditions (CND), field (FLD), files (FIL), functions (FUN), and messages (MSG).<br />

463


Appendix D: Glossary<br />

464<br />

model object list Model object list is an AllFusion 2E feature that allows grouping some of<br />

the objects in a model into a named list. For change control purposes, model objects are<br />

checked out to lists to indicate changes were made or are planned. The model object lists are<br />

attached to the AllFusion 2E model and can be selected for AllFusion 2E promotions. Once<br />

you use a model object list for check out, it becomes a change list.<br />

model object name Model object name is the 25-character name given to an AllFusion 2E<br />

model object.<br />

move request Move request is an <strong>Implementer</strong> task that moves all object/source from the<br />

environments or libraries to the target environments. It performs any request instructions<br />

that impact production data, for example, MRGMSGF. In addition, it moves previous<br />

versions of source and objects to the archive libraries before the move, if specified.<br />

My Workbench My Workbench is a panel that allows developers to perform all necessary<br />

development work. The panel contains the items to be worked on and provides access to all<br />

tools needed to complete the development of the items and move them off the Workbench.<br />

The tools allow you to select and add items to the Workbench, access standard development<br />

tools to edit, compile and test items, and access user-defined tools through user-defined<br />

options. From the Workbench, you can access promotion functions to move completed items<br />

back into production, and book time against projects.<br />

non sequential development Non sequential development is the term used when the lock<br />

for a member/object does not follow the defined, standard development path. Any deviation<br />

from the defined workflow for a specific member is non sequential development. See also,<br />

sequential development and concurrent development.<br />

object code An object code defines a type of object and/or member to be promoted. The<br />

object code in <strong>Implementer</strong> combines information from the OS/400 object type and source<br />

type. Many object codes are shipped with <strong>Implementer</strong> and others can be user-defined.<br />

SQL-based objects use specific SQL object codes. For IFS files, the object code is the file<br />

extension.<br />

owning model object The owning model object is the name of a model object that owns<br />

another model object. For example, an access path (ACP) model object is always owned by a<br />

file (FIL) object. Not all model objects have an owning model object.<br />

partition A partition is a division of a LANSA system that has its own field reference files<br />

and processes. Each partition in LANSA is completely independent and no cross-referencing<br />

is allowed across partitions. A partition in LANSA is comparable to an environment in<br />

<strong>Implementer</strong>.<br />

path A path represents the location of a directory or subdirectory. It is the complete list of<br />

all directories and subdirectories between the root directory and the directory being<br />

identified. The subdirectories in the path are separated by a backward slash (\). For<br />

example, to identify the path of the SYSTEM directory nested in the WINDOWS directory that<br />

stems from the root directory, the notation is \WINDOWS\SYSTEM. See also qualified name<br />

and application path.


<strong>Implementer</strong> supports three paths in the IFS structure:<br />

Project relative path is the portion of the path that is unique to each object in the<br />

environment path. For example, \SUBDIR\PROGRAM.EXE.<br />

Glossary<br />

Environment path is the path specified at the environment level and common to all IFS<br />

objects in that environment. For example, \<strong>MKS</strong>\DEMO\PRD\INVENTORY.<br />

Full path is the environment path appended to the project relative path. For example,<br />

<strong>MKS</strong>\DEMO\PRD\INVENTORY\SUBDIR\PROGRAM.EXE.<br />

NOTE Avoid confusing the term path with the term application path, which refers to<br />

both standard and emergency paths for projects and environments.<br />

PeopleSoft World data dictionary element A data dictionary element refers to records in a<br />

dictionary for every field used in the system. This file controls how a field performs and edits<br />

on the screen and report. It also controls the edit processes of the field for validation.<br />

PeopleSoft World DREAM Writer A DREAM Writer has two parts that break down as<br />

follows: data selection that is translated to OPNQRYF or logical, and processing options that<br />

are user-controlled, program passed parameters.<br />

PeopleSoft World menu Menus are data records keyed to a menu name. This allows changes<br />

to menus without the need for programming.<br />

PeopleSoft World soft coding or vocabulary override Soft coding or vocabulary override<br />

refers to literals on screens that are not constants in the DDS of a screen object, but are<br />

retrieved from a file that is keyed to a program name. This allows changes to literals without<br />

the need for programming.<br />

PeopleSoft World software inventory or member master Software inventory or member<br />

master is a file that records each object in PeopleSoft World. This file contains the general<br />

severity level for compilation and other details for PeopleSoft World integration.<br />

PeopleSoft World soft coding items These are soft coding items supported by PeopleSoft<br />

World, such as user-defined codes, DREAM Writers, Member Master, Data Dictionary, Soft<br />

Coding, and Menus.<br />

PeopleSoft World traditional object These are traditional objects that require PeopleSoft<br />

World compiling, such as RPG programs, CL programs, and Assemblers (ASM).<br />

PeopleSoft World user-defined code (UDC) User-defined code is a generic table system for<br />

data field validation. The table system is controlled by three keys: System number, Table<br />

name, Element.<br />

primary target environment A primary target environment is the first target environment in<br />

a series of multiple target environments. The primary target environment is used in create<br />

request to check the existence of the target members/objects, to determine if the action for a<br />

member/object is create or change.<br />

465


Appendix D: Glossary<br />

466<br />

process A process is a logical grouping of related functions, for example, a process called<br />

ORDERENTRY consists of a number of functions, such as sales order maintenance, credit<br />

limit check, and sales order print.<br />

project Projects are used in <strong>Implementer</strong> to document why a change is made. A project<br />

reference can be used to check out and promote a member/object.<br />

promotion Promotion takes members/objects from one environment (or library) and moves<br />

them forward to a target environment. The term also refers to the entire process of returning<br />

a member/object back into production after it is checked out (compile and promote from<br />

development to QA, and promote from QA to production).<br />

promotion request A promotion request is a collection of related source members, sourcebased<br />

objects, non source based objects, or non OS/400 objects to be promoted to production<br />

libraries or quality assurance.<br />

qualified name A qualified name refers to a path and file name. This term is used as part of<br />

the support <strong>Implementer</strong> provides for IFS objects. For example, the qualified name of file<br />

SYSEDIT.EXE stored in the directory WINDOWS\SYSTEM is<br />

\WINDOWS\SYSTEM\SYSEDIT.EXE.<br />

related environment A related environment is the relationship of one environment to other<br />

environments in the format of an ordered list. The relationship is defined in Work with<br />

Related Environments. Related environment information is used in check out to display the<br />

member/object lists and related objects in different related environments. It uses the same<br />

order (sequence) to find a member/object in the list.<br />

repository A repository is an entity within the ADK product where you can create and<br />

maintain files, fields, data models, and reusable program specifications, such as action<br />

subroutines.<br />

requester A requester is the individual who creates a promotion request.<br />

request number A request number is the unique, four-character alphanumeric value<br />

assigned by <strong>Implementer</strong> when a new promotion request is created. It is used to identify the<br />

promotion request. Beginning with number 0001, the number increments by one for each<br />

new promotion request until number 9999 is reached. When this occurs, the left most position<br />

changes to an alpha character and the other positions reset to 0 (zero). Reading from right to<br />

left, this cycle continues until each position goes through the range 0–9, and A–Z. When<br />

number ZZZZ is reached, the number scheme automatically resets to number 0001.<br />

request status The request status defines where a promotion request is in the promotion<br />

cycle. It describes what steps were performed for the request and what remains to be done.<br />

For a complete listing of status codes, see “Request Inquiry” in the <strong>MKS</strong> <strong>Implementer</strong> <strong>2006</strong><br />

User <strong>Guide</strong>.<br />

required object Required objects are traditional source and executable objects generated<br />

from AS/SET program definitions. It contrasts the related object concept used in<br />

<strong>Implementer</strong> for traditional objects, which relates logical files to physicals and the programs<br />

that refer to them.


Glossary<br />

reset authorities Reset authorities is an <strong>Implementer</strong> function that revokes all object<br />

authorities for the libraries as specified in the environment, and then grants object authorities<br />

based on the authorities from the environment authority table.<br />

sequential development Sequential development is the term used when all locks for a<br />

member/object follow the defined standard development path and never deviate from the<br />

defined workflow. See also, non sequential development and concurrent development.<br />

session model list A session model list is the default model object list assigned when you<br />

begin an AllFusion 2E editing session. The model object list usually defaults to your OS/400<br />

user profile.<br />

You should not use the default session model list as a check out model object list. Instead,<br />

change the default value using the Edit Model Profile Editing options on the Access to model<br />

field value *DSNR on the Change AllFusion 2E User Capabilities panel or the AllFusion 2E<br />

Designer (*DSNR) menu. You can also have model users create and use their own object<br />

model list.<br />

stage library A stage library is a work library used to prepare (stage) each object before it<br />

moves into the target environment. The setting of object authorities, physical and logical<br />

members, and physical file data occurs while the object is in this library. A stage library exists<br />

while the move is in process.<br />

step A step refers to one of the up to four phases required to complete a request. In order,<br />

the steps are as follows:<br />

Model copy, only applies to AllFusion 2E special environments.<br />

Export, only applies to LANSA special environments.<br />

Compile, the compile step is optional.<br />

Distribute, only applies to requests that contain remote target environments.<br />

Move, required for every request.<br />

subdirectory A subdirectory refers to a directory and its contents that are stored within<br />

another directory. Subdirectories are included in the support <strong>Implementer</strong> provides for IFS<br />

objects. The term corresponds to the OS/400 term, folder. In <strong>Implementer</strong>, this is referred to<br />

as a directory. See also IFS directory.<br />

surrogate A surrogate is the internal identifier assigned to each AllFusion 2E model object.<br />

target environment group A target environment group is a group of environments<br />

promoted to at the same time. A target environment group is used when you create a<br />

promotion request to promote to more than one environment, eliminating the need to select<br />

each environment separately every time a promotion request is created.<br />

trigger A trigger is a set of actions that are executed automatically whenever a specified<br />

event occurs to a specified SQL-based table. An event can be an insert, update, or delete<br />

operation. The trigger can be run either before or after the event. Triggers are used to<br />

467


Appendix D: Glossary<br />

468<br />

preserve program to table integrity by checking on or changing data in a consistent manner.<br />

They help maintain the integrity of a database by preventing incorrect, unauthorized, or<br />

inconsistent changes to data. See also, constraint.<br />

version For AllFusion 2E environments, a version is a copy of a model object that is created<br />

in the same model. Only functions (FUN) and messages (MSG) can have multiple versions or<br />

are versionable. Versions are created by <strong>Implementer</strong> when you check out a model object that<br />

is previously checked out, and when archiving during the move step.<br />

version group A version group consists of all of the versions created for a model object.<br />

Only one version in the version group is the current version.<br />

workbench See My Workbench.<br />

work library A work library is a temporary library used during promotion to ensure the<br />

orderly movement of source and objects into the correct target libraries. The work libraries<br />

only exist while a promotion request is open (the status is not complete).


Index<br />

*GRANT authority method 96, 373<br />

*KEEP authority method 96, 373<br />

A<br />

ABSTRACT integration<br />

setup 304<br />

ACLs (Access Control Lists)<br />

Domino ACLs<br />

set in check out 348<br />

set in promotion 349<br />

Lotus Domino integration 345<br />

QNOTES directory authority 344<br />

action<br />

defined 457<br />

Activity Report 375, 396<br />

administrator<br />

<strong>Implementer</strong>, defined 457<br />

AllFusion 2E integration<br />

command considerations 304<br />

environment cleanup 404<br />

library considerations 304<br />

message versioning 307<br />

model check out considerations 307<br />

model value YSYSCHG 307<br />

object codes for model objects 464<br />

product library 406<br />

receiver library 413<br />

remote QA environment cleanup 384<br />

setup for EXCUSRSRC and EXCUSRPGM<br />

308<br />

American Software integration<br />

setup considerations 313<br />

AOS Message Manager integration<br />

setup 315<br />

Apache Web Server<br />

browser based development<br />

server requirements 156<br />

server setup 158<br />

APPC programs 165<br />

application path<br />

defined 457<br />

environment path setup 102<br />

project path setup 142<br />

using environment groups 125<br />

application set<br />

defined 458<br />

apply pending changes<br />

IAPYPNDCHG command 258<br />

<strong>MKS</strong> Integrity changes report 258<br />

to <strong>MKS</strong> Integrity 258<br />

architecture<br />

client/server 196<br />

multi tiered 196<br />

server 198<br />

software 198<br />

archive recovery<br />

defined 458<br />

archive reports<br />

Archives by Environment 383<br />

Archives by Request 383<br />

Archives per Tape 383<br />

archive to tape 379<br />

change volume ID 193, 379<br />

menu (IMARCTAP) 380<br />

reports 383<br />

restoring 193, 382<br />

saving 381<br />

submit to batch 381, 382, 383<br />

with third party utility 322<br />

Archive to Tape menu (IMARCTAP) 192, 379<br />

archiving<br />

defined 458<br />

LANSA requests 330<br />

setup considerations 14<br />

to tape<br />

IMARCTAP data area 192, 379<br />

setting up for 379<br />

third-party utility support 411<br />

AS/SET integration<br />

ADK object code setup 317<br />

application sets setup 316<br />

archiving setup 317<br />

capabilities for generated objects 318<br />

environment group setup 317<br />

469


Index<br />

environment setup 107<br />

promoting generated objects 319<br />

setup overview 316<br />

special characteristics 317<br />

system control maintenance setup 316<br />

assessing development process 204<br />

associate calls update<br />

console method 328<br />

history logs 327<br />

setup 325<br />

silent method 328<br />

authority<br />

Capability Wizard for setup 80<br />

MWIPROD 117<br />

QSECOFR 117<br />

restricting OS/400 security 79<br />

security data areas 412<br />

authority method<br />

*GRANT 96, 373<br />

*KEEP 96, 373<br />

B<br />

batch programs for AS/SET<br />

defined 458<br />

binding directory<br />

defined 458<br />

BPCS integration<br />

deactivate standard object codes 322<br />

setup 320<br />

BRMS integration 322, 380<br />

build list 118<br />

different source and object names 118<br />

Environment Repository Report 122<br />

for IFS objects 119<br />

IBLDMBOLST command option 119<br />

running a build 119<br />

setup overview 13<br />

stamping object revision numbers 118<br />

build member/object list, see build list<br />

C<br />

capabilities, state based 208<br />

Capability Wizard<br />

command buttons 389<br />

customizing user capabilities 394<br />

feature overview 385<br />

installing<br />

on desktop 387<br />

on Windows 386<br />

470<br />

verifying TCP/IP connectivity 386<br />

requirements 386<br />

selecting environments 391<br />

selecting users 390<br />

starting and using 389<br />

updating <strong>Implementer</strong> 395<br />

working with capability details 393<br />

change<br />

applying pending changes 258<br />

managing and tracking 198–199<br />

pending 257<br />

change controlled model<br />

defined 459<br />

change list<br />

defined 459<br />

change repository<br />

for IFS objects 377<br />

for traditional objects 376<br />

change request<br />

managing, overview 57<br />

process overview 59<br />

changes report<br />

<strong>MKS</strong> Integrity 258<br />

check in<br />

defined 459<br />

check out<br />

defined 459<br />

enable one step checkout 77<br />

set Domino ACLs 348<br />

client/server architecture 196<br />

clipboard<br />

defined 459<br />

CODE/400 integration<br />

setup 323<br />

co-existing issue management systems<br />

convert DesignTracker data to issues 431<br />

enable co-existence 249<br />

feature overview 247<br />

promotion considerations 248<br />

set last DR number 250<br />

set next issue number 252<br />

set user’s default system 253<br />

Cognos integration<br />

setup 362–364<br />

commands<br />

IAPYPNDCHG, Apply Pending Changes<br />

258<br />

IBLDMBOLST, Build List 119<br />

ICGHREP, Change Repository 376<br />

ICHGREPIFS, Change Repository IFS 377<br />

ICHGRMTRQS, Change Remote Request<br />

185


ICRTRQS, Create Request 36<br />

ICVTDT, Convert DT to <strong>MKS</strong> Integrity 438<br />

IDBPRG, Purge History 376<br />

IDLTLIBREF, Delete Library References<br />

378<br />

IDSPSVRLOG, Display Server Log 225<br />

IEDTLIBL, Edit Library List 415<br />

IEXCCKOCMD, Execute Checkout 349<br />

IEXCRQSDTL, Execute Request Detail 349<br />

IMARCTAP Archive to Tape 380<br />

IMARCTAP, Archive to Tape 192, 379<br />

IPRTREPRPT, Repository Report 123<br />

ISETDOMACL, Set Domino ACL 347<br />

IUPDCI, Update <strong>MKS</strong> Integrity 240<br />

IVFYRPT, Verification Report 124<br />

special commands by environment 103<br />

STRCM Start AllFusion 2E CM 10<br />

STRCR Start AllFusion 2E CM Receiver 10<br />

STRIM Start <strong>Implementer</strong> 10<br />

STRIM Start <strong>Implementer</strong>, keywords 11<br />

STRIR Start <strong>Implementer</strong> Receiver 10<br />

STRTCPSVR, Start TCP/IP Server 158<br />

WRKHTTPCFG, Work with HTTP<br />

Configuration 157<br />

comments<br />

in create request 69<br />

communications<br />

emergency update mode 255–259<br />

mode name 428<br />

options 428<br />

remote network identifier 429<br />

*LOC 429<br />

*NETATR 429<br />

*NONE 429<br />

name 429<br />

SNADS configuration 179<br />

TCP/IP configuration 173<br />

communications user profile data area 403<br />

compile listing<br />

delete after promotion 66<br />

compile request<br />

defined 459<br />

concurrent development<br />

concurrent development scope 71<br />

defined 459<br />

resolve conflicts capability 111<br />

user capability 111<br />

configuring property files<br />

conversion properties file 441<br />

DTBridge properties file 300, 325<br />

conflict request<br />

defined 459<br />

constraint<br />

defined 459<br />

controlling remote job schedules 181<br />

conventions 4<br />

conversion properties file 445–453<br />

convert to <strong>MKS</strong> Integrity<br />

conversion methods 244<br />

prerequisites 248<br />

with data retention<br />

basic conversion example 437<br />

conversion properties file 446<br />

data conversion rules 433<br />

feature overview 247<br />

generate the conversion file 445<br />

ICVTDT command 438<br />

mapping data 441<br />

<strong>MKS</strong> assistance options 431<br />

organizational activities 436<br />

overview of data conversion 432<br />

run the conversion 249<br />

see also, co-existing<br />

set last DR number 250<br />

set next issue number 252<br />

set user’s default system 253<br />

without data retention<br />

overview 244<br />

run the conversion 244<br />

Convert to <strong>MKS</strong> Integrity (ICVTDT) command<br />

438<br />

create request<br />

create in batch 69<br />

default promotion method 69<br />

defined 459<br />

optimize PF promotions 69<br />

require comments feature 69<br />

currency<br />

defined 460<br />

current model object<br />

defined 460<br />

customer care options 5<br />

customizing <strong>Implementer</strong> 414<br />

D<br />

data area<br />

changing 402<br />

for AllFusion 2E 402<br />

IMADDOBJ, add related for service<br />

programs 402<br />

IMARCTAP, archive to tape libraries 402<br />

IMBNDUPD, Pathfinder update 402<br />

Index<br />

471


Index<br />

472<br />

IMBYPSRJW, bypass window on reject<br />

410<br />

IMCMNUSR, communications user<br />

profile 172, 403<br />

IMCOREJ, check out/reject options 403<br />

IMDLTFRMUP, delete user programs 404<br />

IMDLTFRMUS, delete user source 404<br />

IMDLTLOCK, delete locks 404<br />

IMDLYJOB, delay evoked jobs 404<br />

IMDOMDATA, Domino server data<br />

directory 339, 405<br />

IMDSPMSG, display message panel 405<br />

IMEMGSTP, emergency through step 405<br />

IMFTPPASV, FTP Passive Mode 174, 405<br />

IMJDKVER, JDK Version 241<br />

IMJDKVER, JDK version 406<br />

IMLIBRARY, <strong>Implementer</strong> library name<br />

406<br />

IMLNMSG, LANSA error messages 408<br />

IMLNPSO, LANSA partition security<br />

officer 408<br />

IMLNTSK, LANSA task usage 332, 408<br />

IMLOGCL, change logging level 407<br />

IMMULTJOB, submit multiple jobs 407<br />

IMMULTOBJ, multiple object single<br />

source check out 407<br />

IMMULTRQS, same item on multiple<br />

requests 408<br />

IMPATHSLSH, path slash 409<br />

IMPKGPRC, process package 409<br />

IMPRFX, work library prefix 409<br />

IMPRVCMDS, create commands and<br />

TGTRLS parameter 408<br />

IMRCLAGRP, reclaim activation group<br />

410<br />

IMREJECT, remove objects on QA reject<br />

409<br />

IMRETFILID, return file and member ID<br />

after promotion 410<br />

IMSEQRQS, sequential request 411<br />

IMSPCCMD, special commands 411<br />

IMSVPGM, save program name 323, 411<br />

IMTSTMOD, promotion batch steps test<br />

mode 411<br />

IMWLCLNUP, Work Library Cleanup 414<br />

IMWRNTRGLF, invalid logical file control<br />

412<br />

IRJOBQ, remote job queue 376, 413<br />

IRSBMMTD, remote job submission<br />

method 376, 413, 414<br />

ITAPEVOLUM next tape label for<br />

archives 193, 379<br />

ITAPEVOLUM, next tape label for<br />

archives 412<br />

LFREFOBJ, reference file to set LF<br />

authority 412<br />

object codes for promotion 137<br />

PFREFOBJ, reference file to set PF<br />

authority 412<br />

RCVLIB, Receiver library name 413<br />

retain values when promoting 136<br />

SDMAUTUSR, authorized user profile for<br />

IFS objects 413<br />

data model<br />

defined 460<br />

database purge, see purge history<br />

deleting tutorial data 396<br />

design request<br />

approvals, defined 460<br />

convert to issue 431<br />

defined 460<br />

disposition, defined 460<br />

object stamping<br />

overview 146<br />

setup 146, 147<br />

require for check out 87<br />

status, defined 460<br />

DesignTracker<br />

convert to <strong>MKS</strong> Integrity<br />

overview 243<br />

with data retention 247<br />

without data retention 244<br />

development process, assessing 204<br />

directory<br />

defined 462<br />

distribution<br />

APPC programs 165<br />

communication line considerations 166<br />

APPN 166<br />

network control program (NCP) 167<br />

switched line 166<br />

concepts 161<br />

database file considerations 164<br />

<strong>Implementer</strong> Receiver 162<br />

integration with local promotions 163<br />

LPAR support 162<br />

move step considerations 189<br />

multiple system development 189<br />

performance 191<br />

request number consideration 191<br />

options<br />

single step 180<br />

two step 180<br />

problem determination 193


emote initiated moves 181<br />

remote source members 163<br />

simultaneous to multiple remotes 181<br />

substeps described<br />

receive network file 189<br />

restore from save files 189<br />

save work libraries 189<br />

send work libraries 189<br />

distribution methods 164<br />

SDMCom 164, 427<br />

SNADS 165<br />

tape 165<br />

TCP/IP 165, 173<br />

DLO<br />

defined 461<br />

document<br />

defined 461<br />

Domino Designer, see Lotus Domino<br />

integration<br />

DTBridge<br />

installing on desktop 298<br />

installing on Windows 297<br />

properties file 299–300<br />

accessing and updating 299<br />

general properties 301<br />

<strong>MKS</strong> Integrity properties 300<br />

SQL for help desk integration 327<br />

SupportCenter properties 326<br />

requirements for using 297<br />

verifying TCP/IP connectivity 297<br />

E<br />

e-mail messaging 72<br />

emergency update mode 255–259<br />

activate/deactivate 257<br />

active mode 256<br />

apply pending changes 257<br />

changing modes 255<br />

development considerations 256<br />

inactive mode 256<br />

MWIPROD requirement 236, 256<br />

environment<br />

add dependencies to request 86<br />

add related objects to request 86<br />

source of information 88<br />

application development path 102<br />

build repository list 117–121<br />

clearing remote QA 384<br />

delete an environment 96<br />

delete objects after promotion 92<br />

distinguish local and remote 89<br />

environment group 126<br />

environment special commands 103<br />

feature overview 81<br />

library authority setup 68<br />

library list<br />

considerations 97<br />

defined 461<br />

how used 96<br />

setup 97<br />

name consideration for <strong>MKS</strong> Source 82<br />

object code<br />

deactivate for BPCS 322<br />

overrides 91<br />

overrides setup 92<br />

object name rules 138<br />

related environment 100<br />

defined 466<br />

remove object in from lib/env 87<br />

remove source in from lib/env 87<br />

require issue or design request 87<br />

retain request on remote 90<br />

setup<br />

AS/SET requirements 107<br />

basic setup 82–91<br />

for IFS objects 93<br />

LANSA requirements 107<br />

local development 419–420<br />

local production 418–419<br />

local quality assurance 420–421<br />

local user acceptance 422–423<br />

PeopleSoft World requirements 108<br />

remote production 423–430<br />

TCP/IP setup 174<br />

types<br />

defined 461<br />

user capabilities 109–112<br />

environment authorities<br />

Capability Wizard 80<br />

establish or reset 372<br />

environment group<br />

feature overview 125<br />

on application path 125<br />

environment ID<br />

defined 461<br />

environment path<br />

defined 458<br />

Environment Report 106<br />

Environment Repository Report 122<br />

Environment Verification Report 123<br />

Execute Checkout (IEXCCKOCMD) command<br />

349<br />

Index<br />

473


Index<br />

Execute Request Detail (IEXCRQSDTL)<br />

command 349<br />

export<br />

defined 461<br />

export list<br />

defined 461<br />

export to <strong>Implementer</strong> from <strong>MKS</strong> Source<br />

feature overview 296<br />

property file setup 302<br />

F<br />

file<br />

defined 461<br />

File Transfer Protocol, see FTP<br />

firewall configuration for TCP/IP 175<br />

folder<br />

defined 461<br />

FTP<br />

for TCP/IP distribution 175<br />

function<br />

defined 463<br />

function keys<br />

changing, menu option 397<br />

function redirection<br />

defined 462<br />

G<br />

getting help 5<br />

getting started with <strong>Implementer</strong> 1<br />

glossary of terms 457<br />

H<br />

Hawkeye integration<br />

requirements 354<br />

setup 354–355<br />

help desk integration 324–328<br />

feature overview 324<br />

requirements 325<br />

setup<br />

DTBridge properties file 325<br />

SQL statements for properties 327<br />

transaction history logs 327<br />

using the integration<br />

overview 327<br />

update calls console method 328<br />

update calls silent method 328<br />

HTTP server<br />

browser based development<br />

474<br />

I<br />

configuring 157<br />

server port requirements 156<br />

server security requirements 156<br />

IAPYPNDCHG, Apply Pending Changes<br />

command 258<br />

IASP<br />

requirements for using 154<br />

IBLDMBOLST Build List command 119<br />

IBM Backup Restore Management System, see<br />

BRMS integration<br />

IBM WebSphere Development Studio Client for<br />

iSeries, see WDSc integration<br />

ICHGREP Change Repository command 376<br />

ICHGREPIFS Change Repository IFS command<br />

377<br />

ICHGRMTRQS Change Remote Request<br />

command 185<br />

IDBPRG Purge History command 376<br />

IDLTLIBREF Delete Library References<br />

command 378<br />

IEDTLIBL Edit Library List command 415<br />

upgrade considerations 415<br />

IEXCCKOCMD, Execute Checkout command<br />

349<br />

IEXCRQSDTL, Execute Request Detail<br />

command 346, 349<br />

IFS directory<br />

defined 462<br />

IFS object<br />

defined 462<br />

IFS object management<br />

automatic object code setup 68<br />

browser-based development<br />

HTTP configuration 157<br />

HTTP mapping directives 157<br />

HTTP method directives 157<br />

HTTP server security 157<br />

iSeries setup 156<br />

starting the TCP/IP server 158<br />

environment setup 93<br />

mounted drive setup 159<br />

IMADDOBJ data area 402<br />

IMARCTAP command 380<br />

IMARCTAP data area 402<br />

IMBNDUPD data area 402<br />

IMBYPSRJW data area 410<br />

IMCMNUSR data area 172, 403<br />

IMCOM


end before backup 176<br />

TCP/IP job queue 176<br />

TCP/IP subsystem 176<br />

IMCOMCTL<br />

command parameters 177<br />

IMCOREJ data area 403<br />

IMDLTFRMUP data area 404<br />

IMDLTFRMUS data area 404<br />

IMDLTLOCK data area 404<br />

IMDLYJOB data area 404<br />

IMDOMDATA data area 339, 405<br />

IMDSPMSG data area 405<br />

IMEMGSTP data area 405<br />

IMFTPPASV data area 405<br />

IMJDKVER data area 241, 406<br />

IMLIBRARY data area 406<br />

IMLNMSG data area 408<br />

IMLNPSO data area 408<br />

IMLNTSK data area 332, 408<br />

IMLOGCL data area 407<br />

IMMULTJOB data area 407<br />

IMMULTOBJ data area 407<br />

IMMULTRQS data area 408<br />

IMPATHSLSH data area 409<br />

IMPKGPRC, data area 409<br />

implementation object<br />

defined 463<br />

<strong>Implementer</strong> Receiver<br />

defined 463<br />

local partitioning (LPAR) 162<br />

see also, remote<br />

<strong>Implementer</strong> Server<br />

configuring the server 217–219<br />

IDSPSVRLOG command 225<br />

install and configure on iSeries 218<br />

install and configure on PC 220<br />

install and configure on UNIX 222<br />

log files to retain 219<br />

managing the server 223–225<br />

patches and PTFs 225<br />

purge server log files 225<br />

server log file 225<br />

status descriptions 219<br />

time zone offset 220<br />

troubleshooting 225<br />

import<br />

defined 463<br />

IMPRFX data area 409<br />

IMPRVCMDS data area 408<br />

IMRCLAGRP data area 410<br />

IMREJECT data area 409<br />

IMRETFILID data area 410<br />

IMSEQRQS data area 411<br />

IMSPCCMD data area 411<br />

IMSVPGM data area 411<br />

IMSYSLIB considerations 154<br />

IMTSTMOD data area 411<br />

IMWLCLNUP data area 414<br />

IMWRNTRGLF data area 412<br />

Independent Auxiliary Storage Pool, see IASP<br />

installing <strong>Implementer</strong> 2<br />

Integrated File System, see IFS<br />

integrated solutions<br />

change management 50<br />

change request process overview 58<br />

development lifecycle overview 52<br />

iSeries component overview 198<br />

iSeries management 50<br />

managing change requests overview 53<br />

multi tiered architecture 197<br />

overview 196<br />

process and workflow 198<br />

software configuration management 50<br />

IPRTREPRPT, Repository Report 123<br />

IRJOBQ, remote job queue data area 376, 413<br />

IRSBMMTD, remote job submission data area<br />

376, 414<br />

ISAVARC Save Archives to Tape command<br />

192, 379<br />

ISETDOMACL, Set Domino ACL command<br />

347<br />

ISGNDOMDB, Sign Domino Database<br />

command 354<br />

ISNDMAIL command 72<br />

issue<br />

convert DesignTracker data to 431<br />

environment issue state 89<br />

manage, overview 198<br />

object stamping setup 146, 147<br />

require for check out 87<br />

issue types<br />

defined 198<br />

relationships 199<br />

ITAPEVOLUM data area 193, 379, 412<br />

IUPDCI, Update <strong>MKS</strong> Integrity command 240<br />

IVFYRPT, Environment Verification Report 124<br />

J<br />

J.D. Edwards, see PeopleSoft World integration<br />

JDE<br />

defined 463<br />

see also, PeopleSoft World integration<br />

Index<br />

475


Index<br />

job description<br />

MWIJOBD<br />

AS/SET 316<br />

LANSA 329<br />

library list considerations 97<br />

job overrides<br />

for purge history 376<br />

submitting 372<br />

K<br />

keyword restriction<br />

defined 463<br />

L<br />

LANSA integration<br />

archiving 330<br />

data areas<br />

IMLNMSG, error messaging 408<br />

IMLNPSO, partition security officer<br />

408<br />

IMLNTSK, task tracking and Visual<br />

LANSA 332, 408<br />

environment setup 107<br />

integration overview 328<br />

MWIJOBD job description 329<br />

object codes<br />

for LANSA objects 331<br />

same file and partition 331<br />

setting up 134<br />

objects<br />

defined 463<br />

partition security officer 408<br />

stop promotion by message ID 331<br />

task tracking<br />

feature overview 332<br />

setting up 332<br />

Visual LANSA 332–333<br />

IMLNTSK data area 408<br />

requirements and setting up 332<br />

Web interface setup 328<br />

Lawson Software integration 333<br />

level check<br />

incorrect library list 97<br />

LFREFOBJ data area 412<br />

library<br />

establish authorities<br />

after changing 374<br />

disallow unauthorized access 374<br />

incorrect authority set 374<br />

476<br />

restrict external access 374<br />

library authority setup 68<br />

library list<br />

considerations for MWIJOBD job<br />

description 97<br />

Edit Library List (IEDTLIBL) command<br />

415<br />

environment library list 96<br />

for special commands 96<br />

level check if incorrect 97<br />

system library list requirements 154<br />

third party integration considerations 97<br />

local partitioning (LPAR) support 161<br />

lock<br />

defined 463<br />

logging CL statements 407<br />

Lotus Domino integration 336<br />

ACLs<br />

set in check out 348<br />

set in promotion 349<br />

adding custom tools 340<br />

adding SmartIcons 342<br />

database signing<br />

agent signing application 352<br />

Domino setup 351–352<br />

<strong>Implementer</strong> setup 352–354<br />

ISGNDOMDB command 354<br />

key considerations 351<br />

upgrade considerations 352<br />

Domino server URL 72<br />

IMDOMDATA data area 339<br />

integration requirements 338<br />

managing NSF and NTF objects 337<br />

setup<br />

adding custom tools 340<br />

adding SmartIcons 342<br />

defining ACL directives 345<br />

Domino Designer setup 340<br />

<strong>Implementer</strong> setup 339<br />

iSeries setup and configuration 339<br />

QNOTES directory authority for<br />

ACLs 344<br />

M<br />

managing<br />

issues 198, 199<br />

states 208–212<br />

member/object<br />

defined 463<br />

member/object list


for different source/object names 118<br />

menus<br />

command options, see Start <strong>Implementer</strong><br />

(STRIM) command<br />

<strong>Implementer</strong> Menu 11<br />

messages<br />

logging level 408<br />

<strong>MKS</strong> Integrity integration<br />

assessing process 204<br />

changes report 258<br />

convert to <strong>MKS</strong> Integrity 243–254<br />

conversion methods 244<br />

converting data 431–453<br />

set last allowed DR number 250<br />

set next issue number 252<br />

set user’s default system 253<br />

with data retention 247<br />

without data retention 244<br />

current status 229<br />

default issue management system 228<br />

development scenario 60<br />

DTBridge<br />

IUPDCI special command setup 242<br />

update from <strong>Implementer</strong> 241<br />

emergency update mode 255–259<br />

activate/deactivate 257<br />

active mode 256<br />

apply pending changes 257<br />

changing modes 255<br />

development considerations 256<br />

inactive mode 256<br />

environments<br />

issue state 89<br />

require issue in checkout 87<br />

setting up 203–240<br />

communication parameters 229<br />

emergency mode authority 235<br />

environments 237<br />

<strong>Implementer</strong> setup 216<br />

issue management system 228<br />

managing states 208<br />

<strong>MKS</strong> Integrity parameters in<br />

<strong>Implementer</strong> 226<br />

overriding issue states 238<br />

promote from <strong>MKS</strong> Integrity 212–<br />

216, 242–243<br />

promotion path status entries 233<br />

require issues in check out 237<br />

state based capabilities 208<br />

states in <strong>Implementer</strong> 233–235<br />

updating state changes 234<br />

user profiles 235<br />

state based capabilities 208<br />

system requirements 202, 261<br />

user for <strong>MKS</strong> Integrity Server 74<br />

<strong>MKS</strong> Source integration<br />

archive source for object code 132<br />

export to <strong>Implementer</strong><br />

feature overview 259<br />

property file setup 302<br />

<strong>Implementer</strong> setup and administration<br />

274–295<br />

define <strong>MKS</strong> Source in <strong>Implementer</strong><br />

275<br />

define object codes 278<br />

product/version and development<br />

path 283<br />

product/version environments and<br />

population 286<br />

product/version/release and<br />

checkpointing 286<br />

products and source archiving 280<br />

<strong>MKS</strong> Source setup 262–274<br />

create base projects 263<br />

create <strong>Implementer</strong> group 264<br />

create integration user 264<br />

modify Integrity Server<br />

communication file 206<br />

set <strong>MKS</strong> Source policies 265<br />

prepare for next release 293<br />

prepare for next version 293<br />

process and workflow 260<br />

requirements 261<br />

<strong>MKS</strong>IM library data area 406<br />

<strong>MKS</strong>IM product library<br />

library list considerations 97<br />

system library list 154<br />

<strong>MKS</strong>IR product library<br />

RCVLIB data area 413<br />

system library list 154<br />

model object<br />

defined 463<br />

model object list<br />

defined 464<br />

model object name<br />

defined 464<br />

model value YSYSCHG 307<br />

mounted drive setup for IFS 159<br />

move request<br />

defined 464<br />

multi tiered architecture 196, 197<br />

multi-platform scenarios 49–61<br />

change management 50<br />

change request process overview 58<br />

Index<br />

477


Index<br />

development lifecycle 52<br />

iSeries management 50<br />

managing change requests overview 53<br />

software configuration management 50<br />

MWIJOBD job description<br />

library list considerations 97<br />

MWIPROD user profile<br />

authority and object owner 117<br />

SNADS user ID 429<br />

My Workbench<br />

defined 464<br />

N<br />

network configuration<br />

environment examples<br />

local location name 428<br />

remote location name 428<br />

system name 428<br />

target release 428<br />

feature overview 167<br />

setup for remote deployment 168<br />

SNA distribution setup 168<br />

TCP/IP distribution setup 169<br />

NewVersion<br />

applying new vendor release 35<br />

non-sequential development<br />

defined 464<br />

O<br />

object code<br />

AllFusion 2E model objects 133<br />

archive source in <strong>MKS</strong> Source 132<br />

auto-create for IFS objects 68<br />

changing 129<br />

deactivating 128<br />

deleting IFS object codes 135<br />

DTAARA to copy from library 137<br />

DTAARAR to retain existing value 137<br />

environment build list 119<br />

environment overrides 91, 92, 133<br />

for AS/SET special characteristics 134<br />

for DDM support 135<br />

for IFS objects 135<br />

for LANSA 133, 134, 331<br />

Web interface setup 331<br />

for PeopleSoft World 133, 134<br />

functional purpose 137<br />

object name rules 137<br />

reactivating 129<br />

478<br />

repository maintenance 376<br />

set data area value in promotion 137<br />

user profile overrides 80<br />

object name rules<br />

all object codes/specific environment 141<br />

feature overview 137<br />

name validation 137<br />

rule maintenance 137<br />

specific object code/all environments 141<br />

specific object code/environment 138<br />

object version stamping<br />

activate issue or DR stamping 70<br />

activate object version stamping 70<br />

build repository to set version 118<br />

feature overview 146<br />

initialize version numbers 146<br />

setup 147<br />

version methods 147<br />

<strong>MKS</strong> Source integration 147<br />

user defined program 71<br />

version number methodology 70<br />

optimize PF promotions 69<br />

OS/400<br />

changing the system name 154<br />

commands<br />

DSPNETA 154<br />

RSTLIB 35<br />

IMSYSLIB for C development 154<br />

new releases 153<br />

previous release support 408<br />

restricting user authority 79<br />

owning model object<br />

defined 464<br />

P<br />

partition<br />

defined 464<br />

path<br />

defined 464<br />

see also, application path or project path<br />

PathFinder integration<br />

see Hawkeye integration<br />

PDM<br />

defining options 144<br />

option for ICHKOUT command 145<br />

option for ICRTRQS command 145<br />

pending changes<br />

applying 257, 258<br />

PeopleSoft World integration<br />

common library setup 108


data dictionary<br />

defined 465<br />

DREAM Writer<br />

defined 465<br />

environment setup 108<br />

installing on host 356<br />

integration overview 355<br />

menu<br />

defined 465<br />

object code setup 134<br />

printer file overrides 360<br />

soft coding item<br />

archiving setup 358<br />

defined 465<br />

software inventory or member master<br />

defined 465<br />

traditional object<br />

defined 465<br />

traditional object codes 360<br />

user defined code (UDC)<br />

defined 465<br />

security for 359<br />

PFREFOBJ data area 412<br />

Powerhouse integration<br />

setup 362<br />

prerequisites to using this guide 4<br />

previous OS/400 release support 408<br />

primary target environment<br />

defined 465<br />

problem determination<br />

logging CL statements 407<br />

process<br />

assessing product development 204<br />

defined 466<br />

project<br />

create a project path 142<br />

defined 466<br />

setup considerations 13<br />

project path<br />

defined 458<br />

project tracking<br />

with an issue 230<br />

promotion<br />

defined 466<br />

enable one step promotion 77<br />

from Domino Designer<br />

set Domino ACLs 349<br />

from within <strong>MKS</strong> Integrity 201<br />

<strong>Implementer</strong> setup 242–243<br />

<strong>MKS</strong> Integrity setup 212–216<br />

one step, in batch 69<br />

request comments feature 69<br />

promotion request<br />

defined 466<br />

properties files<br />

conversion properties file 441<br />

DTBridge properties file 300, 325<br />

purge history<br />

function overview 374<br />

object status 374<br />

on remote system 376<br />

submitting job overrides 376<br />

Q<br />

QSAMPLE<br />

Edit Library List (IEDTLIBL) command<br />

415<br />

IMCODF user exit 415<br />

IMCRDF user exit 415<br />

IMPRMV3 user exit 415<br />

IMUPDLCK user exit 415<br />

overview of user exit programs 414<br />

QSECOFR user profile<br />

authority 117<br />

qualified name<br />

defined 466<br />

R<br />

RCVLIB data area 413<br />

receiver, see <strong>Implementer</strong> Receiver<br />

related documentation 3<br />

related environment<br />

defined 466<br />

related object processing<br />

add from path without locks 72<br />

environment setup 86<br />

maintain across environments 69<br />

related objects<br />

IMSYSLIB considerations 154<br />

IMSYSLIB for C development 154<br />

related request setup 69<br />

remote<br />

change remote request command 185<br />

communications options 428<br />

controlling remote job schedules 181<br />

environment, vs. local environment 89<br />

job queue data area (IRJOBQ) 413<br />

job submission method data area<br />

(IRSBMMTD) 414<br />

see also <strong>Implementer</strong> Receiver 185<br />

reports<br />

Index<br />

479


Index<br />

Activity Report 375, 396<br />

Archives by Environment 383<br />

Archives by Request Report 383<br />

Archives Per Tape Report 383<br />

Environment Report 106<br />

Environment Repository Report 122<br />

Environment Verification Report 123<br />

repository<br />

defined 466<br />

environment build 117–121<br />

report of environment status 122<br />

repository maintenance<br />

function overview 376<br />

IDLTLIBREF command 378<br />

request number<br />

defined 466<br />

next number assigned 66<br />

requester<br />

defined 466<br />

required objects<br />

defined 466<br />

reset authorities<br />

defined 467<br />

function overview 372<br />

IFS considerations 373<br />

setup overview 13<br />

Restore Library (RSTLIB) command 35<br />

restoring<br />

archive from tape 193, 382<br />

ROBOT integration<br />

scheduling 68<br />

setup 364<br />

S<br />

scenarios<br />

host system, overview 15<br />

local 25, 27, 29, 33<br />

modification to vendor software 33<br />

multiple database libraries, same<br />

structure 25<br />

multiple software releases 29<br />

separate production modifications 27<br />

multi-platform development and<br />

deployment 60<br />

release control 37<br />

remote 41, 43, 45, 46, 48<br />

check out from remote 48<br />

multiple remote production, same<br />

changes 45<br />

multiple remotes 46<br />

480<br />

remote production, different request<br />

41<br />

testing on remote 43<br />

remote production same request 39<br />

remote system, overview 16<br />

scheduling<br />

promotion steps 99<br />

setup for ROBOT 68<br />

SDMAUTUSR data area<br />

for IFS mounted drive 159<br />

IFS authorized user 413<br />

SDMCom<br />

distribution 165<br />

security officer<br />

authority 117<br />

Send eMail Message command 72<br />

sequential development<br />

defined 467<br />

server<br />

Apache Web Server for iSeries 155<br />

<strong>Implementer</strong> server<br />

setup and administration 216–225<br />

QHTTPSVR 158<br />

TCP/IP HTTP 158<br />

Set Domino ACL (ISETDOMACL) command<br />

347<br />

setup<br />

ABSTRACT integration 304<br />

American Software integration 313<br />

archive considerations 14<br />

archive to tape 379<br />

AS/SET integration 316<br />

BPCS integration 320<br />

CODE/400 integration 323<br />

Cognos integration 362<br />

environments 81–91<br />

general considerations 13<br />

Hawkeye integration 354<br />

LANSA integration 328<br />

PeopleSoft World integration 355<br />

Powerhouse integration 362<br />

projects, considerations 13<br />

ROBOT integration 364<br />

system control maintenance 65–72<br />

user profiles 72–80<br />

Sign Domino Database (ISGNDOMDB)<br />

command 354<br />

SNADS<br />

communication setup 179<br />

distribution 165<br />

user address 429<br />

*SYSTEM 429


name 429<br />

user ID 429<br />

software architecture, common 198<br />

software development lifecycle<br />

change request process 59<br />

managing change requests 57<br />

overview 52<br />

source and object name<br />

when different 118<br />

special commands<br />

for Domino ACL support 346<br />

for <strong>MKS</strong> Integrity integration 242<br />

special commands by environment<br />

apply to all environments 104<br />

feature overview 103<br />

library list 96<br />

Start AllFusion 2E CM (STRCM) command 11<br />

Start AllFusion 2E CM Receiver (STRCR)<br />

command 10<br />

Start <strong>Implementer</strong> (STRIM) command<br />

keywords and options 11<br />

menu options 10<br />

Start <strong>Implementer</strong> Receiver (STRIR) command<br />

10<br />

Start TCP/IP Server (STRTCPSVR) command<br />

158<br />

state 208–212<br />

state based capabilities 208<br />

state setup 232–235<br />

detail field descriptions 234<br />

promotion path status entries 233<br />

updating state changes 234<br />

step<br />

defined 467<br />

Structured Query Language (SQL)<br />

for help desk integration 327<br />

submitting<br />

job overrides 372<br />

multiple jobs 407<br />

support options 5<br />

surrogate<br />

defined 467<br />

System Control Maintenance<br />

add related objects from path 72<br />

assign version number method 70<br />

cross environment related objects 69<br />

default SMTP server 72<br />

feature overview 65<br />

next request number 66<br />

object version stamping 70<br />

one step promotion in batch 69<br />

optimize PF promotions 69<br />

promotion request comments 69<br />

require issue or DR stamping 70<br />

setup overview 13<br />

unique versioning programs 71<br />

system library list<br />

<strong>MKS</strong>IM library 154<br />

<strong>MKS</strong>IR library 154<br />

system name<br />

change OS/400 name 154<br />

T<br />

tape<br />

distribution 165<br />

tape archiving 379<br />

target environment group<br />

defined 467<br />

TCP/IP<br />

adding server security 157<br />

distribution 165<br />

distribution method 173<br />

environment setup 174<br />

firewall configuration 175<br />

FTP passive mode 174, 405<br />

HTTP server port requirements 156<br />

HTTP server security requirements 156<br />

IMCOM job queue 176<br />

IMCOM subsystem 176<br />

network configuration setup 169<br />

OS/400 FTP service 175<br />

overview 173<br />

set up considerations, additional 175<br />

starting the server 158<br />

STRTCPSVR, Start TCP/IP Server<br />

command 158<br />

verifying DTBridge connection 297<br />

TGTRLS parameter 408<br />

third party integrations<br />

BRMS 322, 380<br />

deactivate object codes 127<br />

Lawson Software 333<br />

WDSc 365<br />

tracking change 198–199<br />

trigger<br />

defined 467<br />

tutorial data, deleting 396<br />

types<br />

defined 198<br />

typographical conventions 4<br />

Index<br />

481


Index<br />

U<br />

Uniform Resource Locator, see URL<br />

Update <strong>MKS</strong> Integrity (IUPDCI) command 240<br />

upgrading <strong>Implementer</strong> 2<br />

IEDTLIBL command considerations 415<br />

URL<br />

for Domino Designer integration 340<br />

user authority<br />

Capability Wizard 385<br />

to environment 109–112<br />

User Capability Wizard, see Capability Wizard<br />

385<br />

user environment capabilities 80<br />

user exit program<br />

customizing <strong>Implementer</strong> 414<br />

IMCODF 415<br />

IMCOMO8 415<br />

IMCRDF 415<br />

IMPRMV3 415<br />

IMUPDLCK 415<br />

user profile<br />

enrolling in <strong>Implementer</strong> 72<br />

environment capabilities 80<br />

for communications 403<br />

function overview 72<br />

maintain customer setup 78<br />

maintain product versions setup 78<br />

maintain products setup 78<br />

<strong>MKS</strong> Integrity user 74<br />

MWIPROD user profile 429<br />

object code overrides 80<br />

one step checkout setup 77<br />

one step promotion setup 77<br />

override remove from src/obj 75<br />

QSECOFR user profile 117<br />

remove src/obj in from library 76<br />

user program and source<br />

remove during promotion 404<br />

utilities<br />

clear remote environment 384<br />

purge host environment history 374<br />

purge remote environment history 376<br />

repository maintenance 376<br />

System Control Maintenance 65<br />

V<br />

version<br />

AllFusion 2E, defined 468<br />

482<br />

version group<br />

AllFusion 2E, defined 468<br />

versioning<br />

build list to set object version 118<br />

initializing version numbers 146<br />

issue or DR object stamping<br />

feature overview 146<br />

setup 146, 147<br />

object stamping overview 146<br />

object version stamping setup 147<br />

versioning methods 147<br />

Visual LANSA, see LANSA integration<br />

W<br />

WDSc integration 365<br />

benefits and features 367<br />

integration overview 366<br />

requirements<br />

<strong>Implementer</strong> requirements 369<br />

WDSc requirements 368<br />

Web based development<br />

Apache Web Server for iSeries setup 158–<br />

159<br />

environment setup 156<br />

HTTP server setup 156–158<br />

accessing HTTP configuration 157<br />

adding security directives 157<br />

enabling method directives 157<br />

mapping location directives 157<br />

overview 156<br />

starting and stopping server 158<br />

WebSphere Development Studio Client for<br />

iSeries, see WDSc<br />

where to go next 203<br />

work library<br />

defined 468<br />

prefix 409<br />

Workbench<br />

defined 464<br />

WRKHTTPCFG, Work with HTTP<br />

Configuration command 157<br />

Y<br />

Y2SYCM library 406<br />

Y2SYCR library 413<br />

YSYSCHG model value 307

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!