Stublog trace

Brian,

This I do not understand. Will you run all jobs with stublog trace? Normally you will only do this for a specific job and/or testing. Will you have all jobs to produce lots of trace output?

I would prefer not to have all batch jobs produce a stublog trace, but this JCL is not something I can change. It’s a started task and though it’s development it’s in a production job library which is protected by SOX and change management. We can’t just edit the JCL and resubmit.

Question: why would people need me to run BKIMBTSO when I have NATETB23 linkedited into the batch Natural nuke?

NATETB23 does not support stublog trace. That’s the reason. :frowning:

Can’t you submit a batch job instead of using the stc? Then you can control all you want.

The application design is to have a program run under what we call our queue manager which is a started task, and this object calls the web service. I don’t have any control over that design aspect.

I may be able to ask the developer to try this outside of running under the queue manager to see what happens. If so, perhaps he can add into his job the things I have tried to add to the proc.

Why would NATETB23 not support the stublog trace? According to the chart in the documentation, all stubs including NATETB23 support trace (trace column is YES).

http://techcommunity.softwareag.com/ecosystem/documentation/webmethods/wmsuites/wmsuite8-2_ga/EntireX/8-2-SP1_EntireX/adminZos/stubs.htm

I sent this to the developer:

I have been back & forth with SAG and with some people in the community. Apparently stublog tracing is something you will need to do in your JCL. I can’t change it at the proc level.

Please add the following to the JCL for DV02001A:

Before your Natural step, add this step:

//SAGTOK1 EXEC PGM=SAGTOKEN,PARM=(‘SET LOCAL,STUBLOG=3’)
//STEPLIB DD DSN=VSTA.DEV1.EXX.LOAD,DISP=SHR
//*

Then in the Natural step, change the parms from this:
//NATURAL EXEC NATCA02D,
// PARM=‘BPSIZE=4096,IM=D,MT=0,MAXCL=0,DU=ON,AUTO=ON,PS=60’

to this:

//NATURAL EXEC NATCA02D,
// PARM=‘BPSIZE=4096,IM=D,MT=0,MAXCL=0,DU=ON,AUTO=ON,PS=60,RCA=(BROKER),RCALIAS=(BROKER,BKIMBTSO)’

Finally, add this DD card to the Natural step:

//TRACE1 DD SYSOUT=*

Then hopefully we can get what we need.

You don’t need to run anything specific, just put that (SAGTOKEN & RCA+RCALIAS) into a simple NATURAL batch job doing nuffin, give it a TECH and FIN or something like that, just to prove it.

Look at the 8.2.2 docs, a LOT more NOs there …

http://techcommunity.softwareag.com/ecosystem/documentation/webmethods/wmsuites/wmsuite8-2_sp2/EntireX/8-2-SP2_EntireX/adminZos/stubsNat.htm#stubsNat

Wow… so the doc link I was referencing wasn’t accurate. I love when support tells you RTFM and it misleads you. I am already stupid enough.

I will try the sample. But question:

Support gave me this sample to run as the RPC client:

//SAGTOK1 EXEC PGM=SAGTOKEN,PARM=(‘SET LOCAL,STUBLOG=3’)
//STEPLIB DD DSN=PRD.EXX822.MVSLOAD,DISP=SHR
//*
//SAGTOK2 EXEC PGM=SAGTOKEN,PARM=(‘SET LOCAL,TRANSPORT=TCP-NET’)
//STEPLIB DD DSN=PRD.EXX822.MVSLOAD,DISP=SHR
//*
//NATB0100 EXEC PGM=RPC427BA,
// COND=(0,LT),
// PARM=(‘TRAP(OFF)/IM=D,INTENS=1,MADIO=0,MAXCL=0’,
// ‘DU=OFF’)
//STEPLIB DD DSN=PRD.NAT427.MVSLOAD,DISP=SHR
// DD DSN=PRD.ADA821.MVSLOAD,DISP=SHR
// DD DSN=PRD.EXX822.MVSLOAD,DISP=SHR
//DDPRINT DD SYSOUT=*
//DDDRUCK DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//TRACE1 DD SYSOUT=*
//STUBLOG DD SYSOUT=*
//DDKARTE DD DUMMY
//DDCARD DD *
ADARUN DB=1,DE=8391,SVC=249,MODE=MULTI
//CMPRINT DD SYSOUT=*
//CMTRACE DD SYSOUT=*
//CMPRT01 DD SYSOUT=*
//CMPRT10 DD SYSOUT=*
//CMPRMIN DD *
RCA=BROKER,RCALIAS=(BROKER,BKIMBTSO)
RPC=(SERVER=ON,SRVNAME=SRV1,SRVNODE=‘etbnode:TCP’,
SRVUSER=DBA,TRACE=2,MAXBUFF=20,RPCSIZE=80,NTASKS=2)
//CMSYNIN DD *
//

It looks like my Natural RPC server JCL (kinda). Does the Natural RPC client need the SAGTOK1 and SAGTOK2 steps?

I was only trying it with the SAGTOK1 step before.

Part of my problem too is I have too long a parm string to pass along. Not more than 100 chars, but more than one line.

How do I break this up so it takes it on two lines?

PARM=‘BPSIZE=4096,IM=D,MT=0,MAXCL=0,DU=ON,AUTO=ON,PS=60,RCA=(BROKER),RCALIAS=(BROKER,BKIMBTSO)’

Put the whole PARM string (minus PARM=‘’) into CMPRMIN sysin input.

Thanks, Douglas. I think in hindsight Wolfgang was suggesting that too.

Ok, I ran this job that does nothing:

//VSTA003N JOB (VS03100,NSNS),‘B JOHNSON’,MSGCLASS=T,MSGLEVEL=(1,1),
// CLASS=U,TIME=(1440),NOTIFY=&SYSUID
//DEFOUT OUTPUT DEFAULT=YES,JESDS=ALL,DEST=D1111L01
//******************************************************************
//SAGTOK1 EXEC PGM=SAGTOKEN,PARM=(‘SET LOCAL,STUBLOG=3’)
//STEPLIB DD DSN=VSTA.DEV1.EXX.LOAD,DISP=SHR
//*
//LOADP2 EXEC NATCA02D
//CMPRMIN DD *
INTENS=1,AUTO=ON,IM=D,MT=0,
RCA=(BROKER),RCALIAS=(BROKER,BKIMBTSO)
/*
//CMPRINT DD SYSOUT=T,DEST=D1111L01
//TRACE1 DD SYSOUT=T
//CMEDIT DD DISP=SHR,DSN=VSTA.DBA.BATCH.EDITWORK
//SYSIN DD *
LOGON DBALIB
HELLO
FIN
/*
//

The job runs successfully, but should I be concerned there was no TRACE1 output, or is that only because there was no RPC client call out?

If this is “success”, I will advise the developer to do the same to manage the long PARM=(string).

Please confirm or correct.

The SAGTOK1 step activates the stublog trace.

The SAGTOK2 step set default transport to TCP (as first priority), and if it does not work to NET (as second priority). So this is only used if the application does not assign its own transport method in the call. Perhaps you should set TRANSPORT=NET because I could imagine it is what you’re using with NATETB23.

Please remember assign your exx.load to STEPLIB of the Natural step.

Perhaps you could give it a last try with

//CANSTEP EXEC PGM=&NATPGM,REGION=&NATREG,PARM=&PRM 
//STEPLIB DD DSN=&NINDX..LOAD,DISP=SHR,DCB=BLKSIZE=32760 
// DD DSN=&AINDX..LOAD,DISP=SHR 
// DD DSN=SYSP.VERTEX.V401.LOADLIB.MAINT,DISP=SHR 
// DD DSN=VSTA.USER.LOAD,DISP=SHR
[b]//CMSYNIN DD DDNAME=SYSIN[/b]

and see if you can have sysin assigned to the Natural step.

Data goes only into TRACE1 when BROKER calls are done.

Exactly (the latter) :wink:

You should be able to make that

// PARM=('BPSIZE=4096,IM=D,MT=0,MAXCL=0,DU=ON,AUTO=ON,PS=60',
//        'RCA=(BROKER),RCALIAS=(BROKER,BKIMBTSO)')

Thanks for your help, Wolfgang and all else who responded.

And sorry for my denseness.

We were able to successfully produce a stublog trace from a mocked up batch Natural job calling the same web service, and I have sent this on to support.

Look at this 8.2.2 doc: NOs almost all gone!
http://techcommunity.softwareag.com/ecosystem/documentation/webmethods/wmsuites/wmsuite8-2_sp2/EntireX/8-2-SP2_EntireX/adminZos/stubs.htm#stubs_table
(I’ll open an SR to ask about the contradiction)