ILSMARTLINKAGE

タイプを作成することで、連絡節とエントリ・ポイントをマネージ・コードに公開します。

構文:

制限事項:この指令はマネージ COBOL のみでサポートされます。
>>-.---.-.-------ILSMARTLINKAGE---.-------------.--.--------><
   +-/-+ |                        +-"namespace"-+  |
         +-----NOILSMARTLINKAGE--------------------+

パラメータ:

namespace
生成された各クラスがグループ化されるネームスペース

プロパティ:

省略値: ILSMARTLINKAGE
段階: 構文チェック
$SET: 初期

コメント:

この指令は、グループ・リンケージ項目をマネージ・コードに公開します。COBOL プログラムで通常生成されるクラスの他に、この指令は実質的に連絡節ですべての 01 レベル・グループ項目に 1 つのクラスを生成します。グループの各データ項目がこのクラスのプロパティとして公開され、ここでのプロパティは標準のマネージ・タイプです。従属グループは文字列として公開されます。

データ項目名からはハイフンが削除され、その削除されたハイフンに続く文字は大文字に変換されます。例えば、データ項目 author-nameAuthorName に名前変更されます。

ネームスペースを指定すると、この指令の結果として生成されるすべてのクラスはそのネームスペースの下でグループ化されます。

例:

次の COBOL プログラムは、ILSMARTLINKAGE、ILCUTPREFIX(lnk-b-)、および ILCUTPREFIX(lnk-) でコンパイルされます。

       program-id. BookLegacy.
						 ...
       linkage section.
       01 lnk-function            pic x.
       01 lnk-b-details.
          03 lnk-b-text-details.
             05 lnk-b-title       pic x(50).
             05 lnk-b-type        pic x(20).
             05 lnk-b-author      pic x(50).
          03 lnk-b-stockno        pic x(4).
          03 lnk-b-retail         pic 99v99.
          03 lnk-b-onhand         pic 9(5).
       procedure division using by value lnk-function
                                by reference lnk-b-details.

Java では、次のように JVM マネージ COBOL で BookLegacy プログラムのデータにアクセスできます。

    BookLegacy myBook = new BookLegacy();
       //creates an object corresponding to the BookLegacy program
    Details myDetails = new Details();
       //creates an instance corresponding to the group lnk-bdetails
    . . .
       myDetails.setStockno("6666");
       myDetails.setTitle("Managed COBOL");
       myDetails.setAuthor("Mike Focus");
       myDetails.setType("Reference");
       myDetails.setRetail(new ScaledInteger(155, 5));
       myDetails.setOnhand(20);