after the IMS topic (link), I am now investigating the DB2 applications, that should be easier.
I believe the best approach to identify what has been updated/deleted is by creating a trigger that saves/sends somewhere the PK of the record changed.
Is this possible?
All I want to know is which record was changed, it does not mather what. I think that creating a new table to keep this info will not be the best solution (trigger with an insert statement), but if I could call some JCL and with a simple COBOL program write the PK on a dataset I think the results will be better.
From what i understood from the link is, that you have 15 source systems and if anything gets updated there it should be updated to your new target system.
Solution : REPLICATION.
Things that are not clear from your post is, you have mentioned 15 systems, is it 15 different applications in your company or 15 different databases residing at different places in the world on different database technology.
You should read about "IBM - InfoSphere Replication Server". You can google on "ims db2 replication".
This will get your updates in real-time(real-time minus couple of seconds/minutes based on setting data will be available in target).
Very oldest technique is Trigger, which has lots of disadvantages. For big applications you don't want to go on that road where performance matters. If its for just testing purposes, just to get an idea you can use triggers.
Other Solutions, for DB2 you can use CA Log Analyzer to get the undo & redo's SQL's/Unload form which you can run everyday via JCL. I am not sure whether same tool is available for IMS.