このセクションでは、マップの編集に使用できる画面モードおよびコマンドについて説明します。
マップエディタでは、編集セッションは常に画面分割モードで開始されます。 画面分割モードでは、マップエディタ画面の上半分に他の Natural オブジェクト(「データ定義の選択」を参照)のデータ定義か現在のデリミタ設定、またはその両方が表示されます。画面の下半分には、次の例に示すように編集エリアが表示されます。
Ob _ Ob D CLS ATR DEL CLS ATR DEL . . T D Blnk T I ? . . A D _ A I ) . . A N ¬ M D & . . M I : O D + . . O I ( . . 001 --010---+----+----+---030---+----+----+---050---+----+----+---070---+- Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Mset Exit Test Edit -- - + Full < > Let |
PF9 キーを使用すると、全画面モードと画面分割モードを切り替えることができます。
PF3 キーを押すか、または画面の上部セクションにある[Ob]入力フィールドにピリオド(.)を入力すると、マップ編集エリアを終了できます。
次の PF キーおよびコマンドを使用すると、エディタ機能の呼び出しまたはマップ編集エリアへの移動を行うことができます。マップ行の先頭で次のコマンドを入力します。
PF キー | コマンド | 説明 |
---|---|---|
PF1 | マップエディタのヘルプ機能を呼び出します。 | |
PF2 | 現在のマップ設定を表示/変更します。 | |
PF3 | .Q |
マップ編集を終了して[Edit Map]メニューに戻ります。 |
PF4 | マップ定義をテストします。 | |
PF5 | カーソルが現在位置するフィールドについて、拡張フィールド編集機能(関連するセクションを参照)を起動します。 | |
PF6 | .-- |
マップの最上部に移動します。 |
PF7 | .- |
上方向にウィンドウ半ページ分移動します。 |
.-nnn |
上方向に nnn 行移動します。 | |
PF8 | .+ |
下方向にウィンドウ半ページ分移動します。 |
.+nnn |
下方向に nnn 行移動します。 | |
.++ |
マップの最下部に移動します。 | |
PF9 | ./ |
画面分割モードと全画面モードを切り替えます。 |
PF10 | .< |
左にウィンドウ半ページ分移動します。 |
.<nnn |
左に nnn 列移動します。 | |
.<< |
マップの左の境界に移動します。 | |
PF11 | .> |
右にウィンドウ半ページ分移動します。 |
.>nnn |
右に nnn 列移動します。 | |
.>> |
マップの右の境界に移動します。 | |
PF12 | 最後に Enter キーを使用したとき以降の画面への変更を無視します。 | |
.* |
左上角をカーソル位置に移動します。 | |
PF13 | ..X |
Natural for MBCS がインストールされている場合のみ適用されます。
マップエディタとアウトラインエディタの編集エリアを切り替えます。 |
行コマンドは次の形式で入力する必要があります。
..line-command
ここで、2 つのピリオド(..)は、マップ定義で有効な制御文字を 2 文字入力することを示しています。
各行コマンドの末尾には空白を 1 文字入力することをお勧めします。 これにより、エディタがその行に存在する情報を行コマンドの一部として解釈するのを防ぐことができます。
次の行コマンドを使用できます。
コマンド | 説明 |
---|---|
..A |
配列テーブル定義(「配列とテーブルの定義」セクションを参照) |
..An |
オカレンス n 回の配列テーブル定義。
このコマンドを使用すると、現在の行で指定されたすべてのフィールドに、垂直方向のオカレンスが n 回のテーブルを作成できます。 |
..C |
1 行(つまり、コマンドが入力された行)を中央に配置します。
同じ画面で |
..Cn |
1 行およびその下の n-1 行を中央に配置します。 |
..C* |
1 行およびその下のすべての行を中央に配置します。 |
..D |
1 行(つまり、コマンドが入力された行)を削除します。
同じ画面で |
..Dn |
1 行およびその下の n-1 行を削除します。 |
..D* |
1 行およびその下のすべての行を削除します。
削除処理が配列要素に影響する場合は、その配列もすべて削除されます。 |
..E |
行に含まれるすべてのフィールドについて、機能の[Field and Variable Definitions - Summary]画面を呼び出します(「[Edit Map]メニューの機能」を参照)。
同じ画面で |
..En |
この行およびその下の n-1 行について、機能の[Field and Variable Definitions - Summary]画面を呼び出します(「[Edit Map]メニューの機能」を参照)。 |
..E* |
この行およびその下のすべての行について、機能の[Field and Variable Definitions - Summary]画面を呼び出します(「[Edit Map]メニューの機能」を参照)。
|
..Fc |
文字 c を使用して行の空白を埋めます。 |
..I |
1 行を挿入します。
行を挿入できるようにするために、画面の最後の空行は削除されます。 |
..In |
コマンドが入力された行の下に n 行挿入します。 |
..I* |
コマンド行の下にできる限り多くの行を挿入します。 |
..J |
コマンドが入力された行をその下の行と連結します。
同じ画面で |
..Jn |
コマンドが入力された行をその下の n-1 行と連結します。 |
..J* |
行をその下のすべての行と連結します。
連結処理の結果、行が長くなりすぎる場合は、下方にある行ができる限り右端の位置で分割され、左側部分が前の行と連結されます。 分割された行の右側部分は左に移動し、コマンドが入力された行に整列されます。 |
..L |
[Modify INCDIR Statements of Map]画面が表示されます。この画面では、DDM(データ定義モジュール)からコピーされたマップフィールドに対して生成された INCDIR ステートメントをリストおよび更新できます。 手順の詳細については、「DDM への参照のチェックおよび修正」を参照してください。
|
..M |
コマンドが入力された行をカーソル行の下に移動します。
同じ画面で |
..Mn |
行およびその下の n-1 行をカーソルでマークされた行の下に移動します。 |
..M* |
コマンドが入力された行およびその下のすべての行をカーソルでマークされた行の下の行に移動します。
このコマンドは、カーソルでマークされた行が、コマンドが入力された行より上にある場合にのみ効果があります。 |
..P |
PF キー処理ルール編集を呼び出します。
PF キー処理ルールとは、プログラム依存の PF キーに割り当てられた動作を定義する特別な処理ルールのことです。 |
..Pn |
ランクレベル n の PF キー処理ルール編集を呼び出します。 |
..Q |
マップ編集を終了して[Edit Map]メニューに戻ります。 |
..R |
コマンドが入力された行のすべてのリテラル文字列を 1 回繰り返します。 対象行の指定にはカーソル位置を使用します。
同じ画面で |
..Rn |
この行および次の n-1 行のすべてのリテラル文字列を繰り返します。 カーソルがコマンド行より下にある場合は、同じテキストが n 回繰り返されます。 |
..S |
カーソル位置で行を分割します。
同じ画面で |
..Sn |
コマンドが入力された行およびその行の下の n-1 行をカーソル位置で分割します。 |
..X |
Natural for MBCS がインストールされている場合のみ適用されます。
マップエディタとアウトラインエディタの編集エリアを切り替えます。 この行コマンドの代わりに、PF13 キーを使用できます。 |
フィールドコマンドは次の形式で入力する必要があります。
.field-command
ここで、ピリオド(.)は、マップ定義で有効な制御文字です。 各コマンドは、テキストフィールドまたはデータフィールドの最初の位置で開始する必要があります。
フィールドコマンドは、フィールドまたは定数の範囲に適用できます。 その範囲は、次のいずれかの方法で指定できます。
同じ画面で同一のフィールドコマンドを複数回使用できます。 列の範囲(水平方向の範囲)および行の範囲(垂直方向の範囲)は、コマンドの位置で決まります (この説明の例については「マップエディタのチュートリアル」を参照)。
繰り返し数 n を使用できます。 これはカッコで囲みます。 コマンドは、指定したフィールドおよびその下の n-1 行内のフィールドに適用されます。 繰り返し数 *
(アスタリスク)を指定すると、マップの最下部に達するまで繰り返されます。
各フィールドコマンドの末尾には空白を 1 文字入力することをお勧めします。 空白を入力すると、フィールド部分をエディタがフィールドコマンドの一部として解釈するのを防ぐことができます。
次のフィールドコマンドを使用できます。
コマンド | 説明 |
---|---|
.A |
配列を定義します。 このコマンドは単一のフィールドにのみ適用できます。フィールドの範囲には適用できません。
配列定義(「配列とテーブルの定義」を参照)は、表示された画面で指定します。 その結果生成される配列は、このコマンドが入力された位置の左上角に配置されます。 配列は、 |
.An |
別の画面を使用することなく 1 次元配列(空白なし、オフセットなし)を定義するには、.A コマンドに繰り返し数 n を指定します。
|
.C |
フィールド、または隣接するフィールド間のフィールド範囲を中央に配置します。
単一のフィールドを中央に配置するには、中央に配置するフィールドで フィールドの範囲を中央に配置するには、中央に配置する最初と最後のフィールドで 隣接するフィールドが存在しない場合は、マップ定義の有効な列境界が代わりに使用されます。 |
.D |
フィールドまたはフィールドの範囲を削除します。
単一のフィールドを削除するには、削除するフィールドで フィールドの範囲を削除するには、削除する範囲の最初と最後のフィールドで |
.E |
カーソルが現在位置するフィールドについて、拡張フィールド編集機能(関連するセクションを参照)を起動します。 このコマンドは単一のフィールドにのみ適用できます。フィールドの範囲には適用できません。
また、選択したフィールドにカーソルを置き、PF5 キーを押すと、拡張フィールド編集を起動することができます。 |
.J |
連続する行に配置されたフィールドを連結します。
連結処理の左の境界は、 |
.M |
フィールドまたはフィールドの範囲を移動します。
単一のフィールドを移動するには、移動するフィールドで フィールドの範囲を移動するには、移動する最初と最後のフィールドで |
.P[n] |
フィールドの処理ルール(関連するセクションを参照)を編集します。
編集する処理ルールのプライオリティ(ランク)を指定するには、 |
.R |
フィールドまたはフィールドの範囲を繰り返し(コピーし)ます。
単一のフィールドをコピーするには、コピーするフィールドで フィールドの範囲をコピーするには、コピーする最初と最後のフィールドで 繰り返しは常に左から右へ下向きに実行されます。 このコマンドで生成されたフィールドには、ダミーの名前が割り当てられます。 このようなフィールドには、事後割り当て機能または拡張フィールド編集機能(関連するセクションを参照)を使用して、それぞれ有効な名前を定義する必要があります。 注意: |
.S |
行または行の範囲を分割(移動)します。
分割を開始するフィールドで |
.T |
フィールドまたはフィールドの範囲を行から切り捨て(削除し)ます。
切り捨てを開始するフィールドで |