RSE:ソースの検査とコンパイル
リモートシステムエクスプローラを使ったソースの構文検査とコンパイルを紹介します。
ソースの構文検査
検査したいソースを選択して右クリック⇒検査を選択します。

いきなり検査しましたが、TEST10RというプログラムはEMPLOYEEというファイルを参照します。
開発する環境(ライブラリリスト)にファイル:EMPLOYEEが存在しないためエラーになりました。

ライブラリリストを設定します。
プロパティを選択。

下記のように検査・コンパイルに必要なライブラリを設定します。

設定を反映させるため、一度「切断」します。

再度「接続」します。

接続すると、ADDLIBLEコマンドが発行された事が分かります。

もう一度検査します。今後はエラーが無くなりました。
なお、JOBDで初期ライブラリリストを設定したおいたのですが、WDSCの環境には反映しないようですね。

重大度「0:情報」の情報が表示されています。
フィルターすることが可能です。

チェックを外すと表示されなくなりました。

コンテンツ・アシスト機能
以下のようなエラーが出ている状態で、
エラーの箇所を選択して、Ctrl+Spaceキーを押します。
この資料によると、変数の名称候補が出るらしいのですが、出ませんでした。

ソースのインデント表示機能
ENDSRをコメントアウトして、検査してみます。

エラーになりました。

「ソース」⇒「インデントの表示」を選択。

「iSeriesインデント」パースペクティブを開きます。
202行目でインデントがおかしくなっているのが分かります。

こちらは正しい例です。

コンパイル
コンパイルする先のライブラリを設定します。

コンパイルする前の状態です。

コンパイルします。

ログを見ると、成功した事が分かりました。

WDSCOBJに作成されました。

コンパイルリストはどのOUTQにあるのでしょうか?。
先ほどのログの情報から取得したJOBを見てみます。

スプール・ファイルの処理。

MAEDAQにありました。
(実はJOBDの「出力待ち行列」にMAEDAQを設定してありました。)

「バッチでコンパイル」のチェックを外すと、SBMJOBされずコンパイルされるまで待ちます。

5250でコンパイルしている時はコンパイルリストを見ないとエラーかどうかが分からないため対話式でコンパイルしていました。
WDSCの場合はバッチでコンパイルしても結果がすぐに分かるので
「バッチでコンパイル」のほうがお勧めかもしれません。
(言っている意味が分かるでしょうか・・)
オブジェクトライブラリに存在しないライブラリを指定するとどうなるのでしょう?。

当然エラーになるのですが、EVFEVENTファイルが存在しない理由のようです。

中身は、コンパイルした結果のメッセージが格納されているようです。
iSeriesエラーリストはここから表示されているのですね。なるほど。

一括コンパイルしてみました。
選択したソースがすべてコンパイルされます。
(ただし「iSeriesエラーリスト」には最後のプログラムの結果だけが表示されます。)

コンパイルオプションを変えてみます。

DFTACTGRPをNOに、ACTGRPをTESTに変えてみました
(途中で改行はいれないで下さい。コンパイルエラーになります。)
今まではとりえあずコンパイルしてエラーチェックさせていましたが、検査のほうが便利ですね。
以上で終了です。
(記事を書いた日:2014/06/06)
ソースの構文検査
検査したいソースを選択して右クリック⇒検査を選択します。
いきなり検査しましたが、TEST10RというプログラムはEMPLOYEEというファイルを参照します。
開発する環境(ライブラリリスト)にファイル:EMPLOYEEが存在しないためエラーになりました。
ライブラリリストを設定します。
プロパティを選択。
下記のように検査・コンパイルに必要なライブラリを設定します。
設定を反映させるため、一度「切断」します。
再度「接続」します。
接続すると、ADDLIBLEコマンドが発行された事が分かります。
もう一度検査します。今後はエラーが無くなりました。
なお、JOBDで初期ライブラリリストを設定したおいたのですが、WDSCの環境には反映しないようですね。
重大度「0:情報」の情報が表示されています。
フィルターすることが可能です。
チェックを外すと表示されなくなりました。
コンテンツ・アシスト機能
以下のようなエラーが出ている状態で、
エラーの箇所を選択して、Ctrl+Spaceキーを押します。
この資料によると、変数の名称候補が出るらしいのですが、出ませんでした。
ソースのインデント表示機能
ENDSRをコメントアウトして、検査してみます。
エラーになりました。
「ソース」⇒「インデントの表示」を選択。
「iSeriesインデント」パースペクティブを開きます。
202行目でインデントがおかしくなっているのが分かります。
こちらは正しい例です。
コンパイル
コンパイルする先のライブラリを設定します。
コンパイルする前の状態です。
コンパイルします。
ログを見ると、成功した事が分かりました。
WDSCOBJに作成されました。
コンパイルリストはどのOUTQにあるのでしょうか?。
先ほどのログの情報から取得したJOBを見てみます。
スプール・ファイルの処理。
MAEDAQにありました。
(実はJOBDの「出力待ち行列」にMAEDAQを設定してありました。)
「バッチでコンパイル」のチェックを外すと、SBMJOBされずコンパイルされるまで待ちます。
5250でコンパイルしている時はコンパイルリストを見ないとエラーかどうかが分からないため対話式でコンパイルしていました。
WDSCの場合はバッチでコンパイルしても結果がすぐに分かるので
「バッチでコンパイル」のほうがお勧めかもしれません。
(言っている意味が分かるでしょうか・・)
オブジェクトライブラリに存在しないライブラリを指定するとどうなるのでしょう?。
当然エラーになるのですが、EVFEVENTファイルが存在しない理由のようです。
中身は、コンパイルした結果のメッセージが格納されているようです。
iSeriesエラーリストはここから表示されているのですね。なるほど。
一括コンパイルしてみました。
選択したソースがすべてコンパイルされます。
(ただし「iSeriesエラーリスト」には最後のプログラムの結果だけが表示されます。)
コンパイルオプションを変えてみます。
DFTACTGRPをNOに、ACTGRPをTESTに変えてみました
(途中で改行はいれないで下さい。コンパイルエラーになります。)
今まではとりえあずコンパイルしてエラーチェックさせていましたが、検査のほうが便利ですね。
以上で終了です。
(記事を書いた日:2014/06/06)