ENRSFIND CSECT 00010000 PRINT NOGEN OR PRINT GEN 00020000 *********************************************************************** 00021000 * VALIDATION OF ENRS USING EXTERNAL VSAM FILE. 00021000 * KEY=3 RECL=85 OFFSET=0 00021000 * RC=0 GOOD RC=8 BAD 00021000 * BOB BARNES 7/7/93 00021000 *********************************************************************** 00021000 STM R14,R12,12(R13) SAVE ALL CALLER REGS IN CALLER AREA 00022000 LR R12,R15 GET ENTRY ADDRESS TO MY PROG 00023000 USING ENRSFIND,R12 SET BASE R12 00024000 LA R8,SAVEAREA GET SAVE AREA ADDRESS 00025000 ST R13,4(R8) SAVE CALLER SAVE AREA ADDRESS 00026000 ST R8,8(R13) SAVE MINE TOO 00027000 LR R13,R8 NOW LET R13 POINT TO MINE 00028000 *********************************************************************** 00028100 L R8,0(R1) GET PARAM POINTER USING TSCA,R8 LINK TSCA DSECT 00000025 OPEN (ENRSFILE,INPUT) 00000025 MVC TSCAFRET,=F'0' INIT RC TO 0 GETKEY L R5,TSCAVDAP GET ADDR OF VDA MVC ENRS,0(R5) GET ENRS FROM INFO RECORD * MVC *+20(3),ENRS * WTO '--------------------------------',ROUTCDE=11 GET RPL=ENRSDIR 00000033 LTR 15,15 00000034 BZ THEEND 00000035 NOTHERE EQU * 00000040 MVC TSCAFRET,=F'8' SET RETURN CODE THEEND EQU * 00000042 *********************************************************************** 00035600 CLOSE (ENRSFILE) CLOSE UP SHOP 00035700 *********************************************************************** 00037103 BYEBYE L R13,4(R13) LOAD CALLER SAVE AREA BACK TO REG13 00038000 LM R14,R12,12(R13) RESTORE ALL CALLER REGS 00038100 SR R15,R15 ZEROS R15 - RETURN CODE 00038200 BR R14 00038300 DS 0F INSURE DOUBLEWORD BOUNDARIES 00040100 SAVEAREA DS 18F REGISTER SAVE AREA 00040200 ENRSREC DS 0CL85 EKEY DS CL3 EREST DS CL82 ENRS DS CL3 <------ KEY LENGTH 00000060 LTORG \|/ 00000062 ENRSFILE ACB AM=VSAM,DDNAME=ENRSDATA,MACRF=(KEY,DIR,IN) 00000063 ENRSDIR RPL ACB=ENRSFILE,AM=VSAM,AREALEN=85,AREA=ENRSREC, X00000064 KEYLEN=3,RECLEN=85,OPTCD=(DIR,KEY,MVE),ARG=ENRS 00000065 LTORG 00000052 R0 EQU 0 00038500 R1 EQU 1 00038600 R2 EQU 2 00038700 R3 EQU 3 00038800 R4 EQU 4 00038900 R5 EQU 5 00039000 R6 EQU 6 00039100 R7 EQU 7 00039200 R8 EQU 8 00039300 R9 EQU 9 00039400 R10 EQU 10 00039500 R11 EQU 11 00039600 R12 EQU 12 00039700 R13 EQU 13 00039800 R14 EQU 14 00039900 R15 EQU 15 00040000 ***************************************************************** 00048100 ** 00048200 ** TERMINAL SIMULATOR COMMUNICATIONS AREA 00049000 ** 00049100 ***************************************************************** 00049200 TSCA DSECT * TERMINAL SIMULATOR COMM AREA 00049300 DS 0F 00049400 TSCAACRN DS CL4 * "TSCA" ACRONYM 00049500 TSCAFRET DS F * FUNCTION RETURN CODE 00049600 TSCAFRES DS F * FUNCTION REASON CODE 00049700 TSCACPNL DS CL8 * THE CURRENT INFO/ PANEL NAME 00049800 TSCALFID DS CL8 * THE REC ID OF LAST FILED RECORD 00049900 TSCACRID DS CL8 * THE REC ID OF CURRENT RECORD 00050000 TSCAUFLD DS CL8 * USER DEFINABLE FIELD 00050100 TSCAMSGC DS F * THE # OF MESSAGES ON MSG CHAIN 00050200 TSCACPOS DS F * BYTE # OF STRING FOUND IN TESTFIELD 00050300 TSCATPLC DS F * # OF LINES ON THE CURRENT TABLE PNL 00050400 TSCATPLN DS F * LINE # OF THE CURR. LINE ON TBL PNL 00050500 TSCAMTBL DS F * MAX. DATA LEN. ALLOWED FOR TSCATBLL 00050600 TSCACTBL DS F * CURRENT LENGTH OF DATA IN TSCATBLL 00050700 TSCATBLL DS CL256 * CURRENT TABLE PANEL LINE 00050800 TSCAVDA DS 0CL12 * VARIABLE DATA AREA 00050900 TSCAVDAM DS F * MAX. LEN. OF VARIABLE DATA AREA 00051000 TSCAVDAL DS F * CURRENT LEN. OF VARIABLE DATA AREA 00051100 TSCAVDAP DS A * ADDRESS OF THE VARIABLE DATA AREA 00051200 TSCAFB DS 0CL8 * FLATTEN BUFFER INFO 00051300 TSCAFBL DS F * SIZE OF THE FLATTEN BUFFER 00051400 TSCAFBP DS A * -> FLATTEN BUFFER 00051500 TSCAUFB DS 0CL8 * UNFLATTEN BUFFER INFO 00051600 TSCAUFBL DS F * SIZE OF THE UNFLATTEN BUFFER 00051700 TSCAUFBP DS A * -> UNFLATTEN BUFFER 00051800 TSCAUPTR DS A * FULL WORD PTR RESERVED FOR USER 00051900 *************************************************************** 00052000 ** 00053000 ** FIELDS TSCAVPHR, TSCARSWD, TSCARPWD, TSCASDFL AND TSCASDF 00054000 ** ARE USED BY THE FINDSDATA AND FINDSJRNL FUNCTIONS 00055000 ** 00056000 *************************************************************** 00057000 TSCAVPHR DS 0CL20 * VIS. PHRASE RET. BY FSD,FSJ 00058000 TSCAVPHL DS F * LENGTH OF THE VISIBLE PHRASE 00059000 TSCAVPH DS CL16 * THE ASSOCIATED VISIBLE PHRASE 00060000 TSCARSWD DS 0CL14 * S-WORD RET. BY FINDSATA,FINDSJRNL 00070000 TSCARSDL DS F * ACTUAL RETURNED S-WORD LENGTH 00080000 TSCARSD DS CL10 * ACTUAL RETURNED S-WORD VALUE 00090000 TSCARRBL DS H * TSCARRB DATA LENGTH 00100000 TSCARPWD DS 0CL14 * P-WORD RET. BY FINDSATA,FINDSJRNL 00110000 TSCARPDL DS F * ACTUAL RETURNED P-WORD LENGTH 00120000 TSCARPD DS CL10 * ACTUAL RETURNED P-WORD VALUE 00130000 TSCARSV9 DS CL2 * RESERVED 00140000 TSCASDFL DS F * LENGTH OF STRUCTURED DATA 00150000 TSCASDF DS CL256 * STRUCT. DATA-TEXT OR S/PWORD DATA 00160000 TSCACMOF DS F * OFFSET IN COMMAND BUFF. NEXT BYTE 00170000 TSCACMRB DS 2CL256 * COMMAND LINE REPLY BUFFER 00180000 TSCARRB DS 2CL256 * RESIDUAL REPLY BUFFER 00190000 *************************************************************** 00200000 ** 00210000 ** TERMINAL SIMULATION CONTROL 00220000 ** 00230000 *************************************************************** 00240000 TSCACLIN DS 0CL208 * CONTROL LINES 00250000 TSCAFUNC DS CL10 * FUNCTION NAME 00260000 TSCA0FLG DS XL1 * CONTROL FLAG "0" 00270000 TSCA0VAR EQU X'80' * A: GET VARIABLE DATA 00280000 TSCA0FST EQU X'40' * B: FIND FIRST OR NEWEST OCC FSD,FJR 00290000 TSCA0LST EQU X'20' * C: FIND LAST OR OLDEST OCC FSD,FJR 00300000 TSCA0FLO EQU X'10' * D: TESTFLOW: 0=PANEL 1=MESSAGE 00310000 TSCA0FND EQU X'08' * E: FIND STRING ANYWHERE 00320000 TSCA0TRO EQU X'04' * F: TRACE CONTROL LINES 00330000 TSCA0TRL EQU X'02' * G: TRACE LINK FUNCTION 00340000 TSCAMODL EQU X'01' * H: WHEN SET USER ELSE IBM EXIT 00350000 TSCA1FLG DS XL1 * CONTROL FLAG "1" 00360000 TSCA1ANL EQU X'80' * I: APPLY NOT LOGIC 00370000 TSCA1STG EQU X'40' * J: TREAT AS STRING DATA 00380000 TSCA1PNL EQU X'20' * K: PRINT THE CURRENT PANEL 00390000 TSCA1MSG EQU X'10' * L: PRINT THE MESSAGE CHAIN 00400000 TSCA1TSC EQU X'08' * M: PRINT THE TSCA 00410000 TSCA1CRD EQU X'04' * N: FLATTEN CURRENT RECORD 00420000 TSCA1LRD EQU X'02' * O: FLATTEN LAST RECORD FILED 00430000 TSCA1RET EQU X'01' * P: RETAIN RECORD ID, UNFLATTEN 00440000 TSCA2FLG DS XL1 * CONTROL FLAG "2" 00450000 TSCA2RS1 EQU X'80' * RESERVED 00460000 TSCA2SGM EQU X'40' * R: SAVE GENERATED MESSAGE 00470000 TSCA2IDT EQU X'20' * S: INSERT DATA TYPE, HEX = ON 00480000 TSCA2RSV EQU X'1F' * RESERVED 00490000 TSCA3FLG DS XL1 * CONTROL FLAG "3" - RESERVED 00500000 TSCASHDR DS 0CL13 * S-WORD INFORMATION 00510000 TSCASIX DS H * S-WORD INDEX 00520000 TSCASWDL DS XL1 * S-WORD DATA LENGTH 00530000 TSCASWD DS CL10 * S-WORD DATA 00540000 TSCARSV1 DS XL1 * RESERVED 00550000 TSCAPHDR DS 0CL9 * PWORD INFORMATION 00560000 TSCAPIX DS H * PWORD INDEX 00570000 TSCAPFXL DS XL1 * PREFIX LENGTH 00580000 TSCAPFX DS CL6 * ACTUAL PREFIX 00590000 TSCARSV2 DS XL1 * RESERVED 00600000 TSCAVHDR DS 0CL33 * VALIDATION DATA INFORMATION 00610000 TSCAVALL DS XL1 * VALIDATION DATA LENGTH 00620000 TSCAVAL DS CL32 * VALIDATION DATA 00630000 TSCARSV3 DS XL1 * RESERVED 00640000 TSCANHDR DS 0CL13 * NEW S-WORD INFORMATION 00650000 TSCANSIX DS H * NEW S-WORD INDEX 00660000 TSCANSDL DS XL1 * NEW S-WORD DATA LENGTH 00670000 TSCANSWD DS CL10 * NEW S-WORD DATA 00680000 TSCARSV4 DS XL1 * RESERVED 00690000 TSCATFLD DS 0CL13 * TSCA FIELD INFORMATION 00700000 TSCAFLD DS CL8 * TSCA FIELD NAME 00710000 TSCAATTR DS XL1 * FIELD ATTRIBUTE - SEE CONSTANT 00720000 TSCAMASK DS XL1 * MASK OFFSET TO TSCA BIT 00730000 TSCAFLEN DS H * TSCA FIELD LENGTH 00740000 TSCAOFFS DS H * OFFSET TO TSCA FIELD 00750000 TSCARSV5 DS XL1 * RESERVED 00760000 TSCAIFLL DS XL1 * SETFIELD FIELD LENGTH 00770000 TSCALHDR DS 0CL33 * LITERAL/TEST DATA INFO 00780000 TSCALITL DS XL1 * LITERAL DATA / TEST DATA LENGTH 00790000 TSCALIT DS CL32 * LITERAL DATA / TEST DATA 00800000 TSCANLHD DS 0CL33 * NEW DATA INFORMATION 00810000 TSCANDAL DS XL1 * NEW DATA LENGTH 00820000 TSCANDAT DS CL32 * NEW DATA 00830000 TSCALABE DS 0CL10 * CONTROL LINE LABEL INFORMATION 00840000 TSCATNUM DS H * TARGET CONTROL LINE OF BRANCH 00850000 TSCALABL DS CL8 * LABEL NAME 00860000 TSCAPANL DS CL8 * PANEL NAME/ MESSAGE ID 00870000 TSCAFUEX DS CL8 * FUNCTION EXIT NAME 00880000 TSCAVNAM DS CL8 * VERIFY NAME 00890000 TSCAIFLD DS CL8 * PANEL INPUT FROM SETFIELD 00900000 TSCANPHD DS 0CL9 * NEW P-WORD INFORMATION 00910000 TSCANPIX DS XL2 * NEW P-WORD INDEX 00920000 TSCANPFL DS XL1 * NEW P-WORD LENGTH 00930000 TSCANPFX DS CL6 * ACTUAL NEW PREFIX 00940000 TSCARSV7 DS XL1 * RESERVED 00950000 TSCANVHD DS 0CL33 * NEW VALIDATION DATA INFORMATION 00960000 TSCANVLL DS XL1 * NEW VALIDATION DATA LENGTH 00970000 TSCANVAL DS CL32 * NEW VALIDATION DATA 00980000 TSCARSV6 DS XL1 * RESERVED 00990000 TSCAPTCH DS CL24 * EXPANSION AREA 01000000 ***************************************************************** 01010000 ** 01020000 ** THE FOLLOWING ARE CONSTANTS USED FOR THE ATTRIBUTE OF THE TSCA 01030000 ** FIELDS. THEY ARE THE ONLY LEGAL SETTINGS FOR THE TSCA ATTR. 01040000 ** 01050000 ***************************************************************** 01060000 TSCACHAR EQU X'01' * ATTRIBUTE IS CHARACTER 01070000 TSCAFIXD EQU X'02' * ATTRIBUTE IS FIXED 01080000 TSCABIT EQU X'03' * ATTRIBUTE IS BIT 01090000 TSCAPOIN EQU X'04' * ATTRIBUTE IS POINTER 01100000 TSCAACRY EQU C'TSCA' * TSCA ACRONYM 01110000 END ENRSFIND 01120000