バージョン 4.2.5
 —  ステートメント  —

GET

GET [IN] [FILE] view-name    
  [PASSWORD=operand1]    
  [CIPHER=operand2]    
 

[RECORD]

operand3

operand4
  [RECORDS] *ISN [(r)]

このドキュメントでは、次のトピックについて説明します。

構文図で使用されている記号については、「構文記号」を参照してください。

関連ステートメント:ACCEPT/REJECT | AT BREAK | AT START OF DATA | AT END OF DATA | BACKOUT TRANSACTION | BEFORE BREAK PROCESSING | DELETE | END TRANSACTION | FIND | GET SAME | GET TRANSACTION | HISTOGRAM | LIMIT | PASSW | PERFORM BREAK PROCESSING | READ | RETRY | STORE | UPDATE

関連機能グループ:「データベースへのアクセスと更新


機能

GET ステートメントは、Adabas ISN(内部シーケンス番号)を指定してレコードを読み込みます。

GET ステートメントで処理ループは発生しません。

Top of page

制限

Top of page

構文説明

オペランド定義テーブル:

オペランド 構文要素 フォーマット ステートメント参照 ダイナミック定義
operand1 C S       A                       不可
operand2 C S         N                     不可 不可
operand3 C S     N   N P I   B *             不可
operand4   S A     A N P I F B D T L      

*operand3 のフォーマット B は、4 以下の長さでのみ使用できます。

構文要素の説明:

view-name
ビュー名:

DEFINE DATA ステートメント内またはグローバルデータエリアやローカルデータエリアで定義されたビュー名です。

レポーティングモードでは、view-name を DDM の名前にすることもできます。

PASSWORD=operand1

Adabas または VSAM データベースにのみ適用できます。

PASSWORD 節は、パスワード保護されている Adabas ファイルからデータを読み込むときにパスワードを指定します。

CIPHER 節は、サイファリング(暗号化)されている Adabas ファイルからデータを読み込むとき、サイファキーを指定するために使用します。

詳細については、ステートメント FIND および PASSW を参照してください。

CIPHER=operand2
*ISN / operand3
内部シーケンス番号:

ISN は、数値定数、ユーザー定義変数(operand3)の形式、または Natural システム変数 *ISN によって提供されています。

注意:
VSAM データベースの場合:VSAM ESDS データセットでは、RBA をユーザー定義変数(数字フォーマット)または整数の定数として指定する必要があります。 VSAM RRDS については、RBA の代わりに RRN を指定することを除いて同じ規則が適用されます。

(r)
ステートメント参照:

表記rは、レコードの最初の読み取りに使用される FIND または READ ステートメントを含むステートメントを指定するために使用します。

(r) 指定がないと、GET SAME ステートメントは稼働している最も内側の処理ループに関連します。

rは、参照ステートメント番号またはステートメントラベルとして指定できます。

operand4
データベースフィールドの参照:

GET ステートメントで読み込んだフィールドを後で参照する場合、GET ステートメントのラベルまたは行番号を指定する必要があります。

operand4 は、ストラクチャードモードでは使用できません。

Top of page

** Example 'GETEX1': GET                                                
************************************************************************
DEFINE DATA LOCAL                                                       
1 PERSONS VIEW OF EMPLOYEES                                             
  2 PERSONNEL-ID                                                        
  2 NAME                                                                
  2 FIRST-NAME                                                          
1 SALARY-INFO VIEW OF EMPLOYEES                                         
  2 NAME                                                                
  2 CURR-CODE (1:1)                                                     
  2 SALARY    (1:1)                                                     
*                                                                       
1 #ISN-ARRAY  (B4/1:10)                                                 
1 #LINE-NR    (N2)                                                      
END-DEFINE                                                              
*                                                                       
FORMAT PS=16                                                            
LIMIT 10                                                                
READ PERSONS BY NAME                                                    
  MOVE *COUNTER TO #LINE-NR                                         
  MOVE *ISN     TO #ISN-ARRAY (#LINE-NR)                            
  DISPLAY #LINE-NR PERSONNEL-ID NAME FIRST-NAME                     
  /*                                                                
  AT END OF PAGE                                                    
    INPUT / 'PLEASE SELECT LINE-NR FOR SALARY INFORMATION:' #LINE-NR
    IF #LINE-NR = 1 THRU 10                                         
      GET SALARY-INFO #ISN-ARRAY (#LINE-NR)                         
      WRITE / SALARY-INFO.NAME                                      
              SALARY-INFO.SALARY    (1)                             
              SALARY-INFO.CURR-CODE (1)                             
    END-IF                                                          
  END-ENDPAGE                                                       
  /*                                                                
END-READ                                                            
END  

プログラム GETEX1 の出力:

Page      1                                                  05-01-13  13:17:42
                                                                               
#LINE-NR PERSONNEL         NAME              FIRST-NAME                        
            ID                                                                 
-------- --------- -------------------- --------------------                   
                                                                               
  1      60008339  ABELLAN              KEPA                                   
  2      30000231  ACHIESON             ROBERT                                 
  3      50005800  ADAM                 SIMONE                                 
  4      20008800  ADKINSON             JEFF                                   
  5      20009800  ADKINSON             PHYLLIS                                
  6      20012700  ADKINSON             HAZEL                                  
  7      20013800  ADKINSON             DAVID                                  
  8      20019600  ADKINSON             CHARLIE                                
  9      20008600  ADKINSON             MARTHA                                 
 10      20005700  ADKINSON             TIMMIE                                 
                                                                               
PLEASE SELECT LINE-NR FOR SALARY INFORMATION: 1                                
                                                                               
ABELLAN                 1450000 PTA                                           

Top of page