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

RESET

RESET [INITIALoperand1

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

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

関連ステートメント:ADD | COMPRESS | COMPUTE | DIVIDE | EXAMINE | MOVE | MOVE ALL | MULTIPLY | SEPARATE | SUBTRACT

関連機能グループ:「算術演算とデータ移動操作


機能

RESET ステートメントは、フィールドの値をリセットするために使用します。

注意:

  1. DEFINE DATA ステートメントで CONSTANT 節を指定して宣言したフィールドは、内容を変更できないので、RESET ステートメントで参照できません。
  2. レポーティングモードでは、プログラムに DEFINE DATA LOCAL ステートメントが含まれていなければ、RESET ステートメントを使用して変数を定義することもできます。

Top of page

構文説明

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

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

構文要素の説明:

RESET operand1
空値にリセット:

RESETINITIAL なし)は、指定された各フィールドの内容(operand1)をデフォルトの初期値にリセットします。

operand1 がダイナミック変数の場合、RESET ステートメントの実行時に変数に含まれている長さの空値にリセットされます。 ダイナミック変数の現在の長さは、システム変数 *LENGTH を使用して確認できます。

ダイナミック変数に関する全般的な情報については、「ラージ変数/フィールドとダイナミック変数/フィールド」を参照してください。

RESET INITIALoperand1
初期値にリセット:

RESET INITIAL は、指定された各フィールド(operand1)を DEFINE DATA ステートメントのフィールド定義に従った初期値に設定します。

  • DEFINE DATA ステートメントに INIT 値を指定していない場合、フィールドはそのフォーマットに基づいてデフォルトの初期値で初期化されます。

  • ダイナミック変数を使用する場合、初期値が定義されていなければ、*LENGTH はゼロに設定されます。

  • RESET INITIAL を配列に適用する場合、DEFINE DATA ステートメントで定義した配列全体に適用する必要があります。配列の個々のオカレンスに RESET INITIAL を適用することはできません。

  • 再定義で発生したフィールドに RESET INITIAL は使用できません。

  • RESET INITIAL はダイナミック変数に適用されます。

  • RESET INITIAL はデータベースフィールドには適用できません。

Top of page

** Example 'RSTEX1': RESET (with/without INITIAL)                       
************************************************************************
DEFINE DATA LOCAL                                                       
1 EMPLOY-VIEW VIEW OF EMPLOYEES                                         
  2 NAME                                                                
1 #BINARY  (B4) INIT <1>                                           
1 #INTEGER (I4) INIT <5>                                          
1 #NUMERIC (N2) INIT <25>                                          
END-DEFINE                                                              
*                                                                       
LIMIT 1                                                                 
READ EMPLOY-VIEW                                                        
  /*                                                                    
  WRITE NOTITLE 'VALUES BEFORE RESET STATEMENT:'                        
  WRITE / '=' NAME '=' #BINARY '=' #INTEGER '=' #NUMERIC                
  /*                                                                    
  RESET NAME #BINARY #INTEGER #NUMERIC                               
  /*                                                                    
  WRITE /// 'VALUES AFTER  RESET STATEMENT:'                            
  WRITE / '=' NAME '=' #BINARY '=' #INTEGER '=' #NUMERIC                
  /*                                                    
  RESET INITIAL #BINARY #INTEGER #NUMERIC           
  /*                                                    
  WRITE /// 'VALUES AFTER  RESET INITIAL STATEMENT:'    
  WRITE / '=' NAME '=' #BINARY '=' #INTEGER '=' #NUMERIC
  /*                                                    
END-READ                                                
END                                                    

プログラム RSTEX1 の出力:

VALUES BEFORE RESET STATEMENT:                                              
                                                                            
NAME: ADAM                 #BINARY: 00000001 #INTEGER:           5 #NUMERIC:
 25                                                                         
                                                                            
                                                                            
                                                                            
VALUES AFTER  RESET STATEMENT:                                              
                                                                            
NAME:                      #BINARY: 00000000 #INTEGER:           0 #NUMERIC:
  0                                                                         
                                                                            
                                                                            
                                                                            
VALUES AFTER  RESET INITIAL STATEMENT:                                      
                                                                            
NAME:                      #BINARY: 00000001 #INTEGER:           5 #NUMERIC:
 25           

Top of page