DCL SPCPTR .PARM1 PARM; DCL DD PARM-IN-MEMBER CHAR(10) BAS(.PARM1); DCL SPCPTR .PARM2 PARM; DCL DD PARM-IN-FILE CHAR(10) BAS(.PARM2); DCL SPCPTR .PARM3 PARM; DCL DD PARM-IN-LIBRARY CHAR(10) BAS(.PARM3); DCL SPCPTR .PARM4 PARM; DCL DD PARM-INDEX CHAR(10) BAS(.PARM4); DCL SPCPTR .PARM5 PARM; DCL DD PARM-LIBRARY CHAR(10) BAS(.PARM5); DCL OL PARMS(.PARM1, .PARM2, .PARM3, .PARM4, .PARM5) EXT PARM MIN(5); DCL DD RESOLVE CHAR(34); DCL DD RESOLVE-TYPE CHAR( 2) DEF(RESOLVE) POS( 1); DCL DD RESOLVE-NAME CHAR(30) DEF(RESOLVE) POS( 3); DCL DD RESOLVE-AUTH CHAR( 2) DEF(RESOLVE) POS(33) INIT(X'0000'); /********************************************************************/ ENTRY * (PARMS) EXT; CPYBLA RESOLVE-TYPE, X'0201'; CPYBLAP RESOLVE-NAME, "MIKWDIDX", " "; RSLVSP .MIKWDIDX, RESOLVE, *, *; FIND-MEMBERS: CPYBLAP ML-US-SPACE , "MIFILIDX", " "; CPYBLAP ML-US-LIBRARY, "QTEMP" , " "; CALLX .SEPT(5391), QUSCRTUS, *; /* CREATE USER SPACE */ CALLX .SEPT(5396), QUSPTRUS, *; /* GET POINTER TO SPACE */ CPYBLA ML-DB-FILE , PARM-IN-FILE; CPYBLA ML-DB-LIBRARY, PARM-IN-LIBRARY; CPYBLA ML-MEMBERS , PARM-IN-MEMBER; /* E.G. GENERIC: MI* */ CALLX .SEPT(5093), QUSLMBR , *; ADDSPP .US-SPACE, .US-SPACE, 512; /* POINT TO MEMBER LIST */ NEXT-MEMBER: CMPBLA(B) MEMBER, " "/NHI(DONE); CALLX .MIKWDIDX, MIKWDIDX, *; ADDSPP .US-SPACE, .US-SPACE, 10; B NEXT-MEMBER; DONE: CALLI SHOW-STATISTICS, *, .SHOW-STATISTICS; RTX *; DCL SPCPTR .US-SPACE-PTR INIT(US-SPACE-PTR); DCL DD US-SPACE-PTR CHAR(16) BDRY(16); DCL SPCPTR .US-SPACE DEF(US-SPACE-PTR) POS(1); DCL DD MEMBER CHAR(10) BAS(.US-SPACE); DCL SYSPTR .MIKWDIDX; DCL OL MIKWDIDX (.US-SPACE, .PARM2, .PARM3, .PARM4, .PARM5) ARG; DCL SYSPTR .LIB; DCL SYSPTR .IDX; DCL SPCPTR .IDX-ATTR INIT(IDX-ATTR); DCL DD IDX-ATTR CHAR(113) BDRY(16); DCL DD IDX-BYTES-PROV BIN(4) DEF(IDX-ATTR) POS( 1) INIT(113); DCL DD IDX-BYTES-AVAIL BIN(4) DEF(IDX-ATTR) POS( 5); DCL DD IDX-TYPES-NAME CHAR(32) DEF(IDX-ATTR) POS( 9); DCL DD IDX-CRT-ATTRS CHAR(4) DEF(IDX-ATTR) POS( 41); DCL DD IDX-SIZE-OF-SPACE BIN(4) DEF(IDX-ATTR) POS( 49); DCL DD IDX-INSERTS UNSGND BIN(4) DEF(IDX-ATTR) POS(102); DCL DD IDX-REMOVES UNSGND BIN(4) DEF(IDX-ATTR) POS(106); DCL DD IDX-FINDS UNSGND BIN(4) DEF(IDX-ATTR) POS(110); DCL DD ENTRIES-INSERTED ZND(10,0); DCL DD ENTRIES-REMOVED ZND(10,0); DCL DD ENTRIES-TOTAL ZND(10,0); DCL INSPTR .SHOW-STATISTICS; ENTRY SHOW-STATISTICS INT; CPYBLA RESOLVE-TYPE, X'0401'; CPYBLAP RESOLVE-NAME, PARM-LIBRARY, " "; RSLVSP .LIB, RESOLVE, *, *; CPYBLA RESOLVE-TYPE, X'0E0A'; CPYBLAP RESOLVE-NAME, PARM-INDEX, " "; RSLVSP .IDX, RESOLVE, .LIB, *; MATINXAT .IDX-ATTR, .IDX; CPYNV ENTRIES-INSERTED, IDX-INSERTS; CPYNV ENTRIES-REMOVED , IDX-REMOVES; SUBN ENTRIES-TOTAL , IDX-INSERTS, IDX-REMOVES; CPYBLAP MSG-TEXT, "Inserted=1234567890, Removed=1234567890, Total=1234567890", " "; /* 12345678[0123456789]123456789[1234567890]2345678[0123456789] */ CPYBLA MSG-TEXT(10:10), ENTRIES-INSERTED; CPYBLA MSG-TEXT(31:10), ENTRIES-REMOVED; CPYBLA MSG-TEXT(50:10), ENTRIES-TOTAL; CALLI SHOW-MESSAGE, *, .SHOW-MESSAGE; B .SHOW-STATISTICS; %INCLUDE SHOWMSG DCL SPCPTR .ML-USER-SPACE INIT(ML-USER-SPACE); DCL DD ML-USER-SPACE CHAR(20); DCL DD ML-US-SPACE CHAR(10) DEF(ML-USER-SPACE) POS( 1); DCL DD ML-US-LIBRARY CHAR(10) DEF(ML-USER-SPACE) POS(11); DCL SPCPTR .ML-FORMAT INIT(ML-FORMAT); DCL DD ML-FORMAT CHAR(8) INIT("MBRL0100"); DCL SPCPTR .ML-DATABASE-FILE INIT(ML-DATABASE-FILE); DCL DD ML-DATABASE-FILE CHAR(20); DCL DD ML-DB-FILE CHAR(10) DEF(ML-DATABASE-FILE) POS( 1); DCL DD ML-DB-LIBRARY CHAR(10) DEF(ML-DATABASE-FILE) POS(11); DCL SPCPTR .ML-MEMBERS INIT(ML-MEMBERS); DCL DD ML-MEMBERS CHAR(10); /* *ALL, Generic*, Name */ DCL SPCPTR .ML-OVERRIDES INIT(ML-OVERRIDES); DCL DD ML-OVERRIDES CHAR(1) INIT("0"); /* NONE */ DCL SPCPTR .XX-ERROR INIT(XX-ERROR); DCL DD XX-ERROR BIN(4) INIT(0); /* PERCOLATE ERROR */ DCL OL QUSLMBR (.ML-USER-SPACE, .ML-FORMAT, .ML-DATABASE-FILE, .ML-MEMBERS, .ML-OVERRIDES, .XX-ERROR) ARG; DCL SPCPTR .US-EXTENDED-ATTRIBUTE INIT(US-EXTENDED-ATTRIBUTE); DCL DD US-EXTENDED-ATTRIBUTE CHAR(10) INIT(" "); DCL SPCPTR .US-INITIAL-SIZE INIT(US-INITIAL-SIZE); DCL DD US-INITIAL-SIZE BIN(4) INIT(4096); /* ONE PAGE */ DCL SPCPTR .US-INITIAL-VALUE INIT(US-INITIAL-VALUE); DCL DD US-INITIAL-VALUE CHAR(1) INIT(X'00'); DCL SPCPTR .US-PUBLIC-AUTHORITY INIT(US-PUBLIC-AUTHORITY); DCL DD US-PUBLIC-AUTHORITY CHAR(10) INIT("*ALL "); DCL SPCPTR .US-TEXT-DESCRIPTION INIT(US-TEXT-DESCRIPTION); DCL DD US-TEXT-DESCRIPTION CHAR(50) INIT(" "); DCL SPCPTR .US-REPLACE INIT(US-REPLACE); DCL DD US-REPLACE CHAR(10) INIT("*YES "); DCL OL QUSCRTUS (.ML-USER-SPACE, .US-EXTENDED-ATTRIBUTE, .US-INITIAL-SIZE, .US-INITIAL-VALUE, .US-PUBLIC-AUTHORITY, .US-TEXT-DESCRIPTION, .US-REPLACE, .XX-ERROR) ARG; DCL OL QUSPTRUS (.ML-USER-SPACE, .US-SPACE-PTR, .XX-ERROR) ARG;