IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

KSDS - Record Out of sequence Error


IBM Mainframe Forums -> JCL & VSAM
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
srajendran2

New User


Joined: 13 May 2008
Posts: 56
Location: Chennai

PostPosted: Tue Aug 12, 2008 9:52 am
Reply with quote

Hi,
I created a KSDS and tried to load data from a sequential file which is sorted on its key. The same fields are the key fields in VSAM too. Even when the data to be loaded is sorted in order, i get out of sequence error. Can u pls help me solve this? The JCL is given below

Code:
//**********************************************************************
//*************DELETES THE FILES CREATED IN THIS JOB********************
//**********************************************************************
//DELETE EXEC PGM=IDCAMS                                               
//SYSPRINT DD SYSOUT=*                                                 
//SYSIN DD *                                                           
  DELETE E97222.G6488U.SUSPFL.KSDS PURGE                               
/*                                                                     
//**********************************************************************
//*SEPERATES THE CONTROL, CYCLE, DETAIL RECORDS FOR LOADING INTO VSAM***
//**********************************************************************
//SORT   EXEC PGM=SORT                                                     
//SYSOUT  DD SYSOUT=*                                                   
//SORTIN  DD DISP=SHR,DSN=A6238.A6238SUS.A623835B(0)                   
//SORTOUT DD DSN=&&SORTOUT,                                             
//        DISP=(NEW,PASS,DELETE),                                       
//        SPACE=(CYL,(25,1),RLSE),                                     
//        UNIT=TPUB,                                                   
//        DCB=(LRECL=2062,RECFM=FB,BLKSIZE=26806)                       
//SORTOF01 DD DSN=&&CYCLEREC,                                           
//        DISP=(NEW,PASS,DELETE),                                       
//        SPACE=(CYL,(25,1),RLSE),                                     
//        UNIT=TPUB,                                                   
//        DCB=(LRECL=2062,RECFM=FB,BLKSIZE=26806)                       
//SORTOF02 DD DSN=&&CNTLREC,                                           
//        DISP=(NEW,PASS,DELETE),                                       
//        SPACE=(CYL,(25,1),RLSE),                                     
//        UNIT=TPUB,                                                   
//        DCB=(LRECL=2062,RECFM=FB,BLKSIZE=26806)                       
//SORTOF03 DD DSN=&&DETLREC,                                           
//        DISP=(NEW,PASS,DELETE),                                       
//        SPACE=(CYL,(25,1),RLSE),                                     
//        UNIT=TPUB,                                                   
//        DCB=(LRECL=2062,RECFM=FB,BLKSIZE=26806)                       
//SYSIN DD *                                                           
      SORT FIELDS=COPY                                                 
      OUTFIL FILES=01,INCLUDE=(1,3,CH,EQ,C'CYC')                       
      OUTFIL FILES=02,INCLUDE=(28,8,CH,EQ,C'B6488SUS')                 
      OUTFIL FILES=03,INCLUDE=(28,8,CH,NE,C'B6488SUS',                 
                            AND,1,3,CH,NE,C'CYC')                       
/*                                                                     
//**********************************************************************
//* MOVES THE TIMESTAMP FROM 269TH POSITION TO 87TH POSITION TO LOAD   
//* INTO VSAM FILE                                                     
//**********************************************************************
//COPYCHNG EXEC PGM=COPYCHNG                                           
//STEPLIB  DD DISP=OLD,DSN=E97222.KSDS.LOAD                             
//SUSFILE  DD DISP=(OLD,DELETE),DSN=&&DETLREC                           
//ISSFILE  DD DSN=&&ISSFILE,                                           
//        DISP=(NEW,PASS,DELETE),                                       
//        SPACE=(CYL,(25,1),RLSE),                                     
//        UNIT=TPUB,                                                   
//        DCB=(LRECL=2062,RECFM=FB,BLKSIZE=26806)                       
//SYSOUT   DD SYSOUT=*                                                 
//**********************************************************************
//**********************DEFINES THE KSDS VSAM FILE**********************
//**********************************************************************
//DEFINE   EXEC PGM=IDCAMS                                             
//SYSPRINT DD SYSOUT=*                                                 
//SYSIN DD *                                                           
    DEFINE CLUSTER                                    -                 
        (NAME(E97222.G6488U.SUSPFL.KSDS)              -                 
              INDEXED                                 -                 
              CYLINDERS (25,1)                        -                 
              VOLUME (TPUB)                           -                 
              SPEED                                   -                 
              CONTROLINTERVALSIZE (4096)              -                 
              UNIQUE)                                 -                 
        DATA                                          -                 
           (NAME(E97222.G6488U.SUSPFL.KSDS.DATA)      -                 
              RECORDSIZE (2062,2062)                  -                 
              KEYS (38,74)                            -                 
              FREESPACE (10,10))                      -                 
        INDEX                                         -                 
           (NAME(E97222.G6488U.SUSPFL.KSDS.INDEX))                     
/*                                                                     
//**********************************************************************
//**********SORTS THE FILE BASED ON KEY FIELDS**************************
//*         1.POLICY NO                                                 
//*         2.FORM CODE                                                 
//*         3.TIME STAMP                                               
//**********************************************************************
//SORT   EXEC PGM=SORT                                                 
//SYSOUT  DD SYSOUT=*                                                   
//SORTIN  DD DISP=(OLD,DELETE),DSN=&&ISSFILE                           
//SORTOUT DD DSN=&&SORTVSM,                                             
//        DISP=(NEW,PASS,DELETE),                                       
//        SPACE=(CYL,(25,1),RLSE),                                     
//        UNIT=TPUB,                                                   
//        DCB=(LRECL=2062,RECFM=FB,BLKSIZE=26806)                       
//SYSIN DD *                                                           
      SORT FIELDS=(74,8,BI,A,83,4,BI,A,87,26,BI,A)                     
      SUM FIELDS=NONE                                                   
/*                                                                     
//*********************************************************************
//*      REPRO OF ISSUFILE INTO VSAM                                   
//*********************************************************************
//STEPRPRO EXEC  PGM=IDCAMS                                             
//SYSPRINT  DD  SYSOUT=*                                               
//DD1       DD  DISP=(OLD,DELETE),DSN=&&SORTVSM                         
//DD2       DD DSN=E97222.G6488U.SUSPFL.KSDS,DISP=OLD                   
//SYSIN  DD  *                                                         
     REPRO -                                                           
         INFILE(DD1) -                                                 
         OUTFILE(DD2) -                                                 
/*                                                                     
Back to top
View user's profile Send private message
gcicchet

Senior Member


Joined: 28 Jul 2006
Posts: 1702
Location: Australia

PostPosted: Tue Aug 12, 2008 10:43 am
Reply with quote

Hi,

from what I can see your sort is out by 1 byte.

Length of 38 from 74, means the key is from 74-111

The sort is 74-81 83-86 87-112.

What happened to byte 82 ?

Should it be 74-81 82-85 86-111, if so, you should be able to sort as
Code:
   SORT FIELDS=(74,38,BI,A)



Gerry
Back to top
View user's profile Send private message
CICS Guy

Senior Member


Joined: 18 Jul 2007
Posts: 2146
Location: At my coffee table

PostPosted: Tue Aug 12, 2008 12:02 pm
Reply with quote

Don't forget that the offset to the first byte of a record is zero in the IDCAM's KEY parameter and one in the SORT FIELD's parameter.....
Back to top
View user's profile Send private message
srajendran2

New User


Joined: 13 May 2008
Posts: 56
Location: Chennai

PostPosted: Tue Aug 12, 2008 5:50 pm
Reply with quote

Thanks a lot CICS guy. The byte positions were wrong in the KEYS part of KSDS definition. I changed it to 38,73 and it worked
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> JCL & VSAM

 


Similar Topics
Topic Forum Replies
No new posts How to split large record length file... DFSORT/ICETOOL 10
No new posts Error to read log with rexx CLIST & REXX 11
No new posts Error when install DB2 DB2 2
No new posts SFTP Issue - destination file record ... All Other Mainframe Topics 2
No new posts FINDREP - Only first record from give... DFSORT/ICETOOL 3
Search our Forums:

Back to Top