9.19 COMPILE_COMPONENT
このBIFはコンポーネントをコンパイルします。
Þこ れは、 開発環境のみで使用される特殊BIF です。
各製品の対応
LANSA/AD |
未 対応 |
|
Visual LANSA for Windows |
使 用可 |
Visual LANSAはコンパイル・プロセスを開始し、コンパイルが完了するまでは制御を戻しません。 |
Visual LANSA for Linux |
未 対応 |
引数
番号 |
タイプ |
必須/ 任意 |
記述 |
最小長 |
最大長 |
最小小数桁数 |
最大小数桁数 |
---|---|---|---|---|---|---|---|
1 |
L |
必 須 |
作 業リスト名。作業リストの長さは合計で9バイトである必要があります。 各 リスト項目は、次のような形式にする必要があります。 1 から9バイト:A(9)、コンポーネント名 |
1 |
9 |
||
2 |
A |
任 意 |
強
制コンパイル(YES/NO) デ フォルト:未対応 |
2 |
3 |
||
3 |
A |
任 意 |
生 成されるソース・コードを保持する(YES/NO) デ フォルト:未対応 |
2 |
3 |
||
4 |
A |
任 意 |
デ バッグ用コンパイル(YES/NO) デ フォルト:未対応 |
2 |
3 |
||
5 |
A |
任 意 |
コ ンパイルのWebサービス(A/W/N) A:
すべてのWebルーチン デ フォルト:N |
1 |
1 |
||
6 |
L |
任 意 |
作 業リスト名。作業リストの長さは合計で21バイトである必要があります。 各 リスト項目は、次のような形式にする必要があります。 テ
クノロジ・サービスID。A(21)。<プロバイダ名>:<テクノロジ・サービス名>の形式で
指定する必要があります。 |
1 |
21 |
戻り値
番号 |
タイプ |
必須/ 任意 |
記述 |
最小長 |
最大長 |
最小小数桁数 |
最大小数桁数 |
---|---|---|---|---|---|---|---|
1 |
A |
必 須 |
戻
りコード OK: コンパイル実行が成功した NR: リスト内でコンパイル可能なコンポーネントが見つからなかった ER: 引数の詳細が無効であるか、権限上の問題が発生した。この場合は、戻りコード・エラー・メッセージが自動的に発行されます。 |
2 |
2 |
例
ユーザーが自身のバージョンの「コンポーネントのコンパイル/再コンパイル」の機能を使用して、コンポーネントのコンパイルを制御する場合は、次のように 行います。
********* Define arguments and lists
DEFINE FIELD(#COMPNAME) TYPE(*CHAR) LENGTH(9)
DEFINE FIELD(#RETCOD) TYPE(*CHAR) LENGTH(2)
DEF_LIST NAME(#WKCOMP) FIELDS(#COMPNAME) TYPE(*WORKING)
DEF_LIST NAME(#BWCOMP) FIELDS(#COMPNAME)
********* Clear working and browse lists
BEGIN_LOOP
CLR_LIST NAMED(#WKCOMP)
INZ_LIST NAMED(#BWCOMP) NUM_ENTRYS(2) WITH_MODE(*CHANGE)
********* Request component names
REQUEST BROWSELIST(#BWCOMP)
********* Move components from the browselist to the working list
SELECTLIST NAMED(#BWCOMP)
ADD_ENTRY TO_LIST(#WKCOMP)
ENDSELECT
********* Execute built-in-function - COMPILE_COMPONENT
USE BUILTIN(COMPILE_COMPONENT) WITH_ARGS(#WKCOMP) TO_GET(#RETCOD)
********* Check if submission was successful
IF COND('#RETCOD *EQ ''OK''')
MESSAGE MSGTXT('Compile Component submitted successfully')
ELSE
MESSAGE MSGTXT('Compile Component submit failed with errors, refer to additional messages')
ENDIF
END_LOOP