画面・帳票サポートシステム XMAP3 開発ガイド


8.7 MCR

MCRを設定するには,入出力テキスト/入出力フィールドオブジェクトで,使用目的を「MCR」を設定します。通常,MCRカードデータを読み込ませた直後に画面が送信されるため,1画面に対しMCRオブジェクトを一つだけ指定するようにしてください。

入出力テキスト・フィールドダイアログで,使用目的に「MCR」以外を指定した項目にもMCRから入力できます。キーボードで入力した場合と同様の動作となります。

MCRは,ターミナルサービス環境およびリモートデスクトップ環境では使用できません。

〈この節の構成〉

(1) MCRからの入力

MCR装置で読み込む磁気カードのデータには,最大64バイトの文字を書き込めます。この文字列の先頭に,IDコードを付けておきます。XMAP3は「<」または「>」をIDコードと見なします。MCR装置で読み込んだデータは,キーボードで入力したデータと同様にAPに格納されます。ただし,このとき「<」および「>」は削除されます。

なお,MCRを使用するときは,XMAP3実行環境の表示・印刷環境ファイルで設定してください。標準では「使用しない」になっています。

[図データ]

フィールドや入出力テキストボックスにカード入力する場合,IDコードの有無や違いによって,XMAP3の動作が異なります。IDコードの違いによるXMAP3の動作の違いを説明します。

表8‒51 IDコードと設定する使用目的

IDコード

設定する使用目的

XMAP3の動作

無し

「MCR」以外

通常のキーボード入力と同じように動作する。

「<」

「MCR」以外

IDコードと見なす。

「>」

「MCR」

IDコードと見なす。

(a) IDコード無しの場合

MCRカードデータの先頭が「<」または「>」でない場合,つまりIDコードがない場合には,入出力テキスト・フィールドダイアログの使用目的に「MCR」以外を指定するようにしてください。このとき,XMAP3は通常のキーボード入力と同じように動作します。MCRカードデータが「TOKYO」だとすると,カーソル位置から「TOKYO」と表示します。プッシュボタン,送信(実行)キーまたはファンクションキーを押すと,画面が確定します。

入出力テキスト・フィールドダイアログの使用目的に「MCR」を指定した場合,画面上は入力データが表示されますが,入力論理マップに返されるフィールドデータは入力操作なしのマッピング規則に従います。

[図データ]

(b) IDコードが「<」の場合

MCRカードデータの先頭が「<」の場合,入出力テキスト・フィールドダイアログの使用目的に「MCR」以外を指定するようにしてください。このとき,XMAP3は「<」をIDコードと見なします。MCRカードデータが「<TOKYO」だとすると,XMAP3は「<」に続くカードデータ「TOKYO」をカーソル位置から表示したあと,すぐに送信要求を発生させます。カードデータが「<」だけの場合には,送信要求だけを発生させます。

入出力テキスト・フィールドダイアログの使用目的に「MCR」を指定した場合,画面上は入力データが表示されますが,入力論理マップに返されるフィールドデータは入力操作なしのマッピング規則に従います。

[図データ]

(c) IDコードが「>」の場合

MCRカードデータの先頭が「>」の場合,入出力テキスト・フィールドダイアログの使用目的に「MCR」を指定するようにしてください。このとき,XMAP3は「>」をIDコードと見なします。IDコードが「>」のカードデータが入力されると,XMAP3はまずMCR入力フィールド全体をNULLクリアし,カーソル位置を先頭に戻します。このとき,そのMCR入力フィールドはMCR入力済み状態になります。

次に,XMAP3はMCR入力フィールドの2桁目からカードデータを入力し,入力後すぐに送信要求を発生させます。カードデータが「>」だけの場合には,送信要求だけを発生させます。なお,IDコードが「>」のカードデータを入力した場合,カーソル位置は移動しますが,カードデータの内容は画面に表示されません。MCRカードデータが「>NEWYORK」だとすると,画面には何も表示されずにカーソル位置だけが10桁目に移動します。IDコードに続くカードデータがフィールド長を超えると,入力エラーになるので,IDコードに続くカードデータよりも1バイト長くフィールド長を定義しておく必要があります。

入出力テキスト・フィールドダイアログの使用目的に「MCR」以外を指定した場合,入力できません。

[図データ]