画面・帳票サポートシステム XMAP3 開発支援ユティリティ


2.2.5 パネル定義文の編集

Windowsで扱えるようにするために,パネル定義文を変更する必要がある次の定義について説明します。必要に応じて,パネル定義文だけでなく,APのソースも修正してください。

変換できる機能については,「付録B インポートで変換できる機能範囲」を参照してください。

〈この項の構成〉

(1) COBOL/C以外の言語で使用するパネル定義文

インポートで変換できるのは,COBOL用のパネル定義文だけです。それ以外の言語用のパネル定義文の場合,変換時にPANEL文のLANGオペランドがC(COBOL)に変更されます。

ただし,データ名は変換しないので,あらかじめCOBOLで使用できるデータ名に変更しておいてください。

(2) 16進数による指定

インポートでは16進数による指定は変換できません。数値または文字列に変更してください。ただし,次の指定は変換できるので,修正する必要はありません。

(3) ページング(複数のLOGSEG文,PHSEG文)

XMAP3はページングに対応していないため,インポートでも複数のLOGSEG文およびPHSEG文を含むパネル定義文を変換できません。一画面(一組の論理セグメントと物理セグメント)につき一つのパネル定義文になるように,ファイルを分割してください。

(4) ページプリンタ帳票のけい線のDFC

インポートでは,帳票はすべて「占有」として変換されます。したがって,PHSEG文のCNTRLオペランドにFULLを指定した場合,けい線の開始位置とフィールドの配置とが重なることがあります。この場合,「パネル定義文ファイル名.err」にエラーメッセージが出力されますが,マップ定義ファイルは生成されます。ただし,重なったオブジェクトのうち,変換されるのはパネル定義文中で最初に定義された要素だけで,それ以降のものはエラーとなり変換されません。

けい線の開始位置とフィールドが重なって,どちらかが変換されない場合を次の図に示します。

図2‒7 けい線とフィールドが重なる定義例
例1の場合,あとで定義されたけい線(RLINE文)は変換されない。
可変フィールドが固定フィールド(CNSFLD文)の場合も同様。
例1
    VARFLD POS=(8,7)...
           :
           :
    RLINE  POS=(8,7)...
 
例2の場合,あとで定義された可変フィールド(VARFLD文)は変換されない。
可変フィールドが固定フィールド(CNSFLD文)の場合も同様。
例2
    RLINE  POS=(8,7)...
           :
           :
    VARFLD POS=(8,7)...

このような場合は,パネル定義文を修正して位置を変更してください。または,変換されたファイルをドローで編集して,変換されなかったオブジェクトを定義し直してください。