8.2.1 システム・プロパティの評価機能
のオプションを選択した場合は、指定のシステム・プロパティの値を評価(そして設定)するLANSAファンクションが配布またはインストールされていることを必ず確認しておいてください。
- このファンクションはRDMLで作成されていても、フルRDMLXでも構いません。
- ファンクションは で定義されていなければなりません。
- このファンクションは、現在使用しているLANSA Composerのバージョンと互換性のあるLANSAのレベルで作成され、コンパイルされたものでなければなりません。
- ファンクションはLANSAシステムの区画モジュール・ライブラリおよびLANSA Composerがインストールされている、LANSA Composerサーバーの区画(例: LICLICLIB)に配布されていなければなりません。
LANSA Composerがファンクションを呼び出してシステム・プロパティの値を評価する時は、LANSA交換リストを利用して通信を行います。具体的には、ファンクションは次のフィールドが(必要な場合)定義されていなければならず、これを使用して要求の認識を行い、結果を戻します。
変数と示されているフィールドの場合、値を戻す前に、ファンクションではEXCHANGEコマンドを使ってLANSA交換リストに変数を送らなければなりません。
|
以下の例では、RDMLXファンクションがMY_PROPERTYという名前のシステム・プロパティを評価(そして値を設定)します。
function options(*direct)
* ---------------------------------------------------------------------------
* Program mainline
* ---------------------------------------------------------------------------
case of_field(#dxspid)
when value_is(= 'MY_PROPERTY')
case of_field(#dxreques)
when value_is(= 'GET')
#dxspvl := 'MY_PROPERTY_VALUE'
#dxresult := 'OK'
exchange fields(#dxspvl #dxresult)
when value_is(= 'SET')
* MY_PROPERTY is NOT intended to be writeable
#dxresult := 'ER'
exchange fields(#dxresult)
abort msgtxt('System property MY_PROPERTY not writeable')
endcase
otherwise
abort msgtxt('System property name not recognised by this function')
endcase
return