I would like to point out few things in the code:
1. As @Kurt_Bremser pointed out call execute are put on a queue for execution and are executed after the datastep is done. Hence the reason you cannot use symput and sympget in the same datastep in your case.
2. I do not understand the objective of your program if call execute is overriding the macro variable being created and you get the value. If you are trying to get the values for display purpose you might as well say put inside your code. Why not do a join on the two datasets by ID and Date and get the variables you want by executing the code you shared with is in the macro.
... View more