Suppress listing for XMIT & RECEIVE



IBM's Command List programming language & Restructured Extended Executor

Suppress listing for XMIT & RECEIVE

Postby Steve Coalbran » Mon Aug 25, 2014 11:41 am

I have an exec that issues an XMIT for a library and then a RECEIVE to a different name.
I have tried everything I can think of to stop either command from listing all the messages,
I have tried:
  • OUTTRAP wrapped around both commands
  • XMIT with NOEPILOG NOLOG NONOTIFY NOPROLOG NOWARN
  • RECEIVE with NODISPLAY NONAMES
  • ALLOC SYSTSPRT to DUMMY
  • ALLOC SYSPRINT to DUMMY

what have I missed? :roll:
Steve
User avatar
Steve Coalbran
 
Posts: 138
Joined: Wed Apr 06, 2011 11:49 am
Location: Stockholm, Sweden
Has thanked: 13 times
Been thanked: 1 time

Re: Suppress listing for XMIT & RECEIVE

Postby steve-myers » Mon Aug 25, 2014 10:53 pm

It's difficult - perhaps impossible - to suppress the IEBCOPY messages; they are sent to a DD statement, apparently a "DD statement" allocated by XMIT/RECEIVE. Looking at the discussion in TSO/E Command Reference I see SYSOUT(class). You might find a "dummy" SYSOUT class in your JES2 output class definitions, and try that class. The manual also talks about PARM(xxx). I had thought it might send xxx to IEBCOPY, but HELP XMIT OP(PARM) talks about sending xxx to an "installation exit routine," which wouldn't help.
steve-myers
Global moderator
 
Posts: 2105
Joined: Thu Jun 03, 2010 6:21 pm
Has thanked: 4 times
Been thanked: 243 times

Re: Suppress listing for XMIT & RECEIVE

Postby Pedro » Tue Aug 26, 2014 3:03 am

This worked for me:
/* rexx */           
Address TSO           
z = outtrap('rcv.')   
"RECEIVE"             
z = outtrap('OFF')   

to suppress 'You have no messages...' message.
Pedro Vera
User avatar
Pedro
 
Posts: 686
Joined: Thu Jul 31, 2008 9:59 pm
Location: Silicon Valley
Has thanked: 0 time
Been thanked: 53 times

Re: Suppress listing for XMIT & RECEIVE

Postby Steve Coalbran » Tue Aug 26, 2014 10:48 am

I have the code...
/*REXX*/                                           
TRACE "O"                                           
CALL MSG "OFF"                                     
ADDRESS ISPEXEC "CONTROL ERRORS RETURN "           
lib = "'SE16661.SEMVS2.JCL'"                       
CALL BPXWDYN "ALLOC RTDSN(TDS) NEW REUSE UNIT(VIO)"
"ALLOC DD(SYSOUT) DUMMY REUSE "                     
xxx = SUBSTR(tds,POS(".",tds))                     
xmt = OVERLAY("XMT",xxx,1)                         
meb = OVERLAY("MAC",xxx,1)                         
prm = "NOEPILOG NOLOG NONOTIFY NOPROLOG NOWARN "   
CALL OUTTRAP "XMT."                                 
"XMIT X.X DS("lib") OUTDSN("xmt") " prm             
CALL OUTTRAP "OFF"                                 
CALL PROMPT "ON"                                   
CALL OUTTRAP "RCV."                                 
QUEUE "DS("meb") "                                 
"RECEIVE INDSN("xmt") NODISPLAY NONAMES "           
CALL OUTTRAP "OFF"                                 
"ALLOC DD(SYSOUT) DS(*) REUSE "                     
"DELETE" xmt                                       
ADDRESS ISPEXEC "VIEW DATASET("meb") "             

I won't add ALL the messages but believe me there are plenty of them... for both XMIT & RECEIVE...
                                          IEBCOPY MESSAGES AND CONTROL STATEMENT
S                              PAGE     1                                       
 IEB1135I IEBCOPY  FMID HDZ1D10  SERVICE LEVEL UA69216  DATED 20130522 DFSMS 01.
13.00 z/OS    01.13.00 HBB7780  CPU 2827                                       
 IEB1035I SE16661  ADTDSC   ADTDSC   06:10:42 TUE 26 AUG 2014 PARM=''           
  COPY OUTDD=SYS00232,INDD=((SYS00228,R))                                       
 IEB1013I COPYING FROM PDSE  INDD=SYS00228 VOL=SHAR05 DSN=SE16661.SEMVS2.JCL   
 IEB1014I           TO PDSU OUTDD=SYS00232 VOL=Z00P04 DSN=SYS14238.T061042.RA000
.SE16661.R0106422                                                               
 IGW01551I MEMBER $  HAS BEEN UNLOADED                                         
 IGW01551I MEMBER ALCIT  HAS BEEN UNLOADED                                     
 IGW01551I MEMBER ALTLVL  HAS BEEN UNLOADED                                     
 IGW01551I MEMBER AMBLIST  HAS BEEN UNLOADED 
...   
:roll:
Steve
User avatar
Steve Coalbran
 
Posts: 138
Joined: Wed Apr 06, 2011 11:49 am
Location: Stockholm, Sweden
Has thanked: 13 times
Been thanked: 1 time

Re: Suppress listing for XMIT & RECEIVE

Postby NicC » Tue Aug 26, 2014 4:01 pm

Hi Steve
Doesn't IEBCOPY write to SYSPRINT? You do not seem to have de-allocated that from the terminal to a dataset unless you are hoping that the OUTTRAP will do that for you?
The problem I have is that people can explain things quickly but I can only comprehend slowly.
Regards
Nic
NicC
Global moderator
 
Posts: 3025
Joined: Sun Jul 04, 2010 12:13 am
Location: Pushing up the daisies (almost)
Has thanked: 4 times
Been thanked: 136 times

Re: Suppress listing for XMIT & RECEIVE

Postby steve-myers » Tue Aug 26, 2014 8:03 pm

steve-myers wrote:... Looking at the discussion in TSO/E Command Reference I see SYSOUT(class). You might find a "dummy" SYSOUT class in your JES2 output class definitions, and try that class. ...
I found a dummy class in my shop, and ran an XMIT using it. Sure enough, no pesky IEBCOPY messages appeared on my workstation. This is the JES2 definition.
OUTCLASS(Z) BLNKTRNC=YES,    /* TRUNCATE TRAILING BLANKS          wnc*/
         OUTDISP=(HOLD,HOLD), /* OUT disp               PRINT    ownc*/
         OUTPUT=DUMMY,       /* Print Class             PRINT     wnc*/
         TRKCELL=YES         /* Track-Cell this Class   NOTRKCEL  wnc*/
Look for OUTPUT=DUMMY. The output class definition as shown is in copyrighted material, though I think this counts as fair use.
steve-myers
Global moderator
 
Posts: 2105
Joined: Thu Jun 03, 2010 6:21 pm
Has thanked: 4 times
Been thanked: 243 times

Re: Suppress listing for XMIT & RECEIVE

Postby Steve Coalbran » Fri Aug 29, 2014 12:16 pm

Thanks Steve, I'll play with classes too -or- perhaps I can try a USING and ATTRIB to simulate some of those JES2 attributes you show?!
Apart from being in SYS1.PARMLIB, do you know what member I can find these definitions...
IF my shop haven't hidden them somewhere else like they seem to have done for the IEASYSxx members. :lol:
TIA!
Steve
User avatar
Steve Coalbran
 
Posts: 138
Joined: Wed Apr 06, 2011 11:49 am
Location: Stockholm, Sweden
Has thanked: 13 times
Been thanked: 1 time

Re: Suppress listing for XMIT & RECEIVE

Postby Steve Coalbran » Fri Aug 29, 2014 12:22 pm

OK, I used SRCHFOR (derrr! :roll: )
VIEW       SYS1.PARMLIB(JES2SP) - 01.24                    Columns 00001 00072
Command ===>                                                  Scroll ===> CSR 
035900 OUTCLASS(X) BLNKTRNC=YES,    /* CLASS X  - DELETE                    */
036000          OUTDISP=(PURGE,PURGE),                                         
036100          OUTPUT=DUMMY,       /* DUMMY CLASS                          */
036200          TRKCELL=YES                                                   
;)
Steve
User avatar
Steve Coalbran
 
Posts: 138
Joined: Wed Apr 06, 2011 11:49 am
Location: Stockholm, Sweden
Has thanked: 13 times
Been thanked: 1 time

Re: Suppress listing for XMIT & RECEIVE

Postby Steve Coalbran » Fri Aug 29, 2014 12:29 pm

SYSOUT(X) didn't work however!
:(
Steve
User avatar
Steve Coalbran
 
Posts: 138
Joined: Wed Apr 06, 2011 11:49 am
Location: Stockholm, Sweden
Has thanked: 13 times
Been thanked: 1 time

Re: Suppress listing for XMIT & RECEIVE

Postby Steve Coalbran » Fri Aug 29, 2014 2:16 pm

Interesting "suck it & see" experiment. I tried evey possibility for class (and I would have thought some impossibilities?!)...

/*REXX*/                                                               
TRACE "O"                                                             
CALL MSG "OFF"                                                         
ADDRESS ISPEXEC "CONTROL ERRORS RETURN "                               
lib = "'SE16661.SEMVS2.JCL'"                                           
msk = "MEMBERS(ALCIT)"                                                 
CALL BPXWDYN "ALLOC RTDSN(TDS) NEW REUSE UNIT(VIO)"                   
tnq = SUBSTR(tds,POS(".",tds))                                     
xmt = OVERLAY("XMT",tnq,1)                                         
rcv = OVERLAY("RCV",tnq,1)                                         
classes = XRANGE()                                                     
ddnames ="SYSOUT SYSPRINT SYSTSPRT"                                   
nd = WORDS(ddnames)                                                   
nc = LENGTH(classes)                                                   
DO c = 1 TO nc                                                         
/* CALL BPXWUNIX 'clear',,dmy.          ** should work but doesn't!? */
   cl = SUBSTR(classes,c,1)                                           
   xcl = C2X(cl)                                                       
   SAY "CLASS='"cl"' '"xcl"'X"                                         
   DO a = 1 TO nd                                                     
      dd = WORD(ddnames,a)                                             
      cmd = "FREE DD("dd") "; cmd                                     
      IF( RC=0 )THEN DO                                               
         cmd = "ALLOC DD("dd") SYSOUT("cl") REUSE "; cmd               
         END                                                           
      ELSE NOP                                                         
      IF( RC<>0 )THEN DO                                               
         SAY cmd "  ENDED RC="RC                                       
         ITERATE c                                                     
         END                                                           
      ELSE NOP                                                         
   END                                                                 
   prm = "NOEPILOG NOLOG NONOTIFY NOPROLOG NOWARN "                   
   CALL OUTTRAP "XMT."                                                 
   "XMIT X.X DS("lib") OUTDSN("xmt") " prm msk                         
   CALL OUTTRAP "OFF"                                                 
   SAY;SAY COPIES("_",79)                                             
END                                 
DO a = 1 TO nd                       
   dd = WORD(ddnames,a)             
   "ALLOC DD("dd") SYSOUT(*) REUSE "
   IF( RC<>0 )THEN ITERATE c         
END

FREEs failed for SYSOUT every time. :?
Am I thinking inside a box?! :o
Steve
User avatar
Steve Coalbran
 
Posts: 138
Joined: Wed Apr 06, 2011 11:49 am
Location: Stockholm, Sweden
Has thanked: 13 times
Been thanked: 1 time

Next

Return to CLIST & REXX

 


  • Related topics
    Replies
    Views
    Last post