The linkage section is part of a called program that 'links' or maps to data items in the calling program's working storage. It is the part of the called program where these share items are defined.
I have always moved linkage section variables to working storage variables because I had been told that using the linkage variables in the Procedure Division would cause process time issues. Could this be true or is this an urban legend ??
Each parameter to be accepted or passed by a procedure must be declared in the LINKAGE SECTION.
This section lists buffers for data are common to calling and called programs. Calling parameters are set in the Linkage Section of the called programs and those parameters that the calling program needs to read after a call are set on the Linkage Section of the calling program.
Note that the Linkage Section of a calling program and its called programs are not in general the same.