Program A - Reads data from the screen & passes on to the called module Program B via Linkage MID. Similarly Program B sends back the processed data to be thrown on the screen via Linkage MOD.
First time Program A displays a common screen to capture the Transaction code. Once the User keys in the Tran code Program A receives the Tran code via a DC GU call & passes it onto Program B. Program B passes back data to be thrown on a Tran specific screen. When the user presses enter without modifying any of the screen fields the MID area doesn't get populated with the Screen data. If at all the user modifies one of the screen fields this alone get captured in the MID block.
I think you haven't mentioned the MOD attribute to the corresponding field. Default is NOMOD. If it is default, then you will get the value only when modified else it will not retreive any data from the screen. Try with ATTR=(ALPHA,NOPROT,MOD) parameter.... ALPHA and NOPROT are just examples.. it may vary based on ur requirement...