付録B.1 一意名呼び出し対応付けファイル
一意名を呼び出しているCOBOLプログラムの解析で,VALUE句またはMOVE文による英数字定数の転記以外の方法で一意名が更新される場合,自動的に一意名の呼び出しを解析できません。このように,COBOLソース解析で自動的に一意名の呼び出しを解析できない場合に作成が必要なファイルです。
COBOLソース解析で自動的に解析できない場合,組み込みデータベースの作成時に,一意名の呼び出し先が解決しないことを示す警告メッセージが表示されます。この警告メッセージでCOBOLプログラム名と該当行番号を確認し,一意名呼び出し対応付けファイルを作成してください。
拡張子は,.idcで作成してください。
作成した一意名呼び出し対応付けファイルは,[解析オプション設定]画面の[呼出先プログラム解決]タブに指定します。
- 形式
"COBOLソースファイル名"△"プログラム名"△"一意名"△"呼び出し先プログラム名"
(凡例)
△:1個以上の半角空白を示します。
- 説明
-
一意名呼び出し対応付けファイルに指定する項目です。
- COBOLソースファイル名
-
一意名指定のCALL文が記述されているCOBOLソースファイル名です。
- プログラム名
-
一意名指定のCALL文が記述されているプログラム名です。
- 一意名
-
CALL文の一意名です。
- 呼び出し先プログラム名
-
呼び出し先のプログラム名です。
注意
-
一意名呼び出し対応付けファイルの1行の長さは,4,095バイト以内で指定してください。4,095バイトを超えていると,警告メッセージが出力され,その行は無視されます。
-
COBOLソースファイル名,プログラム名,一意名,呼び出し先プログラム名はそれぞれ引用符(")で囲み,1個以上の半角空白またはタブ文字で区切って,1行に1組だけ指定してください。
-
COBOLソースファイル名の長さは,255バイト以内で指定してください。
-
COBOLソースファイル名には,引用符(")を含むファイル名は指定できません。
-
COBOLソースファイル名には,絶対パス名を指定してください。ファイル名だけ,または相対パス名で指定した場合は,その行は無視されます。
-
プログラム名と呼び出し先プログラム名は,次に示すプログラム名の構成規則に従って指定してください。構成規則に従っていない場合は,警告メッセージが出力され,その行は無視されます。
-
次に示す文字で構成されている。
英文字(A〜Z,a〜z)
数字(0〜9)
日本語文字(ただし,拡張仕様)
-(ハイフン)
_(アンダスコア)
-
-
文字列の長さは,先頭は英文字または日本語文字で,かつ160バイト(-Compati85,Syntaxオプションの指定が有効な場合は30バイト)以内です。
-
一意名には,CALL文の一意名として参照されるデータ名を指定します。一意名が部分参照,修飾,または添字が付けられている場合は,警告メッセージが出力され,その行は無視されます。
-
一意名の長さは31文字(-Compati85,Syntaxオプションありの場合は30文字)以内で指定してください。一意名の長さが上限を超えた場合は,警告メッセージが出力され,その行は無視されます。
-
1カラム目が「#」で始まる行はコメント行として扱い,その行は無視されます。
-
一意名呼び出し対応付けファイルは,コメント行を含め1,000行以内で記述してください。1,000行を超えている場合は,警告メッセージが出力され,以降の行は無視されます。
-
一意名呼び出し対応付けファイルでは,次の文字は区別されます。
-
各英小文字と対応する英大文字
-
拡張コードの各文字と対応する標準コードの文字
-
-
COBOLソースファイル中の利用者定義語には文字の等価規則が適用されるため,プログラム名と一意名には,それぞれ等価規則の適用後のプログラム名やデータ名を指定してください。ただし, COBOLソースファイル名の英小文字と対応する英大文字は同等と見なされます。
-
COBOLソースファイル名で指定されたソースファイル名とプログラム情報収集対象(コンパイル対象)のソースファイル名とが一致しない場合,その行は無視されます。
-
指定したCOBOLソースファイルに,プログラム名と同じ名称のプログラム名が定義されていない場合,警告メッセージが出力され,その行は無視されます。
-
プログラム名に指定したプログラム定義中で,一意名と同じ名称のデータ項目がCALL文の一意名として参照されていない場合,または一意名が一意に参照できない場合,警告メッセージが出力され,その行は無視されます。
なお,CALL文の一意名に添字が付けられている場合は,CALL文の一意名から添字を除いたデータ名と一意名が一致していれば,一致したものと見なされます。
-
一意名と同じ名称のデータ項目がCALL文の一意名として参照されているとき,呼び出し先プログラム名を一意名指定のCALL文の呼び出し先として解決し,次の定数指定のCALL文が書かれていたと見なされ,プログラム情報が収集されます。
CALL '呼び出し先プログラム名' USING 一意名指定のCALL文と同じ引数の並び
-
一意名呼び出し対応付けファイルがある場合は,次の順に評価され,呼び出し先が解決されます。
-
COBOLソースファイルの解析による呼び出し先の解決
-
一意名呼び出し対応付けファイルによる呼び出し先の解決
-
-
1つの一意名指定のCALL文に対して,複数の呼び出し先プログラムを複数の行を使って指定できます。その場合,指定された呼び出し先プログラムの数だけ定数指定のCALL文が並んでいると見なされ,プログラム情報が収集されます。ただし,COBOLソースファイルの解析による呼び出し先の解決で仮定された定数指定のCALL文も含めて呼び出し先プログラムが同じものは1つとして扱われます。
-
プログラム名,呼び出し先プログラム名の中にハイフンがある場合,それぞれアンダスコアに変換してプログラム名,呼び出し先プログラム名と見なされます。
-
呼び出し先プログラム名の長さ(バイト数)が一意名の長さを超えている場合,呼び出し先プログラム名は切り捨てないで,そのままを呼び出し先プログラム名と見なされます。
-
一意名呼び出し対応付けファイルに対する警告メッセージは,コンパイルリストには出力されません。
-
一意名呼び出し対応付けファイルに対する警告メッセージは,次に示す形式で出力されます。
"一意名呼び出し対応付けファイル", line 行番号:警告メッセージ
-
一意名呼び出し対応付けファイルは,シフトJISコードで記述してください。
-
呼び出し先として解決されたプログラム名が,CALL文から呼び出せる内部プログラム名と一致している場合,そのCALL文は内部プログラム呼び出しのCALL文と見なされ,一致しない場合は,外部プログラム呼び出しのCALL文と見なされます。このとき,プログラム名が一致するかどうかは,プログラム名の文字列が一致するかどうかだけをチェックされ,引数と返却項目の適合規則はチェックされません。
-
一意名呼び出し対応付けファイルは,一意名指定のCANCEL文には適用しません。