バージョン 4.2.5
 —  Natural for MBCS  —

アウトラインエディタの使用

アウトラインエディタでは、Natural マップエディタで作成された画面用のボックスを定義します。 具体的には、周囲にボックスを描くフィールドのボックスコードを設定します。 ボックスコードは、BX パラメータの値を表します。

原則として、アウトラインエディタはボックスの作成に使用し、フィールドの定義には使用しません。 フィールドの定義は、マップエディタで行います。

このセクションでは、以下のトピックについて説明します。


前提条件

アウトラインエディタを使用するには、以下の前提条件が満たされている必要があります。

適切な端末

使用する端末または端末エミュレーションで、ボックスの表示がサポートされている必要があります。 一般に、DBCS(ダブルバイト文字セット)文字をサポートする端末または端末エミュレーションです。 サポートしていないと、マップ用に生成されたボックスが実行時に表示されません。

関連トピック:

DBCS をサポートするために Natural に実装されている機能の詳細については、『オペレーション』ドキュメントの「ダブルバイト文字セット」も参照してください。

KAPRI で作成されたマップの移行

Natural バージョン 3.1 および KAPRI で作成されたマップを、Natural for MBCS でのコンパイルおよび実行に適したマップに変換する必要があります。 Natural for Mainframes の最新のリリースノートの「Natural for MBCS を使用して変換されたマップの処理」を参照してください。

注意:
KAPRI では、DBCS(ダブルバイト文字セット)文字およびボックスの画面位置を記憶して適切に表示します。 Natural for MBCS では、KAPRI とは異なり、実際の表示長と Natural 言語拡張を使用して正しい表示位置を判断します。 このため、KAPRI で作成されたマップは、Natural や Natural for MBCS で実行する前に変換する必要があります。 変換されていないマップを実行すると、その表示の際に予期しない結果が生じることがあります。

KAPRI マップを移行する場合は、バックアップコピーを作成し、移行後にマップエディタまたはアウトラインエディタの Test 機能を使用して新しいマップのレイアウトを確認することをお勧めします。

変換された KAPRI マップは Natural for MBCS をサポートしない Natural バージョンでは編集できないので、変換されたマップは、Natural バージョン 3.1 および KAPRI で作成されたマップとは別のライブラリ(または別の FUSER システムファイル)に保存することを強くお勧めします。

Start of instruction setKAPRI で作成されたマップを 1 つ変換するには

  1. マップエディタの[Edit Map]メニューを表示します。

  2. [Edit Map]メニューで、[Migration of Maps created with KAPRI]のファンクションコード「X」を指定し、変換対象のマップの名前を入力します。

  3. Enter キーを押します。

    マップが正常に変換されたことを示すメッセージが表示されます。

Start of instruction setKAPRI で作成されたマップを複数変換するには

デリミタクラス D の定義

アウトラインエディタを使用して編集する各マップのマップ設定には、デリミタクラス D が定義されている必要があります。 このデリミタクラスがないと、アウトラインエディタを開くことができず、エラーメッセージが表示されます。

デリミタクラス D は、通常、KAPRI で作成されたマップのマップ定義を読み取るとき、または Natural で新しいマップを作成するときに自動的に追加されます(『マップエディタ』ドキュメントの「デリミタクラス D」を参照)。 ただし、Natural で作成された既存のマップについては、以下の手順に従ってデリミタクラスを追加する必要があります。

Start of instruction setデリミタクラス D を定義するには

  1. Natural システムファイルのライブラリにソースオブジェクトとして保存されているマップのマップエディタを起動します。

    マップエディタの編集エリアが開き、指定したマップが表示されます。

  2. PF2(Mset)キーを押して、マップのデフォルト設定を変更します。

    [Define Map Settings]画面が開きます。

  3. [Delimiters]セクションで、以下の例のようにデリミタクラス D を追加します(または既存のデリミタを置き換えます)。

     Delimiters        
     ----------------- 
     Cls Att CD  Del   
      T   D      BLANK 
      T   I      ?     
      A   D      _     
      A   I      )     
      A   N      ^     
      M   D      &     
      M   I      :     
      O   D      +     
      O   I      (     
      D   I      #
  4. マップエディタの[Edit Map]メニューを表示し、マップを保存します。

デリミタの詳細については、『マップエディタ』ドキュメントの関連セクションを参照してください。

Top of page

アウトラインエディタの起動

このセクションでは、アウトラインエディタの起動手順について説明します。

Start of instruction setアウトラインエディタを起動するには

  1. マップエディタの[Edit Map]メニューを表示します。

  2. [Outline Editor]のファンクションコード「O」と、アウトラインエディタで編集するマップの名前を入力します。 マップは、エディタの現在のソースワークエリアに含まれているか、Natural システムファイルのライブラリにソースオブジェクトとして保存されている必要があります。

    以下の例のような[Outline Editor]画面が画面分割モードで開き、指定したマップが表示されます。

    graphics/oedit_invoke.png

    アウトラインエディタ画面の上部には、すべての有効なボックスコード(O など)、それによって作成されるボックスのタイプの記号(例えば、O の場合は正方形 graphics/oedit_bxc_o.png)、およびエンドマーカー EEND)が表示されます。 この図は全画面モードでは表示されません。

    画面の下部は編集エリアで、指定したマップのマップ定義が表示されます。 データフィールドを示す文字(X9 など)は、マップエディタの編集エリアで使用されている文字と同じです。 詳細については、『マップエディタ』ドキュメントの「マップフィールドの定義」を参照してください。

Top of page

ボックスコードの使用

ボックスコードは、BX セッションパラメータの値または値の組み合わせを表す 1 文字です。 例えば、ボックスコード OBX 設定 TBLR を表します。 使用可能なパラメータ値の詳細については、「ボックスコードおよび BX パラメータ値の一覧」を参照してください。

ボックスコードの使用時に適用されるルールと条件については、次のセクションで説明します。 取り上げられている例については、「ボックスコード指定の例」を参照してください。

ボックスコードでは、大文字と小文字は区別されません。 以下を示すボックスコードを入力できます。

このセクションでは、以下のトピックについて説明します。

データフィールドおよびテキストフィールドへのボックスコードの入力

デリミタクラス D のデータフィールドまたはテキストフィールドの場合は、ボックスを作成するフィールドの属性位置にボックスコードを入力します。 属性位置はフィールドの直前であり、以下のいずれかで示されます。

配列として定義されているデータフィールドの場合は、配列のオカレンスごとにボックスコードを入力できます。 例えば、[Office:][Home:]、および[Mobile:]は 1 次元配列(A20/1:3)の 3 つのオカレンスです。 ボックスコードをこの配列のすべてのオカレンスに対して有効にするには、マップエディタの拡張フィールド編集機能を使用して BX パラメータを変更します。

空白文字用のボックスコードの入力

空白文字 1 文字または空白文字のシーケンス用のボックスを作成できます。 これにより、ボックスデザイン用に空のマップエリアを使用できるようになります。

空白文字 1 文字または空白文字のシーケンスの場合は、空行にボックスコードを入力します。

ボックスの長さは、使用ボックスコードが適用される空白文字数と、エンドマーカー(「エンドマーカーの使用」を参照)によって異なります。

空白文字のシーケンス用に作成されたボックスは、「Enter キーを押した後のボックスコード指定の例」のように、複数のピリオド(.)で示されます。 直後にエンドマーカーがあるボックスコード(OE など)で作成されたボックスや、直後にボックスコード LR があるボックスコードで作成されたボックスには、ピリオドは表示されません。

空白文字 1 文字または空白文字のシーケンス用のボックスは、デリミタクラス D の空のテキストフィールドとしてマップ定義に生成されます。

ボックスの長さを短縮するには、ピリオド(.)のいずれかをエンドマーカー(「エンドマーカーを指定するには」も参照)またはボックスコードに置き換えます。 これにより、置き換えたピリオドの位置でフィールドが終わります。

空のテキストフィールドは、マップエディタの拡張フィールド編集機能を使用して編集できます。

自動ボックス延長

上または下に横線があって右側に縦線がないボックスコード(ボックスコード TBIC3、および 5)は、同じ行の後続のフィールドにも適用されます。 この場合、ボックスの終了は、次のボックスコード、デリミタクラス T の次のテキストフィールド、または行末になります。 例:テキストフィールド[Personal][Information]、および[City:]の横のデータフィールド。

上記のボックスコードのいずれかを入力すると、このボックスコードが適用されるすべての後続フィールドの前に、自動生成されたボックスコードがアウトラインエディタによって配置されます。 自動生成されたボックスコードのシーケンスは、「ボックスコードおよび BX パラメータ値の一覧」の「自動生成ボックスコード」にリストされています。 ボックスコードは、ボックスコードをあらかじめ入力しておいた場合にのみ自動生成されます。 自動生成されたボックスコードは置き換え可能です。

ボックスコードの変更または削除

1 つまたは複数のボックスコードを変更するには、ボックスコードを 1 つずつ別のボックスコードに置き換えます。

1 つまたは複数のボックスコードを削除するには、ボックスコードを 1 つずつ空白文字に置き換えるか、「行コマンドと PF キー」で説明している行コマンドのいずれかを使用します。

通常は、削除できるのはフィールドのボックスコードのみであり、フィールド自体を削除することはできません。 フィールド定義は、マップエディタでのみ削除できます。 例外:空白フィールドのボックスコードを削除すると、マップ定義の該当フィールドも削除されます。

Top of page

エンドマーカーの使用

エンドマーカー EEND)は、空白文字 1 文字または空白文字のシーケンス用に作成されたボックスの長さを決定します。
例外:ボックスコード LR は、常に空白文字 1 文字用のボックスのみ作成します。 この 2 つはエンドマーカーなしで入力できます。 例:テキストフィールド[Phone]および[Office:]の間のボックスコード L

エンドマーカーでは、大文字と小文字は区別されません

エンドマーカーは、マップソースに BX パラメータ値としては生成されません

エンドマーカーは、ボックスコードと、エンドマーカーが配置された行に適用されます。 ボックスコードとエンドマーカーをそれぞれ別の行に入力しても、複数行にわたるボックスは作成できません。

Start of instruction setエンドマーカーを指定するには

  1. 空行で、ボックスの開始位置にボックスコードを入力し、ボックスの終了位置に E を入力します。

    例:
    ボックスコード設定の例」の[Last Name:]の上にある空行の列 035059

  2. Enter キーを押してエントリを確定します。

    ボックスコードとエンドマーカーで囲まれた空白文字(この例では列 035059 の間)がピリオド(.)に置き換わります。

    エンドマーカーが画面に表示されなくなります。

  3. ボックスの長さを短縮するには、ピリオド(.)のいずれかをエンドマーカーに置き換えます。 例:U..........E.....

    これにより、上書きしたピリオドの位置でフィールドが終わります。

Top of page

ボックスコードおよび BX パラメータ値の一覧

次の表に、アウトラインエディタの編集エリアにリストされるボックスコードの説明を示します。 また、自動生成されたボックスコードのシーケンス(ボックスコードに関連する場合)と、等価な BX パラメータ値(順不同)も示します。

ボックス 境界 ボックスコード BX 値 自動生成されるボックスコード 自動生成されるボックスコードの BX 値

graphics/oedit_bxc_t.png

上横線 T T T T

graphics/oedit_bxc_b.png

下横線 B B B B

graphics/oedit_bxc_i.png

上下横線 I TB I TB

graphics/oedit_bxc_c.png

上下横線と左縦線 C LTB I TB

graphics/oedit_bxc_1.png

上下横線と右縦線 1 TRB    

graphics/oedit_bxc_3.png

上横線と左縦線 3 LT T T

graphics/oedit_bxc_4.png

上横線と右縦線 4 TL    

graphics/oedit_bxc_5.png

下横線と左縦線 5 LB B B

graphics/oedit_bxc_u.png

下横線と左右縦線 U LBR    

graphics/oedit_bxc_l.png

左縦線 L L    

graphics/oedit_bxc_r.png

右縦線 R R    

graphics/oedit_bxc_h.png

左右縦線 H LR    

graphics/oedit_bxc_o.png

上下横線と左右縦線 O TBLR    

Top of page

ボックスコード指定の例

このセクションでは、「アウトラインエディタの起動」のマップ定義をベースに、ボックスコード指定の例を示します。 この例は、ボックスコードの使用方法を示すのが目的であり、ボックスを使用してマップをデザインするためのガイダンスではありません。

ボックスコード設定の例

以下の例は、アウトラインエディタにボックスコードをどのように入力できるかを示しています。

graphics/oedit_bxc_set.png

Enter キーを押した後のボックスコード指定の例

以下の例は、ボックスコード入力を Enter キーで確定した後にボックスコード指定がどのように表示されるかを示しています。

graphics/oedit_bxc_enter.png

ボックスレイアウトの例

以下の例は、プログラムまたは PF4 テスト機能で呼び出されたときの、マップのボックスレイアウトを示しています。

graphics/oedit_map_exec.png

この例は、「ボックスコード設定の例」をベースにしています。

Top of page

行コマンドと PF キー

アウトラインエディタに用意されている行コマンドと PF キーは、ボックスコードや空のテキストフィールドの削除、アウトラインエディタの編集エリアでの移動、編集エリアの切り替え(アウトラインエディタ/マップエディタ)、表示モードの切り替え、アウトラインエディタの終了などに使用できます。

行コマンドは、行の先頭に入力します。 行コマンドでは、大文字と小文字は区別されません。

行コマンド PF キー 説明
..D   コマンドが入力された行から、すべてのボックスコードと空のテキストフィールドを削除します。
..Dnn   コマンドが入力された行とその下 nn 行から、すべてのボックスコードと空のテキストフィールドを削除します。nn の範囲は 1~99 です。
..D*   コマンドが入力された行とその下すべての行から、すべてのボックスコードと空のテキストフィールドを削除します。
..X PF13 アウトラインエディタとマップエディタの編集エリアを切り替えます。
  PF1 ヘルプ。
アウトラインエディタとマップエディタのヘルプ情報を表示します。
..Q PF3 終了。
アウトラインエディタを終了し、[Edit Map]メニューに戻ります。

[Box-Code Display]またはテスト画面で押すと、アウトラインエディタの編集エリアに戻ります。

  PF4 テスト。
ボックスレイアウトを使用してマップ定義をテストします。 この機能はマップエディタからも呼び出すことができます。

PF3 キーまたは Enter キーを押すと、編集エリアに戻ります。

  PF5 ボックス表示。
マップのボックスコード設定を表示します。後述の「Box-Code Display」を参照してください。

PF3 キーまたは Enter キーを押すと、編集エリアに戻ります。

  PF7 画面を 1 ページ上方にスクロールします。
  PF8 画面を 1 ページ下方にスクロールします。
  PF9 全画面モードと画面分割モードを切り替えます。
  PF10 マップの幅が画面より広い場合に画面の左半分に移動します。
  PF11 マップの幅が画面より広い場合に画面の右半分に移動します。
  PF12 Enter キーを押す前に編集エリアで実行された直前の操作を取り消します。

Box-Code Display

ボックスコード表示機能により、[Box-Code Display]画面が表示されます。この画面は確認用で、ボックスコードを単なる文字と区別するのに役立ちます。

[Box-Code Display]画面には、設定されているボックスコードが表示され、フィールド位置が一連のピリオド(.)で示されます。 この画面には、エンドマーカーとして入力された E は表示されません。

ボックスコード表示画面は、編集には使用できません。

[Box-Code Display]の例:

以下の例は、PF4 キーが押された後のマップのボックスコード設定を示しています。 この例は、「ボックスコード設定の例」をベースにしています。

graphics/oedit_bc_display.png

Top of page