Created by Jerry Wang, last modified on Jun 11, 2015
执行report后打印出成功创建的opportunity id:
hard code 的sales org信息:
hard code的partner信息:
source code:
*&---------------------------------------------------------------------*
*& Report ZPARTNER_DETERMINE_VIA_CODE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zorder_create_with_organizatio.
DATA: lt_input_fields TYPE crmt_input_field_tab,
ls_input_field LIKE LINE OF lt_input_fields,
ls_field_name LIKE LINE OF ls_input_field-field_names,
lv_guid TYPE guid_16,
lt_orderadm_h_com TYPE crmt_orderadm_h_comt,
ls_orderadm_h_com LIKE LINE OF lt_orderadm_h_com,
lt_partner TYPE crmt_partner_comt,
ls_partner LIKE LINE OF lt_partner,
ls_partner_control TYPE crmt_partner_control,
ls_com_structure TYPE string,
lv_selection_needed TYPE crmt_boolean,
lv_is_buying_center TYPE abap_bool,
lt_attributes_com TYPE crmt_partner_attribute_com_tab,
lt_save TYPE crmt_object_guid_tab,
lt_saved TYPE crmt_return_objects,
ls_saved LIKE LINE OF lt_saved,
lt_org_man TYPE crmt_orgman_comt,
ls_org_man LIKE LINE OF lt_org_man.
START-OF-SELECTION.
"PERFORM call_bp_determ_api.
CALL FUNCTION 'GUID_CREATE'
IMPORTING
ev_guid_16 = lv_guid.
PERFORM call_order_maintain.
PERFORM call_order_save.
FORM call_order_maintain.
CLEAR: ls_orderadm_h_com, ls_input_field, lt_input_fields.
ls_orderadm_h_com-guid = lv_guid.
ls_orderadm_h_com-description = 'created by code on:' && sy-timlo.
ls_orderadm_h_com-process_type = 'OPPT'.
ls_orderadm_h_com-mode = 'A'.
APPEND ls_orderadm_h_com TO lt_orderadm_h_com.
" Hard code sales org
ls_org_man-dis_channel = '01'.
ls_org_man-division = '02'.
ls_org_man-sales_orgr_ori = 'C'.
ls_org_man-sales_org_resp = 'O 50000732'.
ls_org_man-error_flag = 'X'.
ls_org_man-mode = 'A'.
ls_org_man-no_determination = 'X'.
ls_org_man-ref_guid = lv_guid.
ls_org_man-ref_kind = 'A'.
APPEND ls_org_man TO lt_org_man.
ls_input_field-ref_guid = lv_guid.
ls_input_field-ref_kind = 'A'.
ls_input_field-objectname = 'ORDERADM_H'.
* sorted table
ls_field_name-fieldname = 'DESCRIPTION'.
APPEND ls_field_name TO ls_input_field-field_names.
ls_field_name-fieldname = 'MODE'.
APPEND ls_field_name TO ls_input_field-field_names.
ls_field_name-fieldname = 'PROCESS_TYPE'.
APPEND ls_field_name TO ls_input_field-field_names.
APPEND ls_input_field TO lt_input_fields.
CLEAR: ls_input_field.
ls_input_field-ref_guid = lv_guid.
ls_input_field-ref_kind = 'A'.
ls_input_field-objectname = 'PARTNER'.
CLEAR: ls_field_name.
ls_field_name-fieldname = 'DISPLAY_TYPE'.
APPEND ls_field_name TO ls_input_field-field_names.
ls_field_name-fieldname = 'KIND_OF_ENTRY'.
APPEND ls_field_name TO ls_input_field-field_names.
ls_field_name-fieldname = 'NO_TYPE'.
APPEND ls_field_name TO ls_input_field-field_names.
ls_field_name-fieldname = 'PARTNER_FCT'.
APPEND ls_field_name TO ls_input_field-field_names.
ls_field_name-fieldname = 'PARTNER_NO'.
APPEND ls_field_name TO ls_input_field-field_names.
ls_input_field-ref_handle = '0000000000'.
ls_input_field-logical_key = '0000'.
APPEND ls_input_field TO lt_input_fields.
* input field for Org management
CLEAR: ls_input_field,ls_field_name.
ls_field_name-fieldname = 'DIS_CHANNEL'.
APPEND ls_field_name TO ls_input_field-field_names.
ls_field_name-fieldname = 'DIVISION'.
APPEND ls_field_name TO ls_input_field-field_names.
ls_field_name-fieldname = 'NO_DETERMINATION'.
APPEND ls_field_name TO ls_input_field-field_names.
ls_field_name-fieldname = 'SALES_ORGR_ORI'.
APPEND ls_field_name TO ls_input_field-field_names.
ls_field_name-fieldname = 'SALES_ORG_RESP'.
APPEND ls_field_name TO ls_input_field-field_names.
ls_input_field-ref_guid = lv_guid.
ls_input_field-ref_kind = 'A'.
ls_input_field-objectname = 'ORGMAN'.
INSERT ls_input_field INTO TABLE lt_input_fields.
ls_partner-ref_guid = lv_guid.
ls_partner-ref_kind = 'A'.
ls_partner-kind_of_entry = 'C'.
ls_partner-partner_fct = '00000021'. "sales prospect
ls_partner-partner_no = '0004031140'.
ls_partner-display_type = 'BP'.
ls_partner-no_type = 'BP'.
APPEND ls_partner TO lt_partner.
CALL FUNCTION 'CRM_ORDER_MAINTAIN'
EXPORTING
it_partner = lt_partner
it_orgman = lt_org_man
CHANGING
ct_orderadm_h = lt_orderadm_h_com
ct_input_fields = lt_input_fields
EXCEPTIONS
OTHERS = 99.
IF sy-subrc = 0.
WRITE:/ 'Order maintain function is done successfully.'.
ENDIF.
ENDFORM.
FORM call_order_save.
INSERT lv_guid INTO TABLE lt_save.
CALL FUNCTION 'CRM_ORDER_SAVE'
EXPORTING
it_objects_to_save = lt_save
iv_update_task_local = abap_true
iv_no_bdoc_send = abap_true
IMPORTING
et_saved_objects = lt_saved
EXCEPTIONS
document_not_saved = 1.
IF sy-subrc <> 0.
WRITE: / 'Opportunity created failed'.
ELSE.
READ TABLE lt_saved INTO ls_saved INDEX 1.
WRITE: / 'Opportunity created successfully, id: ' , ls_saved-object_id.
ENDIF.
COMMIT WORK AND WAIT.
ENDFORM.
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
使用代码创建具有organization unit的opportunity相关推荐
- C4C和CRM里获取当前登录用户分配的Organization Unit信息
C4C 如何查看某个用户分配的组织单元ID: 在Employee的Organization Data区域内看到分配的组织名称,如下图红色下划线所示: 现在的需求就是使用ABSL获取当前登录用户分配的O ...
- SAP Spartacus organization unit list抬头显示所有unit的标题实现
如下图高亮区域所示:All Units(39)的实现原理 实现在下图这段高亮代码里: viewType: unit 翻译代码的实现: 翻译的实现: key:unit.header 将unit.head ...
- 如何显示Organization unit ID
Created by Jerry Wang, last modified on Jan 08, 2015 在创建Product的Distribution chain时,从F4 popup window ...
- SAP CRM和Cloud for Customer的organization unit
设计思路都是一样的 CRM 下图是SAP CRM的organization model,大家从图中应该能看到上面organization示意图里画出的Position和employee. PC4U G ...
- sql行数少于10_如何用少于100行的代码创建生成艺术
sql行数少于10 by Eric Davidson 埃里克·戴维森(Eric Davidson) 如何用少于100行的代码创建生成艺术 (How to Create Generative Art I ...
- 在学习计算机编程不写代码_使用代码创建:通过制作游戏来学习和教授计算机编程
在学习计算机编程不写代码 Create with Code is Unity Education's new, free program for teaching and learning compu ...
- 新垣结衣自拍照_仅使用代码创建自拍照
新垣结衣自拍照 As a part of my Creative Coding class at NYU Tandon's Integrated Digital Media program, my t ...
- AndroidStudio git 提交代码,创建分支,合并分支,回滚版本,拉取代码
主要有: 提交代码,创建分支,合并分支,回滚版本,拉去代码 1 首先电脑中下载git 2 新建的项目把.git 仓库放到项目总中as 工具的右下角 会显示 Git:master 点击有一个弹框如下 然 ...
- akka actor java_Akka:使用非默认构造函数在Scala中定义一个actor并从Java代码创建它 - java...
Akka Scala演员必须扩展akka.actor.Actor Akka Java actor必须扩展akka.actor.UntypedActor 因此,在使用非默认构造函数定义Scala act ...
最新文章
- 关于Docker的理解
- AntDB上使用uuid
- 騰訊大廈有39層的問題解決方案。
- python 控件显示时间_设置tkinter标签以显示倒计时时间
- linux 账号密码 字段,详解Linux中的用户密码管理命令passwd和change
- 前端学习(2055)vuejs的认识和特点介绍
- win7系统任务管理器被禁用怎么解决
- python加mysql加界面用代码写,使用python写一个监控mysql的脚本,在zabbix web上加上模板...
- matplotlib绘制李萨如图(四) 利用交互模式动态3D李萨如图
- IE8升级IE11失败原因整理
- 支付宝支付即时到账接口在ThinkPHP商城中的应用
- 百战程序员-人工智能从入门到开发教程(60万下载量)
- 阿里云 OSS图片处理
- 6.Selenium2 自动化测试实战-基于Python语言-126邮箱登陆、获得验证信息
- 我的世界python——方块朋友(方块设置移动路径getline)
- 解决window7中浏览器无法上网问题
- Linux 基金会成立小组支持边缘网络开发;浙江绍兴用 AI 监控厨房
- 【codeforces 821E】Okabe and El Psy Kongroo
- C#编码格式转换,Url,escape,unicode编码和解码
- python开发app的软件_如何利用python开发手机app
热门文章
- Spring框架学习笔记(7)——代理对象实现AOP
- TexBox.AutoCompleteSource
- [转]Hamcrest使用方法实例
- sqlcommand对象的有几个操作方法
- Linux 2.6.32-279.el6.x86_64 ANDROID SDK碰到”LIBC.SO.6: VERSION `GLIBC_2.14′ NOT FOUND”的解决方法(2)
- ps -ef 输出结果的具体含义
- Linux下建立多实例Tomcat(独立JVM)
- 回归素材(part5)--白话机器学习算法
- R语言观察日志(part5)--利用readr和readxl包读写数据
- 走近分形与混沌(part9)--感性让人自然,理性让人智慧,理性和感性结合才能产生完美