Presentation is loading. Please wait.

Presentation is loading. Please wait.

ADABAS V8 (IN ONE HOUR) Jim Poole.

Similar presentations


Presentation on theme: "ADABAS V8 (IN ONE HOUR) Jim Poole."— Presentation transcript:

1 ADABAS V8 (IN ONE HOUR) Jim Poole

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

3 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

4 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

5 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 :14: AD168DBS ENABLE SPANNED RECORD SUPPORT 241 NOTE: AC2 NOT ALLOCATED UNTIL SPANNING OCCURS

6 V8 SPANNED RECORDS. ADAREP SPANNED RECS EXIST
TOP-ISN = ,000 MAX-ISN EXPECTED = ,669 RECORDS LOADED = ,000 MIN-ISN = TOP AC2 ISN = ,000 MAX AC2 ISN EXP. = ,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 I I I AC2 I I I I NI I I I I UI I I I I FDT I I I I DSST I I I I I I I I DS I I I I

7 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

8 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

9 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

10 V8 SPANNED RECORDS. Eg. 1 INTERNALS
MODE=ON QUICK -IBL -IRL ---ISN---- DS RABN X 0000 0E E7E FF4E7F4 0010 F0F7F9F8 F F00 414FD540 : : : UPDATE A FEW 100 MORE BYTES: 0000 2A A FF4 E7F4F0F7 : : : DS RABN X ---ISN---- INDICATOR -IRL PRI. ISN NEXT ISN AA A FCC1C1 C1C1C1C1 : : : DS RABN Y INDICATOR ---ISN---- -IRL NEXT ISN PRI. ISN

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

12 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 + SEC SECn) IF LRECL UPDATED TO < ONE BLOCKLENGTH: SPANNED HEADER CHANGED BACK TO UNSPANNED HEADER

13 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

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

15 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

16 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

17 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

18 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

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

20 V8 SPANNED RECORDS. ISSUES / CONCERNS
4. RECORD READ PERFORMANCE MORE AFFECTED IF FIELDs AT END OF RECORD. L 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)

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

22 END OF SPANNED ON TO LOB

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

24 LOB SUPPORT: STRUCTURE
Flags, leng BASEFILE: DS.REC. FLD1, FLD 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

25 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' ' DDEBAND LOB DATA MUST BE ADDED LATER VIA PROGRAM

26 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

27 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

28 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

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

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

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

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

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

34 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 FOR NATURAL ZAPS

35 LOB’s TESTING STORE IN ADABAS: 0010 DEFINE DATA LOCAL QUICK
DFILE VIEW OF FILE-10 AA-FIELD 0050 /* 2 L1-FIELD (A) DYNAMIC A (A) DYNAMIC LENG (I4) 0100 * 0110 END-DEFINE 0120 DEFINE WORK FILE 1 TYPE 'UNFORMATTED' 0130 READ WORK FILE 1 A GIVING LENGTH LENG DISPLAY LENG AA-FIELD := 'BATFSH' L1-FIELD := A STORE IN DFILE END TRANSACTION 0200 END-WORK 0210 END QUICK

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

37 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 2 L1-FIELD (A040) END-DEFINE READ DFILE DISPLAY *ISN AA-FIELD L1-FIELD END

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

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

40 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

41 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

42 ------------------ ------------------- : : : 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 (TESTFILE ) * : : : TWO BYTE MU/PE YES

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

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

45 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

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

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

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

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

50 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

51 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

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

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

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

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

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

57 ABD BLOCK FOR RB 01 ABDRB. 05 RBLEN PIC S9(4) COMP VALUE +48.
RBVER PIC X(2) VALUE 'G2'. RBID PIC X(1) VALUE 'R'. RBRSV PIC X(1) RBLOC PIC X(1) VALUE SPACE. RBRSV PIC X(1) FILLER PIC S9(8) COMP VALUE +0. RBSIZE PIC S9(16) COMP VALUE +0. RBSEND PIC S9(16) COMP VALUE +0. RBRECV PIC S9(16) COMP VALUE +0. RBADDR PIC S9(8) COMP VALUE +0. 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

58 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 TO DBID. MOVE 'OP' TO CMD-CODE. PERFORM CALLACBX. MOVE TO FNR. MOVE 'L3' TO CMD-CODE. MOVE 'L3XX' TO CID. MOVE 'AE' TO ADD1. MOVE TO FBSIZE. MOVE TO FBSEND. MOVE 'AC.' TO FBCONT. MOVE TO RBSIZE. MOVE TO RBSEND. PERFORM CALLACBXD 2000 TIMES. ENSURE FIELDS SET TO BINARY ZEROES

59 CLOSE-ER-UP. MOVE 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.

60 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

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

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

63 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

64 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

65 V8 QUICK NOTES. FDT INCREASE Eg.
BEFORE ADAREP PHYSICAL LAYOUT: 1-30: CONTROL BLOCKS 31-285: FCB’s : FDT’s FROM TO DEV TABLE VOLSER BLK BLK BLKS TYPE TYPE FILE NUMBER PPT 0 ADA080 DSST 0 ADA080 AC ADA080 UI ADA080 NI ADA080 AC ADA080 NI ADA080 : : : AC ADA080 NI ADA080 UI ADA080 UNUSED 0 ADA080

66 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 FDT 1 ADA080 FDT 16 ADA080 FDT 18 ADA080 PPT 0 ADA080 DSST 0 ADA080 AC ADA080 UI ADA080 NI ADA080 AC ADA080 NI ADA080 : : : AC ADA080 NI ADA080 UI ADA080 FDT 10 ADA080 UNUSED 0 ADA080  5 BLOCKS

67 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

68 DAS ENDE


Download ppt "ADABAS V8 (IN ONE HOUR) Jim Poole."

Similar presentations


Ads by Google