Monday, 27 May 2013
Separating data processor implementation and data processing logic
After about a year, yesterday I was looking some Mainframe source code. I was looking at some JCL to be precise. Looking at the familiar IDCAMS and REPRO procedures, I could get a sense of what the code was doing. Then I saw a sorting routine which used the program ICETOOL. I could figure out the input and output streams defined but I could not find the parameters for sorting. Finally, I figured they were getting passed through TOOLIN interface. Interestingly, the sorting parameters were kept in a separate file. This was nice programming: separating the rules from the implementation so that when the input changes, the changes to the rules can be made in that file only and the rest of the program works fine without any changes.