Limits the generation of properties in ILSMARTLINKAGE classes to non-redefining elementary items.
>>-.---.---.----.-ILSMARTRESTRICT------->< +-/-+ +-NO-+
Default: | NOILSMARTRESTRICT |
Phase: | Syntax check |
$SET: | Initial |
IDE equivalent: | Check Expose group linkage items to managed code on the COBOL tab in the project's properties, click Options and check Limit property generation to non-redefining elementary items. |
The following COBOL program is compiled with ILSMARTLINKAGE, ILSMARTRESTRICT, ILCUTPREFIX(lnk-b-) and 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.
In C#, you can access the data in BookLegacy program in .NET COBOL as follows:
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
Without ILSMARTRESTRICT set, you can also access other properties, such as group items and redefining elementary items:
... myDetails.setDetails = "Great Expectations Novel Dickens"; myDetails.setInvisible = "can't see this";
See the C# WinBook demonstration in the Enterprise Developer samples for more.