|
View previous topic :: View next topic
|
| Author |
Message |
Richard Duggan
New User
.jpg)
Joined: 14 Apr 2010 Posts: 9 Location: Hartford, CT. USA
|
|
|
|
IMS 10.1
I am loading a HISAM DB (Procopt = L) with a user load program. Have del/def'd the datasets with reuse option and the correct key & record size for the DBD [see below]. I init. the DB with DFSURPR0.
I get a DFS0730I UNABLE TO OPEN DATA SET WITH DDNAME DMBBS1BA FOR REASON I,31. The DDNAME points to the secondary index DB dataset.
IBM's explanation: An attempt was made to open a VSAM data set associated with a PCB, which has a processing option other than L, and the data set is empty.
1.) I do not see why IMS is trying to open the secondary Index DB in the load step.
2.) I do not see why the dataset can not be opened.
Below is the secondary Index DBD:
| Code: |
DBD NAME=DMBBS100,ACCESS=PSINDEX
SEGM NAME=AYS1ROOT,BYTES=15,PARENT=0
FIELD NAME=(IDCLEMSX,SEQ,U),BYTES=15,START=1
LCHILD NAME=(AYAUROOT,DMBBAU00),INDEX=IDCLEMCS,PTR=SNGL,
RKSIZE=5
|
Below is the IDCAMs control cards for the dataset:
| Code: |
DEFINE CLUSTER (NAME(DMV.IMS.DMBBAU00.DMBBS1BA.P50.A00002) -
INDEXED KEYS(15,34) -
REUSE -
RECSZ(50, 50) -
SHR(3 3) -
SPEED) -
DATA (NAME(DMV.IMS.DMBBAU00.DMBBS1BA.P50.A00002.DATA) -
CISZ(04096) -
CYL(00001 00001)) -
INDEX (NAME(DMV.IMS.DMBBAU00.DMBBS1BA.P50.A00002.INDEX) -
CISZ(02048) -
CYL(00001 00001))
|
At the same time I also receive the abend error:
DFS0840I INDEX ERROR DMBBS1B NI 12N on the same secondary index.
IBM's explanation:
Either a data set could not be opened or there was a duplicate
segment in a unique secondary index. If a data set could not be
opened, the message is preceded by a DFS0730I message . . .
I have eliminated the possibility of a duplicate entry. |
|
| Back to top |
|
 |
PeterHolland
Global Moderator

Joined: 27 Oct 2009 Posts: 2481 Location: Netherlands, Amstelveen
|
|
|
|
Using DFSPREC0 to build index for HALDB, if VSAM REUSE is
specified (rather than Delete/Define) it is possible to get
MSGDFS0730I I,31 I31 saying the dataset is empty, but not load
mode. For DFSPREC0 this is an expected condition, and should
be handled without a msg by reissuing open with ACBRST set.
So issue a Delete/Define for the index dataset.
Maybe this will help. |
|
| Back to top |
|
 |
Richard Duggan
New User
.jpg)
Joined: 14 Apr 2010 Posts: 9 Location: Hartford, CT. USA
|
|
|
|
| I said in my post that I am loading a HISAM database. That was WRONG, it is a PHIDAM database. Thanks for the quick reply from Peter, I am looking at it. |
|
| Back to top |
|
 |
Richard Duggan
New User
.jpg)
Joined: 14 Apr 2010 Posts: 9 Location: Hartford, CT. USA
|
|
|
|
I have found the answer to my problems. With a User Load program HALDB is inserting records into the primary and any seconday indexes with every insert of a data record. [Not true of non-HALDB loads, secondary indexes are not updated.] Thus the secondary index dataset open fails because it has not been initialized. Partions are not initialized by DFSURPR0 unless the PINIT flag is set on. I could set the PINIT flag on, but chose to switch to DFSUPNT0 and the DFSOVRDS input with INITALL.
This sounds like a lot of extra work, but it isn't. Annually we have to unload the data, merge/update with a very large amount of data, and then reload. We prefer to do a del/def of the DB datasets rather than load over the existing data (reuse). |
|
| Back to top |
|
 |
dick scherrer
Moderator Emeritus

Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Good to hear you found the answer - thank you for letting us know
d |
|
| Back to top |
|
 |
|
|
 |
All times are GMT + 6 Hours |
|