MF 

制限事項および制約事項

パラメーター化セクションを利用するプログラムには次の制限事項および制約事項がある。

  • PERFORM-TYPE"MF" を使用してコンパイルしなければならない。
  • パラメーター化セクションは適切に構造化されていなければならない。このコンテキストでは、重複する実行範囲の一部でない、セクションの範囲を超えて実行されない、またはセクションの範囲を超えた GOTO がないものと定義され、単純な PERFORM 操作でのみ到達できなければならなない。
  • 段落を含めることは可能であるが、そのような段落を PERFORM 文のターゲットにすることはできず、パラメーター化セクション自体にある GO TO 文のターゲットにしかできない。

    さらに、デフォルトの DECLARE"2" 指令で翻訳されたネイティブ COBOL プログラム (つまり、ILGEN または JVMGEN で翻訳されていないプログラム) の場合、含まれる段落についての同じ制限が DECLARE 文でローカル変数を宣言するセクションにも適用される。

  • すべての呼び出しで正しい数の引数を渡す必要があり、各引数は互換性のある型でなければならない。該当する場合、返却値も互換性のある型でなければならない。
  • 中間コードの生成時は、すべてのローカル変数とアクティブなパラメーターを 16 KB に格納しなければならない。この制限を超えると、「COBRT133 Size of declare local items including parameters exceeds 16Kb」エラーが生成される。
  • パラメーター化セクションに 64 KB を超える宣言されたローカル変数 (returning パラメーターのサイズを含む) が含まれていると、「COBCH2201 Allocation of declare local and/or section parameters exceeds 64Kb」エラーが生成される。