GET

DEFINE DATA LOCAL ステートメントを使用するストラクチャードモードおよびレポーティングモードでは、次の構文が適用されます。

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

RECORDS

operand3

*ISN [(r)]

DEFINE DATA LOCAL ステートメントを使用しないレポーティングモードでは、次の構文が適用されます。

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

RECORDS

operand3

operand4
*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(内部シーケンス番号)を指定してレコードを読み込みます。

XML データベースについては、GET ステートメントは、与えられたオブジェクト ID で XML オブジェクトを読み込むために使用されます。

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

制限

  • SQL データベースに対して GET ステートメントは使用できません。

  • Entire System Server では、GET ステートメントを使用できません。

構文説明

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

オペランド 構文要素 フォーマット オペランド参照 ダイナミック定義
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 LOCAL ステートメントを使用するレポーティングモードで、DEFINE DATA ステートメント内で直接定義されたビューの名前、または個別のグローバルまたはローカルデータエリアで定義されたビューの名前。

ddm-name
DDM 名:

DEFINE DATA LOCAL ステートメントを使用しないレポーティングモードでは、データ定義モジュール(DDM)の名前が参照されます。

PASSWORD=operand1
PASSWORD 節/CIPHER 節:

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

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

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

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

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

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

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

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

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

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

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

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

** 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