Presentation is loading. Please wait.

Presentation is loading. Please wait.

ADABAS V8 AND MISCELLANEOUS TOPICS

Similar presentations


Presentation on theme: "ADABAS V8 AND MISCELLANEOUS TOPICS"— Presentation transcript:

1 ADABAS V8 AND MISCELLANEOUS TOPICS
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 RH fields fields RH fields 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

10 V8 SPANNED RECORDS. Eg. 1 INTERNALS
MODE=ON -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. Eg. 2 INTERNALS
ASSO DATA (hdrs) ISN IND NEXT PRI AC (7) PRI 7 x AC2 (7) (21) (22) SEC 7 x 21 x SEC SEC 22 x 1. PRI ISN IN AC 2. SEC ISN’s IN AC2 3. SEC ISN MAY EQUAL PRI ISN NOTES:

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

13 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

14 V8 SPANNED RECORDS. UPDATES PLOG
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

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

16 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

17 V8 SPANNED RECORDS. UTILITY OPTIONS
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

18 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

19 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

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

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

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

23 END OF SPANNED ON TO LOB

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

25 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

26 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

27 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

28 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

29 LOB’s CREATING. ADALOD 2 EG.
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

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

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

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

33 FDT not printed - this file is a LOB file
LOB’s CREATING. ADAREP 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

34 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

35 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

36 LOB’s TESTING STORE IN ADABAS: 0010 DEFINE DATA LOCAL
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

37 LOB’s TESTING READ FROM ADABAS: 0010 DEFINE DATA LOCAL 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

38 DISPLAY *ISN AA-FIELD L@L1-FIELD L1-FIELD END
LOB’s TESTING 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

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

40 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)?

41 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

42 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

43 ------------------ ------------------- : : : 16 EMPLOYEES . T . .
MUPEX. ADAREP 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

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

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

46 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

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

48 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? 2. ENHANCE ADAORD OR ADAINV TO UPDATE JUST PE-DE ? 3. SEPARATE MUPEX  MUX, PEX ? CONTINUED 

49 MUPEX PE DE ISSUES continued
4. IF LESS THAN 191 USE 1 BYTE COUNT. IF MORE THAN 191 USE 2 BYTE COUNT. MAINTAIN DS AND INVERTED LIST WITH THIS CONSTRUCT NI-ELEMENT VALUE C1C1C1C AAAA OCC = 1 C1C1C1C AAAA OCC = 2 C1C1C1C1C00200C0 AAAA OCC = 192 C1C1C1C1C AAAAA OCC = 1 C1C1C1C1C AAAAA OCC = 2 C1C1C1C1C1C00200C0 AAAAA OCC = 192 FOR EXAMPLE: ?? MORE DE BYTES ?? ?? 1 / 2 BYTE MESS LATER ON ??

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

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

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

53 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

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

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

56 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

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

58 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

59 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

60 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

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

62 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

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

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

65 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

66 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

67 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

68 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

69 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

70 BACK TO JUST ADABAS

71 LITTLE KNOWN FEATURES: SYNS AND 7X24
WHAT ARE SYNS FUNCTIONS? SIMPLE /FAST FILE / DATABASE CHANGES LITTLE IO TYPICALLY FCB CHANGES VIA ADADBS OR AOS ADARES REGENERATES TO TARGET REQUIRE: NO ACC USE NO UPD USE

72 LITTLE KNOWN FEATURES: SYNS AND 7X24
WHAT ARE SYNS FUNCTIONS? GROUP 1 ALLOCATE DEALLOCATE ASSOPFAC DATAPFAC CHANGE DSREUSE ISNREUSE MAXLRECL MAXDS,NI,UI,AC NEWFIELD PGMREFRESH RELEASE RENAME USERISN ON/OFF GROUP 2 DECREASE DB INCREASE DB DELETE RECOVER REFRESH RENUMBER GROUP 3 (V8) MUPEX RECORD- SPANNING ON

73 LITTLE KNOWN FEATURES: SYNS AND 7X24
WHAT ARE SYNS FUNCTIONS? GROUP 1 ALLOCATE DEALLOCATE ASSOPFAC DATAPFAC CHANGE DSREUSE ISNREUSE MAXLRECL MAXDS,NI,UI,AC NEWFIELD PGMREFRESH RELEASE RENAME USERISN ON/OFF REQUIRE: NO ACC USE NO UPD USE ELSE RSP.CD. 48 NEW / IMPROVED : RELEASE DSREUSE ISNREUSE NEWFIELD AOS ONLY

74 LITTLE KNOWN FEATURES: SYNS AND 7X24: RELEASE
FOR EXAMPLE AOS F File maintenance D Release descriptor Descriptor Name .. BA File Number File Name VEHICLES Password In Parallel YES Enter 'RELEASE' to confirm ..

75 LITTLE KNOWN FEATURES: SYNS AND 7X24: xxREUSE
FOR EXAMPLE AOS F File maintenance M Modify file parameters FILE NO FILE NAME .. VEHICLES ASSO PFAC MAX. ALLOCATION DATA PFAC UI BLKS PER EXTENT .. 0 MAX. RECL NI BLKS PER EXTENT .. 0 DS BLKS PER EXTENT .. 0 NEW FILE NAME VEHICLES NEW FILE NO ISN REUSE ON_ WITH RESET ___ USER ISN OFF IN PARALLEL .... YES DS REUSE ON_ FILE PASSWORD WITH RESET ___ IN PARALLEL .... YES ALPHANUM ENCODING MIXED DS DEVICE OFF WIDECHAR ENCODING PROGRAM REFRESH OFF

76 LITTLE KNOWN FEATURES: SYNS AND 7X24: NEWFIELD
FOR EXAMPLE AOS F File maintenance C Define/modify FDT A Add new field(s) File = (VEHICLES) In Parallel .. YES Enter Password if file is security protected ... Level I Name I Length I Format I Options I 01 I ZZ I 10_ I A I NU __ __ __ __ __ I __ I __ I ___ I _ I __ __ __ __ __ __ I : : :

77 ADARES REGENERATE. REVISIT
ORIGINAL DB WHY? DB RECOVERY (AFTER RESTORE) FILE(s) RECOVERY (AFTER RESTORE) NO OUTAGE: 3. RE-BLOCK DATABASE 4. CONVERT FILE TO 4b ISN 5. CONVERT FILE TO FRWRD INDEX COMPR 6. REORDER / MOVE FILES 7. INTEGRITY CHECKS / REPAIR 8. TESTING / APPLICATIONS CONVERSIONS 9. DISASTER RECOVERY / MIRRORING ADARES PLOG(s) RESTORED DB / FILE(s) “EVENT REPLICATOR”: REBUILD FILES FOR PERFORMANCE RECORD LEVEL

78 ADARES REGENERATE. OPTIONS
//DDSIIN DD DSN=PLOG.A DSN=PLOG.B : : : DB LEVEL or FILE LEVEL EOF PLOG TOCP VS. ADARES REGENERATE ADARES PLOGNUM=nnnn ADARES TOCP=cccc ADARES TOBLK=bbbbb ADARES FILE=fff,fff DB / EOF DB / TOCP FILE / EOF FILE / TOCP

79 ADARES REGENERATE. EOF PLOG
//DDSIIN DD DB LEVEL or FILE LEVEL EOF PLOG TOCP VS. DSN=PLOG.A DSN=PLOG.B : : : REGENERATE NOAUTOBACKOUT (OPTION) DB LEVEL IMPLIES AUTOBACKOUT REGENERATE CONTINUE (OPTION) FILE LEVEL IMPLIES NO AUTOBACKOUT “DB LEVEL REGENERATE” = “FILE LEVEL CONTINUE” “DB LEVEL NOAUTOBACKOUT = “FILE LEVEL REGENERATE THEREFORE / IPSO FACTO:

80 ADARES REGENERATE. EOF PLOG
ADARES PLOGNUM=nnnn //DDKARTE * ADARES FILE=1,2,3,4 ADARES CONTINUE DB LEVEL FILE LEVEL OR UPD F1 UPD F2 ET C1-HERE //DDSIIN 1 2 3 4 5 6 7 8 9 10 11 EOF APPLY BACK ALL UPDATES BACKOUT’ED OUT TO LAST ET

81 ADARES REGENERATE. EOF PLOG
ADARES PLOGNUM=nnnn ADARES NOAUTOBACKOUT //DDKARTE * ADARES FILE=1,2,3,4 DB LEVEL FILE LEVEL OR UPD F1 UPD F2 ET C1-HERE //DDSIIN 1 2 3 4 5 6 7 8 9 10 11 EOF APPLY ALL UPDATES APPLIED TO EOF ? DATA INTEGRITY ? BI/AI/DVT/SPANNED ?

82 ADARES REGENERATE. TOCP=
//DDSIIN DD DB LEVEL or FILE LEVEL DSN=PLOG.A DSN=PLOG.B : : : EOF PLOG or TOCP VS. (OPTION, TOCP ONLY) TOCP= IMPLIES NO AUTOBACKOUT REGENERATE AUTOBACKOUT Note: TOCP has precedence over DB or FILE level DB LEVEL FILE= or FILE=,CONTINUE TOCP=,TOBLK= TOCP=,TOBLK=, AUTOBACKOUT OR VS. FOR EXAMPLE

83 ADARES REGENERATE. TOCP=,DB LEVEL
UPD F1 UPD F2 ET C1-HERE //DDSIIN 1 2 3 4 5 6 7 8 9 10 11 EOF //DDKARTE * DB LEVEL APPLY ADARES REGENERATE ADARES PLOGNUM=nnnn ADARES TOCP=HERE,TOBLK=bb ALL UPDATES APPLIED UP TO CHECKPOINT ‘HERE’

84 ADARES REGENERATE. TOCP=,DB LEVEL
UPD F1 UPD F2 ET C1-HERE //DDSIIN 1 2 3 4 5 6 7 8 9 10 11 EOF //DDKARTE * DB LEVEL APPLY ADARES REGENERATE ADARES PLOGNUM=nnnn ADARES TOCP=HERE,TOBLK=bb ADARES AUTOBACKOUT BACK ALL UPDATES BACKED OUT TO LAST ET BEFORE CKPT

85 ADARES REGENERATE. TOCP=,FILE LEVEL
//DDKARTE * FILE LEVEL UPD F1 UPD F2 ET C1-HERE //DDSIIN 1 2 3 4 5 6 7 8 9 10 11 EOF ADARES REGENERATE ADARES FILE=1 ADARES PLOGNUM=nnnn ADARES TOCP=HERE,TOBLK=bb APPLY //DDKARTE * FILE LEVEL ADARES REGENERATE ADARES FILE=1,CONTINUE ADARES PLOGNUM=nnnn ADARES TOCP=HERE,TOBLK=bb //DDKARTE * FILE LEVEL ADARES REGENERATE ADARES FILE=1 ADARES PLOGNUM=nnnn ADARES TOCP=HERE,TOBLK=bb ADARES AUTOBACKOUT ALL UPDATES FOR FILE 1 APPLIED UP TO CHECKPOINT ‘HERE’

86 ADARES REGENERATE. TOCP=,FILE LEVEL
UPD F1 UPD F2 ET C1-HERE //DDSIIN 1 2 3 4 5 6 7 8 9 10 11 EOF APPLY //DDKARTE * FILE LEVEL ADARES REGENERATE ADARES FILE=1,CONTINUE ADARES PLOGNUM=nnnn ADARES TOCP=HERE,TOBLK=bb ADARES AUTOBACKOUT BACK ALL UPDATES FOR FILE 1 BACKED OUT TO LAST ET BEFORE CHECKPOINT

87 ADARES REGENERATE. FILE vs DB LEVEL
ADARES PLOGNUM=nnnn ADARES NOAUTOBACKOUT ADARES FILE=1,2,3,4 DB LEVEL FILE LEVEL OR DB LEVEL: LOCKS DB NO ACCESS NO ADAEND/HALT FILE LEVEL: NO LOCKS FULL ACCESS ADAEND/HALT PAUSE WORK REGEN #2 PAUSE: DATA INTEGRITY, BI/AI/DVT/SPANNED

88 ADARES REGENERATE. FILE vs DB LEVEL
USE FILE or DB LEVEL REGENERATE ? PERFORMANCE: THE SAME FILE LEVEL MUCH MORE FLEXIBLE TO STOP/START REGENS FILE LEVEL ALLOWS TO REMOVE/ADD FILES FROM REGEN LIST

89 ADARES REGENERATE. FILE LEVEL JCL
//DDKARTE DD * ADARES REGENERATE ADARES PLOGNUM=nnnn // DD DSN=ADABAS.CNTL(FILES) ADABAS.CNTL(FILES): ADARES FILE=001 ADARES FILE=002 ADARES FILE=003 : : : ADARES FILE=255 ADARES FILE=001,002,003,004 ADARES FILE=005,006,007,008 ADARES FILE=009,010,011,012 : : : ADARES FILE=252,253,254,255 OR

90 ADARES REGENERATE. TOCP=,CHOICES
CMD = C1 CID = THIS CPNAME=THIS PROGRAM AOS TOGGLE REUSE (IN PARALLEL) CPNAME=SYNS UTILITIES ADARUN INTNAS=secs Dflt=3600 CPNAME=SYNS TIME BASED

91 ADARES REGENERATE. CHECKPT REPORT
ADARES COPY UTICPLIST * CPTYPE=4F - REUSE DS=ON FOR FILE 241 * CPNAME=SYNS, CPBLK=3, SESSION=22, JOBNAME=MYUSER * CPTYPE=4F - REUSE DS=OFF FOR FILE 241 * CPNAME=SYNS, CPBLK=4, SESSION=22, JOBNAME=MYUSER NOTE: SYNP,SYNV and UTILITY SYNS CP CP USER DATE TIME PLOG BLOCK VOLSER JOBNAME NAME TYP TYP NR NR NR SYNS :37: DUAL ADABAS SYNS 5B EXU :42: DUAL ADAEND SYNC :34: DUAL AD168NUC THIS 00 ET :45: DUAL MYUSER SYNS 4F ET :48: DUAL MYUSER SYNS 4F ET :49: DUAL MYUSER ADARES ADAREP CPLIST

92 ADARES REGENERATE. NOTES
ADARES CAN BE RERUN IF PARMS DO NOT CHANGE ! Eg. NOAUTOBACKOUT to No NOAUTOBACKOUT SYNS CHECKPOINTS ARE APPLIED BY ADARES SYNP CHECKPOINTS ARE NOT (COND.CODE 4) ADARES SHOULD ONLY BE RUN MPM, NOT SINGLE USER MODE ADARES SHOULD USE MTR=YES NOTE: ENSURE ADARUN NAB >= 16 X NT

93 ADARES REGENERATE. MTR=YES
MTR=NO -> MTR=YES ->

94 ADARES REGENERATE. BACKOUT
ADASAV RESTORE ADARES REGNERATE UPDATES . . . GOAL ADARES BACKOUT CHKPT EOF.PLOG

95 ADARES REGENERATE. BACKOUT
JCL: STEP-1 COPY TO TAPE STEP-2 ADARES BACKOUT BACKWARD READABLE TAPE IBM APAR’s TAPE COMPRESSION BACKOUT THE BACKOUT ?? BACKS OUT TO ??

96 UNIQUE DESCRIPTORS (UQ DE).
B311 / 1 / 23 B344 / 1 / 1 C111 / 1 / 34 : : : Z323 / 1 / 33 VALUE CNT ISN’s ASSO INVERTED LIST 1,AA,04,A,DE,UQ ADAINV ADACMP CMD=A1 / N1 / N2 FB=AA. RB=C11 RSP.CD. 198 NOTE: VALUE CHECK MADE AGAINST NI VALUE

97 UQ DE. OLDE PROBLEM, IN THEORY 1,AA,04,A,DE,UQ ASSO INVERTED LIST
VALUE CNT ISN’s USER 1 USER 2 C11 / 1 / 1 A1 FB=AA. RB=D11 D11 / 1 / 1 N1 FB=AA. RB=C11 C11 / 1 / 6 D11 / 1 / 1 C11 / 2 / 1,6 TIMEOUT / BT NOT UQ ! SOLUTION

98 Unique Descriptor Pool
UQ DE. LDEUQP PRACTICAL RANGE Unique Descriptor Pool 5K K SAG MANUAL Range: 0 – 16M Default: ONE ENTRY PER A1,E1 UQ.DE FOR EACH OPEN TRANSACTION. ONLY BEFORE IMAGE REQUIRED (IN CASE OF BACKOUT). ALL A1/N1/N2 CHECK INVERTED LIST AND LDEUQP TOO BIG ? ?? TOO SMALL ? RSP.CODE 197

99 UQ DE. LDEUQP FORMULA= 2 * HI-WATER MARK 2. FOR UQ.DE’S:
(AVG. CONCURRENT TRANSACTIONS) * (AVG. DELETE/UPDATES PER TRANSACTION) * (15 + AVG.UQ.DE.LENGTH) UQ.DE. HEADER: RESERVED POINTER TO U.Q.E. FILE NUMBER UQ.DE. NAME UQ.DE. FORMAT UQ.DE.LENGTH

100 UQ DE. LDEUQP HI-WATER MARK Pool / Queue I Size I Used I %Used I
FOR EXAMPLE Pool / Queue I Size I Used I %Used I : : : Unique DE Pool(DUQ) I I I I OP. CONS.CMD DRES DOES NOT DISPLAY SHUTDOWN DDPRINT DOES DISPLAY ADADBS DRES DOES DISPLAY AOS DOES DISPLAY NOTE: ADADBS REFRESHSTAT DOES NOT RESET

101 UQ DE. LDEUQP PERFORMANCE ISSUES
FOR EXAMPLE FILL LDEUQP WITH 1000 ENTRIES 2000 ENTRIES 4000 ENTRIES 2.EACH ENTRY FOR FILE X, UQ.DE=AA RUN PGM UPDATE BB (NON UQ DE) RUN PGM UPDATE DD (UQ DE) RUN PGM UPDATE AA MEASURE RELATIVE ADABAS CPU

102 UQ DE. LDEUQP PERFORMANCE ISSUES
4000 ENTRIES RELATIVE ADABAS CPU TIME 17x 2000 ENTRIES 10x 1000 ENTRIES 7x 6x 5x 3x BB DD,UQ AA,UQ

103 UQ DE. REMOVAL FDT 1,AA,04,A,DE,UQ AOS RELEASE (PARALLEL) (UQ BIT SET)
ADAINV FILE OUTAGE OR ZAP FDT SAG CE / EP / ER

104 UQ DE. REMOVAL FDT FNR 19 DETERMINE FDT BLOCKS 1,ND,09,A,DE,UQ
DETERMINE OFFSET INTO FDT LOCK FILE (IF DATABASE UP) ENSURE BLOCK NOT IN LBP (IF DATABASE UP) 5. ADAZAP FDT (USE DIFFERENT SVC IF DB UP) 6. UNLOCK FILE 7. (OPT) VERIFY WITH ADAREP 1,ND,09,A,DE,UQ (UQ BIT SET)

105 UQ DE. REMOVAL 1. DETERMINE FDT BLOCKS
FROM TO DEV TABLE BLK BLK BLKS TYPE TYPE FILE : : : FDT 10 ADAREP PHYSICAL LAYOUT: ADABAS V8 ADABAS V7: FDT1 = 31 + MAXFILES + ( FNR – 1 ) x 4 FDTN = FDT1 + 3 Eg. V7 FNR = 19 MAXFILES = 255 FDT1 = (19 – 1 ) x 4 = 358 FDTN = = 361

106 2. ADARPRI ASSO RABN 358 - 361 DDDRUCK (RABN 358):
FIND ‘ND’ AE C1C C26C2 *.Þ.È.AF B* 0010 E D3C14B *X LA... * : : : D5C C22D5 * .â.ND... .<.N* V7 10b elements DE FLAG 6TH BYTE, OFFSET 0149 E E8 22C1C * Y.AF * : : : D5C *.D ND .* D5D700 *.. .Q NP * V8 20b elements  DE FLAG 10TH BYTE, OFFSET 0291

107 UQ DE. REMOVAL 5. ADAZAP DE FLAG = X’09’ 0000 1001
UQ BIT = X’08’ //DDCARD DD * ADARUN SVC=XXX ADARUN PROGRAM=ADAZAP : : : //DDKARTE DD * ADAZAP MC=******** ADAZAP ASSO RABN=358,OFFSET=X'0149' ADAZAP VER=X'09' ADAZAP REP=X'01' OR = X’0291’

108 UQ DE. PROGRAM ISSUES 1. FOR UQ UPDATES, KEEP TRANSACTIONS SMALL
2. IF COMPRESSION DEFINED AS NU, BLANKS ARE NOT CHECKED 3. BEWARE OF FIELDS AT END OF RECORD TREATED AS NU 4. REALLY, REALLY JUSTIFY

109 EXCP vs EXCPVR “VR” Page frames containing the IO control blocks are page-fixed TO USE: ALL ADABAS LOADLIBS (STEPLIB) ARE APF-AUTHORIZED TO VERIFY, DDPRINT ADAI65 msg: EXCPVR IS BEING USED FOR THIS RUN Or EXCPVR IS NOT BEING USED FOR THIS RUN PGFIX = NO / YES ? RELEASE PAGES AFTER IO COMPLETE? IF EXCPVR, THEN ADARUN

110 EXCP vs EXCPVR TO TEST: 1. START NUC WITH APF-LIBS OR NOT
2. RUN PROGRAM (64K IO’S, 1.1M COMMANDS) 3. END NUC 4. MEASURE (SECONDS): TCB SRB CMDTIME DURATION ALTERNATE EXCP/EXCPVR RUN EACH 5 TIMES (VERSION 7.4.4)

111 EXCP vs EXCPVR RESULTS SRB TCB CMDTIME DURATION
ABOUT 2% BETTER WITH EXCPVR


Download ppt "ADABAS V8 AND MISCELLANEOUS TOPICS"

Similar presentations


Ads by Google