* %GOTO CTGPLX01; /* 00050002 MACRO 00100002 IEZCTGPL , 00150002 DSECT , */ 00160002 * %CTGPLX01:; 00200002 */********************************************************************/ 03000004 */* */ 03001004 */* MACRO NAME = IEZCTGPL */ 03002004 */* */ 03003004 */* DESCRIPTIVE NAME = CATALOG PARAMETER LIST */ 03004004 */* */ 03005004 */* FUNCTION = THE CATALOG PARAMETER LIST (CTGPL) DEFINES THE */ 03006004 */* CATALOG MANAGEMENT REQUEST AND ITS OPTIONS, THE */ 03007004 */* CATALOG RECORD TO BE PROCESSED, AND THE VSAM */ 03008004 */* CATALOG THAT CONTAINES THE RECORD. THE CTGPL IS */ 03009004 */* BUILT BEFORE AN OS/VS COMPONENT ISSUES THE CATLG */ 03010004 */* MACRO INSTRUCTION (SVC 26) TO PROCESS A CATALOG */ 03011004 */* RECORD. WHEN THE CATALOG MANAGEMENT ROUTINES */ 03012004 */* BUILD A CCA TO SUPPORT THE REQUEST, THE ADDRESS */ 03013004 */* OF THE CTGPL IS PUT INTO THE CCA (CCACPL). */ 03014004 */* */ 03015004 */* CONTROL BLOCK STRUCTURE = THE CTGPL IS POINTED TO BY */ 03016004 */* REGISTER 1. */ 03017004 */* */ 03018004 */* INCLUDED MACROS = NONE */ 03019004 */* */ 03020004 */* METHOD OF ACCESS = PL/S - NO DECLARES NECESSARY */ 03021004 */* */ 03022004 */* STATUS = VS/2 RELEASE 4 (CHANGE FLAG @Z40WSXX) @Z40WSSG*/ 03023000 */* */ 03024000 */* DATE OF LAST CHANGE = 16 AUG 77 @ZA20773*/ 03025000 */* */ 03026004 */********************************************************************/ 03027004 *%GOTO CTGPLX03; 03077037 */* 03200037 AGO .CTGPL01 */ 03250002 *%CTGPLX03:; 03300037 *%DECLARE (CTGPLLEN, CTGPL999, CTGPLLVL) CHAR; 04000037 *%CTGPLLEN = 'LENGTH(CTGPL)'; /* LENGTH OF CTGPL */ 04500037 *%IF CTGPL999 ^= ',' /* IF BLOCK NOT CONTINUED, */ 05000037 * %THEN %CTGPL999 = ';'; /* THEN CLOSE DCL STATEMENT */ 06000037 *%IF CTGPLLVL = '' /* IF BLOCK NOT CONCATENATED, */ 07000037 * %THEN %GOTO CTGPL001; /* THEN GENERATE DCL */ 08000037 *%CTGPLDUM = CTGPLLVL||' CTGPL'; /* SET MINOR LEVEL NUMBER */ 09000037 * CTGPLDUM /* CTGPL CONCATENATED LEVEL */ 10000037 *%GOTO CTGPL002; /* SKIP DECLARE */ 11000037 *%CTGPL001:; /* DECLARE */ 12000037 * DECLARE 12500037 * 1 CTGPL BASED(CTGPLPTR) /* DECLARE CTGPL LEVEL ONE */ 13000037 *%CTGPL002:; /* SKIP DECLARE */ 14000037 * BDY(WORD), /* WORD BOUNDARY */ 15000037 * 5 CTGOPTN1 BIT(8), /* FIRST OPTION INDICATOR */ 16000037 * 10 CTGBYPSS BIT(1), /* BYPASS */ 17000037 * 10 CTGMAST BIT(1), /* VERIFY MASTER PASSWORD */ 18000037 * 10 CTGCI BIT(1), /* VERIFY CONTROL INTERVAL */ 19000037 * 10 CTGUPD BIT(1), /* VERIFY UPDATE */ 20000037 * 10 CTGREAD BIT(1), /* VERIFY READ */ 21000037 * 10 CTGNAME BIT(1), /* 1 = 44-BYTE NAME OR VOL SER, */ 22000037 * /* 0 = ENTRY ID NUMBER */ 23000037 * 10 CTGCNAME BIT(1), /* 1 = 44-BYTE NAME, */ 24000037 * /* 0 = ACB ADDRESS */ 25000037 * 10 CTGGENLD BIT(1), /* GENERIC LOCATE REQUEST Y02020*/ 26000037 * 5 CTGOPTN2 BIT(8), /* SECOND OPTION INDICATOR */ 27000037 * 10 CTGEXT BIT(1), /* EXTEND (UPDATE) */ 28000037 * 15 CTGNSVS BIT(1), /* CATLG CLEANUP REQUEST @ZA00605*/ 28050037 * 10 CTGERASE BIT(1), /* ERASE (DELETE) */ 29000037 * 15 CTGSMF BIT(1), /* WRITE SMF (LSPACE) */ 30000037 * 20 CTGREL BIT(1), /* RELEASE (UPDATE) */ 31000037 * 25 CTGGTALL BIT(1),/* CONCAT SEARCH FOR Y02020*/ 31050037 * /* (LISTCAT) Y02020*/ 31100037 * 10 CTGPURG BIT(1), /* PURGE (DELETE) */ 32000037 * 15 CTGVMNT BIT(1), /* VOLUME MOUNT CALLER */ 33000037 * 20 CTGRCATN BIT(1), /* RTN CATLG NAME(GLOC) Y02020*/ 33010004 * 25 CTGSWAP BIT(1),/* SWAPSPACE (DEFINE) @Z40WSSG*/ 33050004 * 10 CTGGTNXT BIT(1), /* GET NEXT (LIST CATALOG) */ 34000037 * 10 CTGDISC BIT(1), /* DISCONNECT (DELETE) */ 35000037 * 10 CTGOVRID BIT(1), /* ERASE OVERRIDE (DELETE) */ 36000037 * 10 CTGSCR BIT(1), /* SCRATCH SPACE (DELETE) */ 37000037 * 10 * BIT(1), /* RESERVED */ 38000037 * 5 CTGOPTN3 BIT(8), /* THIRD OPTION INDICATOR */ 39000037 * 10 CTGFUNC BIT(3), /* CATALOG FUNCTION */ 40000037 * 10 CTGSUPLT BIT(1), /* SUPER LOCATE */ 45000037 * 10 CTGGDGL BIT(1), /* GDG LOCATE REQUEST Y02020*/ 46000037 * /* WITH BASE LEVEL GIVEN Y02020*/ 46100037 * /* (CTGWAGB IN CTGWA) Y02020*/ 46150037 * 10 CTGSRH BIT(1), /* 0 = SEARCH MASTER CATLG Y02020*/ 47000037 * /* ONLY Y02020*/ 47050037 * /* 1 = SEARCH OS CATALOG FIRST */ 48000037 * 10 CTGNUM BIT(1), /* 0 = SEARCH BOTH CATALOGS, */ 49000037 * /* 1 = SEARCH ONE CATALOG */ 50000037 * 10 CTGAM0 BIT(1), /* VSAM REQ VERSUS NONVSAM */ 51000037 * 5 CTGOPTN4 BIT(8), /* GDG FLAGS */ 52000037 * 10 CTGLBASE BIT(1), /* LOCATE GDG BASE ONLY Y02020 */ 52050037 * 10 CTGDOCAT BIT(1), /* DO NOT OPEN NEEDED CATALOG */ 52100037 * 10 CTGNPROF BIT(1), /* NO (RAC) PROFILE SHOULD BE 52150000 * DEFINED OR DELETED @Z40RSRC*/ 52170000 * 10 CTGCOIN BIT(1), /* CONTROLLER INTERCEPT REQUESTED 52190000 * @ZA20773*/ 52250037 * 10 CTGBYPMT BIT(1), /* BYPASS SECURITY PROMPTING 52300037 * TO SYSTEM OPERATOR @ZA07531*/ 52350037 * 10 CTGTIOT BIT(1), /* CALLER OWNS SYSZTIOT EXCLUSIVE 52400037 * @ZA20773*/ 52410000 * 10 * BIT(2), /* RESERVED @ZA20773*/ 52460000 * 5 CTGENT PTR(31), /* USER ENTRY ADDR OR PTR TO VOLUME 53000037 * SERIAL NUMBER (LSPACE) */ 54000037 * 10 CTGFVT PTR(31), /* FVT ADDRESS (DEFINE, ALTER) */ 55000037 * 5 CTGCAT PTR(31), /* CATALOG POINTER */ 56000037 * 10 CTGCVOL PTR(31), /* CVOL PTR (SUPER LOCATE) */ 57000037 * 5 CTGWKA PTR(31), /* WORKAREA ADDR */ 58000037 * 5 CTGDSORG CHAR(2), /* DATA SET ORG - SUPERLOCATE */ 59000037 * 10 CTGOPTNS BIT(5), /* CMS OPTIONS */ 60000037 * 10 * BIT(11), /* RESERVED */ 65000037 * 5 CTGTYPE CHAR(1), /* ENTRY TYPE - LISTCAT, DELETE */ 66000037 * 5 CTGNOFLD PTR(8), /* NUMBER OF FIELD POINTERS */ 74000037 * 5 CTGDDNM PTR(31), /* DD NAME ADDR */ 75000037 * 10 CTGNEWNM PTR(31), /* NEWNAME ADDRESS - ALTER */ 76000037 * 15 CTGFDBK PTR(16), /* SUPER LOCATE FEEDBACK */ 77000037 * 15 CTGFBFLG BIT(16), /* SUPER LOCATE FLAGS */ 78000037 * 20 CTGPAR BIT(1), /* PARALLEL MOUNT -SUPERLOCATE */ 79000037 * 20 CTGKEEP BIT(1), /* FORCED KEEP - SUPERLOCATE */ 80000037 * 20 CTGGDGB BIT(1), /* GDG BASE LOCATE Y02020*/ 81000037 * 20 CTGNGDSN BIT(1), /* GDG NAME GENERATED Y02020*/ 81050037 * 20 * BIT(12), /* RESERVED Y02020*/ 81100037 * 5 CTGJSCB PTR(31), /* JSCB ADDR */ 82000037 * 10 CTGPSWD PTR(31), /* PASSWORD ADDR */ 83000037 * 5 CTGFIELD(*) PTR(31) CTGPL999 /* FIELD POINTERS */ 84000037 */********************************************************************/ 85000037 */* CONSTANTS USED TO SET AND/OR TEST FIELDS DECLARED ABOVE */ 85000237 */********************************************************************/ 85000437 * DECLARE /* CATALOG FUNCTION - CTGFUNC */ 85000637 * CTGLOC BIT(3) CONSTANT('001'B), /* LOCATE */ 85000937 * CTGLSP BIT(3) CONSTANT('010'B), /* LSPACE */ 85001237 * CTGUPDAT BIT(3) CONSTANT('011'B), /* UPDATE */ 85001537 * CTGCMS BIT(3) CONSTANT('100'B); /* CMS FUNCTION */ 85001837 * DECLARE /* CMS OPTIONS - CTGOPTNS */ 85002137 * CTGDEFIN BIT(5) CONSTANT('00001'B), /* DEFINE */ 85002437 * CTGALTER BIT(5) CONSTANT('00010'B), /* ALTER */ 85002737 * CTGDELET BIT(5) CONSTANT('00011'B), /* DELETE */ 85003037 * CTGLTCAT BIT(5) CONSTANT('00100'B), /* LIST CATALOG */ 85003337 * CTGCNVTV BIT(5) CONSTANT('00110'B); /* CONVERTV @Y30LSPS*/ 85003637 * DECLARE /* RECORD ENTRY TYPE - CTGTYPE */ 85003937 * CTGTDATA CHAR(1) CONSTANT('D'), /* DATA */ 85004237 * CTGTINDX CHAR(1) CONSTANT('I'), /* INDEX */ 85004537 * CTGTALIN CHAR(1) CONSTANT('A'), /* ALIEN */ 85004837 * CTGTUCAT CHAR(1) CONSTANT('U'), /* USER CATALOG */ 85005137 * CTGTVOL CHAR(1) CONSTANT('V'), /* VOLUME */ 85005437 * CTGTCL CHAR(1) CONSTANT('C'), /* CLUSTER */ 85005737 * CTGTAIX CHAR(1) CONSTANT('G'), /* ALTERNATE INDEX @Y30SSPJ*/ 85006037 * CTGTPATH CHAR(1) CONSTANT('R'), /* PATH @Y30SSPJ*/ 85006337 * CTGTFREE CHAR(1) CONSTANT('F'), /* FREE @Y30SSPJ*/ 85006637 * CTGTPTH CHAR(1) CONSTANT('R'), /* PATH @Y30SSSB*/ 85006937 * CTGTUPG CHAR(1) CONSTANT('Y'), /* UPGRADE @Y30SSSB*/ 85007237 * CTGTGBS CHAR(1) CONSTANT('B'), /* GDG BASE Y02020*/ 85007537 * CTGTANM CHAR(1) CONSTANT('X'), /* ALIAS NAME Y02020*/ 85007837 * CTGTPGSP CHAR(1) CONSTANT('P'), /* PAGE SPACE Y02020*/ 85008137 * CTGTMCAT CHAR(1) CONSTANT('M'); /* MASTER CATALOG */ 85008437 */********************************************************************/ 85008737 */* PROBLEM DETERMINATION FIELDS */ 85009037 */********************************************************************/ 85009337 * DECLARE 85012037 * 1 * DEF(CTGDDNM), /* PROBLEM DETERMINATION @Y30SSJG*/ 85013037 * 2 CTGPROB CHAR(4), /* PROBLEM DETERMINATION @Y30SSJG*/ 85014037 * 3 CTGMODID CHAR(2), /* MODULE IDENTIFICATION @Y30SSJG*/ 85015037 * 3 CTGREASN CHAR(2), /* REASON CODE @Y30SSJG*/ 85016037 * 4 CTGREAS1 CHAR(1), /* HIGH ORDER BYTE ZERO @Y30SSJG*/ 85017037 * 4 CTGREAS2 CHAR(1); /* REASON CODE LOW BYTE @Y30SSJG*/ 85018037 * %GOTO CTGPLX02; /* 85050002 .CTGPL01 ANOP 85100002 * 85150002 CTGPL DS 0H 85250002 * 85260002 CTGOPTN1 DS XL1 FIRST OPTION INDICATOR 85300002 CTGBYPSS EQU X'80' BYPASS 85350002 CTGMAST EQU X'40' VERIFY MASTER PASSWORD 85400002 CTGCI EQU X'20' VERIFY CONTROL INDICATOR 85450002 CTGUPD EQU X'10' VERIFY UPDATE 85500002 CTGREAD EQU X'08' VERIFY READ 85550002 CTGNAME EQU X'04' 1 - 44-BYTE NAME OR VOLSER 85600002 * 0 - ENTRY ID NUMBER 85650002 CTGCNAME EQU X'02' 1 - 44-BYTE NAME 85700002 * 0 - ACB ADDRESS 85750002 CTGGENLD EQU X'01' GENERIC LOCATE REQUEST 85800002 * 85850002 CTGOPTN2 DS XL1 SECOND OPTION INDICATOR 85900002 CTGEXT EQU X'80' EXTEND(UPDATE) 85950002 CTGERASE EQU X'40' ERASE(DELETE) 86000002 CTGSMF EQU X'40' WRITE SMF(LSPACE) 86050002 CTGREL EQU X'40' RELEASE(UPDATE) 86100002 CTGGTALL EQU X'40' CONCAT SEARCH (LISTCAT) Y02020 86150002 CTGPURG EQU X'20' PURGE (DELETE) 86200002 CTGVMNT EQU X'20' VOLUME MOUNT CALLER 86250002 CTGRCATN EQU X'20' RTN CAT NAME(GLOC) Y02020 86300002 CTGGTNXT EQU X'10' GET NEXT (LIST CTLG) 86350002 CTGDISC EQU X'08' DISCONNECT (DELETE) 86400002 CTGOVRID EQU X'04' ERASE OVERRIDE (DELETE) 86450002 CTGSCR EQU X'02' SCRATCH SPACE (DELETE) 86500002 * X'01' - RESERVED 86550002 * 86600002 CTGOPTN3 DS XL1 THIRD OPTION INDICATOR 86650002 CTGFUNC EQU X'E0' HIGH ORDER THREE BITS DEFINE 86700002 * FUNCTION 86710002 * LOCATE - 001* **** 86760002 CTGLOC EQU X'20' LOCATE - BITS ON 86800002 * LSPACE - 010* **** 86900002 CTGLSP EQU X'40' LSPACE - BITS ON 86910002 * UPDATE - 011* **** 86950002 CTGUPDAT EQU X'60' UPDATE - BITS ON 86960002 * CMS FUNCTION - 100* **** 87000002 CTGCMS EQU X'80' CMS FUNCTION - BITS ON 87050002 * 87150002 CTGSUPLT EQU X'10' SUPER LOCATE 87200002 CTGGDGL EQU X'08' GDG LOCATE FUNCTION (CTGWAGB IN 87250002 * CTGWA) 87300002 CTGSRH EQU X'04' 0 - SEARCH MASTER CAT ONLY 87350002 * 1 - SEARCH OS CAT FIRST 87400002 CTGNUM EQU X'02' 0 - SEARCH BOTH CATALOGS 87450002 * 1 - SEARCH ONE CATALOG 87500002 CTGAM0 EQU X'01' VSAM REQ VERSUS NONVSAM 87550002 * 87600002 CTGOPTN4 DS XL1 FOURTH OPTION INDICATOR Y02020 87650002 CTGLBASE EQU X'80' LOCATE GDG BASE ONLY 87750002 CTGDOCAT EQU X'40' DO NOT OPEN NEEDED CATLG 87800002 CTGNPROF EQU X'20' NO (RAC) PROFILE SHOULD BE 87810004 * DEFINED OR DELETED @Z40RSRC 87820004 CTGCOIN EQU X'10' CONTROLLER INTERCEPT REQUESTED 87860037 * @ZA20773 87870037 CTGBYPMT EQU X'08' BYPASS SECURITY PROMPTING TO 87880037 * SYSTEM OPERATOR @ZA07531 87890037 CTGTIOT EQU X'04' CALLER OWNS SYSZTIOT EXCLUSIVE 87900037 * @ZA20773 87910037 * BITS 7-8 RESERVED @ZA20773 87920037 CTGENT DS 0A USER ENTRY ADDRESS OR POINTER 87950002 * TO VOLUME SERIAL NUMBER(LSPACE) 88000002 CTGFVT DS A FVT ADDRESS (DEFINE, ALTER) 88050002 CTGCAT DS 0A CATALOG POINTER 88100002 * 88110002 CTGCVOL DS A CVOL PTR (SUPER LOCATE) 88150002 * 88160002 CTGWKA DS A WORKAREA ADDRESS 88200002 * 88210002 CTGDSORG DS CL2 DATA SET ORG (SUPER LOCATE) 88250002 * BITS 0-4 DEFINE ORGANIZATION 88300002 CTGOPTNS EQU X'F8' TOP 5 BITS 88310002 * DEFINE - 0000 1*** **** **** 88350002 CTGDEFIN EQU X'08' DEFINE 88360002 * ALTER - 0001 0*** **** **** 88400002 CTGALTER EQU X'10' ALTER 88410002 * DELETE - 0001 1*** **** **** 88450002 CTGDELET EQU X'18' DELETE 88460002 * LIST CATALOG - 0010 0*** **** **** 88500002 CTGLTCAT EQU X'20' LIST CATALOG 88550002 * CONVERTV - 0011 0*** **** **** 88600003 CTGCNVTV EQU X'30' CONVERTV 88610003 * BITS 6-16 RESERVED 88650002 * 88700002 CTGTYPE DS CL1 ENTRY TYPE-LISTCAT,DELETE 88750002 CTGTDATA EQU C'D' DATA - D 88800002 CTGTINDX EQU C'I' INDEX - I 88850002 CTGTALIN EQU C'A' ALIEN - A 88900002 CTGTUCAT EQU C'U' USER CATALOG - U 88950002 CTGTVOL EQU C'V' VOLUME - V 89000002 CTGTCL EQU C'C' CLUSTER - C 89050002 CTGTMCAT EQU C'M' MASTER CATALOG - M 89100002 CTGTGBS EQU C'B' GDG BASE - B 89150002 CTGTANM EQU C'X' ALIAS BASE -X 89200002 CTGTPGSP EQU C'P' PAGE SPACE - P 89250002 * 89300002 CTGNOFLD DS XL1 NUMBER FIELD POINTERS 89350002 CTGDDNM DS 0A DD NAME ADDRESS 89400002 CTGNEWNM DS 0A NEWNAME ADDRESS - ALTER 89450002 CTGFDBK DS XL2 SUPER LOCATE FEEDBACK 89500002 CTGFBFLG DS XL2 SUPER LOCATE FLAGS 89550002 CTGPAR EQU X'80' PARALLEL MOUNT - SUPER LOC 89600002 CTGKEEP EQU X'40' FORCED KEEP = SUPER LOCATE 89650002 CTGGDGB EQU X'20' GDG BASE LOCATED 89700002 CTGNGDSN EQU X'10' GDG NAME GENERATED 89750002 * BITS 5-16 RESERVED 89800002 * 89850002 CTGJSCB DS 0A JSCB ADDRESS 89900002 CTGPSWD DS A PASSWORD ADDRESS 89950002 CTGFIELD DS A FIELD POINTERS - MAY BE MORE 90000002 * THAN ONE 90050002 CTGPLLEN EQU *-CTGPL LENGTH OF CTG WITH ONE FIELD 90100002 * POINTER 90150002 MEND 90200002 * */ %CTGPLX02:; 90250002