CRM and CX Blogs by SAP
Stay up-to-date on the latest developments and product news about intelligent customer experience and CRM technologies through blog posts from SAP experts.
cancel
Showing results for 
Search instead for 
Did you mean: 
JerryWang
Product and Topic Expert
Product and Topic Expert
0 Kudos
418
For example the following shipping fields of One order document are stored in Database table CRMD_SHIPPING.



The data could be read out via function module CRM_SHIPPING_READ_OB.



This blog introduces the step how to generate fake data which will be returned by function module CRM_SHIPPING_READ_OB for unit test purpose.


Step1. Create fake data in Shipping object buffer


DATA: ls_shipping TYPE crmt_shipping_wrk.
DATA: lv_order_guid TYPE crmt_object_guid,
lv_ship_guid LIKE lv_order_guid,
lt_link_com TYPE crmt_link_comt,
ls_link_com LIKE LINE OF lt_link_com.

CALL FUNCTION 'GUID_CREATE'
IMPORTING
ev_guid_16 = lv_order_guid.
CALL FUNCTION 'GUID_CREATE'
IMPORTING
ev_guid_16 = lv_ship_guid.
ls_shipping-incoterms1 = 'FOB'.
ls_shipping-incoterms2 = 'Jerry Fake incoterms'.
ls_shipping-guid = lv_ship_guid.

CALL FUNCTION 'CRM_SHIPPING_PUT_OB'
EXPORTING
is_shipping_wrk = ls_shipping.

Step2. Create a link between Order and shipping data via function module CRM_LINK_CREATE_OW


ls_link_com-guid_hi     = lv_order_guid.
ls_link_com-guid_set = lv_ship_guid.
ls_link_com-objname_set = 'SHIPPING'.
ls_link_com-objtype_set = '12'.
ls_link_com-objname_hi = 'ORDERADM_H'.
ls_link_com-objtype_hi = '05'.

INSERT ls_link_com INTO TABLE lt_link_com.
CALL FUNCTION 'CRM_LINK_CREATE_OW'
EXPORTING
iv_guid_hi = lv_order_guid
it_link = lt_link_com
EXCEPTIONS
OTHERS = 0.

Step3. perform read via Object buffer function call


CLEAR: ls_shipping.

CALL FUNCTION 'CRM_SHIPPING_READ_OB'
EXPORTING
iv_ref_guid = lv_order_guid
iv_ref_kind = 'A'
IMPORTING
es_shipping_wrk = ls_shipping.

WRITE:/ 'Incoterms1:', ls_shipping-incoterms1.
WRITE:/ 'Incoterms2:', ls_shipping-incoterms2.

Callstack of link manipulation and object buffer insert and read for Shipping.


execution result: