Delta queue with transparent tables based on table data changes
once, I was able to find a document (maybe a how-to, if I'm not wrong) that covered a very interesting solution, that I need to implement due to a specific requirement.
Let me explain what's the catch.
In the source system (SAP based), there's a couple of tables that have an unsorted key but doesn't have dates or timestamps. I need to retrieve the information from such tables with a delta procedure. Due to the lack of delta supporting fields, I can't enable generic delta or even FM-based extraction.
The solution I saw once, suggested that Source System's tables could have the change log enabled from within the data dictionary (SE11) and then, that data change monitoring could be coupled with the delta queue mechanism (tRFC or qRFC enabled).
Could you, please, help me with that subject or, if possible, try to recover the document that explained that? Be sure I have put all my efforts trying to find that doc. by myself.
M. Verbaan replied
I'm not aware of any document but I made use of such a delta-mechanism a couple of times. Be aware that you should not use it for large tables or tables of which the content changes a lot (inserts/modifications/deletions). The system will create many huge logs which will consume a lot of disk-space.
1) Activate the logging on your table (SE11 -> enter table name -> go to Technical settings -> flag 'Log data changes')
2) Create a Generic DS based on FM (should be possible!) but do not touch the delta functionality; this has to be build into the FM
3) For the FM e.g. use a copy of RSAX_BIW_GET_DATA_SIMPLE
4) Customize the code to your needs; in the first call fetch the data from the change logs using FM DBLOG_READ_WITH_STATISTIC
5) This FM has dates and times as import parameters. As you don't have them you could create a Z-table in which you keep track of the extractions done. For the next load you then exactly know which logs to fetch (since stored date & time of last load).
Hope this helps you getting up to speed! It's a bit of a hassle but once set up will work fine.