Page History
[ |../../index.htm#lansa/dsnbi_0040.htm]
現在地:
| Anchor | ||||
|---|---|---|---|---|
|
| Anchor | ||||
|---|---|---|---|---|
|
このセクションでは、LANSA ファンクションのインライン・コードの一部となる組み込み関数の作成に必要となる手順を説明していきます。この例は非常に簡素なものですが、組み込み関数が LANSA システムに組み込まれる様子が理解できると思います。
シナリオ:これはユーザー定義の組み込み関数です。この組み込み関数を使って、日付を YYMMDD 形式から DDMMYY 形式に切り替えします。
組み込み関数が日付の操作を行なうためには、データ構造 (I SPECS) とコード (C SPECS) が必要です。
この組み込み関数の名前は UD_FLIP_DATE です。
次に利用可能な識別子は 412 です。
(DC@F47 による) BIF 定義
...
以下のようにデータを組み込み関数定義ファイルに入力します: BIF412ISPC という名前のメンバーを QBIFSRC に作成して、そのデータ構造を以下のようにコーディングします。
I* 組み込み関数 412 - UD_FLIP_DATE が私用するコード
I*
IDATEIN DS
I 1 60NUMDI
I 1 20YRIN
I 3 40MNIN
I 5 60DYIN
I*
IDATEOU DS
I 1 60NUMDO
I 1 20DYOU
I 3 40MNOU
I 5 60YROU
BIF412CSPC という名前のメンバーを QBIFSRC に作成して、以下のように日付処理のコーディングをします。
C*====================================================
C* IB@412 : UD_FLIP_DATE
C*====================================================
CSR IB@412 BEGSR
C*
C MOVEL'Y' DC@RET
C*
C Z-ADDB@412A NUMDI
C*
C MOVELDYIN DYOU
C MOVELMNIN MNOU
C MOVELYRIN YROU
C*
C Z-ADDNUMDO B@412B
C*
CSR ENDSR
これらのソース・メンバーは、コンパイル時に生成される /COPY により、この組み込み関数を利用する LANSA ファンクションのインライン・コードに含まれます。
[ |../../index.htm#lansa/dsnbi_0040.htm]