About change log at case management of FSCM
Maybe you’ll be a little bit surprised that the change history of the case at FSCM is not relevant to the history table CDHDR/CDPOS.
Instead, the change history of cases is stored at table SRMPROTOCOL (SRM protocol entries). The key field to link the case master table (SCMG_T_CASE_ATTR), DCD case attribute table (UKM_DCD_ATTR), and dispute case attribute table (UDMCASEATTR00) is CASE_GUID.
Very likely but the SRMPROTOCOL-POID_ID is not the same as CASE_GUID.
We can get the POID_ID/sub-object ID of SRMPROTOCOL from BAPI_CASE_READLOG by CASE_GUID:
Below is an example of an entry for one case attribute change at table SRMPROTOCOL:
There’re several types of changes that will have accordingly entry at the above table for cases at FSCM:
- Manual changes of any fields inside CASE management;
- Changing attributes at the program through BAPI like ‘BAPI_CASE_CHANGE’, ‘BAPI_CASE_CHANGEATTRIBUTES’ or ‘BAPI_DISPUTE_ATTRIBUTES_CHANGE’;
- Changing attributes by method ‘attribute_change’ of cl_scmg_case_api at BADI like ‘SCMG_CASE_FCODE_S’.
- Automatic Document Changes from Dispute Case.
Unfortunately, the change history will not store all fields changes (same as SCASE->Attributes->Logs). For example, if implement BADI ‘UKM_SE_UKM_DCD_MNTNO’ and change attribute through method IF_UKM_SE_UKM_DCD_MNTNO~INBOUND_PROCESSING.
Please correct if something wrong and kindly let me know if you know how to trace back attribute changes which no history entry against it at the mentioned table : D