SAP CRM销售订单UI上的字段对应的数据库表存储字段:requested start date和end date

时间:2022-07-23
本文章向大家介绍SAP CRM销售订单UI上的字段对应的数据库表存储字段:requested start date和end date,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

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

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”:

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.

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

We can click the display source code button in ST05:

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.

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

then CRM_DATES_SAVE_EC:

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

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: