このレッスンでは、USERID.FRIENDZ データベース・テーブルのデータにアクセスするサンプル COBOL アプリケーションを作成する方法について説明します。
COBOL アプリケーションを作成するには、以下のようにして、USERID.FRIENDZ テーブル用の DCLGEN コピー・ライブラリーを作成する必要があります。
- 「z/OS® プロジェクト」ビューで、MVS サブプロジェクト (このチュートリアルの最初に作成) を選択し、ポップアップ・メニューから「新規」>「PDS の割り振り」を選択します。
- 新規データ・セットに USERID.RDZDB2.JCL という名前を付け、「完了 (Finish)」をクリックします。 新規データ・セットが、MVS サブプロジェクト名の下に表示されます。
- このデータ・セットに、RDZDCLS という名前のメンバーを追加します。
- USERID.RDZDB2.JCL の割り振りに使用したのと同じメソッドを使用して、USERID.COBOL.COPYLIB というデータ・セットを割り振ります。
USERID.COBOL.COPYLIB の適切なデータ・セット属性は、「カテゴリー: SOURCE」および「タイプ: COBOL」を選択することによって適用されます。
- メンバー名 RDZDCLS をダブルクリックし、それを System z® LPEX エディターで開きます。
- 以下の JCL セグメントをコピーし、編集セッションに貼り付けます。
//***********************************
//DCLGEN EXEC PGM=IKJEFT01
//SYSPRINT DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD *
DSN SYSTEM(DB2SUBSYSTEMNAME)
DCLGEN TABLE (USERID.FRIENDZ) LIBRARY ('USERID.COBOL.COPYLIB(RDZDCLS)') -
LANGUAGE (COBOL) STRUCTURE (FRIENDZRECORD) APOST
/*
- この JCL セグメントを使用するために、独自の JOB カードにこの JCL セグメントを付加します。この JOB カードの直後に、DB2® データ・セットを指すために JOBLIB カードが必要になる場合があります。JCL セグメント内の USERID を高位修飾子で置き換える必要があります。DB2SUBSYSTEMNAME を、ご使用の DB2 サブシステム名で置き換える必要があります。
- JCL ストリームを実行依頼するために、ポップアップ・メニューで「実行依頼」をクリックします。 コピー・メンバー USERID.COBOL.COPYLIB(RDZDCLS) が作成されます。データ・セット USERID.COBOL.COPYLIB. のリフレッシュ後、このコピー・メンバーは「z/OS プロジェクト」ビューで見つかります。
- 編集セッションでこのコピー・メンバーを開き、その宣言についてよく理解しておきます。
- メンバー RDZDB2 を持つ userID.RDZDB2.COBOL という名前の区分データ・セットを割り振り、以下の COBOL プログラムをコピーしてそのメンバーに貼り付けるか、この COBOL プログラムをメンバーに再入力します。 このプログラムは、FRIENDZ テーブルから値を取得します。
IDENTIFICATION DIVISION.
PROGRAM-ID. RDZDB2.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 TEMP PIC X(6).
01 TEMP2 PIC X(6).
EXEC SQL INCLUDE SQLDA END-EXEC.
EXEC SQL INCLUDE SQLCA END-EXEC.
COPY RDZDCLS.
LINKAGE SECTION.
PROCEDURE DIVISION.
* EXEC SQL CONNECT TO STPLEX4A_DSN7 END-EXEC.
MOVE 'TYRONE ' TO FNAME.
EXEC SQL
SELECT FNAME, LNAME, PHONE, EMAIL
INTO :FNAME,
:LNAME,
:PHONE,
:EMAIL
FROM RDZSCHE.FRIENDZ
WHERE FNAME = :FNAME
END-EXEC.
DISPLAY "FIRSTNAME:".
DISPLAY FNAME.
DISPLAY "LASTNAME:".
DISPLAY LNAME.
DISPLAY "PHONE:".
DISPLAY PHONE.
DISPLAY "EMAIL:".
DISPLAY EMAIL.
GOBACK.