N2O NATURAL Change Management with 3GL Support, Source Compare,

Slides:



Advertisements
Similar presentations
My AmeriCorps AmeriCorps State Program Member Management
Advertisements

Variations of the Turing Machine
1
1 Copyright © 2013 Elsevier Inc. All rights reserved. Appendix 01.
Module 7 Proposal Budgets.
Manuscript Central Training Author Center Module 2.
Slide 1 FastFacts Feature Presentation December 13 th, 2007 We are using audio during this session, so please dial in to our conference line… Phone number:
1 Hyades Command Routing Message flow and data translation.
Prepared by: Workforce Enterprise Services For: The Illinois Department of Commerce and Economic Opportunity Bureau of Workforce Development ENTRY OF EMPLOYER.
Exit a Customer Chapter 8. Exit a Customer 8-2 Objectives Perform exit summary process consisting of the following steps: Review service records Close.
Local Customization Chapter 2. Local Customization 2-2 Objectives Customization Considerations Types of Data Elements Location for Locally Defined Data.
Create an Application Title 1Y - Youth Chapter 5.
Create an Application Title 1A - Adult Chapter 3.
Process a Customer Chapter 2. Process a Customer 2-2 Objectives Understand what defines a Customer Learn how to check for an existing Customer Learn how.
Custom Statutory Programs Chapter 3. Customary Statutory Programs and Titles 3-2 Objectives Add Local Statutory Programs Create Customer Application For.
Custom Services and Training Provider Details Chapter 4.
Add Governors Discretionary (1G) Grants Chapter 6.
1 Advanced Tools for Account Searches and Portfolios Dawn Gamache Cindy Bylander.
1 Click here to End Presentation Software: Installation and Updates Internet Download CD release NACIS Updates.
1 NatQuery 3/05 An End-User Perspective On Using NatQuery To Extract Data From ADABAS Presented by Treehouse Software, Inc.
Photo Slideshow Instructions (delete before presenting or this page will show when slideshow loops) 1.Set PowerPoint to work in Outline. View/Normal click.
© Tally Solutions Pvt. Ltd. All Rights Reserved Shoper 9 License Management December 09.
Welcome. © 2008 ADP, Inc. 2 Overview A Look at the Web Site Question and Answer Session Agenda.
Break Time Remaining 10:00.
The basics for simulations
Turing Machines.
PP Test Review Sections 6-1 to 6-6
Page 1 of 30 To the Create Assignment Request Online Training Course An assignment request is created by an assignor to initiate the electronic assignment.
1 IMDS Tutorial Integrated Microarray Database System.
User Friendly Price Book Maintenance A Family of Enhancements For iSeries 400 DMAS from Copyright I/O International, 2006, 2007, 2008, 2010 Skip Intro.
Access Tables 1. Creating a Table Design View Define each field and its properties Data Sheet View Essentially spreadsheet Enter fields You must go to.
1 Contract Inactivation & Replacement Fly-in Action ( Continue to Page Down/Click on each page…) Electronic Document Access (EDA)
Health Artifact and Image Management Solution (HAIMS)
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Outline 24.1 Test-Driving the Ticket Information Application.
HORIZONT 1 XINFO ® The IT Information System PL/1 HORIZONT Software for Datacenters Garmischer Str. 8 D München Tel ++49(0)89 /
Sample Service Screenshots Enterprise Cloud Service 11.3.
Copyright © 2012, Elsevier Inc. All rights Reserved. 1 Chapter 7 Modeling Structure with Blocks.
 Copyright I/O International, 2013 Visit us at: A Feature Within from Item Class User Friendly Maintenance  Copyright.
Mobility Tool Fremtidens afrapportering 2013 – Erasmus Mobilitet / IP 2014 – Erasmus+ aktioner.
Adding Up In Chunks.
MaK_Full ahead loaded 1 Alarm Page Directory (F11)
 Copyright I/O International, 2013 Visit us at: A Feature Within from Customer Payment Terms User Friendly Maintenance.
1 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt Synthetic.
1 How Do I Order From.decimal? Rev 05/04/09 This instructional training document may be updated at anytime. Please visit and check the.
GEtServices Services Training For Suppliers Requests/Proposals.
1 BRState Software Demonstration. 2 After you click on the LDEQ link to download the BRState Software you will get this message.
Before Between After.
2004 EBSCO Publishing Presentation on EBSCOadmin.
Subtraction: Adding UP
: 3 00.
5 minutes.
1 hi at no doifpi me be go we of at be do go hi if me no of pi we Inorder Traversal Inorder traversal. n Visit the left subtree. n Visit the node. n Visit.
Types of selection structures
WorkKeys Internet Version Training
To the Assignments – Work in Progress Online Training Course
Chapter 12 Working with Forms Principles of Web Design, 4 th Edition.
Clock will move after 1 minute
PSSA Preparation.
Chapter 11 Creating Framed Layouts Principles of Web Design, 4 th Edition.
Chapter 13 Web Page Design Studio
Physics for Scientists & Engineers, 3rd Edition
Select a time to count down from the clock above
Murach’s OS/390 and z/OS JCLChapter 16, Slide 1 © 2002, Mike Murach & Associates, Inc.
Import Tracking and Landed Cost Processing An Enhancement For AS/400 DMAS from  Copyright I/O International, 2001, 2005, 2008, 2012 Skip Intro Version.
© Paradigm Publishing, Inc Excel 2013 Level 2 Unit 2Managing and Integrating Data and the Excel Environment Chapter 6Protecting and Sharing Workbooks.
Page 1 Orchard Harvest ™ LIS Find a Patient Training.
Registry and Referral System HCW/PSW Staff User Manual
1 CHART CHART for Natural Take a good look at your system... with CHART Presented by Treehouse Software, Inc.
Presentation transcript:

N2O NATURAL Change Management with 3GL Support, Source Compare, Introduce self and Treehouse Software. Introduce N2O. We sometimes mention that the name almost doesn’t fit anymore. Originally, N2O was the NATURAL 2 Organizer. Now, it’s much more. It handles NATURAL, PREDICT, SYSERR, and 3GLs. It’s a complete change management product all by itself. A good humorous point here is to look at the name. Dentists use N2O (laughing gas) to ease the pain of dental work. Race car drivers use N2O (nitrous oxide) to improve the performance of their vehicles. NATURAL sites can use N2O, also, both to ease the pain of NATURAL and 3GL migrations, but also to improve the performance of their change management environment and application development staff. N2O NATURAL Change Management with 3GL Support, Source Compare, and N2OSCAN Track and manage changes to business-critical applications and installations N2O is a product of Treehouse Software, Inc. All rights reserved.

When we say “NATURAL objects” we mean any NATURAL entity, such as programs, subprograms, subroutines, copycode, maps, or helproutines. At this time, it is usually good to say that N2O is the only package that interfaces to all 3GL environments. N2O allows source, object, or both in Production. Other products only allow object. One reason you might want source in Production is to recompile it. Although listed last here, Checkout/Checkin is one of the most important N2O features. Checkout/Checkin makes individuals accountable for their code by tracking who modifies programs. N2O can optionally restrict access to a program to one or more users at a single point in time. Introduction Migrates DDMs, Metadata, NATURAL objects, PREDICT objects, and SYSERR messages N2O/3GL migrates members stored in LIBRARIAN, PANVALET, ENDEVOR, or MVS PDSs Project Tracking maintains information about organizational activities N2OSCAN – scans Natural objects for strings over a user specified object/library range. Extensive reporting features ease recovery and audit requirements.

This diagram shows a sample environment This diagram shows a sample environment. There is a Production library for the code it uses every day, a Development library where modifications are made, a Test library where Quality Assurance is performed, and an Archive where old Production code is kept for emergency recovery. Be sure to mention that this is only a sample environment. It is not necessary for a site to have all of these environments. For example, if they don’t want to archive, they don’t have to. In fact, one N2O site has 15 environments and 140 valid paths between them, and N2O handles their situation just fine. Note the two-way arrows between DEV and TEST, and PROD/ARCH. This implies that paths in N2O are not necessarily “one-way streets.” Programs can flow back and forth if the site desires. Sample Environment #1

Sample Environment #2

Environment (this is an N2O administrator function, and is shown last) Mention that the Environment Subsystem is a “set it and forget it” thing for the most part. Once you define the environment, you won’t need to access this subsystem again unless you make some kind of a change or introduce new change management policies. N2O Subsystems Migrations Reporting Project Tracking Toolbox Environment (this is an N2O administrator function, and is shown last)

Migrations Accomplished Online or Batch Source, object or both Move or Copy DB2 Processing Verify object timestamps Autocompile, target compilation Stow, CAT Automatic Recovery XREF at the Target Verify existence of PREDICT Documentation Multiple target migrations Electronic authorization (up to 10 levels) Integrated with PREDICT XREF as an option Archive and Recovery Checkout/Checkin Emergency Recovery Audit trails and extensive reporting of migration activity

Type can be N (NATURAL), P (PREDICT), S (SYSERR), and/or O (Other), or a combination, such as NPO. Add Migration Request 03-12-31 N-2-O REQUEST EVENT MENU TSI0373 11:38:00 TSI1 Code Function ---- --------------------------------- A Add an Event C Copy an Event D Delete an Event I Inquire an Event M Modify an Event R Recovery from Archive S Select Events for Processing . Terminate Request Event Menu Enter Code: A Event : PAYROLL Type : N Sequence : _______ Status: _ Direct Command: _____________________ MIG REQ Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12- HELP ---- END ENV MIG REP TOL USR PRJ ---- ---- EXIT Events are requested to build migration requests. Master Events (such as PAYROLL) are defined by the administrator as templates for use by the development teams.

NATURAL Migration Request Mention that excessive data entry is not required because N2O provides most of this information automatically. The user can modify it if needed, or simply select the defaults supplied by the N2O Master Event. Discuss the Starting Program field and its role in simplifying program selection. To help enforce site standards, all of this information gets passed to an N2O User-Exit which may accept or reject the migration request based on site-specific criteria, such as prohibiting migrations without valid change control numbers or migrations without proper comments. The User-Exit is an optional feature, created for the convenience of the site. NATURAL Migration Request 03-12-31 N-2-O ADD AN EVENT TSI0373 11:38:00 Event: PAYROLL Sequence: 17 TSI1 From Env : TEST From Library : PAYTEST To Env : PROD To Library : PAYPROD Process Date : 03-12-31 Process Time : 11:38:00 Starting Pgm : FEDTAX Include Objects from UEX15:N THIS IS A SAMPLE MIGRATION REQUEST________________ C __________________________________________________ o __________________________________________________ m __________________________________________________ e __________________________________________________ n __________________________________________________ t __________________________________________________ s __________________________________________________ Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12- HELP ---- END ---- ---- ---- ---- ---- ---- ---- ---- ---- This occurrence of the Event PAYROLL (sequence 17), will migrate programs from Env. TEST, library PAYTEST to Env. PROD, library PAYPROD.

Program Selection List Mention that full scrolling capabilities are available on this screen, and that the header information at the top of the screen is there to remind the user where the programs are going to/from, etc. The Starting Program field can be used to reposition the screen display at an appropriate point in the list of programs. Program Selection List Type A to Add Program to the Event, D to Delete 03-12-31 N-2-O ADD AN EVENT TSI0373 11:38:00 Event: PAYROLL Sequence: 17 TSI1 From Env: TEST From Library: PAYTEST To Env: PROD To Library: PAYPROD Starting Program: FEDTAXC Object Object S Object Type S/C Message S Object Type S/C Message A FEDTAXC COPYCODE S _ FEDTAXL LOCAL S _ FEDTAXM MAP S A FEDTAXP PROGRAM S _ FEDTAXS SUB-RTN S _ FICAC COPYCODE S _ FICAL LOCAL S _ FICAM MAP S _ FICAP PROGRAM S _ FICAS SUB-RTN S _ LIFEINSC COPYCODE S _ LIFEINSL LOCAL S _ LIFEINSM MAP S A LIFEINSP PROGRAM S _ LIFEINSS SUB-RTN S _ PENSIONC COPYCODE S _ PENSIONL LOCAL S _ PENSIONM MAP S _ PENSIONP PROGRAM S _ PENSIONS SUB-RTN S _ SALARYC COPYCODE S _ SALARYL LOCAL S _ SALARYM MAP S _ SALARYP PROGRAM S Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12- HELP ALL END ---- ---- TOP UP DOWN BOT ---- ---- STOP Objects to be included in this migration request are selected from a list of objects “checked out” to the user.

Selection List Confirmation This screen shows the effect of migrating the programs (i.e., ADD, REPLACE, etc.) Selection List Confirmation Programs selected for migration, Press ENTER to proceed 03-12-31 N-2-O ADD AN EVENT TSI0373 11:38:00 Event: PAYROLL Sequence: 17 TSI1 From Env: TEST From Library: PAYTEST To Env: PROD To Library: PAYPROD Starting Program: FEDTAXC Object Object S Object Type S/C Message S Object Type S/C Message _ FEDTAXC COPYCODE S REPLACE _ FEDTAXL LOCAL S _ FEDTAXM MAP S _ FEDTAXP PROGRAM S REPLACE _ FEDTAXS SUB-RTN S _ FICAC COPYCODE S _ FICAL LOCAL S _ FICAM MAP S _ FICAP PROGRAM S _ FICAS SUB-RTN S _ LIFEINSC COPYCODE S _ LIFEINSL LOCAL S _ LIFEINSM MAP S _ LIFEINSP PROGRAM S ADD _ LIFEINSS SUB-RTN S _ PENSIONC COPYCODE S _ PENSIONL LOCAL S _ PENSIONM MAP S _ PENSIONP PROGRAM S _ PENSIONS SUB-RTN S _ SALARYC COPYCODE S _ SALARYL LOCAL S _ SALARYM MAP S _ SALARYP PROGRAM S Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12- HELP ---- END ---- ---- TOP UP DOWN BOT ---- ---- STOP The "Message" field indicates the action to be taken in the target Environment.

XREF Option Programs selected for migration, Press ENTER to proceed 03-12-31 N-2-O ADD AN EVENT TSI0373 11:38:00 Event: PAYROLL Sequence: 17 TSI1 From Env: TEST From Library: PAYTEST To Env: PROD To Library: PAYPROD Starting Program: FEDTAXC Object Object S Object Type +--------------------------------------+ S/C Message A FEDTAXC COPYCODE | Select an Option | S _ FEDTAXM MAP | | S REPLACE _ FEDTAXS SUB-RTN | X Include XREF objects in | S ADD _ LIFEINSL LOCAL | the Event. | S A LIFEINSP PROGRAM | | S | _ Do not include XREF objects in | | the Event. | | | +--------------------------------------+ Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12- ---- ---- END ---- ---- TOP UP DOWN BOT ---- ---- STOP The Cross Reference selection option is specified by the administrator to allow selection of cross referenced objects during the object selection process.

XREF indicates the programs that are related to programs you are migrating. These appear on the left. The programs that you previously selected, which are affected by or invoked by the XREF programs are listed on the right. For example, on this screen, you have already selected the copycode FEDTAXC. XREF is telling you that the subroutine FEDTAXS is affected by changes to FEDTAXC, and that you might want to include FEDTAXS in the migration. You have the option of selecting the programs you want to include, if any, or you can select them all. Sometimes audience members ask what happens if the same program is cross-referenced to more than one other program. If the program is affected by changes to 5 other programs, N2O will list all of the other programs. There will be 5 lines showing that the program is affected by 5 other programs. You always get complete information. XREF Selection List Type A to ADD program to the Event. 03-12-31 N-2-O XREF LISTING TSI0373 11:38:00 TSI1 From Env: TEST From Library: PAYTEST To Env: PROD To Library: PAYPROD S Object Explanation Programs selected for migration - -------- ---------------------- -------------------------------------- A FEDTAXS Affected by changes to FEDTAXC A FEDTAXM Invoked by FEDTAXP A LIFEINSC Invoked by LIFEINSP Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12- HELP ---- END ---- ---- ---- ---- ---- ---- ---- ---- EXIT The XREF listing displays objects that could be impacted by changes to the objects selected (based on Predict XREF information).

Event Processing Screen Note that archiving occurred as part of this migration. Event Processing Screen +------------------------------+ | |ENT PROCESSING SCREEN TSI0373 | Migration complete for |PAYROLL Sequence: 17 TSI1 | | | Event : PAYROLL |PAYTEST To Env: PROD To Library: PAYPROD | Sequence : 17 |e Control: PAY1001 +------------------------------+ Migrated Archived Source Object Source Object -------------------------------- -------- -------- -------- -------- FEDTAXC REPLACED **** ADDED **** FEDTAXP REPLACED **** ADDED **** LIFEINSP 3 out of 3 ADDED **** ***** **** Online migrations display the objects migrated similar to the Natural CATALL Command execution.

The Checkout/Checkin feature is a really powerful way to protect your development work. It can ensure that one programmer does not overlay the work of another, and that one programmer knows if another is modifying the same program. It can stop many of development “accidents” from occurring. Of course, this feature is optional. Sites may choose not to use it. Checkout/Checkin Base Environment – usually the production environment (where the locked version of source code resides) Checkout: occurs when an object migrates from a BASE environment to a non-base environment. Checkin: occurs when a previously checked out object migrates from a non-base environment back to the original BASE environment.

Although we allow for sites who want to perform concurrent development, N2O will not allow them to checkout two copies of the same program to the same environment. This will ensure that a programmer does not overlay another programmer’s copy of the same program. Checkout/Checkin Protects the integrity of an object by restricting the migration process The levels of concurrent development can be specified N2OEDIT limits edit capability to the Checkout user SPoD connection to limit edit capability to the Checkout user Extract a program copy for reference purposes (migrate without a checkout)

Checkout/Checkin Utilities Be sure to point out that while N2O provides these checkout utilities, the actual checkouts are done automatically for you when you migrate a given program. The utilities are here to help you handle special situations like transferring your program to someone else or canceling the checkout of a program. Checkout/Checkin Utilities Checkout new objects for development Cancel a checkout Transfer ownership of a checked-out object Reject a checkout, returning to previous status

Autocompile Compiles objects in proper CAT/STOW order If someone asks, Autocompile is done through use of CATALL. XREF at the Target option can compile related programs even if they were not migrated. Autocompile Compiles objects in proper CAT/STOW order Optional compile of XREF’d objects on the target Produces a complete compilation error report

Other Migration Types Data Definition Modules Metadata PREDICT Objects SYSERR User-Supplied Messages 3GL Programs and Other Objects

PREDICT Migration Request 03-12-31 N-2-O ADD AN EVENT TSI0373 11:38:00 Event: PAYROLL Sequence: 18 TSI1 From Env : +--------------------+ To Env : | Objects | Process Date : | - ----- - --- | : 11:38:00 | _ DA _ PR | | _ DC _ RL | Change Control : | _ ET _ RP | Inclu| _ FI _ RT |: N C ______________| _ KY _ SC |___________ o ______________| _ LS _ SV |___________ m ______________| _ MO _ SY |___________ m ______________| _ NO _ US |___________ e ______________| _ NW _ VE |___________ n ______________| _ PG _ VM |___________ t ______________| _ UDE |___________ s ______________+--------------------+___________ _______________________________________________ Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12- HELP ---- END ---- ---- ---- ---- ---- ---- ---- ---- ----

3GL Migration Request 03-12-31 N-2-O ADD AN EVENT TSI0373 11:38:00 Event: PAYROLL Sequence: 19 TSI1 From Env : +-------------------+ To Env : | | Process Date : | S Categories | : 11:38:00 | - ---------- | | _ ASMB | | _ COBOL | THIS IS A SAMP| _ FORT | C _______________| _ PL/I |______________ o _______________| _ RPG |______________ m _______________| _ DATA |______________ m _______________| _ JCL |______________ e _______________| _ OTHER |______________ n _______________+-------------------+______________ t __________________________________________________ s __________________________________________________ Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12- HELP ---- END ---- ---- ---- ---- ---- ---- ---- ---- ----

Batch Migration Request initiated on-line Post dating Off-peak If asked, tell people that batch processing is provided to allow sites to meet their performance and scheduling needs, since batch jobs can be executed at non-prime times, when they will not affect on-line response. Postdating is not “automatic.” That is, something postdated for midnight will not magically come alive at midnight. Postdating simply says “it cannot happen before this time, should anyone try to process the migration.” Batch Migration Request initiated on-line Post dating Off-peak Required for remote nodes

Batch Migrations

Reporting Subsystem Event Object Environment Statistical Security Authorized Users to an Environment Node Definition Usage Archive Definition Usage Environment Definition Usage Users Related to a Group-ID Event Events Requiring Further Authorization Chronology of Events Events Related by Change Control Event Details Events Processed by Date Events with Warning Messages Events Pending Move Events Pending Autocompile Autocompile Summary for Events Object History of an Environment History of an Object Directory List Directory Compare Cross Reference Checked Out Objects Objects Archived by N2OPURGE Archive Version Summary Events Pending for an Object Statistical Events Pending Autocompile for a Library Events Pending for an Environment Objects Migrated Objects Migrated by a User Objects Migrated for an Event Objects Migrated by Change Control Security Reports are available detailing all N2O Security settings.

The report lists activities in reverse chronological order so that the most recent change activity is at the top of the report, and the oldest change activity is at the bottom. History of an Object 03-12-31 N-2-O OBJECT REPORTING TSIO373 11:38:00 HISTORY OF AN OBJECT TSI1 Object: MENU Page: 1 Event/ From To Mig Arch Purg Added X Date Utility Seq Env Env Message S/C S/C S/C User-ID - -------- -------- ----- ---- ---- ------- ---- ---- ---- ------- _ 99-10-16 PAYIN 67 TEST PROD REPLACE S S *** TSIO391 _ 99-10-14 EXTRACT 3209 PROD TEST REPLACE S S *** TSIO517 _ 99-10-13 PAYQA 112 DEV TEST REPLACE S S *** TSIO391 _ 99-08-13 PAYOUT 205 PROD DEV REPLACE S S *** TSIO391 _ 99-08-12 CANCEL PROD DEV ****** *** *** *** TSIO377 _ 99-08-11 CHECKOUT PROD DEV ****** *** *** *** TSIO376 _ 99-05-13 EXTRACT 3122 PROD TEST ADD S *** *** TSIO381 _ 99-05-08 EXTRACT 3116 PROD TEST REPLACE C *** *** TSIO383 _ 99-05-03 PAYIN 20 TEST PROD REPLACE S S/C *** TSIO387 _ 99-03-19 PAYQA 30 DEV TEST REPLACE S/C C *** TSIO387 _ 99-03-19 PAYOUT 99 PROD DEV REPLACE S *** S TSIO387 _ 99-02-23 EXTRACT 2980 DEV TEST REPLACE C C *** TSIO385 _ 99-02-22 EXTRACT 2978 PROD TEST REPLACE C *** C TSIO374 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- ---- ---- END ---- ---- ---- ---- ---- ---- ---- ---- STOP

Autocompile Summary for Events Note that “AC-ERROR” in the Warning field indicates that at least one program in the event failed to compile. Autocompile Summary for Events 03-12-31 N2O EVENT REPORTING TSI0373 11:38:00 AUTOCOMPILE SUMMARY TSI01A Change --- Closed --- --- Autocompiled ---- X Event Seq Control Date Time Date Time Warning - ------- --- ------- -------- -------- -------- -------- -------- _ PAY-IN 12 A12345 03-12-31 11:38:00 03-12-31 11:38:00 AC-ERROR _ PAY-IN 13 A12345 03-12-31 11:38:00 03-12-31 11:38:00 ****** _ PAY-IN 14 C67890 03-12-31 11:38:00 03-12-31 11:38:00 ****** _ PAY-IN 15 A12345 03-12-31 11:38:00 03-12-31 11:38:00 ****** _ PAY-IN 16 B45678 03-12-31 11:38:00 03-12-31 11:38:00 AC-ERROR _ PAY-IN 17 A12345 03-12-31 11:38:00 03-12-31 11:38:00 ****** _ PAY-OUT 24 B45678 03-12-31 11:38:00 03-12-31 11:38:00 ****** _ PAY-OUT 25 C67890 03-12-31 11:38:00 03-12-31 11:38:00 ****** _ PAY-OUT 26 C67890 03-12-31 11:38:00 03-12-31 11:38:00 ****** _ PAY-OUT 27 B45678 03-12-31 11:38:00 03-12-31 11:38:00 ****** _ PAY-OUT 28 A12345 03-12-31 11:38:00 03-12-31 11:38:00 ****** _ PAY-OUT 29 A12345 03-12-31 11:38:00 Canceled Canceled ****** _ PAY-OUT 30 B45678 03-12-31 11:38:00 03-12-31 11:38:00 ****** Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12- ---- ---- END ---- ---- ---- ---- ---- ---- ---- ---- STOP AC-ERROR indicates an object(s) failed compile

Autocompile Summary Details Only LOCAL1 was migrated. The others were compiled automatically by N2O’s XREF at the Target option. Autocompile Summary Details 03-12-31 N-2-O AUTOCOMPILE DETAILS TSIO373 11:38:00 Event: PAYIN Sequence: 3 TSI1 From Env: TEST From Library: PAYTEST To Env: PROD To Library: PAYPROD Target Object -------- Autocompiled ------ XREF Object Type Date Time User-ID ------ -------- -------- -------- -------- -------- * CINCLUDE COPYCODE 99-03-15 10:17:32 TSIO373 * PROGRAM1 PROGRAM 99-03-15 10:17:35 TSIO373 LOCAL1 LOCAL 99-03-15 10:17:40 TSIO373 * SUBRTN1 SUB-RTN Error 82 1060 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- ---- ---- END ---- ---- ---- ---- ---- ---- ---- ---- STOP SUBRTN1 failed compile with a NAT0082 error on line 1060

Project Tracking Collects requests for application modifications from: Management Project Team End Users Documents each task in a project Tracks a task through its stages from definition through completion Allows the progress of a project to be assessed quickly through on-line and batch reports Reporting options available for History of a Task, Task Details, Project Status, Custom Reports

Integrated with N2O N2O Events can be associated with a Task to: Provide extensive documentation for each migration request Supply a list of objects to be migrated in the request Prevent migration of objects based on the status of the Task

The Toolbox Subsystem, which supplies application development tools for the N2O Administrator and application programmers consists of Documentation Tools, Maintenance Tools, and Programmer Tools. Toolbox 03-12-31 N-2-O PROGRAMMER TOOLS MENU TSIO373 11:38:00 TSI1 Code Function ---- -------------------------- C Object Compare D Source Compare S N2OSCAN Utility . Terminate Programmer Tools Enter Code: _ Type: _ Direct Command: ________________________ TOL PROG Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- HELP ---- END ENV MIG REP TOL USR PRJ ---- ---- EXIT

This screen shows the differences found between a pair of objects. Note that you can compare objects in the same or different environments, same or different libraries, etc. One use for this report is a QA person who wants to know what has changed to a given program since it left production. Source Compare 01-01-15 N-2-O SOURCE COMPARE UTILITY Report Page: 1 14:08:00 Source Code Object Page: 1 Base >>>>: Env Def: D230 Library: LIB-ONE PROGRAM : PGM-ONE Mode: REPORT >>>> Comp: Env Def: D230 Library: LIB-TWO PROGRAM : PGM-TWO Mode: REPORT ==== ==== ....+....1....+....2....+....3....+....4....+....5....+....6....+... 0010 0010 * THIS IS A PROGRAM IN THE PAYROLL SYSTEM WHICH .... .... <<< MATCHING BLOCK >>> 0050 0050 MOVE 1 TO #INDEX 0060 ---- ADD 3 TO #TOTAL 0070 ---- IF #TAX-1 = #TAX-2 0080 ---- DO 0090 ---- WRITE 'THE FIGURES DO NOT MATCH' DOEND ---- 0060 ADD 2 TO #TOTAL 0100 0070 * CALCULATION ROUTINE ... ... <<< MATCHING BLOCK >>> 0140 0110 SUBTRACT 1 FROM #REMAINDER 0150 ---- RESET #I #J 0160 0120 * Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- ---- ---- END INFO ---- ---- ---- ---- ---- LEFT RIGHT ---- Lines 10 - 50 are identical Lines 60 – 90 have been deleted from the version in LIB-TWO Lines 60 in LIB-TWO has no match in LIB-ONE Lines 100 - 140 in LIB-ONE match 70 – 110 in LIB-TWO This screen shows the differences found between a pair of objects.

Compare Source Programs Tell them, if asked, that N2O can resynchronize regardless of how much space is between the lines in the base and compare copies. Compare Source Programs 01-12-31 N-2-O SOURCE COMPARE UTILITY Report Page: 4 11:38:00 Range Statistics Object Page: 1 Env Dbid Fnr Library Object Type Date Time Ver ---- ----- ----- -------- -------- -------- ---------- -------- ----- Base : D230 230 54 LIB-ONE PGM-ONE PROGRAM 2001/01/13 10:47:54 2.2.8 Compare: D230 230 54 LIB-TWO PGM-TWO PROGRAM 2001/02/08 09:23:21 2.2.8 Mode Terminal Userid OS TP Mon Trans Size -------- -------- -------- -------- -------- -------- ------ Base : STRUCT TSITERM TSI300C MVS/ESA TSO TDEV 1,470 Bytes Compare: STRUCT TSITERM TSI300D MVS/ESA TSO TPRD 1,873 Bytes Source Comment Total Lines Lines Lines ------ ------- ----- Base : 7 + 9 = 16 Compare: 4 + 8 = 12 11 Lines match in both objects Options were as follows: Ignore Comments - Y Ignore Positions - 123 Ignore Spacing - Y Ignore Identical Objects - Y Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- ---- ---- END ---- ---- ---- ---- ---- ---- ---- ---- ---- Range Statistics include the total number of identical, changed, and total unique NATURAL objects.

N2OSCAN A single scan: Searches NATURAL code in a user-specified range of objects and libraries May search for up to 50 user-specified strings Example Scan Parm Set: This example specifies to include “DATE,” while excluding “UPDATE” Scan output: Stored in an ADABAS file May be viewed in reports on-line and in batch ENV=PROD,START-LIB=PAYROLL,START-OBJ=PAY,END-OBJ=PAYPGM6 * I,Y,DATE E,N,UPDATE

N2OSCAN - Select Object Scan Output Set Valid Values: L=List strings found, S=Source View 03-12-31 N-2-O SELECT OBJECT SCAN OUTPUT SET TSI004 11:38:00 TSI019 User ID: TREE18 Environment: PROD Scan Parm Set: SCPRD1 Start Library: PAYROLL Start Object: PAY End Library: End Object: PAYPGM6 Library: PAYROLL Start List at Object: ________ Obj Lines Lines % Lns NonCom NonCom %NonC S Object Type Hit Total Hit LnsHit LnsTot LnHit - -------- ------ ------ ------ ----- ------ ------ ----- _ PAYCALC N 10 49 20.4 9 48 18.8 _ PAYPGM1 P 15 632 2.4 11 621 1.7 _ PAYPGM2 M 1 111 0.9 1 98 1.0 _ PAYPGM4 C 12 57 21.1 11 56 19.6 _ PAYPGM5 N 26 391 6.6 8 385 2.1 Enter---PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12 HELP ----- END ----- ----- ----- UP DOWN ----- >ZERO ----- ---- Note the number of hits for comment and non-comment lines for each program, subprogram, etc.

N2OSCAN - Object Source View > + SUB-PGM : PAYCALC Lib: PAYROLL ...+....1....+....2....+....3....+....4....+....5....+...Mode: STRUCT 0010 DEFINE DATA 0020 PARAMETER 0030 01 #NAME (A30) 0040 LOCAL USING EMPVIEW 0050 LOCAL 0060 01 #CURRENT-DATE (A6) 0070 END DEFINE 0080 ** 0090 MOVE EDITED *DATX (EM=YYMMDD) TO #CURRENT-DATE 0100 ** 0110 FIND EMP-INFO BY KEY WHERE EMP-NAME = #NAME 0120 ACCEPT IF EMP-RAISE = 'Y' 0130 REJECT IF EMP-HIRE-DATE > #CURRENT-DATE 0140 IF #CURRENT-DATE GE EMP-RAISE-DATE 0150 COMPUTE EMP-SALARY = EMP-SALARY + EMP-SALARY * 0.05 0160 UPDATE 0170 ELSE 0180 INPUT WITH TEXT 'RAISE DATE FOR THIS EMPLOYEE NOT REACHED' 0190 USING MAP #INVALID-DATE-MAP 0200 END-IF PF3-EXIT PF4-UPDATE INFO Strings found are highlighted Note that UPDATE is not highlighted on line 160

N2OSCAN - Scan Output Detail Function 03-12-31 N-2-O SCAN OUTPUT DETAIL TSI004 11:38:00 TSI019 User ID: TREE18 Environment: PROD Scan Parm Set: SCPRD1 Start Library: PAYROLL Start Object: PAY End Library: End Object: PAYPGM6 Library: PAYROLL Object: PAYCALC Type: N Line Nbr C String Found ---- - ---------------------------------------------------------------- 0060 #CURRENT-DATE 009O #CURRENT-DATE 0130 EMP-HIRE-DATE 0130 #CURRENT–DATE 0140 #CURRENT-DATE 0140 EMP–RAISE–DATE 0180 DATE 0190 #INVALID–DATE–MAP 0210 #DATE 0300 #DATE 0410 EMP-RAISE-DATE Enter---PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12 HELP ----- END ----- ----- ----- UP DOWN ----- ----- ----- ---- Lists the strings found in a specific object

Documentation Tools Assists in documentation and debugging NATURAL applications by providing utilities to display/print: NATURAL Objects File Layouts Descriptor X-REF Information Object Flow Analysis Object X-REF Archived 3GL Objects

Documentation Tools NATURAL Object Listing Function 03-12-31 N-2-O DOCUMENTATION TOOLS REPORT PAGE: 1 11:38:00 NATURAL OBJECT LISTING OBJECT PAGE: 1 Env Def: B1 Library: Paytest PROGRAM : FEDTAXP Mode: Struct BATCH02 +----------------------------------------------------------------------------+ | Type Date Time User-ID Terminal Ver OS TP Mon Trans | | ---- -------- -------- -------- -------- ------ -------- -------- -------- | | Src: 97-12-04 11:10:26 TREE06 TSI01D 2.1.6 CMS VM/CMS NT216 | | Obj: 97-12-04 11:10:26 TREE06 TSI01D 2.1.6 CMS VM/CMS NT216 | | Source Size : 452 Bytes | | User Area (USIZE) : 370 Bytes Buffer Pool Size : 1148 | | Source Area (ESIZE) : 10 Bytes Number Subroutines : 1 | 0010 DEFINE DATA 0020 GLOBAL USING PAYROLLG N 10 > 1 #TOTAL 0030 * 0040 LOCAL USING FEDTAXL > 1 #SALARY N 6 > 1 #TAX-RATE N .2 > 1 #DECISION A 1 0050 END DEFINE (Continued on next page)

Documentation Tools NATURAL Object Listing Function (continued) 0060 * 0070 REPEAT 0080 * 0090 INPUT USING MAP ‘FEDTAXM’ 0100 WRITE ‘TOTAL TAXES DUE FOR SOCIAL SECURITY #’ #SS 0140 INCLUDE FEDTAXC > 0010 * > 0020 * WILL CALCULATE THE TOTAL TAXES OWED > 0030 * > 0040 COMPUTE #TOTAL = #TAX-RATE * #SALARY 0150 PERFORM FEDTAXS 0160 * 0170 IF #DECISION = ‘N’ 0180 INPUT ‘FUNCTION TERMINATED’ 0190 ESCAPE BOTTOM 0200 END-IF 0210 END-REPEAT 0220 END INCLUDE FEDTAXC is expanded

Security Function Profile: Functional access to screens Approval Profile: Migration profiles (paths) allowed PREDICT Profile: PREDICT migrations allowed 3GL Profile: 3GL migrations allowed SECURITRE Interface

N2O Summary Adapts to your environment Provides control over NATURAL application development Enhances program integrity Features simple installation and use Provides valuable tools Offers extensive reporting and audit tracking

Environment Considerations Environment Definition 03-12-31 N-2-O ENVIRONMENT DEFINITION TSI0371 11:38:00 TSI1 Env Def : PROD Updated : TSI0371 03-12-31 11:38:00 Desc : PAYROLL PRODUCTION ENVIRONMENT ________ Base Env : YES Auth Required : YES_ Archive : ARC1 3GL Node : ____ 3GL Interface: __________ NODE DBID FNR Password Cipher Code ---- ---- --- -------- ----------- FUSER : CPU1 200 201 ________ ________ FDIC : CPU1 200 202 ________ ________ Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12 HELP ---- END ---- ---- ---- ---- ---- ---- ---- ---- ---- Multiple "Environment definitions" can be defined for each Natural Environment.

Environment Considerations Add a Migration Profile One Migration Profile must be defined for each migration path in the site’s environment (e.g., Test to Production). The Migration Profile tells N2O how the site wants migrations on this path to work. For example: Should migrations occur on-line, in batch, or both ways? Should only source code, only object code, or both be migrated? Should Autocompile be used? Should N2O perform XREF at the target? Should there be a delay for authorization? Should XREF Information be migrated? Environment Considerations Add a Migration Profile 03-12-31 N-2-O ADD A MIGRATION PROFILE TSIO373 11:38:00 TSI1 From Env : TEST To Env : PROD Updated : TSI1 99-05-01 10:49:40 Desc : TEST TO PROD MIG PROF Mode : BOTH DB2 Processing : N Type : BOTH Verify Object : NO_ Migrate XREF: N Program Doc : NO_ Autocompile : NO__ Migration Method: COPY Auto Rec : N Deferred Time : 0___ hrs. XREF Target : ACGHLMNPST4 Delay : AUTH Levels of Auth : 3_ JCL Library : N2OBATCH 3GL JCL Lib : ________ JCL Program : N2OMIGR 3GL JCL Pgm : ________ PREDICT JCL Pgm : ________ 3GL JCL Arch : ________ Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- HELP ---- END ---- ---- ---- ---- ---- ---- ---- ---- ---- Multiple "migration profiles," or standard paths of migration, can be defined.

Environment Considerations Master Event The idea behind Master Events is that the user should not have to memorize where the FUSER and FDIC files are, and that the user should not have to input certain basic information each time a migration is requested. Each application group at a site could have its own set of Master Events. The Change Control field is used at some sites where a user requesting a change fills out some kind of a paper form with a Change Control # on it, which is then used to track related changes. For example, the Change Control number can be used to tie together the migrations of several individuals working on the same change request. 03-12-31 N-2-O ADD A MASTER EVENT TSIO373 11:38:00 TSI1 Event : CHECKOUT Updated : TSIO373 03-12-31 11:38:00 Desc : ______________________________ From Env : TEST From Library : PAYT To Env : PROD To Library : PAYP Starting Pgm : ________ Ending Pgm : ________ Change Cntl : N Project Tracking: N Lock Event : NO_ Extract Event : NO_ Comments : NO_ Extract Rename : NO_ Event Purge : 180 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- HELP ---- END ---- ---- ---- ---- ---- ---- ---- ---- ---- An Event name identifies a standard migration process.

Sampling of User-Exits When user enters MENU When migration is first requested When objects are selected When a migration is ready for authorization At completion of migration

Sampling of APIs Checkout Utility API allow a site to perform Checkouts Event Reporting API allow a site to perform retrieval functions for an Event's Details and its Object Details Copy an Event API allow a site to copy an event Add/Modify an Event API allow a site to Add or Modify an event Add/Delete Object to/from an Event API allow a site to Add or Delete Objects to/from an event Submit an Event API allow a site to submit an event Directory List API allow a site to retrieve a list of Objects as the Directory Listing report Sample code to use N2O APIs The sample program shows how to invoke APIs #4, #5, #6 and #7 to create a user event screen. Security Definitions Reporting enables sites to create custom reports of the N2O Security definitions