LNK files describe a mainframe execution entry with all needed program versions.
Disclaimer: To use this functionality file with version needs to be named like its identifier followed by the <3 letter version>, for example COBOLA00.cbl, ASMA00 or LINKA00.lnk where A00 is the version number. For Cobol file, PROGRAM-ID doesn’t change.


Entry ID

It is the entry point of LNK file and the only dependency from a LNK file to any mainframe program named ID (Cobol, Asm, …)


INCLUDE (LKEDLIB|DB2LIB) (<id with version>)

In a LNK file, this line specifies what version of a program needs to be used during entry runtime

INCLUDE (LKEDLIB|DB2LIB) (<id with version>) *MAIN*

Besides basic INCLUDE statement behaviour, this line replaces the entry line if absent
Include statements are used to prune unwanted versions.
For example,
– a LNK file LINK.lnk includes PROG1A00 and PROG2A00
PROG1A00 calls PROG2
PROG2A00 and PROG2A01 exists
Then PROG1A00 will only depend on PROG2A00 and a dependency type version from LINK will be added.