MVSFORUMS.com Forum Index MVSFORUMS.com
A Community of and for MVS Professionals
 
 FAQFAQ   SearchSearch   Quick Manuals   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Vsam open problem-cc 35

 
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Data Management
View previous topic :: View next topic  
Author Message
rama krishna reddy
Beginner


Joined: 18 Sep 2006
Posts: 31
Topics: 13
Location: Hyderabad

PostPosted: Mon May 25, 2009 3:48 am    Post subject: Vsam open problem-cc 35 Reply with quote

Hi All,

I need to initialize a vsam cluster because iam getting cc 35 (in the program they are opening in i/p mode ,it is an empty cluster)

We are not supposed to modify the program to handle this error.

we need to find a soultion ,without changing the porgram


I tried to do using Sort to set the eof ,Still iam facing the problem
Please find the below jcl

//DBBA025 EXEC PGM=IDCAMS
//NFASTVSM DD DUMMY
//SYSPRINT DD SYSOUT=*
//SYSIN DD DSN=PROD.BATCH.CNTLCRDS(REPREUSE),DISP=SHR
//INPUT DD DSN=TEST.CEXQ.CLMFACTS.PENDMED2.DUMMY,DISP=SHR
//OUTPUT DD DSN=TEST.CEXQ.CLMFACTS.PENDMED2.CLUSTER,DISP=SHR
//*
//DBBA026 EXEC PGM=ICEMAN
//SORTIN DD DSN=TEST.CEXQ.CLMFACTS.PENDMED2.CLUSTER,DISP=OLD
//SORTOUT DD DSN=TEST.CEXQ.CLMFACTS.PENDMED2.CLUSTER,DISP=OLD
//SYSOUT DD SYSOUT=*
//SYSIN DD *
OPTION VSAMIO,RESET
OMIT COND=ALL
SORT FIELDS=(1,10,CH,A)
RECORD TYPE=V
/*



----------------------------------------------------

In the step DBBA025 i have initialized with dummy record
In the step DBBA026 i have deleted the dummy record ,and resting the file pointer(we are not supposed to insert any un wanted data in the cluster thats why iam deleting from teh cluster)

In the stepDBBA027 this cluster will be used by the porgram As Input

still iam getting 35 cc



Please help me reagrding the same

Is it possible to initialize a cluster with out changing the program



Thanks
Rama krishna
Back to top
View user's profile Send private message Send e-mail Yahoo Messenger
dbzTHEdinosauer
Supermod


Joined: 20 Oct 2006
Posts: 1411
Topics: 26
Location: germany

PostPosted: Mon May 25, 2009 5:16 am    Post subject: Reply with quote

1. start using the extended vsam return codes.
2. since a 35 says that the file was not present,
maybe a cut & paste of STEP DBBA027 is necessary,
so we can see the DSN used.
3. probably most important, (since you use the same file as input and output),
the status of the vsam file after the second step. Look in your JES output to determine the status of the vsam file. If you are not writing any records, maybe the file does not exist after step 2.
_________________
Dick Brenholtz
American living in Varel, Germany
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12375
Topics: 75
Location: San Jose

PostPosted: Mon May 25, 2009 10:02 am    Post subject: Reply with quote

rama krishna reddy,

As DBZ pointed out file-status 35 occurs when you are trying to issue "An OPEN statement was attempted on a non-optional file that was not present."

So my first guess is to check the DD names associated to the file and make sure that you are passing the correct DSN name to it.

Kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
rama krishna reddy
Beginner


Joined: 18 Sep 2006
Posts: 31
Topics: 13
Location: Hyderabad

PostPosted: Mon May 25, 2009 11:29 pm    Post subject: Reply with quote

Hi,

The dd name is correct ,the cluster did not have any data
i mean the cluster is empty thats why iam getting this proble,i want to initialize the cluster thru job without changing the program,and with out inserting dummy record .please let me know how we can do this.

1) one solution i found is using a program
I have coded one program to open the cluster in the output mode and close ,so that cluster is getting initialized ,in the next program when i open the empty cluster for input it is not giving any problem.


I want to achive same without using the program

is it possible to initialize the cluster thru job.



Please find the below job
//*********************************************************************
//**SEE IF TEST.CEXQ.CLMFACTS.CFGGQ592.PENDMED2 EMPTY BYPASS IDCAMS
//**STEP IF SO **
//*********************************************************************
//VERIFY EXEC PGM=IEBPTPCH
//SYSUT1 DD DISP=SHR,DSN=TEST.CEXQ.CLMFACTS.CFGGQ592.PENDMED2
//SYSUT2 DD DUMMY
//SYSIPT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSOUC DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD DISP=SHR,DSN=PROD.BATCH.CNTLCRDS(SORTEMPT)
//*
// IF VERIFY.RC = 0 THEN
//*****************************************************************
//* STEP DBBA020 IDCAMS REPRO REUSE THE PENDMED2 PENDCL CLAIMS
//*****************************************************************
//DBBA020 EXEC PGM=IDCAMS
//*
//SYSPRINT DD SYSOUT=*
//SYSIN DD DSN=PROD.BATCH.CNTLCRDS(REPREUSE),DISP=SHR
//*
//INPUT DD DISP=SHR,DSN=TEST.CEXQ.CLMFACTS.CFGGQ592.PENDMED2
//OUTPUT DD DISP=SHR,DSN=TEST.CEXQ.CLMFACTS.PENDMED2.CLUSTER
//*
// ELSE
//***************************************************************
//* IDCAMS - INITIALIZE PENDMED2 THRU PROGRAM
//***************************************************************
//DBBA025 EXEC PGM=CFGBIO35
//STEPLIB DD DSN=CHGMAN.CMNSTAGE.CLMF.#005333.LOD,DISP=SHR
//SYSOUT DD SYSOUT=*
//EMPTYCLS DD DSN=TEST.CEXQ.CLMFACTS.PENDMED2.CLUSTER,DISP=SHR
//*
//VERIFY1 ENDIF
//DBBA030 EXEC PGM=CFERBXC0
//*
//SYSOUT DD SYSOUT=R
//SORTMSG DD SYSOUT=R
//SYSDBOUT DD SYSOUT=R
//SYSABOUT DD SYSOUT=R
//SYSUDUMP DD SYSOUT=R
//CPXMRPTS DD SYSOUT=R CAPEX COMPILER DUMP OUTPUT
//*
//SYSOUC DD SYSOUT=R
//* INPUT
//*
//CFERCIR DD DSN=TEST.CEXQ.CLMFACTS.SYSTEM.CLUSTER,
// DISP=SHR
//CFERCPR DD DSN=TEST.CEXQ.CLMFACTS.PENDMED2.CLUSTER,DISP=SHR,
// AMP='BUFNI=40'
//CFERCXR DD DSN=TEST.CEXQ.CLMFACTS.CLINDEX.CLUSTER,DISP=SHR,
// AMP='BUFNI=40'
//CFERPMR DD DSN=TEST.CEXQ.CLMFACTS.PARM.CLUSTER,DISP=SHR,



Above job is working fine

In the step DBBA025 iam using the program to initialize the empty cluster ,in this case it is working fine (iam opening the file in o/p mode and closing)

I want to achive same thing without using the program to initialize the empty cluster is it possible?

Please help me regarding the same




Thanks
Rama krishna reddy
Back to top
View user's profile Send private message Send e-mail Yahoo Messenger
expat
Intermediate


Joined: 01 Mar 2007
Posts: 475
Topics: 9
Location: Welsh Wales

PostPosted: Tue May 26, 2009 1:28 am    Post subject: Reply with quote

About 30 years ago when VSAM became part of my working life, one of the solutions implemented was that when ever a new VSAM cluster was defined, it always contained one dummy record with a low values key and all of these problems disappeared.
_________________
If it's true that we are here to help others,
then what exactly are the others here for ?
Back to top
View user's profile Send private message
Terry_Heinze
Supermod


Joined: 31 May 2004
Posts: 391
Topics: 4
Location: Richfield, MN, USA

PostPosted: Tue May 26, 2009 10:24 pm    Post subject: Reply with quote

...so long as all programs were aware of that dummy record.
_________________
....Terry
Back to top
View user's profile Send private message Send e-mail
expat
Intermediate


Joined: 01 Mar 2007
Posts: 475
Topics: 9
Location: Welsh Wales

PostPosted: Wed May 27, 2009 1:05 am    Post subject: Reply with quote

Indeed so, a site standard.
_________________
If it's true that we are here to help others,
then what exactly are the others here for ?
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12375
Topics: 75
Location: San Jose

PostPosted: Wed May 27, 2009 10:22 am    Post subject: Reply with quote

rama krishna reddy,

Use the following JCL to initialize the empty dataset

Code:

//STEP0100 EXEC PGM=SORT,PARM='VSAMEMT=YES'
//SYSOUT   DD SYSOUT=*
//SORTIN   DD DSN=your empty ps with dcb as vsam file,DISP=SHR
//SORTOUT  DD DSN=VSAM file,DISP=SHR
//SYSIN    DD *
  SORT FIELDS=COPY
//*

_________________
Kolusu
www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
rama krishna reddy
Beginner


Joined: 18 Sep 2006
Posts: 31
Topics: 13
Location: Hyderabad

PostPosted: Fri May 29, 2009 7:39 am    Post subject: Reply with quote

Hi Kolusu,

I have used the below job

//DBBA025 EXEC PGM=SORT,PARM='VSAMEMT=YES'
//SORTIN DD DSN=TEST.CLMFACTS.PENDMED2.EMPTY.FILE,DISP=SHR
//SYSOUT DD SYSOUT=*
//SORTOUT DD DSN=TEST.CLMFACTS.PENDMED2.CLUSTER.RK,DISP=SHR
//SYSIN DD *
SORT FIELDS=COPY
/*
//*

As you suggested i have created the empty file with the same properites of vsam cluster

still the cluster is not getting initialized


Thanks for the help
Back to top
View user's profile Send private message Send e-mail Yahoo Messenger
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Data Management All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


MVSFORUMS
Powered by phpBB © 2001, 2005 phpBB Group