前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何使用代码修改 attachment 实例的 CHANGED_BY 字段

如何使用代码修改 attachment 实例的 CHANGED_BY 字段

原创
作者头像
Jerry Wang
发布2024-02-04 10:15:06
740
发布2024-02-04 10:15:06
举报

文章标题也是笔者实际工作中,遇到的客户需求之一。

在笔者参与的 CRM 社交集成项目中,我们从 Twitter 网站中提取一条推文的图片,并将其作为附件存储在 CRM 系统中。

但是,我们发现附件的 Create by 属性始终使用 sy-uname 进行硬编码,即使我们在调用 cl_crm_documents=>create_with_table 时显式指定 created_by 属性

然而我们的要求是:它应该由发布推文的 Twitter 网站中的屏幕名称填写。

经过一些调试,我发现 created_by 属性只能在创建附件后才能修改。

首先,我查询给定推文的所有附件:

代码语言:sql
复制
DATA(ls) = VALUE SIBFLPORB( INSTID = iv_guid typeid = iv_bor_type catid = 'BO' ). 

CALL METHOD CL_CRM_DOCUMENTS=>get_info
  EXPORTING
     BUSINESS_OBJECT = ls
  IMPORTING
     LOIOS = LOIOS
     phios = phios.

在SAP CRM系统中,CL_CRM_DOCUMENTS=>get_info的作用是获取CRM文档相关信息。这个方法是在ABAP类CL_CRM_DOCUMENTS中定义的,它允许开发人员通过调用该方法来检索与CRM文档相关的各种信息,包括文档的内容、属性、关联关系等。

首先,我们需要了解一下CRM文档在SAP CRM系统中的概念。CRM文档是指与客户关系管理相关的各种文件或记录,比如合同、报价单、销售订单等。这些文档在CRM系统中起着至关重要的作用,记录了与客户交互的关键信息,帮助企业管理客户关系、执行销售流程以及提供客户服务。

CL_CRM_DOCUMENTS=>get_info方法的主要作用是根据给定的文档ID,从CRM数据库中检索出与该文档相关的详细信息。这些信息可能包括文档的内容、创建日期、最后修改日期、文档类型、关联的业务对象等等。通过这些信息,开发人员可以在程序中对文档进行进一步的处理和分析,从而实现各种业务逻辑和功能需求。

然后我使用 Function Module SDOK_PHIO_PROPERTIES_SET 来修改该属性:

代码语言:sql
复制
DATA(ls_property) = VALUE SDOKPROPTY( name = iv_attr_name value = iv_new_value ).

APPEND ls_property TO lt_properties.

LOOP AT phios ASSIGNING FIELD-SYMBOL(<ios>).
  ls_header-class = <ios>-class.
  ls_header-objid = <ios>-objid.
  CALL FUNCTION 'SDOK_PHIO_PROPERTIES_SET'
    EXPORTING
      object_id = ls_header
    TABLES
      properties = lt_properties
    EXCEPTIONS
      NOT_EXISTING = 1
      BAD_PROPERTIES = 2
      NOT_AUTHORIZED = 3
      EXCEPTION_IN_EXIT = 4.
ENDLOOP.

SDOK_PHIO_PROPERTIES_SET 功能模块是 SAP CRM 系统中的一个重要组件,用于设置文档对象的属性。在 SAP CRM 中,文档对象是指与业务相关的文件或文档,例如销售订单、报价单、合同等。这些文档在业务流程中起着关键作用,因此对其属性的管理和设置至关重要。SDOK_PHIO_PROPERTIES_SET 功能模块提供了一种有效的方式来设置文档对象的属性,以满足不同业务需求。

通过以上参数,SDOK_PHIO_PROPERTIES_SET 功能模块可以根据输入的文档对象 GUID 和属性表,将指定的属性设置到对应的文档对象中,并返回执行结果信息。

下面是测试代码:

测试成功:

不要忘记激活内部模式,否则代码将执行失败,并出现一条错误消息,表明 created_by 字段是只读的。

我正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档