I spent more time coding and de-mangling than thinking about it, because I half-suspect that the columns will turn out not to be fixed-position and that, along with the lines of dashes magically appearing, led me to expect a request for code, rather than hints :-)
Joined: 28 Jan 2012 Posts: 287 Location: Room: TREE(3). Hilbert's Hotel
This is really great! The single OVERLAY is by default populating the string '0000' in the 51st column and the subsequent CHANGE statements are looking up for spaces and setting the value to 1 if it does not find the match.
input field start position,input field length,CHANGE=(output field length,find value,set value if find a match),NOMATCH=(set value if does not match)
Sets four bytes from position 51 to zero
In position 51, for one byte, it will change that value to zero where there are spaces at position 1,3 otherwise it will be "1" at that position
This is repeated for the remaining three byte groups and one-byte positions from 52 to 54.
Note that the OVERLAY allows re-use of a position whose value has already changed in the OVERLAY. You can't do that with BUILD (you can use CHANGE in BUILD, of course).