現在地: LANSA テクニカル リファレンスガイド > 9. 組み込み関数 > 9.21 COMPILE_COMPONENT

9.21 COMPILE_COMPONENT

コンポーネントをコンパイルします。

この BIF は、9.2 開発環境のみで使用される組み込み関数です。

 

引数

番号

タイプ

必須/

任意

記述

最小長

最大長

最小小数桁数

最大小数桁数

1

L

必須

作業リスト名。作業リストの長さは合計で9バイトである必要があります。

各リスト項目は、次のような形式にする必要があります。

1から9バイト:A(9)、コンポーネント名

1

9

 

 

2

A

任意

強制コンパイル(YES/NO)
このオプションがNOの場合は必要なコンポーネントのみコンパイルされ、オプションがYESの場合はすべてのコンポーネントがコンパイルされます。

デフォルト:未対応

2

3

 

 

3

A

任意

生成されるソース・コードを保持する(YES/NO)

デフォルト:未対応

2

3

 

 

4

A

任意

デバッグ用コンパイル(YES/NO)

デフォルト:未対応

2

3

 

 

5

A

任意

コンパイルのWebサービス(A/W/N)

A:すべてのWebルーチン
W:新しいWebルーチンのみ
N:コンパイルしない

デフォルト:N

1

1

 

 

6

L

任意

作業リスト名。作業リストの長さは合計で21バイトである必要があります。

各リスト項目は、次のような形式にする必要があります。

テクノロジ・サービスID。A(21)。<プロバイダ名>:<テクノロジ・サービス名>の形式で指定する必要があります。
例えば、LANSA:XHTMLのようになります。

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