GET TRANSACTION DATA

GET TRANSACTION [DATA] operand1

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

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

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

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


関数

GET TRANSACTION DATA ステートメントは、以前に END TRANSACTION ステートメントで保存したデータを読むために使用します。

GET TRANSACTION DATA は、処理ループを開始しません。

システム変数 *ETID

Natural システム変数 *ETID は、データベースから読み込むトランザクションデータを識別します。

トランザクションデータが存在しない場合

GET TRANSACTION DATA ステートメントが発行されたときに、トランザクションデータが存在しない場合、GET TRANSACTION DATA ステートメントで指定した全フィールドは、定義されたフォーマットにかかわりなく全桁が空白で返されます。

注意:
空のデータに対し算術演算を行うとプログラムは異常終了します。そのため、ユーザーは、"空"のトランザクションデータに対して算術演算を行わないように確認する必要があります。

制限事項

GET TRANSACTION DATA ステートメントは、Adabas データベースにのみ有効です。

構文説明

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

オペランド 構文要素 フォーマット オペランド参照 ダイナミック定義
operand1   S       A U N P I F B D T        

構文要素の説明:

構文要素 説明
operand1
フィールド指定:

GET TRANSACTION DATA ステートメントに使用するフィールドの順序、長さ、およびフォーマットは、対応する END TRANSACTION ステートメントで指定したフィールドの順序、長さ、およびフォーマットと同じにする必要があります。

** Example 'GTREX1': GET TRANSACTION                                    
**                                                                      
** CAUTION: Executing this example will modify the database records!    
************************************************************************
DEFINE DATA LOCAL                                                       
1 EMPLOY-VIEW VIEW OF EMPLOYEES                                         
  2 PERSONNEL-ID                                                        
  2 NAME                                                                
  2 FIRST-NAME                                                          
  2 MIDDLE-I                                                            
  2 CITY                                                                
*                                                                       
1 #PERS-NR (A8) INIT <' '>                                              
END-DEFINE                                                              
*                                                                       
GET TRANSACTION DATA #PERS-NR                                           
IF #PERS-NR NE ' '                                                      
  WRITE 'LAST TRANSACTION PROCESSED FROM PREVIOUS SESSION' #PERS-NR     
END-IF                                                                  
*                                                            
REPEAT                                                       
  /*                                                         
  INPUT  10X 'ENTER PERSONNEL NUMBER TO BE UPDATED:' #PERS-NR
  IF #PERS-NR = ' '                                          
    STOP                                                     
  END-IF                                                     
  /*                                                         
  FIND EMPLOY-VIEW WITH PERSONNEL-ID = #PERS-NR              
    IF NO RECORDS FOUND                                      
      REINPUT 'NO RECORD FOUND'                              
    END-NOREC                                                
    INPUT (AD=M) PERSONNEL-ID (AD=O)                         
               / NAME                                        
               / FIRST-NAME                                  
               / CITY                                        
    UPDATE                                                   
    END TRANSACTION #PERS-NR                                 
  END-FIND                                                   
  /*      
END-REPEAT
END