Our solution is to have two entry points into the program - one for normal view access and one for batch access which simply feeds the main processing sections with "pre-filled" screens.
The multiple entry points can be acheived in a variety of ways - we tend to use run time switches (parm=nn).
The program has to recognise when it is in batch mode access and skip round the relevant View intrinsics.