このドキュメントでは、機能別に分類されたステートメントの概要を示します。
このドキュメントでは、次のトピックについて説明します。
注意:
DLOGOFF
、DLOGON
、SHOW
、IMPORT
、および EXPORT
ステートメントは、Entire DB がインストールされている場合にのみ使用できます。 詳細については、『Entire DB』ドキュメントを参照してください。
データベース内の情報にアクセスして操作するには、次の Natural データ操作言語(DML)ステートメントを使用します。
READ | データベースファイル内の物理的または論理的な一連のレコードを読み取ります。 |
FIND | ユーザー指定の条件に基づいて、データベースファイルからレコードを選択します。 |
HISTOGRAM | データベースフィールドの値を読み取ります。 |
GET | ISN(内部シーケンス番号)または RNO(レコード番号)を指定してレコードを読み取ります。 |
GET SAME | 現在処理中のレコードを再読み取りします。 |
ACCEPT/REJECT | ユーザー指定の条件に基づいて、レコードの受け入れ/除外を行います。 |
PASSW | パスワード保護されたファイルにアクセスするためのパスワードを指定します。 |
LIMIT | READ 、FIND 、または HISTOGRAM 処理ループの実行回数を制限します。
|
STORE | 新しいレコードをデータベースに追加します。 |
UPDATE | データベース内のレコードを更新します。 |
DELETE | データベースからレコードを削除します。 |
END TRANSACTION | 論理トランザクションの終了を示します。 |
BACKOUT TRANSACTION | 完了していない論理トランザクションをバックアウトします。 |
GET TRANSACTION DATA | 直前の END TRANSACTION ステートメントで保存したトランザクションデータを読み取ります。
|
RETRY | 他のユーザー用にホールド状態になっているレコードの再読み取りを試みます。 |
AT START OF DATA | 処理ループで一連のレコードの先頭が処理されるときに実行されるステートメントを指定します。 |
AT END OF DATA | 処理ループで一連のレコードの最後が処理されたときに実行されるステートメントを指定します。 |
AT BREAK | 制御フィールドの値が変更されるときに実行されるステートメントを指定します(ブレイク処理)。 |
BEFORE BREAK PROCESSING | ブレイク処理の実行前に実行されるステートメントを指定します。 |
PERFORM BREAK PROCESSING | 直ちにブレイク処理を呼び出します。 |
Natural DML ステートメントの他に、Natural プログラムで SQL ステートメントを使用して直接 SQL を扱うことができます。
次の SQL ステートメントが有効です。
CALLDBPROC | Natural からアクセスできる SQL データベースシステムのストアドプロシージャを呼び出します。 |
COMMIT | 論理トランザクションの終了を示し、トランザクション中にロックされた全データを解放します。 すべてのデータ変更がコミットされて確定されます。 |
DELETE | カーソルを使用しないでテーブル内の行を削除したり("検索済" DELETE )、カーソルが位置づけられたテーブル内の行を削除したり("位置決め" DELETE )します。
|
INSERT | 1 つ以上の行をテーブルに新しく追加します。 |
PROCESS SQL | 基準データベースに対して SQL ステートメントを発行します。 |
READ RESULT SET | 前の CALLDBPROC ステートメントで呼び出されたストアドプロシージャによって作成された結果セットを読み込みます。
|
ROLLBACK | 最後のリカバリ単位の開始以降に行われたデータベース更新をすべて元に戻します。 |
SELECT | 任意の行数を取得するためのカーソル選択と、多くても 1 つの行を取得する非カーソル選択(単独 SELECT )の両方をサポートします。
|
UPDATE | カーソルを使用しないでテーブル内の行に対して更新処理を実行したり("検索済" UPDATE )、カーソルが位置づけられた行の列に対して更新処理を実行したり("位置決め" UPDATE )します。
|
算術演算とデータ移動操作には次のステートメントを使用します。
COMPUTE | 算術演算を実行するか、値をフィールドに割り当てます。 |
ADD | 複数のオペランドを加算します。 |
SUBTRACT | 1 オペランドから他の 1 つ以上のオペランドを減算します。 |
MULTIPLY | 複数のオペランドを乗算します。 |
DIVIDE | 1 オペランドを他のオペランドに除算します。 |
EXAMINE TRANSLATE | フィールド内の文字を大文字/小文字または他の文字に変換します。 |
MOVE | 1 オペランドの値を 1 つ以上のフィールドに移動します。 |
MOVE ALL | 値の複数オカレンスを他のフィールドに移動します。 |
COMPRESS | 複数のフィールドの値を 1 フィールドに連結します。 |
SEPARATE | 1 フィールドの内容を複数のフィールドに分割します。 |
EXAMINE | 特定の値でフィールドをスキャンし、それを置き換えたり、出現回数をカウントしたりします。 |
RESET | フィールドの値を 0(数値の場合)、空白(英数字の場合)、またはその初期値に設定します。 |
処理ループの実行には次のステートメントが関係します。
ESCAPE | 処理ループの実行を停止します。 |
FOR | 処理ループを開始し、ループの処理回数を制御します。 |
REPEAT | 処理ループを開始し、指定された条件に基づいて終了します。 |
SORT | レコードをソートします。 |
出力レポートの作成には次のステートメントを使用します。
FORMAT | 出力パラメータ設定を指定します。 |
DISPLAY | 列形式で出力するフィールドを指定します。 |
WRITE / PRINT | 列形式以外で出力するフィールドを指定します。 |
WRITE TITLE | レポートの各ページの上に出力するテキストを指定します。 |
WRITE TRAILER | レポートの各ページの下に出力するテキストを指定します。 |
AT TOP OF PAGE | 新しい出力ページの開始時に実行される処理を指定します。 |
AT END OF PAGE | 出力ページの最後に達したときに実行される処理を指定します。 |
SKIP | レポートに 1 行以上の空白行を作成します。 |
EJECT | タイトルやヘッダーを含まずにページ送りを行います。 |
NEWPAGE | タイトルやヘッダー付きでページ送りを行います。 |
SUSPEND IDENTICAL SUPPRESS | 1 レコードに対して同一値の省略を中止します。 |
DEFINE PRINTER | 論理出力先にレポートを割り当てます。 |
CLOSE PRINTER | プリンタをクローズします。 |
データの対話型処理のためにデータ画面(マップ)を生成するには、次のステートメントを使用します。
INPUT | データを表示したり、入力したりするための形式化された画面(マップ)を作成します。 |
REINPUT | INPUT ステートメントを再実行します(前の INPUT ステートメントに対する入力データが誤りであった場合)。
|
DEFINE WINDOW | ウィンドウのサイズ、位置、および属性を指定します。 |
SET WINDOW | ウィンドウを稼動したり解除したりします。 |
PROCESS PAGE | Web リッチ GUI 画面に対するデータマッピングを作成します。 |
PROCESS PAGE USING | ページレイアウトから生成されたアダプタオブジェクトを使用してリッチ GUI I/O 処理を実行します。 |
PROCESS PAGE UPDATE | PROCESS PAGE ステートメントを再実行します。 |
PROCESS PAGE MODAL | 処理ブロックを開始し、リッチ GUI ウィンドウの存続期間を制御します。 |
Natural プログラムの実行中に検出された条件に基づいてステートメントの実行を制御するには、次のステートメントを使用します。
IF | 論理条件に基づいてステートメントを実行します。 |
IF SELECTION | 一連の英数字フィールドのうちの 1 つにのみ値が含まれていることを確認します。 |
DECIDE FOR | 複数の論理条件に基づいてステートメントを実行します。 |
DECIDE ON | 変数の内容に基づいてステートメントを実行します。 |
ON ERROR | ランタイムエラーをインターセプトします。インターセプトしない場合は、Natural エラーメッセージが表示された後、Natural プログラムが終了します。 |
プログラムおよびルーチンの実行と関連して次のステートメントを使用します。
CALL | Natural プログラムから Natural 以外のプログラムを呼び出します。 |
CALLNAT | Natural サブプログラムを呼び出します。 |
CALL FILE | Natural 以外のプログラムを呼び出し、Adabas 以外のファイルからレコードを読み取ります。 |
CALL LOOP | Natural 以外のプログラムへのコールを含む処理ループを生成します。 |
DEFINE SUBROUTINE | Natural サブルーチンを定義します。 |
ESCAPE | ルーチンの実行を中止します。 |
FETCH | Natural プログラムを呼び出します。 |
PERFORM | Natural サブルーチンを呼び出します。 |
PROCESS COMMAND | コマンドプロセッサを呼び出します。 |
RUN | ソースプログラムをコンパイルて実行します。 |
ファンクションコール | Natural 機能を呼び出します。 |
アプリケーションの実行または Natural セッションを終了するには、次の Natural ステートメントを使用します。
STOP | アプリケーションの実行を終了します。 |
TERMINATE | Natural セッションを終了します。 |
(Adabas 以外の)物理順ワークファイルに対するデータの読み取り/書き込みには次の Natural ステートメントを使用します。
WRITE WORK FILE | ワークファイルにデータを書き込みます。 |
READ WORK FILE | ワークファイルからデータを読み取ります。 |
CLOSE WORK FILE | ワークファイルをクローズします。 |
DEFINE WORK FILE | ファイル名をワークファイルに割り当てます。 |
コンポーネントベースプログラミングと関連して次の Natural ステートメントを使用します。
DEFINE CLASS | Natural クラスモジュール内からクラスを指定します。 |
CREATE OBJECT | 指定したクラスのオブジェクト(インスタンスとも呼ばれる)を作成します。 |
SEND METHOD | オブジェクトのメソッドを呼び出します。 |
INTERFACE | クラスの特定機能に対するインターフェイス(メソッドおよびプロパティの集合)を定義します。 |
METHOD | インターフェイス定義外のメソッドの実装として、サブプログラムを割り当てます。 |
PROPERTY | インターフェイス定義外のプロパティに対する実装として、オブジェクトデータ変数を割り当てます。 |
イベントドリブンプログラミングには次の Natural ステートメントを使用します。
OPEN DIALOG | ダイアログを開きます。 |
CLOSE DIALOG | ダイアログを閉じます。 |
SEND EVENT | ユーザー定義イベントを起動します。 |
PROCESS GUI | イベントドリブンアプリケーションの標準プロシージャを実行します。 |
EXPAND | ダイナミック変数の割り当てメモリを指定したサイズに拡張します。または、X-array のオカレンス数を拡張します。 |
REDUCE | ダイナミック変数のサイズまたは X-array のオカレンス数を縮小します。 |
RESIZE | ダイナミック変数のサイズまたは X-array のオカレンス数を調整します。 |
PARSE | Natural プログラムから XML ドキュメントを解析できるようになります。 |
REQUEST DOCUMENT | 外部システムへのアクセスを可能にします。 |
DEFINE DATA | Natural プログラムまたはルーチンで使用するデータ要素を定義します。 |
END | Natural プログラムまたはルーチンのソースコードの終了を示します。 |
INCLUDE | コンパイル時に Natural コピーコードを組み込みます。 |
PROCESS REPORTER | プログラム内から Natural Reporter と通信し、特定のアクションを実行するように Reporter に指示します。 |
RELEASE | Natural スタックの内容を削除します。FIND ステートメントによって保存された ISN の集合を解放します。Natural グローバル変数を解放します。 |
SET CONTROL | Natural プログラム内から Natural 端末コマンドを実行します。 |
SET KEY | 端末キーに機能を割り当てます。 |
SET TIME | *TIMD システム変数に対する参照開始時点を設定します。 |
STACK | Natural スタックにデータ/コマンドを挿入します。 |
次のステートメントは、レポーティングモードでのみ使用できます。
CLOSE LOOP | 処理ループを閉じます。 |
DO/DOEND | 論理条件に基づいて実行するステートメントのグループを指定します。 |
OBTAIN | ファイルから 1 つ以上のフィールドを読み取ります。 |
REDEFINE | フィールドを再定義します。 |
SET GLOBALS | セッションパラメータの値を設定します。 |
次のステートメントは、ストラクチャードモードとレポーティングモードの両方で使用できます。ただし、ステートメント構造と機能が異なるものがあります。
AT START OF DATA | 処理ループで一連のレコードの先頭が処理されるときに実行されるステートメントを指定します。 |
AT END OF DATA | 処理ループで一連のレコードの最後が処理されたときに実行されるステートメントを指定します。 |
AT BREAK | 制御フィールドの値が変更されるときに実行されるステートメントを指定します(ブレイク処理)。 |
AT TOP OF PAGE | 新しい出力ページの開始時に実行される処理を指定します。 |
AT END OF PAGE | 出力ページの最後に達したときに実行される処理を指定します。 |
BEFORE BREAK PROCESSING | ブレイク処理の実行前に実行されるステートメントを指定します。 |
CALL LOOP | Natural 以外のプログラムへのコールを含む処理ループを生成します。 |
CALL FILE | Natural 以外のプログラムを呼び出し、Adabas 以外のファイルからレコードを読み取ります。 |
COMPUTE | 算術演算を実行するか、値をフィールドに割り当てます。 |
DEFINE SUBROUTINE | Natural サブルーチンを定義します。 |
ESCAPE | 処理ループの実行を停止します。 |
FIND | ユーザー指定の条件に基づいて、データベースファイルからレコードを選択します。 |
GET SAME | 現在処理中のレコードを再読み取りします。 |
HISTOGRAM | データベースフィールドの値を読み取ります。 |
IF | 論理条件に基づいてステートメントを実行します。 |
IF SELECTION | 一連の英数字フィールドのうちの 1 つにのみ値が含まれていることを確認します。 |
ON ERROR | ランタイムエラーをインターセプトします。インターセプトしない場合は、Natural エラーメッセージが表示された後、Natural プログラムが終了します。 |
PARSE | Natural プログラムから XML ドキュメントを解析できるようになります。 |
READ | データベースファイル内の物理的または論理的な一連のレコードを読み取ります。 |
READ WORK FILE | ワークファイルからデータを読み取ります。 |
REPEAT | 処理ループを開始し、指定された条件に基づいて終了します。 |
SORT | レコードをソートします。 |
STORE | 新しいレコードをデータベースに追加します。 |
UPDATE | データベース内のレコードを更新します。 |