ILSMARTRESTRICT

ILSMARTLINKAGE クラスでのプロパティ生成を非再定義の基本項目に制限します。

構文:

制約事項: この指令はマネージ COBOL でのみサポートされています。
>>-.---.---.----.-ILSMARTRESTRICT-------><
   +-/-+   +-NO-+         

プロパティ:

デフォルト: NOILSMARTRESTRICT
段階: 構文チェック
$SET: 初期
IDE での相当機能: プロジェクトのプロパティで [COBOL] タブの [Expose group linkage items to managed code] をオンにして、[Options] をクリックし、[Limit property generation to non-redefining elementary items] をオンにします。

例:

次の COBOL プログラムは、ILSMARTLINKAGE、ILSMARTRESTRICT、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).
       01 lnk-b-reprint-details redefines lnk-b-details.	
          03 lnk-b-invisible      pic x(20).
         
       procedure division using by value lnk-function
                                by reference lnk-b-details.

C# では、次のように .NET 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-b-details 
    . . .          
       myDetails.Title = "Great Expectations";
      
       myBook.BookLegacy("2", myDetails);
         // calls the BookLegacy method with myDetails, 
         // which corresponds to the group item lnk-b-details

ILSMARTRESTRICT を設定せずに、グループ項目や再定義基本項目などの他のプロパティにアクセスできます。

...
myDetails.setDetails = "Great Expectations     Novel       Dickens";
myDetails.setInvisible = "can't see this";

詳細については、Enterprise Developer サンプルの C# WinBook デモンストレーションを参照してください。