To simplify things I have deleted the lines which contain only the tail end of comments. I have also inserted some line numbers to correspond to my comments.
Line 1 tells us that JCTJCLAS contains the address of the class. You use that address correctly in the target of the EX instruction in line 2. But you don't use that address when changing the class in line 3. There, you move the new class directly into JCTJCLAS, thereby destroying the address. Regarding line 2, wouldn't a CLI instruction be easier than using EX to perform a TRT? Of course the following BC would change also. Your two EX instructions OR the contents of R4 before performing the target TRT instructions. Since R4 is always 0, the TRT instructions are unchanged. Wouldn't it be easier to place the TRT instructions inline replacing the EX ones. Regarding your translate tables, rather than manually counting the number of x'00' bytes to insert between non-zero ones and manually coding the hex values for characters, I suggest the following approach: TRTABLE1 DC 256X'00' ORG TRTABLE1+C'C' DC C'C' ORG TRTABLE1+C'E' DC C'EF' ORG TRTABLE1+C'I' DC C'I' ... ORG TRTABLE+C'Z' ORG C'Z' ORG When using a literal reference, as in line 4, I suggest omitting the the length field. The assembler will compute it properly and it is one less thing to change if you need to replace the value of the literal. > -----Original Message----- > From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] > On Behalf Of Crabtree, Anne D > Sent: Monday, February 25, 2013 7:03 AM > To: IBM-MAIN@LISTSERV.UA.EDU > Subject: JES exit 6 > > I am trying to modify JES exit 6 so that jobs, starting with a > particular string and destination is to a particular partial string, > get assigned a class of F (jobname beginning with WE# and destination > beginning with VPRTxxxx). I also want to prohibit non SY users from > using class Z. > > I modified our existing exit 6 and tested on our onepac system. It > worked great. However, when I tried to use the same module in our > production lpar, the class Z logic is working, but the class F will not > work! I've tried for the last two Sundays for hours! > > Yesterday, changed the module name and entry name so I could make sure > it was using the new module. $d exit(6) shows the new entry. I've > compared JES2 initialization members and cannot figure out why the same > code works on one but not the other. Does anyone have a suggestion on > what else I can look at? > > I have a small window of opportunity each week to try and get this to > work. Thought about using the trace option but don't know enough about > how to do it so would have to read up on that. Would that be of any > help? > > Here's the part of code that I changed: (I'm not the greatest assembler > programmer so be kind :)) > 1.> SCAN LA R3,JCTJCLAS LOAD ADDRESS OF > L R4,=F'0' > EX R4,SCANCLS1 SCAN FOR > BC 2,CHKJNAME CLASS IS 2.> EX R4,SCANCLS2 CLASS Z? > BC 2,CLASSZ IF 3.> MVI JCTJCLAS,C'C' NOT SY, SET > B RETURN > CLASSZ LA R5,JCTNOUSR SUBMITTING USERID 4.> CLC =CL2'SY',0(R5) IS THIS > BE ALLGOOD CLASS Z > MVI JCTJCLAS,C'C' CLASS Z > B RETURN > CHKJNAME LA R6,JCTJNAME JOBNAME > CLC =CL3'WE#',0(R6) DOES JOBNAME > BE CHKDEST YES, > B RETURN > CHKDEST LA R7,JCTPRRID JOB PRINT > CLC =CL4'VPRT',0(R7) DOES PRINT > BE CHGCLAS YES, > ALLGOOD B RETURN NO, RETURN TO > CHGCLAS MVI JCTJCLAS,C'F' MOVE F TO CLASS > B RETURN > RETURN RETURN (14,12),RC=0 > SCANCLS1 TRT 0(0,R3),TRTABLE1 LOOKIN FOR A VALID CLASS > * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * > * VALID CLASS TABLE CHECKING FOR CLASS C,E,F,I,K,L,Q,T * > * CLASS I FOR IPO2 * > * CLASS T FOR TEST * > * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * > TRTABLE1 DC 195X'00' > DC 1X'C3' C > DC 1X'00' > DC 1X'C5' E > DC 1X'C6' F > DC 2X'00' > DC 1X'C9' I > DC 8X'00' > DC 1X'D2' K > DC 1X'D3' L > DC 1X'D4' M > DC 3X'00' > DC 1X'D8' Q > DC 10X'00' > DC 1X'E3' T > DC 5X'00' > DC 23X'00' > * DC 1X'E9' Z > * DC 22X'00' > SCANCLS2 TRT 0(0,R3),TRTABLE2 LOOKIN FOR CLASS Z > * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * > * VALID CLASS TABLE CHECKING FOR CLASS Z * > * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * > TRTABLE2 DC 233X'00' > DC 1X'E9' Z > DC 22X'00' > * ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN