IPFの紹介

本章では、IPFの概念、機能および構造について説明します。

1. 概要

IPF(Interactive Programming Facilities)は、COBOLなどのアプリケーション・プログラムからTSO(Time Sharing Option)コマンドを呼び出すか、スクリーン型のディスプレイ端末に入出力することができるプログラムです。TSOの詳細については、OpenFrame Batch『TSO管理者ガイド』を参照してください。

コンピューター・システムの利用分野が拡大されるにつれ、エンドユーザーからも操作しやすいシステムへの要求がますます大きくなっています。データベースをベースにしてデータの操作や検索などをより簡単かつ効率的に行い、その結果を使用環境のディスプレイ端末に出力して表示する機能が必要とされています。

TSOコマンドを実行する際にも、ユーザー利便性のためにディスプレイ端末を通じた入出力処理が要求されます。IPFは、これらのニーズに応じて開発されたユーザーとシステム間のディスプレイ端末を介した対話型プログラミング・パッケージを提供します。

2. IPFの機能

以下は、IPFが提供する機能です。

  • TSOコマンド処理

    IPFでは、COBOL、PL/Iなどの高級言語で作成されたプログラムからTSOコマンドまたはCLISTを呼び出して実行できる機能を提供します。この機能を利用するためには、IPFCMDサブルーチンのパラメータにTSOコマンドまたはCLIST名を記述した文字列を指定してCALL文として呼び出す必要があります。IPFCMDの詳細については、 IPFのサブルーチン を参照してください。

  • フルスクリーン型の入出力処理

    IPFでは、ディスプレイ端末に対して高級言語においても画面単位のデータ入出力処理が簡単に実行できる機能を提供します。フルスクリーン型ディスプレイ端末では、表示画面全体をフィールドという単位の集まりと見なします。フィールドは、データの入出力処理を実行する最小限の単位であり、これはまた、テキスト・フィールド、入力フィールド、出力フィールドに分けることができます。すなわち、フルスクリーン型ディスプレイ端末とは、フィールドの集まりに対して入出力処理を同時に行えるディスプレイ端末を意味します。

    フルスクリーン型ディスプレイ端末の標準的な画面サイズは、横80×縦24です。固定されたサイズのディスプレイ端末に関係なく、ユーザーはより大きな画面を設計することができますが、これを論理画面といい、ディスプレイ端末を物理画面といいます。

    論理画面は、メニュー定義体と呼ぶマップ・ファイルに定義することが可能であり、IPFMIOのようなIPFのサブルーチンを利用して論理画面を物理画面に表示することができます。IPFMIOとメニュー定義体の詳細については、 IPFのサブルーチンメニュー定義体 を参照してください。

3. IPFの構造

IPFとは、高級言語(COBOL、PL/Iなど)のサブルーチンの集まりです。アプリケーション・プログラムは、このIPFサブルーチンを呼び出すことで目的の機能を実行することができます。IPFサブルーチンでは、アプリケーションの呼び出しを受けると、TSOMGRのTmaxサービスを呼び出してデータとパラメータを渡します。画面の入出力と関連したIPFサブルーチンの場合、TSOMGRはコンパイル済みのマップ情報ファイルを読み込んで、画面のフィールド情報を構成し、OpenFrame GWを介してディスプレイ端末に出力します。画面に入力値が存在する場合は、TSOMGRがOpenFrame GWを通じてその値を取得し、入力データを抽出してから再びIPFサブルーチンを通じてアプリケーション・プログラムに返します。

以下の図は、IPFシステムの構造を示しています。

figure ipf architecture 1
IPFの構造
  • TSOMGR

    アプリケーション・プログラムで呼び出したIPFサブルーチンからデータとパラメータを受け取り、コンパイル済みのマップ情報ファイルから必要なマップ情報を読み込んで、画面のフィールド情報を構成してからOpenFrame GWに渡します。画面に入力値がある場合は、OpenFrame GWを介してその値を取得し、必要なデータを抽出してからIPFサブルーチンによりアプリケーション・プログラムに返します。

  • IKJEFT01/KEQEFT01

    ユーザーがディスプレイ端末を介してIPFに接続すると、TSOMGRが各TSOユーザーに対するジョブを実行させます。各ジョブはIKJEFT01/KEQEFT01ユティリティを使用して、指定されたCLISTスクリプトを分析し、TSOコマンドを実行させます。TSOのCALLコマンドを使用してCOBOLなどのアプリケーション・プログラムを呼び出すことができます。

  • IPFサブルーチン

    IPFサブルーチンは、COBOLのようなアプリケーション・プログラムに記述され、TSOMGRのTmaxサービスを呼び出します。IPFCMDサブルーチンはTSOコマンドを呼び出す機能を実行し、IPFMIOサブルーチンは画面への入出力を処理する機能を実行します。IPFのそれぞれのサブルーチンを呼び出すときや、アプリケーション・プログラムでIPFサブルーチンの情報をやり取りするときは、CALL文のパラメータを使用して呼び出します。

  • OpenFrame GW

    OpenFrameが提供するWeb端末などのディスプレイ端末でユーザーが入力したデータをTSOMGRに渡し、アプリケーション・プログラムで処理したデータをTSOMGRを介して受け取ってディスプレイ画面に出力します。

  • TSOMAPGEN

    ユーザーが作成したマップ・ファイルを読み込んで解析(Parsing)し、.mapファイル形式にコンパイルして指定したライブラリに保存します。

4. IPFの接続と終了

IPFを実行するために、3270端末またはOpenFrameが提供するWeb端末などのディスプレイ端末に接続してログインします。ディスプレイ端末に接続した後、TSOコマンドを入力すると、ログイン画面が表示されます。ログイン情報を入力した後に準備画面が表示されたら、TSOコマンドまたはCLIST名を入力して、IPFを実行することができます。すべての作業が終わったら、ログオフしてIPFを終了します。

4.1. 接続および実行

ディスプレイ端末に接続すると、カーソルが位置する入力画面が表示されます。そのとき、以下のようにIPFを起動するためのTSOコマンドを入力します。

TSO

上記のコマンドを入力して<Enter>キーを押すと、ログイン画面が表示されます。

---------------------------------------------------------------
           USERID    :
           PASSWORD  :
           PROCEDURE :
 ---------------------------------------------------------------

ユーザーID、パスワード、プロシージャー名を入力して<Enter>キーを押すと、準備画面が表示されます。

READY

READYの下部にカーソルが位置した入力スペースが表示されます。この部分にTSOコマンドまたは実行するCLIST名を入力して目的の動作を実行することができます。

4.2. 終了

TSOまたはCLISTコマンドを実行すると、終了メッセージが表示されます。そのとき<Enter>キーを押すと画面がクリアされ、準備画面(READY)の状態に戻ります。終了する場合は、入力画面にLOGOFFコマンドを入力します。

READY
LOGOFF

LOGOFFコマンドを実行すると、以下のとおりログオフ画面を呼び出してIPFを終了します。

---------------------------------------------------------------
                        SESSION LOGOFF
 ---------------------------------------------------------------