独立型関数パーツ
独立型関数パーツは、ライブラリーを使用しない言語からのマイグレーションをサポートします。
別のパーツに含まれないすべての関数が独立型関数パーツです。
独立型関数パーツには、以下の特性があります。
- 通常の関数と異なり、独立型関数は別のパーツに組み込むことができない パーツです。
- 独立型関数を呼び出すすべてのプログラムにおいて、includeReferencedFunctions プログラム・プロパティーに YES を設定してください。詳しくは、『includeReferencedFunctions』を参照してください。
- 独立型関数は、新規コードには使用しないでください。
- 独立型関数を使用する場合は、containerContextDependent プロパティーを使用して、参照を解決する必要があることがあります。詳しくは、『containerContextDependent』を参照してください。
例
次に、独立型関数の例を示します。
package com.CompanyB.CustomerPackage;
// stand-alone function--outside program
function printBalance (pBal DECIMAL(7,2) in)
writeStdOut (strLib.formatNumber(pBal));
end
program BalanceCheck type BasicProgram {
includeReferencedFunctions = YES // without this property
} // cannot find printBalance()
customer INT = 1;
balance DECIMAL(7,2) = 0;
function main()
while (balance >= 0)
balance = getCustomerBalance(customer); // returns -1
printBalance (balance);
end // while
end // main
function getCustomerBalance (custNo INT in) returns (DECIMAL(7,2))
...
end // function
end // プログラム
互換性
| プラットフォーム | 問題 |
|---|---|
| VisualAge® Generator 互換モード | containerContextDependent プロパティーによって、独立型関数からの参照の解決に関して VisualAge Generator で使用可能であった機能性を実現しています。 関数およびパーツへのすべての参照は、その関数が呼び出し元の論理パーツ内に組み込まれている場合と同じように解決されます。 『containerContextDependent』を参照してください。 |