natural - softwareag.com€™s new with natural _tcm89... · •read work dynamicvariable /...
TRANSCRIPT
28 September 2011 | Software AG - Get There Faster | 2
Natural NewsAgenda
Natural for Mainframes 8.2
Roadmap
Natural for Ajax 8.2
Monitoring
NaturalONE 8.2
28 September 2011 | Software AG - Get There Faster | 4
Q4 10 Q1 11 Q2 11 Q3 11 Q4 11 Q1 12 Q2 12 Q3 12 Q4 12
Natural Roadmap Schedule
28 September 2011 | Software AG - Get There Faster | 4
= ECR = FCS = GA
Natural for Mainframes v4.2.7
Natural for Mainframes v8.2.3
Natural for
Mainframes v8.2- Enhanced precision of decimals- Support Optimize for Infrastructure- Improved parameter handling- Object type function
z/OS
- Maintenance release- Selected Change enhancements
Natural for DB2 v8.2
- Support DB2 vs.10
z/OS
28 September 2011 | Software AG - Get There Faster | 5
Q4 10 Q1 11 Q2 11 Q3 11 Q4 11 Q1 12 Q2 12 Q3 12 Q4 12
Natural Roadmap Schedule
28 September 2011 | Software AG - Get There Faster | 5
= ECR = FCS = GA
NaturalONE v8.2.2
- Natural Construct support- Natural server command view- Code snippets from community- Enhanced Predict documentation- BLoB support for AJAX apps
- Maintenance release- Selected Change enhancements- AJAX – Mashzone support
NaturalONE v8.2.3
- Code profiling- Enhanced testing tools- AJAX enhanced UI support - Flash
NaturalONE v8.2.4
- Maintenance release- Selected Change enhancements
NaturalONE v8.n
28 September 2011 | Software AG - Get There Faster | 6
Q4 10 Q1 11 Q2 11 Q3 11 Q4 11 Q1 12 Q2 12 Q3 12 Q4 12
Natural Roadmap Schedule
28 September 2011 | Software AG - Get There Faster | 6
= ECR = FCS = GA
Natural for Linux/Unix/Win v6.3.10
- Maintenance release- Selected Change enhancements
- Code compatibility- Profiling and Optimize support- Run-time performance
Natural for Linux/Unix/Win v8.2.1
- Maintenance release- Selected Change enhancements
Natural for Linux/Unix/Win v6.3.11
28 September 2011 | Software AG - Get There Faster | 7
Q4 10 Q1 11 Q2 11 Q3 11 Q4 11 Q1 12 Q2 12 Q3 12 Q4 12
Natural Roadmap Schedule
28 September 2011 | Software AG - Get There Faster | 7
= ECR = FCS = GA
Predict 8.2.1
- Integration phase 1 with NaturalONE- Enhancements Silverlight interface- Visual representation of impacts
- Change enhancements- Adopt to new technologies
Com-plete 8.2.1
- Selected Change enhancements- Adabas v8 support- DB2 v10 support
Natural Engineer 8.2.1
28 September 2011 | Software AG - Get There Faster | 8
Software AG provides no commitment to deliver any of the features described herein, and reserves the right to change its product roadmap from time to time in its sole discretion.
Disclaimer
| | 11
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
• Shared Locks
| | 12
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.3333333333END
| | 13
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
| | 14
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
| | 15
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
| | 16
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
| | 17
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
| | 18
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
| | 19
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
| | 20
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
| | 21
New system functions
*TRANSLATE(operand,UPPER)
*TRANSLATE(operand,LOWER)
*TRIM(operand,LEADING)
*TRIM(operand,TRAILING)
*TRIM(operand) (both leading and trailing blanks)
| | 22
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
| | 23
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
| | 24
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
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
| | 26
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
| | 27
READLOB Example 1
DEFINE DATA LOCAL 1 V1 VIEW OF EMPLOYEES-V20092 NAME 2 L@PICTURE
1 V2 VIEW OF EMPLOYEES-V20092 PICTURE /* defined in DDM as (A1024)
END-DEFINE
READ V1 BY NAME = 'A' IF L@PICTURE > 0 THEN DO
READLOB V2WRITE WORK FILE 7 PICTURE
END-READLOBDOEND
END-READEND
| | 28
READLOB Example 2
DEFINE DATA LOCAL 1 V1 VIEW OF MYDATA2 RECORD-TYPE
1 V2 VIEW OF MYDATA2 STREAM /* defined in DDM as (A1024)
END-DEFINE
READ V1 BY RECORD-TYPEREADLOB V2
do something with STREAMADD 4096 TO *NUMBER IF special condition THEN
RESET *NUMBEREND-IF
END-READLOBEND-READEND
| | 29
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
| | 30
UPDATELOB Example 1
DEFINE DATA LOCAL 1 V1 VIEW OF EMPLOYEES-V20092 PERSONNEL-ID
1 V2 VIEW OF EMPLOYEES-V20092 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-READEND TRANSACTION END
| | 31
UPDATELOB Example 2
DEFINE DATA LOCAL 1 V1 VIEW OF EMPLOYEES-V2009 2 PERSONNEL-ID 2 L@PICTURE
1 V2 VIEW OF EMPLOYEES-V2009 1 V3 VIEW OF EMPLOYEES-V2009 2 PICTURE_SEGMENT /* LOB field defined in DDM with (A1024).
END-DEFINE
LAB1. READ V1 BY PERSONNEL-ID IF L@PICTURE > 10240 THEN LAB2. GET V2 RECORD *ISN(LAB1.)
UPDATELOB (LAB2.) IN FILE V3 STARTING AT OFFSET 10240 TRUNCATE AT OFFSET
END TRANSACTION END-IFEND-READ END
| | 32
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
| | 33
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
| | 35
Natural System Enhancements
Database support
Licence changes
Enhanced O4I support
Enhanced code page support
PROFILER
NOC enhancements
Runtime optimization
64K GPT limit removed
| | 36
Database support
Adabas V8.2:
� Mixed case adabas field names
� Read and write partial LOBs
� Support for shared locks
DB2:
� Support of DB2 Version 10 Features
� NDBPARM replaced by NTDB2 in NATPARM
VSAM
� NVSPARM replaced by NTVSAM in NATPARM
| | 37
Licence changes
General MLC licence package for all ETS products
New utility LICUTIL
NATLIC replaced by MFLIC
| | 38
Improved support Optimize for Infrastructure
Central buffer pool for KPIs
Data aggregation done outside Natural
Only one RPC server per LPAR
| | 39
Enhanced code page support
All source based objects have a codepage
Utilities support codepages
EMU – Unicode edit mask
FORMAT/DISPLAY characters ICU, LCU, TCU
| | 40
The PROFILER
New utility to manage Natural data collection
Co-exists with SYSRDC
Menu driven, easy to use
CMRDC API continues unchanged
| | 41
The Natural Profiler
Main Menu
Select events for recording
Select events to be displayed
Display trace records for specific events
Display event-specific data
Display trace record details
| | 49
NOC enhancements
Improved performance in EXAMINE GIVING POSITION
Large objects (LOBs, BLOBs)
Support MOVE ALL SUBSTR
Support new system functions *MINVAL/*MAXVAL, *TRANSLATE, *TRIM
| | 50
Runtime optimization
Memory allocation for local variables:
� Normally, even unreferenced variables are allocated.
� Compiler option MEMOPT=ON can be specified to avoid unnecessary
allocation
� Caution: Tricky 3GL may fail
Improved performance of CALL statement:
� Called programs and their properties (SET CONTROL ‘P’) are located
faster using binary search
| | 51
64K GPT limit removed
The Generated Program Table (GPT) of a Natural object can now be up
to 4GB
| | 53
Environmental Changes
Centralized parameter management
OCO drivers for z/OS, z/VSE, and TSO
SAGICU
New maintenance policy
Support zIIP on z/OS
| | 54
Centralized parameter management
Different components used to have separate parameter modules.
These modules have been discarded and their contents integrated into
the central parameter module, NATPARM.
� Natural Com-plete driver
� Natural for DB2
� Natural for VSAM
| | 55
Object-Code-Only modules - OCO drivers
Natural drivers for z/OS batch, Z/VSE batch, and TSO are now shipped
as OCO(Object Only Code) modules
� Parameters in NATPARM
� Saves one installation step (assembly)
� Simplified maintenance
� Separate modules for LE and non-LE
| | 56
SAGICU
NATICUxx replaced by SAGICU
One executable with exchangeable codepage data files
SAGICU can be shared between different SAG products
No more ICU buffer pool
| | 57
NDV for IMS
New NDV adapter for IMS TM
Execute SPoD sessions in an IMS TM context
Access DB2 and DL/1 resources under IMS control
| | 58
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
| | 59
ECHECK Compiler Option
Checks for the existence of a programming object
Ensures that PCHECK=ON can do its job
Object name must be specified as a constant
Check at compile-time avoids run-time errors
| | 60
Rapid Object Mapping
Mapping of long names to physical object names
Lookaside tables consolidated
Customer-defined size of the Fast Locate Table
New parameter value BPSFI=LIB
New parameter BP82=ON
Improved Performance!
28 September 2011 | Software AG - Get There Faster | 63
Binary Large Objects (BLOBs) - NJX:OBJECTS
• Images statically assigned to ICON controls (Design Time)
• Images dynamically assigned to IMAGEOUT controls (Runtime)
NJX:OBJECTS contains the BLOB
IMAGEOUT or ICON control
contains a link to the BLOB
28 September 2011 | Software AG - Get There Faster | 64
Hyperlinks to Documents - NJX:DOCUMENTLINK
Show a document contained in a
binary variable in a pop-up
window or as SUBPAGE
Use the NJX:DOCUMENT control to
make the document available to
the web page
28 September 2011 | Software AG - Get There Faster | 65
Natural for Ajax – improved PDF support
Adapter Listener to
bind a NATPAGE layout
for a PDF print layout
NATPAGE layout and
PDF print layout share
the same data
NATURAL program
provide the data
28 September 2011 | Software AG - Get There Faster | 66
Natural for Ajax 8.2
Create your own Workplace Applications
Edit Masks – Support for Additional Data Types
Multi Language Management in Workplace Applications
Sharing Data in a Session
XCICONTEXT
28 September 2011 | Software AG - Get There Faster | 67
Natural for Ajax 8.2
Newly supported Application Designer Controls
SUBCISPAGE2, ROWTABSUBPAGES, STRAIGHTTABPAGE
Uploading and Downloading Files
NJX:FILEUPLOAD, NJX:FILEDOWNLOAD
Function Trees in Workplace Applications
MFWPBOOSTRAPINFO, NJX:CIWPINFO2, NJX:XCIWPFUNCTIONS
Triggering User-Defined Events
NJX:TRIGGEREVENT
28 September 2011 | Software AG - Get There Faster | 68
Natural for Ajax – Application managed authentication
Credentials can be
forwarded to Web I/O
server
Authenticate before
Natural session starts
Works for all supported
J2EE server
28 September 2011 | Software AG - Get There Faster | 69
Natural for Ajax – webMethods Optimize support
28 September 2011 | Software AG - Get There Faster | 70
Natural for Ajax – ARIS MashZone support
NJX:MASHZONE control
displays the mash
application
Natural application to
create correct data
structure (f.e. csv)
� NJX 8.2.3
28 September 2011 | Software AG - Get There Faster | 72
Predict v8.2.1
• Support of Adabas Version 8.2
� System Fields (Options SY and CR)
� Date and Time edit masks in ADACMP and in FB
� Support Format I8
� Daylight saving indicator in Format Buffer
� Logical Deletion of Descriptors and Fields
� Lowercase field names
� Adding and removing files to/from an expanded file
chain
� Support removal of UQ option
� Expansion of contiguous AC extents
• Support of Adabas Version 6.2
� Referential constraints (integrity)
28 September 2011 | Software AG - Get There Faster | 73
Predict v8.2.1
• Support of DB2 Version 10
� SQL data type TIMESTAMP WITH TIMEZONE
� New Objecttype 'Access Definition' to document Masks
and Permissions
� Organization-clause for Tables
� Temporal Tables
• Interoperability with Natural 8.2
� Code page support for DDMs
� Increase precision for N and P
• Customer Change and Enhancements
28 September 2011 | Software AG - Get There Faster | 74
Predict v8.2.1
• Predict interfacing with
Aris
� Use Aris Data modeler
for diagrams
� Export models to
Predict
� Export existing models
from Predict to Aris
� Show data models
graphical-- - -------------------------------- -- - -------- ----- - - -- -
> > + Fi: DCSE-DEBT L: 1 S: 102 Ty L Field ID F Cs Length Occ D U DB S Top *- - -------------------------------- *- * -------- ----- * * -- *1 ID-CASE A 12.0 D AA F
RE 1 ID-CASE2 ID-PERSON-CP A 10.02 ID-CASE-SUFF A 2.01 CD-DEBT-OWNER A 3.0 AB F1 NBR-SEQ-DEBT A 2.0 AE F1 DATE-BEG D AF F1 DATE-DEBT-TYPE-CHNG D AG F
File relation ID ... DCSE-CASE-DEBT
Type ............... Natural Construct Added 1994-08-02 at 13:13 by VVSSCUR
Modified 2007-08-20 at 10:13 by PWMXK44
-------------------------------------------------------------------------------
Keywords
PRISM-RL
File relation attributes
File 1 File 2
File ID ... DCSE-CASE DCSE-DEBT
Field ID .. ID-CASE ID-CASE
Minimum ... 1
Average ... 1.00 10.00
Maximum ... 1 200
Cardinality .. 1 : CN
28 September 2011 | Software AG - Get There Faster | 76
Optimize for Infrastructure 8.2 Highlights
10+ new ETS products supported
� Adabas SAF Security
� # checks successful / denied
� Adabas Transaction Manager
� # of transaction / commits
� Entire Systems Management
� # Jobs submitted
� # reports printed
� Natural for AJAX
� # page updates
� Natural SAF Security
� # RPC services checked
200+ new KPIs
� Adabas Server MF
� Critical Files
� Adabas OS Server
� Reworked; adapted to MF
� Entire System Server
� Used Storage (above/below)
� Natural Roll Server
� Slots used
� EntireX Broker
� Memory usage
� Conversations
� Worker Queues
New Dashboarding
� MashZone Interface
� MashZone / MWS Integration
More “direct” monitoring
� Specialized Data Collector Modules
28 September 2011 | Software AG - Get There Faster | 77
Optimize for Infrastructure +Response Time Monitoring=Optimize for Performance Monitoring
28 September 2011 | Software AG - Get There Faster | 78
Response time monitoring – Architecture Diagram