Note: The content in this blog is applicable to retail systems only.
In my project, we faced issues in delta extraction for 0MATERIAL_ATTR and 0MAT_PLANT_ATTR. Thought of sharing the workaround for the same.
For Retail Systems, delta doesn’t work for 0MATERIAL_ATTR and 0MAT_PLANT_ATTR.
Hence, it is suggested to use 0ARTICLE_ATTR and 0ART_PLANT_ATTR instead.
Also, please note that the delta extraction for these datasources is based on the concept of change pointers. It involves different tables which are listed below:
1. Table ROOSGEN shows which message type (format: RSxxxx.) has been assigned to a datasource.
2. Table BDCPV contains the change pointers. Every time a change relevant to the datasource is performed, a change pointer with message type RSxxxx is added to table BDCPV.
3. Table TDB62 shows fields of tables that are relevant for a message type. That is, only changes of these fields will generate a change pointer (even if there are more fields in the datasource)
4. ROMDDELTA stores for each datasource, which change document object is used and which table is used for generation of the change documents. The information stored in table ‘ROMDDELTA’ are used to generate the entries in the table ‘TBD62’. The entries in ROMDDELTA are normally created when activating a DataSource in RSA5.
If it is not there, the DataSource should be re-activated (and replicated in BW to be sure of consistency).
For a datasource: In table ROMDDELTA, field TABNAME should be the same as the TABNAME field for TDB62.
Also, esnure that the ‘Object’ field in table ROMDDELTA has value ‘MAT_FULL’ for both the datasources.
For 0ART_PLANT_ATTR, if the TABNAME field in table ROMDDELTA has value ‘MARC’, you need to run a ABAP report for changing these entries to DMARC. Below is the ABAP code that can be used.
SET tabname = ‘DMARC’
WHERE tabname = ‘MARC’ and OLTPSOURCE = ‘0ART_PLANT_ATTR’.
Hope this blog post helps you.