81
Patrick Gould IT Architect Fall 2011 Natural

Natural - softwareag.com€™s New with Natural _tcm89... · •READ WORK dynamicvariable / X-array ... GET V2 RECORD *ISN(LAB1.) UPDATELOB ... Adabas V8.2: Mixed caseadabasfieldnames

Embed Size (px)

Citation preview

Patrick Gould

IT Architect

Fall 2011

Natural

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 | 3

Roadmap

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

28 September 2011 | Software AG - Get There Faster | 9

Natural for Mainframes 8.2

Natural Language Enhancements

| | 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

Natural System Enhancements

| | 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

28 September 2011 | Software AG - Get There Faster | 42

Profiler Menu

aaa.hcp

28 September 2011 | Software AG - Get There Faster | 43

bbb.hcp

28 September 2011 | Software AG - Get There Faster | 44

28 September 2011 | Software AG - Get There Faster | 45

28 September 2011 | Software AG - Get There Faster | 46

28 September 2011 | Software AG - Get There Faster | 47

28 September 2011 | Software AG - Get There Faster | 48

| | 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

Natural Environment Changes

| | 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!

| | 61

Supported Platforms

z/OS

Z/VSE

BS2000/OSD

28 September 2011 | Software AG - Get There Faster | 62

Natural for AJAX 8.2

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 | 71

Predict 8.2.x

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 | 75

Monitoring

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

28 September 2011 | Software AG - Get There Faster | 79

28 September 2011 | Software AG - Get There Faster | 80

Thank you!