|
この章は、Simple Appアプリケーションのリホスティングを順を追って説明することを目的としています。アプリケーションのリホスティングにOracle Tuxedo Application Rehosting Workbench (Tuxedo ART Workbench)を使用する手順を順を追って説明します。リホスティング・プロジェクトを開始するには、メインフレームにあるソース・コードを取得する必要があります。付録4のメインフレーム・コンポーネントの抽出および転送は、これを実現するためのガイドです。ソース・コードとデータは、Oracle Tuxedo Application Rehosting Workbenchのインストール時に、ご使用のマシンにコピーされています。デフォルトでは、…/art_wb12cR1/samples/STFILEORAにあります。リホスティングのプロセスで何か異常が発生した場合や、サンプル・リホスティングを再び実行する場合に、いつでも元に戻れるようにクリーン・コピーを用意しておくために、Workbenchを使用する前に、このディレクトリを作業領域にコピーすることをお薦めします。この練習のために、…/art_wb12cR1/samples/STFILEORAが/labにコピーされていると仮定します。
ここでは、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.
-------------------------------------------------------------------------------
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
....+....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
-------------------------------------------------------------------------------
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
....+....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
-------------------------------------------------------------------------------
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
....+....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
-------------------------------------------------------------------------------
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
PGMM000はSimple Sample Applicationの(アクセス用)メイン・メニュー・プログラムです。次の機能にアクセスできます。
各機能にアクセスするには特定のファンクション・キーを押します。呼び出した機能が終了すると、メイン・メニューに戻ります。
このプログラムは、有効な顧客識別番号が入力されたことをチェックして、照会機能および保守機能にアクセスします。
このプログラムは、通信領域を介して顧客識別番号を受け取ります。認識した顧客データを表示するために、VSAM顧客ファイルにアクセスします。
このプログラムではデータは変更できないため、制御は実行されません。
このプログラムを使用して、次のようなVSAM顧客ファイルの保守を行うことができます。
PGMM002はアクション・コードと顧客識別番号(必要な場合)を受け取ります。実行されるアクションが画面に表示されます(CREATE、UPDATEまたはDELETE)。
新規顧客を作成するとき、このプログラムでは次のチェックが行われます。
既存顧客を更新する場合の制御は、顧客の作成と同じですが、変更できない顧客識別番号は除外されます。
このプログラムは、VSAMファイルに格納されている顧客リストを生成します。各画面に表示される顧客数は限定されますが、[PF7]キーと[PF8]キーを使用すると前後のページにアクセスできます。顧客行の先頭に空白以外の文字を入力すると、その顧客の詳細情報画面にアクセスできます(プログラムPGMM001に関する項を参照)。
このバッチ・プログラムは、VSAMファイルに格納されるデータを含むシーケンシャル・ファイルを読み取ります。エントリ・ファイルのレコードごとに、VSAMレコードが作成されます。このプログラムを実行する前に、VSAMファイルを削除および定義しておく必要があります。エントリ・ファイル内のデータはすべて有効であるとみなされるため、このプログラム内では制御は実行されません。
PGMMB01は、VSAMファイルからすべての顧客レコードを読み取り、レポートを生成します。生成されるレポートの例はこのドキュメントで示します。
入力シーケンシャル・ファイルの各レコードには3文字のアクション・コード(ADD、UPDまたはDEL)と、新規顧客の作成または既存顧客の更新時に必要な顧客データが含まれます。各入力行によってVSAM顧客ファイルが更新されます。シーケンシャル・ファイル内の顧客データは有効であるとみなされ、PGMMB02バッチ・プログラムでは制御は実行されません。
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では、追加の作業ディレクトリも作成され、パラメータ・ファイルとスクリプトが移入されます。作業領域の構造は次に示すとおりです。

インポート・フェーズでは、ソース・ファイルをプロジェクトにコピーします。プロジェクト作成中に指定したディレクトリのサブディレクトリがすべて、次に示す表に記載されています。

それらのすべてを選択してから「終了」をクリックします。すべての選択サブディレクトリがプロジェクトにインポートされます。
準備フェーズでは、Workbenchの他のコンポーネントによってさらに処理を進めるためにソースを準備します。異なるメインフレームのソースが様々な方法で収集されている可能性があるため、準備プロセスにより、使用するソースのために適切な処理を選択できます。準備プロセスの終了後、まだ何かが正しくないことに気付いた場合、ART→「リセット」→「準備の消去」を実行して(後で説明)、準備フェーズの出力を削除し、異なるオプションでもう一度準備を実行できます。
準備フェーズを実行するには、メニュー・バーからART→「準備…」をクリックします。
準備ページが表示されます。この画面では、必要に応じて、MBCSコード・ページの変換を選択できます。MBCSの詳細は、付録3のTuxedo ART Workbench MBCSサポートを参照してください。メインフレームからのファイルの転送中に、<CR>文字が各行の末尾の前に挿入されている場合、dos2unixの変換を選択して、これらを削除できます。
これは通常、ソース・ファイルがWindowsマシンに転送されるときに発生します。「ソース・ファイル名を大文字に変更」を選択し、すべてのソース・ファイル名のベース名を大文字に変更します。このアプリケーションにはこの準備は不要であるため、「終了」をクリックして完了します。

分析フェーズでは、すべてのソースを読み取り、欠けているコンポーネントおよび依存関係を検索し、この後の移行ステップで使用されるソースの抽象表現を作成します。移行フェーズを実行する前に対応すべき領域をハイライト表示して、コンポーネント・タイプごとにレポートが生成されます。
分析フェーズを実行する前に、アプリケーションに必要なデータ移行を定義する必要があります。これを実行するには、「STFILEORA」を右クリックしてから「プロパティ」をクリックして、「STFILEORAのプロパティ」ページに移動します。ファイル・コンバータをクリックし、次のように下の表の必要項目に記入します(表のすべてのフィールドを表示するには、左にスクロールする必要があります)。
「Simple Appの機能」の項の「データの説明」で説明しているように、Simple APPアプリケーションには、2つのファイルが含まれています。名前は次のとおりです。
QS-ODCSF0-RECORDとQS-ODCSFU-RECORDはそれぞれ、COPYBOOKで指定されたレコード名です。
ODCSF0とODCSFUはそれぞれ、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のプロパティ」のステータスが下に表示されます。

ファイル・コンバータで使用されるデータマップ・ファイルおよびマッパー・ファイルを生成するには、表内のすべての情報が必要です。
表内の各列の意味を明確にするには、Oracle Tuxedo Application Rehosting Workbenchリファレンス・ガイドのデータマップ・ファイルおよびマッパー・ファイルに関する項を参照してください。
ART→「分析」→「スコープの構成」をクリックすると、すべてのソース・ファイルが正常に認識され、それらのすべてがデフォルトで処理されます。
COBOLプログラムのライブラリ・パスを構成します。「BATCH」を選択して、サブディレクトリの詳細設定: BATCH→「ライブラリ」タブフォルダ→「新規」をクリックし、ライブラリを追加し、「コピー」に変更します。前述の手順と同様に、CICSサブディレクトリの「ライブラリ」として「コピー」を設定します。

分析フェーズを実行するには、メニュー・バーからART→「分析」→「カタログ」をクリックします。
カタログ・プロセスが完了したら、次に示すように「レポート」ウィンドウでコンソール・ログと生成されたレポートを確認します。レポートは、…/workspace/STFILEORA/ReportsディレクトリでCSV形式でも入手できます。

カタロガの再実行が必要な場合、生成されたPOBファイルを削除する必要があります。これは、メニュー・バーからART→「分析」>POBリポジトリの消去をクリックすれば実行できます。
このフェーズでは、COBOLプログラムとその他のソース・アーティファクトが変換され、コンパイルと実行の準備ができます。ここでは、カタログ・フェーズで作成された抽象表現が使用されます。ここでは、メインフレームでデータをアンロードするためのJCLデックや、リホスティング・プロセスでのこの後の手順用の様々なスクリプトも作成されます。個々のタイプのコンポーネントを変換することも、すべてのコンポーネントを一度に変換することもできます。移行フェーズを実行するには、メニュー・バーから、ART→変換→「コンポーネントの変換」をクリックして、変換するコンポーネントを必要に応じて選択します。
変換プロセスは、ソース・ディレクトリで追加ファイルが追加されたり、変更されたりすると、それに応じて追加的に実行されます。ただし、変換フェーズを再実行する必要がある場合、メニュー・バーからART→「変換」→「ターゲットの消去」をクリックすれば、作成されたターゲット・ファイルはすべて削除できます。
構成フェーズでは、Oracle Tuxedo Application Runtime for CICS and Batchのコンポーネントと構成ファイルをコンパイルするためのmakefileを作成する機能を実現します。Tuxedo、CICSおよびBatchの構成を別々に作成するオプションが用意されています。構成フェーズを実行するには、次のウィザードに示すように、メニュー・バーから、ART→「構成」をクリックします。

構成ウィザードを使用して、必要な構成ファイルを作成します。たとえば、リホストされるアプリケーションのビルドに最終的に使用される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)を選択してから、データソース・ファイル列を表でクリックすると、フロント・パスにあるすべてのファイルがリストされるので、一致するものを選択します。次に示すように、デプロイ場所を選択してから、「終了」をクリックします。

ART→Batch Runtime→「起動」をクリックし、Batch Runtimeを起動します。ジョブを操作するには、さらにART→Batch Runtime→「ジョブの操作」をクリックします。
ART→CICS Runtime→「起動」をクリックし、CICS Runtimeを起動します。3270ターミナルを開き、CICS Runtimeに接続して、トランザクションを起動できます。
ART→IMS Runtime→「起動」をクリックし、IMS Runtimeを起動します。3270ターミナルを開き、IMS Runtimeに接続して、トランザクションを起動できます。
バッチ・プログラムおよびユーティリティを使用して、アプリケーションで管理されるデータを提供するVSAM顧客ファイルのデータ移入、更新およびリスト作成を行います。このアプリケーションでは5つのジョブが実行されます。ここでは、ジョブの使用方法について説明します。
Simple Sample Applicationは、VSAMメイン顧客ファイル1つのみを利用します。移行プロセスをできるだけ単純にするために、データは表示可能な形式で格納されています(COBOL構文の場合、Xと9のUSAGE DISPLAY pictureが使用されます)。
このVSAMファイルは、顧客識別番号に基づいたキー順データセット(KSDS)です。各レコードには266文字が含まれ、キーは位置1 - 6に格納されています。
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)の顧客リストです。
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
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アプリケーション・プログラムで使用されるCICS APIについて説明します。
EXEC CICS
SEND MAP('MAPM000') MAPSET('MAPM000') ERASEEND-EXEC.
EXEC CICS
SEND MAP('MAPM000') MAPSET('MAPM000') CURSOR ERASEEND-EXEC.
EXEC CICS
SEND MAP('MAPM001') MAPSET('MAPM001') FROM(MAPM001O) ERASEEND-EXEC.
EXEC CICS
RECEIVE MAP('MAPM000') MAPSET('MAPM000')END-EXEC.
EXEC CICS
RECEIVE MAP('ORDMAP1') MAPSET('ORDSET1') INTO(ORDMAP1)END-EXEC.
EXEC CICS
RETURN
END-EXEC.
EXEC CICS
RETURN TRANSID('M000') COMMAREA(COMM-RECORD)LENGTH(LENGTH OF COMM-RECORD)
END-EXEC.
EXEC CICS
XCTL PROGRAM(PGM-DEST) COMMAREA(COMM-RECORD)
LENGTH(LENGTH OF COMM-RECORD)
END-EXEC.
EXEC CICS
ABEND ABCODE('META')END-EXEC.
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.
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.
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.
EXEC CICS REWRITE DATASET ('ODCSF0') FROM (READ-ODCSF0-RECORD)
LENGTH (LENGTH OF READ-ODCSF0-RECORD)
RESP (RESPONSE-CODE)
END-EXEC.
EXEC CICS READNEXT DATASET ('ODCSF0') INTO (CLT-ODCSF0-RECORD)
LENGTH (LENGTH OF CLT-ODCSF0-RECORD)
RIDFLD (CUST-FILE-KEY)
RESP (RESPONSE-CODE)
END-EXEC.
EXEC CICS READPREV DATASET ('ODCSF0') INTO (CLT-ODCSF0-RECORD)
LENGTH (LENGTH OF CLT-ODCSF0-RECORD)
RIDFLD (CUST-FILE-KEY)
RESP (RESPONSE-CODE)
END-EXEC.
EXEC CICS ENDBR DATASET ('ODCSF0')END-EXEC.
EXEC CICS DELETE FILE ('ODCSF0')RIDFLD (CUST-FILE-KEY)
RESP (RESPONSE-CODE)
END-EXEC.
EXEC CICS
ASKTIME ABSTIME(ABS-TIME)
END-EXEC.
EXEC CICS
FORMATTIME ABSTIME(ABS-TIME)
DDMMYY(VDATEO) DATESEP('-') END-EXEC.
EXEC CICS
IGNORE CONDITION MAPFAIL
END-EXEC.
EXEC CICS
HANDLE CONDITION PGMIDERR(PGM-NOTFOUND)
END-EXEC.
http://publib.boulder.ibm.com/infocenter/cicsts/v3r1/index.jsp?topic=/com.ibm.cics.ts31.doc/dfhp4/topics/dfhp4_commands.htm
次のCICS APIがSimple Appアプリケーションで使用されています。
このドキュメントは、『CICS Transaction Server for z/OSアプリケーション・プログラミング・リファレンス』に基づいています。
|