1 / 76

ADABAS

ADABAS. Little Known Features Natural Conference in Philadelphia, PA October 17-20, 2006 Dieter W. Storr info@storrconsulting.com. Content. ADAM Files Hyperdescriptors Coupling Multi-client Files. ADAM. A dabas D irect A ccess M ethod How it works Performance issues

misu
Download Presentation

ADABAS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ADABAS Little Known Features Natural Conference in Philadelphia, PA October 17-20, 2006 Dieter W. Storr info@storrconsulting.com

  2. Content • ADAM Files • Hyperdescriptors • Coupling • Multi-client Files Dieter W. Storr -- info@storrconsulting.com

  3. ADAM Adabas Direct Access Method • How it works • Performance issues • Read access • Write access Dieter W. Storr -- info@storrconsulting.com

  4. ADAM – How to Create ADACMP ADAMER REPORT ADALOD ADAMFILE ADABAS ADAULD ADABAS Dieter W. Storr -- info@storrconsulting.com

  5. ADAM • Measurements and evaluations • ADAMPARM • ADAMOFLOW • DSSIZE • I/Os with FINDs and value not found, key values -1 to -99 • I/Os with hit rate 100% for ADAM and not ADAM descriptors • What happened if poor distribution of ADAM key • - Pros and Cons Dieter W. Storr -- info@storrconsulting.com

  6. ADAM Dieter W. Storr -- info@storrconsulting.com

  7. ADAMER Parameters ERROR-076, Mandatory parameter MAXISN missing Dieter W. Storr -- info@storrconsulting.com

  8. ADAMER Parameters ADAMDE=UQ DE or ISN • No sub-, super-, hyper-, collation, or phonetic descriptor • No MU or PE field • No variable length field • No NU defined descriptor Dieter W. Storr -- info@storrconsulting.com

  9. ADAMER Parameters BITRANGE=X,Y,Z Bit Truncation for ADAM Keys • X= minimum • Y = maximum • Z = incremental Dieter W. Storr -- info@storrconsulting.com

  10. ADAMER Parameters DATASIZE=n1,n2,n3 Data Storage Size for Estimates • n1= min cylinders • n2 = max cylinders • n3 = increments • For example: DATASIZE=100,175,25 Dieter W. Storr -- info@storrconsulting.com

  11. ADAMER LOAD ADALOD LOAD FILE=xxx ADALOD ADAMFILE ADAMDE=field | ISN ADALOD ADAMOFLOW=size ADALOD ADAMPARM=number | 0 <snip> Dieter W. Storr -- info@storrconsulting.com

  12. ADAMER LOAD 16:35:10 ***** P R E D I C T 4.3.2 ***** 2006-08-22 - Modify Adabas attributes - File ID ......... TEST-BROY Added 2005-02-28 at 13:18 Contained in DA . TEST by M197/9 PDBnr ........... 200 PFnr ... 168 ADAM descriptor definition Field ID ........* Parm ............. Overflow ......... Additional attributes ..* S Dieter W. Storr -- info@storrconsulting.com

  13. ADAMER Disadvantages ADAM key is not unique • Determine DS block with ADAM routine • Search DS block in buffer pool • DS block is not in buffer pool • DATA I/O to copy block into buffer pool • DS block not found • Access via normal descriptor in ASSO Dieter W. Storr -- info@storrconsulting.com

  14. ADAMER Disadvantages ADAM key is not unique – cont’ • Search ASSO block in buffer pool • ASSO I/O to copy block into buffer pool • Found DE with ISN? • NO: record not found • YES: read AC and translate ISN to RABN • AC is normally in buffer pool, no I/O Dieter W. Storr -- info@storrconsulting.com

  15. ADAMER Disadvantages ADAM key is not unique – cont’ • Access to DS overflow area • DS overflow area not in buffer pool • DATA I/O to copy block into buffer pool • Record is ready to be displayed Dieter W. Storr -- info@storrconsulting.com

  16. Hyperdescriptors • How it works • Hyperdescriptor Exits • What Approach • Pros and Cons Dieter W. Storr -- info@storrconsulting.com

  17. Hyperdescriptor Exit – Nucleus ADANUC HyperDE Exit ASSO DATA Dieter W. Storr -- info@storrconsulting.com

  18. Hyperdescriptor Exits DDCARD Assembler routines located on a concatenated ADABAS load library. <snip> ADARUN DUALPLS=13500 ADARUN FASTPATH=NO ADARUN FMXIO=16 ADARUN HEX01=HYPEX001 ADARUN HEX02=HYPEX002 ADARUN INTNAS=3432 ADARUN LBP=288000000 <snip> Dieter W. Storr -- info@storrconsulting.com

  19. Hyperdescriptor Exit – Compress ADACMP HyperDE Exit ADALOD ASSO DATA Dieter W. Storr -- info@storrconsulting.com

  20. Hyperdescriptor Exits -- ADACMP DDCARD <snip> ADARUN DBID=919,SVC=254 ADARUN DEVICE=9990,LP=65535 ADARUN PROGRAM=ADACMP ADARUN HEX01=HYPEX001 ADARUN MODE=MULTI <snip> Exit 1 assembler routine located on a load library, which is part of the ADACMP JCL Dieter W. Storr -- info@storrconsulting.com

  21. Hyperdescriptor Exits – ADACMP DDKARTE ADACMP COMPRESS ADACMP FNDEF='01,AA,7,A,DE,FI' Field AA ADACMP FNDEF='01,AB,15,A,DE,MU,NU' Field AB ADACMP FNDEF='01,GA' Group GA ADACMP FNDEF='02,AC,15,A,NU' Field AC ADACMP FNDEF='02,AD,2,P,FI' Field AD ADACMP FNDEF='02,AE,5,P,NU' Field AE ADACMP FNDEF='02,AF,6,W' Field AF ADACMP COLDE='7,Y1=AF' Collation descriptor Y1 ADACMP SUBDE='BB=AA(1,4)' Subdescriptor BB ADACMP SUPDE='CC=AA(1,4),AD(1,1)' Superdescriptor CC ADACMP HYPDE='1,DD,4,A,MU=AB,AC,AD‘ Hyperdescriptor DD ADACMP PHONDE='EE(AA)' Phonetic descriptor EE ADACMP SUBFN='FF=AA(1,2)' Subfield FF ADACMP SUPFN='GG=AA(1,4),AD(1,1)' Superfield GG Dieter W. Storr -- info@storrconsulting.com

  22. Hyperdescriptor Exit – ADAINV ADAINV ADANUC HyperDE Exit ASSO DATA Dieter W. Storr -- info@storrconsulting.com

  23. Hyperdescriptor Exits -- ADAINV DDCARD <snip> ADARUN PROGRAM=ADAINV ADARUN HEX01=HYPEX001 ADARUN MODE=MULTI <snip> Uses exit located in ADABAS nucleus Dieter W. Storr -- info@storrconsulting.com

  24. Hyperdescriptor Exits – ADAINV DDKARTE ADAINV INVERT FILE=xxx ADAINV TEMPSIZE=100,SORTSIZE=50 ADAINV HYPDE='1,DD,4,A,MU=AB,AC,AD‘ DD is assigned to hyperexit 1 HyperDE DD (A4) consisting of fields AB,AC and AD Dieter W. Storr -- info@storrconsulting.com

  25. Hyperdescriptor Exit Dieter W. Storr -- info@storrconsulting.com

  26. Hyperdescriptor ExitInput Dieter W. Storr -- info@storrconsulting.com

  27. Hyperdescriptor ExitOutput Dieter W. Storr -- info@storrconsulting.com

  28. Hyperdescriptor Exit -- Assembler Example ADABAS.ADA742.SRCE(USERHX01) ADABAS.ADA811.SRCE(USERHX01) 000021 * SAMPLE HYPER-EXIT ROUTINE TO BE USED TOGETHER WITH 000022 * FILE 2 (AUTOMOBILES) TO CREATE THE VALUES FOR THE 000023 * HYPERDESCRIPTOR HA: 000025 * HYPDE='1,HA,20,A,MU,NU=AA,AB,AC' 000027 * WHERE: 000029 * FNDEF='1,AA,20,A,NU' 000030 * FNDEF='1,AB,20,A,NU' 000031 * FNDEF='1,AC,15,A,NU' 000033 * THE FIELDS 'AA','AB' AND 'AC' CONTAINS THE 'MAKE','MODEL' 000034 * AND THE 'BODY'-DESCRIPTION OF A CAR. THE VALUES OF THOSE 000035 * FIELDS MAY CONSIST OF TWO VERBS DELIMITED BY A BLANK. 000036 * E.G. AA='GENERAL MOTORS'. Dieter W. Storr -- info@storrconsulting.com

  29. Hyperdescriptor Exit – UNIX/Win Dieter W. Storr -- info@storrconsulting.com

  30. Hyperdescriptor Exit – UNIX/Win Control Block Dieter W. Storr -- info@storrconsulting.com

  31. Hyperdescriptor Exit – UNIX/Win The routines should be written in the C programming language. The user must be present as a dynamic shared library. hy_mode = HY_REENTRANT hy_dlng = data transfer buffer length hy_xlng = index transfer buffer length hy_ilng = isn transfer buffer length (0 = not used) hy_plng = periodic transfer buffer length (0 = not used) hy_flng = optional: own FB length (0 = not used) hy_fptr = optional: own FB <snip> See ADABAS 5.1.3 Manual, User Exits and Hyperexits Dieter W. Storr -- info@storrconsulting.com

  32. Hyperdescriptor Exit Exit only called for update commands, for example STORE, UPDATE Not used for READ / FIND / HISTOGRAM 3.3 / 6.2 / 7.1 / 7.4  zaps @ SL24 Dieter W. Storr -- info@storrconsulting.com

  33. Use of Hyperdescriptors • Create "Superdescriptor" from more than 5 / 20 basic fields • Example from a German company • ADA51: Not clear how to handle NU fields • Field is in input parameter but leave the exit w/o filling the output parameter – why NU in hyper definition? • Customer wishes better documentation and more examples Dieter W. Storr -- info@storrconsulting.com

  34. Use of Hyperdescriptors • Create "Superdescriptor" from variable numbers of basic fields • Example from SAG-NA Dieter W. Storr -- info@storrconsulting.com

  35. Use of Hyperdescriptors • Create "Superdescriptor" from variable numbers of basic fields and files • Example from SAG-NA Dieter W. Storr -- info@storrconsulting.com

  36. Use of Hyperdescriptors • Translate from lower to upper case • Example from the Swiss government Bern • Store info in upper/lower case • For search in upper case only Dieter W. Storr -- info@storrconsulting.com

  37. Use of Hyperdescriptors • Translate from lower to upper case and “Umlaute” • Example from a German company, Bremen • ä/Ä = AE, ü/Ü = UE, ß = SS, ö/Ö = OE • Store info in upper case • Can be sorted • Predict: define as HY Dieter W. Storr -- info@storrconsulting.com

  38. Use of Hyperdescriptors • Create complementary values • Example from SAG-NA • Numeric values can be read in descending order • Since ADA6 hyperexit is no longer necessary:READ IN DESCENDING ORDER Dieter W. Storr -- info@storrconsulting.com

  39. Use of Hyperdescriptors • Create special phonetic descriptors • Summarize (compute) fields • Create calculation routines • Include compressed superdescriptors to build a hyperdescriptor Dieter W. Storr -- info@storrconsulting.com

  40. Use of Hyperdescriptors • Create tables to check-out data • Build special descriptors for record types (entities) • Suppress values • Separate words • Build word groups Dieter W. Storr -- info@storrconsulting.com

  41. Hyperdescriptor Exit ADA81:For extended MU/PU fields HEXV8V7 Must be linked with existing hyperdescriptor But: module not found inADABAS Version 8.1.0 (Beta Test II)ADABAS Version 8.1.1 (+ L002) Dieter W. Storr -- info@storrconsulting.com

  42. File Coupling • Type • Logical Coupled Files • Physical Coupled Files • Soft Coupling • Natural Code • ADABAS Direct Calls • Pros and Cons Dieter W. Storr -- info@storrconsulting.com

  43. File Coupling (0-N) belongs to SALESMEN #S-NR#A-NR#S-NAME#S-COMM AREA #A-NR#S-NR#A-TURNO points to (N C) Search salesmen with a commission of > 30% in an area with a planned turnover of more than 1 million. Dieter W. Storr -- info@storrconsulting.com

  44. File Coupling (Two Views) DDM DBID 0 DDM FNR 235 SALESMEN T L DB Name F Leng S D Re - - -- ------------------- - ---- - - -- 1 AA S-NR N 5.0 N D 1 AB A-NR N 5.0 N D 1 AC S-NAME A 10 N 1 AD S-COMM N 3.0 N D DDM DBID 0 DDM FNR 236 AREA 1 AA A-NR N 5.0 N D 1 AB S-NR N 5.0 N D 1 AC A-TURNO N 8.0 N D Dieter W. Storr -- info@storrconsulting.com

  45. Coupled Files (Logical) 0010 DEFINE DATA 0020 LOCAL USING LDA12345 /* two views 0030 END-DEFINE 0040 FIND SALESMEN WITH S-COMM = 30 0050 FIND AREA WITH AREA.S-NR = SALESMEN.S-NR 0060 AND A-TURNO > 1000000 0070 WRITE /* TITLE 'Logical coupled - 2 FINDs' 0080 / 'Logical Coupled - 2 FINDs' 0090 / '=========================' / 0100 / 'S-NR from SALESMEN:' SALESMEN.S-NR 0110 / 'A-NR from SALESMEN:' SALESMEN.A-NR 0120 / 'S-NAME from SALESMEN:' SALESMEN.S-NAME 0130 / 'S-COMM from SALESMEN:' SALESMEN.S-COMM 0140 / 'S-NR from AREA....:' AREA.S-NR 0150 / 'A-NR from AREA....:' AREA.A-NR 0160 / 'A-TURNO from AREA....:' AREA.A-TURNO 0170 / 'ISN from SALESMEN...:' *ISN(0040) 0180 / 'ISN from AREA.......:' *ISN(0050) 0190 END-FIND 0200 END-FIND Dieter W. Storr -- info@storrconsulting.com

  46. Coupled Files (Logical) Logical Coupled - 2 FINDs ========================= S-NR from SALESMEN: 29 A-NR from SALESMEN: 79 S-NAME from SALESMEN: HUGO00029 S-COMM from SALESMEN: 30 S-NR from AREA....: 29 A-NR from AREA....: 79 A-TURNO from AREA....: 1000001 ISN from SALESMEN...: 15 ISN from AREA.......: 15 Dieter W. Storr -- info@storrconsulting.com

  47. 17:05:35 ***** NATURAL TEST UTILITIES ***** 2006-06-29 User ZINDWS - DBLOG Menu - Library LBZINDWS Code Function B Begin Logging of Adabas Commands E End and Display Log Records S Snapshot of Specific Adabas Commands . Exit Code .. b Command .. _Skip ....... _ Program .... COUPLLOG DBID ..... _FNR ........ _ Line from .. 0000 Low Resp . _High Resp .. 9999_Line to .... 0000 Optional Buffers for Code B FB .. x RB .. x SB .. x VB .. x IB .. _ TEST DBLOG MENU Dieter W. Storr -- info@storrconsulting.com

  48. Coupled Files (Logical) No Cmd DB FNR Rsp ISN ISQ 1 S1 200 235 15 1 2 S1 200 236 15 1 3 RC 200 Dieter W. Storr -- info@storrconsulting.com

  49. Coupled Files (Logical) TEST DBLOG MENU: SALESMEN File 235: Search Buffer: AD,3,U. Value Buffer: 030 Format Buffer: AA,005,U,AB,005,U,AC,010,A,AD,003,U. AREA File 236: Search Buffer: AB,5,U,D,AC,8,U,GT. Value Buffer: 0002901000000 Format Buffer: AA,005,U,AB,005,U,AC,008,U. S-NR S-NR Dieter W. Storr -- info@storrconsulting.com

  50. Coupled Files (Logical) Dieter W. Storr -- info@storrconsulting.com

More Related