IBM webMethods Hybrid Integration

IBM webMethods Hybrid Integration

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.


#TechXchangePresenter
 View Only
Expand all | Collapse all

Stublog trace

  • 1.  Stublog trace

    Posted Mon April 23, 2012 02:58 PM

    Hello,

    Second question from an obvious EntireX newbie today:

    SAG support asked me to provide a stublog trace. The support ticket states:

    We need a client stublog trace. A stublog trace has the text 'EntireX Broker Stub Trace' on the first line of the trace. I do not see that in any of the traces you have supplied. To produce the trace you need to use stub BKIMBTSO. If you do not have BKIMBTSO linked to your Natural batch nucleus, add the following dynamic override in the batch job RCA=(BROKER),RCALIAS=(BROKER,BKIMBTSO).

    In the batch job, add the following to your JCL before executing the batch job:

    //SAGTOK1 EXEC PGM=SAGTOKEN,PARM=(‘SET LOCAL,STUBLOG=3’) //STEPLIB DD DSN=your.exx.load,DISP=SHR

    Your EntireX load library must be APF authorized. Add the following DD card to the JCL
    //TRACE1 DD SYSOUT=*

    Supply the output of TRACE1.

    Question: how do I do this? Are these changes in the batch Natural nuke of the job where the call to the service is made, or is this in the Natural RPC Server (though if the latter I don’t know where this is used)? If this is for the batch job, can I add the step mentioned above running SAGTOKEN in my batch Natural proc so the JCL of the job itself doesn’t need to be modified?

    Current:
    //NATCA02D PROC NATPGM=NATBATED, NATURAL PROGRAM NAME
    // NATREG=3M, NATURAL,DDM,OS SORT
    // SYSDA=SYSDA, TEMPORARY DISK ALLOCATION
    // SRTLIB=‘SYS1.SORTLIB’, SORT LIBRARY NAME
    // SRTSPCE=5, SORT WORK SPACE
    // NINDX=‘VSTA.DEV1.NATURAL’, NATURAL
    // AINDX=‘VSTA.DEV1.ADABAS’, ADABAS
    // SYSOUT=‘‘, SYSOUT CLASS
    // SYSUDMP=’
    ’, SYSUDUMP DATA SET
    // PRM=(‘IM=D,AUTO=ON,MT=0’) NATURAL PARMS
    //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

    Proposed:
    //NATCA02D PROC NATPGM=NATBATED, NATURAL PROGRAM NAME
    // NATREG=3M, NATURAL,DDM,OS SORT
    // SYSDA=SYSDA, TEMPORARY DISK ALLOCATION
    // SRTLIB=‘SYS1.SORTLIB’, SORT LIBRARY NAME
    // SRTSPCE=5, SORT WORK SPACE
    // NINDX=‘VSTA.DEV1.NATURAL’, NATURAL
    // AINDX=‘VSTA.DEV1.ADABAS’, ADABAS
    // SYSOUT=‘‘, SYSOUT CLASS
    // SYSUDMP=’
    ’, SYSUDUMP DATA SET
    // PRM=(‘IM=D,AUTO=ON,MT=0,RCA=(BROKER),RCALIAS=(BROKER,BKIMBTSO)’)
    //SAGTOK1 EXEC PGM=SAGTOKEN,PARM=(‘SET LOCAL,STUBLOG=3’)
    //STEPLIB DD DSN=your.exx.load,DISP=SHR
    //*

    //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

    //TRACE1 DD SYSOUT=*

    Please advise. I know nothing about this at all.

    Thanks,

    Brian


    #EntireX
    #webMethods
    #Mainframe-Integration


  • 2.  RE: Stublog trace

    Posted Mon April 23, 2012 04:53 PM

    Brian,

    without being able to try this myself, for obvious reasons, this looks correct.

    Yes, when a client stublog is requested this is from the environment issuing
    the calls (“the client”).

    Whether you need RCA / RCALIAS or not depends on what stub has been linked
    to your nat nucleus.


    #webMethods
    #Mainframe-Integration
    #EntireX


  • 3.  RE: Stublog trace

    Posted Tue April 24, 2012 07:08 AM

    Hi Brian,

    You must also add your exx.load to to the Natural step to be able to dynamically load the other Broker stub.


    #webMethods
    #EntireX
    #Mainframe-Integration


  • 4.  RE: Stublog trace

    Posted Tue April 24, 2012 11:30 AM

    I thought that was what the 1st step was. Why do I need to run SAGTOKEN if I am instead going to do the same thing again in the batch Natural step?


    #webMethods
    #Mainframe-Integration
    #EntireX


  • 5.  RE: Stublog trace

    Posted Tue April 24, 2012 11:41 AM

    Brian,

    SAGTOKEN just sets a “global variable”, like an environment variable in Windows,
    you will still need to enable your batch natural to find the broker stub load module.


    #EntireX
    #Mainframe-Integration
    #webMethods


  • 6.  RE: Stublog trace

    Posted Tue April 24, 2012 12:29 PM

    Ok.

    Now I am having trouble as the batch Natural step of this proc (with EXX load lib in the steplib chain even) acts as though AUTO=OFF even though AUTO=ON is specified. Why would it do that? Our jobs are not expecting to provide NSC credentials but to use RACF pass-through.

    Why would this change and how do I fix it. AUTO=ON is explicitly given in the parm list.


    #Mainframe-Integration
    #webMethods
    #EntireX


  • 7.  RE: Stublog trace

    Posted Tue April 24, 2012 12:59 PM

    Does Natural flag any parm errors and thus invalidate the whole bunch of override parms ?


    #EntireX
    #Mainframe-Integration
    #webMethods


  • 8.  RE: Stublog trace

    Posted Tue April 24, 2012 05:17 PM

    No parm errors I can see, but I do see these suspicious messages:

    10.17.59 STC22269 ---- TUESDAY,   24 APR 2012 ----                              
    10.17.59 STC22269  IEF677I WARNING MESSAGE(S) FOR JOB DV020002 ISSUED           
    10.17.59 STC22269  IEF695I START DV020002 WITH JOBNAME DV020002 IS ASSIGNED TO U
    10.17.59 STC22269  $HASP373 DV020002 STARTED                                    
    10.17.59 STC22269  IEF403I DV020002 - STARTED - TIME=10.17.59                   
    10.18.00 STC22269  Sagtok03: Invalid Command to Token Services                  
    10.18.00 STC22269  -                                                --TIMINGS (M
    10.18.00 STC22269  -JOBNAME  STEPNAME PROCSTEP    RC   EXCP   CONN    TCB    SRB
    10.18.00 STC22269  -DV020002          SAGTOK1     00     11      1    .00    .00
    10.18.00 STC22269  +NATUEX1 USERID VSPRCTL ASSIGNED                             
    10.18.01 STC22269  -DV020002          CANSTEP     12    267    123    .00    .00
    10.18.01 STC22269  IEF404I DV020002 - ENDED - TIME=10.18.01                     
    10.18.01 STC22269  -DV020002 ENDED.  NAME-QMNG-Q02..Q14        TOTAL TCB CPU TIM
    10.18.01 STC22269  $HASP395 DV020002 ENDED                                      
     STMT NO. MESSAGE                                                               
    3 IEFC001I PROCEDURE NATCA02D WAS EXPANDED USING SYSTEM LIBRARY SYS1.VST
    60 IEF686I DDNAME REFERRED TO ON DDNAME KEYWORD IN PRIOR STEP WAS NOT RES
    IEF695I START DV020002 WITH JOBNAME DV020002 IS ASSIGNED TO USER VSPRCTL , GROUP
    IEF236I ALLOC. FOR DV020002 SAGTOK1 NATURAL                                     
    IEF237I 11A8 ALLOCATED TO STEPLIB                                               
    IEF237I 117A ALLOCATED TO VTSDCS                                                
    IEF237I 117A ALLOCATED TO VTSTATE                                               
    IEF237I 117A ALLOCATED TO VTRATE                                                
    IEF237I 1136 ALLOCATED TO VTSXREF                                               
    IEF237I 1136 ALLOCATED TO VTSXREF1                                              
    IEF237I 1119 ALLOCATED TO VTSREG4                                               
    IEF237I DMY  ALLOCATED TO JESMSG                                                
    IEF237I DMY  ALLOCATED TO JESJCL                                                
    IEF237I DMY  ALLOCATED TO SYSMSG                                                
    IEF237I JES2 ALLOCATED TO SYSABEND                                              
    IEF237I JES2 ALLOCATED TO SYSUDUMP                                              
    IEF237I DMY  ALLOCATED TO DDPRINT                                               
    IEF237I JES2 ALLOCATED TO CMPRINT                                               
    IEF237I JES2 ALLOCATED TO CMPRT01                                               
    IEF237I JES2 ALLOCATED TO SYSIN                                                 
    IEF142I DV020002 SAGTOK1 NATURAL - STEP WAS EXECUTED - COND CODE 0000           
    IEF285I   VSTA.DEV1.EXX.LOAD                           KEPT                     
    IEF285I   VOL SER NOS= DBA003.                                                  
    IGD104I VSTA.DEV1.VERTEX.STAX.VTSDCS                 RETAINED,  DDNAME=VTSDCS   
    IGD104I VSTA.DEV1.VERTEX.STAX.VTSTATE                RETAINED,  DDNAME=VTSTATE  
    IGD104I VSTA.DEV1.VERTEX.STAX.VTRATE                 RETAINED,  DDNAME=VTRATE   
    IGD104I VSTA.DEV1.VERTEX.STAX.VTSXREF                RETAINED,  DDNAME=VTSXREF  
    IGD104I VSTA.DEV1.VERTEX.STAX.VTSXREF.GEOAIX.PATH    RETAINED,  DDNAME=VTSXREF1 
    IGD104I VSTA.DEV1.VERTEX.STAX.VTSREG                 RETAINED,  DDNAME=VTSREG4  
    IEF285I   VSPRCTL.DV020002.STC22269.D0000102.?         SYSOUT                   
    IEF285I   VSPRCTL.DV020002.STC22269.D0000103.?         SYSOUT                   
    IEF285I   VSPRCTL.DV020002.STC22269.D0000104.?         SYSOUT                   
    IEF285I   VSPRCTL.DV020002.STC22269.D0000105.?         SYSOUT                   
    IEF285I   VSPRCTL.DV020002.STC22269.D0000101.?         SYSIN                    
    IEF373I STEP/SAGTOK1 /START 2012115.1017                                        
    IEF374I STEP/SAGTOK1 /STOP  2012115.1018 CPU    0MIN 00.00SEC SRB    0MIN 00.00S
    IEF236I ALLOC. FOR DV020002 CANSTEP NATURAL                                     
    IEF237I 1196 ALLOCATED TO STEPLIB                                               
    IEF237I 1146 ALLOCATED TO                                                       
    IEF237I 11A8 ALLOCATED TO                                                       
    IEF237I 350B ALLOCATED TO                                                       
    IEF237I 1152 ALLOCATED TO                                                       
    IEF237I 1277 ALLOCATED TO                                                       
    IEF237I 1277 ALLOCATED TO                                                       
    IEF237I 1277 ALLOCATED TO                                                       
    IEF237I 370D ALLOCATED TO SORTLIB                                  
    IEF237I JES2 ALLOCATED TO SYSUDUMP                                 
    IEF237I 1146 ALLOCATED TO DDCARD                                   
    IEF237I JES2 ALLOCATED TO DDDRUCK                                  
    IEF237I JES2 ALLOCATED TO MPMDUMP                                  
    IEF237I JES2 ALLOCATED TO DDPRINT                                  
    IEF237I JES2 ALLOCATED TO JESMSG                                   
    IEF237I JES2 ALLOCATED TO JESJCL                                   
    IEF237I JES2 ALLOCATED TO SYSMSG                                   
    IEF237I JES2 ALLOCATED TO SYSPRINT                                 
    IEF237I JES2 ALLOCATED TO SYSABEND                                 
    IEF237I JES2 ALLOCATED TO SYSOUT                                   
    IEF237I JES2 ALLOCATED TO TRACE1                                   
    IEF237I DMY  ALLOCATED TO SORTOUT                                  
    IGD100I 122B ALLOCATED TO DDNAME DDSORTIN DATACLAS (        )      
    IEF237I 122B ALLOCATED TO DDSORTUT                                 
    IGD100I 3519 ALLOCATED TO DDNAME SORTWK01 DATACLAS (        )      
    IGD100I 3556 ALLOCATED TO DDNAME SORTWK02 DATACLAS (        )      
    IGD100I 1294 ALLOCATED TO DDNAME SORTWK03 DATACLAS (        )      
    IGD100I 3514 ALLOCATED TO DDNAME SORTWK04 DATACLAS (        )      
    IEF237I JES2 ALLOCATED TO SORTMSG                                  
    IEF237I JES2 ALLOCATED TO CMPRINT                                  
    IEF237I JES2 ALLOCATED TO CMPRT01                                  

    #Mainframe-Integration
    #webMethods
    #EntireX


  • 9.  RE: Stublog trace

    Posted Tue April 24, 2012 06:27 PM

    Is it better to somehow assemble these parms into my batch Natural nuke instead of passing them as parms?

    RCA=(BROKER),RCALIAS=(BROKER,BKIMBTSO)

    Are these subparms of the NTRPC macro or under NTPRM?

    Or is there an NTRCA macro?

    TIA


    #EntireX
    #webMethods
    #Mainframe-Integration


  • 10.  RE: Stublog trace

    Posted Wed April 25, 2012 12:09 AM

    There is some JCL syntax error around line 60 - presumably a DDNAME in the calling JCL that does //ddx dd DDNAME=SOMETHNG and no //SOMETHNG was provided, perhaps because you’ve added another step and the resolution is now ambiguous.

    I like using SYSPARM to define parameters used for RPC clients and servers. Simplifies the JCL and keeps the parms in an accessible and easy to update place.


    #EntireX
    #webMethods
    #Mainframe-Integration


  • 11.  RE: Stublog trace

    Posted Wed April 25, 2012 05:56 AM

    Hi Brian,

    RCA and RCAALIAS are Natural parameters and is not directly relater to NATRPC. Therefor they are not sub-parameters to the RPC parameters.

    The first step is ‘just’ to set the environment variable to activate stublog trace that is inherited by the next step.
    The second step is your actual step. In this step you want to dynamic load another stub (and not to use the stub you may have linked to Natural). Therefore this step must know where it can load the stub from.

    Have you changed the name of your job? AUTO=ON may use the name of your job as userid.

    Try to set PLOG=ON as first dynamic parameter. Then a report is printed about all dynamic parameters specified.

    You can also specify dynamic parameters under CMPRMIN in addition to the PARM parameter:

    //CMPRMIN DD *
    <dynamic parameters>
    /*

    or

    //CMPRMIN DD DSN=data.set(member),...

    #EntireX
    #webMethods
    #Mainframe-Integration


  • 12.  RE: Stublog trace

    Posted Wed April 25, 2012 08:14 AM

    That won’t work in a PROC :wink:

    The other one does, of course, and I prefer CMPRMIN on a dataset as well,
    gives you a lot of freedom as far as changing parms without changing the
    proc or job is concerned.

    About Brian’s sagtoken error - very strange, the command is perfectly OK ?!?
    SAGTOKEN ends with a zero rc anyway, so … let’s see.
    But THAT by itself shouldn’t have any impact on whether Natural starts up or not,
    it just won’t create the stublog.

    So there must be a Natural startup error having passed by undetected (as in: not shown),
    so PLOG=ON should tell us more.


    #Mainframe-Integration
    #EntireX
    #webMethods


  • 13.  RE: Stublog trace

    Posted Wed April 25, 2012 12:24 PM

    That’s the reason why I showed both. :wink:

    And it is not fully correct that it won’t work in a proc - from z/OS 1.13 it will. :idea:


    #EntireX
    #webMethods
    #Mainframe-Integration


  • 14.  RE: Stublog trace

    Posted Wed April 25, 2012 12:28 PM

    Brian,

    Maybe you should look into your NATUEX1 because of this message in your output:

    +NATUEX1 USERID VSPRCTL ASSIGNED

    It could look as it has influence on the userid setup(?).


    #Mainframe-Integration
    #webMethods
    #EntireX


  • 15.  RE: Stublog trace

    Posted Wed April 25, 2012 01:11 PM

    Well, looks like this is the “correct” userid anyway as

    IEF695I START DV020002 WITH JOBNAME DV020002 IS ASSIGNED TO USER VSPRCTL , GROUP

    One thing that comes to my mind - is that extra EXX loadlib APF authorized ?

    If not this may affect things negatively (and probably explain the SAGTOKEN) error as well.


    #webMethods
    #EntireX
    #Mainframe-Integration


  • 16.  RE: Stublog trace

    Posted Wed April 25, 2012 02:56 PM

    VSTA.DEV1.EXX.LOAD is APF-authorized and has been as it is part of the STEPLIB concatenation for the Broker itself, and every load lib in the STEPLIB chain for that was required to be APF-authorized.

    The NATUEX1 for the Natural step works the same with or without the SAGTOKEN step, so I don’t think it’s that.

    I’m not seeing any messages that the parm list is invalid, but it does seem to act as though it was invalidated. Is there a max length for the string? I was concerned about passing that long of a dynamic parm list.

    Guess I can just try different things to see how to make a regular batch job run normally with this configuration.

    The DD name issue is a reference to CMSYNIN which would be resolved if the parm issue is resolved, I think.

    60 XXCMSYNIN DD DDNAME=SYSIN


    #webMethods
    #Mainframe-Integration
    #EntireX


  • 17.  RE: Stublog trace

    Posted Wed April 25, 2012 03:08 PM

    Yes, there’s a max length of 100 for the PARM, but you’re way below that,
    assuming your actual JCL looks like what you pasted here.

    Did you try PLOG=ON ?

    Also, is IMSG set to OFF, by any chance ?


    #EntireX
    #webMethods
    #Mainframe-Integration


  • 18.  RE: Stublog trace

    Posted Wed April 25, 2012 03:24 PM

    I didn’t try PLOG=ON and I have never heard of IMSG so it’s probably whatever is the default.

    It’s typical in our shop for a batch job to override the parms with its own parm passing.

    //LOADP2 EXEC NATCA02D,PARM=(‘INTENS=1,AUTO=ON,IM=D,MT=0’)

    When this is done, the AUTO=OFF seems to kick in. When I removed it, which I have no control over in a true setting, we were back to AUTO=ON but the SYSIN was being ignored and it ran with an empty CMSYNIN.

    Then I found that it’s by adding the SAGTOKEN step, that the Natural step ignores what we pass in the SYSIN DD card. Just removing the SAGTOKEN step allows CMSYNIN to match up to SYSIN.

    I don’t know how I am ever going to get a stublog or fix this critical problem that I am on the hook for.


    #EntireX
    #Mainframe-Integration
    #webMethods


  • 19.  RE: Stublog trace

    Posted Wed April 25, 2012 04:11 PM

    Take the sysin cards and assign them directly to your CMSYNIN of your natbatch step. If I remember the syntax correct:

    //...   EXEC NATCA02D
    //CANSTEP.CMSYNIN DD …

    What do you have in sysin?

    You could also try with AUTO=OFF and stack the logon credentials (library, uid, pw) in CMSYNIN.


    #webMethods
    #EntireX
    #Mainframe-Integration


  • 20.  RE: Stublog trace

    Posted Wed April 25, 2012 04:15 PM

    Mogens,

    All I can control is the proc. The JCL for the job is already set, and there are lots of them. I would break a lot of jobs everywhere if I change how this batch Natural proc has always worked.

    The jobs need to be able to override parms. They need to be able to pass the Natural command and data in SYSIN DD. We need to be able to use AUTO=ON.

    -Brian


    #Mainframe-Integration
    #EntireX
    #webMethods


  • 21.  RE: Stublog trace

    Posted Wed April 25, 2012 04:24 PM

    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?


    #webMethods
    #EntireX
    #Mainframe-Integration


  • 22.  RE: Stublog trace

    Posted Wed April 25, 2012 04:28 PM

    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?


    #webMethods
    #Mainframe-Integration
    #EntireX


  • 23.  RE: Stublog trace

    Posted Wed April 25, 2012 04:43 PM

    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.


    #webMethods
    #EntireX
    #Mainframe-Integration


  • 24.  RE: Stublog trace

    Posted Wed April 25, 2012 04:57 PM

    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


    #webMethods
    #EntireX
    #Mainframe-Integration


  • 25.  RE: Stublog trace

    Posted Wed April 25, 2012 05:11 PM

    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.


    #Mainframe-Integration
    #EntireX
    #webMethods


  • 26.  RE: Stublog trace

    Posted Wed April 25, 2012 05:25 PM

    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


    #EntireX
    #webMethods
    #Mainframe-Integration


  • 27.  RE: Stublog trace

    Posted Wed April 25, 2012 05:33 PM

    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.


    #EntireX
    #Mainframe-Integration
    #webMethods


  • 28.  RE: Stublog trace

    Posted Wed April 25, 2012 05:39 PM

    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)’


    #EntireX
    #Mainframe-Integration
    #webMethods


  • 29.  RE: Stublog trace

    Posted Wed April 25, 2012 05:44 PM

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


    #webMethods
    #Mainframe-Integration
    #EntireX


  • 30.  RE: Stublog trace

    Posted Wed April 25, 2012 05:49 PM

    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.


    #webMethods
    #EntireX
    #Mainframe-Integration


  • 31.  RE: Stublog trace

    Posted Wed April 25, 2012 05:56 PM

    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.


    #EntireX
    #Mainframe-Integration
    #webMethods


  • 32.  RE: Stublog trace

    Posted Wed April 25, 2012 05:56 PM

    Data goes only into TRACE1 when BROKER calls are done.


    #webMethods
    #EntireX
    #Mainframe-Integration


  • 33.  RE: Stublog trace

    Posted Wed April 25, 2012 06:01 PM

    Exactly (the latter) :wink:


    #Mainframe-Integration
    #webMethods
    #EntireX


  • 34.  RE: Stublog trace

    Posted Wed April 25, 2012 06:06 PM

    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)')

    #webMethods
    #Mainframe-Integration
    #EntireX


  • 35.  RE: Stublog trace

    Posted Wed April 25, 2012 10:33 PM

    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.


    #EntireX
    #webMethods
    #Mainframe-Integration


  • 36.  RE: Stublog trace