Where does CRM store the date fields?
Following a recommendation, I am placing this answer into a blog so that it can be easily found.
It is a challenge to completely understand the logic behind CRM to why dates are stored in a single table. There is a logical reason behind that, which would be good if one day somebody shares with the community. It seems reasonable.
Dates in general in CRM are stored in table SCAPPTSEG, but there is a path to follow to get from one end to the other.
(remember that behind the scenes SolMan is a CRM system)
Let’s discover that path together with an example.
We created an RfC, which we basically open to only populate Due by, after which we pressed Save just to get the RfC number added and your Due by entry stored. FYI, we are assigning the RfC number after we save the first time.
Let’s look for the content of table CRMD_ORDERADM_H, in particular for OBJECT_ID 7000000173. As you can see the internal GUID given to our document or business transaction is: 001E0BEA00C41EE38AED7582CF2AE8E1
Now let’s see the correspondent entries in CRMD_LINK
Grouping the entries together the way they better relate we have:
As you can see there are five *SET GUID objects created for our RfC GUID 001E0BEA00C41EE38AED7582CF2AE8E1.
We could pause for a while to get to know more this table, but let’s stay focused being the only entry we care about here Dates, as that is your question. Therefore, 05, because our RfC is a ORDERADM_H document or business transaction (remember we started our path with table CRMD_ORDERADM_H?), and 30, because we want to know where Datesare stored. So, based on that focus, the only GUID we should consider at this moment is 001E0BEA00C41EE38AED7582CF2B48E1, which is the one in the line with 30.
Let’s visit table SCAPPTSEG to see how many entries were created for that GUID.
How do we know the SRV_RREADY corresponds to Due by? That comes from Date Management in CRM. SPRO: CRM > Basic Functions > Date Management > Define Date Profile.
And let me guess your next question? Well, how do I know that SRV_RREADY corresponds to Due by? That the field Due by is related to SRV_RREADY? For this exercise we know they related because the date we used “Dec 8, 2013”, no ones has used in our installation, so we know for sure that the record we found is the correct one, and also because of the chain of links that took us there.
Personally, I do not know the exact answer, yet, but let me take you a little closer hoping somebody can give us the final connection of these dots to complete the path.
You know that by pressing <F2> in the web ui you can get some extra details
With that information, we launch transaction BSP_WD_CMPWB and display the component AIC_CMCR_H, open up the view, and get to the context node we found.
Well, within that Implementation class or in the Attribute, there is a piece of code or attributes that will hook the pieces together, either being a definition on the field BRDATEDUEBY or something else, that when the record is to be saved in the table SCAPPTSEG, uses that SRV_RREADY as APPT_TYPE to complete the process.
Probably somebody with BSP experience could complement this expedition.