[ |../../index.htm#lansa/dsnbi_0185.htm]
現在地:

制御言語 (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
 
[ |../../index.htm#lansa/dsnbi_0185.htm]