ADABAS V8 (IN ONE HOUR) Jim Poole.

Slides:



Advertisements
Similar presentations
DB-03: A Tour of the OpenEdge™ RDBMS Storage Architecture Richard Banville Technical Fellow.
Advertisements

R4 Dynamically loading processes. Overview R4 is closely related to R3, much of what you have written for R3 applies to R4 In R3, we executed procedures.
The Linux Kernel: Memory Management
1 ADAREORG-08/09 ADAREORG Presented by. 2 ADAREORG-08/09 ADAREORG A utility for reorganizing the physical structure of compressed or decompressed ADABAS.
Efficient Adabas Access
File Management Chapter 12. File Management A file is a named entity used to save results from a program or provide data to a program. Access control.
File Organizations Sept. 2012Yangjun Chen ACS-3902/31 Outline: File Organization Hardware Description of Disk Devices Buffering of Blocks File Records.
CS 333 Introduction to Operating Systems Class 18 - File System Performance Jonathan Walpole Computer Science Portland State University.
1 ADASTRIP-7/01 ADASTRIPADASTRIP Presented by Treehouse Software.
1 Project: File System Textbook: pages Lubomir Bic.
Administration etc.. What is this ? This section is devoted to those bits that I could not find another home for… Again these may be useless, but humour.
1 Lecture 7: Data structures for databases I Jose M. Peña
ADABAS V8 AND MISCELLANEOUS TOPICS
Extents, segments and blocks in detail. Database structure Database Table spaces Segment Extent Oracle block O/S block Data file logical physical.
SIMULATED UNIX FILE SYSTEM Implementation in C Tarek Youssef Bipanjit Sihra.
Architecture Rajesh. Components of Database Engine.
File Processing - Indexing MVNC1 Indexing Jim Skon.
CIS250 OPERATING SYSTEMS Memory Management Since we share memory, we need to manage it Memory manager only sees the address A program counter value indicates.
Indexed and Relative File Processing
1 MULTI-FETCH IN AND OUT OF NATURAL Jim Poole. 2 CONTENTS 1.WHAT’S NOT COVERED 2.OVERALL 3.SYNTAX 4.HOW IT WORKS 5.NATURAL vs ADAMLF 6.UPDATING 7.HOW.
1/14/2005Yan Huang - CSCI5330 Database Implementation – Storage and File Structure Storage and File Structure II Some of the slides are from slides of.
CS333 Intro to Operating Systems Jonathan Walpole.
1.  Introduction  The Benefits of the Report Writer Module ◦ For Detail and Summary Printing ◦ For Control Break Processing ◦ For Printing Headings.
Emdeon Office Batch Management Services This document provides detailed information on Batch Import Services and other Batch features.
Announcements Program 1 on web site: due next Friday Today: buffer replacement, record and block formats Next Time: file organizations, start Chapter 14.
N5 Databases Notes Information Systems Design & Development: Structures and links.
ADABAS INTERNALS FOR PROGRAMMERS
Storage and File Organization
Adabas Performance Topics
Jonathan Walpole Computer Science Portland State University
? ? M. RSP.CD M USER RSP.CD: ULD/LOAD RECORD FILE
SIMPLE SYNCHRONIZATION FLIP BETWEEN PRIMARY AND SHADOW
Next: Data Items Records Blocks Files Memory CS 4432 lecture #5.
Innovation World 2014 ADABAS 8.3 Jim Poole.
Module 11: File Structure
CHP - 9 File Structures.
Student Fees are Due.
GUID Partition Table Unified Extensible Firmware Interface (UEFI)
CS522 Advanced database Systems
Chapter 11: File System Implementation
GUID Partition Table Unified Extensible Firmware Interface (UEFI)
Database Management Systems (CS 564)
William Stallings Computer Organization and Architecture 8th Edition
Lecture 10: Buffer Manager and File Organization
Any Questions?.
Chapter 3 The DATA DIVISION.
Chapter 11: File System Implementation
Computer Architecture
Main Memory Background Swapping Contiguous Allocation Paging
Midterm Review – Part I ( Disk, Buffer and Index )
Chapter 14 Sorting and Merging.
Instruction encoding We’ve already seen some important aspects of processor design. A datapath contains an ALU, registers and memory. Programmers and compilers.
Operating Systems.
Iteration: Beyond the Basic PERFORM
Lecture 19: Data Storage and Indexes
Agenda Collating sequence / Sorting data
Variable Length Data and Records
Chapter 2: Operating-System Structures
Introduction to Operating Systems
CHAPTER 17 The Report Writer Module
GUID Partition Table Unified Extensible Firmware Interface (UEFI)
Chapter 11: File System Implementation
GUID Partition Table Unified Extensible Firmware Interface (UEFI)
VIJAYA PAMIDI CS 257- Sec 01 ID:102
Chapter 2: Operating-System Structures
COMP755 Advanced Operating Systems
Lecture 20: Representing Data Elements
Index Structures Chapter 13 of GUW September 16, 2019
Presentation transcript:

ADABAS V8 (IN ONE HOUR) Jim Poole

ADABAS V8 SPANNED RECORDS LOB SUPPORT MUPEX, BEYOND 191 ACBX LINK / SVC / NUC 6. MULTIPLE EXTENTS 7. FDT 8. MISCELLANEOUS

V8 SPANNED RECORDS.WHY 1 PRIMARY RECORD + UP TO 4 SECONDARY RECORDS RECORD SIZE LIMITED BY COMPRESSED RECORD SIZE (RSP.CD 49) : COMPRESSED RECORD DS BLOCKSIZE: 3390: 5,064 8391: 10,796 8393: 27,644 PRIOR V8: COMPRESSED RECORD DS BLOCKSIZE: 3390: 5,064 X 5 = 25,320 8391: 10,796 X 5 = 53,980 8393: 27,644 X 5 = 138,220 V8: NOTE: ACTUAL DATA LIMITED BY BLOCK HEADER, RECORD HEADER, SPAN HEADER

V8 SPANNED RECORDS. LAYOUT ASSO DATA FCB: TOPISN,MAXISN,MINISN MINSEC,MAXSEC DS2:SPAN-HDR AC: DS1: SPAN-HDR AC2: DS3:SPAN-HDR 1. RECORDS SEGMENTED ON FIELD BOUNDARY (LA FIELDS BY CHAR) 2. INDEX CONTAINS ONLY PRIMARY ISN 3. TOPISN,MAXISN,MINISN FOR PRIMARY 4. MINSEC,MAXSEC FOR SECONDARY

V8 SPANNED RECORDS. SET UP ADADBS RECORDSPANNING FILE=fnr,MODE=ON !! REQUIRES EXCLUSIVE FILE USE !! or ADACMP COMPRESS SPAN ? AOS ? ADAREP: File section: SPANNED REC SUPP YES CPEXLIST: SYNS 77 ET 2006-08-19 13:14:15 300 22 AD168DBS ENABLE SPANNED RECORD SUPPORT 241 NOTE: AC2 NOT ALLOCATED UNTIL SPANNING OCCURS

V8 SPANNED RECORDS. ADAREP SPANNED RECS EXIST TOP-ISN = 1,000 MAX-ISN EXPECTED = 20,669 RECORDS LOADED = 1,000 MIN-ISN = 1 TOP AC2 ISN = 1,000 MAX AC2 ISN EXP. = 1,378 LIST I DEV BLOCK I SPACE ALLOC.I FROM TO I TYPE I TYPE LNGTH I BLOCKS CYL I RABN RABN I -----I------------I--------------I--------------I AC I 8391 4136 I 15 0I 12696 12710I AC2 I 8391 4136 I 1 0I 13761 13761I NI I 8391 4136 I 1000 5I 12711 13710I UI I 8391 4136 I 50 0I 13711 13760I FDT I 8391 4136 I 4 0I 1515 1518I DSST I 8391 4136 I 1 0I 2595 2595I I I I I DS I 8391 10796 I 2000 26I 18037 20036I

V8 SPANNED RECORDS. REMOVAL ADADBS RECORDSPANNING FILE=fnr,MODE=OFF TIMELIMIT= (DFLT=60) !! REQUIRES EXCLUSIVE FILE USE !! SCAN ALL DS TO ENSURE NO SPANNED RECORDS EXIST IF TIMELIMIT EXCEEDED, ADADBS ABORTS ? CE ? : CHECK AC2 VERSUS DS ?? NOTE: SAME CHECKPOINT AS MODE=ON

V8 SPANNED RECORDS. INTERNALS NO SPANNED RECORDS DS RABN: BH RH fields FREE SPACE BLOCK HEADER 4b 2b – INCLUSIVE USED BLOCK LENGTH 2b – x’0004’ BH RECORD HEADER 6b 2b – INCLUSIVE RECORD LENGTH 4b – ISN RH FIELDS: LENGTHS MU/PE COUNTERS EMPTY FLD COUNTS VALUES fields

V8 SPANNED RECORDS. INTERNALS ONE SPANNED RECORD DS RABN: BH RH fields FS SPANNED RECORD HEADER 20b: 2b – INCLUSIVE RECORD LENGTH 4b – UNKNOWN 4b – ISN OF THIS RECORD 2b – INDICATOR: x’0081’ Primary Record x’0041’ Secondary Record 4b – ISN OF NEXT SECONDARY (x’00’s IF LAST) 4b – ISN OF PRIMARY RECORD RH 1. PRI ISN IN AC 2. SEC ISN’s IN AC2 3. SEC ISN MAY EQUAL PRI ISN

V8 SPANNED RECORDS. Eg. 1 INTERNALS MODE=ON QUICK -IBL -IRL ---ISN---- DS RABN X 0000 0E820004 0E7E0000 00049999 9FF4E7F4 0010 F0F7F9F8 F1404040 40000F00 414FD540 : : : UPDATE A FEW 100 MORE BYTES: 0000 2A050004 2A010000 00000000 00040081 0010 00000001 00000004 99999FF4 E7F4F0F7 : : : DS RABN X ---ISN---- INDICATOR -IRL PRI. ISN NEXT ISN 0000 07AA0004 07A60000 00000000 00010041 0010 00000000 00000004 80FCC1C1 C1C1C1C1 : : : DS RABN Y INDICATOR ---ISN---- -IRL NEXT ISN PRI. ISN

V8 SPANNED RECORDS. UPDATE to 1st SPAN 1ST UNUSED DS EXTENT: … … REC5-PRI REC5-SEC A1 OR N1/N2 12K BYTES REC-5, REC6 OR REC-6, REC5 OR REC5 “ POP – N – SPAN “ FOR 1ST SPANNED RECORD:

V8 SPANNED RECORDS. UPDATES REGARDLESS OF REUSEDS OR RECORD POSITION: WHEN 1ST SPAN CREATED, IT MOVES TO END OF FILE ( POP – N – SPAN ) EG. WHAT IF ALL RECORDS IN FILE UPDATED TO SPAN ONCE ???? PROVIDES FASTER UTILITIES, USER READS, ETC. AFTER 1ST SPAN NEXT SPAN MAY BE ANYWHERE (PRI + SEC1 + . . . SECn) IF LRECL UPDATED TO < ONE BLOCKLENGTH: SPANNED HEADER CHANGED BACK TO UNSPANNED HEADER

V8 SPANNED RECORDS. UPDATES PLOG QUICK PLOG ALWAYS CONTAINS PRIMARY RECORD (BI / AI) PLOG ONLY CONTAINS SECONDARY RECS IF UPDATED PLOG UPD: PRIMARY SECONDARY-1 SECONDARY-2 BI/AI PRI PRIMARY SECONDARY-1 SECONDARY-2 UPD: BI/AI PRI BI/AI SEC2 PRIMARY SECONDARY-1 SECONDARY-2 UPD: BI/AI PRI BI/AI SEC1

V8 SPANNED RECORDS. PROGRAM PERFORMANCE FILE 241 / 19,968 RECORDS / SPANNED PRI + SEC FDT: AA . . . . . ZZ FOR EXAMPLE CREATE FILE USED UNUSED DS BEFORE 1064 BLKS UDPATE EACH REC TO PRI + SEC EMPTY UNUSED DS AFTER 1064 BLKS USED 39,936 BLKS “ POP-N-SPAN”

V8 SPANNED RECORDS. PROGRAM PERFORMANCE FILE 241 / 19,968 RECORDS / SPANNED PRI + SEC FDT: AA . . . . . ZZ FOR EXAMPLE NUC UP, RUN PGM, NUC DOWN L3,FB=AA. CPU 3.65 SEC ASSO IO 104 DATA IO 19968 DB L3,FB=ZZ. CPU 5.79 SEC ASSO IO 129 DATA IO 39934 DB L2,FB=ZZ. CPU 5.65 SEC ASSO IO 107 DATA IO 40998 DB L2,FB=AA. CPU 5.18 SEC ASSO IO 87 DATA IO 40998 DB

V8 SPANNED RECORDS. UTILITY OPTIONS QUICK ADACMP COMPRESS / DECOMPRESS SPAN - enable span HEADER - Header in input or Add Header (DECOMP) DATADEVICE - Split records based on device type MAXLOGRECLEN - Assemble input records into larger recs ADADBS SPANCOUNT FILE=nnn CAN BE UPD OR ACC USERS SPECIFYING AC2RABN, MAXISN2: ADALOD ADAORD ADASAV FMOVE NOTE: ADAORD KEEPS PRI+SEC PAIRS

V8 SPANNED RECORDS. ISSUES / CONCERNS INCREASE BLOCKSIZE OR GO SPANNED? - DB LEVEL vs FILE LEVEL - CONVERSION vs ADADBS SWITCH - LIMIT = TRACKSIZE vs LIMIT = 5 x BLOCKSIZE - PROVEN vs NEW - GUARANTEED PERFORMANCE vs

V8 SPANNED RECORDS. ISSUES / CONCERNS. UNDO 2. BACKWARD CONVERSION OF SPANNED FILE: a. UPDATE / ENSURE ALL RECORDS BACK TO PRIMARY. ( ADADBS SPANCOUNT FILE=nnn) b. ADADBS RECORDSPANNING FILE=fnr,MODE=OFF NOTE: READ OF ALL DATA STORAGE (VS AC2) NOTE: REQUIRES EXCLUSIVE FILE USE CONSIDER USE OF DUPLICATE FILES, ADARES REGENERATE

V8 SPANNED RECORDS. ISSUES / CONCERNS 3. INCREASE ADARUNs: NISNHQ / NH LWP (FOR LARGER DVT) LP, DUALPLS and RESULTANT SIZE OF WORK AND PLOGs

V8 SPANNED RECORDS. ISSUES / CONCERNS 4. RECORD READ PERFORMANCE MORE AFFECTED IF FIELDs AT END OF RECORD. L2 READS ALL RECORDS L3,L1 READ SPANNED RECORD ONLY IF FIELDS REQUESTED L3 MAY BE MUCH FASTER THAN L2 5. DIRTY READS. EG. READ DA-FILE BY ZZ-FIELD DISPLAY AA-FIELD KEEP DESCRIPTORS IN FIRST OF RECORD. 6. GREATER RISK OF RSP.CD. 53 (UNTIL SUPPORT OF ACBX)

V8 SPANNED RECORDS. ISSUES / CONCERNS PRI + SPAN OR PRI + SPAN n. PERFORMANCE AND IO OF ADAULD ADAORD ADAINV

END OF SPANNED ON TO LOB

LOB SUPPORT. EMPLOYEES FILE LOB FIELD DATA FCB FNR 10 FCB FNR 11 PICTURES .JPG .TIF WORD DOC PPT PDS MEMBERS ETC,ETC < 2G

LOB SUPPORT: STRUCTURE Flags, leng BASEFILE: DS.REC. FLD1, FLD2 . . . LOB FIELD . . LOBFILE: IL SEG 1 SEG 2 SEG 19 19-SLOTS AC LOB. EG 200K DS Blksize=10,796 EG. 19 SEGMENTS IBL-IRL-ISN-HDR-DATA DS 19 RECS

ADACMP FNDEF='01,AA,8,A,NU,DE‘ ADACMP FNDEF='01,L1,0,A,LB,NU‘ LOB’s CREATING. ADACMP ADACMP: ADACMP COMPRESS ADACMP FILE=10 : : : ADACMP FNDEF='01,AA,8,A,NU,DE‘ ADACMP FNDEF='01,L1,0,A,LB,NU‘ CHAR. LOB ADACMP FNDEF='01,L2,0,A,LB,NV,NB‘ BINARY LOB X'00000004' DDEBAND LOB DATA MUST BE ADDED LATER VIA PROGRAM

LOB’s CREATING. ADALOD 1 ADALOD LOAD FILE=010 ADALOD LOBFILE=11 : : : ADALOD “ BASE FILE “ ADALOD LOAD FILE=010 ADALOD LOBFILE=11 : : : SIZE FILE (DS,NI,UI,AC) MINUS LOB SPACE

ADALOD NISIZE=,UISIZE= ADALOD rest of parms: very small LOB’s CREATING. ADALOD 2 ADALOD “ LOB FILE “ ADALOD LOAD FILE=11,LOB ADALOD BASEFILE=10 ADALOD DSSIZE= ADALOD MAXISN= ADALOD NISIZE=,UISIZE= ADALOD rest of parms: very small AVLOBS = AVERAGE LOB SIZE PER RECORD ER = ESTIMATED NUMBER OF RECORDS BPL = DS BLOCKS PER LOB = AVLOBS / DS.BLOCKSIZE DSSIZE = BPL * ER MAXISN = BPL * ER NISIZE = BPL * ER * ?20? / ASSO.BLOCKSIZE QUICK

LOB’s CREATING. ADALOD 2 EG. QUICK AVLOBS= 600K E.R. = 100,000 D.BLOCKSIZE = 10,796 A.BLOCKSIZE = 4,136 FOR EXAMPLE BPL = DS BLOCKS PER LOB = AVLOBS / DS.BLOCKSIZE = 600,000 / 10,796 = 56 DSSIZE = BPL * ER = 56 * 100,000 = 5,600,000 MAXISN = 5,600,000 NISIZE = BPL * ER * ?20? / ASSO.BLOCKSIZE = 5,600,000 * 20 / 4,136 = 27,000

LOB’s CREATING. EXISTING FILES ADADBS NEWFIELD FNDEF=. . . ADALOD LOBFILE NOTE: MUST DO ADADBS FIRST !

------------------ ------------------- : : : 10 LOBFILE-BASE . L . . LOB’s CREATING. ADAREP QUICK PART 1 **************** * FILE OPTIONS * . CONTAINS LOB FIELDS . . PRIVILEGED USE . . . LOB FILE FILE NAME ------------------ ------------------- : : : 10 LOBFILE-BASE . L . . 11 LOBFILE-LOB . . . L

FILE WITH I ASSOCIATED I LOB FIELDS I LOB FILE I LOB’s CREATING. ADAREP QUICK PART 2 ************* * * * LOB FILES * FILE WITH I ASSOCIATED I LOB FIELDS I LOB FILE I ------------------------- 10 I 11 I -----------I------------I

FDT not printed - this file is a LOB file LOB’s CREATING. ADAREP QUICK PART 3 FILE DETAIL. BASE FILE : : : LOB file No Contain LOB fields Yes 1 I L1 I 0 I A I LB,NU PART 4 FILE DETAIL. LOB FILE : : : LOB file Yes Contain LOB fields No FDT not printed - this file is a LOB file

LOB’s CREATING. DDM VIA SYSDDM L DB Name F Leng S D Remark -- ----------------- - ---- - - --------------------- : : : 1 L1 L@L1-FIELD I 4 LEN. IND. OF L1-FIELD 1 L1 L1-FIELD A N LOB LE=1073741821 OPTIONS=LB

LOB’s TESTING RULES OF ENGAGEMENT: 0. NATURAL 4.2.1 USE SMALL LOB’S (? SLOB’s ?) UNDER 32K FTP TO MAINFRAME, A SMALL JPG PIC STORE IN ADABAS READ FROM ADABAS FTP FROM MAINFRAME BACK TO PC TO VERIFY SEE SERVLINE24 TECH DOC 542357 FOR NATURAL ZAPS

LOB’s TESTING STORE IN ADABAS: 0010 DEFINE DATA LOCAL QUICK 0030 1 DFILE VIEW OF FILE-10 0040 2 AA-FIELD 0050 /* 2 L@L1-FIELD 0060 2 L1-FIELD (A) DYNAMIC 0080 01 A (A) DYNAMIC 0090 01 LENG (I4) 0100 * 0110 END-DEFINE 0120 DEFINE WORK FILE 1 TYPE 'UNFORMATTED' 0130 READ WORK FILE 1 A 0140 GIVING LENGTH LENG 0150 DISPLAY LENG 0160 AA-FIELD := 'BATFSH' 0170 L1-FIELD := A 0180 STORE IN DFILE 0190 END TRANSACTION 0200 END-WORK 0210 END QUICK

LOB’s TESTING READ FROM ADABAS: 0010 DEFINE DATA LOCAL QUICK 0020 * 0030 1 DFILE VIEW OF FILE-10 0040 2 AA-FIELD 0050 2 L@L1-FIELD 0060 2 L1-FIELD 0070 * 0080 01 A (A) DYNAMIC 0090 01 LENG (I4) 0100 END-DEFINE 0110 * 0120 DEFINE WORK FILE 2 TYPE 'UNFORMATTED' 0130 FIND (1) DFILE WITH AA-FIELD = 'BATFSH' 0140 A := L1-FIELD 0150 * 0160 * 0170 WRITE WORK 2 VARIABLE A 0180 END-FIND 0190 END QUICK

DISPLAY *ISN AA-FIELD L@L1-FIELD L1-FIELD END LOB’s TESTING QUICK A NICE NATURAL PGM DEFINE DATA LOCAL 1 DFILE VIEW OF FILE-10 2 AA-FIELD 2 L@L1-FIELD 2 L1-FIELD (A040) END-DEFINE READ DFILE DISPLAY *ISN AA-FIELD L@L1-FIELD L1-FIELD END

LU > MAX LOB/SIZE (RSP.CD. 152) NAB > LU (RSP.CD. 254) LOB’s ADARUN PARMS INCREASE: LBP/LFIOP LU > MAX LOB/SIZE (RSP.CD. 152) NAB > LU (RSP.CD. 254) NH/NISNHQ > BPL * ? (RSP.CD. 46) LP/WORKSIZE > ? (RSP.CD. 9-15) DUALPLS > ? LDEUQP > (RSP.CD. 197)

LOB’s FINAL THOUGHTS 1. DSREUSE / ISNREUSE OFF ? 2. REORDER, KEEP LOB SEGMENTS TOGETHER 3. RSP.CD. 132 (GET UPDATE MANUAL FROM SERVLINE) 4. PC NATURAL 6.2.2. , ENTIRE NETWORK, etc. 5. HOW TO REMOVE LOB? DELETE LOBFILE / ADACMP DECOMPRESS/CMP/LOD BASEFILE Or ZAP SOMETHING (FDT,FCB)?

MUPEX BEYOND 191 1. SET AT THE FCB LEVEL, NOT FDT 2. MAX OF 65,534 OCCURANCES (SEE DS RECORD LIMITS) 3. SET FOR BOTH MU AND PE TECH REVIEW: MU DE DO NOT HAVE OCCURANCE NUMBER IN INV. LIST PE DE HAVE THE OCCURANCE NUMBER IN INV. LIST

MUPEX. DEFINING EXISTING FILE (NO PE DE’s): ADADBS MUPEX FILE=nnn MUPECOUNT=2 LOADING NEW FILE: ADACMP COMPRESS MUPEX MUPECOUNT=1|2 X’0B’ OR X’000B’ DDEBAND EXISTING FILE (PE DE’s): 1. RELEASE PE DE’S 2. ADADBS MUPEX 3. ADAINV PE DE’S Eg. OCC.CNT=11

------------------ ------------------- : : : 16 EMPLOYEES . T . . MUPEX. ADAREP QUICK PART 1 **************** * FILE OPTIONS * . 2-BYTE MU/PE INDEX . . REPLICATED . . . PRIV USE FILE NAME ------------------ ------------------- : : : 16 EMPLOYEES . T . . PART 2 * FILE 241 (TESTFILE ) * : : : TWO BYTE MU/PE YES

MUPEX. DS INTERNALS OCC CNTR DS RECORD: . . . 01 L-VALUE . . . UPDATE TO 191 OCC: BF UPDATE TO 192 OCC: C0 02 00C0 C0 – 2B FLAG 02 – LENGTH 00C0 - COUNT UPDATE TO 193 OCC: C0 02 00C1 UPDATE TO 200 OCC: C0 02 00C8 UPDATE TO 1 OCC: C0 02 0001 NOTE: COUNT NEVER RETURNS TO PRE-2B CONDITION !

RELEASE S1 / MUPEX / ADAINV S1 MUPEX. INVERTED LIST 01,PZ,PE. 02,PA,03,A,DE. 02,PB,01,1. SUPDE=S1=AA(1,3),PB(1,1),ZZ(1,3) FDT PE DE ONLY Eg. NI ELEMENT: EXCLUSIVE LENGTH COMPRESSED VALUE PE OCCURANCE CNT ISN QTY ISN’s KEY: 04 F1F1F1 09 05 PA: 08 C1C1C1F1E9E9E9 09 05 S1: RELEASE S1 / MUPEX / ADAINV S1 05 F1F1F1 0009 PA: 09 C1C1C1F1E9E9E9 0009 05 S1:

MUPEX. 1. IN DATA STORAGE, EXTRA BYTE NOT ADDED UNTIL OCC > 191 2. FOR PE-DE, EXTRA BYTE ADDED VIA ADAINV. (MU DE DO NOT HAVE OCCURANCES IN INVERTED LIST) 3. WORST CASE: DE LENGTH (+ OCC) MUST BE LESS THAN 253 4. ONCE EXTRA BYTE ADDED IN DATA STORAGE IT IS NEVER REMOVED

MUPEX CONVERTING BACK. UPDATE ALL RECORDS TO LESS THAN 192 OCCURANCES. ADACMP DECOMPRESS ? MASSAGE FILE TO REMOVE EXTRA BYTE ? ADACMP COMPRESS ADALOD IF CHANGE ENHANCEMENTS EXISTED: ? UPDATE BACK TO 1 BYTE ? ? ADADBS MUPEX FILE=nnn,MUPECOUNT=1 ?

MUPEX PE DE ISSUES FOR EXAMPLE 2700 FILES 1000 CONTAIN MU/PE 170 CONTAIN PE-DE FOR EXAMPLE DISCUSSION / SOLUTIONS: TIME TO ADAINV PE-DE, IS IT A PROBLEM?

DIRECT CALL CHANGES ADABAS THE OLDE 80 BYTES of data ADARUN RSP.CD LU= 152 NAB= 254,253 80 BYTES of data FBL,RBL,SBL,VBL,IBL (2b = 32K limit) ACB: UP TO 1 EACH: FB,RB,SB,VB,IB BUFFERS:

!! SEE COMMAND REFERENCE MANUAL !! ACBX THE NEW CALL ‘ADABAS’ USING ACBX, . . . , ABD1,ABD2,ABD3,ABD4, . . . !! SEE COMMAND REFERENCE MANUAL !! 192 BYTES Eg. FB => 48 BYTES Eg. RB => 48 BYTES ACBX: Eg. SB => 48 BYTES Eg. IB => 48 BYTES Eg. VB => 48 BYTES ABD’ s: Eg. MB => 48 BYTES Eg. FB2 => 48 BYTES Eg. RB2 => 48 BYTES “ANY SEQUENCE, MULTIPLES” NOTE: V8 ADALINK REQUIRED, ELSE RSP.CODE 253-11

ACBX QUICK FEATURES: 4 BYTE DBID AND 4 BYTE FNR 4 BYTE ISN AND 8 BYTE ISN OPTIONS 8 COMMAND OPTIONS (FROM 2) 6 ADDITIONS (FROM 5) ENHANCE ERROR FIELDS 8 BYTE COMPRESSED/DECOMPRESSEC REC LENGTH MORE ACCURATE CMDTIME

ABD’s ADBAS BUFFER DESCRIPTIONS 8 BUFFER TYPES (FROM 5 IN V7) FORMAT BUFFER RECORD BUFFER VALUE BUFFER SEARCH BUFFER ISN BUFFER MULTIFETCH BUFFER MLF HDR’S (PRF NOT SUPPORTED) USER BUFFER PERFORMANCE BUFFER FOR REVIEW

ABD’s CONTENTS: | 48 BYTES | TYPE ( F,R,S,V,I,M,U) LOCATION (PTR OR AT END) SIZE OF DATA (xBL) SIZE TO SEND (xBL) SIZE RECEIVED | x BL | BUFFER DATA (IF LOCAL)

SAMPLE COBOL PROGRAM ON NEXT PAGES  ACBX STATUS AS OF 10/1/2006 1. NATURAL 4.2.1 LOB SUPPORT  ACBX CALLS 2. NATURAL 4.2.1 MLF  ACB CALLS 3. ADAMLF  ACB CALLS SAMPLE COBOL PROGRAM ON NEXT PAGES 

ACBX WORKING-STORAGE SECTION. 01 ACBX. 05 FILLER PIC S9(4) COMP VALUE +0. 05 CBXVER PIC X(2) VALUE 'F2'. 05 CBXLEN PIC S9(4) COMP VALUE +192. 05 CMD-CODE PIC X(2) VALUE SPACES. 05 RESP-CODE PIC S9(4) COMP VALUE +0. 05 CID PIC X(4) VALUE SPACES. 05 DBID PIC S9(8) COMP VALUE +0. 05 FNR PIC S9(8) COMP VALUE +0. 05 FILLER PIC S9(8) COMP VALUE +0. 05 ISN PIC S9(8) COMP VALUE +0. 05 ISL PIC S9(8) COMP VALUE +0. 05 ISQ PIC S9(8) COMP VALUE +0. 05 COPT1 PIC X(1) VALUE SPACE. 05 COPT2 PIC X(1) VALUE SPACE. 05 COPT3 PIC X(1) VALUE SPACE. 05 COPT4 PIC X(1) VALUE SPACE. 05 COPT5 PIC X(1) VALUE SPACE. 05 COPT6 PIC X(1) VALUE SPACE. ACBX

ACBX Cont. 05 COPT7 PIC X(1) VALUE SPACE. 05 ADD1 PIC X(8) VALUE SPACES. 05 ADD2 PIC S9(8) COMP VALUE +0. 05 ADD3 PIC X(8) VALUE SPACES. 05 ADD4 PIC X(8) VALUE SPACES. 05 ADD5 PIC X(8) VALUE SPACES. 05 ADD6 PIC X(8) VALUE SPACES. 05 FILLER PIC S9(8) COMP VALUE +0. 05 ERR-OFFSET PIC S9(8) COMP VALUE +0. 05 ERR-CHAR PIC S9(4) COMP VALUE +0. 05 RESP-SUB PIC X(2) VALUE SPACES. 05 ERR-BUFFID PIC X(1) VALUE SPACE. 05 ERR-BUFFSEQ PIC X(3) VALUE SPACES. 05 SUB-RESP PIC S9(4) COMP VALUE +0. 05 SUB-RESP-SUB PIC S9(4) COMP VALUE +0. 05 SUB-RESP-TXT PIC X(4) VALUE SPACES. 05 LCOMPR PIC S9(16) COMP VALUE +0. 05 LDECMP PIC S9(16) COMP VALUE +0. 05 CMDTIME PIC S9(16) COMP VALUE +0. 05 USER-AREA PIC X(16) VALUE SPACES. 05 FILLER PIC X(24) VALUE SPACES. ACBX Cont.

ABD BLOCK FOR FB 01 ABDFB. 05 FBLEN PIC S9(4) COMP VALUE +48. 05 FBVER PIC X(2) VALUE 'G2'. 05 FBID PIC X(1) VALUE 'F'. 05 FBRSV1 PIC X(1) . 05 FBLOC PIC X(1) VALUE SPACE. 05 FBRSV2 PIC X(1) . 05 FILLER PIC S9(8) COMP VALUE +0. 05 FBSIZE PIC S9(16) COMP VALUE +0. 05 FBSEND PIC S9(16) COMP VALUE +0. 05 FBRECV PIC S9(16) COMP VALUE +0. 05 FBADDR PIC S9(8) COMP VALUE +0. 05 FBCONT PIC X(20) VALUE SPACES. ABD BLOCK FOR FB

ABD BLOCK FOR RB 01 ABDRB. 05 RBLEN PIC S9(4) COMP VALUE +48. 05 RBVER PIC X(2) VALUE 'G2'. 05 RBID PIC X(1) VALUE 'R'. 05 RBRSV1 PIC X(1) . 05 RBLOC PIC X(1) VALUE SPACE. 05 RBRSV2 PIC X(1) . 05 FILLER PIC S9(8) COMP VALUE +0. 05 RBSIZE PIC S9(16) COMP VALUE +0. 05 RBSEND PIC S9(16) COMP VALUE +0. 05 RBRECV PIC S9(16) COMP VALUE +0. 05 RBADDR PIC S9(8) COMP VALUE +0. 05 RBCONT PIC X(50) VALUE SPACES. * 01 CB-RES PIC S9(8) COMP VALUE +0. 01 CB-REE PIC S9(8) COMP VALUE +0. ABD BLOCK FOR RB

ENSURE FIELDS SET TO BINARY ZEROES PROCEDURE DIVISION. MAIN-PARAGRAPH. MOVE X'00' TO FBRSV1. MOVE X'00' TO RBRSV1. MOVE X'00' TO FBRSV2. MOVE X'00' TO RBRSV2. * MOVE 168 TO DBID. MOVE 'OP' TO CMD-CODE. PERFORM CALLACBX. MOVE 16 TO FNR. MOVE 'L3' TO CMD-CODE. MOVE 'L3XX' TO CID. MOVE 'AE' TO ADD1. MOVE 10 TO FBSIZE. MOVE 10 TO FBSEND. MOVE 'AC.' TO FBCONT. MOVE 50 TO RBSIZE. MOVE 50 TO RBSEND. PERFORM CALLACBXD 2000 TIMES. ENSURE FIELDS SET TO BINARY ZEROES

CLOSE-ER-UP. MOVE 168 TO DBID. MOVE 'CL' TO CMD-CODE. PERFORM CALLACBX. STOP RUN. CALLACBX. CALL 'ADABAS' USING ACBX. IF RESP-CODE NOT EQUAL TO 0 PERFORM ERR-RTN. DISPLAY 'CMD ' CMD-CODE ' RSP.CD ' RESP-CODE. CALLACBXD. CALL 'ADABAS' USING ACBX, CB-RES, CB-REE, ABDFB, ABDRB. IF RESP-CODE = 3 THEN GO TO CLOSE-ER-UP. IF RESP-CODE NOT EQUAL TO 0 GO TO ERR-RTN. DISPLAY 'ISN=' ISN ' RB=' RBCONT. ERR-RTN. DISPLAY '------ERROR FOR ACBX ---------'. DISPLAY 'CMD: ' CMD-CODE. DISPLAY 'FNR: ' FNR. DISPLAY 'ISN: ' ISN. DISPLAY 'RSP: ' RESP-CODE. DISPLAY 'SUB: ' RESP-SUB.

ACBX EXAMPLE FILE CONTAINS 20,000 RECORDS 1062 DS RABNS READ IN 20b PER RECORD USE MLF MLF LIMIT 32K 32K RB / RECORD.SIZE = 1600 32K IB / 16b HDR = 2048 13 CALLS V7: RB LEN = 400,000 MB LEN = 320,000 ILL = 20,000 V8 ACBX: 1 CALL

COMPATIBILITY V7/8 NUC/SVC/LNK SVC – V8 PGM LINK V7  REQUIRED NUC – V7 NUC – V8 PGM LINK V8 ACB CALLS !! ACBX CALLS REQUIRE ALL V8 COMPONENTS !!

EXTENTS NEW LIMITS EXTENT TYPE LIMIT DDDATARnn 99 DDASSORnn 99 DSST > 5 FILE EXTENTS FCB SPACE (AC,NI,UI,DS,AC2) Free space available for file extents: At least 233 extents EG. ADAREP FILE nnn (ASSO.BLKSIZE = 4136)

V8 QUICK NOTES. FDT INCREASE ASSO BLOCK 1 I. FIELD NAME’s V8: 20b / FIELD 10b / FIELD ASSO BLOCK 2 II. SEARCH INDEX ASSO BLOCK 3 III. SPECIAL NAMES Eg. SUPER,SUB DE SUPER,SUB FIELDS ASSO BLOCK 4 V8: x Blocks / FDT 4B / FDT

V8 QUICK NOTES. FDT INCREASE Eg. 1 I. (many fields) V7 1 I. (many fields) 2 2 ADACNV TOVERS=81 3 II. 3 III. (many specials) 4 4 II. 5 III. (many specials) 4B / FDT 6

V8 QUICK NOTES. FDT INCREASE Eg. BEFORE ADAREP PHYSICAL LAYOUT: 1-30: CONTROL BLOCKS 31-285: FCB’s 286-1305: FDT’s FROM TO DEV TABLE VOLSER BLK BLK BLKS TYPE TYPE FILE NUMBER 1306 - 1337 32 3390 PPT 0 ADA080 1338 - 1338 1 3390 DSST 0 ADA080 1339 - 1341 3 3390 AC 1 ADA080 1342 - 1346 5 3390 UI 1 ADA080 1347 - 1371 25 3390 NI 1 ADA080 1372 - 1373 2 3390 AC 16 ADA080 1374 - 1413 40 3390 NI 16 ADA080 : : : 1507 - 1507 1 3390 AC 10 ADA080 1508 - 1512 5 3390 NI 10 ADA080 1513 - 1517 5 3390 UI 10 ADA080 1518 - 2682 1165 3390 UNUSED 0 ADA080

V8 QUICK NOTES. FDT INCREASE Eg. AFTER ADAREP PHYSICAL LAYOUT: 1-30: CONTROL BLOCKS 31-285: FCB’s FROM TO DEV TABLE VOLSER BLK BLK BLKS TYPE TYPE FILE NUMBER 286 - 289 4 3390 FDT 1 ADA080 346 - 349 4 3390 FDT 16 ADA080 354 - 357 4 3390 FDT 18 ADA080 1306 - 1337 32 3390 PPT 0 ADA080 1338 - 1338 1 3390 DSST 0 ADA080 1339 - 1341 3 3390 AC 1 ADA080 1342 - 1346 5 3390 UI 1 ADA080 1347 - 1371 25 3390 NI 1 ADA080 1372 - 1373 2 3390 AC 16 ADA080 1374 - 1413 40 3390 NI 16 ADA080 : : : 1507 - 1507 1 3390 AC 10 ADA080 1508 - 1512 5 3390 NI 10 ADA080 1513 - 1517 5 3390 UI 10 ADA080 1518 - 1522 5 3390 FDT 10 ADA080 1523 - 2682 1160 3390 UNUSED 0 ADA080  5 BLOCKS

V8 MISCELLANEOUS 1. GCB IS 2 BLOCKS (RABN 1 AND 2) 2. FDT FIELD OPTION: NB (NO BLANK COMPRESSION) z/OS SVC IMPROVEMENTS. - PERFORMANCE IMPROVMENTS - SHIFT FROM SRB TO TCB USAGE (NOTE IN MEASUREMENTS) - ALL SERVERS MUST BE APF-AUTHORIZED: MPM’s ENTIRE NETWORK NATURAL GLOBAL BUFFER POOL ETC. ELSE: U0253 ABEND ADAS33 APF Authorization is required

DAS ENDE