MACRO 00001000 IKQRPL &DSECT=YES 00002000 PUSH PRINT 00002100 AIF ('&SYSPARM' NE 'SUP').ACC01 00002200 PRINT OFF,NOGEN 00002300 .ACC01 ANOP 00002400 * VSAM - IKQRPL - 5745-SC-VSM - REL. 31.0 INTERNAL VERSION 2.26 00003000 AIF ('&DSECT' EQ 'NO').RPLNODS 00004000 IKQRPL DSECT REQUEST PARAMETER LIST 00005000 AGO .RPLDSCT 00006000 .RPLNODS ANOP 00007000 IKQRPL DS 0D 00008000 .RPLDSCT ANOP 00009000 RPLST EQU * START RPL 30.04.74 00010000 RPLID DS XL1 RPL IDENTIFIER='00' 00011000 RPLIDD EQU X'00' RPL EQUATE 00012000 RPLSTYP DS XL1 SUBTYPE FIELD 00013000 RPLLEN DS XL2 LEN OF THIS BLOCK 00014000 RPLRBA DS 0CL4 RBA RETURN LOCATION 00015000 RPLDDDD DS CL4 DD FIELD 00016000 RPLARG DS A PTR. SEARCH ARGUMENT 00017000 RPLRCD DS 0CL8 RECORD DESCRIPTION 00018000 RPLAREA DS A PTR. AREA 00019000 RPLRLEN DS A LENGTH OF RECORD 00020000 RPLBUFL DS A USER BUFF SIZE 00021000 RPLACB DS A PTR. TO ACB 00022000 RPLDACB EQU RPLACB CATALOG COMPATABILITY 00023000 RPLSTRID DS CL1 STRING IDENTIFIER 00024000 RPLREQ DS XL1 REQUEST TYPE 00025000 * 00026000 * ACTION MACRO RPLTYPE * 00027000 RPLPOINT EQU X'00' POINT REQUEST 00028000 RPLGET EQU X'04' GET REQUEST 00029000 RPLERASE EQU X'08' ERASE REQUEST 00030000 RPLPUT EQU X'0C' PUT REQUEST 00031000 RPLUPDTE EQU X'0C' UPDATE REQUEST 00032000 RPLINSRT EQU X'10' INSERT REQUEST 00033000 RPLCHECK EQU X'14' CHECK 00034000 RPLRCLSE EQU X'18' RCLOSE 00035000 RPLENDRQ EQU X'1C' ENDREQ 00036000 RPLFRCIO EQU X'1C' FORCIO 00037000 RPLVERFY EQU X'20' VERIFY 00038000 RPLPUTL EQU X'24' PUT LOCATE 00039000 * * 00040000 RPLKEYL DS H KEY LENGTH (PROC=GEN) 00041000 RPLOPTCD DS 0H OPTION CODES 00042000 RPLOPT1 DS CL1 FIRST BYTE OF OPTIONS 00043000 * 00044000 * FIRST OPTION BYTE EQUATES * 00045000 RPLKEY EQU X'80' KEYED ACCESS 00046000 RPLADR EQU X'40' ADDRESSED ACCESS 00047000 RPLSEQ EQU X'20' SEQUENTIAL 00048000 RPLDIR EQU X'10' DIRECT PROCESSING 00049000 RPLASY EQU X'08' ASYNCHRONOUS 00050000 RPLSKP EQU X'04' SKIP SEQ ACCESS 00051000 RPLCNV EQU X'02' CINV ACCESS (BY RBA) 00052000 RPLUPD EQU X'01' UPDATE 00053000 * * 00054000 RPLOPT2 DS CL1 SECOND BYTE OF OPTIONS 00055000 * 00056000 * SECOND OPTION BYTE EQUATES * 00057000 RPLKGE EQU X'80' SEARCH KEY GT/EQ 00058000 RPLGEN EQU X'40' GENERIC KEY REQUEST 00059000 RPLNSP EQU X'20' NOTE STRING POSITION 00060000 RPLNUP EQU X'10' NO UPDATE 00061000 RPLLOC EQU X'08' LOCATE MODE 00062000 RPLUBF EQU X'04' USER BUFFERS 00063000 RPLBWD EQU X'02' 0=FORWARDS 1=BACKWARDS 00064000 RPLLRD EQU X'01' 0=ANY REC. 1=LAST REC. 00065000 * * 00066000 RPLHLD2 DS CL1 SECOND TEST AND SET BYTE 00067000 RPLHLD DS CL1 TEST AND SET BYTE 00068000 RPLFLAG DS CL1 FLAGBYTE 00069000 * 00070000 * FLAGBYTE EQUATES * 00071000 RPLECBPR EQU X'80' CMS ECB INDICATOR 00072000 * EQU X'40' RESERVED 00073000 * EQU X'20' RESERVED 00074000 * EQU X'10' RESERVED 00075000 * EQU X'08' RESERVED 00076000 * EQU X'04' RESERVED 00077000 * EQU X'02' RESERVED 00078000 * EQU X'01' RESERVED 00079000 * * 00080000 RPLFDBK DS 0CL3 ERROR FEEDBACK AREA 00081000 RPLFDB1 DS 0CL1 ERROR CLASS CODE 00082000 RPLRTNCD DS CL1 ERROR CLASS CODE 00083000 RPLFDB2 DS CL1 FUNCTION TYPE CODE 00084000 RPLFDB3 DS 0CL1 ERROR TYPE CODE 00085000 RPLERRCD DS 0CL1 ERROR TYPE CODE 00086000 RPLFDBKC DS XL1 ERROR TYPE CODE 00087000 * 00088000 * FUNCTION-TYPE-CODE EQUATES 00089000 RPLFINC EQU X'01' INCOR.UPGRADE SET COND. 00090000 RPLFAIX EQU X'02' AIX PROCESSING COND. 00091000 RPLFUPG EQU X'04' UPG PROCESSING COND. 00092000 * 00093000 * * 00094000 * THE FOLLOWING EQUATES ARE FOR THE VARIOUS FEEDBACK RETURNS * 00095000 * THAT MAY BE SET. THEY FALL INTO THE FIVE CATEGORIES SHOWN. * 00096000 * * 00097000 * REGISTER 15 SETTING FOR ERROR FEEDBACK CODE * 00098000 RPLNOERR EQU X'00' NO ERROR DETECTED 00099000 RPLNORPL EQU X'04' CONCURENT REQUEST ON SAME RPL 00100000 RPLLOGER EQU X'08' LOGICAL ERROR 00101000 RPLPHYER EQU X'0C' PHYSICAL ERROR 00102000 RPLVABND EQU X'3C' ABEND ENCOUNT. (VTAM) 00103000 * TPIO PROHIBITED 00104000 * 00105000 * RETURNS THAT ARE NOT ERRORS (REGISTER 15 = 0) * 00106000 RPLEOV EQU X'04' EOV CALLED DURING REQUEST 00107000 RPLDPKEY EQU X'08' DUPLICATE KEY 00108000 * 00109000 * LOGICAL ERRORS (REGISTER 15 = 8) * 00110000 RPLEOFDS EQU X'04' END OF DATA SET REACHED 00111000 RPLEODER EQU X'04' END OF DATA SET REACHED 00112000 RPLDUPRC EQU X'08' DUPLICATE RECORD 00113000 RPLDUP EQU X'08' DUPLICATE RECORD 00114000 RPLSEQCK EQU X'0C' SEQUENCE ERROR 00115000 RPLNRFND EQU X'10' NO RECORD FOUND 00116000 RPLNOREC EQU X'10' NO RECORD FOUND 00117000 RPLEXCTL EQU X'14' DATA ALR IN EXCL CONTROL 00118000 RPLNVOLM EQU X'18' VOLUME IS NOT MOUNTED 00119000 RPLNRSPA EQU X'1C' DS CANNOT BE EXTENDED 00120000 RPLNOEXT EQU X'1C' DS CANNOT BE EXTENDED 00121000 RPLSPACE EQU X'1C' DS CANNOT BE EXTENDED 00122000 RPLINRBA EQU X'20' INVALID RBA SPECIFIED 00123000 RPLNKEYR EQU X'24' NO KEY RANGE SPEC FOR RECORD 00124000 RPLNOVIR EQU X'28' INSUF VIRT STORAGE 00125000 RPLWRKAS EQU X'2C' USER BUFFERS TOO SMALL 00126000 RPLCDLOD EQU X'30' CDLOAD FAILURE 00127000 RPLVLERR EQU X'34' INTERNAL VSAM LOGIC ERROR 00128000 RPLNOPLH EQU X'40' PLH IN USE (NO STRING AVAIL) 00129000 RPLNOPEN EQU X'44' ACCESS TYPE NOT REQ AT OPEN 00130000 RPLKEYES EQU X'48' KEYED REQUEST FOR ESDS 00131000 RPLADRKS EQU X'4C' ADDR OR CNV INSERT FOR KSDS 00132000 RPLINERS EQU X'50' INVALID ERASE REQUEST 00133000 RPLINLOC EQU X'54' INVALID SPEC OF LOCATE MODE 00134000 RPLNOPOS EQU X'58' POSITIONING ERROR 00135000 RPLNGUPD EQU X'5C' NO GET UPD ISSUED 00136000 RPLUPDKC EQU X'60' KEY CHANGE FOR UPDATE 00137000 RPLLENCN EQU X'64' LENGTH CHANGE FOR ADR UPDATE 00138000 RPLCONOP EQU X'68' INVALID OR CONFL RPL OPT SPEC 00139000 RPLIMRCL EQU X'6C' IMPROPER RECLEN SPECIFIED 00140000 RPLIMGKL EQU X'70' IMP GENERIC KEYLEN SPECIFIED 00141000 RPLINLD EQU X'74' INV REQ DURING DS LOADING 00142000 RPLCATLG EQU X'80' INTERNAL CATALOG CALL FAILURE 00143000 RPLSRLOC EQU X'84' ILLEGAL LOC MODE 00144000 RPLSRADR EQU X'88' ILLEGAL REQ FOR SR 00145000 RPLINCSR EQU X'8C' INCONSISTENT SPAN.REC. 00146000 RPLNOBAS EQU X'90' NO BASE RECORD 00147000 RPLMAXPT EQU X'94' MAX. PNT.S EXCEEDED 00148000 RPLINVRR EQU X'C0' INVVALID REL.-REC. NO. 00149000 RPLRRADR EQU X'C4' ILL. ADDR. REQ. RRDS 00150000 RPLIPATH EQU X'C8' ILLEGAL PATH ACCESS 00151000 RPLINBWD EQU X'CC' ILLEGAL BWD-MODE REQ. 00152000 * 00153000 * PHYSICAL ERROR (REGISTER 15 = 12) * 00154000 RPLRDERD EQU X'04' READ ERROR IN DATA SET 00155000 RPLRDERI EQU X'08' READ ERROR IN INDEX SET 00156000 RPLRDERS EQU X'0C' READ ERROR IN SEQUENCE SET 00157000 RPLWTERD EQU X'10' WRITE ERROR IN DATA SET 00158000 RPLWTERI EQU X'14' WRITE ERROR IN INDEX SET 00159000 RPLWTERS EQU X'18' WRITE ERROR IN SEQUENCE SET 00160000 * * 00161000 RPLCHAIN DS F POINTER TO NEXT RPL 00162000 RPLAIXID DS CL1 AIX INFO BYTE 00163000 * EQU X'80' RESERVED 00164000 * EQU X'40' RESERVED 00165000 * EQU X'20' RESERVED 00166000 * EQU X'10' RESERVED 00167000 * EQU X'08' RESERVED 00168000 * EQU X'04' RESERVED 00169000 * EQU X'02' RESERVED 00170000 RPLAXPKP EQU X'01' PRIME KEY POINTERS 00171000 DS CL1 PRIME POINTER LENGTH 00172000 RPLAIXPC DS CL2 NO. OF POINTERS 00173000 RPLMLOAD DS CL4 CBM MODULE LOAD ADDR. 00174000 RPLEND DS 0F END RPL 00175000 * END OF VSAM RPL * 00176000 POP PRINT 00176100 MEND 00177000