Skip to Content

How to find database table name which stores service order requested start date and end date

Suppose you need to investigate which database table stores the value of Requested start date and end date:

/wp-content/uploads/2016/04/clipboard1_935323.png

You can just activate SQL trace via tcode ST05, make changes on either field, and save the change. Then display trace and search with keyword “update”:

/wp-content/uploads/2016/04/clipboard2_935357.png

You could find one record whose UPDATE statement contains the changed date you maintained in WebUI, which indicates the table SCAPPTSEG is what we are looking for.

/wp-content/uploads/2016/04/clipboard3_935358.png

When we browse this table in SE11, we didn’t know the relationship between APPT_GUID or APPL_GUID with the service order guid.

/wp-content/uploads/2016/04/clipboard4_935359.png

We can click the display source code button in ST05:

/wp-content/uploads/2016/04/clipboard5_935360.png

And set a breakpoint on the very code where the table is updated. From the callstack we can know the function module CRM_DATES_UPDATE_DU is updating this table.

/wp-content/uploads/2016/04/clipboard6_935361.png

Perform where used list on CRM_DATES_UPDATE_DU and we can get CRM_DATES_SAVE_OB,

/wp-content/uploads/2016/04/clipboard7_935362.png

then CRM_DATES_SAVE_EC:

/wp-content/uploads/2016/04/clipboard8_935363.png

In this function, we can know the relationship between appl_guid and service order guid:

/wp-content/uploads/2016/04/clipboard9_935364.png

I use a simple report below to illustrate the process how to get requested start and end date starting from Service order guid:

REPORT zdisplay_request_date.
PARAMETERS: guid TYPE crmt_object_guid OBLIGATORY DEFAULT '00163EA720041EE19BB780506245F081'.
DATA: lt_dates TYPE STANDARD TABLE OF scapptseg,
      lv_link  TYPE crmd_link-guid_set.
START-OF-SELECTION.
  SELECT SINGLE guid_set INTO lv_link FROM crmd_link WHERE guid_hi = guid AND objtype_set = '30'.
  IF sy-subrc <> 0.
    WRITE: / 'no requested data maintained'.
    RETURN.
  ENDIF.
  SELECT * INTO TABLE lt_dates FROM scapptseg WHERE appl_guid = lv_link.
  READ TABLE lt_dates ASSIGNING FIELD-SYMBOL(<start>) WITH KEY appt_type = 'SRV_CUST_BEG'.
  IF sy-subrc = 0.
    WRITE: / 'requested start: ' , <start>-tst_from.
  ENDIF.
  READ TABLE lt_dates ASSIGNING FIELD-SYMBOL(<end>) WITH KEY appt_type = 'SRV_CUST_END'.
  IF sy-subrc = 0.
    WRITE: / 'requested end: ' , <end>-tst_from.
  ENDIF.

Note: “30” means object name “APPOINTMENT”,  you can find the relationship from this table CRMC_OBJECTS:

/wp-content/uploads/2016/04/clipboard11_935381.png

Be the first to leave a comment
You must be Logged on to comment or reply to a post.