Created by Jerry Wang, last modified on Aug 18, 2015

执行report之前:

执行report之后:

*&---------------------------------------------------------------------**& Report ZAPPOINTMENT_ADD_OPP*&---------------------------------------------------------------------**&*&---------------------------------------------------------------------*REPORT zappointment_overwrite_opp.PARAMETERS: oppid   TYPE crmd_orderadm_h-object_id OBLIGATORY DEFAULT '1424',opptype TYPE crmd_orderadm_h-process_type OBLIGATORY DEFAULT 'OPPT'.INCLUDE: crm_object_names_con,crm_object_types_con,crm_object_kinds_con,crm_mode_con.DATA: ls_docflow        TYPE crmt_doc_flow_com,ct_doc_flow       TYPE crmt_doc_flow_comt,ls_link           TYPE LINE OF crmt_doc_flow_extdt,lv_opp_guid       TYPE crmd_orderadm_h-guid,lv_app_guid       LIKE lv_opp_guid,ct_input_fields   TYPE crmt_input_field_tab,cs_input          LIKE LINE OF ct_input_fields,cs_field          LIKE LINE OF cs_input-field_names,lv_opp_id         TYPE crmd_orderadm_h-object_id,lv_opp_type       TYPE crmd_orderadm_h-process_type,lt_save           TYPE crmt_object_guid_tab,lt_not_saved      LIKE lt_save,lt_header         TYPE crmt_object_guid_tab,lt_doc_flow       TYPE crmt_doc_flow_wrkt,ls_doc_flow       LIKE LINE OF lt_doc_flow,lt_save_exception TYPE crmt_exception_t,lt_exception      TYPE crmt_exception_t.START-OF-SELECTION.* Jerry comment: replace this appointment guid with your own one.* One relation will be created. Relation source: the appointment of this guid*   Relation target: the opportunity specified in this report*lv_app_guid = '3440B5B172DE1ED590B1C3A05B175D6A'.PERFORM delete_existing_rel USING lv_app_guid.PERFORM add_new_rel USING lv_app_guid.FORM add_new_rel USING iv_opp_guid TYPE crmd_orderadm_h-guid.lv_opp_id = oppid.lv_opp_type = opptype.CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'EXPORTINGinput  = lv_opp_idIMPORTINGoutput = lv_opp_id.SELECT SINGLE guid INTO lv_opp_guid FROM crmd_orderadm_hWHERE object_id EQ lv_opp_id AND process_type = lv_opp_type.ASSERT sy-subrc = 0.CLEAR: ls_docflow, ls_link, ct_doc_flow,ct_input_fields.ls_docflow-ref_kind = 'A'.ls_docflow-ref_guid = lv_app_guid.ls_link-objkey_a        = lv_opp_guid.ls_link-objtype_a       = gc_object_type-opportunity."'BUS2000111'.ls_link-objkey_b        = lv_app_guid.ls_link-objtype_b       = gc_object_type-businessactivity. "'BUS2000126'.ls_link-brel_kind       = 'A'.ls_link-brel_mode       = 'A'.ls_link-reltype         = 'VONA'.APPEND ls_link TO ls_docflow-doc_link.INSERT ls_docflow INTO TABLE ct_doc_flow.CLEAR: cs_input-field_names.cs_field = 'OBJKEY_A'.INSERT cs_field INTO TABLE cs_input-field_names.cs_field-fieldname = 'OBJTYPE_A'.INSERT cs_field INTO TABLE cs_input-field_names.cs_field-fieldname = 'OBJKEY_B'.INSERT cs_field INTO TABLE cs_input-field_names.cs_field-fieldname = 'OBJTYPE_B'.INSERT cs_field INTO TABLE cs_input-field_names.cs_field-fieldname = 'BREL_KIND'.INSERT cs_field INTO TABLE cs_input-field_names.cs_field-fieldname = 'RELTYPE'.INSERT cs_field INTO TABLE cs_input-field_names.cs_field-fieldname = 'RELATIONID'.INSERT cs_field INTO TABLE cs_input-field_names.cs_input-ref_guid    = lv_app_guid.cs_input-ref_kind    = gc_object_ref_kind-orderadm_h.cs_input-objectname  = gc_object_name-doc_flow.INSERT cs_input INTO TABLE ct_input_fields.CALL FUNCTION 'CRM_ORDER_MAINTAIN'IMPORTINGet_exception      = lt_exceptionCHANGINGct_input_fields   = ct_input_fieldsct_doc_flow       = ct_doc_flowEXCEPTIONSerror_occurred    = 1document_locked   = 2no_change_allowed = 3no_authority      = 4.WRITE: / sy-subrc.APPEND lv_app_guid TO lt_save.CALL FUNCTION 'CRM_ORDER_SAVE'EXPORTINGit_objects_to_save   = lt_saveIMPORTINGet_objects_not_saved = lt_not_savedet_exception         = lt_save_exceptionEXCEPTIONSdocument_not_saved   = 1.WRITE: / sy-subrc.COMMIT WORK AND WAIT.ENDFORM.FORM delete_existing_rel USING iv_app_guid TYPE crmd_orderadm_h-guid.APPEND iv_app_guid TO lt_header.CALL FUNCTION 'CRM_ORDER_READ'EXPORTINGit_header_guid = lt_headerIMPORTINGet_doc_flow    = lt_doc_flow.IF lt_doc_flow IS INITIAL.WRITE: / 'no relation to delete.'.RETURN.ENDIF.ls_docflow-ref_kind = 'A'.ls_docflow-ref_guid = iv_app_guid.* Jerry comment: for test purpose, one appointment has only one relationship of Opportunity,* thus use INDEX 1READ TABLE lt_doc_flow INTO ls_doc_flow INDEX 1.ls_link-objkey_a        = ls_doc_flow-objkey_a.ls_link-objtype_a       = gc_object_type-opportunity."'BUS2000111'.ls_link-objkey_b        = ls_doc_flow-objkey_b.ls_link-objtype_b       = gc_object_type-businessactivity. "'BUS2000126'.ls_link-brel_kind       = 'A'.ls_link-brel_mode       = 'D'. " deletion* Jerry: this line below is essential!! It points out which exactly relation should be deletedls_link-relationid      = ls_doc_flow-relationid.ls_link-reltype         = 'VONA'.APPEND ls_link TO ls_docflow-doc_link.INSERT ls_docflow INTO TABLE ct_doc_flow.CLEAR: cs_input-field_names.cs_field = 'DOC_LINK'.INSERT cs_field INTO TABLE cs_input-field_names.cs_input-ref_guid    = lv_app_guid.cs_input-ref_kind    = gc_object_ref_kind-orderadm_h.cs_input-objectname  = gc_object_name-doc_flow.INSERT cs_input INTO TABLE ct_input_fields.CALL FUNCTION 'CRM_ORDER_MAINTAIN'IMPORTINGet_exception      = lt_exceptionCHANGINGct_input_fields   = ct_input_fieldsct_doc_flow       = ct_doc_flowEXCEPTIONSerror_occurred    = 1document_locked   = 2no_change_allowed = 3no_authority      = 4.ASSERT sy-subrc = 0.ENDFORM.

删除某个appointment 关联的Opportunity relation

Created by Jerry Wang, last modified on Aug 18, 2015

执行report之前:

执行report之后:

REPORT zappointment_delete_opp.INCLUDE: crm_object_names_con,crm_object_types_con,crm_object_kinds_con,crm_mode_con.DATA: ls_docflow        TYPE crmt_doc_flow_com,ct_doc_flow       TYPE crmt_doc_flow_comt,ls_link           TYPE LINE OF crmt_doc_flow_extdt,lv_opp_guid       TYPE crmd_orderadm_h-guid,lv_app_guid       LIKE lv_opp_guid,ct_input_fields   TYPE crmt_input_field_tab,cs_input          LIKE LINE OF ct_input_fields,cs_field          LIKE LINE OF cs_input-field_names,lt_save           TYPE crmt_object_guid_tab,lt_not_saved      LIKE lt_save,lt_header         TYPE crmt_object_guid_tab,lt_doc_flow       TYPE crmt_doc_flow_wrkt,ls_doc_flow       LIKE LINE OF lt_doc_flow,lt_save_exception TYPE crmt_exception_t,lt_exception      TYPE crmt_exception_t.* Jerry comment: All the relation of this appointment will be deleted by this report* replace this hard code one with your ownlv_app_guid = '3440B5B172DE1ED590B1C3A05B175D6A'.APPEND lv_app_guid TO lt_header.CALL FUNCTION 'CRM_ORDER_READ'EXPORTINGit_header_guid = lt_headerIMPORTINGet_doc_flow    = lt_doc_flow.IF lt_doc_flow IS INITIAL.WRITE: / 'no relation to delete.'.RETURN.ENDIF.ls_docflow-ref_kind = 'A'.ls_docflow-ref_guid = lv_app_guid.* Jerry comment: for test purpose, one appointment has only one relationship of Opportunity,* thus use INDEX 1READ TABLE lt_doc_flow INTO ls_doc_flow INDEX 1.ls_link-objkey_a        = ls_doc_flow-objkey_a.ls_link-objtype_a       = gc_object_type-opportunity."'BUS2000111'.ls_link-objkey_b        = ls_doc_flow-objkey_b.ls_link-objtype_b       = gc_object_type-businessactivity. "'BUS2000126'.ls_link-brel_kind       = 'A'.ls_link-brel_mode       = 'D'. " deletion* Jerry: this line below is essential!! It points out which exactly relation should be deletedls_link-relationid      = ls_doc_flow-relationid.ls_link-reltype         = 'VONA'.APPEND ls_link TO ls_docflow-doc_link.INSERT ls_docflow INTO TABLE ct_doc_flow.CLEAR: cs_input-field_names.cs_field = 'DOC_LINK'.INSERT cs_field INTO TABLE cs_input-field_names.cs_input-ref_guid    = lv_app_guid.cs_input-ref_kind    = gc_object_ref_kind-orderadm_h.cs_input-objectname  = gc_object_name-doc_flow.INSERT cs_input INTO TABLE ct_input_fields.CALL FUNCTION 'CRM_ORDER_MAINTAIN'IMPORTINGet_exception      = lt_exceptionCHANGINGct_input_fields   = ct_input_fieldsct_doc_flow       = ct_doc_flowEXCEPTIONSerror_occurred    = 1document_locked   = 2no_change_allowed = 3no_authority      = 4.WRITE: / sy-subrc.APPEND lv_app_guid TO lt_save.CALL FUNCTION 'CRM_ORDER_SAVE'EXPORTINGit_objects_to_save   = lt_saveIMPORTINGet_objects_not_saved = lt_not_savedet_exception         = lt_save_exceptionEXCEPTIONSdocument_not_saved   = 1.WRITE: / sy-subrc.COMMIT WORK AND WAIT.

手动为appointment 添加opportunity的关联关系

Created by Jerry Wang, last modified on Aug 18, 2015

初始状态:

执行如下report:

REPORT zappointment_add_opp.
INCLUDE: crm_object_names_con,crm_object_types_con,crm_object_kinds_con,crm_mode_con.DATA: ls_docflow        TYPE crmt_doc_flow_com,ct_doc_flow       TYPE crmt_doc_flow_comt,ls_link           TYPE LINE OF crmt_doc_flow_extdt,lv_opp_guid       TYPE crmd_orderadm_h-guid,lv_app_guid       LIKE lv_opp_guid,ct_input_fields   TYPE crmt_input_field_tab,cs_input          LIKE LINE OF ct_input_fields,cs_field          LIKE LINE OF cs_input-field_names,lv_opp_id         TYPE crmd_orderadm_h-object_id VALUE '1424',lv_opp_type       TYPE crmd_orderadm_h-process_type value 'OPPT',"lt_order_h      TYPE crmt_orderadm_h_comt,"ls_order_h      LIKE LINE OF lt_order_h,lt_save           TYPE crmt_object_guid_tab,lt_not_saved      LIKE lt_save,lt_save_exception TYPE crmt_exception_t,lt_exception      TYPE crmt_exception_t.CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'EXPORTINGinput  = lv_opp_idIMPORTINGoutput = lv_opp_id.SELECT SINGLE guid INTO lv_opp_guid FROM crmd_orderadm_hWHERE object_id EQ lv_opp_id AND process_type = lv_opp_type.ASSERT sy-subrc = 0.lv_app_guid = '3440B5B172DE1ED590B1C3A05B175D6A'.ls_docflow-ref_kind = 'A'.ls_docflow-ref_guid = lv_app_guid.ls_link-objkey_a        = lv_opp_guid.ls_link-objtype_a       = gc_object_type-opportunity."'BUS2000111'.ls_link-objkey_b        = lv_app_guid.ls_link-objtype_b       = gc_object_type-businessactivity. "'BUS2000126'.ls_link-brel_kind       = 'A'.ls_link-brel_mode       = 'A'.ls_link-reltype         = 'VONA'.APPEND ls_link TO ls_docflow-doc_link.INSERT ls_docflow INTO TABLE ct_doc_flow.CLEAR: cs_input-field_names.cs_field = 'OBJKEY_A'.INSERT cs_field INTO TABLE cs_input-field_names.cs_field-fieldname = 'OBJTYPE_A'.INSERT cs_field INTO TABLE cs_input-field_names.cs_field-fieldname = 'OBJKEY_B'.INSERT cs_field INTO TABLE cs_input-field_names.cs_field-fieldname = 'OBJTYPE_B'.INSERT cs_field INTO TABLE cs_input-field_names.cs_field-fieldname = 'BREL_KIND'.INSERT cs_field INTO TABLE cs_input-field_names.cs_field-fieldname = 'RELTYPE'.INSERT cs_field INTO TABLE cs_input-field_names.cs_field-fieldname = 'RELATIONID'.INSERT cs_field INTO TABLE cs_input-field_names.cs_input-ref_guid    = lv_app_guid.cs_input-ref_kind    = gc_object_ref_kind-orderadm_h.cs_input-objectname  = gc_object_name-doc_flow.INSERT cs_input INTO TABLE ct_input_fields.CALL FUNCTION 'CRM_ORDER_MAINTAIN'IMPORTINGet_exception      = lt_exceptionCHANGINGct_input_fields   = ct_input_fieldsct_doc_flow       = ct_doc_flowEXCEPTIONSerror_occurred    = 1document_locked   = 2no_change_allowed = 3no_authority      = 4.WRITE: / sy-subrc.APPEND lv_app_guid TO lt_save.CALL FUNCTION 'CRM_ORDER_SAVE'EXPORTINGit_objects_to_save   = lt_saveIMPORTINGet_objects_not_saved = lt_not_savedet_exception         = lt_save_exceptionEXCEPTIONSdocument_not_saved   = 1.WRITE: / sy-subrc.COMMIT WORK AND WAIT.

刷新之后:

修改某个appointment已经存在的opportunity relation相关推荐

  1. Use BAdI to link appointment to a given opportunity during creation

    Requirement This requirement is raised by customer. They have extended a new field "Opportunity ...

  2. CRM Fiori应用里My Opportunity - My Appointment中My的准确含义

    My Opportunities Case 1: if logon on user is maintained as a manager in org model, he/she can see al ...

  3. My team and my group in my opportunity and my appointment

    Created by Wang, Jerry, last modified on Jan 15, 2015

  4. Docker 入门系列(2)- Docker 镜像, 免 sudo 使用 docker 命令、获取查看、修改镜像标签、查找删除创建镜像、导入导出镜像

    1. 免 sudo 使用 docker 命令 如果还没有 docker group 就添加一个 sudo groupadd docker 将用户加入该 group 内 sudo gpasswd -a ...

  5. 关于MM32-Link Programmer软件修改建议

    简 介: 利用MM32-Link完成对于单片机程序的快速更新,可以很方便进行 Download-Execute循环方式的单片机软件开发.本文对于MM32-Link Programm软件提出了几点修改建 ...

  6. Relation(NOIP模拟赛)(二分图染色)

    原题: Description 有n个人,编号为1àn,告诉你那些人之间是不友好的.现在,让你将这n个人分成两组,使得每一组之内的人是互相友好的,如果可以分成两组,则输出如何分组的,如果不可以分成两组 ...

  7. 在 SAP CRM Fiori 应用上给 Opportunity 订单添加 note 的后台执行明细

    在 SAP CRM Fiori 应用上给 Opportunity 订单添加 note 的后台执行明细: 修改某些字段之后点击保存按钮: I change "chance of success ...

  8. 如何修改Fiori launchpad里tile count调用的触发时间间隔

    以GM4为例,假设期望将Opportunity count调用间隔从默认的30s一次修改到300s一次: 首先找到你登陆GM4 user的PFCG role的catalog ID,在SU01里找: 记 ...

  9. 如何修改Fiori Launchpad里Tile count 调用的时间间隔

    以GM4为例,假设期望将Opportunity count调用间隔从默认的30s一次修改到300s一次: 首先找到你登陆GM4 user的PFCG role的catalog ID,在SU01里找: 记 ...

最新文章

  1. 发光二极管pcb封装图画法_五个方面剖析SIP封装工艺,看懂SIP封装真正用途
  2. Linux查看某个端口是否被占用
  3. html多行文本框_前端面试集锦 HTML篇
  4. c语言结构体单元测试,C语言结构体单元练习.doc
  5. PetShop4.0--转载
  6. 扩展 KMP(模板) 洛谷P5410
  7. [Hands On ML] 8. 降维
  8. Kubernetes搭建可扩展的微服务系统
  9. js 运行中断停止_如何终止JS继续运行??
  10. 开启Accessibility的快捷方式-3次home键或者侧边键
  11. 多态_python的小窝_百度空间
  12. 最让IT技术支持人员头痛的10件事
  13. Python爬虫:网页字体加密与解密实践
  14. 高效工具-requirement生成和配置
  15. java软电话_软电话使用呼叫中心的方法与流程
  16. 深度学习入门---PCA,白化
  17. ORA-3136错误分析——WARNING Inbound Connection Timed Out
  18. StringBuilder 拼接去掉最后一个逗号
  19. element框架el-aside高度100%显示
  20. logback修改第三方包日志打印

热门文章

  1. MySql索引原理与使用大全
  2. springmvc入门学习
  3. 文献记录(part14)--Biclustering with dominant sets
  4. cmd mysql log_如何使用mysqlbinlog工具?
  5. 《数据分析思维手册.pdf》,真的强!
  6. 【leetcode记录02】递归
  7. SAP Spartacus 中的 checkout(结帐) 设计
  8. Visual Studio Code 保存代码时报Applying code action Organize Imports
  9. org.apache.tomcat.util.scan.StandardJarScanner找不到serializer.jar的问题
  10. JSP的文件上传处理