Exspans Systems Inc Logo home
 
Forum
Sign up Calendar Latest Topics
 
 
 


Reply
  Author   Comment   Page 3 of 6      Prev   1   2   3   4   5   6   Next
rakesh

Member
Registered:
Posts: 52
Reply with quote  #31 
Surprisingly even i am unable to reproduce those error messages.

Only the difference now is, we had IPL yesterday and it is the first IPL since this product installed. Not sure if that cleared it.

But here were the message intercepts i had when i got that error.

*MSG=$HASP395 VAR=&JOB POS=10 LEN=8 CMD(C CICSB)
*WTO 'AUTOCAN &JOB HAS BEEN PURGED'
*
MSG=IEF403I
VAR &JOBN LEN 8
VAR &JOBID LEN 8
LET &JOBN=$$MSGJNM
LET &JOBID=$$MSGJID
WTO '&JOBN IS THE JOBNAME'
WTO '&JOBID IS THE JOBNUMBER'
*
MSG=IEF099I
VAR=&JB POS=13 LEN=8
VAR=&JOBID LEN 8
VAR=&JOBNUM LEN 8
LET &JOBID=$$MSGJID
LET &JOBNUM = SUBSTR(&JOBID,4,4)
WTO '&JB IS WAITING FOR DATASET. SO AUTOMANTION CANCELLED IT'
CMD($CJ(&JOBNUM))
*
MSG=IEF238D
VAR &JOBN LEN 8
LET &JOBN=$$MSGJNM
LET &R1=$$MSGRID
REPLY &R1 (CANCEL)
WTO '&R1 &JOBN'

And the solution you provided is working for WTORs.

Thank you
0
automan

Avatar / Picture

Moderator
Registered:
Posts: 136
Reply with quote  #32 
I find it very disturbing when problems are not reproducible. The first thing I teach my interns to do is reproduce the problem to observe the circumstances. I can guess that the ones associated with the message ID are due to having defined a global variable with the name &R1 in a set of MSGID definitions then changed it and performed a LOAD MSGID. This will leave all the GLOBAL variables defined so when it gets to the IEF238D it sees a global variable named &R1 with an old definition and uses it. The way clear all global definitions is to perform a LOAD PARMS command.

A message identifier is defined as a global by default because the assumption is that it will be used in another piece of code after some events have taken place, before issuing the reply. In general try to use LOCAL variables unless you really do want to communicate values to other pieces of code.

It is the mini-dump that concerns me more. I know of circumstances on certain emulated systems where default buffer definitions for message dataspaces are inadequate which does cause problems with STAGE 2. On such virtual systems if the user does not want to go through checking and defining all of the system setup parameters we usually suggest they use STAGE 0, but that is not an option for you at the moment.
0
rakesh

Member
Registered:
Posts: 52
Reply with quote  #33 
Sorry, i couldn't recreate the error message :-(

Need a help on running REXX:

MSG=IEF403I
VAR &JOBN LEN 8
VAR &JOBID LEN 8
VAR &JOBTIM LEN 8
LET &JOBN=$$MSGJNM
LET &JOBID=$$MSGJID
LET &JOBTIM=$$MSGTIM
REXX JOBSINFO ('&JOBN','&JOBID','&JOBTIM')
-----------
/*REXX*/
TRACE I
"ALLOC FILE(OUTPUT) DA('DUMP.USERS.JOBS.INFO') MOD"
PARSE SOURCE SRC
ARG JOBN, JOBID, JOBTIM
STEM1 = JOBTIM JOBN JOBID
"EXECIO * DISKW OUTPUT (STEM STEM1. "
"FREE F(OUTPUT)"
--------
Here is the error from SYSLOG of Automan

"ALLOC FILE(OUTPUT) DA('DUMP.USERS.JOBS.INFO') MOD"
"ALLOC FILE(OUTPUT) DA('DUMP.USERS.JOBS.INFO') MOD"
RC(-3) +++

No other error in JES SYSLOG.

I checked the user id (STCUSER) under which AUTOMAN runs does have Update access to the dataset.

What else is going wrong here? Do we need to do any special security setup?

Thank you
0
automan

Avatar / Picture

Moderator
Registered:
Posts: 136
Reply with quote  #34 
The REXX interpreter is being run outside of TSO.

ALLOCATE and FREE are TSO/E commands, not REXX instructions. They don't work outside of a TSO/E address space.

For programs that need to allocate datasets outside of the TSO/E environment, IBM supplies the BPXWDYN Text Interface to Dynamic Allocation and Dynamic Output program.

0
rakesh

Member
Registered:
Posts: 52
Reply with quote  #35 
Hi,

/*REXX*/
CALL BPXWDYN "ALLOC DD(OUTPUT) DA('DUMP.USERS.JOBS.INFO') MOD"
/*"ALLOC FILE(OUTPUT) DA('DUMP.USERS.JOBS.INFO') MOD" */
PARSE SOURCE SRC
ARG JOBN, JOBID, JOBTIM
STEM1.1 = JOBTIM JOBN JOBID
"EXECIO * DISKW OUTPUT (STEM STEM1. "
CALL BPXWDYN "FREE DD(OUTPUT)"

------------------
CALL BPXWDYN "ALLOC DD(OUTPUT) DA(DUMP.USERS.JOBS.INFO') MOD"
"ALLOC DD(OUTPUT) DA(DUMP.USERS.JOBS.INFO') MOD"
"68157440"
CALL BPXWDYN "FREE DD(OUTPUT)"
"FREE DD(OUTPUT)"
"69206016"
-------------------

The output is written to the dataset i wanted but the dataset is always being in use. So i cant open the dataset untill AUTOMAN task comes down.

sorry for asking too many questions but it's just start up problems :-)
0
automan

Avatar / Picture

Moderator
Registered:
Posts: 136
Reply with quote  #36 
Asking questions is how you learn. I am not altogether sure I understand what the problem is. Are you saying that the dataset DUMP.USERS.JOBS.INFO is not being unallocated by the FREE command? The unallocation should release the dataset.

You are allocating the dataset with MOD which means you are taking exclusive control of the dataset and adding on to the end of it.


"ALLOC DD(OUTPUT) DA(DUMP.USERS.JOBS.INFO') MOD"
|
The open quote in front of DUMP is missing. Is this a transcription error?

I will try creating a dataset and running this code later today
0
rakesh

Member
Registered:
Posts: 52
Reply with quote  #37 
Yes that datasetis not getting freed with FREE command at the end of script. So I had to bring down automan to look at the content in it. And yes I need it is MOD as it has to add records at the end of the file.

The quote was missed while copying.

I hope this problem is rexreatable at your end
0
automan

Avatar / Picture

Moderator
Registered:
Posts: 136
Reply with quote  #38 
I am going to boot up an LPAR with the same version of z/OS that you use and test it exactly as it is written, shortly. There is nothing that AutoMan is doing that will force holding on to the file, so I am going to look at the FREE to see if it is being executed properly.
0
Zamin

Avatar / Picture

Member
Registered:
Posts: 67
Reply with quote  #39 
Are you copying out your text by hand, to insert it into these messages? If so this is time consuming and error prone, and I need to give you instructions about how to copy and paste text from your 3270 panel to the messages.
0
automan

Avatar / Picture

Moderator
Registered:
Posts: 136
Reply with quote  #40 
Try changing

CALL BPXWDYN "FREE DD(OUTPUT)" to

CALL BPXWDYN "FREE FI(OUTPUT)"

0
rakesh

Member
Registered:
Posts: 52
Reply with quote  #41 
same issue even if i change to CALL BPXWDYN "FREE FI(OUTPUT)". dataset in use. Are you able to recreate the problem?
0
Grazillda

Avatar / Picture

Member
Registered:
Posts: 48
Reply with quote  #42 
Have you tried your REXX proc in a batch program? If the IBM routine is not working for you as the manuals say it should you need to contact IBM for support and raise a problem with them. Over here your version is V1.10 is back leveled. Is it still supported in your country? If not you might want to think about upgrading to a supported version before checking with IBM support.
0
rakesh

Member
Registered:
Posts: 52
Reply with quote  #43 
i ran the same code from batch and from TSO/E. It worked perfectly alright ( added REUSE parm on alloc statement)
Here is what i see who is using the dataset when i pres PF1 twice:

Data Set Contention
Command ===>

Data set 'DUMP.USERS.JOBS.INFO'
is in use by the following 1 user(s) and/or job(s):
-------------------------------------------------------
AUTOMAN

NAME2 - Normal Red - Owns data set exclusively

Even i tried using SHR instead of MOD. but still same problem.

i am suspecting the allocation/deallocation of files by AUTOMAN itself? does anyone able to recreate this problem?

I knew we are behind on the zOS version but no plan for this year to upgrade.

Thank you
0
automan

Avatar / Picture

Moderator
Registered:
Posts: 136
Reply with quote  #44 
Hi rakesh, AutoMan does not perform any allocation or deallocation itself. It creates a batch environment and inserts the user REXX code into it for batch execution. I will have someone run your code today and see what happens.

Grazillda - I don't think the REXX exec environment has changed and if rakesh's code runs in V1.10 it should run the same on yours. Not every organization is like yours, who keeps right up to date, and to be honest, it is not necessary.
0
Zamin

Avatar / Picture

Member
Registered:
Posts: 67
Reply with quote  #45 
rakesh when you ran it in batch how did you suspend the jobstep after executing the CALL BPXWDYN "FREE FI(OUTPUT)" command, to prevent the job ending and releasing all its resources?
0
Previous Topic | Next Topic
Print
Reply

Quick Navigation:


Create your own forum with Website Toolbox!