9.36 DEFINE_ANY_SERVER

注意: 9.1 組み込み関数の規則      &<a href="bifcat3_01.htm"&>利用オプション&</a&>
サーバーとして使用するためのLANSAシステムの詳細を定義します。
定義の詳細は、永続的なものではなく、LANSA環境がアクティブな間だけ存続します。
サーバーを定義するのにかかる時間は、ほんのわずかです。
プラットフォームについて

IBM i サーバー

この組み込み関数は、RDMLXファイルに対して実行するI/Oコマンドで使用する必要があります。それ以外の場合は、サーバーでRDMLXファンクションを呼び出してください。RDMLXの区画が使用可能になった後に、この組み込み関数を再コンパイルしている場合は、非RDMLXオブジェクトにアクセスするためにDEFINE_OS_400_SERVERの代わりに使用することもできます。
区画がRDMLXに対して使用可能になっていない場合、または非RDMLXオブジェクトが再コンパイルされていない場合は、非RDMLXオブジェクトにアクセスするにはDEFINE_OS_400_SERVERを使用する必要があります。

その他のサーバー

この組み込み関数かDEFINE_OTHER_SERVERを使用してサーバー上の任意のオブジェクトにアクセスすることができます。

 
引数

番号

タイプ

必須/ 任意

記述

最小長

最大長

最小小数桁数

最大小数桁数

1

A

必須

SSN (サーバーの別名)。これは、今後のこのサーバーへのすべての参照でこのファンクションおよび他のRDMLファンクションが使用する名前です。

1

10

 

0

2

A

必須

LU パートナー名

1

20

 

0

3

A

必須

非 IBM i サーバーでは無視 (常にY) Y または 1:サーバー上でコミットメント制御を開始する。このサーバーの接続が完了すると、クライアントからRDMLレベルのCOMMITまたは ROLLBACKコマンドが発行されるたびに、"commit" または "rollback" 要求を受け取ります。 その他:コミットメント制御を使用しない

1

1

 

 

4

A

任意

X_RUN 例外引数

1

256

 

0

5

A

任意

LOCK_OBJECT 要求をこのサーバーに転送します。このオプションを使用する場合は、後続するすべてのLOCK_OBJECT要求がこのサーバーに転送されます。複数のサーバーが同時このオプションを使用可能に設定している場合、各サーバーとも同じLOCK_OBJECT要求を受け取ります。
このような場合は、LOCK_OBJECTを実行するすべてのサーバーが正常に処理を完了するためには、サーバーにロックが許可されている必要があります。1つのサーバーでロックの許可に失敗すると、すでにオブジェクトのロックが許可されているすべてのサーバーに対してUNLOCK_OBJECT要求が発行されます。
ロックがサーバーに転送される場合、システム変数 *AUTONUM、*AUTOALP、および *DTAssslllxxxxxxxxxx もサーバーから取得されることに注意してください。詳細は、『LANSA アプリケーション設計ガイド』の「&<a href="../../../lansa065/content/lansa/dsnbf_0040.htm"&>*AUTONUM、*AUTOALP システム変数 (データ領域)&</a&> および &<a href="../../../lansa065/content/lansa/dsnbf_0045.htm"&>*DTASSSLLLXXXXXXXXXX システム変数 (データ域)&</a&>」を参照してください。
Y または1:LOCK_OBJECT要求を転送する
Z: LOCK_OBJECT要求を転送し、このサーバーに権限検査要求も転送する(権限検査要求を転送する対象としては、1つのサーバーのみ指定してください)
R:ロック要求、権限要求、リポジトリ・データ要求(ローカルで検出されない場合)を経路指定します。X_RUN パラメータ &<a href="l4wdepb3_0025.htm"&>PSRR&</a&> のX_RUN パラメータに関する注意事項も参照してください。
その他 - LOCK_OBJECT要求を転送しない
デフォルトはZです。

1

1

 

0

6

A

任意

接続待ちの間に「しばらくお待ちください」というメッセージを表示します。 Yまたは1:上記メッセージを表示する その他:メッセージを表示しない デフォルトはYです。

1

1

 

0

7

A

任意

IBM i以外のサーバーでは無視 実行優先順位。デフォルトは20です。他の値は、IBM iのCHGJOBコマンドのRUNPTYパラメータで指定してください。指定された値を変更する権限がユーザーに許可されている必要があります。

1

2

 

 

8

A

任意

IBM i以外のサーバーでは無視 クライアントからサーバーへの変換テーブル名。ライブラリ名は指定できません。デフォルトは*JOBで、この場合、IBM iサーバーのジョブのCCSIDとクライアント・コード・ページに基づいて変換テーブルが生成されます。 この引数が*JOBの場合、サーバーからクライアントへの変換テーブルも*JOBである必要があります。

1

10

 

0

9

A

任意

IBM i以外のサーバーでは無視 サーバーからへクライアントの変換テーブル名。ライブラリ名を指定することはできません。デフォルトは*JOBで、この場合、IBM iサーバーのジョブのCCSIDおよびクライアント・コード・ページに基づいて変換テーブルが生成されます。 この引数が*JOBの場合、クライアントからサーバーへの変換テーブルも*JOBである必要があります。

1

10

 

0

 
戻り値

番号

タイプ

必須/任意

記述

最小長

最大長

最小小数桁数

最大小数桁数

1

A

必須

戻りコード: OK:サーバーが定義された

2

2

 

0

 
技術上の注記

コミット制御に関する注意事項

エラー処理に関する注意事項
複雑なエラー処理スキームをご使用のアプリケーションに組み込むことは避けるよう、強くお勧めします。アプリケーションのすべてのレベルで、以下のようなごく単純なトラップを使用するようにしてください。
if (#retcode *ne OK)
    abort msgtxt('失敗しました.............................') 
endif
 
標準的なエラー処理を行うように、生成されるすべてのアプリケーションに組み入れて、問題に対処するようにしてください。ユーザー定義のエラー処理ロジックが非常に複雑になったために全RDMLコードの40から50%を占有するようなケースもあります(アプリケーションには何のメリットもありません)。このような事態に陥らないようにしてください。
DBCSに関する考慮事項
サーバーがDBCS使用可能に指定されている場合は、クライアントのPC上に追加の変換テーブルが必要となります。
このテーブルは、X_CT<language code>.DATという名前で、X_LANSA\EXECUTEディレクトリに保管されている必要があります。
<language code>の部分が "JPN" (日本語) のX_CTJPN.DATという名前のテーブルは、日本語を使用するユーザー用のものです。
この変換ファイルの使用では、以下の点に注意してください。

区切り文字に使用できるのは、シングル・カンマ (,) のみです。