目次 前 次 PDF


付録B: Simple Appアプリケーション

付録B: Simple Appアプリケーション
この章には次のトピックが含まれます:
はじめに
この章は、Simple Appアプリケーションのリホスティングを順を追って説明することを目的としています。アプリケーションのリホスティングにOracle Tuxedo Application Rehosting Workbench (Tuxedo ART Workbench)を使用する手順に従って説明します。リホスティング・プロジェクトを開始するには、メインフレームにあるソース・コードを取得する必要があります。付録4「Extracting and Transferring Mainframe Components」はこのためのガイドです。ソース・コードとデータは、Oracle Tuxedo Application Rehosting Workbenchのインストール時に、ご使用のマシンにコピーされています。デフォルトでは、…/art_wb12cR1/samples/STFILEORAにあります。リホスティングのプロセスで何か異常が発生した場合や、サンプル・リホスティングを再び実行する場合に、いつでも元に戻れるようにするためのクリーン・コピーとして、Workbenchを使用する前に、このディレクトリを作業領域にコピーしておくことをお薦めします。この練習のために、…/art_wb12cR1/samples/STFILEORAが/labにコピーされていることを前提としています。
Simple Appコンポーネントの説明
ここでは、Simple Appコンポーネントのアーキテクチャおよびオンラインとバッチの処理について説明します。
図0-1 Simple Appコンポーネントのアーキテクチャ
種類別のコンポーネント・リスト
CICS画面
 
CICSプログラム
 
バッチ・プログラム
 
VSAMファイルの初期ロード。このファイルはQSAMファイルからロードされます。
このプログラムは、VSAM顧客ファイルに格納されている顧客のリストを生成します。
このプログラムは、VSAMのメイン顧客ファイルを更新するために使用されるコマンドとデータを含むQSAMファイルにアクセスします。
トランザクション・コード
 
ジョブ
 
このジョブは、VSAM顧客ファイルの削除と定義(DELETEおよびDEFINE)を行うIDCAMSユーティリティを実行します。
このジョブは、IDCAMSユーティリティを実行し、VSAMファイルを読取りとチェックが容易なQSAMに再生成(REPRO)します。
このジョブは、PGMMB00バッチ・プログラムを実行します。これは、新たに定義されたVSAM顧客ファイルに格納されるデータを含むシーケンシャル・ファイルを読み取ります。
このジョブは、VSAMファイルで参照される顧客のレポートを生成するPGMMB01バッチ・プログラムを実行します。
このジョブは、VSAM顧客ファイルの更新に使用されるデータを含むPGMMB02バッチ・プログラムを実行します。
マップの説明
リスト0-1 MAPM000 - Simple Appメイン・メニュー
....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
MAPM000 Simple sample application 07/17/2009
M000
-------------------------------------------------------------------------------
Customer’s identifier: àààààà
PF04 – Customer’s List
PF05 – Add a new customer
PF06 – Modify an existing customer
PF07 – Delete an existing customer
PF08 – Customer’s inquiry
PF03 – Quit application
-------------------------------------------------------------------------------
Info: Type a customer number, select an action and press Enter.
-------------------------------------------------------------------------------
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
リスト0-2 MAPM003 - 顧客リスト
....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
MAPM003 Customers list 07/17/2009
M003
 
-------------------------------------------------------------------------------
Sel ID Last name First name Birth date
-------------------------------------------------------------------------------
 
@ @@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@ @@/@@/@@@@
@ @@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@ @@/@@/@@@@
@ @@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@ @@/@@/@@@@
@ @@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@ @@/@@/@@@@
@ @@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@ @@/@@/@@@@
@ @@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@ @@/@@/@@@@
@ @@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@ @@/@@/@@@@
@ @@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@ @@/@@/@@@@
@ @@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@ @@/@@/@@@@
@ @@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@ @@/@@/@@@@
 
 
-------------------------------------------------------------------------------
-PF7: Page up -PF8: page down -PF3: return to previous menu
-Info: Enter a non blank character and press enter to view customer's data
-------------------------------------------------------------------------------
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
リスト0-3 MAPM001 - 顧客詳細情報
....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
MAPMM01 Customer's detailed information 07/17/2009
M001
 
-------------------------------------------------------------------------------
Customer's identifier: àààààà
-------------------------------------------------------------------------------
-Last name_____: àààààààààààààààààààààààààààààà
-First name____: àààààààààààààààààààà
-Address_______: àààààààààààààààààààààààààààààà
-City__________: àààààààààààààààààààà
-State_________: àà
-Birth date____: àà/àà/àààà
-Email_________: àààààààààààààààààààààààààààààààààààààààà
-Phone number__: àààààààààà
 
-------------------------------------------------------------------------------
-PF03: return to previous screen
-------------------------------------------------------------------------------
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
リスト0-4 MAPM002 - 顧客の保守
....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
MAPM002 Customer's maintenance 07/17/2009
M002
 
-------------------------------------------------------------------------------
Customer's identifier: àààààà Action: @@@@@@
-------------------------------------------------------------------------------
 
-Last name_____: àààààààààààààààààààààààààààààà
-First name____: àààààààààààààààààààà
-Address_______: àààààààààààààààààààààààààààààà
-City__________: àààààààààààààààààààà
-State_________: àà
-Birth date____: àà/àà/àààà
-Email_________: àààààààààààààààààààààààààààààààààààààààà
-Phone number__: àààààààààà
 
-------------------------------------------------------------------------------
-PF11: clear screen
-PF12: confirm action
-PF03: return to previous screen
-------------------------------------------------------------------------------
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
プログラムの説明
CICSプログラムの説明
PGMM000(顧客保守メイン・メニュー)
PGMM000はSimple Sample Applicationの(アクセス用)メイン・メニュー・プログラムです。この画面から、次の機能にアクセスできます。
各機能にアクセスするには特定のファンクション・キーを押します。呼び出した機能が終了すると、このメイン・メニューに戻ります。
制御:
このプログラムは、有効な顧客識別番号が入力されたことをチェックして、照会機能および保守機能にアクセスします。
PGMM001(顧客詳細情報の照会)
このプログラムは、通信領域を介して顧客識別番号を受け取ります。認識した顧客データを表示するために、VSAM顧客ファイルにアクセスします。
制御:
このプログラムではデータは変更できないため、制御は実行されません。
PGMM002(顧客データの保守)
このプログラムを使用して、次のようなVSAM顧客ファイルの保守を行うことができます。
PGMM002はアクション・コードと顧客識別番号(必要な場合)を受け取ります。実行されるアクションが画面に表示されます(CREATEUPDATEまたはDELETE)。
制御:
実行される制御は、行われるアクションによって異なります。
新規顧客を作成するとき、このプログラムでは次のチェックが行われます。
顧客識別番号がnullでなく、数値であり、顧客VSAMファイルでまだ使用されていません。
既存顧客を更新する場合の制御は、顧客の作成と同じですが、変更できない顧客識別番号は除外されます。
顧客削除のリクエストでは制御は実行されません。
PGMMM03 (顧客リスト)
このプログラムは、VSAMファイルに格納されている顧客のリストを生成します。各画面に表示される顧客数は限定されますが、[PF7]キーと[PF8]キーを使用すると前後のページにアクセスできます。顧客行の先頭に空白以外の文字を入力すると、その顧客の詳細情報画面にアクセスできます(プログラムPGMM001に関する項を参照)。
バッチ・プログラムの説明
PGMMB00 (VSAMファイルの初期ロード)
このバッチ・プログラムは、VSAMファイルに格納されるデータを含むシーケンシャル・ファイルを読み取ります。エントリ・ファイルのレコードごとに、VSAMレコードが作成されます。このプログラムを実行する前に、VSAMファイルを削除および定義しておく必要があります。エントリ・ファイル内のデータはすべて有効であるとみなされるため、このプログラム内では制御は実行されません。
PGMMB01 (顧客レポート)
PGMMB01は、VSAMファイルからすべての顧客レコードを読み取り、レポートを生成します。生成されるレポートの例はこのドキュメントで示します。
PGMMB02(バッチ顧客保守プログラム)
入力シーケンシャル・ファイルの各レコードには3文字のアクション・コード(ADDUPDまたはDEL)と、新規顧客の作成または既存顧客の更新時に必要な顧客データが含まれます。各入力行によってVSAM顧客ファイルが更新されます。シーケンシャル・ファイル内の顧客データは有効であるとみなされ、PGMMB02バッチ・プログラムでは制御は実行されません。
Oracle Tuxedo Application Rehosting Workbenchを使用したSimple Appのリホスティング
プロジェクトの作成
Tuxedo ART Workbenchプラグインは、Eclipseに対するアドインで、Oracle Tuxedo Application Rehosting Workbenchの他のコンポーネントとともにインストールされています。Workbenchは、デスクトップにあるTuxedo ART Eclipse IDEアイコンをクリックすることで起動します。
「Tuxedo ART WorkbenchとRuntime」パースペクティブでない場合、手動で切り替えることができます。ウィンドウ→パースペクティブを開く→「その他」をクリックし、ART WorkbenchとRuntimeを選択してから「OK」をクリックします。
新規のARTプロジェクトを作成するには、「ファイル」→「新規」→「プロジェクト」をクリックし、ART→Tuxedo ARTプロジェクトをリストで選択してから、「次」をクリックします。
「ARTプロジェクトの作成」画面でプロジェクト名を入力し、「デフォルトの場所を使用」を選択したままにするか、選択を解除し、Workbenchでそのプロジェクトのために使用する作業領域の場所を入力してから「次」をクリックします。
次の画面で、すでに表示されているデフォルトと異なる場合は、Workbenchインストール・ディレクトリを入力し、「次」をクリックします。
次の画面では、アプリケーション・ソース・フォルダの場所を入力します。これは、提供されたアプリケーション・ソースとデータを前述の「はじめに」の概説に従ってコピーした場所です。「参照」ボタンを使用して、ソース・ディレクトリを見つけることができます。sourceディレクトリをこの場所に追加して、実際のソース・ファイルがある場所を示し、「次」をクリックします。
次の画面で、ターゲット・データベース・タイプと「COBOLコンパイラ・タイプ」が表示されます。これらは必要に応じて変更できますが、ここではデフォルト値を使用します。「終了」をクリックして続行します。
「終了」をクリックすると、ARTプロジェクト・ウィザードで新規プロジェクトが作成され、指定した作業領域にデータが移入されます。Workbenchでは、追加の作業ディレクトリも作成され、パラメータ・ファイルとスクリプトが移入されます。作業領域の構造を次に示します。
図B-1 作業領域の構造
 
 
プロジェクト作成フェーズは、これで完了しました。
インポート
インポート・フェーズでは、ソース・ファイルがプロジェクトにコピーされます。次に示すように、プロジェクト作成中に指定したディレクトリのすべてのサブディレクトリが表に表示されます。
図B-2 インポート・ウィザード
それらのすべてを選択してから「終了」をクリックします。選択したすべてのサブディレクトリがプロジェクトにインポートされます。
準備
準備フェーズでは、Workbenchの他のコンポーネントでさらに処理を進めるためにソースを準備します。異なるメインフレームのソースが様々な方法で収集されている可能性があるため、準備プロセスでは、使用するソースのために適切な処理を選択できるようになっています。準備プロセスの終了後、正しくない部分がまだあることに気付いた場合、ART→「リセット」→「準備の消去」を実行して(後で説明)、準備フェーズの出力を削除し、異なるオプションでもう一度準備を実行できます。
準備フェーズを実行するには、メニュー・バーからART→「準備…」をクリックします。
準備ページが表示されます。この画面では、必要に応じて、MBCSコード・ページの変換を選択できます。MBCSの詳細は、付録3「Tuxedo ART Workbench MBCS Support」を参照してください。メインフレームからのファイルの転送中に、<CR>文字が各行の末尾の前に挿入されている場合、dos2unixの変換を選択して、これらを削除できます。
これは通常、ソース・ファイルをWindowsマシンに転送するときに行います。「ソース・ファイル名を大文字に変更」を選択すると、すべてのソース・ファイル名のベース名が大文字に変更されます。このアプリケーションではこの準備は不要なため、「終了」をクリックして完了します。
図B-3 準備ウィザード
分析
分析フェーズでは、すべてのソースを読み取り、欠けているコンポーネントおよび依存関係を検索し、この後の移行ステップで使用されるソースの抽象表現を作成します。コンポーネント・タイプごとにレポートが生成され、移行フェーズの実行前に対応が必要な領域がハイライトされます。
分析フェーズを実行する前に、アプリケーションに必要なデータ移行を定義する必要があります。これを実行するには、「STFILEORA」を右クリックしてから「プロパティ」をクリックし、STFILEORAのプロパティ・ページに移動します。ファイル・コンバータをクリックし、次のように下の表を完成させます(表のすべてのフィールドを表示するには、左にスクロールする必要があります)。
「Simple Appの機能」の項の「データの説明」で説明しているように、Simple APPアプリケーションには、2つのファイルが含まれています。名前は次のとおりです
QS-ODCSF0-RECORDQS-ODCSFU-RECORDはそれぞれ、COPYBOOKで指定されたレコード名です。
ODCSF0ODCSFUはそれぞれ、Tuxedo ART Workbenchで内部的に使用される論理名です。
PJ01AAA.S2.QSAM.CUSTOMERの編成は索引付きです。PJ01AAA.S2.QSAM.CUSTOMER.UPDATE編成は順次です。PJ01AAA.S2.QSAM.CUSTOMERのキー・オフセットとキー長は、それぞれ0と6です。PJ01AAA.S2.QSAM.CUSTOMER.UPDATEはQSAMファイルなので、キーはありません。
変換済プロパティは、Oracle表に移行する場合は「True」、ファイルとして残す場合は「False」です。
転送済プロパティは、メインフレームからオープン・システムに転送する必要のあるデータを含む永続ファイルであることを意味します。「True」に設定されている場合、WorkbenchではアンロードJCL、EBCDICからASCIIへのトランスコーディング・プログラムおよび再ロード・スクリプトが生成されます。
これらのファイルのレコード構造は、2つのCOBOLコピーブックで定義されており、「含む」フィールドに入力されます。
これらのプロパティを入力したら、「適用」をクリックします。STFILEORAのプロパティは次のような状態になります。
図B-4 プロパティ・ページ
ファイル・コンバータで使用されるデータマップ・ファイルおよびマッパー・ファイルを生成するには、表内のすべての情報が必要です。
表内の各列の意味を明確にするには、Oracle Tuxedo Application Rehosting Workbenchリファレンス・ガイドのデータマップ・ファイルおよびマッパー・ファイルに関する項を参照してください。
カタログを実行する前に、スコープを構成する必要があります。
ART→「分析」→「スコープの構成」をクリックすると、すべてのソース・ファイルが正常に認識され、それらのすべてがデフォルトで処理されます。
COBOLプログラムのライブラリ・パスを構成します。「BATCH」を選択して、サブディレクトリの詳細設定: BATCH→ライブラリ・タブフォルダ→「新規」をクリックしてライブラリを追加し、これを「COPY」に変更します。前述の手順と同様に、「CICS」サブディレクトリのライブラリとして「COPY」を設定します。
図B-5  
分析フェーズを実行するには、メニュー・バーからART→「分析」→「カタログ」をクリックします。
カタログ・プロセスが完了したら、次に示すようにレポート・ウィンドウでコンソール・ログと生成されたレポートを確認します。…/workspace/STFILEORA/ReportsディレクトリにはCSV形式のレポートもあります。
図B-6 レポート表示
カタロガの再実行が必要な場合、生成されたPOBファイルを削除する必要があります。これは、メニュー・バーからART→分析→POBリポジトリの消去をクリックして実行できます。
変換
このフェーズでは、COBOLプログラムとその他のソース・アーティファクトが変換され、コンパイルと実行の準備が整います。ここでは、カタログ・フェーズで作成された抽象表現が使用されます。ここでは、メインフレームでデータをアンロードするためのJCLデックや、リホスティング・プロセスの追加の手順で使用する様々なスクリプトも作成されます。個々のタイプのコンポーネントを変換することも、すべてのコンポーネントを一度に変換することもできます。移行フェーズを実行するには、メニュー・バーから、ART→変換→コンポーネントの変換をクリックして、変換するコンポーネントを必要に応じて選択します。
変換プロセスは、ソース・ディレクトリでさらにファイルが追加されたり変更されると、それに応じて追加的に実行されます。ただし、変換フェーズを再実行する必要がある場合、メニュー・バーからART→変換→ターゲットの消去をクリックすると、作成されたターゲット・ファイルはすべて削除できます。
構成
構成フェーズでは、Oracle Tuxedo Application Runtime for CICS and Batchのコンポーネントと構成ファイルをコンパイルするためのmakefileを作成する機能が提供されます。Tuxedo、CICSおよびBatchの構成を別々に作成するオプションが用意されています。次のウィザードに示すように、構成フェーズを実行するには、メニュー・バーからART→「構成」をクリックします。
図B-7 構成ウィザード
構成ウィザードを使用して、必要な構成ファイルを作成します。たとえば、リホストされるアプリケーションの構築に最終的に使用されるmakefile、移行フェーズで作成されるデータ移行ユーティリティ、および環境を設定するファイルなどです。
「データベース」タブを使用すると、ターゲット・データベースを指定できます。また、コンパイラ・タブでは、COBOLコンパイラ・オプションとPDKSHの場所を指定でき、「その他」タブでは、ART CICSプリコンパイラおよびART CICS mapgen構成を指定できます。MBCS変換もここで構成できます。
「Tuxedo」、「CICS」、「バッチ」、「IMS」の各タブでは、デフォルトの構成を選択することも、自分の環境に合うようにカスタマイズすることもできます。
詳細は、Oracle Tuxedo Domain/CICS Runtime/Batch Runtimeのドキュメントを参照してください。
ビルド
このフェーズでは、アプリケーション・コンポーネントやデータ再ロード・プログラムなどをコンパイルします。ビルド・フェーズを実行するには、メニュー・バーからART→ビルドをクリックして、ビルド・オプションを1つ以上選択します。個々のタイプのコンポーネントを変換することも、すべてのコンポーネントを一度に変換することもできます。
デプロイ
デプロイ・フェーズでは、これまでの手順で作成されたすべてのプログラム、スクリプト、JCLおよび構成ファイルのtarファイルを作成し、デプロイの準備を整えます。ローカル・デプロイを選択して、Workbenchがすでに実行されているマシンで、リホストされたアプリケーションをコンパイルし、実行することもできます。またデプロイ・フェーズでは、データをファイルまたはデータベースに再ロードします。異なるマシンへのデプロイには、手動による介入が必要になりますが、これについてはこの項では説明していません。デプロイ・フェーズを実行するには、メニュー・バーからART→「デプロイ」をクリックして、デプロイ・オプションの1つを選択します。
ART→「デプロイ」→パックおよびデプロイ→パックをクリックすると、4つのtarファイルが生成され、これらはprojectの下にあるpackディレクトリに格納されます。
「アプリケーションのデプロイ」によって、tarファイルがデプロイ・ディレクトリに解凍されます。
ART→「デプロイ」→ランタイムの設定をクリックし、BATCH、CICSおよびIMSのランタイム環境を設定します。
ART→「デプロイ」→ファイル・データの再ロードをクリックし、ウィザードを起動します。データソースの場所(たとえば、/home/artuser/oracle/art_wb12110/samples/STFILEORA/data_source)を選択してから、表のデータソース・ファイル列をクリックすると、フロント・パスにあるすべてのファイルがリストされるので、一致するものを選択します。次に示すように、デプロイ場所を選択してから、「終了」をクリックします。
図B-8 ファイル・データの再ロード
実行
ART→Batch Runtime→「起動」をクリックし、Batch Runtimeを起動します。ジョブを操作するには、さらにART→Batch Runtime→ジョブの操作をクリックします。
ART→CICS Runtime→「起動」をクリックし、CICS Runtimeを起動します。3270ターミナルを開き、CICS Runtimeに接続して、トランザクションを起動できます。
ART→IMS Runtime→「起動」をクリックし、IMS Runtimeを起動します。3270ターミナルを開き、IMS Runtimeに接続して、トランザクションを起動できます。
Simple Appの機能
バッチ処理
バッチ・プログラムおよびユーティリティを使用して、アプリケーションで管理するデータを提供するVSAM顧客ファイルのデータ移入、更新およびリスト作成を行います。このアプリケーションでは5つのジョブが実行されます。ここでは、ジョブの使用方法について説明します。
VSAM顧客ファイルの初期ロード
1.
ステップ1: VSAMファイルの定義
最初に、DELETE/DEFINEコマンドを使用してIDCAMSユーティリティでVSAM顧客ファイルを定義します。
2.
ステップ2: VSAMファイルの初期ロード
バッチ・プログラムPGMMB00を使用してVSAMファイルにデータを移入します。
3.
ステップ3: VSAMファイルのチェック
IDCAMSを使用して、z/OS環境で容易に読取り可能なシーケンシャル・ファイルをVSAMファイルから再生成(REPRO)します。
4.
ステップ4: VSAMファイルのレポート
バッチ・プログラムPGMMB01は、VSAM顧客ファイルに格納されている顧客のリストを生成します。
図0-2 VSAM顧客ファイルの初期ロード
 
VSAM顧客ファイルの更新
1.
ステップ1: VSAMファイルの更新
バッチ・プログラムPGMMB02は、VSAM顧客ファイルに対して実行する更新を含むシーケンシャル・ファイルを読み取ります。入力ファイルは、IBM標準ソート・ユーティリティによってソートされます。
2.
ステップ2: VSAMファイルのレポート
バッチ・プログラムPGMMB02を再び使用して、更新がVSAM顧客ファイルに正しく適用されたことをチェックします。
図0-3 VSAMファイルの更新
データの説明
Simple Sample Applicationは、VSAMメイン顧客ファイル1つのみを利用します。移行プロセスをできるだけ単純にするために、データは表示可能な形式で格納されています(COBOL構文の場合、Xと9のUSAGE DISPLAY pictureが使用されます)。
VSAM顧客ファイルには、次の情報が含まれます。
 
このVSAMファイルは、顧客識別番号に基づいたキー順データ・セット(KSDS)です。各レコードには266文字が含まれ、キーは位置1 - 6に格納されています。
VSAM顧客ファイルのCOBOLでの指定
リスト0-5 VSAM顧客ファイルのCOBOL記述
01 ODCSF0-RECORD.
05 CUSTIDENT PIC 9(006).
05 CUSTLNAME PIC X(030).
05 CUSTFNAME PIC X(020).
05 CUSTADDRS PIC X(030).
05 CUSTCITY PIC X(020).
05 CUSTSTATE PIC X(002).
05 CUSTBDATE PIC 9(008).
05 CUSTBDATE-G REDEFINES CUSTBDATE.
10 CUSTBDATE-CC PIC 9(002).
10 CUSTBDATE-YY PIC 9(002).
10 CUSTBDATE-MM PIC 9(002).
10 CUSTBDATE-DD PIC 9(002).
05 CUSTEMAIL PIC X(040).
05 CUSTPHONE PIC 9(010).
05 FILLER PIC X(100).
 
レポート・レイアウト
次のレポートがプログラムPGMMB01によって生成され、初期ロード後のVSAMファイル(METAW00.VSAM.CUSTOMER)に含まれる顧客がリストされます。
リスト0-6 Simple Appの初期レポート
PGMMB01 Simple Sample Application 07/16/2009
 
_ ID _ _ LAST NAME _ _ FIRST NAME _ _ CITY _ _ PHONE _ _B. DATE _
------ ----------------------------------- -------------------- ---------- ----------
1 Richardson Bobby New Orleans 5553557901 09/07/1961
2 Roberts Sammy San Francisco 5559827383 01/24/1973
3 Douglas Burt Atlanta 5556531100 10/12/1981
4 Ewing Samantha New York 5558762763 07/27/1962
5 Prince Anne Fresno 5553410156 12/25/1991
 
PGMMB01 Simple Sample Application 07/16/2009
 
_ ID _ _ LAST NAME _ _ FIRST NAME _ _ CITY _ _ PHONE _ _B. DATE _
------ ------------------------------ -------------------- -------------------- -------
6 Colombus Christopher Colombus 5557811021 07/27/1962
7 Raul Menedez Fresno 5558981572 07/27/1962
8 Doors Bill Seattle 5553122000 01/01/1958
9 Awing Charles San antonio 5559990123 06/29/1929
 
 
次のレポートは、更新された顧客ファイルに基づくものです。
リスト0-7 Simple Appの更新された顧客ファイル・レポート
PGMMB01 Simple Sample Application 07/16/2009
 
_ ID _ _ LAST NAME _ _ FIRST NAME _ _ CITY _ _ PHONE _ _B. DATE _
------ ----------------------------------- -------------------- ---------- ----------
1 Richardson Bobby New Orleans 5553557901 09/07/1961
2 Roberts Sammy Jr San Francisco 5559827383 01/24/1973
3 Douglas Burt Atlanta 5556531100 10/12/1981
4 Ewing Samantha New York 5558762763 07/27/1962
5 Prince Anne Fresno 5553410156 12/25/1991
_ ID _ _ LAST NAME _ _ FIRST NAME _ _ CITY _ _ PHONE _ _B. DATE _
------ ----------------------------------- -------------------- ---------- ----------
6 Colombus Christopher Colombus 5557811021 07/27/1950
8 Doors Bill Seattle 5553122000 01/01/1958
9 Awing Charles San antonio 5559990123 06/29/1929
10 Simms Arthur New Orleans 5551298373 01/17/1969
11 LaFayette Eric Plesanton 5554653213 02/12/1995
12 Jackson Mic Fresno 5559800727 01/01/1959
 
Simple Appアプリケーションの使用
ここでは、Simple Appアプリケーションの使用方法を説明するために、アプリケーションの使用例を示します。
顧客レコードの表示
1.
CICS環境にアクセスし、Simple Appのメイン・トランザクション・コードM000を入力してアプリケーションに接続します。
2.
メイン・メニューが表示されます。「顧客ID」フィールドに000003と入力し、[PF08]キーを押して顧客を照会します。
3.
顧客レコードの更新
1.
メイン・メニューで、顧客IDフィールドに000003と入力して[PF06]キーを押し、顧客情報を更新します。
2.
更新画面ではすべてのデータを変更できます。画面ヘッダーにアクション更新が表示されます。顧客の住所を変更して、[Enter]を押します。
3.
[PF12]を押して更新を確認します。画面のフッター部分に保守完了というメッセージが表示されます。入力内容を取り消すには、[PF03]を押してメイン・メニューに戻ります。
顧客レポートの印刷
1.
メイン・メニューで[PF04]を押して、顧客リストの最初のページにアクセスします。
2.
注意:
新規顧客の追加
1.
メイン・メニューで[PF05]を押すと、次の画面が表示されます。
画面ヘッダーのアクションが作成に設定され、フィールドの保護が解除されます。
2.
プログラムがレコードを検証します。エラーが見つからなければ、確認メッセージが表示されます。
3.
新規顧客が追加されたというメッセージが表示されます。
4.
Simple AppのAPI
ここでは、Simple Appアプリケーション・プログラムで使用されるCICS APIについて説明します。
MAP API
SEND
EXEC CICS
SEND MAP('MAPM000') MAPSET('MAPM000') ERASE
END-EXEC.
EXEC CICS
SEND MAP('MAPM000') MAPSET('MAPM000') CURSOR ERASE
END-EXEC.
EXEC CICS
SEND MAP('MAPM001') MAPSET('MAPM001') FROM(MAPM001O) ERASE
END-EXEC.
RECEIVE
EXEC CICS
RECEIVE MAP('MAPM000') MAPSET('MAPM000')
END-EXEC.
EXEC CICS
RECEIVE MAP('ORDMAP1') MAPSET('ORDSET1') INTO(ORDMAP1)
END-EXEC.
NAVIGATION API
RETURN
EXEC CICS
RETURN
END-EXEC.
EXEC CICS
RETURN TRANSID('M000') COMMAREA(COMM-RECORD)
LENGTH(LENGTH OF COMM-RECORD)
END-EXEC.
XCTL
EXEC CICS
XCTL PROGRAM(PGM-DEST) COMMAREA(COMM-RECORD)
LENGTH(LENGTH OF COMM-RECORD)
END-EXEC.
ABEND
EXEC CICS
ABEND ABCODE('META')
END-EXEC.
VSAM API
STARTBR
EXEC CICS STARTBR DATASET ('ODCSF0')
RIDFILD (CUST-FILE-KEY)
EQUAL
RESP (RESPONSE-CODE)
END-EXEC.
EXEC CICS STARTBR DATASET ('ODCSF0')
RIDFILD (CUST-FILE-KEY)
GTEQ
RESP (RESPONSE-CODE)
END-EXEC.
READ
EXEC CICS
READ FILE('ODCSF0')
INTO(VS-ODCSF0-RECORD)
RIDFLD(CUST-FILE-KEY)
LENGTH(LENGTH OF VS-ODCSF0-RECORD)
EQUAL
RESP(RESPONSE-CODE)
END-EXEC.
EXEC CICS READ DATASET ('ODCSF0')
INTO (READ-ODCSF0-RECORD)
LENGTH (LENGTH OF READ-ODCSF0-RECORD)
RIDFLD (CUST-FILE-KEY)
EQUAL
UPDATE
RESP (RESPONSE-CODE)
END-EXEC.
WRITE
EXEC CICS WRITE DATASET ('ODCSF0')
FROM (MAJ-ODCSF0-RECORD)
LENGTH (LENGTH OF MAJ-ODCSF0-RECORD)
RIDFLD (MAJ-CUSTIDENT)
KEYLENGTH (6)
RESP (RESPONSE-CODE)
END-EXEC.
REWRITE
EXEC CICS REWRITE DATASET ('ODCSF0')
FROM (READ-ODCSF0-RECORD)
LENGTH (LENGTH OF READ-ODCSF0-RECORD)
RESP (RESPONSE-CODE)
END-EXEC.
READNEXT
EXEC CICS READNEXT DATASET ('ODCSF0')
INTO (CLT-ODCSF0-RECORD)
LENGTH (LENGTH OF CLT-ODCSF0-RECORD)
RIDFLD (CUST-FILE-KEY)
RESP (RESPONSE-CODE)
END-EXEC.
READPREV
EXEC CICS READPREV DATASET ('ODCSF0')
INTO (CLT-ODCSF0-RECORD)
LENGTH (LENGTH OF CLT-ODCSF0-RECORD)
RIDFLD (CUST-FILE-KEY)
RESP (RESPONSE-CODE)
END-EXEC.
ENDBR
EXEC CICS ENDBR DATASET ('ODCSF0')
END-EXEC.
DELETE
EXEC CICS DELETE FILE ('ODCSF0')
RIDFLD (CUST-FILE-KEY)
RESP (RESPONSE-CODE)
END-EXEC.
MISCELLEANOUS API
TIME
EXEC CICS
ASKTIME ABSTIME(ABS-TIME)
END-EXEC.
EXEC CICS
FORMATTIME ABSTIME(ABS-TIME)
DDMMYY(VDATEO) DATESEP('-')
END-EXEC.
HANDLE CONDITION
EXEC CICS
IGNORE CONDITION MAPFAIL
END-EXEC.
EXEC CICS
HANDLE CONDITION PGMIDERR(PGM-NOTFOUND)
END-EXEC.
Simple Appの参照ドキュメント
CICS APIの詳細は次のアドレスを参照してください。
http://publib.boulder.ibm.com/infocenter/cicsts/v3r1/index.jsp?topic=/com.ibm.cics.ts31.doc/dfhp4/topics/dfhp4_commands.htm
CICS APIの詳細
次のCICS APIがSimple Appアプリケーションで使用されています。
 
ファイル(VSAM KSDS、VSAM RRDS、データ表のみ)からレコードを削除します。
このドキュメントは、『CICS Transaction Server for z/OS Application Programming Reference』に基づいています

Copyright ©1994, 2017,Oracle and/or its affiliates. All rights reserved