Presentation on theme: "N2O NATURAL Change Management with 3GL Support, Source Compare,"— Presentation transcript:
1N2O 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.N2ONATURAL Change Managementwith 3GL Support,Source Compare,and N2OSCANTrack and manage changes to business-critical applications and installationsN2O is a product of Treehouse Software, Inc. All rights reserved.
2When 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.IntroductionMigrates DDMs, Metadata, NATURAL objects, PREDICT objects, and SYSERR messagesN2O/3GL migrates members stored in LIBRARIAN, PANVALET, ENDEVOR, or MVS PDSsProject Tracking maintains information about organizational activitiesN2OSCAN – scans Natural objects for strings over a user specified object/library range.Extensive reporting features ease recovery and audit requirements.
3This 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
5Environment (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 SubsystemsMigrationsReportingProject TrackingToolboxEnvironment (this is an N2O administrator function, and is shown last)
6Migrations Accomplished Online or Batch Source, object or both Move or CopyDB2 ProcessingVerify object timestampsAutocompile, target compilationStow, CATAutomatic RecoveryXREF at the TargetVerify existence of PREDICT DocumentationMultiple target migrationsElectronic authorization (up to 10 levels)Integrated with PREDICT XREF as an optionArchive and RecoveryCheckout/CheckinEmergency RecoveryAudit trails and extensive reporting of migration activity
7Type can be N (NATURAL), P (PREDICT), S (SYSERR), and/or O (Other), or a combination, such as NPO. Add Migration RequestN-2-O REQUEST EVENT MENU TSI037311:38: TSI1Code FunctionA Add an EventC Copy an EventD Delete an EventI Inquire an EventM Modify an Event R Recovery from ArchiveS Select Events for Processing. Terminate Request Event MenuEnter Code: A Event : PAYROLL Type : NSequence : _______ Status: _Direct Command: _____________________ MIG REQEnter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12-HELP END ENV MIG REP TOL USR PRJ EXITEvents are requested to build migration requests. Master Events (such as PAYROLL) are defined by the administrator as templates for use by the development teams.
8NATURAL 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 RequestN-2-O ADD AN EVENT TSI037311:38: Event: PAYROLL Sequence: TSI1From Env : TEST From Library : PAYTESTTo Env : PROD To Library : PAYPRODProcess Date : Process Time : 11:38:00Starting Pgm : FEDTAXInclude Objects from UEX15:NTHIS 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 ENDThis occurrence of the Event PAYROLL (sequence 17), will migrate programs from Env. TEST, library PAYTEST to Env. PROD, library PAYPROD.
9Program 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 ListType A to Add Program to the Event, D to DeleteN-2-O ADD AN EVENT TSI037311:38: Event: PAYROLL Sequence: TSI1From Env: TEST From Library: PAYTEST To Env: PROD To Library: PAYPRODStarting Program: FEDTAXCObject ObjectS Object Type S/C Message S Object Type S/C MessageA 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 SEnter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12-HELP ALL END TOP UP DOWN BOT STOPObjects to be included in this migration request are selected from a list of objects “checked out” to the user.
10Selection List Confirmation This screen shows the effect of migrating the programs (i.e., ADD, REPLACE, etc.)Selection List ConfirmationPrograms selected for migration, Press ENTER to proceedN-2-O ADD AN EVENT TSI037311:38: Event: PAYROLL Sequence: TSI1From Env: TEST From Library: PAYTEST To Env: PROD To Library: PAYPRODStarting Program: FEDTAXCObject ObjectS 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 SEnter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12-HELP END TOP UP DOWN BOT STOPThe "Message" field indicates the action to be taken in the target Environment.
11XREF OptionPrograms selected for migration, Press ENTER to proceedN-2-O ADD AN EVENT TSI037311:38: Event: PAYROLL Sequence: TSI1From Env: TEST From Library: PAYTEST To Env: PROD To Library: PAYPRODStarting Program: FEDTAXCObject ObjectS Object Type S/C MessageA FEDTAXC COPYCODE | Select an Option | S_ FEDTAXM MAP | | S REPLACE_ FEDTAXS SUB-RTN | X Include XREF objects in | S ADD_ LIFEINSL LOCAL | the Event | SA 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 STOPThe Cross Reference selection option is specified by the administrator to allow selection of cross referenced objects during the object selection process.
12XREF 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 ListType A to ADD program to the Event.N-2-O XREF LISTING TSI037311:38: TSI1From Env: TEST From Library: PAYTEST To Env: PROD To Library: PAYPRODS Object Explanation Programs selected for migrationA FEDTAXS Affected by changes to FEDTAXCA FEDTAXM Invoked by FEDTAXPA LIFEINSC Invoked by LIFEINSPEnter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12-HELP END EXITThe XREF listing displays objects that could be impacted by changes to the objects selected (based on Predict XREF information).
13Event Processing Screen Note that archiving occurred as part of this migration.Event Processing Screen| |ENT PROCESSING SCREEN TSI0373| Migration complete for |PAYROLL Sequence: TSI1| || Event : PAYROLL |PAYTEST To Env: PROD To Library: PAYPROD| Sequence : |e Control: PAY1001Migrated ArchivedSource Object Source ObjectFEDTAXC REPLACED **** ADDED ****FEDTAXP REPLACED **** ADDED ****LIFEINSP 3 out of ADDED **** ***** ****Online migrations display the objects migrated similar to the Natural CATALL Command execution.
14The 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/CheckinBase 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.
15Although 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/CheckinProtects the integrity of an object by restricting the migration processThe levels of concurrent development can be specifiedN2OEDIT limits edit capability to the Checkout userSPoD connection to limit edit capability to the Checkout userExtract a program copy for reference purposes (migrate without a checkout)
16Checkout/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 UtilitiesCheckout new objects for developmentCancel a checkoutTransfer ownership of a checked-out objectReject a checkout, returning to previous status
17Autocompile 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.AutocompileCompiles objects in proper CAT/STOW orderOptional compile of XREF’d objects on the targetProduces a complete compilation error report
18Other Migration Types Data Definition Modules Metadata PREDICT Objects SYSERR User-Supplied Messages3GL Programs and Other Objects
19PREDICT Migration Request N-2-O ADD AN EVENT TSI037311:38: Event: PAYROLL Sequence: TSI1From Env :To Env : | Objects |Process Date : | | : 11:38:00| _ DA _ PR || _ DC _ RL |Change Control : | _ ET _ RP |Inclu| _ FI _ RT |: NC ______________| _ 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
203GL Migration Request 03-12-31 N-2-O ADD AN EVENT TSI0373 11:38: Event: PAYROLL Sequence: TSI1From 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
21Batch 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 MigrationRequest initiated on-linePost datingOff-peakRequired for remote nodes
23Reporting Subsystem Event Object Environment Statistical Security Authorized Users to an EnvironmentNode Definition UsageArchive Definition UsageEnvironment Definition UsageUsers Related to a Group-IDEventEvents Requiring Further AuthorizationChronology of EventsEvents Related by Change ControlEvent DetailsEvents Processed by DateEvents with Warning MessagesEvents Pending MoveEvents Pending AutocompileAutocompile Summary for EventsObjectHistory of an EnvironmentHistory of an ObjectDirectory ListDirectory CompareCross ReferenceChecked Out ObjectsObjects Archived by N2OPURGEArchive Version SummaryEvents Pending for an ObjectStatisticalEvents Pending Autocompile for a LibraryEvents Pending for an EnvironmentObjects MigratedObjects Migrated by a UserObjects Migrated for an EventObjects Migrated by Change ControlSecurityReports are available detailing all N2O Security settings.
24The 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 ObjectN-2-O OBJECT REPORTING TSIO37311:38: HISTORY OF AN OBJECT TSI1Object: MENU Page: 1Event/ From To Mig Arch Purg AddedX Date Utility Seq Env Env Message S/C S/C S/C User-ID_ PAYIN TEST PROD REPLACE S S *** TSIO391_ EXTRACT PROD TEST REPLACE S S *** TSIO517_ PAYQA DEV TEST REPLACE S S *** TSIO391_ PAYOUT PROD DEV REPLACE S S *** TSIO391_ CANCEL PROD DEV ****** *** *** *** TSIO377_ CHECKOUT PROD DEV ****** *** *** *** TSIO376_ EXTRACT PROD TEST ADD S *** *** TSIO381_ EXTRACT PROD TEST REPLACE C *** *** TSIO383_ PAYIN TEST PROD REPLACE S S/C *** TSIO387_ PAYQA DEV TEST REPLACE S/C C *** TSIO387_ PAYOUT PROD DEV REPLACE S *** S TSIO387_ EXTRACT DEV TEST REPLACE C C *** TSIO385_ EXTRACT PROD TEST REPLACE C *** C TSIO374Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---END STOP
25Autocompile 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 EventsN2O EVENT REPORTING TSI037311:38: AUTOCOMPILE SUMMARYTSI01AChange Closed Autocompiled ----X Event Seq Control Date Time Date Time Warning_ PAY-IN A :38: :38:00 AC-ERROR_ PAY-IN A :38: :38:00 ******_ PAY-IN C :38: :38:00 ******_ PAY-IN A :38: :38:00 ******_ PAY-IN B :38: :38:00 AC-ERROR_ PAY-IN A :38: :38:00 ******_ PAY-OUT B :38: :38:00 ******_ PAY-OUT C :38: :38:00 ******_ PAY-OUT C :38: :38:00 ******_ PAY-OUT B :38: :38:00 ******_ PAY-OUT A :38: :38:00 ******_ PAY-OUT A :38:00 Canceled Canceled ******_ PAY-OUT B :38: :38:00 ******Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12-END STOPAC-ERROR indicates an object(s) failed compile
26Autocompile Summary Details Only LOCAL1 was migrated. The others were compiled automatically by N2O’s XREF at the Target option.Autocompile Summary DetailsN-2-O AUTOCOMPILE DETAILS TSIO :38: Event: PAYIN Sequence: 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 :17:32 TSIO * PROGRAM1 PROGRAM :17:35 TSIO LOCAL1 LOCAL :17:40 TSIO * SUBRTN1 SUB-RTN Error Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF END STOPSUBRTN1 failed compile with a NAT0082 error on line 1060
27Project Tracking Collects requests for application modifications from: ManagementProject TeamEnd UsersDocuments each task in a projectTracks a task through its stages from definition through completionAllows the progress of a project to be assessed quickly through on-line and batch reportsReporting options available for History of a Task, Task Details, Project Status, Custom Reports
28Integrated with N2O N2O Events can be associated with a Task to: Provide extensive documentation for each migration requestSupply a list of objects to be migrated in the requestPrevent migration of objects based on the status of the Task
29The Toolbox Subsystem, which supplies application development tools for the N2O Administrator and application programmers consists of Documentation Tools, Maintenance Tools, and Programmer Tools.ToolboxN-2-O PROGRAMMER TOOLS MENU TSIO37311:38: TSI1Code FunctionC Object CompareD Source CompareS N2OSCAN Utility. Terminate Programmer ToolsEnter Code: _ Type: _Direct Command: ________________________ TOL PROGEnter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---HELP END ENV MIG REP TOL USR PRJ EXIT
30This 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 CompareN-2-O SOURCE COMPARE UTILITY Report Page: 114:08: Source Code Object Page: 1Base >>>>: Env Def: D230 Library: LIB-ONE PROGRAM : PGM-ONE Mode: REPORT>>>> Comp: Env Def: D230 Library: LIB-TWO PROGRAM : PGM-TWO Mode: REPORT==== ====* THIS IS A PROGRAM IN THE PAYROLL SYSTEM WHICH <<< MATCHING BLOCK >>> MOVE 1 TO #INDEX ADD 3 TO #TOTAL IF #TAX-1 = #TAX DO WRITE 'THE FIGURES DO NOT MATCH' DOEND ADD 2 TO #TOTAL* CALCULATION ROUTINE <<< MATCHING BLOCK >>> SUBTRACT 1 FROM #REMAINDER RESET #I #J * Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---END INFO LEFT RIGHT ----Lines are identicalLines 60 – 90 have been deleted from theversion in LIB-TWOLines 60 in LIB-TWO has no match in LIB-ONELines in LIB-ONE match70 – 110 in LIB-TWOThis screen shows the differences found between a pair of objects.
31Compare 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 ProgramsN-2-O SOURCE COMPARE UTILITY Report Page: 411:38: Range Statistics Object Page: 1Env Dbid Fnr Library Object Type Date Time VerBase : D LIB-ONE PGM-ONE PROGRAM 2001/01/13 10:47:Compare: D LIB-TWO PGM-TWO PROGRAM 2001/02/08 09:23:Mode Terminal Userid OS TP Mon Trans SizeBase : STRUCT TSITERM TSI300C MVS/ESA TSO TDEV 1,470 BytesCompare: STRUCT TSITERM TSI300D MVS/ESA TSO TPRD 1,873 BytesSource Comment TotalLines Lines LinesBase : = 16Compare: = 1211 Lines match in both objectsOptions were as follows: Ignore Comments - Y Ignore Positions - 123Ignore Spacing - Y Ignore Identical Objects - YEnter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---ENDRange Statistics include the total number of identical, changed, and total unique NATURAL objects.
32N2OSCANA single scan:Searches NATURAL code in a user-specified range of objects and librariesMay search for up to 50 user-specified stringsExample Scan Parm Set:This example specifies to include “DATE,” while excluding “UPDATE”Scan output:Stored in an ADABAS fileMay be viewed in reports on-line and in batchENV=PROD,START-LIB=PAYROLL,START-OBJ=PAY,END-OBJ=PAYPGM6*I,Y,DATEE,N,UPDATE
33N2OSCAN - Select Object Scan Output Set Valid Values: L=List strings found, S=Source ViewN-2-O SELECT OBJECT SCAN OUTPUT SET TSI00411:38: TSI019User ID: TREE Environment: PRODScan Parm Set: SCPRD1 Start Library: PAYROLL Start Object: PAYEnd Library: End Object: PAYPGM6Library: PAYROLLStart List at Object: ________Obj Lines Lines % Lns NonCom NonCom %NonCS Object Type Hit Total Hit LnsHit LnsTot LnHit_ PAYCALC N_ PAYPGM1 P_ PAYPGM2 M_ PAYPGM4 C_ PAYPGM5 NEnter---PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12HELP END UP DOWN >ZERONote the number of hits for comment and non-comment lines for each program, subprogram, etc.
34N2OSCAN - Object Source View > + SUB-PGM : PAYCALC Lib: PAYROLLMode: STRUCT0010 DEFINE DATAPARAMETER#NAME (A30)LOCAL USING EMPVIEWLOCAL#CURRENT-DATE (A6)0070 END DEFINE0080 **0090 MOVE EDITED *DATX (EM=YYMMDD) TO #CURRENT-DATE0100 **0110 FIND EMP-INFO BY KEY WHERE EMP-NAME = #NAMEACCEPT IF EMP-RAISE = 'Y'REJECT IF EMP-HIRE-DATE > #CURRENT-DATEIF #CURRENT-DATE GE EMP-RAISE-DATECOMPUTE EMP-SALARY = EMP-SALARY + EMP-SALARY * 0.05UPDATEELSEINPUT WITH TEXT 'RAISE DATE FOR THIS EMPLOYEE NOT REACHED'USING MAP #INVALID-DATE-MAPEND-IFPF3-EXIT PF4-UPDATE INFOStrings found are highlightedNote that UPDATE is not highlighted on line 160
35N2OSCAN - Scan Output Detail Function N-2-O SCAN OUTPUT DETAIL TSI00411:38: TSI019User ID: TREE Environment: PRODScan Parm Set: SCPRD1 Start Library: PAYROLL Start Object: PAYEnd Library: End Object: PAYPGM6Library: PAYROLLObject: PAYCALC Type: NLineNbr C String Found#CURRENT-DATE009O #CURRENT-DATEEMP-HIRE-DATE#CURRENT–DATE#CURRENT-DATEEMP–RAISE–DATEDATE#INVALID–DATE–MAP#DATE#DATEEMP-RAISE-DATEEnter---PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12HELP END UP DOWNLists the strings found in a specific object
36Documentation ToolsAssists in documentation and debugging NATURAL applications by providing utilities to display/print:NATURAL ObjectsFile LayoutsDescriptor X-REF InformationObject Flow AnalysisObject X-REFArchived 3GL Objects
37Documentation Tools NATURAL Object Listing Function N-2-O DOCUMENTATION TOOLS REPORT PAGE:11:38: NATURAL OBJECT LISTING OBJECT PAGE:Env Def: B1 Library: Paytest PROGRAM : FEDTAXP Mode: Struct BATCH02| Type Date Time User-ID Terminal Ver OS TP Mon Trans || || Src: :10:26 TREE06 TSI01D CMS VM/CMS NT || Obj: :10:26 TREE06 TSI01D CMS VM/CMS NT || Source Size : Bytes || User Area (USIZE) : Bytes Buffer Pool Size : || Source Area (ESIZE) : Bytes Number Subroutines : |0010 DEFINE DATAGLOBAL USING PAYROLLG N 10> 1 #TOTAL0030 *LOCAL USING FEDTAXL> 1 #SALARY N 6> 1 #TAX-RATE N .2> 1 #DECISION A 10050 END DEFINE(Continued on next page)
38Documentation Tools NATURAL Object Listing Function (continued) 0060 *0070 REPEAT0080 *0090 INPUT USING MAP ‘FEDTAXM’0100 WRITE ‘TOTAL TAXES DUE FOR SOCIAL SECURITY #’ #SS0140 INCLUDE FEDTAXC> 0010 *> 0020 * WILL CALCULATE THE TOTAL TAXES OWED> 0030 *> 0040 COMPUTE #TOTAL = #TAX-RATE * #SALARY0150 PERFORM FEDTAXS0160 *0170 IF #DECISION = ‘N’INPUT ‘FUNCTION TERMINATED’ESCAPE BOTTOM0200 END-IF0210 END-REPEAT0220 ENDINCLUDE FEDTAXC is expanded
40N2O Summary Adapts to your environment Provides control over NATURAL application developmentEnhances program integrityFeatures simple installation and useProvides valuable toolsOffers extensive reporting and audit tracking
41Environment Considerations Environment Definition N-2-O ENVIRONMENT DEFINITION TSI037111:38: TSI1Env Def : PRODUpdated : TSI :38:00Desc : PAYROLL PRODUCTION ENVIRONMENT ________Base Env : YES Auth Required : YES_Archive : ARC13GL Node : ____ GL Interface: __________NODE DBID FNR Password Cipher CodeFUSER : CPU ________ ________FDIC : CPU ________ ________Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12HELP ENDMultiple "Environment definitions" can be defined for each Natural Environment.
42Environment 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 ProfileN-2-O ADD A MIGRATION PROFILE TSIO37311:38: TSI1From Env : TEST To Env : PRODUpdated : TSI :49:40Desc : TEST TO PROD MIG PROFMode : BOTH DB2 Processing : NType : BOTH Verify Object : NO_Migrate XREF: N Program Doc : NO_Autocompile : NO__ Migration Method: COPYAuto Rec : N Deferred Time : 0___ hrs.XREF Target : ACGHLMNPST4Delay : 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 ENDMultiple "migration profiles," or standard paths of migration, can be defined.
43Environment 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.N-2-O ADD A MASTER EVENT TSIO37311:38: TSI1Event : CHECKOUTUpdated : TSIO :38:00Desc : ______________________________From Env : TEST From Library : PAYTTo Env : PROD To Library : PAYPStarting Pgm : ________ Ending Pgm : ________Change Cntl : N Project Tracking: NLock Event : NO_ Extract Event : NO_Comments : NO_ Extract Rename : NO_Event Purge : 180Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---HELP ENDAn Event name identifies a standard migration process.
44Sampling of User-Exits When user enters MENUWhen migration is first requestedWhen objects are selectedWhen a migration is ready for authorizationAt completion of migration
45Sampling of APIsCheckout Utility API allow a site to perform CheckoutsEvent Reporting API allow a site to perform retrieval functions for an Event's Details and its Object DetailsCopy an Event API allow a site to copy an eventAdd/Modify an Event API allow a site to Add or Modify an eventAdd/Delete Object to/from an Event API allow a site to Add or Delete Objects to/from an eventSubmit an Event API allow a site to submit an eventDirectory List API allow a site to retrieve a list of Objects as the Directory Listing reportSample 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