修改某个appointment已经存在的opportunity relation
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相关推荐
- 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 ...
- 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 ...
- My team and my group in my opportunity and my appointment
Created by Wang, Jerry, last modified on Jan 15, 2015
- Docker 入门系列(2)- Docker 镜像, 免 sudo 使用 docker 命令、获取查看、修改镜像标签、查找删除创建镜像、导入导出镜像
1. 免 sudo 使用 docker 命令 如果还没有 docker group 就添加一个 sudo groupadd docker 将用户加入该 group 内 sudo gpasswd -a ...
- 关于MM32-Link Programmer软件修改建议
简 介: 利用MM32-Link完成对于单片机程序的快速更新,可以很方便进行 Download-Execute循环方式的单片机软件开发.本文对于MM32-Link Programm软件提出了几点修改建 ...
- Relation(NOIP模拟赛)(二分图染色)
原题: Description 有n个人,编号为1àn,告诉你那些人之间是不友好的.现在,让你将这n个人分成两组,使得每一组之内的人是互相友好的,如果可以分成两组,则输出如何分组的,如果不可以分成两组 ...
- 在 SAP CRM Fiori 应用上给 Opportunity 订单添加 note 的后台执行明细
在 SAP CRM Fiori 应用上给 Opportunity 订单添加 note 的后台执行明细: 修改某些字段之后点击保存按钮: I change "chance of success ...
- 如何修改Fiori launchpad里tile count调用的触发时间间隔
以GM4为例,假设期望将Opportunity count调用间隔从默认的30s一次修改到300s一次: 首先找到你登陆GM4 user的PFCG role的catalog ID,在SU01里找: 记 ...
- 如何修改Fiori Launchpad里Tile count 调用的时间间隔
以GM4为例,假设期望将Opportunity count调用间隔从默认的30s一次修改到300s一次: 首先找到你登陆GM4 user的PFCG role的catalog ID,在SU01里找: 记 ...
最新文章
- 发光二极管pcb封装图画法_五个方面剖析SIP封装工艺,看懂SIP封装真正用途
- Linux查看某个端口是否被占用
- html多行文本框_前端面试集锦 HTML篇
- c语言结构体单元测试,C语言结构体单元练习.doc
- PetShop4.0--转载
- 扩展 KMP(模板) 洛谷P5410
- [Hands On ML] 8. 降维
- Kubernetes搭建可扩展的微服务系统
- js 运行中断停止_如何终止JS继续运行??
- 开启Accessibility的快捷方式-3次home键或者侧边键
- 多态_python的小窝_百度空间
- 最让IT技术支持人员头痛的10件事
- Python爬虫:网页字体加密与解密实践
- 高效工具-requirement生成和配置
- java软电话_软电话使用呼叫中心的方法与流程
- 深度学习入门---PCA,白化
- ORA-3136错误分析——WARNING Inbound Connection Timed Out
- StringBuilder 拼接去掉最后一个逗号
- element框架el-aside高度100%显示
- logback修改第三方包日志打印
热门文章
- MySql索引原理与使用大全
- springmvc入门学习
- 文献记录(part14)--Biclustering with dominant sets
- cmd mysql log_如何使用mysqlbinlog工具?
- 《数据分析思维手册.pdf》,真的强!
- 【leetcode记录02】递归
- SAP Spartacus 中的 checkout(结帐) 设计
- Visual Studio Code 保存代码时报Applying code action Organize Imports
- org.apache.tomcat.util.scan.StandardJarScanner找不到serializer.jar的问题
- JSP的文件上传处理