ICC$HEL (IHEL)

これは、C++ Hello World サンプルです。この例では、単純なメッセージを CICS® 端末を書き込み、CICS OO プログラミングを開始する方法を示します。

ファウンデーション・クラスの概要』ではさらに詳しく概要を説明しています。拡張 OO プログラミングを試行する前に、この概要説明をお読みください。

サンプル・アプリケーションの実行

サンプル・プログラムは、CICSTS54.CICS.SDFHSAMP ライブラリーにソース・コードとして提供されています。 サンプル・プログラムを実行する前に、コンパイル、プリリンク、およびリンクする必要があります。 これを行うには、データ・セット CICSTS54.CICS.SDFHPROC の ICCFCCL プロシージャーを使用します。

ICCFCCL には、CICS ユーザー・アプリケーションをコンパイル、プリリンク、およびリンクするのに必要なジョブ制御言語が含まれています。 ICCFCCL を使用する前に、ご使用のシステムの規格に合わせていくらかカスタマイズする必要があることに気付くかもしれません。 プログラムのコンパイルも参照してください。

ICC$BUFICC$CLK、および ICC$HEL などのサンプル・プログラムは、追加の CICS リソース定義は必要なく、すぐに正常に実行できます。

他のサンプル・プログラム (特に DTP サンプル・プログラム ICC$SES1 および ICC$SES2) は、追加の CICS リソース定義が必要です。 これらの追加の要件については、サンプル・プログラムのソースの前書き部分を参照してください。

C++ サンプル

このプログラムのソースは、サンプルの ICC$HEL 内にあります。コメントを含むプログラム・フラグメントがあります。
#include "icceh.hpp"
#include "iccmain.hpp"

最初の行は、ヘッダー・ファイル ICCEH です。このヘッダー・ファイルには、CICS ファウンデーション・クラスのすべての定義のヘッダー・ファイルが含まれています。これは、クロスプラットフォームの C++ 言語規則を保持するため、"icceh.hpp" とコーディングされることに注意してください。

2 行目は、用意されているプログラム・スタブです。このスタブには main 関数が含まれています。これはプログラムのエントリー・ポイントで、指定されたクラスを使用し、正しく初期化する処理を行います。(詳細については、main 関数を参照してください。)用意されているスタブを使用することを強くお勧めしますが、場合によっては、独自の要件に合うようにこのスタブを調整することもできます。このスタブは、クラス環境を初期化し、プログラム制御オブジェクトを作成してから、run メソッドを呼び出します。このとき、アプリケーション・プログラムは「稼働中」である必要があります。
void IccUserControl::run()
{
プログラム・フローを制御するコードは、IccControl から派生したクラスの main 関数ではなく run メソッド内にあります (『IccControl クラス』を参照してください)。 ユーザーは、IccControl の独自のサブクラスを定義できます。また、ここで示しているように、ICCMAIN に定義されているデフォルト・サブクラス IccUserControl を使用し、run メソッドの定義を提供することもできます。
    IccTerminal* pTerm = terminal();
IccControl クラスの terminal メソッドは、アプリケーションで使用される端末オブジェクトのポインターを取得するために使用します。
    pTerm->erase();
erase メソッドは、端末の現在の内容をクリアします。
    pTerm->send(10, 35, "Hello World");
端末オブジェクトで send メソッドが呼び出されています。 これにより「Hello World」が端末画面の行 10、列 35 から書き込まれます。
    pTerm->waitForAID();
端末ユーザーが AID (アクション ID) キーを押すまで待機します。
    return;
}

run メソッドから戻ると、プログラム制御が CICS に戻ります。

                                  Hello World



フィードバック


タイム・スタンプ・アイコン 最終更新: 2017 年 8 月 16 日 (水)