In COBOL-CICS-DB2, how to determine if a bank account has become dormant/closed?

I'm a mainframe developer trainee and we're asked to create a CICS DB2 application mimicking banking transactions (balance inquiry, withdrawal, account update, etc), one of which includes updating status of bank account from active to dormant, and dormant to closed. Can I have suggestions on how the checking of account movement can be done?

The requirement for active account to be dormant is that there should be no account movement in 12 months. The requirement for dormant account to be closed is that it should reach 2 years of dormancy.

My initial idea is to create a table containing dates of when the account was created and its most recent transaction. For every new transaction request, the program will check if date of new transaction request is 12 months from date of the most recent transaction. If yes, then cancel the new transaction request and update account status from active to dormant, else, proceed with the transaction request and overwrite the current table record and replace it with the new transaction. Will this work?


  • Regardless of the methodology Z has your back. You could have a program that processes the accounts in batch on a monthly or quarterly basis (really a business requirement). To avoid tight coupling, I'd suggest something like MQ to schedule a transition (from active to dormant and then then from dormant to inactive). The change in status could then be processed in another batch job (quarterly perhaps) that made the transition of status. Sent out materials asynchronously, ...) This is less about a technical challenge than the business requirements that drive what IT will do. In your challenge make sure you document the business requirements and your approach and you'll do well.