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相关推荐

  1. C4C和CRM里获取当前登录用户分配的Organization Unit信息

    C4C 如何查看某个用户分配的组织单元ID: 在Employee的Organization Data区域内看到分配的组织名称,如下图红色下划线所示: 现在的需求就是使用ABSL获取当前登录用户分配的O ...

  2. SAP Spartacus organization unit list抬头显示所有unit的标题实现

    如下图高亮区域所示:All Units(39)的实现原理 实现在下图这段高亮代码里: viewType: unit 翻译代码的实现: 翻译的实现: key:unit.header 将unit.head ...

  3. 如何显示Organization unit ID

    Created by Jerry Wang, last modified on Jan 08, 2015 在创建Product的Distribution chain时,从F4 popup window ...

  4. SAP CRM和Cloud for Customer的organization unit

    设计思路都是一样的 CRM 下图是SAP CRM的organization model,大家从图中应该能看到上面organization示意图里画出的Position和employee. PC4U G ...

  5. sql行数少于10_如何用少于100行的代码创建生成艺术

    sql行数少于10 by Eric Davidson 埃里克·戴维森(Eric Davidson) 如何用少于100行的代码创建生成艺术 (How to Create Generative Art I ...

  6. 在学习计算机编程不写代码_使用代码创建:通过制作游戏来学习和教授计算机编程

    在学习计算机编程不写代码 Create with Code is Unity Education's new, free program for teaching and learning compu ...

  7. 新垣结衣自拍照_仅使用代码创建自拍照

    新垣结衣自拍照 As a part of my Creative Coding class at NYU Tandon's Integrated Digital Media program, my t ...

  8. AndroidStudio git 提交代码,创建分支,合并分支,回滚版本,拉取代码

    主要有: 提交代码,创建分支,合并分支,回滚版本,拉去代码 1 首先电脑中下载git 2 新建的项目把.git 仓库放到项目总中as 工具的右下角 会显示 Git:master 点击有一个弹框如下 然 ...

  9. akka actor java_Akka:使用非默认构造函数在Scala中定义一个actor并从Java代码创建它 - java...

    Akka Scala演员必须扩展akka.actor.Actor Akka Java actor必须扩展akka.actor.UntypedActor 因此,在使用非默认构造函数定义Scala act ...

最新文章

  1. 关于Docker的理解
  2. AntDB上使用uuid
  3. 騰訊大廈有39層的問題解決方案。
  4. python 控件显示时间_设置tkinter标签以显示倒计时时间
  5. linux 账号密码 字段,详解Linux中的用户密码管理命令passwd和change
  6. 前端学习(2055)vuejs的认识和特点介绍
  7. win7系统任务管理器被禁用怎么解决
  8. python加mysql加界面用代码写,使用python写一个监控mysql的脚本,在zabbix web上加上模板...
  9. matplotlib绘制李萨如图(四) 利用交互模式动态3D李萨如图
  10. IE8升级IE11失败原因整理
  11. 支付宝支付即时到账接口在ThinkPHP商城中的应用
  12. 百战程序员-人工智能从入门到开发教程(60万下载量)
  13. 阿里云 OSS图片处理
  14. 6.Selenium2 自动化测试实战-基于Python语言-126邮箱登陆、获得验证信息
  15. 我的世界python——方块朋友(方块设置移动路径getline)
  16. 解决window7中浏览器无法上网问题
  17. Linux 基金会成立小组支持边缘网络开发;浙江绍兴用 AI 监控厨房
  18. 【codeforces 821E】Okabe and El Psy Kongroo
  19. C#编码格式转换,Url,escape,unicode编码和解码
  20. python开发app的软件_如何利用python开发手机app

热门文章

  1. Spring框架学习笔记(7)——代理对象实现AOP
  2. TexBox.AutoCompleteSource
  3. [转]Hamcrest使用方法实例
  4. sqlcommand对象的有几个操作方法
  5. Linux 2.6.32-279.el6.x86_64 ANDROID SDK碰到”LIBC.SO.6: VERSION `GLIBC_2.14′ NOT FOUND”的解决方法(2)
  6. ps -ef 输出结果的具体含义
  7. Linux下建立多实例Tomcat(独立JVM)
  8. 回归素材(part5)--白话机器学习算法
  9. R语言观察日志(part5)--利用readr和readxl包读写数据
  10. 走近分形与混沌(part9)--感性让人自然,理性让人智慧,理性和感性结合才能产生完美