我正在尝试学习Function Module CRM_ORDER_MAINTAIN
,到目前为止,我成功地创建了一个包含合作伙伴及其角色的标准订单,但是现在我在创建带有必填字段的服务票证时遇到了问题。
我尝试在从WEBUI调用FM时调试它,以查看要填充哪些结构和表,但我在确定要填充哪些结构和表以及生成哪些结构和表时遇到了一些问题,并且不知道是否在某个地方遗漏了导致它无法保存的小东西。
我认为错误存在于处理分类的代码的这一部分,因为处理添加合作伙伴的其他代码按照标准顺序工作。
我没有填充任何GUIDS,只填充句柄,因为这就是我为标准订单所做的。
*****categorization: motive+submotive******
clear ls_input_fields.
clear ls_fieldsname.
ls_fieldsname-fieldname = 'CONC_KEY'.
INSERT ls_fieldsname INTO TABLE ls_input_fields-field_names.
ls_input_fields-ref_handle = 1."
ls_input_fields-ref_kind = gc_object_kind-orderadm_h.
ls_input_fields-objectname = 'SERVICE_OS'.
ls_subject-ref_handle = ls_orderadm_h-handle.
ls_subject-ref_handle_h = ls_orderadm_h-handle.
ls_subject-katalogart = 'Z1'.
ls_subject-codegruppe = 'ZCA00001'.
ls_subject-code = 'Z044'.
append ls_subject TO ls_osset-subject.
ls_osset-ref_handle = ls_orderadm_h-handle.
ls_osset-profile_type = 'A'.
ls_osset-subject_profile = 'ZCCCAST'.
append ls_osset to ls_service_os-osset.
ls_service_os-ref_handle = ls_orderadm_h-handle.
append ls_service_os to it_service_os.
INSERT ls_input_fields INTO TABLE lt_input_fields.
ls_subject-ref_handle = ls_orderadm_h-handle.
ls_subject-ref_handle_h = ls_orderadm_h-handle.
ls_subject-katalogart = 'Z1'.
ls_subject-codegruppe = 'ZCA00002'.
ls_subject-code = 'Z009'.
append ls_subject TO ls_osset-subject.
ls_osset-ref_handle = ls_orderadm_h-handle.
ls_osset-profile_type = 'A'.
ls_osset-subject_profile = 'ZCCCAST'.
append ls_osset to ls_service_os-osset.
ls_service_os-ref_handle = ls_orderadm_h-handle.
append ls_service_os to it_service_os.
INSERT ls_input_fields INTO TABLE lt_input_fields.
任何帮助我们都将不胜感激
发布于 2021-06-24 21:37:31
对于SAP CRM中的Service OS,有多个级别的分类(四个级别)。您可以在参数ET_SERVICE_OS
中检查报告CRM_ORDER_READ
的层次结构。
此外,您还可以在下面的structure CRMT_SRV_OSSET_WRK
中检查层次结构。
要维护2级以上层次结构的数据,您必须创建新的引用GUID。你必须准备和填充数据来创建操作系统,如下所示-
CALL FUNCTION 'GUID_CREATE'
IMPORTING
ev_guid_16 = lv_ref_guid.
ls_subject-ref_handle = '0000000000'.
ls_subject-ref_guid = lv_ref_guid. "Newly created ref GUID to maintain hierarchy
ls_subject-cat_id = 'As per your req.'.
ls_subject-katalog_type = ''.
ls_subject-mode = 'A'. "For creation A, for update B
"Maintain other Subject parameter as per your requirement
APPEND ls_subject TO lt_subject.
"You can skip preparing Ref-Object structure, In case you don't want to update
ls_refobj-ref_guid = lv_ref_guid. "Newly created ref GUID to maintain hierarchy
ls_refobj-product_id = "Product ID". "In case you've product ID (Not Mandt.)
ls_refobj-ref_handle = '0000000000'.
ls_refobj-main_object = abap_true.
ls_refobj-mode = 'A'. " Mode A for creating, B for update
"Maintain other Ref-Object parameter as per your requirement
INSERT ls_refobj INTO TABLE lt_refobj.
ls_osset-ref_handle = '0000000000'.
ls_osset-ref_guid = "Header or Item GUID of Service".
ls_osset-subject_profile = 'SERVICE'.
ls_osset-profile_type = 'A'. "Service profile type
ls_osset-refobject = lt_refobj.
ls_osset-subject = lt_subject.
INSERT ls_osset INTO TABLE lt_osset.
ls_service_os-ref_guid = "Header or Item GUID of Service".
ls_service_os-ref_kind = "A or B". "A for Header and B for Item
ls_service_os-osset = lt_osset.
INSERT ls_service_os INTO TABLE lt_service_os.
https://stackoverflow.com/questions/68103587
复制相似问题