Lizette,

   Thank you again for providing some insight into this.  I also have sent a 
request for help out to my local network of System Programmers.  But I think 
you're right, this hasn't been done much.  JES Level 2 would like a contract to 
continue working on this.  I also am working with a co-worker on this.  But 
neither of us understand what JES is doing and just trying to get the example 
to work is giving us "addressability" issues.  So we have flipped between RENT 
and NORENT.  It looks like we want RENT.  I'll let you all know how it goes.


      Thank you,  Dave



Our Source as it is today.  The UNPK now addresses the Sign Character.

   ***START USPS CODING
         CLC   PDBDRMT,NODEZERO    CHECK FOR '0000' OR REMOTE
         BE    NOROUTE             IF 'YES', THEN IT'S A LOCAL NODE
         LH    R9,PDBDRMT          LOAD HALF WORD ADDRESS OF PDBDRMT
         CVD   R9,PACKN            CONVERT TO PACKED DECIMAL
         UNPK  UNPACKN,PACKN       UNPACK TO ZONE DECIMAL
         MVZ   UNPACKN+7(1),=X'F0' REMOVE SIGN CHARACTER
         MVC   RMT(4),UNPACKN+4    CREATE U + PRINTER NUMBER
         MVC   PDBDNODE,TESTNODE   CHANGE REMOTE NODE
         MVC   PDBDRMT,NODEZERO    ZERO OUT PDBDRMT
         MVC   PDBUSER,UPRINTER    CHANGE PDBUSER TO U----
         WTO   'EXIT40(HASX40A): PDBDRMT NOT = 0000 - U PRINTER'
         B     RETRYRTN            GO TO RETRYRTN
NOROUTE  DS    0H                  NO REROUTE
         WTO   'EXIT40(HASX40A): PDBDRMT = 0000 - LOCAL PRINTER'
RETRYRTN DS    0H                  RETRY POINT FOR RECOVERY
        $ESTAE CANCEL              CANCEL $ESTAE ENVIRONMENT
        $RETURN TRACE=YES          RETURN TO CALLER
EXITMSG  DC    C'ESTAE SET UP FOR EXIT 40'     EXIT MESSAGE TEXT
*USPS
UPRINTER DS    0CL8
         DC    C'U'
RMT      DS    CL7
PACKN    DS    D
UNPACKN  DS    D
NODEZERO DC    H'0'                NODE ZERO
EAGAN    DC    H'0002'           EAGAN NODE (2)
TESTNODE DC    H'0099'           DUMMY TEST
SANMATEO DC    H'0004'           SAN MATEO  SMTA (4)
*END USPS CODING



-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf 
Of Lizette Koehler
Sent: Tuesday, September 17, 2013 11:25 AM
To: [email protected]
Subject: Re: Please help with JES2 EXIT 40

So to make sure I understand

Exit 40         Modifying SYSOUT Characteristics
JES2 passes control to this exit just before it creates JOEs for the job.
This exit can be taken:

    During spin processing, called from HASPSPIN before a JOE is created for a 
spin PDDB.
    During unspun processing, called from HASPSPIN before a JOE is created for 
a spin PDDB.
    During regular processing, called from HASPHOPE before the JOEs are created 
from the non-spin PDDBs.

JES2 gathers the non-spin data sets into groups after leaving this exit and the 
groups will reflect the changes your routine makes.

So maybe the exit is too early for your process?  I am not sure when JES2 would 
have the information in the control block for you to check.



I am not sure if this will do what you want.

Rerouting job output
    The $R command allows you to reroute to another destination both ready and 
held output for batch jobs, started tasks, or TSO/E users. This command allows 
an operator to change the specified destination on a piece of output as often 
as necessary. You can issue the $R command only for output groups.
You can display the destination of output groups by entering the $DO J command 
(destination appears on the ROUTECDE= parameter in the display).




Second question is the node names.  Did you use NAMES on your NJE Nodes or just 
node numbers?  If names, you should be able to reassign the name of the node to 
a different node number. So if you have N2 as NxtNde and you need for NxtNde go 
to N4 you would just go into the JES2 deck and recode N4 to NxtNde and N2 to 
something else.  Jobs in JES2 would still go to N2 but new jobs would use N4 
once you either did a $T command or cycle JES2.



>From your original posting

                        I have been working with IBM to Implement a JES2 EXIT 
40.  I am doing this without too much JES knowledge.  I was asked to move 
output from one MVS spool to another.  We had a product (VPS) that would take 
the print off the MVS spool and send it to remote printers.  Now we don't run 
that software at our "west side" location.  I just want to change N1.U1234 to 
N2.U1234.  Then JES will ROUTE the output from N1 to N2.
However the change results in N1.U1234 being modified to N2.R1234.  I did some 
testing and things are not as I expected.

                        Q).  On the SDSF screen - With the EXIT in place, Why 
doesn't Node reflect my change to N2?  RMT is now 1234.  NODE is supposed to be 
the "JES Print Node".  I would expect the node to be the destination node.



                        From SDSF I entered NODE.  It see N2, MN1 and OWNNODE.  
So we are #2 aka MN1.

                        Q).  Is there an advantage to using "N2" over "MN1"?
The terminology gets confusing.



                  I tried this just to confuse myself:
                I ran three jobs to print output, but I put them on HOLD.
My OUTPUTS were:
                DEFAULT=Y,DEST=N4.U9889DP,CLASS=H
                DEFAULT=Y,DEST=N2.U9889DP,CLASS=H   *** OWNNODE ***
                DEFAULT=Y,DEST=N12.U9889DP,CLASS=H
                I looked at SDSF "O" and saw:  RMT is Blank and NODE is "2"
for all three.  DEST is LOCAL .  The output for N2.U9889DP has an extra piece 
with DEST U9889DP (The actual payload to print).

                Q).  Why doesn't "4" or "12" show up under NODE?  I used "N4" 
and "N12".


I am not sure why you are not getting answers to your questions or guidance.
Perhaps no one has ever needed to do this function in an Exit.

You may need to work with JES2 L2 to get this resolved.  

However, searching the internet with IBM JES2 EXIT 40 brought up this URL:
http://www.cbttape.org/xephon/xephonm/mvs0001.pdf   (yes it does have a code
sample)



Lizette



-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf 
Of Hansen, Dave L - Eagan, MN
Sent: Tuesday, September 17, 2013 9:00 AM
To: [email protected]
Subject: Please help with JES2 EXIT 40

CROSS-POSTED to IBM_MAIN and JES2-L


Dear Group,

     This simple task to move print from one JES spool to another is still 
dragging on.  Does anyone have a copy of a working EXIT40 that moves print 
between spools?


   I have modified SYS1.SHASAMP(HASX40A) with the following code:

       LH        R9,  PDBDRMT            (PDBDRMT - x'1C82' - 2 bytes in
length)  - Load R9 with PDBDRMT value, fill the other half with good stuff.
       MVC  PDBDRMT(2),ZEROES  (PDBDRMT - x'0000' - 2 bytes in length).
       CVD   R9,ANS                        (ANS - 8 bytes in length)  -
Convert X'1C82' to Packed Decimal  '00 00 00 00 00 07 29  8C'.
       MVC  INAREA(8),BLANKS   (Pre load OUTAREA with 8 spaces).
      MVC  INAREA(1),EWE         (Move "U" to position 1 of OUTAREA for a
length of 1).
       UNPK NUMOUT(4),ANS        (NUMOUT - 4 bytes in length) - Convert '00
00 00 00 00 07 29 8C' to 'F7 F2 F9 F8'.
                                                          If the first operand 
is too short to contain all digits of the second operand,
                                                              The remaining 
left-most portion of the second operand is ignored.
      MVC  PDBUSER(8),INAREA (Move 'E4 F7 F2 F9 F8 40 40 40' to PDBUSER).
       LTORG

   ANS           DS     CL8
   BLANKS  DC  XL8'4040404040404040'
   ZEROES DC XL2'0000'
   EWE        DC  CL1'U'

   OUTAREA DS  0CL8
   INAREA      DS   CL1
   NUMOUT DS CL4
   HOLDER      DS CL3


   My logic was just update the PDBDNODE.  But now I see the RMT field also 
needs to be updated.


      Thank you,  Dave

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
[email protected] with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to