Vous êtes sur la page 1sur 75

Natural New for 2012

Patrick Gould
Chief IT Architect
May 2012
Find Your Inner Genius at
ProcessWorld 2012!
Get smarter about using IT to
improve business performance
Discover inspiring solutions to
your pressing business challenges
Open your mind to new
approaches, new tools and new
people

Save the Date


ProcessWorld 2012
Orlando, Florida
October 15 -17

25 September 2012 www.processworld.com


Software AG - Get There Faster 2
Adabas and Natural Sessions for Process World 2012
Customer Presentations Presente
r
Managing DMV Pictures & Signatures with Adabas Large Alan
Object (LOB) Fields State of South Dakota Peterson
Whats Next for Adabas and Natural? The Strategic Direction Guido
Software AG Falkenberg
Active Data Warehousing Made Easy with Adabas SQL Nikolai
Gateway Royal Bank of Canada Chmatov
Achieve Significant Quality Improvements by using Better Carl
Test Data with Data Masking for Adabas Pennsylvania State Seybold
University
EntireX Broker Centralizes Drivers License Management State- Pam
wide State of Virginia Schwartz
Natural Remote Data Collector (RDC); Monitoring and much Darrell
more State of Washington Retirement System Davenport
Improve Processes while Modernizing Adabas/Natural Chris
Applications with ARIS Mashzone Florida State College at Martin
Jacksonville
Always Up to the Moment Event Replicator synchronizes George
Adabas data for data analysis across Mainframe & Open Wolff
Systems NYC DoITT
25 September 2012 Software AG - Get There Faster 3
July 26, 2012 4

ProcessWorld 2012 Pre-Conference Workshops:


Adabas and Natural Best Practices
For the first time ever, Software AG is offering a day of technical
Adabas and Natural training as part of your Process World registration.

Date: October 15th, 2012


Time: 8:30 am 5:30 pm

Learn from the Experts! Customer-lead training sessions include:


Moving Forward with Adabas 8: Adabas Best Practices (Presented by:
Jim Poole, Senior Staff, Verizon)
Easy Modernization of Natural Applications using NaturalONE:
Natural Best Practices (Presented by: Steve L. Robinson, President,
SLR Associates)

Knowledge to Shape your Future


Join us for Process World 2012 as we bring together Software AG
customers & partners from around the world to help you get the most
value from your Software AG solutions and maximize ROI.
www.processworld.com
25 September 2012 Software AG - Get There Faster 4
Natural Architecture

25 September 2012 Software AG - Get There Faster 5


25 September 2012 Software AG - Get There Faster 6
25 September 2012 Software AG - Get There Faster 7
25 September 2012 Software AG - Get There Faster 8
NaturalONE Test Drive

25 September 2012 Software AG - Get There Faster 9


NaturalONE Test Drive
Objective
At the end of this Test Drive, you will be able to:
Get an understanding
OPTIMIZE of Eclipse IDE
How to set up NaturalONE preferences and properties
Understand NaturalONE perspectives and views
Understand how to use NaturalONE editors
Green screen editor comparisons
Use the NaturalONE Debugger

25 September 2012 Software AG - Get There Faster 10


1. As you can see we are now in the
NaturalONE perspective. On the left is our
Navigator and Natural Server views. Below is
our Console, Problems and Tasks views. Too
2. Click on here to Map a our left is the Outline, Dependencies and
Natural Server Environment Properties views

25 September 2012 Software AG - Get There Faster 11


1. You can now see that the map has
opened in the editor. Also shows how
multiple objects can be open at one time

5. Click X to close map

2. Use Outline view to go to field #TITLE within


map. Notice how #TITLE is highlighted in map

4. Show passive cross references callers.


Highlights forward and backward dependencies

3. Notice the properties view shows all


properties for field #TITLE and this is where
you would make changes or add new properties

25 September 2012 Software AG - Get There Faster 12


Mashzone with ETS Promotion

25 September 2012 Software AG - Get There Faster 13


25 September 2012 Software AG - Get There Faster 14
Natural Language Enhancements
Demo: Demo Title

25 September 2012 Software AG - Get There Faster 15


Natural Language

Extended numeric precision


MOVE ALL from/to substring
DECIDE ON substring
FOR <expression>
New EXAMINE features
READ WORK dynamic variable / X-array
New system functions
User-defined functions
READLOB, UPDATELOB

25 September 2012 Software AG - Get There Faster 16


Extended numeric precision

DEFINE DATA LOCAL


1 #OP1 (P3.4) INIT<111.2222>
1 #OP2 (P3.4) INIT<111.3333>
1 #RES (P8.10)
END-DEFINE
*
OPTIONS MAXPREC=7
#RES := #OP1 * #OP2 + 0 WRITE #RES -> 12382.7345592000
*
OPTIONS MAXPREC=10
#RES := #OP1 * #OP2 + 0 WRITE #RES -> 12382.7345592600
*
#RES := 1 / 3 WRITE #RES -> 0.3333333333
END

25 September 2012 Software AG - Get There Faster 17


MOVE ALL from/to substring

DEFINE DATA LOCAL


1 SOURCE (A10) INIT<'0123456789'>
1 TARGET (A10) INIT<ABCDEFGHIJ'>
END-DEFINE
MOVE ALL SUBSTR(SOURCE,2,3) TO SUBSTR(TARGET,4,5)
WRITE TARGET -> ABC12312IJ
END

25 September 2012 Software AG - Get There Faster 18


DECIDE ON substring

DEFINE DATA LOCAL


1 A (A10)
1 CHOICE1 (A10) INIT<'1234567890'>
1 CHOICE2 (A10) INIT<'xxxxxxxxx'>
END-DEFINE
A := 'xxx789xxxx'
DECIDE ON FIRST VALUE OF SUBSTR(A,4,3)
VALUE SUBSTR(CHOICE1,7,3) WRITE 'Choice 1' -> Choice 1
VALUE SUBSTR(CHOICE2,4,5) WRITE 'Choice 2'
NONE WRITE 'No match'
END-DECIDE
END

25 September 2012 Software AG - Get There Faster 19


FOR <expression>

DEFINE DATA LOCAL


1 I(I4)
1 K(I4)
END-DEFINE
I := 6
K := 3
FOR I = *MINVAL(I,5) TO (2*K+3)
WRITE I -> 5/6/7/8/9
END-FOR
END

25 September 2012 Software AG - Get There Faster 20


EXAMINE

DEFINE DATA LOCAL


1 A (A26)
1 I (I4)
END-DEFINE
A := '-------XYZ----XYZ---------'
EXAMINE A FROM 5 THRU 25 FOR 'XYZ' GIVING POSITION I
WRITE I -> 8
EXAMINE DIRECTION 'B' A FROM 25 THRU 5 FOR 'XYZ' GIVING
POSITION I
WRITE I -> 15
END

25 September 2012 Software AG - Get There Faster 21


READ WORK dynamic variable

DEFINE DATA LOCAL


1 A (A) DYNAMIC
END-DEFINE
DEFINE WORK FILE 1 TYPE 'FORMATTED'
WRITE WORK 1 VARIABLE 'field1 field2 field3 '
WRITE WORK 1 VARIABLE 'field4 field5'
READ WORK 1 A
WRITE *LENGTH(A) A (AL=40) -> 21 field1 field2 field3
-> 13 field4 field5
END-WORK
END

25 September 2012 Software AG - Get There Faster 22


READ WORK dynamic variable

DEFINE DATA LOCAL


1 A (A) DYNAMIC
END-DEFINE
DEFINE WORK FILE 1 TYPE 'FORMATTED'
WRITE WORK 1 VARIABLE 'field1 field2 field3 '
WRITE WORK 1 VARIABLE 'field4 field5'
DEFINE WORK FILE 1 TYPE 'UNFORMATTED'
READ WORK 1 A
WRITE *LENGTH(A) A (AL=40) -> 34 field1 field2 field3
field4 field5
END-WORK
END

25 September 2012 Software AG - Get There Faster 23


READ WORK X-array

DEFINE DATA LOCAL


1 A (A7/1:*)
1 I (I4)
END-DEFINE
DEFINE WORK FILE 1 TYPE 'FORMATTED'
WRITE WORK 1 VARIABLE 'field1 field2 field3 '
WRITE WORK 1 VARIABLE 'field4 field5'
READ WORK 1 A(*) AND ADJUST
I := *OCCURRENCE(A)
PRINT I A(1:I) -> 3 field1 field2 field3
-> 2 field4 field5
END-WORK
END
25 September 2012 Software AG - Get There Faster 24
READ WORK X-array

DEFINE DATA LOCAL


1 A (A7/1:*)
1 I (I4)
END-DEFINE
DEFINE WORK FILE 1 TYPE 'FORMATTED'
WRITE WORK 1 VARIABLE 'field1 field2 field3 '
WRITE WORK 1 VARIABLE 'field4 field5'
READ WORK 1 A(*) AND ADJUST
DEFINE WORK FILE 1 TYPE 'UNFORMATTED'
I := *OCCURRENCE(A)
PRINT I A(1:I) -> 5 field1 field2 field3 field4 field5
END-WORK
END
25 September 2012 Software AG - Get There Faster 25
New System Functions

*TRANSLATE(operand,UPPER)
*TRANSLATE(operand,LOWER)

*TRIM(operand,LEADING)
*TRIM(operand,TRAILING)
*TRIM(operand) (both leading and trailing blanks)

25 September 2012 Software AG - Get There Faster 26


New System Functions

*MINVAL / *MAXVAL

*MINVAL ('ABC',ARRAY(4:12,2:4))
Specify format for intermediate comparison and final result:

*MAXVAL ((IR=U1) 'A','1') -> 'A'


Caution: Result can depend on codepage:

*MAXVAL ((IR=A1) 'A','1') -> '1' in EBCDIC, 'A' in ASCII

For exact conversion rules, refer to Format/Length Conversion Rule


Tables in *MINVAL / *MAXVAL documentation

25 September 2012 Software AG - Get There Faster 27


User-Defined Functions

Can appear as an operand in any statement or expression


EXCEPTIONS: Database statements, AT/IF BREAK, certain system
functions, indices

Return exactly one variable (can be an array)

Can be specified as a 'statement'. (In this case a return value is


not required)

Are identified by the compiler by (< immediately following the


name of the function

Are identified to the editor by SET TYPE FUNCTION


25 September 2012 Software AG - Get There Faster 28
A trivial user-defined function

DEFINE FUNCTION MYMAX


RETURNS A (I4)
DEFINE DATA PARAMETER
1 P1 (I4)
1 P2 (I4)
END-DEFINE
A := *MAXVAL(P1,P2)
END-FUNCTION
END

Calling program:

WRITE MYMAX(<3,4>) -> 4


END

25 September 2012 Software AG - Get There Faster 29


User defined functions

Function attributes can also be defined in the calling program:

Return value definition


Parameter casting
Complete function prototype

See Natural Programming Guide

25 September 2012 Software AG - Get There Faster 30


Adabas V8.2 Support

READLOB

UPDATELOB

Shared Hold

25 September 2012 Software AG - Get There Faster 31


READLOB

Reads segments of a large data base field (LOB)

Loops over a single database record

Special view with only the LOB field

Fixed segment length is defined by LOB length in DDM

Reposition in LOB with *NUMBER

25 September 2012 Software AG - Get There Faster 32


READLOB

DEFINE DATA LOCAL


1 V1 VIEW OF EMPLOYEES-V2009
2 NAME
2 L@PICTURE
1 V2 VIEW OF EMPLOYEES-V2009
2 PICTURE /* defined in DDM as (A1024)
END-DEFINE

READ V1 BY NAME = 'A'


IF L@PICTURE > 0 THEN DO
READLOB V2
WRITE WORK FILE 7 PICTURE
END-READLOB
DOEND
END-READ
END

25 September 2012 Software AG - Get There Faster 33


UPDATELOB

Writes segments of a large data base field (LOB)

Writes to any position in the LOB

Writes beyond current end of the LOB

Truncates a LOB

25 September 2012 Software AG - Get There Faster 34


UPDATELOB

DEFINE DATA LOCAL


1 V1 VIEW OF EMPLOYEES-V2009
2 PERSONNEL-ID
1 V2 VIEW OF EMPLOYEES-V2009
2 PICTURE /* defined in DDM as (A1024)
1 #OFF (I4)
END-DEFINE

LAB1. READ (1) V1 BY PERSONNEL-ID = '60008339'


READ WORK FILE 7 PICTURE
LAB2. UPDATELOB (LAB1.) IN FILE V2 STARTING AT OFFSET
#OFF
#OFF := *NUMBER(LAB2.)
END-WORK
END-READ
END TRANSACTION
END
25 September 2012 Software AG - Get There Faster 35
Shared Hold

IN SHARED HOLD clause for READ and FIND

Avoid dirty reads

Guarantees consistency during multiple access

GET SAME, READLOB

MODE option controls release of records in shared hold

25 September 2012 Software AG - Get There Faster 36


Shared Hold Example
DEFINE DATA LOCAL
1 V1 VIEW OF EMPLOYEES-V2009
2 NAME
2 L@PICTURE
1 V2 VIEW OF EMPLOYEES-V2009
2 PICTURE /* defined in DDM as
(A1024)
END-DEFINE

READ V1 BY NAME = 'A' IN SHARED HOLD MODE=Q


IF L@PICTURE > 0 THEN DO
READLOB V2
WRITE WORK FILE 7 PICTURE
END-READLOB
DOEND
END-READ
END
25 September 2012 Software AG - Get There Faster 37
Natural System Enhancements
Demo: Demo Title

25 September 2012 Software AG - Get There Faster 38


Before You Start

Operating system and TP monitor requirements


Release Notes
IBM compatibility matrix on Empower
Tested versions not listed in Release Notes
Warning:
Although it may be technically possible to run a new version of Natural
on an old operating/teleprocessing system, Software AG cannot
continue to support operating/teleprocessing system versions that are
no longer supported by the system's provider.
1 year support needed for Software AG products
IBM extending operating system support
http://www-01.ibm.com/common/ssi/rep_ca/5/877/ENUSZP12-
0025/ENUSZP12-0025.PDF
1 to 2 additional years
Products
End of maintenance

25 September 2012 Software AG - Get There Faster 39


License Key Handling

License key checking


Standardized across products
MLCvrs datasets
LICUTIL
Replaces NATLICAM (z/OS), NATLICAV (z/VSE)
License key module
LICMAIN - AMODE(ANY)
LICMAINA AMODE(31)
JCL changes
INCLUDE SMALIB(NATLIC) SAG LICENSE KEY
INCLUDE MLCLIB(LICMAINA) LICENSE KEY PROGRAM <- New
Multiple includes in sample JCL
Both modules only needed in shared nucleus
License Keys
Supplied by Logistics/Distribution

25 September 2012 Software AG - Get There Faster 40


Natural System Files

No new FNAT required


NAT0866 Your Natural nucleus is not a Natural Security nucleus
Run NSC LDEL and INPL before ERRLODUS
FUSER sharing
Requires NAT427 SP 5+
Delete all NAT42 USRxxxN objects from FUSER
Two options FNAT
1. NAT42: Copy USRxxxN objects to SYSTEM FNAT and FUSER
NAT82: Copy USRxxxN objects to SYSTEM FNAT
2. Add SYSEXT as a steplib in both nuclei
Cannot execute a NAT82 object under NAT42
NAT1393 Object <name> (<lib>/<dbid>/<fnr>) cataloged with unsupported
version.
SYSEXT options
1.Recommendation: Copy USRxxxN objects to SYSTEM FNAT
2.Add SYSEXT as a steplib

25 September 2012 Software AG - Get There Faster 41


Sharing Components Across Versions

FSEC, PSPOOL, FDIC sharing permitted


FDIC - numeric fields with seven digits after decimal point or less
Perform maintenance with higher version
Natural 82
Bufferpool
Cannot share between NAT42 and NAT82
Multiple bufferpools per region or LPAR
Use different SUBSID Roll server
ASM
Roll server and ASM
Can share between NAT42 and NAT82
Use highest version for both.
Natural 42

25 September 2012 Software AG - Get There Faster 42


Object Code Only
Source code advantages
Single source
Conditional assembly
Operating system/TP monitor/DBMS dependent modules
Compatibility
Source code disadvantages
Conditional assembly
Return code 8 for CICS preprocessor
Applying source changes
More installation steps
Custom changes
Third party products
Object code only since NAT82
Batch (NATOS, NATVSE) and TSO (NATTSO) driver
Future version
Operating system/TP monitor/DBMS dependent interfaces

25 September 2012 Software AG - Get There Faster 43


Parameter and NATPARM Changes

Batch driver
z/OS: OSP and macro NTOSP
z/VSE: VSEP and macro NTVSEP
TSO
TSOP and macro NTTSOP
Complete
COMP and macro NTCOMP
DB2
DB2 and macro NTTDB2
VSAM
VSAM and macro NTVSAM
Dynamic overrides now possible

25 September 2012 Software AG - Get There Faster 44


SYSOBJH

SYSTRANS and NATUNLD/NATLOAD obsolete


Previous syntax honored
New SYSOBJH command PROFILE
FUSER
Maintain SYSOBJH settings
User specific settings
Compact mode
Only two input screens
Direct commands in batch recommended
Wizard mode
Use online screens for syntax
Sample code for support
FUSER
Transfer format
Fixed records, LRECL=96
Transfer in ASCII

25 September 2012 Software AG - Get There Faster 45


SYSOBJH Wizard Mode

10:26:43 ***** Natural Object Handler ***** 2012-05-09


User DBA - Unload Wizard -

The following command will be processed.


To change the settings, press PF7 (Back). To confirm the settings and
to execute the command, press ENTER or PF8 (Next).

UNLOAD * LIB SYSTEM OBJTYPE N WHERE REPORT TRANSFER

25 September 2012 Software AG - Get There Faster 46


SYSOBJH PROFILE command

11:15:30 ***** Natural Object Handler ***** 2012-05-08


User DBA - SYSOBJH Profile - Library SYSTEM
General Settings
Cmd Profile Parameter Parameter Value
--- -------------------------------- ----------------------------------------
__ Input-Mode C W = Use Wizard Mode (default)
__ Display-Cmd-in-Advanced-Mode N A = Use Advance Mode
__ Display-ExecutionMsg N C = Use Compact Mode
__ Display-Statistics N
__ Workplan-Library WORKPLAN
__ Workplan-Library-DBID 0
__ Workplan-Library-FNR 0
__ Trace N
__ Trace-Target S
__ Option-Replace N
__ Option-Transfer-Format N
__ Option-Use-PC-Work-File N
__ Option-TR-Include-Line-Numbers N
__ Option-TR-Substitute N

25 September 2012 Software AG - Get There Faster 47


SYSOBJH Compact Mode Screen 1

11:05:41 ***** Natural Object Handler ***** 2012-05-08


User DBA - Compact Mode Main Menu -

Function ................. U (U,L,S)


Object ................... L (L,E,C,R,D,F,A)

Work file format ......... I (I,T)


Use PC file .............. N (Y,N)
PC File .................. __________________________________________________

Write report ............. Y (Y,N) Report text member ... ________

Set additional options ... _ (Y,N) Use Option Workplan .. N (Y,N)


Option Workplan name . ________
Set global parameters .... _ (Y,N) Use Parameter Workplan N (Y,N)
Param. Workplan name . ________

25 September 2012 Software AG - Get There Faster 48


SYSOBJH Compact Mode Screen 2

11:10:33 ***** Natural Object Handler ***** 2012-05-08


User DBA - Unload Natural Library Objects -

Library ..... _________ DBID/FNR ..... _____ / _____


New library ________ Passw./Ciph... /
Object Types. NE_ (N,E,NE)

Object name . *________________________________


S/C-Kind .... A (S/C/A/W/B) Natural types *______________
User ID ..... _________ Progr. mode . A (R/S/A)
Date from ... __________ Date to ..... __________

Set number .. __ Set user/lib ________ / ________

Error number 0001 to 9999 Language codes *_______


S/L-Kind ..... A (S/L/A)

_ Add/change details and exception criteria for selection


_ Change settings (options and parameters)

25 September 2012 Software AG - Get There Faster 49


New LIST option COMPOUT

Compiler output
Used, unused variables
External subroutines
Statement categories
NOC analysis

Object must be cataloged

Output options
Screen
Work file
Text member

25 September 2012 Software AG - Get There Faster 50


LIST COMPOUT Main Menu

12:58:01 ***** NATURAL LIST COMMAND ***** 2012-05-08


User DBA - LIST Compiler Output - Library SYSTEM

Cataloged object name .. ________

Select the desired options:


_ Display unused variables
_ Display used variables
_ Display contained external subroutines
_ Display used external subroutines
_ Display code profile
_ Display statement categories
_ Display statement type

Select the output destination:


X Screen
_ Work file 1
_ Natural text REPCPOUT in library SYSTEM__

25 September 2012 Software AG - Get There Faster 51


LIST COMPOUT Example

DEFINE DATA
LOCAL USING COMPLDA /* Defines #A, #B, #C
LOCAL
1 #D (A10)
1 #E (A5)
1 #F (N2)
1 EMP VIEW OF EMPLOYEES
2 NAME
2 BIRTH
END-DEFINE
#A := 'AAA'
#D := 'DDD'
DISPLAY #A #B #D #E NAME
END

25 September 2012 Software AG - Get There Faster 52


COMPOUT Used and Unused Variables

Variable Usage
L Variable Name Format/Length Type Usage
-- -------------------------------- -------------------- ---- ----------
Variables defined in external LDA COMPLDA:
1 #A (A10) LDA Modified
1 #B (A5) LDA Referenced
1 #C (N2.0) LDA Unused
Variables defined internally:
1 #D (A10) Inl Modified
1 #E (A5) Inl Referenced
1 #F (N2.0) Inl Unused
1 EMP Inl Unused
2 NAME (A20) Inl Referenced
2 BIRTH (D) Inl Unused

25 September 2012 Software AG - Get There Faster 53


SYSRDC
Changes, Overview and Uses

25 September 2012 Software AG - Get There Faster 54


SYSRDC

What
Captures Natural runtime events

When
Program execution

Where
Internal buffer
Exit program

Why
Accounting or Monitoring interface
Trace tool for debugging

25 September 2012 Software AG - Get There Faster 55


SYSRDC Events

SI/ST Session Initialization/Termination


PL Program Load
PS/PT Program Start/Termination
DB/DA Before/After Database call
IB/IA Before/After Terminal I/O
CB/CA Before/After non-Natural program call
E Runtime Error
N Internal Trace
NS Natural Statement
RS Start of RPC request execution
RI/RO Inbound/Outbound RPC message
U User-defined event

25 September 2012 Software AG - Get There Faster 56


Enable and Disable SYSRDC

Enable
Internal buffer - size > 2
RDC=(SIZE=nn)
NTRDC SIZE=nn
Exit program size=2
RDC=(SIZE=2,EXIT=(MYEXIT))
NTRDC SIZE=2,EXIT=(MYEXIT,400,RDCEX9)
RDCSIZE >= 2
SIZE > 2 and EXIT
Tracing to internal buffer and exit program

Disable
RDC=(SIZE=0)
NTRDC SIZE=0
RDCSIZE=0

25 September 2012 Software AG - Get There Faster 57


Start and Stop Tracing
Start tracing
RDC=(ON,SIZE=80,FNAT=ON,EVENT=ALL)
NTRDC ON,SIZE=80,FNAT=OFF,EVENT=(S,P,DA)
System command RDC ON - easiest
Terminal command %<RDC+
Natural statement CALL 'CMRDC' 'S
PROFILER T toggle or RDCSTART in SYSRDC

Stop Tracing
RDC=OFF or NTRDC OFF
System command RDC OFF
Terminal command %<RDC-
Natural statement CALL 'CMRDC' P
PROFILER T toggle or RDCSTOP in SYSRDC
Displaying RDC data stops tracing

25 September 2012 Software AG - Get There Faster 58


PROFILER Utility
15:31:14 ***** NATURAL PROFILER UTILITY ***** 2012-05-02
User DBA - Main Menu - 19 records
Trace stopped

Code Function

S Select profiler events


L List trace records
D Display trace record
T Start/Stop profiler tracing
P Print trace records
W Download trace records
? Help
. Exit

Code .. _ Record from .. 1_____ to .. 19____

25 September 2012 Software AG - Get There Faster 59


PROFILER Utility
14:57:58 ***** NATURAL PROFILER UTILITY ***** 2012-05-02
User DBA - Select Profiler Events - 19 records
Trace stopped

Collect Display Type Profiler Event


------- ------- ---- ----------------------------
X X PL Program load
X X PS Program start
X X PT Program termination
X X DB Before database call
X X DA After database call
X X IB Before terminal I/O
X X IA After terminal I/O
X X CB Before external program call
X X CA After external program call
X X E Runtime error
_ _ NS Natural statement
X X U User-defined event

25 September 2012 Software AG - Get There Faster 60


Usage Examples

Accounting
Billable services

Monitoring
Program usage
Unused programs

Debugging or Tracing
Error conditions

Timing
Performance

25 September 2012 Software AG - Get There Faster 61


Application Tracing

Call flow
Who calls who
Identify Startup programs
STACK parameter or *STARTUP value
Error handling
Error program in ETA or *ERROR-TA
Identify activated exits
Exit programs for utilities and sub-products
Statement trace
Shows conditional flow
Module exit point
Line number on PT event

25 September 2012 Software AG - Get There Faster 62


Database Calls SYSRDC vs. TEST DBLOG

Trace shows database access in relation to other events

TEST DBLOG
Database calls to Natural system files
LOG=ON
Adabas buffer contents can be logged
Limit on buffer size 0101010010
1010101000
SYSRDC 0010100100
0010001001
Database calls to Natural system files
0101010100
FNAT=ON
High level detail
Addresses of all buffers available
Implement custom database buffer logging in exit program

25 September 2012 Software AG - Get There Faster 63


STEPLIB debugging

Program Load event LIBRARY1


Bufferpool check LIBRARY2
DB/DA events before PL and PS events
LIBRARY3
Indicates search sequence
LIBRARY4
PS and PT events LIBRARY5
Library indicates location of executing module LIBRARY6
DBID/FNR indicates system file
LIBRARY7
LIBRARY8
Example
ETIME1 TY GCUID LV GPGM T GCAPL PRLIB PRNAM CO DB FN RC
------- -- -------- -- -------- - -------- -------- -------- -- ----- ----- ---
0.0000 PS DBA 1 EMP F APPLIB SYSTEM EMP 232 1820
0.0000 PT DBA 1 EMP F APPLIB SYSTEM EMP

25 September 2012 Software AG - Get There Faster 64


Database Access

DBID/FNR resolution for file access


Natural perspective 1
DDM
UDB 25
FUSER
NTTF 95
Adabas perspective
Adabas link routine
Adabas user exit

Example
M Time/Duration Ty Lev Program T Line Library *LIBRARY Co Dbid Fnr Resp
_ 22:13:28.7195 DB 1 READ-EMP 0010 NATRDC L2 232 21
_ 0.1553 DA 1 READ-EMP 0010 NATRDC L2 232 21

25 September 2012 Software AG - Get There Faster 65


Timing an Application

Session duration
Session start (SI) and Session termination (ST) time
Module timing
Program start (PS) and Program termination (PT) time
Statement timing
Most statements < 0.0001 seconds
Timing of groups of statements
Add user defined (U) events and compare times

Example
Record Ev Library Lvl Program Line Time Elapsed Time
______ __ -------- --- -------- ---- --------------- --------------
000001 PS SYSTEM 1 EMP 0000 15:45:42.592863 n/a
000002 PT SYSTEM 1 EMP 0090 15:45:42.594271 0.001408

25 September 2012 Software AG - Get There Faster 66


Natural AddOns

25 September 2012 Software AG - Get There Faster 67


NOC enhancements

Improved performance in EXAMINE GIVING POSITION

Large objects (LOBs, BLOBs)

Support MOVE ALL SUBSTR

Support new system functions *MINVAL/*MAXVAL,


*TRANSLATE, *TRIM

25 September 2012 Software AG - Get There Faster 68


Natural SQL Gateway Stored Procedures

Remote Stored Procedures

Supports CALLDBPROC and READ RESULT SET

ConnecX SQL Engine 11.0.3 or higher

Restriction: One result set

25 September 2012 Software AG - Get There Faster 69


zIIP Enabler for Natural

25 September 2012 Software AG - Get There Faster 70


zIIP Enabler for Natural (NAZ)

What is zIIP?
What is zIIP Enabler for Natural?
OPTIMIZE

25 September 2012 Software AG - Get There Faster 71


25 September 2012 Software AG - Get There Faster 72
What is zIIP Enabler for Natural?

Automatically offloads maximum eligible Natural batch to zIIP

New addon available now with Natural 4.2 SP6, SP7 and 8.2

zIIP Natural Batch offload is influenced by many factors such as


Structure of batch applications (I/O operations cant run on zIIP,
for example)
Available zIIP capacity (which other software competes for zIIP
capacity)

The zIIP Enabler for Natural moves real work to the zIIP processors in
that non-I/O Batch Natural can be executed in its entirety in the zIIP
processors.
Testing results show very broad offload variance (20% 70%)
25 September 2012 Software AG - Get There Faster 73
zIIP Enabler for Natural (NAZ)
Lessons learnt and still learning
ROI very difficult to ascertain
What Natural batch CPU reduction means to prospect?
If we reduceOPTIMIZE
Natural Batch something else not far behind
becomes pig
How is prospect billed? Now, Future and Cross Charging

Approach used here in the USA


SMF data analysis
What we learn from SMF data?
25 September 2012 Software AG - Get There Faster 74
Thank you!

Vous aimerez peut-être aussi