Upload
damaris-lockman
View
235
Download
3
Tags:
Embed Size (px)
Citation preview
ADABAS
Little Known Features
Natural Conference in Philadelphia, PA October 17-20, 2006
Dieter W. Storr [email protected]
October 2006 Dieter W. Storr -- [email protected]
2
Content ADAM Files Hyperdescriptors Coupling Multi-client Files
October 2006 Dieter W. Storr -- [email protected]
3
ADAM
Adabas Direct Access Method How it works Performance issues
Read access Write access
October 2006 Dieter W. Storr -- [email protected]
4
ADAM – How to Create
ADACMP ADAMER
ADAULDADALOD
ADAMFILE
ADABAS
ADABAS
REPORT
October 2006 Dieter W. Storr -- [email protected]
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
October 2006 Dieter W. Storr -- [email protected]
7
ADAMER Parameters
ERROR-076, Mandatory parameter MAXISN missing
October 2006 Dieter W. Storr -- [email protected]
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
October 2006 Dieter W. Storr -- [email protected]
9
ADAMER Parameters
BITRANGE=X,Y,ZBit Truncation for ADAM Keys X= minimum Y = maximum Z = incremental
October 2006 Dieter W. Storr -- [email protected]
10
ADAMER Parameters
DATASIZE=n1,n2,n3Data Storage Size for Estimates n1= min cylinders n2 = max cylinders n3 = increments For example:
DATASIZE=100,175,25
October 2006 Dieter W. Storr -- [email protected]
11
ADAMER LOAD
ADALOD LOAD FILE=xxx
ADALOD ADAMFILE ADAMDE=field | ISN
ADALOD ADAMOFLOW=size
ADALOD ADAMPARM=number | 0
<snip>
October 2006 Dieter W. Storr -- [email protected]
12
ADAMER LOAD16: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:18Contained in DA . TEST by M197/9 PDBnr ........... 200 PFnr ... 168 ADAM descriptor definition Field ID ........*
Parm .............
Overflow .........
Additional attributes ..* S
October 2006 Dieter W. Storr -- [email protected]
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
October 2006 Dieter W. Storr -- [email protected]
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
October 2006 Dieter W. Storr -- [email protected]
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
October 2006 Dieter W. Storr -- [email protected]
16
Hyperdescriptors How it works Hyperdescriptor Exits What Approach Pros and Cons
October 2006 Dieter W. Storr -- [email protected]
17
Hyperdescriptor Exit – Nucleus
HyperDE Exit
ADANUC
ASSO DATA
October 2006 Dieter W. Storr -- [email protected]
18
Hyperdescriptor Exits DDCARD
<snip>ADARUN DUALPLS=13500 ADARUN FASTPATH=NO ADARUN FMXIO=16
ADARUN HEX01=HYPEX001ADARUN HEX02=HYPEX002 ADARUN INTNAS=3432 ADARUN LBP=288000000<snip>
Assembler routines located on a concatenated ADABAS load library.
October 2006 Dieter W. Storr -- [email protected]
19
Hyperdescriptor Exit – Compress
ASSO DATA
ADACMP
HyperDE Exit
ADALOD
October 2006 Dieter W. Storr -- [email protected]
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
October 2006 Dieter W. Storr -- [email protected]
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
October 2006 Dieter W. Storr -- [email protected]
22
Hyperdescriptor Exit – ADAINV
HyperDE Exit
ADANUC
ASSO DATA
ADAINV
October 2006 Dieter W. Storr -- [email protected]
23
Hyperdescriptor Exits -- ADAINV DDCARD
<snip>
ADARUN PROGRAM=ADAINV
ADARUN HEX01=HYPEX001
ADARUN MODE=MULTI
<snip>
Uses exit located in ADABAS nucleus
October 2006 Dieter W. Storr -- [email protected]
24
Hyperdescriptor Exits – ADAINV DDKARTE
ADAINV INVERT FILE=xxxADAINV TEMPSIZE=100,SORTSIZE=50ADAINV HYPDE='1,DD,4,A,MU=AB,AC,AD‘
DD is assigned to hyperexit 1HyperDE DD (A4) consisting of fieldsAB,AC and AD
October 2006 Dieter W. Storr -- [email protected]
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'.
October 2006 Dieter W. Storr -- [email protected]
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
October 2006 Dieter W. Storr -- [email protected]
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
October 2006 Dieter W. Storr -- [email protected]
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
October 2006 Dieter W. Storr -- [email protected]
34
Use of Hyperdescriptors
Create "Superdescriptor" from variable numbers of basic fields Example from SAG-NA
October 2006 Dieter W. Storr -- [email protected]
35
Use of Hyperdescriptors
Create "Superdescriptor" from variable numbers of basic fields and files Example from SAG-NA
October 2006 Dieter W. Storr -- [email protected]
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
October 2006 Dieter W. Storr -- [email protected]
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
October 2006 Dieter W. Storr -- [email protected]
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
October 2006 Dieter W. Storr -- [email protected]
39
Use of Hyperdescriptors
Create special phonetic descriptors Summarize (compute) fields Create calculation routines Include compressed superdescriptors to
build a hyperdescriptor
October 2006 Dieter W. Storr -- [email protected]
40
Use of Hyperdescriptors
Create tables to check-out data Build special descriptors for record
types (entities) Suppress values Separate words Build word groups
October 2006 Dieter W. Storr -- [email protected]
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)
October 2006 Dieter W. Storr -- [email protected]
42
File Coupling Type
Logical Coupled Files Physical Coupled Files Soft Coupling
Natural Code ADABAS Direct Calls Pros and Cons
October 2006 Dieter W. Storr -- [email protected]
43
File Coupling
SALESMEN
#S-NR#A-NR
#S-NAME#S-COMM
AREA
#A-NR#S-NR
#A-TURNO
(0-N) belongs to
points to (N C)
Search salesmen with a commission of > 30% in an area with a planned turnover of more than 1 million.
October 2006 Dieter W. Storr -- [email protected]
44
File Coupling (Two Views)DDM DBID 0 DDM FNR 235 SALESMENT 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
October 2006 Dieter W. Storr -- [email protected]
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
October 2006 Dieter W. Storr -- [email protected]
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
October 2006 Dieter W. Storr -- [email protected]
47
TEST DBLOG MENU
17:05:35 ***** NATURAL TEST UTILITIES ***** 2006-06-29User 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 .. _
October 2006 Dieter W. Storr -- [email protected]
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
October 2006 Dieter W. Storr -- [email protected]
49
Coupled Files (Logical)TEST DBLOG MENU:
SALESMEN File 235:Search Buffer: AD,3,U.Value Buffer: 030Format 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: 0002901000000Format Buffer:AA,005,U,AB,005,U,AC,008,U.
S-NR
S-NR
October 2006 Dieter W. Storr -- [email protected]
50
Coupled Files (Logical)
Pros Cons
No denormalization, tables are still relational
Two FIND commands
No additional ASSO space
October 2006 Dieter W. Storr -- [email protected]
51
Physical Coupling File numbers < 255 One file can be coupled with up to
18 other files Descriptor (DE, UQ, XI) with
identical format and length in both files
October 2006 Dieter W. Storr -- [email protected]
52
Physical Coupling
ADABAS UTILITY ~ to couple two files
ADAINV COUPLE FILES=235,236ADAINV DESCRIPTOR=‘AA,AB’ADAINV TEMPSIZE=3335ADAINV SORTSIZE=5738ADAINV LWP=8268K
File 235 (SALESMEN) successfully processed File 236 (AREA ) successfully processed
October 2006 Dieter W. Storr -- [email protected]
53
Physical Coupling
ADABAS REPORT
* File 235 (SALESMEN ) *Coupled Files Descriptor AA coupled with Descriptor AB in file 236
•File 236 (AREA ) *•Coupled Files Descriptor AB coupled with• Descriptor AA in file 235
October 2006 Dieter W. Storr -- [email protected]
54
Physical Coupling0010 DEFINE DATA 0020 LOCAL USING LDA12345 /* two views 0030 END-DEFINE 0040 FIND SALESMEN WITH S-COMM = 30 0050 AND COUPLED TO AREA 0060 WITH A-TURNO > 1000000 0070 WRITE 0080 / 'Physical Coupling - 1 FIND' 0090 / 'FIND SALESMEN AND COUPLED TO AREA' 0100 / '=================================' / 0110 / 'S-NR from SALESMEN:' SALESMEN.S-NR 0120 / 'A-NR from SALESMEN:' SALESMEN.A-NR 0130 / 'S-NAME from SALESMEN:' SALESMEN.S-NAME 0140 / 'S-COMM from SALESMEN:' SALESMEN.S-COMM 0150 / 'S-NR from AREA....:' AREA.S-NR 0160 / 'A-NR from AREA....:' AREA.A-NR 0170 / 'A-TURNO from AREA....:' AREA.A-TURNO 0180 / 'ISN from SALESMEN....:' *ISN(0040) 0190 / 'ISN from AREA........:' 'n/a' 0200 END-FIND
October 2006 Dieter W. Storr -- [email protected]
55
Physical Coupling
Physical Coupling - 1 FINDFIND SALESMEN AND COUPLED TO AREA================================= S-NR from SALESMEN: 29 A-NR from SALESMEN: 79 S-NAME from SALESMEN: HUGO00029 S-COMM from SALESMEN: 30 S-NR from AREA....: 0 A-NR from AREA....: 0 A-TURNO from AREA....: 0 ISN from SALESMEN....: 15 ISN from AREA........: n/a
October 2006 Dieter W. Storr -- [email protected]
56
TEST DBLOG MENU
17:05:35 ***** NATURAL TEST UTILITIES ***** 2006-06-29User 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 .... COUPLPHY 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 .. _
October 2006 Dieter W. Storr -- [email protected]
57
Physical Coupling
TEST DBLOG MENU:
No Cmd DB FNR Rsp ISN ISQ 1 S1 200 235 15 1 2 RC 200
SB:/235/AD,3,U,D,/236/AC,8,U,GT.VB:03001000000 FB: AA,005,U,AB,005,U,AC,010,A,AD,003,U.RB: 0002900079HUGO00029 030
October 2006 Dieter W. Storr -- [email protected]
58
Physical Coupling
Number of ADABAS Calls:ONE S1 (FIND)
Direct Programming:File Salesmen: 235File Area: 236
Command: S5 ????File Number: 235Search Buffer: /22/PN,D,/103/TO.
October 2006 Dieter W. Storr -- [email protected]
59
Physical Coupling
Pros Cons
No denormalization, tables are still relational
Uncouple utility before maintenance
Faster access More ASSO space
One FIND only Longer update time
No DATA fields from the soft coupled file(s), in this case AREA
October 2006 Dieter W. Storr -- [email protected]
60
Coupled Files (Soft)
0010 DEFINE DATA 0020 LOCAL USING LDA12345 /* two views 0030 END-DEFINE 0040 FIND SALESMEN WITH S-COMM = 30 0050 AND COUPLED TO AREA VIA S-NR = S-NR 0060 WITH A-TURNO > 1000000 0070 WRITE 0080 / 'Soft Coupling - 1 FIND' 0090 / 'FIND SALESMEN AND COUPLED TO AREA VIA S-NR = S-NR' 0100 / '=================================================' / 0110 / 'S-NR from SALESMEN:' SALESMEN.S-NR 0120 / 'A-NR from SALESMEN:' SALESMEN.A-NR 0130 / 'S-NAME from SALESMEN:' SALESMEN.S-NAME 0140 / 'S-COMM from SALESMEN:' SALESMEN.S-COMM <snip> 0200 END-FIND
October 2006 Dieter W. Storr -- [email protected]
61
Coupled Files (Soft)
Soft Coupling - 1 FIND FIND SALESMEN AND COUPLED TO AREA VIA S-NR = S-NR ================================================= S-NR from SALESMEN: 29 A-NR from SALESMEN: 79 S-NAME from SALESMEN: HUGO00029 S-COMM from SALESMEN: 30 S-NR from AREA....: 0 A-NR from AREA....: 0 A-TURNO from AREA....: 0 ISN from SALESMEN....: 15 ISN from AREA........: n/a
October 2006 Dieter W. Storr -- [email protected]
62
Coupled Files (Soft)
TEST DBLOG MENU:
No Cmd DB FNR Rsp ISN ISQ 1 S1 200 235 15 1 2 RC 200
SB:(235,AA,236,AB)/235/AD,3,U,D,/236/AC,8,U,GT.VB:03001000000 FB:AA,005,U,AB,005,U,AC,010,A,AD,003,U.RB:0002900079HUGO00029 030
October 2006 Dieter W. Storr -- [email protected]
63
Coupled Files (Soft) Supported since
ADABAS 5.1 -- (1988)CMD: S1FNR: 135SB: (235,AA,236,AB)/235/AD,/236/AC.
NATURAL 2.2.1 – (<1998)(FIND … COUPLED TO….. VIA
October 2006 Dieter W. Storr -- [email protected]
64
Coupled Files (Soft)
Pros Cons
No denormalization, tables are still relational
No DATA fields from the soft coupled file, in this case AREA
Only one ADABAS FIND command (S1) + L1s
Reduced interregion communication
October 2006 Dieter W. Storr -- [email protected]
65
Multi-client Files
Since ADABAS 5.3.2, July 1994
Functions
How to load
Pros and cons
October 2006 Dieter W. Storr -- [email protected]
66
Multi-client Files
The owner ID is assigned to a user ID.
A user ID can have only one owner ID,
but an owner ID can belong to more
than one user.
Each user can access only the subset of
records that is associated with the
user's owner ID.
October 2006 Dieter W. Storr -- [email protected]
67
Multi-client Files
OWNERID
OWNERID
OWNERID
Physical File 20
Multiple
Logical
Files
October 2006 Dieter W. Storr -- [email protected]
68
Loading Multi-client Files
ADALOD LOAD FILE=20ADALOD LOWNERID=2,NUMREC=0
Creates file 20 as a multi-client file. The length of the internal owner ID is two bytes, but no actual owner ID (ETID) is specified. No records are actually loaded in the file (NUMREC=0).
October 2006 Dieter W. Storr -- [email protected]
69
Loading Multi-client Files
ADALOD LOAD FILE=20ADALOD LOWNERID=2,ETID=USER1Creates file 20 as a multi-client file, load all supplied records, and assign them to user USER1. The length of the internal owner ID is two bytes.
October 2006 Dieter W. Storr -- [email protected]
70
Loading Multi-client Files
ADALOD UPDATE FILE=20ADALOD ETID=USER2
Performs a mass update to add records to file 20, a multi-client file. Load all the new records and assign them to USER2.
October 2006 Dieter W. Storr -- [email protected]
71
Loading Multi-client Files12:25:16 ***** 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:18Contained in DA . TEST by M197/9 PDBnr ........... 200 PFnr ... 020 Adabas Security definition Access level ........... (0-15) Update level ........... (0-15) Loading attributes Ciphered ............... N (Y,N) LOWNERID ............... 2 (0-8) Refresh from program ... N (Y,N) Automatic allocation ... Y (Y,N) PLOG ................... Y (Y,N) ISN size ..............* 0 Erase .................. N (Y,N) Index compression ...... N (Y,N)
October 2006 Dieter W. Storr -- [email protected]
73
Users Experiences
Unload production data by using ADAUNLD and SEL-CRIT= <switch> one-byte descriptor
Load into test environment with UPDATE and ETID Coupled ETID as OWNER-ID to the user who wants
to test. Reset <switch> in production Delete the records in the test-environment by
coupling the ETID to the userid
A Danish user reported in 2002 to use the feature since 8 years. (Source: SAG-L)
October 2006 Dieter W. Storr -- [email protected]
74
Users Experiences
Keep the unloaded files on request, so they
can re-load the test set with another ETID.
Be aware of file changes between the
different environments, especially if you keep
the unloaded files for a while.
Be aware of UQ descriptors if you ADALOD
UPDATE the testset.
October 2006 Dieter W. Storr -- [email protected]
75
Users Experiences
We are working with multi-client files in development and acceptance environment. It works great and smoothly.
A little more maintenance sometimes when it comes to file changes. Then, you have to unload/decompress/compress/load the first set of data. And unload/decompress/compress/update the others.
A user from Holland (NL) reported in 1999 on SAG-L: