Good morning, I have been working in COBOL for over 20 years and I have always believed that when a main program (PA) calls a second program (PB) using `CALL PB USING field1 field2 field3` and the procedure in PB is `PROCEDURE USING field1 field2 field3`, the parameters that are put in the `using` procedure of a program (PB) should be defined in the `linkage` section, but I see in the documentation this“ Data-name-1 must be defined as a level 01 or a level 77 entry in the Linkage Section , File Section or Working-Storage Section”
This raises a lot of questions for me.
Has this always been the case? If the variables in PB are defined in the working storage section, what relationship do the variables in PA have with those in PB? How does assigning values to variables in PB affect the variables defined in PA? Could the call be made from PA without passing those parameters?