Académique Documents
Professionnel Documents
Culture Documents
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
*TRANSLATE(operand,UPPER)
*TRANSLATE(operand,LOWER)
*TRIM(operand,LEADING)
*TRIM(operand,TRAILING)
*TRIM(operand) (both leading and trailing blanks)
*MINVAL / *MAXVAL
*MINVAL ('ABC',ARRAY(4:12,2:4))
Specify format for intermediate comparison and final result:
Calling program:
READLOB
UPDATELOB
Shared Hold
Truncates a LOB
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
Compiler output
Used, unused variables
External subroutines
Statement categories
NOC analysis
Output options
Screen
Work file
Text member
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
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
What
Captures Natural runtime events
When
Program execution
Where
Internal buffer
Exit program
Why
Accounting or Monitoring interface
Trace tool for debugging
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
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
Code Function
Accounting
Billable services
Monitoring
Program usage
Unused programs
Debugging or Tracing
Error conditions
Timing
Performance
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
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
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
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
What is zIIP?
What is zIIP Enabler for Natural?
OPTIMIZE
New addon available now with Natural 4.2 SP6, SP7 and 8.2
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