View previous topic :: View next topic
|
Author |
Message |
Grant Goodale
New User
Joined: 13 Nov 2010 Posts: 67 Location: Brampton, Ontario, Canada
|
|
|
|
I have a situation where, occasionally, when writing to a VSAM KSDS, a record has not been written. The KSDS is defined as SHR(3 3) REUS.
Diagnostic statements in my Assembler code indicate that a VSAM PUT was done. I am using an ENQ with SYSTEMS scope to protect the dataset.
I want to verify that VSAM did indeed write the record. I am trying to use the VSAM trace for that purpose. I have set up the IDADVT parameters as follows:
Code: |
VTRACE DSNAME(my_dsname)
JOBNAME(my_jobname)
HOOK(0,1,3,15)
ECODE(ANY)
PARM1(7FFFFFFFFFFF)
PARM2(7FFFFFFFFFFF)
END
|
I start up GTF with the following parameters:
TRACE=JOBNAMEP,USRP
JOBNAME=(jobname)
USR=(FF5)
END
The following messages are issued by GTF:
Code: |
AHL121I TRACE OPTION INPUT INDICATED FROM MEMBER member OF PDS V
TRACE=JOBNAMEP,USRP
JOBNAME=(jobname)
USR=(FF5)
END
AHL103I TRACE OPTIONS SELECTED --USR=(FF5)
AHL103I JOBNAME=(jobname)
54 AHL125A RESPECIFY TRACE OPTIONS OR REPLY U
R 54,U
U
AHL906I THE OUTPUT BLOCK SIZE OF 27998 WILL BE USED FOR pds_name
OUTPUT
DATA SETS:
trace_dsname
AHL080I GTF STORAGE USED FOR GTF DATA: 706
GTFBLOCK STORAGE 1038K BYTES (BLOK= 1024K)
PRIVATE STORAGE 1038K BYTES (SIZE= 1024K)
SADMP HISTORY 54K BYTES (SADMP= 40K)
SDUMP HISTORY 54K BYTES (SDUMP= 40K)
ABEND DUMP DATA 0K BYTES (ABDUMP= 0K)
AHL031I GTF INITIALIZATION COMPLETE
|
I start up IDAVDT and then start my test job which issues a WTOR before starting its VSAM operation. At that point, I activate my IDAVDT parameters and display them:
Code: |
IDAT0001I VSAM DYNAMIC TRACE WAS INITIALIZED SUCCESSFULLY
IEE252I MEMBER IDAVDT01 FOUND IN parmlib
IDAT0002I THE FOLLOWING TRACE ENTRIES WERE STORED SUCCESSFULLY
1 my_dsname jobname V
IDAT0014I SRB SCHEDULED SUCCESSFULLY ON ASID=0028
IDAT0005I TRACE ENTRY N=1 HAS THE FOLLOWING PARAMETERS:
TYPE=V DSNAME=ksds_dsname
JOBNAME=jobname VALID=YES
HOOK=000,001,003,015
PARM1=7FFFFFFFFFFF PARM2=7FFFFFFFFFFF
ECODE=0255 KEY=
IDAT0005I TRACE ENTRY N=1 HAS THE FOLLOWING PARAMETERS: 649
TYPE=V DSNAME=ksds_dsname
JOBNAME=jobname VALID=YES
HOOK=000,001,003,015
PARM1=7FFFFFFFFFFF PARM2=7FFFFFFFFFFF
ECODE=0255 KEY=
|
I let my test program run and then shut down IDAVDT. I then shut down my GTF task. I look at my GTF trace dataset (trace_dsname above) and it is empty.
Have I missed a step somewhere? |
|
Back to top |
|
|
nevilh
Active User
Joined: 01 Sep 2006 Posts: 262
|
|
|
|
Have you tried without the Jobnamep and Jobname parms in the GTF input.
Failing that could OA46578 be your problem |
|
Back to top |
|
|
Grant Goodale
New User
Joined: 13 Nov 2010 Posts: 67 Location: Brampton, Ontario, Canada
|
|
|
|
I have removed the job name references but, still no output. I see that OA46578 is still open so I will have to research that one.
In my test job, I have a WTOR in the first step and my VSAM stuff in the second step. When I get the WTOR, I start up IDAVDT and GTF before I reply. I do see the following message issued when IDAVDT starts up:
Code: |
IDAT0003E ERROR FOUND WHEN PROCESSING VSAM DYNAMIC TRACE FUNCTION
FUNCTION=ENABLE
ERROR=SEARCH FOR VSAM CONTROL BLOCK STRUCTURE FAILED
|
I had hoped that the trace would keep "listening" until it has been stopped. Perhaps that is not the case. I will change things so that my WTOR is immediately after the ACB has been opened up.
Thanks for the info. I will keep posting my results on this board. |
|
Back to top |
|
|
Grant Goodale
New User
Joined: 13 Nov 2010 Posts: 67 Location: Brampton, Ontario, Canada
|
|
|
|
I have changed my code to that my "pausing" WTOR is actually in the source program itself. This has eliminated the IDAT0003E message but I still get no trace data. |
|
Back to top |
|
|
PeterHolland
Global Moderator
Joined: 27 Oct 2009 Posts: 2481 Location: Netherlands, Amstelveen
|
|
|
|
Maybe you can find a solution in :
z/OS DFSMSdfp Diagnosis GY27-7618-16 Chapter 19
VSAM Demystified SG24-6105-02 |
|
Back to top |
|
|
|