IBM MAINFRAME HELP & SUPPORT FORUMS
Technical Forums for IBM Mainframe Applications like COBOL, JCL, CICS, DB2, FileAid, DFSORT, Endevor, Xpediter, CoolGen, CA-7&11, AbendAid, IMS, IDMS, PL/I, MqSeries, SyncSort, Assembler, ChangeMan, Easytrieve, InterTest, REXX, CLIST etc...
 

VSAM file error while rewriting

THIS IS AN ARCHIVE FORUM: CLICK HERE TO GO TO THE ORIGINAL TOPIC

 
       IBMMAINFRAMES.com - IBM Mainframe Support Forums Index -> Mainframe COBOL
View previous topic :: View next topic  
Author Message
Paul1983



Joined: 08 Jul 2008
Posts: 33
Location: bangy

Posted: Thu Aug 21, 2008 2:19 pm    Post subject: VSAM file error while rewriting  

Hi,

I'm trying to rewrite a KSDS file with following attributes

File Type: KSDS
CI Size: 512
Key length: 12
Key location: 0
Record format: V
Average record length: 229
Maximum record length: 229

the FILE-CONTROL is as follows

SELECT PU1100-UPFILE ASSIGN UT19
ORGANIZATION IS INDEXED
ACCESS IS DYNAMIC
RECORD DPU-KEY
FILE STATUS IS W120-FILE-STATUS.

where DPU-KEY = X(12)

FD PU1100-UPFILE
BLOCK CONTAINS 0 RECORDS
LABEL RECORDS ARE STANDARD.
01 DPU1100-UPFILE-REC PIC X(229).


OPEN I-O PU1100-UPFILE.


MOVE SPACES TO DPU-KEY.
START PU1100-UPFILE KEY GREATER THAN DPU-KEY.
READ 1100-UPFILE.


The above are the details of my program.But I'm getting compilation error as follows

A "RECORD KEY" CLAUSE WAS MISSING OR INVALID IN THE "SELECT" ENTRY FOR FILE "PU1100-UPFILE".


"RECORD KEY" OR "ALTERNATE RECORD KEY" "DPU-KEY" WAS NOT DEFINED WITHIN A LOGICAL RECORD OF FILE "PU1100-UPFILE". THE KEY WAS DISCARDED.

AN ERROR WAS FOUND IN THE DEFINITION OF FILE "PU1100-UPFILE".


Please help in resolving this error


Thanks,
Paul
Back to top  
dbzTHEdinosauer



Joined: 20 Oct 2006
Posts: 1639
Location: germany

Posted: Thu Aug 21, 2008 2:41 pm    Post subject:  

RECORD DPU-KEY

that is not a record key clause, that is a record clause.
Back to top  
Paul1983



Joined: 08 Jul 2008
Posts: 33
Location: bangy

Posted: Thu Aug 21, 2008 2:54 pm    Post subject:  

I changed as follows

SELECT PU1100-UPFILE ASSIGN UT19
ORGANIZATION IS INDEXED
RECORD KEY DPU-KEY
ACCESS IS DYNAMIC
FILE STATUS IS W120-FILE-STATUS.


Still it's giving same error

Thanks,
Paul
Back to top  
dbzTHEdinosauer



Joined: 20 Oct 2006
Posts: 1639
Location: germany

Posted: Thu Aug 21, 2008 3:16 pm    Post subject:  

Paul,
Quote:
WAS NOT DEFINED WITHIN A LOGICAL RECORD OF FILE

and this is your logical record

01 DPU1100-UPFILE-REC PIC X(229).
Back to top  
agkshirsagar



Joined: 27 Feb 2007
Posts: 569
Location: Mumbai,India

Posted: Thu Aug 21, 2008 4:00 pm    Post subject:  

DPU-KEY should be declared as a part of record structure. In your case 01 DPU1100-UPFILE-REC PIC X(229) does not show DPU-KEY.
Make it as below-
Code: 01 DPU1100-UPFILE-REC.
   05 DPU-KEY PIC X(12).
   05 filler      PIC X(217).
Let us know if it works.
Back to top  
 
       IBMMAINFRAMES.com - IBM Mainframe Support Forums Index -> Mainframe COBOL
Page 1 of 1
THIS IS AN ARCIVE FORUM IN READ ONLY MODE. IF YOU WANT TO ASK YOUR DOUBTS USE THE ACTUAL FORUM