画面・帳票サポートシステム XMAP3 プログラミングガイド


13.1.1 画面表示命令(汎用関数)

関数の形式,処理内容,およびリターンコードについて説明します。

〈この項の構成〉

(1) XmapDrvCreateOpen関数

インタフェース用メモリを確保したり,仮想端末をオープンしたりします。

形式
 long APIENTRY XmapDrvCreateOpen(tname)
    unsigned char        *tname;             /* 仮想端末名 */

仮想端末名(tname):仮想端末定義ファイルで指定した名称を指定します。

処理内容

XMAP_COM,XMAP_REQ,XMAP_OPNおよびXMAP_MDOテーブルを確保し,仮想端末をオープンする。

リターンコード

0:異常終了

1以上:正常終了(仮想端末識別子:確保した領域の先頭アドレス)

注意事項

仮想端末名は8バイト以内で指定し,最後にNULLで終わる文字列を指定してください。

一つのAP(プロセス)内で同時にオープンできる端末数の上限は15個です。

データ有無コードには標準値「1F」が仮定されます。

(2) XmapDrvClose関数

仮想端末をクローズします。

形式
  long APIENTRY XmapDrvClose(termid)
    long                  termid;            /* 仮想端末識別子 */

仮想端末識別子(termid):オープン要求関数の戻り値を指定します。

処理内容
  1. 仮想端末をクローズする。

  2. XMAP_COM,XMAP_REQ,XMAP_OPN,XMAP_MDOテーブル領域を解放する。

リターンコード

0:正常終了

−1:異常終了

注意事項

クローズ済みの仮想端末識別子を指定した場合,アクセス違反を起こす場合があります。

(3) XmapDrvSend関数

画面を表示します。

形式
  long APIENTRY XmapDrvSend(termid, pmpname, olog);
    long                  termid;            /* 仮想端末識別子   */
    unsigned char        *pmpname;           /* 物理マップ名     */
    unsigned char        *olog;              /* 出力論理マップ   */
  1. 仮想端末識別子(termid) :オープン要求関数の戻り値を指定する。

  2. 物理マップ名(pmpname) :出力する物理マップ名を指定する。

  3. 出力論理マップ(olog) :出力論理セグメントを指定する。

処理内容

画面を表示します。

リターンコード

0:正常終了

−1:異常終了

注意事項

クローズ済みの仮想端末識別子を指定した場合,アクセス違反を起こす場合があります。

エラーが発生した場合,自動的にクローズ処理が実行されます。

(4) XmapDrvReceive関数

画面に入力されたデータを取得します。

形式
  long APIENTRY XmapDrvReceive(termid, ilog);
    long                  termid;            /* 仮想端末識別子 */
    unsigned char        *ilog;              /* 入力論理マップ */
  1. 仮想端末識別子(termid):オープン要求関数の戻り値を指定する。

  2. 入力論理マップ(ilog):入力論理マップを指定する。

  3. 入力論理マップの全体長を入力論理マップの先頭(2バイト)に指定する。

処理内容

画面に入力されたデータを取得します。

リターンコード

0:正常終了

−1:異常終了

注意事項

クローズ済みの仮想端末識別子を指定した場合,アクセス違反を起こす場合があります。

エラーが発生した場合,自動的にクローズ処理が実行されます。

入力論理マップ長として実際より短い値を指定した場合,エラーを返します。

(5) XmapDrvTransceive関数

画面を表示したり,画面に入力されたデータを取得したりします。

形式
  long APIENTRY XmapDrvTransceive(termid, pmpname, olog, ilog);
    long                  termid;            /* 仮想端末識別子 */
    unsigned char        *pmpname;           /* 物理マップ名   */
    unsigned char        *olog;              /* 出力論理マップ */
    unsigned char        *ilog;              /* 入力論理マップ */
  1. 仮想端末識別子(termid):オープン要求関数の戻り値を指定する。

  2. 物理マップ名(pmpname):出力する物理マップ名を指定する。

  3. 出力論理マップ(olog):出力論理マップを指定する。

  4. 入力論理マップ(ilog):入力論理マップを指定する。

  5. 入力論理マップの全体長を入力論理マップの先頭(2バイト)に指定する。

処理内容

画面を表示したり,画面に入力されたデータを取得したりします。

リターンコード

0:正常終了

−1:異常終了

注意事項

クローズ済みの仮想端末識別子を指定した場合,アクセス違反を起こす場合があります。

エラーが発生した場合,自動的にクローズ処理が実行されます。

入力論理マップ長として実際より短い値を指定した場合,エラーを返します。

(6) XmapDrvGetError関数

エラーの詳細を取得します。

形式
  long APIENTRY XmapDrvGetError()
処理内容

直前に発行された関数のエラー詳細を取得します。

リターンコード

0以上:正常終了(詳細エラーコード)

(7) XmapDrvCreate関数

メモリを確保します。

形式
  long APIENTRY XmapDrvCreate()
処理内容

XMAP_COM, XMAP_REQ, XMAP_OPN, XMAP_MDOテーブル領域を確保します。

リターンコード

0:異常終了

1以上:正常終了(仮想端末識別子:確保した領域の先頭アドレス)

(8) XmapDrvOpen関数

仮想端末をオープンします。

形式
  long APIENTRY XmapDrvOpen(termid, tname)
    long                  termid;            /* 仮想端末識別子 */
    unsigned char        *tname;             /* 仮想端末名     */
  1. 仮想端末識別子(termid):XmapDrvCreateの戻り値を指定する。

  2. 仮想端末名(tname):仮想端末定義ファイルで指定した名称を指定する。

処理内容

仮想端末をオープンします。

リターンコード

0:正常終了

−1:異常終了

注意事項

クローズ済みの仮想端末識別子を指定した場合,アクセス違反を起こす場合があります。

仮想端末名には,最後にヌルで終わる文字列を指定してください。9バイト以上の場合,9バイト以降は切り捨てられます。

一つのAP(プロセス)内で同時にオープンできる端末数の上限は15個です。

(9) XmapDrvSetMapOption関数

マッピングオプションを指定する。

形式
  long APIENTRY XmapDrvSetMapOption(termid, mode)
    long                  termid;          /* 仮想端末識別子       */
    long                  mode;            /* マッピングオプション */
  1. 仮想端末識別子(termid):オープン要求関数の戻り値を指定する。

  2. マッピングオプション(mode):マッピングオプションを指定する。

    指定できるマッピングオプションは,次のとおりです。

    内容

    指定値

    マージ

    0

    論理マップだけ

    2

    物理マップだけ

    3

    modeの内容については,「3.2 マッピングオプション」を参照してください。

処理内容

マッピングオプションを設定します。

リターンコード

0:正常終了

注意事項

クローズ済みの仮想端末識別子を指定した場合,アクセス違反を起こす場合があります。

modeに不当な値を指定した場合,「マージ」を仮定します。

(10) XmapDrvSetDataCode関数

データ有無コードを設定する。

形式
  long APIENTRY XmapDrvSetDataCode(termid, code)
    long                  termid;            /* 仮想端末識別子     */
    unsigned char         code;              /* データ有無コード   */
  1. 仮想端末識別子(termid):オープン要求関数の戻り値を指定する。

  2. データ有無コード(code):データ有無コードを指定する。

処理内容

データ有無コード((00)16〜(1F)16または(FF)16)を設定します。データ有無コードはすべてのAPにかかわるコードのため,できるだけ標準値((1F)16)を利用することをお勧めします。

リターンコード

0:正常終了

注意事項

クローズ済みの仮想端末識別子を指定した場合,アクセス違反を起こす場合があります。

この関数を発行しない場合,データ有無コードには標準値「1F」が仮定されます。