首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用CRM_ORDER_MAINTAIN创建服务工单?

如何使用CRM_ORDER_MAINTAIN创建服务工单?
EN

Stack Overflow用户
提问于 2021-06-24 00:15:49
回答 1查看 171关注 0票数 1

我正在尝试学习Function Module CRM_ORDER_MAINTAIN,到目前为止,我成功地创建了一个包含合作伙伴及其角色的标准订单,但是现在我在创建带有必填字段的服务票证时遇到了问题。

我尝试在从WEBUI调用FM时调试它,以查看要填充哪些结构和表,但我在确定要填充哪些结构和表以及生成哪些结构和表时遇到了一些问题,并且不知道是否在某个地方遗漏了导致它无法保存的小东西。

我认为错误存在于处理分类的代码的这一部分,因为处理添加合作伙伴的其他代码按照标准顺序工作。

我没有填充任何GUIDS,只填充句柄,因为这就是我为标准订单所做的。

代码语言:javascript
运行
复制
*****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.

任何帮助我们都将不胜感激

EN

回答 1

Stack Overflow用户

发布于 2021-06-24 21:37:31

对于SAP CRM中的Service OS,有多个级别的分类(四个级别)。您可以在参数ET_SERVICE_OS中检查报告CRM_ORDER_READ的层次结构。

此外,您还可以在下面的structure CRMT_SRV_OSSET_WRK中检查层次结构。

要维护2级以上层次结构的数据,您必须创建新的引用GUID。你必须准备和填充数据来创建操作系统,如下所示-

代码语言:javascript
运行
复制
 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.
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68103587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档