メッセージの編集

本章では、OpenFrame AIMが提供するメッセージ編集機能について説明します。

1. 概要

OpenFrame AIMシステムにTN3270プロトコルを利用して接続した端末が送信するメッセージはTN3270ストリームです。

メッセージ編集機能は、端末が送信したTN3270データ・ストリームを業務アプリケーションが読み込めるフォーマットに変換する機能です。逆に、業務アプリケーションが作成したメッセージを端末に送信する際に、TN3270プロトコルに変換する機能もあります。

OpenFrame AIMのメッセージ編集機能は、業務アプリケーションの作成者が端末と通信するために設計するI/Oレコードを、端末の種類や端末が利用するプロトコルを考慮せずに設計できるようになっています。I/Oレコードに端末やプロトコルに中立的な制御コードを使用することにより、業務アプリケーションの作成者は効率的にアプリケーションを作成できます。

端末から入力されたメッセージは、適切に編集されDCMSのバッファーに保存された後、業務アプリケーションに渡されます。また、業務アプリケーションから端末に送信されるメッセージもDCMSのバッファーに保存された後、適切に編集されて端末に送信されます。この編集プロセスは、フォーマットID(以下、FID)というスクリプトに定義されている形式に従って行われます。FIDの形式は、OpenFrame AIMでPSAM(Presentation Service Access Method)という名前で定義されます。

DCMSは、メッセージ編集機能を使用して接続されているディスプレイ端末に表示された画面を記憶しておき、その端末からデータが入力されたら、記憶していたFIDを使用して端末からのメッセージを入力レコード形式に編集して業務アプリケーションに渡します。逆に、業務アプリケーションから端末に出力する場合は、メッセージの制御情報領域に出力する画面を示すFIDをを設定します。

ディスプレイ端末から入力されたメッセージを業務アプリケーションの入力レコードに変換するか、業務アプリケーションで出力レコードに記録した内容をディスプレイ端末に適したフォーマットに編集する作業はすべてDCMSで行われます。

DCMSは、最初の業務アプリケーションから端末にメッセージを出力するとき、制御情報領域に記録されたFID名を確認して該当するFIDファイルを指定のストレージから読み込みます。読み込んだFIDを使用して業務アプリケーションで出力レコード形式で記録したデータを端末に適した形式のメッセージに変換します。

以下の図は、メッセージの編集プロセスを示します。

figure 5 1
メッセージの編集
  • メッセージを業務アプリケーションの入力レコードに変換する手順

    以下は、ディスプレイ端末で入力されたオンライン・メッセージを業務アプリケーションの入力レコードに変換する手順です。

    1. メッセージから入力レコードに必要なデータを抽出して記録します。

    2. 入力レコードの各フィールドの属性をメッセージから抽出して記録します。

  • メッセージを送信する手順

    以下は、業務アプリケーションからディスプレイ端末やプリンター端末にメッセージを送信する手順です。

    1. 出力レコードの各フィールドのデータをメッセージの適切な場所に位置させます。

    2. FIDに記録されている固定文字や線などを追加します。

    3. 数値データを指定の位置に追加します。

    4. イメージ・データを指定の位置に追加します。

    5. 出力レコードの各フィールドの属性を該当の端末に合わせて指定します。

2. メッセージ編集の構成

業務アプリケーションがDCMSから入力を受けるメッセージまたはDCMSに出力するメッセージは、端末との入出力データが含まれたメッセージ領域と業務処理のための付加情報である制御情報領域で構成されます。

  • メッセージ領域

    メッセージ編集の対象です。

  • 制御情報領域

    メッセージ編集の対象ではありません。端末とは関係なく、DCMSと業務アプリケーション間で送受信する情報です。

ディスプレイ端末から入力されたメッセージは、DCMSで現在表示されている画面に該当するFIDの内容に従って編集されます。そして、業務アプリケーションに入力されるデータが抽出されます。画面に表示されたすべての内容が抽出されるわけではなく、FIDで入力フィールドとして設定されたフィールド値のみが抽出され、指定のレコード・フォーマットに編集されます。入力フィールドの属性も、入力レコードの各フィールドの前に位置する制御コードに挿入されます。業務アプリケーションに入力されるこの制御コードは、端末の機種やプロトコルとは無関係に定義されます。

ディスプレイ端末で入力を終えた端末ユーザーは、入力が完了したという信号としてEnterキー、またはFuntionキーなどの特殊キーを押しますが、このキー値も入力レコードに表示されます。

下の表は、そのような特殊キーを押した際に、業務アプリケーションに渡されるコード値です。

Attention Key Attention Code Remarks

ENTERキー

E000

CLEARキー

C000

PFキー

F0nn

nnはPFキーのシリアル番号です。(01~24)

PAキー

A00n

nはPAキーのシリアル番号です。(1~3)

端末に出力されるメッセージは、DCMSで端末に表示されるFIDの内容に従って編集され、端末に送信されます。業務アプリケーションで各フィールドに設定したデータは、FIDに設定されたオフセットに合わせて挿入されます。また、出力レコードの各フィールドの前に位置する制御コードも、端末の機種やプロトコルに適した属性値に変換されて出力メッセージに挿入されます。制御コードを使用した出力メッセージの制御を参照してください。

出力の場合、業務アプリケーションで作成したデータだけでなく、FIDに定義されている固定データも挿入されます。このように挿入される固定データには、文字や数字だけでなく、表の輪郭線などの線も含まれます。業務アプリケーションで作成したデータやFIDに定義されているデータのほか、システム可変データも出力対象に含まれることがあります。メッセージのシリアル番号、端末名、日付、時間、ページ番号などがこれに該当します。

メッセージについての詳細は、OpenFrame AIM『リソースガイド』を参照してください。

業務アプリケーションからディスプレイ端末に結果を出力する際、出力する内容が1つの画面に表示できる量より多い場合は、画面を分割して出力するページング機能を使用するようにFIDを作成することができます。FIDにページング機能が設定されている場合、DCMSは出力内容に対してページの移動機能を提供します。業務アプリケーションが出力結果をDCMSに渡したら、以降端末から入力されるページ移動コマンドはDCMSによって処理されます。

figure 5 2
ページング機能

2.1. 制御コードを使用した出力メッセージの制御

画面に表示される出力メッセージはフィールド単位で制御されます。フィールドの属性は、基本的にフォーマット定義ソースで指定されます。フィールドの属性をアプリケーションから動的に指定する場合、制御コードの最初の文字、2番目の文字、および3番目の文字で指定します。

制御コードの最初の文字でフィールド表示モードおよび属性を変更でき、2番目の文字で拡張強調の表示方法を指定できます。また、3番目の文字はフィールドの表示色を指定するために使用されます。以下は、制御コードの各文字に基づくフィールドの制御情報です。

  • 最初の文字(フィールドの表示モードと属性を変更)

    モード 文字 適用属性 付加属性

    データ表示 :
    出力モード(WRITEモードまたはREWRITEモード)に関係なく、出力します。

    ' '(空白)

    1次属性

    なし

    A

    1次属性

    なし

    B

    1次属性

    MDT、入力不可

    D

    2次属性

    なし

    O

    2次属性

    なし

    Z

    2次属性

    なし

    I

    1次属性

    カーソル設定

    E

    2次属性

    MDT、カーソル設定

    M

    1次属性

    MDT

    R

    1次属性

    MDT、入力不可

    P

    1次属性

    入力不可

    Q

    1次属性

    MDT解除、入力不可

    T

    1次属性

    なし

    J

    2次属性

    MDT解除、入力不可

    S

    1次属性

    MDT解除、入力不可

    属性変更 :
    データは送信せず、属性のみを変更します。データが送信されないため、WRITEモードではデータの内容は表示されません。REWRITEモードで既に表示されているデータの内容は変わらず、属性のみが変更されます。

    0

    なし

    なし

    1

    1次属性

    なし

    2

    2次属性

    なし

    3

    1次属性

    MDT

    4

    1次属性

    MDT、入力不可

    5

    1次属性

    入力不可

    6

    2次属性

    MDT

    7

    2次属性

    MDT、カーソル設定

    8

    2次属性

    カーソル設定

    9

    1次属性

    MDT解除、入力不可

    F

    2次属性

    MDT解除、入力不可

    非表示 :
    表示されたデータを削除します。

    N

    1次属性

    なし

    U

    1次属性

    なし

    Y

    1次属性

    MDT解除、入力不可

  • 2番目の文字(拡張強調の表示方法を指定)

    文字 説明

    ' '(空白)

    フォーマット定義ソースに定義された1次属性または2次属性に従います。

    'D'

    拡張強調表示なし(フォーマット定義ソースに定義された拡張強調表示を無効にする)

    'B'

    点滅表示

    'R'

    反転表示

    'U'

    下線表示

  • 3番目の文字(フィールドの表示色を指定)

    文字 説明

    'B'

    青色

    'H'

    高輝度赤色

    'R'

    赤色

    'P'

    ピンク色

    'G'

    緑色

    'T'

    青緑色

    'Y'

    黄色

    'W'

    白色

    'N'

    デバイスの基本色