[
|../../index.htm#lansa/dsnbi_0035.htm]
現在地:
このセクションでは、組み込み関数を 1 つのプログラムとして作成する際の手順を説明します。以下に示す例は非常に簡素なものですが、組み込み関数が LANSA システムに組み込まれる様子が理解できると思います。
シナリオ:これはユーザー定義の組み込み関数です。この組み込み関数を使って、システム値を取得します。
簡素な CL プログラムです。このプログラムは、システム値の名前を渡し、システム値が返されます。
名前は UD_GET_SYSTEM_VALUE です。
このサイトで次に利用可能な識別子は 411 です。
(DC@F47 による) BIF 定義
BIF名: |
UD_GET_SYSTEM_VALUE |
一意の識別子: |
411 |
説明: |
システム値の取得 |
呼び出しまたは実行: |
C (C<呼び出し> または E<実行>) |
プログラム名: |
UD@P411 |
呼び出し間での終了: |
N (Y <はい> または N <いいえ>) |
引数の数: |
1 |
戻り値の数: |
1 |
(DC@F48 による) BIFの引数
BIF名: |
UD_GET_SYSTEM_VALUE |
パラメータ・タイプ |
ARG |
パラメータシーケンス: |
1 |
パラメータ番号: |
1 |
パラメータ識別子: |
A |
説明: |
システム変数の名前 |
必須/任意: |
R (R <必須> または O <任意>) |
パラメータタイプ: |
A (A、N、または L) |
最小長: |
1 |
最大長: |
10 |
小数点以下最小桁数: |
|
小数点以下最大桁数: |
|
引き渡し長: |
10 |
引き渡す小数点以下桁数: |
|
デフォルト: |
|
(DC@F48 による) BIF の戻り値
BIF名: |
UD_GET_SYSTEM_VALUE |
パラメータ・タイプ |
RET |
パラメータシーケンス: |
1 |
パラメータ番号: |
2 |
パラメータ識別子: |
B |
説明: |
システム変数の値 |
必須/任意: |
R (R <必須> または O <任意>) |
パラメータタイプ: |
A (A、N、または L) |
最小長: |
1 |
最大長: |
256 |
小数点以下最小桁数: |
|
小数点以下最大桁数: |
|
引き渡し長: |
256 |
引き渡す小数点以下桁数: |
|
以下のようにデータを組み込み関数定義ファイルに入力します:
/ プログラム : UD@P411 / / ------ / / 組み込み関数名 : システム値の取得 / / ---------- / / 作成日 : 03/10/91 / / ---------- / / 作成者 : Johnny Programmer / / ---- / /* 記述 : システム値を返すプログラム / / --------- / / / /=================================================================/ / パラメータ リスト仕様 / /=================================================================/ / / / 入力パラメータ リスト / / ------------------ / / / / 固定パラメータ (すべての組み込み関数) / / --------------------------------------- / / / / DC@IDS : 標準の情報データ構造 / / DC@EDS : 標準の交換データ構造 / / PR@IDS : 標準のプロセス情報データ構造 / / / / 変数の引数と戻り値 (DC@F48 定義より) / / ------------------------------------------------------------ / / / / B$411A : 組み込み関数の引数記述子 数値 A / / B@411A : 取得するシステム値 / / B$411B : 組み込み関数の戻り値記述子番号 / / B@411B : システム値の値 / /=================================================================/ UD@P411: PGM PARM(&DC@IDS &DC@EDS &PR@IDS &B$411A &B@411A &B$411B + &B@411B) /=================================================================/ / 変数の宣言 / /=================================================================/ DCL &DC@IDS *CHAR 1024 DCL &DC@EDS *CHAR 1024 DCL &PR@IDS *CHAR 1024 DCL &B$411A *CHAR 4 DCL &B@411A *CHAR 10 DCL &B$411B *CHAR 4 DCL &B@411B *CHAR 256 DCL &$PGMNM *CHAR 10 DCL &PR@PGM *CHAR 10 DCL &PR
[
|../../index.htm#lansa/dsnbi_0035.htm]