...
[
Image Added |../../index.htm#lansa/dsnbi_0185.htm]
現在地:
| Anchor |
|---|
| _Ref225669817 |
|---|
| _Ref225669817 |
|---|
|
| Anchor |
|---|
| _Toc130909921 |
|---|
| _Toc130909921 |
|---|
|
制御言語 (CL) のスケルトンLANSA データ・ライブラリのソースファイル DC@F28 に以下のサンプルのソースコードが提供されています。この名前は通常 DC@DTALIB です。
/=================================================================/ / 標準組み込み関数提供者の免責事項 / /=================================================================/ / + 提供者名 : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + + BIF 機能は非常にパワフルで、LANSA で生成されたアプリケーションに対し 非常にオープンなインターフェースとなっています。 + + ゆえに、ユーザー定義組み込み関数を定義する場合、 もしくは、代理店提供の組み込み関数を購入する場合も、 自身のシステムに構築したすべての LANSA アプリケーションの 整合性、利便性、セキュリティ、保守性、移植性に与える影響に対する 責任はすべてお客様自身にあります。 + + 製品の代理店(ベンダー)により組み込み関数の定義や保守のサポート が提供される可能性はありますが、その場合でもこのベンダーには その機能に関する責任や法的な義務はありません。 + /=================================================================/ / プログラム基本情報 / /=================================================================/ / + Copyright : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, 1991. + + プログラム名 : XXXXXXX + + 組み込み関数名 : XXXXXXXXXXXXXXXXXXXX + + 作成日 : DD/DD/DD + + 作者名 : XXXXXXXXXXXXXX + + 説明 : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + / /=================================================================/ / プログラム修正履歴 / /=================================================================/ / + 参照 日付 修正者氏名 修正内容 + -- -- ---------- ---------------------------- + NNNNN DD/DD/DD XXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + NNNNN DD/DD/DD XXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + NNNNN DD/DD/DD XXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + / /=================================================================/ / エントリー パラメータ リスト仕様 / /=================================================================/ / + 固定パラメータ (すべての組み込み関数) + --------------------------------------- + DC@IDS :標準の情報データ構造 + DC@EDS :標準の交換データ構造 + PR@IDS : 標準のプロセス情報データ構造 + 変数の引数と戻り値 (DC@F48 定義より) ------------------------------------------------------------ + B$###n : 組み込み関数 引数/戻り値 記述し番号 n + B@###n : 組み込み関数 引数/戻り値 値番号 n + / /=================================================================/ BI@P###: PGM PARM(&DC@IDS &DC@EDS &PR@IDS) /=================================================================/ / 変数の宣言 / /=================================================================/ DCL VAR(&DC@IDS) TYPE(*CHAR) LEN(1024) DCL VAR(&DC@EDS) TYPE(*CHAR) LEN(1024) DCL VAR(&PR@IDS) TYPE(*CHAR) LEN(1024) DCL VAR(&$PGMNM) TYPE(*CHAR) LEN(10) DCL VAR(&PR@PGM) TYPE(*CHAR) LEN(10) DCL VAR(&PRN) TYPE(*CHAR) LEN(3) DCL VAR(&PRA) TYPE(*CHAR) LEN(1) DCL VAR(&DC@RET) TYPE(*CHAR) LEN(1) DCL VAR(&DC@MID) TYPE(*CHAR) LEN(7) DCL VAR(&DC@MVR) TYPE(*CHAR) LEN(132) DCL VAR(&@COPYR) TYPE(*CHAR) LEN(80) VALUE('(C) + COPYRIGHT <<組織名は + ここ>>, 1991. ALL RIGHTS RESERVED') /=================================================================/ / グローバル エラー ハンドラー / /=================================================================/ MONMSG MSGID(CPF0000 MCH0000) EXEC(GOTO ARGERR) /=================================================================/ / プログラム メイン行 / /=================================================================/ / フィールドの設定とデータ構造から一部をマッピング .... / CHGVAR &$PGMNM '??????????' CHGVAR &PR@PGM %SST(&PR@IDS 424 10) CHGVAR &PRN %SST(&PR@IDS 157 3) CHGVAR &PRA %SST(&PR@IDS 160 1) / Initially assume that a "good" return will be the result .... / CHGVAR &DC@RET 'Y' / 必須の評価/アクションの実行 / アクションはここ ..... / / プログラム処理ロジックの終わり . . . / ENDPGM: CHGVAR %SST(&DC@EDS 38 1) &DC@RET CHGVAR %SST(&DC@EDS 39 7) &DC@MID CHGVAR %SST(&DC@EDS 46 132) &DC@MVR RETURN /==================================================================/ / ARGERR :プログラムに引き渡された引数のエラー処理。 / / 呼び出し元は、このロジックの実行前にエラーの原因を / / 反映させるために DC@MID と DC@MVR を設定する必要があります / / このロジックが起動されると、プログラム全体が終了します。 / / これによって、この RDML ファンクションの呼び出しはエラーとなり、 / / DC@MID/DC@MVR 内のエラー詳細を示すメッセージが表示されます / /==================================================================/ ARGERR: / 呼び出し元に返す追加メッセージをすべて転送 / CALL PGM(DC@P9007) PARM(&$PGMNM &PR@PGM) MONMSG (CPF0000 MCH0000) / "不正な" 戻りコードを設定 .... / CHGVAR &DC@RET 'N' MONMSG (CPF0000 MCH0000) / 呼び出し元のプログラムに制御を戻す.... / GOTO ENDPGM /==================================================================*/ CHGVAR VAR(%SST(&@COPYR 80 1)) VALUE(' ') ENDPGM
[
Image Added |../../index.htm#lansa/dsnbi_0185.htm]