付録C. 例: Debug Tool Utilities を使用したプログラムの準備とセットアップ・ファイルの変更
以下の例では、Debug Tool Utilities を使用してプログラムを準備する方法と、
セットアップ・ファイルを作成、管理、使用する方法を示します。
この例では、次のタスクを順に行っていきます。
- 正しい属性で個人用データ・セットを作成する。
- Debug Tool Utilities を始動する。
- Debug Tool Utilities を使用してプログラムをコンパイルまたはアセンブルする。
Debug Tool Utilities を使用しない場合は、通常の方法でプログラムを作成し、
次のステップから再開することができます。
- セットアップ・ファイルを変更および使用して、フォアグラウンドまたはバッチでプログラムを実行する。
個人用データ・セットの作成
以下に示した名前と属性でデータ・セットを作成します。
各データ・セットに 5 トラック割り振ります。
区分データ・セットには、ディレクトリー用の 5 ブロックを指定します。
表 18. データ・セット作成時に使用する名前と属性
| データ・セット名 |
LRECL |
BLKSIZE |
RECFM |
DSORG |
| * 有効な任意のブロック・サイズを使用できます。 |
| prefix.SAMPLE.COBOL |
80 |
* |
FB |
PO |
| prefix.SAMPLE.PLI |
80 |
* |
FB |
PO |
| prefix.SAMPLE.C |
80 |
* |
FB |
PO |
| prefix.SAMPLE.ASM |
80 |
* |
FB |
PO |
| prefix.SAMPLE.DTSF |
1280 |
* |
VB |
PO |
作成した個人用データ・セットに、hlq.SEQASAMP データ・セットの次のメンバーをコピーします。
| SEQASAMP メンバー名 |
ユーザーのサンプル・データ・セット |
メンバーの説明 |
| EQAWPP1 |
prefix.SAMPLE.COBOL(WPP1) |
COBOL ソース・コード |
| EQAWPP3 |
prefix.SAMPLE.PLI(WPP3) |
PL/I ソース・コード |
| EQAWPP4 |
prefix.SAMPLE.C(WPP4) |
C ソース・コード |
| EQAWPP5 |
prefix.SAMPLE.ASM(WPP5) |
アセンブラー・ソース・コード |
| EQAWSU1 |
prefix.SAMPLE.DTSF(WSU1) |
EQAWPP1 用セットアップ・ファイル |
| EQAWSU3 |
prefix.SAMPLE.DTSF(WSU3) |
EQAWPP3 用セットアップ・ファイル |
| EQAWSU4 |
prefix.SAMPLE.DTSF(WSU4) |
EQAWPP4 用セットアップ・ファイル |
| EQAWSU5 |
prefix.SAMPLE.DTSF(WSU5) |
EQAWPP5 用セットアップ・ファイル |
Debug Tool Utilities の始動
Debug Tool Utilities を始動するには、次のいずれかを実行してください。
Debug Tool Utilities の基本パネル (EQA@PRIM) が表示されます。
コマンド行で PANELID コマンドを入力します。
このコマンドにより、画面の左上隅に各パネルの名前が表示されます。
この名前は、このセクションの説明でナビゲーション上の目印として使用されます。
この例を完了した後、こうした名前の表示を停止するには、PANELID コマンドを入力します。
Debug Tool Utilities を使用したプログラムのコンパイルまたはアセンブル
プログラムをコンパイルするには、以下のステップを行います。
- パネル EQA@PRIM で 1 を選択し、Enter を押します。
-
パネル EQAPP で、次のいずれかのオプションを
選択してから Enter を押します。
- COBOL プログラムをコンパイルする場合: 1
- PL/I プログラムをコンパイルする場合: 3
- C または C++ プログラムをコンパイルする場合: 4
- アセンブラー・プログラムをアセンブルする場合: 5
- ステップ 2 で選択した言語に応じて、次のいずれかのパネルが表示されます。
- COBOL プログラムの場合: EQAPPC1。以下の情報を示されたフィールドに入力します。
- Project = prefix
- Group= SAMPLE
- Type=COBOL
- Member=WPP1
- PL/I プログラムの場合: EQAPPC3
- Project = prefix
- Group= SAMPLE
- Type=PLI
- Member=WPP3
- C および C++ プログラムの場合: EQAPPC4
- Project = prefix
- Group= SAMPLE
- Type=C
- Member=WPP4
- アセンブラー・プログラムの場合: EQAPPC5
- Project = prefix
- Group= SAMPLE
- Type=ASM
- Member=WPP5
- アセンブラー・プログラムを準備している場合、
「Syslib data set Name」フィールドに CEE ライブラリーの場所を入力します。
例えば、'CEE.SCEEMAC' など。
- オプションを編集するには「/」を入力し、
フィールド「Data set naming pattern」に出力データ・セットの
命名パターンを指定します。Enter キーを押します。
-
ステップ 2 で選択した言語に応じて、次のいずれかのパネルが表示されます。
- COBOL プログラムの場合: EQAPPC1A
- PL/I プログラムの場合: EQAPPC3A
- C および C++ プログラムの場合: EQAPPC4A
- アセンブラー・プログラムの場合: EQAPPC5A
パネルで次の情報を確認します。
- テスト・コンパイラー・オプション
- 出力データ・セットの命名パターン
PF3 (Exit) を押します。
- ステップ 2 で選択した言語に応じて、次のいずれかのパネルが表示されます。
- COBOL プログラムの場合: EQAPPC1
- PL/I プログラムの場合: EQAPPC3
- C および C++ プログラムの場合: EQAPPC4
- アセンブラー・プログラムの場合: EQAPPC5
"F" を選択して、フォアグラウンドでこれらのプログラムを処理します。
CICS® 変換プログラム
に "N"、DB2® プリコンパイラー
に "N" を指定します。これらのプログラムには、CICS または DB2 の命令が含まれません。Enter キーを押します。
- ステップ 2 で選択した言語に応じて、次のいずれかのパネルが表示されます。
- COBOL プログラムの場合: EQAPPC1B
- PL/I プログラムの場合: EQAPPC3B
- C および C++ プログラムの場合: EQAPPC4B
- アセンブラー・プログラムの場合: EQAPPC5B
オブジェクト・コンパイル出力のデータ・セット名をメモに記録します。
COBOL プログラムの場合、データ・セット名は prefix.SAMPLE.OBJECT(WPP1) というような名前になります。オブジェクト・モジュールを
リンクするときにこの名前を使用します。Enter キーを押します。
- パネル EQAPPA1 が表示された場合、Enter を押します。
- ステップ 2 で選択した言語に応じて、次のいずれかのパネルが表示されます。
- COBOL プログラムの場合: EQAPPC1C
- PL/I プログラムの場合: EQAPPC3C
- C および C++ プログラムの場合: EQAPPC4C
- アセンブラー・プログラムの場合: EQAPPC5C
0 または 4 の戻りコードがあるかを検査します。「Listing」フィールドに "b" を入力します。Enter キーを押します。
- パネル ISRBROBA でファイルをブラウズしてメッセージを確認します。
メッセージの確認が終わったら、PF3 (Exit) を押します。
- ステップ 2 で選択した言語に応じて、次のいずれかのパネルが表示されます。
- COBOL プログラムの場合: EQAPPC1C
- PL/I プログラムの場合: EQAPPC3C
- C および C++ プログラムの場合: EQAPPC4C
- アセンブラー・プログラムの場合: EQAPPC5C
PF3 (Exit) を押します。
- ステップ 2 で選択した言語に応じて、次のいずれかのパネルが表示されます。
- COBOL プログラムの場合: EQAPPC1B
- PL/I プログラムの場合: EQAPPC3B
- C および C++ プログラムの場合: EQAPPC4B
- アセンブラー・プログラムの場合: EQAPPC5B
PF3 (Exit) を押します。
- ステップ 2 で選択した言語に応じて、次のいずれかのパネルが表示されます。
- COBOL プログラムの場合: EQAPPC1
- PL/I プログラムの場合: EQAPPC3
- C および C++ プログラムの場合: EQAPPC4
- アセンブラー・プログラムの場合: EQAPPC5
PF3 (Exit) を押します。
- パネル EQAPP で PF3 (Exit) を押して EQA@PRIM パネルに戻ります。
オブジェクト・モジュールをリンクするには、以下のステップを行います。
- パネル EQA@PRIM で 1 を選択し、Enter を押します。
- パネル EQAPP で L を選択し、Enter を押します。
- パネル EQAPPCL で "F" を指定してプログラムをフォアグラウンドで処理します。
その後、ステップ 2 で選択した言語に応じて、次のいずれかのオプションを選択します。
- COBOL プログラムの場合、Project
= prefix、Group= SAMPLE、Type=OBJECT、Member=WPP1 の各フィールド値を使用します。
- PL/I プログラムの場合、Project
= prefix、Group= SAMPLE、Type=OBJECT、Member=WPP3 の各フィールド値を使用します。
- C プログラムの場合、Project = prefix、Group= SAMPLE、Type=OBJECT、Member=WPP4 の各フィールド値を使用します。
- アセンブラー・プログラムの場合、Project
= prefix、Group= SAMPLE、Type=OBJECT、Member=WPP5 の各フィールド値を使用します。
-
パネル EQAPPCL で、プログラムにリンクする必要がある
他のライブラリーの名前を指定します。例えば、フィールド
「Syslib data set Name」に CEE ライブラリー 'CEE.SCEELKED' の接頭部を指定します。Enter キーを押します。
-
パネル EQAPPCLB で、「Load link-edit output」フィールドのデータ・セット名をメモに記録します。
セットアップ・ファイルを変更するときにこの名前を使用します。Enter キーを押します。
- パネル EQAPPA1 が表示された場合、Enter を押します。
- パネル EQAPPCLC で 0 の戻りコードがあるかを検査します。「Listing」フィールドに "V" を入力します。Enter キーを押します。
- パネル ISREDDE2 でメッセージを確認します。メッセージの確認が終わったら、PF3 (Exit) を押します。
- パネル EQAPPCLC で PF3 (Exit) を押します。
- パネル EQAPPCLB で PF3 (Exit) を押します。
- パネル EQAPPCL で PF3 (Exit) を押します。
- パネル EQAPP で PF3 (Exit) を押して EQA@PRIM パネルに戻ります。
セットアップ・ファイルの変更および使用
この例では、セットアップ・ファイルを変更してから、TSO フォアグラウンドで例を実行するか、
MVS バッチ・ジョブを
実行依頼してバックグラウンドで例を実行する方法について説明します。
フォアグラウンドでのプログラムの実行
プログラムをフォアグラウンドで実行するようにセットアップ・ファイルを変更して実行するには、
以下のステップを行います。
-
パネル EQA@PRIM で 2 を選択し、Enter を押します。
- パネル EQAPFOR で、ステップ 2 で選択した言語に応じて、
次のいずれかの選択項目を選択します。
- COBOL プログラムの場合、Project
= prefix、Group= SAMPLE、Type=DTSF、Member
= WSU1 の各フィールド値を使用します。
- PL/I プログラムの場合、Project
= prefix、Group = SAMPLE、Type=DTSF、Member=WSU3 の各フィールド値を使用します。
- C プログラムの場合、Project = prefix、Group= SAMPLE、Type=DTSF、Member=WSU4 の各フィールド値を使用します。
- アセンブラー・プログラムの場合、Project
= prefix、Group= SAMPLE、Type=DTSF、Member=WSU5 の各フィールド値を使用します。
Enter キーを押します。
- パネル EQAPFORS で以下のステップを行います。
- &LOADDS. を、オブジェクト・モジュールのリンク手順を示す
ステップ 5 のロード・データ・セットの名前で置き換えます。
- &EQAPRFX. を EQAW (Debug Tool) ライブラリーの接頭部で置き換えます。
- &CEEPRFX. を CEE (言語環境プログラム) ライブラリーの接頭部で置き換えます。
- CMDS DD 名の横の「Cmd」フィールドに "e" を入力します。
表示されるウィンドウで、データ・セットの終わりに QUIT ; ステートメントがある場合、
それを除去します。PF3 (Exit) を押します。
- コマンド行に "run" を入力します。Enter キーを押します。
- Debug Tool が始動され、Debug Tool ウィンドウが表示されます。プログラムをデバッグできることを確認するために、
有効な Debug Tool コマンドを入力します。
コマンド行に "qq" を入力すると、Debug Tool を停止して Debug Tool ウィンドウをクローズします。
- パネル EQAPFORS で次の戻りコード・メッセージを検査します。
- COBOL プログラムの場合、戻りコード (RC) は 0 です。
- PL/I プログラムの場合、戻りコード (RC) は 1000 です。
- C プログラムの場合、戻りコード (RC) は 0 です。
- アセンブラー・プログラムの場合、戻りコード (RC) は 0 です。
PF3 (Exit) を押します。セットアップ・ファイルに対して行われたすべての変更が保存されます。
- パネル EQAPFOR で PF3 (Exit) を押して、パネル EQA@PRIM に戻ります。
バッチでのプログラムの実行
プログラムをバッチで実行するようにセットアップ・ファイルを変更して実行するには、
以下のステップを行います。
- パネル EQA@PRIM で 0 を選択し、Enter を押します。
- パネル EQAPDEF でジョブ・カード情報を確認します。
必要な変更があれば、それを行います。PF3 (Exit) を押します。
- パネル EQA@PRIM で 2 を選択し、Enter を押します。
- パネル EQAPFOR で、ステップ 2 で選択した言語に応じて、
次のいずれかの選択項目を選択します。
- COBOL プログラムの場合、Project
= prefix、Group= SAMPLE、Type=DTSF、Member
= WSU1 の各フィールド値を使用します。
- PL/I プログラムの場合、Project
= prefix、Group = SAMPLE、Type=DTSF、Member=WSU3 の各フィールド値を使用します。
- C プログラムの場合、Project = prefix、Group= SAMPLE、Type=DTSF、Member=WSU4 の各フィールド値を使用します。
- アセンブラー・プログラムの場合、Project
= prefix、Group= SAMPLE、Type=DTSF、Member=WSU5 の各フィールド値を使用します。
Enter キーを押します。
- 1 ページで始まる
ステップ (フォアグラウンドでのプログラムの実行) を実行した場合、このステップをスキップできます。
パネル EQAPFORS で以下のステップを行います。
- &LOADDS. を、オブジェクト・モジュールのリンク手順を示す
ステップ 5 のロード・データ・セットの名前で置き換えます。
- &EQAPRFX. を EQAW (Debug Tool) ライブラリーの接頭部で置き換えます。
- &CEEPRFX. を CEE (言語環境プログラム) ライブラリーの接頭部で置き換えます。
- CMDS DD 名の横の「Cmd」フィールドに "e" を入力します。
データ・セットの終わりに QUIT ; ステートメントがない場合、
そのステートメントを追加します。PF3 (Exit) を押します。
- コマンド行に submit を入力します。Enter キーを押します。
- パネル ISREDDE2 でコマンド行に submit を入力します。Enter を押します。表示されるジョブ番号を記録します。
- パネル ISREDDE2 で PF3 (Exit) を押します。
- パネル EQAPFORS で PF3 (Exit) を押します。セットアップ・ファイルに対して行われた変更が保存されます。
- パネル EQAPFOR で PF3 (Exit) を押して EQA@PRIM パネルに戻ります。記録したジョブ番号を使用して
ジョブ出力を探します。ゼロの戻りコードと、ジョブ出力の終わりにあるコマンド・ログ出力を検査します。
|
このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)