タイガー!タイガー!じれったいぞー!(SE編)

AS400,WAS,GlassFish,Java,JavaEE,JSF等の開発における日々の気づきをまとめたブログ(備忘録)。

【AS400】DDS-論理ファイルの作成

論理ファイルの特徴

  • 論理ファイルは、参照する物理ファイルのINDEX情報等を記憶しています(そのキー情報をアクセスパスを呼びます)。
  • 論理ファイルができる内容は、下記の通りです。
①キーの変更    :物理ファイルの主キーを変更できる。(論理ファイルが保持するキー)    
②選択(selection)  :物理ファイルの行を選択できる。	
③射影(projection) :物理ファイルの指定列を抽出できる。	
④結合(join)    :複数の物理ファイルを統合して1つのファイルにすることができる。	

論理ファイル・作成サンプル

  • 下記の例では、物理ファイル「社員マスタMSHAIN」を参照する論理ファイル「MSHAINL01」を作成します。
【論理ファイルの条件】
 ①退社していない社員を抽出する。
 ②キー順は、所属部署コード、社員コード順の昇順とする。

物理ファイル MSHAIN

A                                      UNIQUE                          
A          R RECSHAIN                  TEXT(' 社員マスタ ')            
A*
A** データ・ベース 共通項目 ***                            
A            SHAINID        4A         COLHDG(' 社員 コード')            
A            NAME          20O         COLHDG(' 社員名(漢字) ')      
A            NAMEKANA      20A         COLHDG(' 社員名(カナ) ')      
A            SECTION        2A         COLHDG(' 所属部署 コード')        
A            HEIGHT         5P 2       COLHDG(' 身長 ')                
A            WEIGHT         5P 2       COLHDG(' 体重 ')                
A            NYUSYABI       8S 0       COLHDG(' 入社日 ')              
A                                      EDTWRD('    /  /  ')            
A                                      COMP(GE 0)                      
A            TAISYABI       8S 0       COLHDG(' 退社日 ')              
A                                      EDTWRD('    /  /  ')            
A                                      COMP(GE 0)                      
A** データ・メンテナンス 情報 ***                             
A            CRTDATE        8S 0       COLHDG(' レコード 作成日付     ')  
A                                      EDTWRD('    /  /  ')            
A                                      COMP(GE 0)                      
A            CRTTIME        6S 0       COLHDG(' レコード 作成時間     ')  
A                                      EDTWRD('  :  :  ')              
A                                      COMP(GE 0)                      
A            CRTPGMID      10A         COLHDG(' 作成 プログラム-ID    ')  
A            CRTWSID       10A         COLHDG(' 作成 ワークステーション-ID  ')  
A            CRTOPCD        4A         COLHDG(' 作成 オペレータ コード   ')  
A            UPDDATE        8S 0       COLHDG(' レコード 更新日付     ')  
A                                      EDTWRD('    /  /  ')            
A                                      COMP(GE 0)                      
A            UPDTIME        6S 0       COLHDG(' レコード 更新時間     ')  
A                                      EDTWRD('  :  :  ')              
A                                      COMP(GE 0)                      
A            UPDPGMID      10A         COLHDG(' 更新 プログラム-ID    ')  
A            UPDWSID       10A         COLHDG(' 更新 ワークステーション-ID  ')  
A            UPDOPCD        4A         COLHDG(' 更新 オペレータ コード   ')  
A            DELDATE        8S 0       COLHDG(' レコード 削除日付     ')  
A                                      EDTWRD('    /  /  ')            
A                                      COMP(GE 0)                      
A            DELTIME        6S 0       COLHDG(' レコード 削除時間     ')  
A                                      EDTWRD('  :  :  ')              
A                                      COMP(GE 0)                      
A            DELPGMID      10A         COLHDG(' 削除 プログラム-ID    ')  
A            DELWSID       10A         COLHDG(' 削除 ワークステーション-ID  ')  
A            DELOPCD        4A         COLHDG(' 削除 オペレータ コード   ')  
A** キー 情報 ***                             
A          K SHAINID   
A*

論理ファイル MSHAINL01

A          R RECSHAIN                  TEXT(' 社員マスタ ')      
A* 
A                                      PFILE(MSHAIN)             
A** キー 情報 ***                       
A          K SECTION                                             
A          K SHAINID                                             
A** セレクト & オミット 情報 ***                       
A          S TAISYABI                  COMP(EQ  0)    
  • 論理ファイルのレコード名は、物理ファイルのレコード名と同一にしなければなりません。
  • キー順の昇順/降順の指定は、機能欄がブランクならば昇順、機能欄に「DESCEND」と入力すると降順になります。

論理ファイルの作成

CRTLF FILE(TIGERDB/MSHAINL01) SRCFILE(TIGER/DBFSRC) SRCMBR(MSHAINL01)