Hi sree,
You can tailor the level of the output for however detailed you wish it to be. If you want a really in depth trace, then you will need to increase the size of the working storage variable in order to acter for the extra amount.
I must admit, that this method is only really used in an abend situation where you wish to see what happened leading up to the error. If you are wishing to see exactly what happened on a run, on a line by line basis, then I would imagine that the variable will blow it's size pretty quickly.
The sort of trace you are describing is only usually necessary if you have problems. What you might wish to consider is judicious use of the DISPLAY verb which will write messages to the job log. You could use this sparingly to determine the path a program takes eg:
IF WS-FIELD = 'A'
DISPLAY 'WS-FIELD VALUE WAS A'
PERFORM ........
ELSE
DISPLAy 'WS-FIELD VALUE WAS NOT = TO A'
PERFORM ........
END-IF
This, tho, is a little bit of hammer to crack a nut, and I personally would question whether you really need the level of trace that you are describing.
HTH
Marc