2.6.1 パネル定義文から変換されたマップ定義ファイルのドローによる編集
パネル定義文とWindowsのマップ定義ファイルとでは,使用できる機能の範囲が異なります。そのため,ドローを使って定義し直す必要があります。
インポートで変換できるパネル定義文の範囲については,「付録B.1 パネル定義文のインポートで変換できる機能範囲」を参照してください。
ここでは,パネル定義文のインポート後にドローで編集が必要な次の項目について説明します。
-
16進数による指定
-
項目属性(DFC)16進数による直接指定(ATTRオペランド)
-
フィールド制御の項目属性(DFC)16進数指定(CTLFLD文のTYPE=(ATTR,X))
-
論理項目の展開順序
-
マップ名がない論理項目
-
従論理項目の繰り返しとピクチャ文字
-
フレームに重なるオブジェクト
-
省略時仮定値の漢字定数
-
隠しフィールド(LOGFLD文のPOSオペランドにDUMMYを指定)
-
PHSEG文でCSCFオペランドを指定していない帳票
-
ページプリンタ帳票のけい線のDFC
- 〈この項の構成〉
(1) 16進数による指定
メインフレームから転送したパネル定義文をインポートした場合,16進数による指定は変換できないため,変換されなかったオブジェクトをドローで定義し直してください。なお,次の指定はインポートで変換できるため,ドローでの編集は必要ありません。
-
固定フィールドのテキスト
-
出力/入出力テキストの自由な埋字,および自由な初期値
-
出力/入出力フィールドの自由な埋字,および自由な初期値
(2) 項目属性(DFC)16進数による直接指定(ATTRオペランド)
メインフレームから転送したパネル定義文をインポートした場合,ATTRオペランドに16進数指定した属性は有効となりません。属性をドローで再度定義してください。
(3) フィールド制御の項目属性(DFC)16進数による指定(CTLFLD文のTYPE=(ATTR,X))
メインフレームから転送したパネル定義文をインポートした場合,16進数による直接指定の動的変更(CTLFLD TYPE=(ATTR,X))は,動的変更なしとなります。該当するフィールドの動的変更をドローで再度定義してください。このとき,動的変更の内容はドローセットアップの該当する項目の表示属性となりますので,あらかじめドローセットアップで指定内容を設定してください。
(4) 論理項目
(a) 論理項目長
メインフレームからパネル定義文をインポートした場合,論理項目の長さが項目長よりも長いときは,項目長と同じ長さに変換されます。その場合に,従論理項目が切り捨てられることがあります。項目長よりも長い論理項目については,ドローで確認し,必要に応じて定義し直してください。
(b) 展開順序
論理項目は,配置されている位置の順序(左上から右下へ)または論理/制御項目の順序に従って展開されます。展開順序を修正する場合は,ドローの[属性]−[データ名]を選択して変更してください。
メインフレームからインポートした場合,インポートの変換オプションを利用して論理項目順に論理マップを展開できます。ただし,論理項目の展開順序は,ドローの[データ名編集]ダイアログで編集できる範囲となります。CTLFLD文のTYPEオペランドでのATTR指定位置で論理項目を展開するときや,展開順序を変更するときは,ドローの[データ名編集]ダイアログで編集してください。
(c) 従論理項目の繰り返しとピクチャ文字
XMAP3では,従論理項目の繰り返しを定義できません。インポートでは,従論理項目の長さを(繰り返し回数)×(項目長)として変換します。また,従論理項目のピクチャ文字列は変換されません。ドローで定義し直してください。
(5) フレームと重なるオブジェクト
XMAP3のドローでは,フレームの領域に単独の項目(固定項目,フレーム外の可変項目,予約項目)やほかのフレームを重ねて配置できません。したがって,このようなフレームとオブジェクトが重なっているパネル定義文をインポートすると,次のように変換されます。
-
固定項目や予約項目が繰り返されているフレームの二つ目以降の領域に,単独の項目が重なっている場合
フレームの繰り返し回数を無視して,繰り返しのないフレームに変換されます。
-
固定項目や予約項目が繰り返されているフレームの一つ目の領域に,単独の項目が重なっている場合
フレームサイズを調整して重なりを回避します。
ただし,重なったフレーム内に繰り返された可変項目が2個以上の場合,またはサイズを調整しても重なりが回避できない場合は,単独の項目を削除します。
-
繰り返された可変項目の二つ目以降が,フレームの領域と重なっている場合
可変項目の繰り返し回数を無視して,繰り返しのない可変項目に変換されます。
-
繰り返された可変項目の一つ目,または繰り返しのない可変項目が,繰り返されたフレームの二つ目の領域と重なっている場合
フレームの繰り返し回数を無視して,繰り返しのないフレームに変換されます。
-
繰り返された可変項目の一つ目,または繰り返しのない可変項目が,繰り返されたフレームの一つ目の領域と重なっている場合
フレームサイズを調整して重なりを回避します。
ただし,重なったフレーム内に繰り返された可変項目が2個以上の場合,またはサイズを調整しても重なりが回避できない場合は,可変項目を削除します。
-
繰り返されたフレームの二つ目以降の領域が,ほかのフレーム領域と重なっている場合
フレームの繰り返し回数を無視して,繰り返しのないフレームに変換されます。
-
繰り返されたフレームの一つ目の領域が,ほかの繰り返されたフレームの一つ目の領域と重なっている場合
フレームサイズを調整して重なりを回避します。どちらかのフレーム内に繰り返された可変項目が2個以上の場合,またはフレームサイズを調整しても重なりが回避できない場合は,重なったフレームを削除します。
(6) 省略時仮定値の漢字定数
メインフレームから転送したパネル定義文をインポートした場合,パネル定義文の省略時仮定値(LOGFLD文のVALオペランド)に半角の空白(X'40')を含む漢字定数を指定しているときは,その半角の空白を英数定数(C)に変換します。その結果,省略時仮定値が全角・半角混在となり,マップ生成時に初期値が正しく反映されないことがあります。この場合,インポートでWindows用のマップに変換したあとで,ドローを使って該当個所を全角空白などに変更してください。また,APで省略時仮定値を意識した処理をしている場合,ドローの変更に従って,処理を見直してください。
(7) 隠しフィールド(LOGFLD文のPOSオペランドにDUMMYを指定)
隠しフィールド(VARFLD文で,POSオペランドにDUMMYを指定した場合)はインポートでは変換されません。ドローの[属性]−[画面属性]から[画面属性]ダイアログを開いて定義し直してください。
(8) PHSEG文でCSCFオペランドを指定していない帳票
帳票でPHSEG文のCSCFオペランド(字間値)を指定していない場合,次の値を指定したものとして変換します。
-
基準字間値:0I
-
基準文字サイズ:9ポイント
このため,ドローでマップ定義ファイルを確認し,文字サイズを調整してください。
(9) ページプリンタ帳票のけい線のDFC
メインフレームから転送したパネル定義文をインポートした場合,ページプリンタ帳票はすべて「占有」として変換されます。そのため,メインフレームでは非占有として定義した帳票では,次に示す場合,重なったオブジェクトのどちらかが変換されません。
-
横けい線の開始位置または終了位置とフィールドが重なる場合
-
縦けい線とフィールドが重なる場合
このような場合は,変換されなかったオブジェクトをドローで定義し直してください。けい線とフィールドが重なる場合の対処については,「2.2.5(4) ページプリンタ帳票のけい線のDFC」を参照してください。