1

我是一个新鲜人。仅 2 个月的 SAP ABAP 经验。

我被要求获取合同清单的报价日期。为此,我需要从 everh 表中获取 crm 业务交易号。

现在我需要在程序 crm_order_read 中使用此事务编号并获取导出参数 et_orderadm_i,其中 GUID 可用,以及创建日期和时间(报价日期)。

现在我无法理解如何在程序 crm_order_read 中传递事务号(object_id)?还有一个功能模块 crm_order_id 可用,但没有导入参数是交易号。

同样,导出参数 et_orderadm_i 将如何包含报价日期?我无法找到编写这段代码的方法。

4

1 回答 1

2

通常您不会将 ID 传递给 CRM_ORDER_READ,而是传递 GUID。

如果您无论如何只有可用的 ID,您可能首先要更改方法。或者在表 CRMD_ORDERADM_H 上进行选择。

哪个对象有哪个 guid 可以在 SE16 => CRMD_ORDERADM_H => F8 中看到。

但是,您也可以使用 ID 在程序 SE38=>CRM_ORDER_READ 中测试功能模块 CRM_ORDER_READ。

这是一些可以用作模板的基本编码。

        INCLUDE crm_object_names_con.

        data:
                lv_guid                TYPE crmt_object_guid,
                lt_guid                TYPE crmt_object_guid_tab,
                lt_req_obj             TYPE crmt_object_name_tab,
                lt_orderadm_i          TYPE crmt_orderadm_i_wrkt,
                ls_orderadm_i          TYPE crmt_orderadm_i_wrk,
                lt_orderadm_h          TYPE crmt_orderadm_h_wrkt,
                ls_orderadm_h          TYPE crmt_orderadm_h_wrk.

        CLEAR lt_guid.
        INSERT lv_guid INTO TABLE lt_guid.
        INSERT gc_object_name-orderadm_h   INTO TABLE lt_req_obj.
        INSERT gc_object_name-orderadm_i INTO TABLE lt_req_obj.
        CALL FUNCTION 'CRM_ORDER_READ'
          EXPORTING
            it_header_guid       = lt_guid
            it_requested_objects = lt_req_obj
          IMPORTING  
            et_orderadm_h        = lt_orderadm_h. 
            et_orderadm_i        = lt_orderadm_i. 


        READ TABLE lt_orderadm_i INTO ls_orderadm_i INDEX 1.


        LOOP AT lt_orderadm_i INTO ls_orderadm_i .

        ENDLOOP.

提示:

双击 CRM_ORDER_READ 导航到它,如果您需要不同的数据类型,可以从那里获取导出的数据类型。

在 CRM_ORDER_READ 中,单击 where-used-list 以查看它是如何在其他位置实现的。

日期可在 ORDERADM_H-POSTING_DATE 中找到。

于 2016-04-18T12:12:30.317 回答