Abap 如何在SAP CRM中创造机会?

Abap 如何在SAP CRM中创造机会?,abap,sap-crm,Abap,Sap Crm,我是Java开发人员,对SAP CRM非常陌生,但当前项目的要求要求我对SAP CRM系统有基本的了解。我想知道我可以在SAP中找到客户、商机、潜在客户等的工具。如果问题不完整,请问我适当的问题,我会尽我所能解释 我已经看过多个视频和教程,但没有帮助,代码目前不可用 我希望有人能告诉我在SAP CRM中找到上述字段(客户、机会、案例等,如Salesforce)的确切位置。为此使用BAPI\u Opportunity\u CREATEMULTI,不要忘了在BAPI之后运行commit,否则您的机会

我是Java开发人员,对SAP CRM非常陌生,但当前项目的要求要求我对SAP CRM系统有基本的了解。我想知道我可以在SAP中找到客户、商机、潜在客户等的工具。如果问题不完整,请问我适当的问题,我会尽我所能解释

我已经看过多个视频和教程,但没有帮助,代码目前不可用


我希望有人能告诉我在SAP CRM中找到上述字段(客户、机会、案例等,如Salesforce)的确切位置。

为此使用
BAPI\u Opportunity\u CREATEMULTI
,不要忘了在BAPI之后运行commit,否则您的机会将不会出现在表中。以下是示例:

DATA: return            TYPE TABLE OF BAPIRET2 WITH HEADER LINE,
      it_opportunity    TYPE BAPIBUS20001_OPPORTUNITY,
      it_header         TYPE BAPIBUS20001_HEADER_INS,
      it_item           TYPE BAPIBUS20001_ITEM,
      it_input_fields   TYPE BAPIBUS20001_INPUT_FIELDS,
      it_pricing        TYPE BAPIBUS20001_PRICING,
      <fs_partner>      TYPE BAPIBUS20001_PARTNER_INS,
      w_status          TYPE BAPIBUS20001_STATUS_INS.

* gc_handle_1 is used for an item to bind it to a opportunity and gc_handle_2 is used to bind the information for an item to an item.
CONSTANTS: gc_handle_1 TYPE crmt_handle VALUE '0000000001',
           gc_handle_2 TYPE crmt_handle VALUE '0000000002'.

* --ITEM DATA--

APPEND INITIAL LINE TO it_item ASSIGNING FIELD-SYMBOL(<fs_item>).
<fs_item>-mode = 'A'.
<fs_item>-ordered_prod = int_tab-produkt. "your product
<fs_item>-itm_type = 'ZOPT'.
<fs_item>-handle = gc_handle_2. "Identification of this item
<fs_item>-header_handle = gc_handle_1. "Refers to the opportunity for which this item is for.

APPEND INITIAL LINE TO it_input_fields ASSIGNING FIELD-SYMBOL(<fs_fields>).
<fs_fields>-ref_handle = gc_handle_2. "Refers to the item for which this information is for 
<fs_fields>-objectname = 'ORDERADM_I'.
<fs_fields>-ref_kind = 'B'.
<fs_fields>-fieldname = 'ORDERED_PROD'.

APPEND INITIAL LINE TO it_input_fields ASSIGNING <fs_fields>.
<fs_fields>-fieldname = 'ITM_TYPE'.

CLEAR return.

* --HEADER DATA --

APPEND INITIAL LINE TO it_header ASSIGNING FIELD-SYMBOL(<fs_header>).
<fs_header>-guid = ''.
<fs_header>-handle = gc_handle_1. "Identification of this opportunity
CONCATENATE 'Konv: ' int_tab-betegnelse INTO <fs_header>-description SEPARATED BY space.
<fs_header>-process_type = 'ZOPP'.
<fs_header>-descr_language = 'K'.
<fs_header>-langu_iso = 'DA'.
<fs_header>-posting_date = sy-datum.

APPEND INITIAL LINE TO it_input_fields ASSIGNING <fs_fields>.
<fs_fields>-ref_handle = gc_handle_1.
<fs_fields>-objectname = 'ORDERADM_H'.
<fs_fields>-ref_kind = 'A'.
<fs_fields>-fieldname = 'PROCESS_TYPE'.

APPEND INITIAL LINE TO it_input_fields ASSIGNING <fs_fields>.
<fs_fields>-fieldname = 'OBJECT_ID'.

APPEND INITIAL LINE TO it_input_fields ASSIGNING <fs_fields>.
<fs_fields>-fieldname = 'DESCRIPTION'.

* --PARTNER DATA--

APPEND INITIAL LINE TO <fs_partner> ASSIGNING FIELD-SYMBOL(<fs_partner>).
<fs_partner>-ref_handle = gc_handle_1.
<fs_partner>-display_type = 'BP'.
<fs_partner>-no_type = 'BP'.
<fs_partner>-ref_kind = 'A'.
<fs_partner>-ref_partner_handle = '0000'.
<fs_partner>-partner_no = int_tab-kundeemne.
<fs_partner>-partner_fct = '00000021'.
<fs_partner>-mainpartner = 'X'.

APPEND INITIAL LINE TO <fs_partner> ASSIGNING <fs_partner>.
<fs_partner>-mainpartner = ''.
<fs_partner>-partner_no = int_tab-kontpers.
<fs_partner>-partner_fct = '00000015'.

APPEND INITIAL LINE TO <fs_partner> ASSIGNING <fs_partner>.
<fs_partner>-partner_no = int_tab-amedarb.
<fs_partner>-partner_fct = 'Z0000014'.

APPEND INITIAL LINE TO it_input_fields ASSIGNING <fs_fields>.
<fs_fields>-objectname = 'PARTNER'.
<fs_fields>-logical_key = '0000'.
<fs_fields>-fieldname = 'PARTNER_FCT'.

APPEND INITIAL LINE TO it_input_fields ASSIGNING <fs_fields>.
<fs_fields>-fieldname = 'PARTNER_NO'.

APPEND INITIAL LINE TO it_input_fields ASSIGNING <fs_fields>.
<fs_fields>-fieldname = 'DISPLAY_TYPE'.

APPEND INITIAL LINE TO it_input_fields ASSIGNING <fs_fields>.
<fs_fields>-fieldname = 'NO_TYPE'.

APPEND INITIAL LINE TO it_input_fields ASSIGNING <fs_fields>.
<fs_fields>-fieldname = 'KIND_OF_ENTRY'.

APPEND INITIAL LINE TO it_input_fields ASSIGNING <fs_fields>.
<fs_fields>-fieldname = 'MAINPARTNER'.

* --OPPORTUNITY DATA--

APPEND INITIAL LINE TO it_opportunity ASSIGNING FIELD-SYMBOL(<fs_opportunity>).
<fs_opportunity>-ref_handle = gc_handle_1.
<fs_opportunity>-startdate = int_tab-start.
<fs_opportunity>-expect_end = int_tab-****.
<fs_opportunity>-probability = int_tab-succes.
<fs_opportunity>-curr_phase = int_tab-aktfas.
<fs_opportunity>-forecast_rel = int_tab-relpro.
<fs_opportunity>-type = int_tab-smgrp.
<fs_opportunity>-importance = int_tab-priori.

APPEND INITIAL LINE TO it_input_fields ASSIGNING <fs_fields>.
<fs_fields>-objectname = 'OPPORT_H'.
<fs_fields>-fieldname = 'STARTDATE'.

* --PRICING DATA-
READ TABLE it_opportunity ASSIGNING FIELD-SYMBOL(<fs_opp>) INDEX 1.

*-- Needed to store CURRENCY.
CLEAR it_pricing.
APPEND INITIAL LINE TO it_it_pricing ASSIGNING FIELD-SYMBOL(<fs_pricing>).
<fs_pricing>-REF_HANDLE = 1.
<fs_pricing>-REF_GUID = g_BlankGuid.
<fs_pricing>-REF_KIND = 'A'.
<fs_pricing>-CURRENCY = <fs_opp>-CURRENCY.
<fs_pricing>-CURRENCY_ISO = <fs_opp>-CURRENCY_ISO.

* --OPPORTUNITY DATA--

CLEAR w_status.
w_status-ref_guid = l_opportunity_guid.
w_status-ref_handle = l_count_ref_handle.
w_status-ref_kind = 'A'.
w_status-status = 'E0001'.
w_status-user_stat_proc = 'ZOPPRSTU'.
w_status-activate = 'X'.
APPEND w_status TO t_status.

APPEND INITIAL LINE TO it_input_fields ASSIGNING <fs_fields>.
<fs_fields>-ref_handle = l_count_ref_handle.
<fs_fields>-ref_guid = l_opportunity_guid.
<fs_fields>-ref_kind = 'A'.
<fs_fields>-objectname = 'STATUS'.
CONCATENATE w_status-status w_status-user_stat_proc INTO <fs_fields>-logical_key.
<fs_fields>-fieldname = 'STATUS'.

APPEND INITIAL LINE TO it_input_fields ASSIGNING <fs_fields>.
<fs_fields>-fieldname = 'USER_STAT_PROC'.

APPEND INITIAL LINE TO it_input_fields ASSIGNING <fs_fields>.
<fs_fields>-fieldname = 'ACTIVATE'.

CALL FUNCTION 'BAPI_OPPORTUNITY_CREATEMULTI'
  EXPORTING
    TESTRUN = ' '
  TABLES
    HEADER = it_header
    OPPORTUNITY = it_opportunity
    PARTNER = it_partner
    PRICING = it_pricing
    INPUT_FIELDS = it_input_fields
    RETURN = return
    ITEM = it_item
    STATUS = w_status.

* Opportunity will not appear until you commit.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
  EXPORTING
   WAIT = abap_true.
数据:带标题行的BAPIRET2返回类型表,
it_opportunity类型BAPIBS20001_opportunity,
it_头类型BAPIBS20001_头类型,
it项目类型BAPIBUS20001项目,
it_输入_字段类型BAPIBS20001_输入_字段,
it_定价类型BAPIBS20001_定价,
键入BAPIBS20001\u合作伙伴\u INS,
w_状态类型BAPIBS20001_状态输入。
*gc_handle_1用于将项目绑定到opportunity,gc_handle_2用于将项目的信息绑定到项目。
常量:gc\u handle\u 1类型crmt\u handle值“000000000 1”,
gc\U句柄\U 2类型crmt\U句柄值“0000000002”。
*--项目数据--
将初始行附加到项目分配字段-SYMBOL()。
-模式='A'。
-已订购的产品=int\U tab-produkt。“你的产品
-itm_类型='ZOPT'。
-handle=gc\u handle\u 2.“此项目的标识
-header\u handle=gc\u handle\u 1。“是指该项目的销售机会。
将初始行附加到指定字段-SYMBOL()的输入字段。
-ref_handle=gc_handle_2.”是指此信息所针对的项目
-objectname='ORDERADM_I'。
-参考种类='B'。
-fieldname='ORDERED_PROD'。
将初始行附加到指定的输入字段。
-字段名='ITM_类型'。
明确返回。
*--标题数据--
将初始行附加到指定字段-SYMBOL()的标题。
-guid=''。
-handle=gc\u handle\u 1。“确定这一机会
将“Konv:”int_tab-betegnelse连接到-description中,用空格分隔。
-进程类型='ZOPP'。
-描述语言='K'。
-语言iso='DA'。
-过账日期=sy基准。
将初始行附加到指定的输入字段。
-ref_handle=gc_handle_1。
-objectname='ORDERADM_H'。
-ref_kind='A'。
-fieldname='进程类型'。
将初始行附加到指定的输入字段。
-fieldname='OBJECT_ID'。
将初始行附加到指定的输入字段。
-fieldname='DESCRIPTION'。
*--合作伙伴数据--
将初始行追加到赋值字段-SYMBOL()。
-ref_handle=gc_handle_1。
-显示类型='BP'。
-无_类型='BP'。
-ref_kind='A'。
-ref_partner_handle='0000'。
-合作伙伴编号=int\U tab-kundeemne。
-partner_fct='00000021'。
-mainpartner='X'。
将初始行附加到赋值。
-主要合伙人=“”。
-合作伙伴编号=int\U tab-kontpers。
-partner_fct='00000015'。
将初始行附加到赋值。
-合作伙伴编号=int\U tab-amedarb。
-合伙人_fct='Z0000014'。
将初始行附加到指定的输入字段。
-objectname='PARTNER'。
-逻辑_键='0000'。
-fieldname='PARTNER_FCT'。
将初始行附加到指定的输入字段。
-fieldname='合作伙伴号'。
将初始行附加到指定的输入字段。
-fieldname='显示类型'。
将初始行附加到指定的输入字段。
-fieldname='无类型'。
将初始行附加到指定的输入字段。
-fieldname='项目的种类'。
将初始行附加到指定的输入字段。
-fieldname='MAINPARTNER'。
*--机会数据--
将初始行附加到它\u opportunity ASSIGNING FIELD-SYMBOL()。
-ref_handle=gc_handle_1。
-startdate=int_制表符开始。
-expect\u end=int\u tab-**。
-概率=成功。
-当前阶段=内部选项卡-aktfas。
-forecast\u rel=int\u tab-relpro。
-类型=int\U tab-smgrp。
-重要性=int_tab-priori。
将初始行附加到指定的输入字段。
-objectname='OPPORT_H'。
-fieldname='STARTDATE'。
*--定价数据-
读取表it\u商机分配字段-SYMBOL()索引1。
*--需要存储货币。
在定价时清除它。
将初始行附加到it\ it\定价分配字段-SYMBOL()。
-REF_HANDLE=1。
-REF_GUID=g_BlankGuid。
-REF_KIND='A'。
-货币=-货币。
-货币ISO=-货币ISO。
*--机会数据--
清除w_状态。
w_status-ref_guid=l_opportunity_guid。
w_status-ref_handle=l_count_ref_handle。
w_status-ref_kind='A'。
w_status-status='E0001'。
w_status-user_stat_proc='ZOPPRSTU'。
w_status-activate='X'。
将w_状态附加到t_状态。
将初始行附加到指定的输入字段。
-ref\u handle=l\u count\u ref\u handle。
-ref\u guid=l\u opportunity\u guid。
-ref_kind='A'。
-objectname='状态'。
将w_status-status w_status-user_stat_proc连接到-logical_键中。
-字段名='状态'。
将初始行附加到指定的输入字段。
-fieldname='USER\u STAT\u PROC'。
将初始行附加到指定的输入字段。
-fieldname='ACTIVATE'。
调用函数“BAPI\u OPPORTUNITY\u CREATEMULTI”
出口
测试运行=“”
桌子
HEADER=it\u HEADER
机会
合作伙伴=it\U合作伙伴
定价=it\U定价
输入\字段=it \输入\字段
返回=返回
项目=it\u项目
状态=w_状态。
*在您提交之前,Opportunity不会出现。
调用函数“BAPI\u事务\u提交”
出口
WAIT=abap\u true。
同时检查报告
CRM\u报告\u创建\u批量\u OPPT

使用tcode
/ncrmd\u BUS2000111
可以在GUI模式下创建opportunity

什么关系

我可以在SAP CRM中找到上述字段(如Salesforce中的客户、机会、案例等)的确切位置

它们都存储在CRM表中,可能是
CRMD\u ORDERADM\u H
CRMD\u ORDERADM\u I
和所有业务对象