One path to a successful implementation of NaturalONE | Software AG
Join the Natural Administration team from Texas Comptroller of Public Accounts and discover how they overcame programmer resistance to successfully implement and thrive using NaturalONE and DevOPs. Get tips and techniques as well as real-world samples of architecture, configuration and implementations.
The Texas Comptroller of Public Accounts successfully implemented NaturalONE in the spring of 2019, deploying the NaturalONE client to 40+ Windows 10 laptops, and upgraded to mainframe Natural V9 a few months later. We had a rocky start and a lot of resistance from senior programmers, but we survived and are thriving – even the programmer with Natural 1.2 mainframe editing experience has made the leap and is editing Natural code in NaturalONE.
Join us as we share our experienced-based insights on the following topics:
- How to get your programming staff to accept the change to NaturalONE
- Overview of TX CPA NDV Architecture for Application Development Life Cycle
- Sample an NDV configuration reference guide provided to NaturalONE users
- Discuss differences between configuration files for NDV batch server and NDV server with the CICS adapter
- How to set up NDV Monitor (NATMOPI)
- Review pre-requisites/restrictions to adhere to for NDV CICS Adapter
- External Security Configuration requirements you won’t want to miss
- How do I DEBUG code in NaturalONE? (Just an overview reference)
- Lessons learned from issues we encountered, so you can have a smoother implementation
- Tips and techniques for using NaturalONE features that highlight the power of the NaturalONE IDE
To learn more about Software AG’s NaturalOne, please visit https://www.softwareag.com/en_corporate/platform/adabas-natural/devops.html
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
One Path to Successful NaturalONE Implementation
1. One Path to a Successful
Implementation of NaturalONE
Implementing NDV Servers and NaturalONE
at the Texas Comptroller of Public Accounts
Presented by: Kathy Jackson
Demo of ONE Presented by: Colby Holmes
2. 2 Basic Opinions on Implementing NaturalONE
“Change Opposers”
• -Why do we have to learn yet another code development tool?
• -The learning curve on this tool will slow me down.
• -What benefit is this new tool to me?
• “Change Embracers”
• - Is the new tool an Eclipse-based tool? I like Eclipse-based tools.
• -When do we get to use the new tool?
• -What all will I be able to do with the new tool that I can’t do in my
3270 development environment?
3. How DoYou Ease the “Change Opposers”
Into Making theTransition to NaturalONE?
TakeThem Down
Memory Lane.
1
Remind them they
changed with the
times before, so they
can do it again.
2
Highlight some of
the new features to
entice their interest.
3
4. Memory Lane…
(a.k.a. “Telling My Age” Days)
Mainframe
Anybody
remember CRTs
with an attached
keyboard but no
local CPU or
local hard drive
or data storage
of any kind???
6. Then along came PCs...
…with a local CPU and local file
storage…
Mainframe
• Graphics options got better.
• New data storage options were
introduced over the years –
internal/external hard drives,
CDs, DVDs, flash drives, servers
and now storage “in the cloud”.
And we all somehow survived these changes
…..and eventually admitted we liked some of
them……once we got used to them.
7. And PCs came with new software options such as
email, messaging and new ways to interface with and edit our mainframe code….
We felt like we were delving into Sci-Fi technology when we were suddenly able to “dial-in”
(via modems) to the office when on-call….initially with 2400 BAUD modems.
“Then came 9600 BAUD modems…..Woohoo….I’m flying now!!!”...we thought. LOL.
TN3270 terminal
emulators….
QWS3270 (Jolly Giant)
BlueZone (Rocket)
Extra! (Attachmate)
etc.
….with fun colors….and user control of
display options and configuration settings.
8. TN3270 Terminal emulators are configurable by the user.
But then we embraced the new capabilities
to control our user interfaces......
some faster than others.
And we all became proficient in maintaining Natural code in TN3270 emulator
environments .……in the 1980’s & 1990’s? Yes…...that long ago!
“Show off”
So many configuration options…..
What can I customize?
Where do I start?
9. Then along came laptops and we could now go
wireless & mobile....
The point is….
there have been so many technological advances in
the past few decades…..and we all conquered the
learning curves along the way.
…… So, yes, we can all continue to learn new tools.
Mainframe
and we soon had to learn to useVPN for security....so we
did…because it gave us a new type of freedom.
10. Now we have new
Eclipse-based tools like
Software AG Designer
with NaturalONE and
Service Development
Perspectives.
And, as with any Eclipse
tool…there’s even MORE
options/features to
learn...
And so, we will...
Software AG Designer – NaturalONE Perspective
11. AnswersYou “Could” Provide forThese Questions
“Change Opposers”
-Why do we have to learn yet another developer’s tool?
Because SoftwareAG has announced the “End of Life” for the 3270 editor, replacing it with NaturalONE.
-The learning curve on this tool will slow me down.
It may at first, but then it may speed up your development.
The IT Division will develop & offer hands-on training to help you learn it faster.
-What benefit is this new tool to me?
You will be able to do things like:
* expand/contract source lines
* use outline mode to jump to a section of code
* right-click on an object in the dependencies list and easily pull it into your project
“Change Embracers”
- Is the new tool an Eclipse-based tool? I like Eclipse-based tools.
Yes, it is an Eclipse-based tool, and it allows the user to customize their development workspace a LOT.
-When do we get to use the new tool?
Soon. The Natural Administrators are busy configuring and testing the NDV environments to correctly
interface with our mainframe Natural environments.
-What all will I be able to do with the new tool that I can’t do in my TN3270-development environment?
In addition to what is listed above, you will also be able to:
* expand your source editing window size on demand
* step through your code, while seeing the variable contents in the same workspace
* much more (code editing demo coming up from a “Change Embracer”)
12. How do I connect the NaturalONE Eclipse tool running on
my laptop to my Mainframe Natural environment???
Mainframe
13. A Natural Development Server (NDV)
Connects a NaturalONE client to a
Mainframe Natural Environment
[The Natural Administrator will need to
configure the required NDV Servers]
A Natural Development Server is a
Server task which is configured similar to
a Natural RPC Server that “listens for”
NaturalONE code maintenance
commands such as CHECK, SAVE,
STOW, etc. & other Natural System
commands on a specified mainframe
port and performs that command in the
Natural environment it is configured to.
Mainframe
NDV
Server
NaturalONE will connect to the NDV Server
by specifying your mainframe network alias
or IP address and the NDV assigned port
number in a “Server connection”.
14. NDV Server Running as a Batch Job or a StartedTask
“Listens” for Code Editing/Testing Commands
Coming from NaturalONE and Executes the
Commands…..in the NDV Session, which IS a batch
Natural environment
15. NDV Server Running as a Batch Job or a StartedTask
With a CICS Adapter Enabled
“Listens” for Code Editing/Testing Commands Coming from NaturalONE and
passes the NaturalONE commands to Natural CICS……..& NCI executes the commands
16. TX CPA NDV Architecture
as it relates to our
Application Development
Life Cycle
Sample of “some”
of our NDV
servers and the
environments they
connect to...
Mainframe
TCICATST
CICS Region
TCICDEV
CICS Region
Development
Natural
Acceptance
Test
Natural
Copy of Prod
Natural
Production
Natural
NDVCICA
Acceptance Test
CICS
NDV Server
Port - 4322
NDVACPT
Acceptance Test
Batch
NDV Server
Port - 1235
NDVCICD
Development
CICS
NDV Server
Port - 4321
NDVDEV
Development
Batch
NDV Server
Port - 1234
Access to Copy of Prod
is via a SYSPARM profile
defined in Acceptance
Test Natural
Port 3334
Port 3333
Our batch NDV servers stay
running from IPL to IPL.
Our NDV servers running with the
CICS Adapter are brought down
when the CICS region goes down
and brought up when the CICS
region is brought up.
17. NDV Environments for
NaturalONE (ONE)
users to reference when
configuring their server
mappings in ONE
• Providing a reference
guide such as the one
shown to your ONE users
will eliminate a lot of help
calls once your
programmers begin to
use ONE.
• Using SYSPARM profiles
to get consistent
mappings so that support
is easier.
NDV STC Host Port Environment Name Session Parameters CICS Port
NDVDEV Host1 1234 Dev_BATCH profile=NDVDEV n/a
NDVCICD Host1 4321 Dev_CICS profile=NDVCICD 3333
NDVACPT Host1 1235 Acpt_BATCH profile=NDVDEV n/a
NDVCICA Host1 4322 Acpt_CICS profile=NDVCICA 3334
NDVACPT Host1 1235 ProdCopy_BATCH
profile=NDVCPRD
##
n/a
## This server mapping is solely for you to use for viewing a copy of Production Natural code. This
environment initially connects to CICSACPT and is mapped to an environment that has a connection
to Acceptance Test DB2 subsystem. This connection cannot be overridden.
You should use a Debug Attach Server and the procedures provided for use of this facility to test your
Natural code using all the features of a full debugger. This includes the ability to set breakpoints and
watchpoints, step through your code, and change data values (if necessary) to help with debugging.
Refer to the “Debugging a Natural Object in NaturalONE” procedures for how to use the Debug
Attach Server.
Tips:
18. Batch NDV
Server
Running as a
StartedTask
//NDVDEV JOB (980000,OPN,T81),NDV.FOR.DEV, <- We use a job card on our started task so we can control
// TIME=(1440,),MSGCLASS=3 <- where the output goes (MSGCLASS) when task is shut down
//* ----------------------------------------------------------------- *
//* NATURAL DEVELOPMENT SERVER
//* SHUTDOWN WITH /AFDOWN servername (‘F servername,APPL=TERMINATE') <= We use AF/Operator which issues NDV terminate
cmd
//* ----------------------------------------------------------------- *
//NDVDEV PROC
//NDV1234 EXEC PGM=NATRDEVS,REGION=0M, <- NATRDEVS initiates an NDV server; Using port # in step name is helpful
// PARM='POSIX(ON),TRAP(ON,NOSPIE),RPTOPTS(ON),RPTSTG(ON),
// ENVAR(TZ=CST6CDT),/NDVDEV' <- MUST START IN COL 16; Use TZ to adjust your time zone; /NDVDEV is nuc name
//STEPLIB DD DSN=NDV.DEV.LOAD,DISP=SHR <- STEPLIBs look like batch Natural proc STEPLIBs + NDV load library
// DD DSN=ADA.DEV.LOAD,DISP=SHR
// DD DSN=NAT.DEV.LOAD,DISP=SHR
// DD DSN=NDB.DEV.LOAD,DISP=SHR
// DD DSN=NVS.DEV.LOAD,DISP=SHR
// DD DSN=DEV.LOAD,DISP=SHR
// DD DSN=TEST.LOAD,DISP=SHR
// DD DSN=PROD.LOAD,DISP=SHR
// DD DSN=NAT.ICS.LOAD,DISP=SHR
//CMFSERV DD DSN=NAT.DB2.SERVER,DISP=SHR
//CMEDIT DD DSN=NAT.EDITWORK,DISP=SHR
//STGCONFG DD DSN=NDV.PARMS(NDVDEV),DISP=SHR <- STGCONFG DD is used to provide your NDV configuration information
//* (sample of configuration information coming up)
//STGSTDO DD SYSOUT=*
//STGSTDE DD SYSOUT=*
//STGTRACE DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//CMPRINT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//STDOUT DD SYSOUT=*
//STDERR DD SYSOUT=*
//SYSABEND DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//CEEDUMP DD SYSOUT=*
//MSGFILE DD SYSOUT=*
//*
// PEND
//NDVDEV EXEC NDVDEV
//
19. NDV Server
with CICS
Adapter
Running as a
StartedTask
//NDVCICD JOB (980000,OPN,T81),NDV.FOR.CICSDEV, <- We use a job card on our started task so we can control
// TIME=(1440,),MSGCLASS=3 <- where the output goes (MSGCLASS) when task is shut down
//* ----------------------------------------------------------------- *
//* NATURAL DEVELOPMENT SERVER
//* SHUTDOWN WITH /AFDOWN servername ‘F servername,APPL=TERMINATE’) <= We use AF/Operator which issues NDV terminate cmd
//* ----------------------------------------------------------------- *
//NDVCICD PROC
//NDV4321 EXEC PGM=NATRDEVS,REGION=0M, <- NATRDEVS initiates an NDV server; Using port # in step name is helpful
// PARM='POSIX(ON),TRAP(ON,NOSPIE),RPTOPTS(ON),RPTSTG(ON),
// ENVAR(TZ=CST6CDT),/NDVCICD’ <- MUST START IN COL 16; Use TZ to adjust your time zone; /NDVCICD is nuc name
//STEPLIB DD DSN=NDV.DEVL.LOAD,DISP=SHR <- STEPLIBs look like batch Natural proc STEPLIBs + NDV load library
// DD DSN=ADA.DEVL.LOAD,DISP=SHR
// DD DSN=NAT.DEVL.LOAD,DISP=SHR
// DD DSN=NDB.DEVL.LOAD,DISP=SHR
// DD DSN=NVS.DEVL.LOAD,DISP=SHR
// DD DSN=NAT.ICS.LOAD,DISP=SHR
//CMFSERV DD DSN=NAT.DB2.SERVER,DISP=SHR
//CMEDIT DD DSN=NAT.EDITWORK,DISP=SHR
//STGCONFG DD DSN=NDV.PARMS(NDVCICD),DISP=SHR <- STGCONFG DD is used to provide your NDV configuration information
//* (sample of configuration information coming up)
//STGSTDO DD SYSOUT=*
//STGSTDE DD SYSOUT=*
//STGTRACE DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//CMPRINT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//STDOUT DD SYSOUT=*
//STDERR DD SYSOUT=*
//SYSABEND DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//CEEDUMP DD SYSOUT=*
//*
// PEND
//NDVCICD EXEC NDVCICD
//
21. Pick One of Your Batch NDV Servers to Serve as your NDV Monitor Server
[You’ll want to reserve a new port for this Monitor (NATMOPI)]
# ------------------------------------------------------------------ #
# NDV CONFIG FOR RTESTDEV_BATCH
# NDV.CNTLLIB(NDVREL)
# ------------------------------------------------------------------ #
DEFAULT_PROFILE = NDVREL,99,101
INITIAL_USERID = NDVREL
KEEP_TCB = YES
HOST_NAME = HOST1
# HOST_NAME = ip address
PORT_NUMBER = 4444
PASSWORD_MIXEDCASE = YES
FORCE_IPV4 = YES
FRONTEND_NAME = NDVREL
THREAD_NUMBER = 3
THREAD_SIZE = 1500
HTPMON_PORT = 2222 <- Specify these parms in only 1 of your NDV servers
HTPMON_ADMIN_PSW = XXXXXXXX <- Use this password to control sessions from browser Monitor
SECURITY_MODE = IMPERSONATE
SESSION_PARAMETER = 'ITERM=OFF'
SESSION_TIMEOUT=360,480
TERMINAL_EMULATION = 3270
# UPPERCASE_SYSTEMMESSAGES = YES
# FRONTEND_OPTIONS = 00
# TRACE_LEVEL = 15+31
*Note: Choose an NDV Server to make available at all times – a batch NDV server works best since it doesn’t rely on a CICS
region to be up.
22. The HTML Monitor
The HTML
Monitor will list
all your running
NDV servers and
allow you to
“Select” one to
issue additional
commands to.
You can log on to your NDV Monitor Server by
typing into a browser:
hostname:port# (of the NDV Monitor server)
23. HTML Monitor
Commands
Commands you can issue for
the selected NDV server.
To cancel a session, click on
the SessionId and then Click on
the CancelSession command.
In the Configuration function,
you can dynamically change
NDV Server trace options.
Really nice!!! Helpful when
first setting up NDV servers.
24. Prerequisites/Restrictions for NDV CICS Adapter
The Natural Development Server must have been installed on z/OS.
In addition, the following prerequisites and restrictions apply to the Natural Development Server CICS Adapter:
• CICS must be installed.
Version as specified under Operating/Teleprocessing Systems Required in the current Natural Release Notes for Mainframes.
• CICSTCP/IP and the CICS listener must be enabled. Refer to CICSTCP/IP Socket Interface Guide. <= this is covered in the “Installing the Natural
Development Server CICS Adapter under z/OS (Batch)” section of the manual.
• The current version of Natural for Mainframes and the corresponding Natural CICS Interface must be installed.
• Natural must not be used with the Natural profile parameter ADAMODE (Adabas Interface Mode) set to 0; this settings would cause an
excessive number ofAdabas user queue elements (UQE) per Natural session.
With the NDV CICS Adapter, it is recommended to use ADAMODE=1 or ADAMODE=2. If you have to use ADAMODE=0 or ADAMODE=3, then
it is recommended to use the configuration parameters RFE_CICS_TA_INIT_TOUT and RFE_CICS_KEEP_TA in the Natural Development Server
configuration file.
Additional Security Items to Consider for Functions toWork in NaturalONE
Make sure to set up at least some default security profiles for all utilities in every Natural Security file an NDV server maps to.
Utility Default
SYSCP YES
SYSDB2 YES
SYSDDM YES
SYSERR YES
SYSMAIN YES
SYSOBJH YES
25. External Security Configuration
[See the “Configuring the Natural Development Server” section of the NDV manual]
If you configure the NDV server to impersonate the NDV clients (NDV configuration parameter SECURITY_MODE = IMPERSONATE /
IMPERSONATE_LOCAL), the NDV server MUST run "program-controlled".
Under RACF, the following definitions are required for the NDV server:
• The resource BPX.SERVER must be defined and the NDV server account must have READ access to this resource.
• LOAD datasets defined in the STEPLIB of the NDV startup job must be defined to the program class "**". [You cannot use aliases here. These must
be hard libraries. Recommendation: Use library names with no product version numbers. If you use version numbers in your library names, you’ll have to
get this security re-granted with each upgrade.]
ralt program ** addmem('natural load library') uacc(read)
ralt program ** addmem('NDV load library'//NOPADCHK) uacc(read)
ralt program ** addmem('user load library'//NOPADCHK) uacc(read)
SETR WHEN(PROGRAM) REFRESH
Additionally, each client connecting to the server must be defined in RACF and must be granted to use the z/OS Unix System Services.
You also need to be running a NATASM (Authorized Services Manager – for impersonation to work) and NATRSM (Natural Roll Server).
26. How do I DEBUG code in NaturalONE?
• To debug code in ONE, you will want to implement use of the Debug Attach Server (DAS), which will run on the client computer where ONE is installed. You will
simply run a batch script to start the DAS on the same client computer where ONE is running.
• Debugging with the Debug Attach Server allows you to execute on the mainframe, in Debug mode, in the target environment (batch or online), where your resources are
already defined to be allocated at runtime.
• Running in Debug mode on the mainframe means you will connect your mainframe session to the Debug Attach Server (DAS) you have previously started executing on
the client computer where ONE is installed and BEFORE you begin execution of the test module (or driver module for the test module) on the mainframe.
• You will set breakpoints in the Natural module’s source in ONE by simply clicking in the left margin of the source line you want to break on, and then execute the code
in batch/online in the mainframe session, in DEBUG mode. The code will stop at each breakpoint, and the breakpoint status and all variable data contents will be
communicated to the DAS so NaturalONE can see the results of each executed statement since that last breakpoint, and the user can step through the code, displaying
variable contents as it steps through. When the user indicates in ONE to continue to the next breakpoint, the mainframe session sees the “continue” command in the
DAS and proceeds with execution.
• The Debug Attach Server (DAS) currently only works when Natural code is “added to a New or Existing Project” (often referred to as a permanent project) when
listing/editing code from the Server view. You cannot “Activate Debug Attach” if you’ve placed the code into a temporary project which is how code is opened by
default if you simply double-click on an object name in the Server view in the NaturalONE perspective. Temporary projects are automatically named something like
nattmp*
• Refer to the “Debugging a Natural Object in NaturalONE” procedures in the NaturalONE documentation for how to use the Debug Attach facility.
• Also, recommend that your programmers view the video on using the Debugger available at:
https://resources.softwareag.com/youtube-naturalone-tutorials/2018-7-pv-natural-one-debugger-en
• If my schedule allows, hopefully we can offer another User presentation on Using the Debug Attach Server in the future.
* If you need details on using the Debug Attach Server before the upcoming User presentation, send us an email and we will be happy to share our
documentation on setting up a Debug environment and activating the Debug Attach facility.
27. IssuesWe Had and Recommendations for a Smoother Implementation of NaturalONE
• We worked with early releases of NaturalONE (ONE) many years ago, but we had difficulties with it working in our environment.
However, we continued to work with Software AG (SAG) to report issues and receive fixes until ONE worked in our environment.
• We knew this new Eclipse based tool would be an adjustment for the Natural programmers who were only used to editing in a
3270-mainframe development environment, so at first I worked with only one programmer who championed the use of ONE so he
could pursue use of the Service Development perspective/plug-in that interfaces with ONE.
When you are implementing ONE in your shop, select one or two Natural programmers to be early users and get their help testing
and confirming the infrastructure…the ONE install, the NDV Servers configuration, and the Debug Attach Server usage. Ask one
of your early users to develop the hands-on training for the next group of programmers to ease the learning curve.
• We, along with other early adopters of ONE, thoroughly tested several releases of ONE and opened support incidents as needed so
SAG could fix as many issues as possible before the 3270-editor retirement was announced.
SAG resolved most of the issues we had reported, so we then deployed release 9.1.1 of ONE to 30+ programmers’ laptops. We are
now deploying ONE 9.1.3 to our programmers. This release has a big performance enhancement included.
• The rollout of 9.1.1 went much smoother than a previous attempt with an earlier release, and although all issues we had previously
reported were fixed, our programmers discovered and reported a few new issues in release 9.1.1, which were mostly map editing
related, so we opened incidents for those issues and SAG delivered fixes for all but two of those issues in ONE 9.1.2 Fix #8. [ONE
9.1.2 Fix #8 proved to be a version most of our Natural programmers have been able to work in with very few issues. We believe
the programmers will be happy with ONE 9.1.3 as well once they all get this new version installed.]
28. IssuesWe Had and Recommendations for a Smoother Implementation of NaturalONE
• Since we still had map editing issues in ONE after we upgraded to NaturalV9 on the mainframe, we obtained a special license from SAG to
continue use of the 3270 editor in our NaturalTSO environments so our programmers could edit their maps using the 3270 editor until all
the map editing issues in ONE got resolved.
• Dave Kelly, a former Natural Administrator atTX CPA, worked with our agency’s Desktop support team to create an install process that
wraps the SAG Installer script with proper Admin credentials and some additional script commands to be able to install on 40+
programmers’ laptops via a “Software Center download” process. This took a great deal of effort to work out, but, in the end, it was worth
the effort to consistently install in mass using the automated install process, and each programmer could install at their convenience.
UPDATE: I received an email from Dave Kelly recently in which he states: “I've found another (and better) way to rollout NaturalONE. It is
documented in the Installing NaturalONE section - look for "Preparing a Deployment Package". I modified the basic installation script it builds. It
is MUCH faster, although y'all will have to do some testing to see if it works (in your environment). SAG is working on a couple fixes I requested on this
technique. It is still MUCH easier than running the Installer and SUM to roll it out to the masses.
[*Note:We have special issues with a security software named Carbon Black. So that’s why Dave is aware that we’ll have to test the Deployment
Package method in our environment to ensure it does not introduce new deployment challenges.]
• SUM (Software Update Manager) Installer is the software we’ve been using to install fixes to ONE, and it is particularly “FUN” (cough,
cough) to install and use….NOT. So, we recommend you take Dave Kelly’s advice and check out the Installing NaturalONE section - look for
"Preparing a Deployment Package“, especially if you are responsible for deployment to a large group of client devices.
• Recommendation: Install Release ONE 9.1.3, or higher. Always go with the most current release available and install all available fixes.
• Current Status: Most of our Natural programmers are performing mainframe Natural code editing using ONE 9.1.2, Fix #8. We have a
handful of programmers who have upgraded to ONE 9.1.3, and are in the process of scheduling the deployment to the next group of
programmers.
29. TX CPA Contacts for
Post Presentation Follow-up Questions
Greg.Swarny@cpa.texas.gov – Senior Natural Programmer/NaturalONE SME
Colby.Holmes@cpa.texas.gov – Natural Programmer/NaturalONE Trainer
Kathy.Jackson@cpa.texas.gov - Senior Natural Administrator
David.Woodhouse@cpa.texas.gov – Natural Administrator
Additional Resource for Follow-up Questions
David.Kelly@verizon.com – Formerly a Natural Administrator at Texas CPA, now at Verizon
30. Up Next - Demo of NaturalONE
• Colby Holmes will present a demo of NaturalONE to showcase some of the tips and techniques that highlight
the power of the NaturalONE IDE.
• FYI...Colby happens to be one of the “Change Embracers”. He prepared and taught hands-on
NaturalONE training classes to give our Natural programmers a kick-start in using ONE and to help get them
more quickly up to speed with code editing using only ONE.
• Colby and Greg Swarny, the earliest adopter of NaturalONE due to his interest in the Service Development
component, continue to be “go to” Natural programmers for coworkers who need help with using
NaturalONE.
• Colby, your on….
31. ONE PATH TO A
SUCCESSFUL
IMPLEMENTATION
OF NATURALONE -
DEMO
TEXAS COMPTROLLER
OF PUBLIC
ACCOUNTS
COLBY HOLMES
32. SECTION 1 : IDE
Perspective View Preferences and
Settings
33. PERSPECTIVE
A “Perspective” in Software AG Designer is the
whole visual layout of “Views”.
Each Perspective is focused around a specific
working goal.
The ones you will more than likely use the most are
the N1 Perspective, and the Debug Perspective.
These can be changed with: Window > Perspective
> Open Perspective > …
34.
35. VIEWS
“Views” are the individual windows that comprise the
“Perspective”.
They each have a distinct purpose.
Each Perspective contains a series of Views intended to be
the most useful for that purpose.
Existing Views can be freely adjusted around the Perspective,
closed, and others can be opened with: Window > Show
View > … (Other)
All Views can be put back into their original orientation within
the Perspective with: Window > Perspective > Reset
Perspective
36.
37. PREFERENCES
AND
SETTINGS
There are a TON of settings you can customize in
Software AG Designer to make your experience more
enjoyable and tailored to your own needs.
To get to this menu: Window > Preferences
There is a keyword search in the preferences menu that
I highly recommend using if you are looking to change
something in particular.
If you ever change something and don’t like it, there is a
“Restore Defaults” option to revert those changes.
38.
39. SOME SETTING
RECOMMENDATIONS
General > Editors > Text Editors > X “Show Print Margin”. Change “Print
Margin Column” to 72.
General > Editors > Text Editors > X “Show Line Numbers”. (This is not Natural
line numbers)
Software AG > Natural. Click “Project”. Make sure “Handling of Missing
Objects” is set to “Read From Server” (This should be default)
Software AG > Natural > Editors > Source Editor > Case Translation. Enable
Case Translations as desired/ recommended by your office
*The other settings that you should at least look at are under “Software AG” >
“Natural” > “Editors” > “Source Editor”. There are many relevant to everyday
work.
41. MAPPING ENVIRONMENTS
When you first boot up
Designer, you will not
have any connections to
your Natural Servers
(Mainframe Regions),
and will need to set
these up.
01
To setup these
connections, find the
“Natural Server” View,
which is on the lower left
side by default, and
click the computer icon.
02
This will pull up the
“Map Environment” pop-
up, which will allow you
to enter the credentials
provided by your
Natural Admins.
03
42.
43. ADDING
FILTERS
To limit the scope of a folder in the “Natural
Server” view, you can add a filter to it.
These filters can be very specific, or contain
wildcard characters.
They are inclusive, so each additional parameter
adds to the filters contents
Each filter only applies to the folder it was
added to, not its subfolders.
Using filters will make NaturalONE run faster by
decreasing mainframe read times.
44. ADDING
FILTERS
(CONT.)
To setup a filter, you can click the Arrows Icon in the “Natural
Server” View.
Once you do this the “Define Filters” pop-up will appear. From
here you can add Filter Names, and define their selection limits.
After you are done specifying the filter’s parameters, click OK
to close the menu, and then right-click the Library you would like
to filter (In the “Natural Server” view), and Select “Set Filter”.
From there, you can select or deselect any number of filters you
have created to limit what you see in the specified Library.
45.
46. EDITING
EXISTING
OBJECTS –
BASICS
To open an existing object you must locate in through
the “Natural Server” View, then double click it.
This will create a local copy of the object on your
computer. *
You can see all objects you have a stored local copy of
in your “Navigator” or “Natural Navigator” View.
Once you wish to save your changes to the mainframe
side you can use: Ctrl + ‘S’ or Ctrl + ‘T’ to Save or Stow,
Respectively. Alternatively, you can select the options
listed in the Right-Click Dialog Box
47.
48. EDITING
EXISTING
OBJECTS –
MAPS
The new map editor is probably the most vastly different looking tool.
There are some new tools for moving fields across the map much more
easily that the dot commands
You can drag and drop fields using the “Select” Tool.
You can select an area of fields using the “Marque” Tool.
New Text fields are created using “Text Constant”, as variables are
made with “Data Field”.
The “Properties” View is used to manipulate the properties of the map
as a whole, or the selected Data field(s)
The “Outline” View lists all the text and data on the map in order of
appearance.
49.
50. EDITING
EXISTING
OBJECTS –
DATA AREAS
LDAs, PDAs, and GDAs can be assembled manually if you
would like, or there is a way to import DDM fields directly.
To directly import fields, you need to have a local copy of
the DDM.
Then, Right Click inside of the Data Area > Advanced Edit
Features > Import Data Fields…
This will open a Dialog box to select the DDM you would
like to import.
After selected you can check off any/all the fields you
would like to import into your Data area, and click OK.
51.
52. ADDING NEW
OBJECTS
• There are many ways to link a new object to an
existing library, but the simplest, in my opinion, is to
have a local copy of any object from that library.
• If you already have an object open from the target
library, in the “Navigator” or “Natural Navigator”
View, right-click on the library > New… > [Object
type]
• Once you select the object type a dialog box will
pop up, and all the necessary connections will be
handled, you just need to name the object.
• When you Save or Stow the new local object it will
be copied over to the mainframe side.
53.
54. SECTION 3 : RUNNING PROGRAMS
USING THE CONSOLE DEBUGGER**
55. USING THE
CONSOLE
(RUNNING
ONLINE
PROGRAMS)
• Programs that you currently test from the command line in
mainframe Natural can be tested from the Command Console.
• If you use any custom Natural CICS Front-end or Back-end
processing, you must test using the Debug Attach Server in order to
include the custom processing in the execution.
• For those that are looking to run programs in NaturalONE, you can
use the “Natural Command Console for Mainframes”
• This is done by clicking the Window + icon in the top right side of
the “Console” View, and selecting “Natural Command Console for
Mainframes”
• This will create an online session just as if you logged onto your
mainframe CICS environment.
• The library you will be logged onto is the one last selected in your
“Natural Server” View. Also, you can easily switch libraries, and
even environments, by clicking another in this view.
• From there, all you should need to do is enter your
command/program on the command line in the console and hit enter.
56.
57. DEBUGGER
The legwork to get our Debugger for NaturalONE up and running was
done by our Natural Admins, questions about that should be directed
their way.
To run our streamlined Debugger, we have a “Debug Attach Server”
executable, and a permanent “DEBUG” project set in the navigator we
add objects to.
From there you can double click the left-hand side of a line of code to
set a breakpoint, and when you kick off the program, ONE will handle
the rest.
This is a VERY basic overview, as the initial setup takes a while and will
probably need its own presentation and demo.
Batch must be tested via Debug Attach Server because of batch file
allocation, unless you dynamically allocate your files internally in your
programs.
58.
59. OTHER TIPS
AND TRICKS
• Line numbers are NOT “Natural Line Numbers”, but you can find
a specific Natural Line number with Ctrl + G.
• Ctrl + F is an easy and quick way to find and/or replace
specific code.
• You can quickly comment out a block of code by highlighting it
all, then using Ctrl + 7, or Right-clicking and Selecting “Toggle
Comment Lines”
• You can compare two objects that you have locally by selecting
them both in the “Navigator” View, Right-click > “Compare With”
> Each Other.
• You can refresh your Natural Server view with F5
• Map Processing Rules can be seen in the “Outline” View of the
Map editor, and double-clicked to quickly open them in the
editor.
• A highlighted area of code can be moved up and down easily
with Alt + [Arrow Keys]. Alternatively, Cut/Copy/Paste all work
like in most other software.
• If you cannot access an object and the object is not LOCKED, use
the Project menu item -> Clean function to clear any corruption
from your workspace.
60. PARTING PRIZE
• Colby.Holmes@cpa.texas.gov – Natural Programmer/NaturalONE Trainer
• Kathy.Jackson@cpa.texas.gov - Senior Natural Administrator
• Greg.Swarny@cpa.texas.gov – Senior Natural Programmer/NaturalONE SME
• David.Woodhouse@cpa.texas.gov – Natural Administrator
Additional Resource for Follow-up Questions
• David.Kelly@verizon.com – Formerly a Natural Administrator at Texas CPA
And you’ll want to check out the free NaturalONE self-paced training course available at:
https://knowledge.softwareag.com/enrol/index.php?id=1700
This training covers some NaturalONE features not discussed during today’s presentation.
QUESTIONS?