Limits the generation of properties in ILSMARTLINKAGE classes to non-redefining elementary items.
>>-.---.---.----.-ILSMARTRESTRICT------->< +-/-+ +-NO-+
| Default: | NOILSMARTRESTRICT |
| Phase: | Syntax check |
| $SET: | Initial |
| IDE equivalent: | None |
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 Java, you can access the data in BookLegacy program in JVM 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.setTitle("Great Expectations");
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");
...