1

いくつかのレコードを含むシーケンシャル ファイルを作成しました。それらを KSDS クラスターにコピーする必要があります。だから私はそれのためにJCLを書きました。シーケンシャルファイルに数字を指定すると機能しますが、英語のアルファベット文字を指定すると機能しません。

何故ですか??


これは、KSDS クラスターを作成するための私のコードです

 //TRC186H JOB (TRC,TRC,TRC186,D2,DT99X),CLASS=A,   
 //      MSGLEVEL=(1,1),MSGCLASS=C,NOTIFY=&SYSUID   
 //STEP1 EXEC PGM=IDCAMS                            
 //SYSPRINT DD SYSOUT=*                             
 //SYSIN DD *                                       
    DEFINE CLUSTER -                                
    (NAME(TRC186.VSAM.CASE.CLUSTER) -                
    TRACKS(2,2) -                                    
    CONTROLINTERVALSIZE(4096) -                      
    INDEXED -                                        
    KEYS(6,1) -                                      
    FREESPACE(10,10)) -                              
    DATA -                                          
    (NAME(TRC186.CASE.DATA) -                      
     RECORDSIZE(180 180)) -                         
      INDEX -                    
      (NAME(TRC186.CASE.INDEX) - 
       CONTROLINTERVALSIZE(4096)) 
 /*             


そして、これはシーケンシャルファイルからKSDSクラスターにコピーするための私のコードです

  //TRC186A JOB (TRG),CLASS=A,MSGLEVEL=(1,1),MSGCLASS=A, 
  //          NOTIFY=&SYSUID                             
  //STEP1 EXEC PGM=IDCAMS                                
  //INPUTDD  DD DSN=TRC186.VSAM.INPUTPS,DISP=OLD         
  //SYSPRINT DD SYSOUT=*                                 
  //SYSIN DD *                                           
       REPRO -                                              
       INFILE(INPUTDD) -                                    
       OUTDATASET(TRC186.VSAM.CASE.CLUSTER)                 
  /*    


私が与えた入力は

123456
234567
345678
456789 567891
です

それらは簡単にコピーされますが、次のような英語のアルファベット文字を与えると、
abcdefg
cdhert
kjsdfg qwerty
kjhgfd
これ

はクラスターにコピーされません。

理由を説明してください。

4

1 に答える 1

1

KSDSKEYSの定義で 6,1 を指定します。それがあなたが望むものかどうかを確認したいと思うでしょう。

KSDSデータをロードするときはREPRO、すでにキーシーケンスになっている必要があります。あなたが示した数値データは偶然にもキーシーケンスにあり、アルファベットデータはそうではありません。

ステップの前にIDCAMSステップがあるSORT場合は、クリーンである必要があります。ただし、キーが必要な方法を確認しVSAM、キーが必要な方法と比較しSORTます。そういうものだ。

KSDSon anの KEY 定義にIDCAMS DEFINEは、特定の形式があります。最初に長さを正しく指定し、次にオフセットを指定します。オフセットが意味するのは、「レコードの開始点からのバイト」です。したがって、オフセット 0 はバイト 1 (または列 1) であり、オフセット 1 (指定したもの) はレコードのバイト 2 です。あなたが使用した特定の2番目の文字を順番に並べる必要がありDEFINEます。

于 2014-10-10T07:44:31.570 に答える