as the requirement varies the programs are also modified and differnt versions are maintained, the configuration managment tools or version control tools are the same
For examples Endeavor/changeman/panvalet/librarian
non mainframes VSS/clearquest
2) How do you know which record caused an Abend?
if no database or CICS is involved, u can easily findout the error caused as if there are 20 records and 13th record gets the error all the 12 records will be present in them
if database or CICS is involved, then at syncpoint or commit we need to maintain that value in seperate table and do a commit so that if any abend we can process
for example if there are 1000 records and if u issue commit at every 200 records, then if error at 650 th record we should from 601 record again as the 600 record value is stored in a table