BAPI_BUSPROCESSND_CREATEMULTI - Regdg ?
Hi,
I am using BAPI_BUSPROCESSND_CREATEMULTI to create service contracts. Kindly let me know how to populate partner, schedule line, objects structures. I am able to create a contract successfully with header details. But when i pass partner, schedule line, these details doesnt get reflected in the contract.
Provide some sample code if possible.
Thanks & Regards,
Ramasubrmanian G.
Hi,
Were you able to figure out your problem. I am facing similar problem here of not able to populate the partners information to the complaint though I am passing the needed partner info to the bapi. Can you please help me out?
Thanks,
Suneetha
Similar Messages
-
Trying to create a sales order in CRM with BAPI_BUSPROCESSND_CREATEMULTI.
hi all,
I am trying to create a sales order in CRM using the BAPI BAPI_BUSPROCESSND_CREATEMULTI.
I need the sales order number as the out put. So I am declaring OBJECT_ID as the export parameter.
This is my source code, I donu2019t get an error, but the sales order is not generated and I donu2019t get any output for my export parameter OBJECT_ID.
I am setting the tables HEADER,ITEM ,SALES,PARTNER, ORGANISATION, RETURN and
SCHEDULELINE in BAPI_BUSPROCESSND_CREATEMULTI. But still unable to display the sales order number. Please help me with information
This is my code
***********************************Define the Internal Tables*************************
DATA: IT_HEADER TYPE STANDARD TABLE OF BAPIBUS20001_HEADER_INS WITH HEADER LINE.
DATA: IT_SALES TYPE STANDARD TABLE OF BAPIBUS20001_SALES WITH HEADER LINE.
DATA: IT_ITEM TYPE STANDARD TABLE OF BAPIBUS20001_ITEM WITH HEADER LINE.
DATA: IT_SCHEDULELINE TYPE STANDARD TABLE OF BAPIBUS20001_SCHEDLIN WITH HEADER LINE.
DATA: IT_PARTNER TYPE STANDARD TABLE OF BAPIBUS20001_PARTNER_INS WITH HEADER LINE.
DATA: IT_ORGANIZATION TYPE STANDARD TABLE OF BAPIBUS20001_ORGMAN_INS WITH HEADER LINE.
**Values for Internal Table IT_HEADER**
IT_HEADER-PROCESS_TYPE = 'YWEB'.
IT_HEADER-DESCRIPTION = 'Web Order'.
IT_HEADER-POSTING_DATE = 'SY-DATUM'.
IT_HEADER-CREATED_BY = 'SY-USER'.
APPEND IT_HEADER TO IT_HEADER.
**Values for Internal Table IT_SALES**
IT_SALES-PO_NUMBER_SOLD = '1'.
APPEND IT_SALES TO IT_SALES.
**Values for Internal Table IT_ITEM**
IT_ITEM-NUMBER_INT = '20'.
IT_ITEM-ORDERED_PROD = '50000180'.
IT_ITEM-ITM_TYPE = 'ZABC'.
APPEND IT_ITEM TO IT_ITEM.
**Values for Internal Table IT_PARTNER**
IT_PARTNER-REF_PARTNER_NO = '100000620'.
IT_PARTNER-REF_PARTNER_FCT = 'CRMH04'.
APPEND IT_PARTNER TO IT_PARTNER.
**Values for Internal Table IT_ORGANIZATION**
IT_ORGANIZATION-SALES_ORG = 'O 50000100'.
IT_ORGANIZATION-DIS_CHANNEL = '30'.
IT_ORGANIZATION-DIVISION = '80'.
APPEND IT_ORGANIZATION TO IT_ORGANIZATION.
**Values for Internal Table IT_SCHEDULELINE**
IT_SCHEDULELINE-QUANTITY = '2.268'.
APPEND IT_SCHEDULELINE TO IT_SCHEDULELINE.
**Call BAPI_BUSPROCESSND_CREATEMULTI for creating a sales 0rder******
CALL FUNCTION 'BAPI_BUSPROCESSND_CREATEMULTI'
TABLES
HEADER = IT_HEADER
ITEM = IT_ITEM
SALES = IT_SALES
PARTNER = IT_PARTNER
ORGANISATION = IT_ORGANIZATION
RETURN = IT_RETURN1
SCHEDULELINE = IT_SCHEDULELINE.
****************CALL COMMIT WORK**********
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'
IMPORTING
RETURN = IT_RETURN2.
ENDFUNCTION.
Edited by: jessica sam on Dec 10, 2008 1:45 AMHi am getting the sales order but the item data is not available in sales order. Also should I generate a new guide always for HEADER, ITEM, PARTNER, ORGANIZATION, SCHEDULELINE,u2026u2026for the tables that I use?
I mean do I need to create a new guide each time for all the tables that I use and finally pass only header guide to the bapi 'BAPI_BUSPROCESSND_SAVE'.
I donu2019t know why I am not getting the product data in the saved sales order please help me.
this is my code
***TABLES
DATA: IT_HEADER TYPE TABLE OF BAPIBUS20001_HEADER_INS.
DATA: IT_INPUT_FIELDS_FILL TYPE TABLE OF BAPIBUS20001_INPUT_FIELDS.
DATA: IT_ITEM TYPE TABLE OF BAPIBUS20001_ITEM.
DATA: IT_OBJECTS_TO_SAVE TYPE STANDARD TABLE OF BAPIBUS20001_GUID_DIS WITH HEADER LINE.
***WORK AREA
DATA: WA_INPUT_FIELDS TYPE BAPIBUS20001_INPUT_FIELDS.
DATA: WA_HEADER TYPE BAPIBUS20001_HEADER_INS.
DATA: WA_ITEM TYPE BAPIBUS20001_ITEM.
DATA: IT_EV_GUID_32 TYPE GUID_32.
DATA: IT_EV_GUID_32_1 TYPE GUID_32.
*Create GUID
CALL FUNCTION 'GUID_CREATE'
IMPORTING
EV_GUID_32 = IT_EV_GUID_32.
* Fill the HEADER
WA_HEADER-GUID = IT_EV_GUID_32.
WA_HEADER-PROCESS_TYPE = 'ZWEB'.
WA_HEADER-DESCRIPTION = 'WEB ORDER'.
WA_HEADER-CREATED_BY = 'jiopidn'.
APPEND WA_HEADER TO IT_HEADER.
*For each FIELD of HEADER fill INPUT_FIELDS
WA_INPUT_FIELDS-REF_GUID = IT_EV_GUID_32.
WA_INPUT_FIELDS-REF_KIND = 'A'.
WA_INPUT_FIELDS-OBJECTNAME = 'ORDERADM_H'.
WA_INPUT_FIELDS-LOGICAL_KEY = '1'.
WA_INPUT_FIELDS-CHANGEABLE = ' '.
WA_INPUT_FIELDS-FIELDNAME = 'PROCESS_TYPE'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
WA_INPUT_FIELDS-FIELDNAME = 'GUID'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
WA_INPUT_FIELDS-FIELDNAME = 'DESCRIPTION'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
WA_INPUT_FIELDS-FIELDNAME = 'CREATED_BY'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
*Create your own GUID
CALL FUNCTION 'GUID_CREATE'
IMPORTING
EV_GUID_32 = IT_EV_GUID_32_1.
* Fill the ITEM
WA_ITEM-GUID = IT_EV_GUID_32_1.
WA_ITEM-NUMBER_INT = '10'.
WA_ITEM-ORDERED_PROD = '000000000070000000'.
WA_ITEM-ITM_TYPE = 'ZTAN'.
WA_ITEM-MODE = 'A'.
APPEND WA_ITEM TO IT_ITEM.
*For each FIELD of ITEM fill INPUT_FIELDS fields
WA_INPUT_FIELDS-REF_GUID = IT_EV_GUID_32_1.
WA_INPUT_FIELDS-REF_KIND = 'A'.
WA_INPUT_FIELDS-OBJECTNAME = 'ORDERADM_I'.
WA_INPUT_FIELDS-LOGICAL_KEY = '1'.
WA_INPUT_FIELDS-CHANGEABLE = ' '.
WA_INPUT_FIELDS-FIELDNAME = 'GUID'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
WA_INPUT_FIELDS-FIELDNAME = 'NUMBER_INT'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
WA_INPUT_FIELDS-FIELDNAME = 'ORDERED_PROD'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
WA_INPUT_FIELDS-FIELDNAME = 'ITM_TYPE'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
REFRESH: CREATED_PROCESS.
***** CALL BAPI_BUSPROCESSND_CREATEMULTI
CALL FUNCTION 'BAPI_BUSPROCESSND_CREATEMULTI'
TABLES
HEADER = IT_HEADER
ITEM = IT_ITEM
INPUT_FIELDS = IT_INPUT_FIELDS_FILL
CREATED_PROCESS = CREATED_PROCESS
RETURN = RETURN.
IT_OBJECTS_TO_SAVE-GUID = IT_EV_GUID_32.
IT_OBJECTS_TO_SAVE-OBJECT_TYPE = 'BAPIBUS20001'.
APPEND IT_OBJECTS_TO_SAVE TO IT_OBJECTS_TO_SAVE.
**** CALL 'BAPI_BUSPROCESSND_SAVE
CALL FUNCTION 'BAPI_BUSPROCESSND_SAVE'
EXPORTING
UPDATE_TASK_LOCAL = true
SAVE_FRAME_LOG = true
TABLES
OBJECTS_TO_SAVE = IT_OBJECTS_TO_SAVE
SAVED_OBJECTS = ITAB_SAVED_OBJECTS
RETURN = itab_return.
**** CALL BAPI_TRANSACTION_COMMIT
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = true
IMPORTING
RETURN = RETURN1.
Edited by: jessica sam on Dec 12, 2008 3:50 AM -
Creating service order using BAPI_BUSPROCESSND_CREATEMULTI
Hi Experts,
I have a requirement to create a Service order using a BAPI.
I'm trying to use the BAPI BAPI_BUSPROCESSND_CREATEMULTI. I found some code related to this BAPI on this forum and and I've written my code based on that and while executing it i'm getting a short dump. Could anyone please help me figure out what the problem is.
My code is as follows:
data: lv_header_guid type guid_32.
data: begin of lit_header occurs 0,
include type BAPIBUS20001_HEADER_INS,
end of lit_header.
data: wa_header type BAPIBUS20001_HEADER_INS.
data: begin of lit_inputfields occurs 0,
include type BAPIBUS20001_INPUT_FIELDS,
end of lit_inputfields.
data: wa_inputfields type BAPIBUS20001_INPUT_FIELDS.
data: begin of lit_partner occurs 0,
include type BAPIBUS20001_PARTNER_INS,
end of lit_partner.
data: wa_partner type BAPIBUS20001_PARTNER_INS.
Create Contract header guid
CALL FUNCTION 'GUID_CREATE'
IMPORTING
ev_guid_32 = lv_header_guid.
Fill orderadm_h
wa_header-guid = lv_header_guid.
wa_header-process_type = 'YSC'.
APPEND wa_header TO lit_header.
Fill input fields
MOVE: lv_header_guid TO wa_inputfields-ref_guid,
'A' TO wa_inputfields-ref_kind,
'0001' TO wa_partner-ref_partner_handle,
'ORDERADM_H' TO wa_inputfields-objectname,
'PROCESS_TYPE' TO wa_inputfields-fieldname.
APPEND wa_inputfields TO lit_inputfields.
CLEAR wa_inputfields.
Fill PARTNER DETAILS
Sold to Party
MOVE: lv_header_guid TO wa_partner-ref_guid,
'A' TO wa_partner-ref_kind,
'0001' TO wa_partner-ref_partner_handle,
'CRM000' TO wa_partner-partner_fct,
'5000000288' TO wa_partner-partner_no,
'BP' TO wa_partner-no_type,
'BP' TO wa_partner-display_type,
'X' TO wa_partner-mainpartner.
APPEND wa_partner TO lit_partner.
CLEAR wa_partner.
Fill input fields
MOVE: lv_header_guid TO wa_inputfields-ref_guid,
'A' TO wa_inputfields-ref_kind,
'0001' TO wa_inputfields-logical_key,
'PARTNER' TO wa_inputfields-objectname.
MOVE 'PARTNER_FCT' TO wa_inputfields-fieldname.
APPEND wa_inputfields TO lit_inputfields.
MOVE 'PARTNER_NO' TO wa_inputfields-fieldname.
APPEND wa_inputfields TO lit_inputfields.
MOVE 'NO_TYPE' TO wa_inputfields-fieldname.
APPEND wa_inputfields TO lit_inputfields.
MOVE 'DISPLAY_TYPE' TO wa_inputfields-fieldname.
APPEND wa_inputfields TO lit_inputfields.
CLEAR wa_inputfields.
CALL FUNCTION 'BAPI_BUSPROCESSND_CREATEMULTI'
TABLES
HEADER = lit_header
ITEM =
ACTIVITY =
SALES =
PARTNER = lit_partner
ORGANISATION =
SHIPPING =
APPOINTMENT =
TEXT =
SERVICE_OS =
STATUS =
INPUT_FIELDS = lit_inputfields
CREATED_PROCESS =
RETURN =
LEAD =
OPPORTUNITY =
PRODUCT =
SCHEDULELINE =
CUSTOMER_HEAD =
CUSTOMER_ITEM =
PRICING =
PRICING_ITEM =
CONDITION_CREATE =
BILLING =
CONFIG_CFG =
CONFIG_BLB =
CONFIG_INS =
CONFIG_PRT =
CONFIG_VAL =
CONFIG_VK =
CONFIG_REF =
ADDRESS =
BILLPLAN =
BILLPLAN_DATE =
EXTENSIONIN =
DOCUMENT_FLOW =
BATCH =
PRICING_AGR_CRM =
FINPROD_ITEM =
CANCEL =
CANCEL_IR =
PRODUCT_LIST =
PRODUCTS =
OBJECTS =
PAYPLAN =
PAYPLAN_DATE =
CONFIG_FILTER_CFG =
CONFIG_FILTER_INS =
CONFIG_FILTER_PRT =
CONFIG_FILTER_VAL =
ACTIVITY_I =
EXT_REF =
ENDFUNCTION.
I'm getting the following dump.
Runtime Errors ITAB_ILLEGAL_COMPONENT
Date and Time 07.09.2006 21:29:03
Short dump has not been completely stored (too big)
Short text
Invalid line component &V2 in "... KEY k1 = v1 ... kn = vn".
Error analysis
When the ABAP/4 program "SAPLCRM_BUSPROCESSND_BAPI" attempted to process the
internal table "HEADER[]"
with "... KEY k1 = v1 ... kn = vn", a component "HANDLE " was specified
dynamically as the contents
of the field "LV_STR_HANDLE". However, the line type "u" of the internal table
"HEADER[]"
contains no component "HANDLE ".
| -
Information on where terminated
Termination occurred in the ABAP program "SAPLCRM_BUSPROCESSND_BAPI" - in
"SET_RETURN_VALUES".
The main program was "RS_TESTFRAME_CALL ".
In the source code you have the termination point in line 36
of the (Include) program "LCRM_BUSPROCESSND_BAPIF80".
Source Code Extract
Line
SourceCde
6
7
text
8
9
-->P_LT_ORDERADM_H_COM text
10
-->P_LT_ORDERADM_I_COM text
11
<--P_HEADER text
12
<--P_ITEM text
13
14
form set_return_values tables header structure BAPIBUS20001_HEADER_INS
15
item structure BAPIBUS20001_item
16
using p_lt_orderadm_h_com type any table
17
p_lt_orderadm_i_com type any table
18
19
20
data: lv_str_handle type fieldname,
21
lv_str_headerhandle type fieldname,
22
lv_str_objectid type fieldname.
23
24
25
field-symbols: <ls_orderadm_h> type crmt_orderadm_h_com,
26
<ls_orderadm_i> type crmt_orderadm_i_com,
27
<ls_header> type BAPIBUS20001_HEADER_INS,
28
<ls_item> type BAPIBUS20001_item.
29
30
31
lv_str_handle = 'HANDLE'.
32
lv_str_headerhandle = 'HEADER_HANDLE'.
33
lv_str_objectid = 'OBJECT_ID'.
34
35
loop at p_lt_orderadm_h_com assigning <ls_orderadm_h>.
>>>>>
read table header with key (lv_str_handle) = <ls_orderadm_h>-handle
37
(lv_str_objectid) = <ls_orderadm_h>-object_id
38
assigning <ls_header>.
39
if sy-subrc = 0.
40
<ls_header>-guid = <ls_orderadm_h>-guid.
41
endif.
42
endloop.
| 43|
Could anyone please help me with this.
Thanks,
Preethi
Message was edited by: Preethi SoothFirst off. Debug.
Put a break point on the line that is generating the short dump and run your code. The ABAP debugger should display before the dump...now....
The error specifies that the line type of the table HEADER (which is the internal representation of your lit_header table and has line type BAPIBUS20001_HEADER_INS ) doesn't have a field called HANDLE.
Check if it does (it should have or something is very wrong, and you should report a bug to SAP).
Check all runtime variables for that command. See if the table has any values in it. Try using your lit_header table with header-line or not.
Your in a far better position to determine what the error is then me. Right now, I don't have access to a CRM server.
From my experience that BAPI is a piece of .... It is hard finding functions in CRM that actually do what you want...properly...Try using CRM_ORDER_CREATE (i think it's called like that). Much better, and if you need RFC capability just write a wrapper RFC.
Message was edited by: João Sousa -
Problem with status of header in BAPI_BUSPROCESSND_CREATEMULTI
Hi All,
I start by shortly describing the situation of the problem.
We have CRM linked to R/3 (IS-U (energy products) and SD (home assistance products)).
We created a bsp application for the IC Winclient (integrated in a workspace) which makes it possible to create a contract easily. When I create a contract with 3 items (10 = Electricity; 20 = Home Assistance; 30 = Gas) then replication of item 20 to SD is not done. the status of the header does not change to 'to be distributed'...
And since I use the BAPI 'BAPI_BUSPROCESSND_CREATEMULTI' it is possible to change the user status (works fine) but still it doesn't replicate.
Since the BAPI does a CRM_ORDER_SAVE, afterwards I can't change it directly because it is still locked...
Does anybody know how I can fix this???
thanx in advance!!
MichaHi Kapil,
I totally agree with you that in the normal circumstances the replication is complete. And it is the case if I create a contract where the Home Assistance is the last item...
But when I create a contract with 3 items (10 = Electricity (new customer so a workflow is started and no replication is needed yet); 20 = Home Assistance (should be replicated to SD); 30 = Gas (new customer so a workflow is started and no replication is needed yet)) then the item 20 is not replicated...
I changed the order of the contract (within the program) and if I create the contract with the following order (10 = Electricity (new customer so a workflow is started and no replication is needed yet); 20 = Gas (new customer so a workflow is started and no replication is needed yet); 30 = Home Assistance (should be replicated to SD)), then the Home Assistance is replicated fine...
It is a very strange problem... replication works fine in all cases, just not in this order....
Thanks for the tip anyhow!!
Micha -
Set item, partner data of sales order using BAPI_BUSPROCESSND_CREATEMULTI
hi all,
i am using BAPI_BUSPROCESSND_CREATEMULTI to create sales order in CRM. the order is created but i dont have the partner information, item data, organization and schedule line data even though i am passing them in the bapi.
I am generating a new guide each time for all these tables HEADER, ITEM, PARTNER, ORGANIZATION, SCHEDULELINE,u2026u2026
and finally in 'BAPI_BUSPROCESSND_SAVE i am passing the guide as the guide that i generated for HEADER table..I am i using the bapi in correct way?
I don't know why I dont see any partner data, product data i, item data n my saved order.i dont know what values i should pass to the PARTNER table for REF_GUID , REF_KIND, REF_PARTNER_HANDLE . please help me.
this is my code
*****Internal Tables
***TABLES
DATA: IT_HEADER TYPE TABLE OF BAPIBUS20001_HEADER_INS.
DATA: IT_INPUT_FIELDS_FILL TYPE TABLE OF BAPIBUS20001_INPUT_FIELDS.
DATA: IT_ITEM TYPE TABLE OF BAPIBUS20001_ITEM.
DATA: IT_PARTNER TYPE TABLE OF BAPIBUS20001_PARTNER_INS.
DATA: IT_ORGANISATION TYPE TABLE OF BAPIBUS20001_ORGMAN_INS.
***WORK AREA
DATA: WA_INPUT_FIELDS TYPE BAPIBUS20001_INPUT_FIELDS.
DATA: WA_HEADER TYPE BAPIBUS20001_HEADER_INS.
DATA: WA_ITEM TYPE BAPIBUS20001_ITEM.
DATA: WA_PARTNER TYPE BAPIBUS20001_PARTNER_INS.
DATA: WA_ORGANISATION TYPE BAPIBUS20001_ORGMAN_INS.
DATA: IT_EV_GUID_32 TYPE GUID_32.
DATA: IT_EV_GUID_32_1 TYPE GUID_32.
DATA: IT_EV_GUID_32_2 TYPE GUID_32.
DATA: IT_EV_GUID_32_3 TYPE GUID_32.
DATA: IT_OBJECTS_TO_SAVE TYPE STANDARD TABLE OF BAPIBUS20001_GUID_DIS WITH HEADER LINE.
DATA: IT_OBJECTS_TO_SAVE_1 TYPE STANDARD TABLE OF BAPIBUS20001_GUID_DIS WITH HEADER LINE.
CONSTANTS:true TYPE crmt_boolean VALUE 'X'.
*Create your own GUID for each order using function module GUID_CREATE (and use output field EV_GUID_32).
CALL FUNCTION 'GUID_CREATE'
IMPORTING
EV_GUID_32 = IT_EV_GUID_32.
Fill of the HEADER the fields GUID, PROCESS_TYPE, DESCRIPTION and CREATED_BY,
do NOT fill HANDLE and OBJECT_ID, other fields if needed are allowed).
WA_HEADER-GUID = IT_EV_GUID_32.
WA_HEADER-PROCESS_TYPE = 'ZWEB'.
WA_HEADER-DESCRIPTION = 'WEB ORDER'.
WA_HEADER-CREATED_BY = 'SAMJESI.
APPEND WA_HEADER TO IT_HEADER.
*For each FIELD of HEADER structure that has been filled also fill INPUT_FIELDS fields REF_GUID (header GUID),
*REF_KIND (header REF_KIND), LOGICAL_KEY (='1'), OBJECTNAME (='ORDERADM_H') and FIELDNAME (as text).
WA_INPUT_FIELDS-REF_GUID = IT_EV_GUID_32.
WA_INPUT_FIELDS-REF_KIND = 'A'.
WA_INPUT_FIELDS-OBJECTNAME = 'ORDERADM_H'.
WA_INPUT_FIELDS-LOGICAL_KEY = '1'.
WA_INPUT_FIELDS-CHANGEABLE = ' '.
WA_INPUT_FIELDS-FIELDNAME = 'PROCESS_TYPE'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
WA_INPUT_FIELDS-FIELDNAME = 'GUID'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
WA_INPUT_FIELDS-FIELDNAME = 'DESCRIPTION'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
WA_INPUT_FIELDS-FIELDNAME = 'CREATED_BY'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
*Create your own GUID for each order using function module GUID_CREATE (and use output field EV_GUID_32).
CALL FUNCTION 'GUID_CREATE'
IMPORTING
EV_GUID_32 = IT_EV_GUID_32_1.
*For each ITEM, create your own GUID and fill the fields GUID (item GUID), HEADER (header GUID),
*ORDERED_PROD, DESCRIPTION, ITM_TYPE, ORDER_DATE and MODE (='A').
WA_ITEM-GUID = IT_EV_GUID_32_1.
WA_ITEM-NUMBER_INT = '10'.
WA_ITEM-ORDERED_PROD = '000000000090000230'.
WA_ITEM-ITM_TYPE = 'ZTAN'.
WA_ITEM-MODE = 'B'.
APPEND WA_ITEM TO IT_ITEM.
*For each FIELD of ITEM structure that has been filled also fill INPUT_FIELDS fields REF_GUID (header GUID),
*REF_KIND (header REF_KIND), LOGICAL_KEY (='1'), OBJECTNAME (='ORDERADM_I') and FIELDNAME (as text).
WA_INPUT_FIELDS-REF_GUID = IT_EV_GUID_32_1.
WA_INPUT_FIELDS-REF_KIND = 'B'.
WA_INPUT_FIELDS-OBJECTNAME = 'ORDERADM_I'.
WA_INPUT_FIELDS-LOGICAL_KEY = '1'.
WA_INPUT_FIELDS-CHANGEABLE = ' '.
WA_INPUT_FIELDS-FIELDNAME = 'GUID'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
WA_INPUT_FIELDS-FIELDNAME = 'NUMBER_INT'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
WA_INPUT_FIELDS-FIELDNAME = 'ORDERED_PROD'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
WA_INPUT_FIELDS-FIELDNAME = 'ITM_TYPE'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
*For each PARTNER fill the fields REF_GUID (header GUID), REF_KIND, REF_PARTNER_HANDLE (start with 1, next 1 higher),
*KIND_OF_ENTRY, PARTNER_FCT, PARTNER_NO, NO_TYPE and DISPLAY_TYPE.
CALL FUNCTION 'GUID_CREATE'
IMPORTING
EV_GUID_32 = IT_EV_GUID_32_2.
WA_PARTNER-REF_GUID = IT_EV_GUID_32_2.
*WA_PARTNER-REF_KIND = '1'
*WA_PARTNER-REF_PARTNER_HANDLE = '1'.
WA_PARTNER-PARTNER_FCT = '00000001'.
WA_PARTNER-PARTNER_NO = '100000433'.
APPEND WA_PARTNER TO IT_PARTNER.
*For each FIELD of PARTNER structure that has been filled also fill INPUT_FIELDS fields REF_GUID (partner GUID),
*REF_KIND (partner REF_KIND), LOGICAL_KEY (='1'), OBJECTNAME (='PARTNER') and FIELDNAME (as text).
WA_INPUT_FIELDS-REF_GUID = IT_EV_GUID_32_2.
WA_INPUT_FIELDS-REF_KIND = 'A'.
WA_INPUT_FIELDS-OBJECTNAME = 'PARTNER'.
WA_INPUT_FIELDS-LOGICAL_KEY = '1'.
WA_INPUT_FIELDS-CHANGEABLE = ' '.
WA_INPUT_FIELDS-FIELDNAME = 'REF_GUID'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
*WA_INPUT_FIELDS-FIELDNAME = 'REF_PARTNER_HANDLE'.
*APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
WA_INPUT_FIELDS-FIELDNAME = 'PARTNER_FCT'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
WA_INPUT_FIELDS-FIELDNAME = 'PARTNER_NO'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
*Fill the ORGANISATION fields REF_GUID, REF_KIND, DIS_CHANNEL, DIVISION, SALES_ORG and MODE.
CALL FUNCTION 'GUID_CREATE'
IMPORTING
EV_GUID_32 = IT_EV_GUID_32_3.
WA_ORGANISATION-REF_GUID = IT_EV_GUID_32_3.
*WA_ORGANISATION-REF_KIND
WA_ORGANISATION-DIS_CHANNEL = '20'.
WA_ORGANISATION-DIVISION = '00'.
WA_ORGANISATION-SALES_ORG = '228'.
WA_ORGANISATION-MODE = 'A'.
APPEND WA_ORGANISATION TO IT_ORGANISATION.
*For each field of ORGANISATION structure that has been filled als fill INPUT_FIELDS. OBJECTNAME='ORGMAN'.
WA_INPUT_FIELDS-REF_GUID = IT_EV_GUID_32_3.
WA_INPUT_FIELDS-REF_KIND = 'A'.
WA_INPUT_FIELDS-OBJECTNAME = 'ORGMAN'.
WA_INPUT_FIELDS-LOGICAL_KEY = '1'.
WA_INPUT_FIELDS-CHANGEABLE = ' '.
WA_INPUT_FIELDS-FIELDNAME = 'REF_GUID'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
WA_INPUT_FIELDS-FIELDNAME = 'DIS_CHANNEL'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
WA_INPUT_FIELDS-FIELDNAME = 'DIVISION'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
WA_INPUT_FIELDS-FIELDNAME = 'SALES_ORG'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
WA_INPUT_FIELDS-FIELDNAME = 'MODE'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
REFRESH: CREATED_PROCESS.
CALL FUNCTION 'BAPI_BUSPROCESSND_CREATEMULTI'
TABLES
HEADER = IT_HEADER
ITEM = IT_ITEM
PARTNER = IT_PARTNER
ORGANISATION = IT_ORGANISATION
INPUT_FIELDS = IT_INPUT_FIELDS_FILL
CREATED_PROCESS = CREATED_PROCESS
RETURN = RETURN.
IT_OBJECTS_TO_SAVE-GUID = IT_EV_GUID_32.
IT_OBJECTS_TO_SAVE-OBJECT_TYPE = 'BAPIBUS20001'.
APPEND IT_OBJECTS_TO_SAVE TO IT_OBJECTS_TO_SAVE.
CALL FUNCTION 'BAPI_BUSPROCESSND_SAVE'
EXPORTING
UPDATE_TASK_LOCAL = true
SAVE_FRAME_LOG = true
IMPORTING
LOG_HANDLE =
TABLES
OBJECTS_TO_SAVE = IT_OBJECTS_TO_SAVE
SAVED_OBJECTS = ITAB_SAVED_OBJECTS
RETURN = itab_return.Hi Jessica,
Please find an example of how the code is implemented.
DATA: lt_saved TYPE crmt_return_objects,
lt_exc TYPE crmt_exception_t,
lt_not_saved TYPE crmt_object_guid_tab.
DATA: lv_contact_guid TYPE crmt_object_guid.
DATA: lt_headerx TYPE TABLE OF bapibus2000110_header_insx,
ls_headerx TYPE bapibus2000110_header_insx,
lt_reasonx TYPE TABLE OF bapibus2000110_reason_insx,
ls_reasonx TYPE bapibus2000110_reason_insx,
lt_reason TYPE TABLE OF bapibus2000110_reason_ins,
ls_reason TYPE bapibus2000110_reason_ins,
lt_text TYPE TABLE OF bapibus20001_text_ins,
ls_text TYPE bapibus20001_text_ins,
lt_textx TYPE TABLE OF bapibus20001_text_insx,
ls_textx TYPE bapibus20001_text_insx,
lt_outcome TYPE TABLE OF bapibus2000110_outcome_ins,
ls_outcome TYPE bapibus2000110_outcome_ins,
lt_outcomex TYPE TABLE OF bapibus2000110_outcome_insx,
ls_outcomex TYPE bapibus2000110_outcome_insx,
lt_status TYPE TABLE OF bapibus20001_status_ins,
ls_status TYPE bapibus20001_status_ins,
lt_statusx TYPE TABLE OF bapibus20001_status_insx,
ls_statusx TYPE bapibus20001_status_insx,
lt_return TYPE TABLE OF bapiret2,
BEGIN OF lv_reason,
cat(2) TYPE c,
code_group(8) TYPE c,
code(4) TYPE c,
END OF lv_reason,
BEGIN OF lv_outcome,
cat(2) TYPE c,
code_group(8) TYPE c,
code(4) TYPE c,
END OF lv_outcome,
lv_entry TYPE boolean.
DATA: ls_header TYPE bapibus20001_header_ins.
DATA: lt_header TYPE STANDARD TABLE OF bapibus20001_header_ins.
DATA: ls_input_fields TYPE bapibus20001_input_fields.
DATA: lt_input_fields TYPE STANDARD TABLE OF bapibus20001_input_fields.
data: lw_service_os type BAPIBUS20001_SERVICE_OS_INS.
data: lt_service_os type standard table of BAPIBUS20001_SERVICE_OS_INS.
DATA: guid type guid_32.
DATA LT_RRETURN TYPE STANDARD TABLE OF BAPIRET2.
CALL FUNCTION 'GUID_CREATE'
IMPORTING
ev_guid_32 = guid.
lv_contact_guid = guid.
Description, objective, completion and priority
description
ls_header-guid = guid.
ls_header-descr_language = sy-langu.
ls_header-description = 'Test'.
ls_header-created_at = sy-uzeit.
ls_header-created_by = sy-uname.
ls_header-process_type = 'ZPRI'.
APPEND ls_header TO lt_header.
APPEND ls_headerx TO lt_headerx.
ls_input_fields-ref_guid = guid.
ls_input_fields-ref_kind = 'A'.
ls_input_fields-objectname = 'ORDERADM_H'.
ls_input_fields-fieldname = 'GUID'.
INSERT ls_input_fields INTO TABLE lt_input_fields.
ls_input_fields-fieldname = 'LANGUAGE'.
INSERT ls_input_fields INTO TABLE lt_input_fields.
ls_input_fields-fieldname = 'DESCRIPTION'.
INSERT ls_input_fields INTO TABLE lt_input_fields.
ls_input_fields-fieldname = 'CREATED_AT'.
INSERT ls_input_fields INTO TABLE lt_input_fields.
ls_input_fields-fieldname = 'CREATED_BY'.
INSERT ls_input_fields INTO TABLE lt_input_fields.
ls_input_fields-fieldname = 'PROCESS_TYPE'.
INSERT ls_input_fields INTO TABLE lt_input_fields.
lw_service_os-REF_HANDLE = guid.
lw_service_os-REF_GUID = guid.
lw_service_os-SUBJECT_PROFILE = 'ZSPTSKPRI'.
LW_SERVICE_OS-CAT_TYPE = 'A1'.
LW_SERVICE_OS-CODE_GROUP = 'ZCGPRI'.
LW_SERVICE_OS-CODE = 'P120'.
APPEND LW_SERVICE_OS TO LT_SERVICE_OS.
CALL FUNCTION 'BAPI_BUSPROCESSND_CREATEMULTI'
TABLES
header = lt_header
ITEM =
ACTIVITY =
SALES =
PARTNER =
ORGANISATION =
SHIPPING =
APPOINTMENT =
TEXT =
SERVICE_OS = LT_SERVICE_OS
STATUS =
input_fields = lt_input_fields
CREATED_PROCESS =
RETURN = LT_RRETURN
LEAD =
OPPORTUNITY =
PRODUCT =
SCHEDULELINE =
CUSTOMER_HEAD =
CUSTOMER_ITEM =
PRICING =
PRICING_ITEM =
CONDITION_CREATE =
BILLING =
CONFIG_CFG =
CONFIG_BLB =
CONFIG_INS =
CONFIG_PRT =
CONFIG_VAL =
CONFIG_VK =
CONFIG_REF =
ADDRESS =
BILLPLAN =
BILLPLAN_DATE =
EXTENSIONIN =
DOCUMENT_FLOW =
BATCH =
PRICING_AGR_CRM =
FINPROD_ITEM =
CANCEL =
CANCEL_IR =
PRODUCT_LIST =
PRODUCTS =
OBJECTS =
PAYPLAN =
PAYPLAN_DATE =
CONFIG_FILTER_CFG =
CONFIG_FILTER_INS =
CONFIG_FILTER_PRT =
CONFIG_FILTER_VAL =
ACTIVITY_I =
EXT_REF =
DATA: lt_objects_to_save TYPE TABLE OF bapibus20001_guid_dis,
ls_objects_to_save TYPE bapibus20001_guid_dis,
lt_saved_objects TYPE STANDARD TABLE OF bapibus20001_object_id,
lt_return1 TYPE STANDARD TABLE OF bapiret2,
lv_object_guid TYPE crmt_object_guid.
build save table
ls_objects_to_save-guid = ls_header-guid.
ls_objects_to_save-object_type = 'BUS2000125'.
INSERT ls_objects_to_save INTO TABLE lt_objects_to_save.
CHECK lt_objects_to_save IS NOT INITIAL.
CALL FUNCTION 'BAPI_BUSPROCESSND_SAVE'
EXPORTING
UPDATE_TASK_LOCAL = FALSE
SAVE_FRAME_LOG = FALSE
IMPORTING
LOG_HANDLE =
TABLES
objects_to_save = lt_objects_to_save
saved_objects = lt_saved_objects
return = lt_return1 -
How to Generate sales orders with custom Fields using BAPI_BUSPROCESSND_CREATEMULTI
Hi,
I need to generate sales orders with custom fields on table CRMD_ORDERADM_H using BAPI_BUSPROCESSND_CREATEMULTI, after changing the structure BAPI_TE_CRMD_ORDERADM_H, and feed the EXTENSIONIN table of the BAPI with data, the order is created, but any value on custom fields.
After debuging, I saw that the BAPI search for structure conversion in table CRMC_OBJECTS_GEN, but we haven't entry with BAPI_TE_CRMD_ORDERADM_H in this table. is that the problem ?, Is there any way to fix it?
Best Regards,
Salah.That depends on where do you have the customer fields, check the table CRMD_CUSTOMER_H, if your custom fields are there, you need to use the changing parameter CUSTOMER_HEAD, I guess your already checked that one, right? but there's no custom fields, well...AET/EEWB doesn't enhance the strcuture of the BAPI, so you should do it manually, check the note following note for further details.
988410 - FAQ: User-defined fields in the BAPI
If you don't have access to the SAP Marketplace, in resume you should create an append on the structure BAPIBUS20001_CUSTOMER_H and include the following strcutrue CI_EEW_CUSTOMER_H
Cheers!
Luis -
Sales Order Creation using BAPI_BUSPROCESSND_CREATEMULTI
Hi,
I am trying to create sales order using BAPI_BUSPROCESSND_CREATEMULTI.
when I create a sales order using above mentioned BAPI it is creating empty sales order,It is not passing the values from the code to the sales order.
In BAPI_BUSPROCESSND_CREATEMULTI Return parameter i m getting Message
S CRM_M_ESSAGES 005 A log has been generated for single document $000001 000001
Following are the List of Function modulesi have used in my code
1 ) GUID_CREATE
2) BAPI_BUSPROCESSND_CREATEMULTI
3) BAPI_BUSPROCESSND_SAVE
4) BAPI_TRANSACTION_COMMIT
kindly help me to resolve the same
ThanksHi Prerna,
still Empty Sales order is creating
This is my code
************HEADER-GUID*********
CALL FUNCTION 'GUID_CREATE'
IMPORTING
EV_GUID_16 = LV_GUID
EV_GUID_22 =
EV_GUID_32 = LV_GUID1.
**********ITEM-GUID***********
CALL FUNCTION 'GUID_CREATE'
IMPORTING
EV_GUID_16 =
EV_GUID_22 =
EV_GUID_32 = LV_GUID2
********SCHEDULELINE*******
CALL FUNCTION 'GUID_CREATE'
IMPORTING
EV_GUID_16 =
EV_GUID_22 =
EV_GUID_32 = LV_GUID3
CALL FUNCTION 'CRM_PRP_IL_GET_HANDLE'
IMPORTING
EV_HANDLE = LV_HANDLE.
CALL FUNCTION 'CRM_ACTIVITY_MAIN_PARTNER_GET'
EXPORTING
IV_PROCESS_TYPE = 'ZDON'
IV_CRMT_SUBOBJECT_CATEGORY = 'BUS2000115'
IMPORTING
EV_DYNP_FCT_1 = lv_partner_fct1
EV_DYNP_FCT_2 = lv_partner_fct2
EV_DYNP_FCT_3 = lv_partner_fct3
EV_DYNP_FCT_4 = lv_partner_fct4
EXCEPTIONS
PROCESS_TYPE_DOES_NOT_EXIST = 1
DETERM_PROC_DOES_NOT_EXIST = 2
NO_MAIN_PARTNER = 3
OTHERS = 4
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
***********DATA IN HEADER*********
WA_HDR-GUID = LV_GUID1.
WA_HDR-HANDLE = LV_HANDLE.
WA_HDR-PROCESS_TYPE = 'ZDON'.
APPEND WA_HDR TO IS_HEADER.
INPUT FIELDS HEADER**************
CLEAR WA_INPUT_FIELDS.
CLEAR IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID1.
WA_INPUT_FIELDS-REF_KIND = 'A'.
WA_INPUT_FIELDS-OBJECTNAME = 'ORDERADM_H'.
WA_INPUT_FIELDS-FIELDNAME = 'GUID'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID1.
WA_INPUT_FIELDS-REF_KIND = 'A'.
WA_INPUT_FIELDS-OBJECTNAME = 'ORDERADM_H'.
WA_INPUT_FIELDS-FIELDNAME = 'HANDLE'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID1.
WA_INPUT_FIELDS-REF_KIND = 'A'.
WA_INPUT_FIELDS-OBJECTNAME = 'ORDERADM_H'.
WA_INPUT_FIELDS-FIELDNAME = 'PROCESS_TYPE'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
***********DATA IN ITEM*********
WA_ITEM-GUID = LV_GUID2.
WA_ITEM-HANDLE = LV_HANDLE.
WA_ITEM-HEADER = LV_GUID1.
WA_ITEM-ORDERED_PROD = 'H10'.
WA_ITEM-DESCRIPTION = 'Trading Good 1'."product name
WA_ITEM-ITM_LANGUAGE = 'EN'.
WA_ITEM-ITM_TYPE = 'LEAD'.
WA_ITEM-MODE = 'A'.
INSERT WA_ITEM INTO TABLE IS_ITEM.
******INPUT FIELDS ITEM****************
CLEAR WA_INPUT_FIELDS.
CLEAR IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID2.
WA_INPUT_FIELDS-REF_KIND = 'B'.
WA_INPUT_FIELDS-OBJECTNAME = 'ORDERADM_I'.
WA_INPUT_FIELDS-FIELDNAME = 'GUID'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID2.
WA_INPUT_FIELDS-REF_KIND = 'B'.
WA_INPUT_FIELDS-OBJECTNAME = 'ORDERADM_I'.
WA_INPUT_FIELDS-FIELDNAME = 'HANDLE'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID2.
WA_INPUT_FIELDS-REF_KIND = 'B'.
WA_INPUT_FIELDS-OBJECTNAME = 'ORDERADM_I'.
WA_INPUT_FIELDS-FIELDNAME = 'HEADER'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID2.
WA_INPUT_FIELDS-REF_KIND = 'B'.
WA_INPUT_FIELDS-OBJECTNAME = 'ORDERADM_I'.
WA_INPUT_FIELDS-FIELDNAME = 'ORDERED_PROD'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID2.
WA_INPUT_FIELDS-REF_KIND = 'B'.
WA_INPUT_FIELDS-OBJECTNAME = 'ORDERADM_I'.
WA_INPUT_FIELDS-FIELDNAME = 'DESCRIPTION '.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID2.
WA_INPUT_FIELDS-REF_KIND = 'B'.
WA_INPUT_FIELDS-OBJECTNAME = 'ORDERADM_I'.
WA_INPUT_FIELDS-FIELDNAME = 'ITM_LANGUAGE'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID2.
WA_INPUT_FIELDS-REF_KIND = 'B'.
WA_INPUT_FIELDS-OBJECTNAME = 'ORDERADM_I'.
WA_INPUT_FIELDS-FIELDNAME = 'number_int'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID2.
WA_INPUT_FIELDS-REF_KIND = 'B'.
WA_INPUT_FIELDS-OBJECTNAME = 'ORDERADM_I'.
WA_INPUT_FIELDS-FIELDNAME = 'ITM_TYPE'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
***********DATA IN SALES*********
WA_SALES-REF_HANDLE = LV_HANDLE.
WA_SALES-REF_GUID = LV_GUID1.
WA_SALES-PO_NUMBER_SOLD = '10006'.
WA_SALES-YOUR_REF_SHIP = '10006'.
APPEND WA_SALES TO It_SALES.
************INPUT FIELDS SALES************
CLEAR WA_INPUT_FIELDS.
CLEAR IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID1.
WA_INPUT_FIELDS-REF_KIND = 'E'.
WA_INPUT_FIELDS-OBJECTNAME = 'SALES'.
WA_INPUT_FIELDS-FIELDNAME = 'REF_HANDLE'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID1.
WA_INPUT_FIELDS-REF_KIND = 'E'.
WA_INPUT_FIELDS-OBJECTNAME = 'SALES'.
WA_INPUT_FIELDS-FIELDNAME = 'REF_GUID'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID1.
WA_INPUT_FIELDS-REF_KIND = 'E'.
WA_INPUT_FIELDS-OBJECTNAME = 'SALES'.
WA_INPUT_FIELDS-FIELDNAME = 'PO_NUMBER_SOLD'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID1.
WA_INPUT_FIELDS-REF_KIND = 'E'.
WA_INPUT_FIELDS-OBJECTNAME = 'SALES'.
WA_INPUT_FIELDS-FIELDNAME = 'YOUR_REF_SHIP'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
************DATA IN PARTNER *********
WA_PARTNER-REF_GUID = LV_GUID1.
WA_PARTNER-REF_KIND = 'A'.
WA_PARTNER-REF_HANDLE = LV_HANDLE.
WA_PARTNER-PARTNER_FCT = lv_partner_fct1.
WA_PARTNER-PARTNER_NO = '10006' .
APPEND WA_PARTNER TO IT_PARTNER.
WA_PARTNER-REF_GUID = LV_GUID1.
WA_PARTNER-REF_KIND = 'A'.
WA_PARTNER-REF_HANDLE = LV_HANDLE.
WA_PARTNER-PARTNER_FCT = lv_partner_fct2.
WA_PARTNER-PARTNER_NO = '10006' .
APPEND WA_PARTNER TO IT_PARTNER.
if lv_partner_fct3 is initial.
lv_partner_fct3 = lv_partner_fct2 + 1.
endif.
WA_PARTNER-REF_GUID = LV_GUID1.
WA_PARTNER-REF_KIND = 'A'.
WA_PARTNER-REF_HANDLE = LV_HANDLE.
WA_PARTNER-PARTNER_FCT = lv_partner_fct3.
WA_PARTNER-PARTNER_NO = '10006' .
APPEND WA_PARTNER TO IT_PARTNER.
if lv_partner_fct4 is initial.
lv_partner_fct4 = lv_partner_fct3 + 1.
endif.
WA_PARTNER-REF_GUID = LV_GUID1.
WA_PARTNER-REF_KIND = 'A'.
WA_PARTNER-REF_HANDLE = LV_HANDLE.
WA_PARTNER-PARTNER_FCT = lv_partner_fct4.
WA_PARTNER-PARTNER_NO = '10006' .
APPEND WA_PARTNER TO IT_PARTNER.
*INPUT FIELDS PARTENER
CLEAR WA_INPUT_FIELDS.
CLEAR IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID1.
WA_INPUT_FIELDS-REF_KIND = 'E'.
WA_INPUT_FIELDS-OBJECTNAME = 'PARTNER'.
WA_INPUT_FIELDS-FIELDNAME = 'REF_GUID'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID1.
WA_INPUT_FIELDS-REF_KIND = 'E'.
WA_INPUT_FIELDS-OBJECTNAME = 'PARTNER'.
WA_INPUT_FIELDS-FIELDNAME = 'REF_HANDLE'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID1.
WA_INPUT_FIELDS-REF_KIND = 'E'.
WA_INPUT_FIELDS-OBJECTNAME = 'PARTNER'.
WA_INPUT_FIELDS-FIELDNAME = 'PARTNER_FCT'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID1.
WA_INPUT_FIELDS-REF_KIND = 'E'.
WA_INPUT_FIELDS-OBJECTNAME = 'PARTNER'.
WA_INPUT_FIELDS-FIELDNAME = 'PARTNER_NO '.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
***********DATA IN ORGMAN*********
WA_ORG-REF_GUID = LV_GUID1.
WA_ORG-REF_HANDLE = LV_HANDLE.
WA_ORG-DIS_CHANNEL = '10'.
WA_ORG-DIVISION = '10'.
WA_ORG-SALES_ORG = 'BP_SALES'.
WA_ORG-SALES_OFFICE = 'BP_SO_CENTER'.
WA_ORG-SALES_ORG_RESP = 'BP_SALES'.
APPEND WA_ORG TO IT_ORG.
ORGMAN INPUT FIELDS*****************
CLEAR WA_INPUT_FIELDS.
CLEAR IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID1.
WA_INPUT_FIELDS-REF_KIND = 'E'.
WA_INPUT_FIELDS-OBJECTNAME = 'ORGMAN'.
WA_INPUT_FIELDS-FIELDNAME = 'REF_GUID '.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID1.
WA_INPUT_FIELDS-REF_KIND = 'E'.
WA_INPUT_FIELDS-OBJECTNAME = 'ORGMAN'.
WA_INPUT_FIELDS-FIELDNAME = 'REF_HANDLE'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID1.
WA_INPUT_FIELDS-REF_KIND = 'E'.
WA_INPUT_FIELDS-OBJECTNAME = 'ORGMAN'.
WA_INPUT_FIELDS-FIELDNAME = 'DIS_CHANNEL'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID1.
WA_INPUT_FIELDS-REF_KIND = 'E'.
WA_INPUT_FIELDS-OBJECTNAME = 'ORGMAN'.
WA_INPUT_FIELDS-FIELDNAME = 'DIVISION'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID1.
WA_INPUT_FIELDS-REF_KIND = 'E'.
WA_INPUT_FIELDS-OBJECTNAME = 'ORGMAN'.
WA_INPUT_FIELDS-FIELDNAME = 'SALES_ORG'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID1.
WA_INPUT_FIELDS-REF_KIND = 'E'.
WA_INPUT_FIELDS-OBJECTNAME = 'ORGMAN'.
WA_INPUT_FIELDS-FIELDNAME = 'SALES_OFFICE'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID1.
WA_INPUT_FIELDS-REF_KIND = 'A'.
WA_INPUT_FIELDS-OBJECTNAME = 'ORGMAN'.
WA_INPUT_FIELDS-FIELDNAME = 'SALES_ORG_RESP'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
***********DATA IN PRODUCT*********
WA_PROD-REF_GUID = LV_GUID2.
WA_PROD-REF_HANDLE = LV_HANDLE.
WA_PROD-PROCESS_QTY_UNIT = 'ONE'.
APPEND WA_PROD TO IT_PROD.
*INPUT FIELDS PRODUCT
CLEAR WA_INPUT_FIELDS.
CLEAR IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID2.
WA_INPUT_FIELDS-REF_KIND = 'D'.
WA_INPUT_FIELDS-OBJECTNAME = 'PRODUCT_I'.
WA_INPUT_FIELDS-FIELDNAME = 'REF_GUID'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID2.
WA_INPUT_FIELDS-REF_KIND = 'D'.
WA_INPUT_FIELDS-OBJECTNAME = 'PRODUCT_I'.
WA_INPUT_FIELDS-FIELDNAME = 'REF_HANDLE'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID2.
WA_INPUT_FIELDS-REF_KIND = 'D'.
WA_INPUT_FIELDS-OBJECTNAME = 'PRODUCT_I'.
WA_INPUT_FIELDS-FIELDNAME = 'PROCESS_QTY_UNIT'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
***********DATA IN SCHED*********
WA_SCHED-ITEM_GUID = LV_GUID2.
WA_SCHED-GUID = LV_GUID4 .
WA_SCHED-HANDLE = LV_HANDLE.
WA_SCHED-QUANTITY = '5'.
APPEND WA_SCHED TO IT_SCHED.
*INPUT FIELDS SCHEDULE LINE
CLEAR WA_INPUT_FIELDS.
CLEAR IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID2.
WA_INPUT_FIELDS-REF_KIND = 'D'.
WA_INPUT_FIELDS-OBJECTNAME = 'SCHEDLIN_I'.
WA_INPUT_FIELDS-FIELDNAME = 'ITEM_GUID'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID2.
WA_INPUT_FIELDS-REF_KIND = 'D'.
WA_INPUT_FIELDS-OBJECTNAME = 'SCHEDLIN_I'.
WA_INPUT_FIELDS-FIELDNAME = 'GUID'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID2.
WA_INPUT_FIELDS-REF_KIND = 'D'.
WA_INPUT_FIELDS-OBJECTNAME = 'SCHEDLIN_I'.
WA_INPUT_FIELDS-FIELDNAME = 'HANDLE'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID2.
WA_INPUT_FIELDS-REF_KIND = 'D'.
WA_INPUT_FIELDS-OBJECTNAME = 'SCHEDLIN_I'.
WA_INPUT_FIELDS-FIELDNAME = 'QUANTITY '.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID2.
WA_INPUT_FIELDS-REF_KIND = 'D'.
WA_INPUT_FIELDS-OBJECTNAME = 'SCHEDLIN'.
WA_INPUT_FIELDS-FIELDNAME = 'LOGICAL_KEY'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID2.
WA_INPUT_FIELDS-REF_KIND = 'D'.
WA_INPUT_FIELDS-OBJECTNAME = 'SCHEDLIN'.
WA_INPUT_FIELDS-FIELDNAME = 'MODE'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
***********DATA IN PRICING********
WA_PRICING-REF_HANDLE = LV_HANDLE.
WA_PRICING-REF_GUID = LV_GUID2.
WA_PRICING-CURRENCY = 'USDN'.
APPEND WA_PRICING TO IT_PRICING.
*INPUT FIELDS PRICING
CLEAR WA_INPUT_FIELDS.
CLEAR IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID2.
WA_INPUT_FIELDS-REF_KIND = 'D'.
WA_INPUT_FIELDS-OBJECTNAME = 'PRICING_I'.
WA_INPUT_FIELDS-FIELDNAME = 'REF_HANDLE'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID2.
WA_INPUT_FIELDS-REF_KIND = 'D'.
WA_INPUT_FIELDS-OBJECTNAME = 'PRICING_I'.
WA_INPUT_FIELDS-FIELDNAME = 'REF_GUID '.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
WA_INPUT_FIELDS-REF_GUID = LV_GUID2.
WA_INPUT_FIELDS-REF_KIND = 'D'.
WA_INPUT_FIELDS-OBJECTNAME = 'PRICING_I'.
WA_INPUT_FIELDS-FIELDNAME = 'CURRENCY'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS.
CALL FUNCTION 'BAPI_BUSPROCESSND_CREATEMULTI'
IMPORTING
EV_LOG_HANDLE =
TABLES
HEADER = IS_HEADER
ITEM = IS_ITEM
SALES = It_SALES
PARTNER = IT_PARTNER
ORGANISATION = IT_ORG
INPUT_FIELDS = IT_INPUT_FIELDS
CREATED_PROCESS = ITAB_CREATED_PROCESS
RETURN = IT_RETURN
PRODUCT = IT_PROD
SCHEDULELINE = IT_SCHED
PRICING_ITEM = IT_PRICING
W_OBJECT_TO_SAVE-GUID = lv_guid1.
APPEND W_OBJECT_TO_SAVE TO It1_object_to_save.
CALL FUNCTION 'BAPI_BUSPROCESSND_SAVE'
EXPORTING
UPDATE_TASK_LOCAL = SPace
SAVE_FRAME_LOG = 'X'
IMPORTING
LOG_HANDLE = LV_LOG_HANDLE
TABLES
OBJECTS_TO_SAVE = It1_object_to_save
SAVED_OBJECTS = i_saved_objects
RETURN = IT_RETURN1.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'
IMPORTING
RETURN = IT_RET2
if sy-subrc = 0.
write : / 'Sales Order Created'.
endif.
thanks -
Problem in creating complain with BAPI_BUSPROCESSND_CREATEMULTI
*& Report YTEST2
REPORT ytest2.
DATA: lv_header_guid TYPE guid_32,
ls_orderadm_h TYPE TABLE OF bapibus20001_header_ins WITH HEADER LINE,
ls_input_fields TYPE TABLE OF bapibus20001_input_fields WITH HEADER LINE,
lt_created_process TYPE TABLE OF bapibus20001_header_ins WITH HEADER LINE,
lt_return TYPE TABLE OF bapiret2 WITH HEADER LINE ,
lt_objects_to_save TYPE TABLE OF bapibus20001_guid_dis WITH HEADER LINE,
lt_saved_objects TYPE TABLE OF bapibus20001_object_id WITH HEADER LINE,
lt_log TYPE bapibus20001_control-log_handle,
ls_objects_to_save TYPE bapibus20001_guid_dis,
lt_orgman TYPE TABLE OF bapibus20001_orgman_ins WITH HEADER LINE,
lt_partner TYPE TABLE OF bapibus20001_partner_ins WITH HEADER LINE,
lt_service TYPE TABLE OF bapibus20001_service_os_ins WITH HEADER LINE .
CALL FUNCTION 'GUID_CREATE'
IMPORTING
ev_guid_32 = lv_header_guid.
*CONCATENATE text-d01 is_import-complt_id i
*INTO ls_orderadm_h-description SEPARATED BY space.
PERFORM orderadm_h.
PERFORM orgman.
PERFORM partner.
PERFORM lt_service.
CLEAR: lt_created_process, lt_return.
CALL FUNCTION 'BAPI_BUSPROCESSND_CREATEMULTI'
TABLES
header = ls_orderadm_h
item =
activity =
sales =
artner = lt_partner
organisation = lt_orgman
shipping =
appointment = lt_appointment
text = lt_text
service_os = lt_service
status =lt_status
input_fields = ls_input_fields
created_process = lt_created_process
return = lt_return.
lead =
opportunity =
product =
scheduleline =
customer_head =
customer_item =
pricing =
pricing_item =
condition_create =
billing = *
config_cfg =
Config_blb =
config_ins =
config_prt =
config_val = .
CLEAR ls_objects_to_save.
ls_objects_to_save-guid = lv_header_guid.
APPEND ls_objects_to_save TO lt_objects_to_save.
CLEAR lt_return.
CALL FUNCTION 'BAPI_BUSPROCESSND_SAVE'
* EXPORTING
* update_task_local = false
* save_frame_log = false
IMPORTING
log_handle = lt_log
TABLES
objects_to_save = lt_objects_to_save
saved_objects = lt_saved_objects
return = lt_return .
REFRESH lt_return.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'
IMPORTING
return = lt_return.
BREAK-POINT.
*& Form ORDERADM_H
text
--> p1 text
<-- p2 text
FORM orderadm_h .
ls_orderadm_h-guid = lv_header_guid.
ls_orderadm_h-process_type = 'ZCRM'.
ls_orderadm_h-created_by = 'IBM_ABAP'.
ls_orderadm_h-description = 'SMS COMPLAIN'.
APPEND ls_orderadm_h TO ls_orderadm_h.
CLEAR ls_input_fields.
ls_input_fields-ref_guid = lv_header_guid.
ls_input_fields-ref_kind = 'A'.
ls_input_fields-logical_key = '1'.
ls_input_fields-objectname ='ORDERADM_H'.
ls_input_fields-fieldname = 'GUID'.
ls_input_fields-changeable = ' '.
APPEND ls_input_fields TO ls_input_fields.
*ls_input_fields-fieldname = 'HANDLE'.
*APPEND ls_input_fields TO lS_input_fields.
ls_input_fields-fieldname = 'PROCESS_TYPE'.
APPEND ls_input_fields TO ls_input_fields.
ls_input_fields-fieldname = 'DESCRIPTION'.
APPEND ls_input_fields TO ls_input_fields.
ls_input_fields-fieldname = 'CREATED_BY'.
APPEND ls_input_fields TO ls_input_fields.
ENDFORM. " ORDERADM_H
*& Form ORGMAN
text
--> p1 text
<-- p2 text
FORM orgman .
CALL FUNCTION 'GUID_CREATE'
IMPORTING
ev_guid_32 = lv_header_guid.
lt_orgman-ref_guid = lv_header_guid.
lt_orgman-dis_channel = 10.
lt_orgman-division = 10.
lt_orgman-sales_org = 'O 50000649'.
lt_orgman-sales_office = 'O 50000650'.
lt_orgman-service_org = 'O 50000649'.
lt_orgman-mode = 'A'.
APPEND lt_orgman TO lt_orgman.
CLEAR ls_input_fields.
ls_input_fields-ref_guid = lv_header_guid.
ls_input_fields-ref_kind = 'A'.
ls_input_fields-logical_key = '2'.
ls_input_fields-objectname ='ORGMAN'.
ls_input_fields-fieldname = 'REF_GUID'.
APPEND ls_input_fields TO ls_input_fields.
ls_input_fields-fieldname = 'DIS_CHANNEL'.
APPEND ls_input_fields TO ls_input_fields.
ls_input_fields-fieldname = 'DIVISION'.
APPEND ls_input_fields TO ls_input_fields.
ls_input_fields-fieldname = 'SALES_ORG'.
APPEND ls_input_fields TO ls_input_fields.
ls_input_fields-fieldname = 'SALES_OFFICE'.
APPEND ls_input_fields TO ls_input_fields.
ls_input_fields-fieldname = 'SERVICE_ORG'.
APPEND ls_input_fields TO ls_input_fields.
ENDFORM. " ORGMAN
*& Form PARTNER
text
--> p1 text
<-- p2 text
FORM partner .
CALL FUNCTION 'GUID_CREATE'
IMPORTING
ev_guid_32 = lv_header_guid.
lt_partner-MODE = 'A'.
lt_partner-ref_guid = lv_header_guid.
lt_partner-partner_fct = '00000014'.
lt_partner-partner_no = 'EM00000022'.
APPEND lt_partner TO lt_partner.
lt_partner-partner_fct = '00000004'.
lt_partner-partner_no = '415'.
APPEND lt_partner TO lt_partner.
lt_partner-partner_fct = '00000003'.
lt_partner-partner_no = '415'.
APPEND lt_partner TO lt_partner.
lt_partner-partner_fct = '00000002'.
lt_partner-partner_no = '415'.
APPEND lt_partner TO lt_partner.
lt_partner-partner_fct = '00000001'.
lt_partner-partner_no = '415'.
APPEND lt_partner TO lt_partner.
CLEAR ls_input_fields.
ls_input_fields-ref_guid = lv_header_guid.
ls_input_fields-ref_kind = 'A'.
ls_input_fields-logical_key = '3'.
ls_input_fields-objectname ='PARTNER'.
ls_input_fields-fieldname = 'PARTNER_FCT'.
APPEND ls_input_fields TO ls_input_fields.
ls_input_fields-fieldname = 'PARTNER_NO'.
APPEND ls_input_fields TO ls_input_fields.
ENDFORM. " PARTNER
*& Form LT_SERVICE
text
--> p1 text
<-- p2 text
FORM lt_service .
CALL FUNCTION 'GUID_CREATE'
IMPORTING
ev_guid_32 = lv_header_guid.
lt_service-ref_guid = lv_header_guid.
lt_service-subject_profile = ' ' .
lt_service-cat_type = 'A1'.
lt_service-code_group = 'ZCODEGR1'.
lt_service-code = '0001'.
lt_service-mode = 'A'.
APPEND lt_service TO lt_service.
CLEAR ls_input_fields.
ls_input_fields-ref_guid = lv_header_guid.
ls_input_fields-ref_kind = 'A'.
ls_input_fields-logical_key = '4'.
ls_input_fields-objectname ='SERVICE_OS'.
ls_input_fields-fieldname = 'REF_GUID'.
APPEND ls_input_fields TO ls_input_fields.
ls_input_fields-fieldname = 'SUBJECT_PROFILE'.
APPEND ls_input_fields TO ls_input_fields.
ls_input_fields-fieldname = 'CAT_TYPE'.
APPEND ls_input_fields TO ls_input_fields.
ls_input_fields-fieldname = 'CODE_GROUP'.
APPEND ls_input_fields TO ls_input_fields.
ls_input_fields-fieldname = 'CODE'.
APPEND ls_input_fields TO ls_input_fields.
ls_input_fields-fieldname = 'MODE'.
APPEND ls_input_fields TO ls_input_fields.
ENDFORM. " LT_SERVICEFORM partner .
* CALL FUNCTION 'GUID_CREATE'
* IMPORTING
* ev_guid_32 = lv_header_guid.
* lt_partner-MODE = 'A'.
lt_partner-ref_guid = lv_header_guid.
lt_partner-partner_fct = '00000014'.
lt_partner-partner_no = 'EM00000022'.
lt_partner-REF_HANDLE = '0000000002'.
APPEND lt_partner TO lt_partner.
lt_partner-partner_fct = '00000004'.
lt_partner-partner_no = '415'.
APPEND lt_partner TO lt_partner.
lt_partner-partner_fct = '00000003'.
lt_partner-partner_no = '415'.
APPEND lt_partner TO lt_partner.
lt_partner-partner_fct = '00000002'.
lt_partner-partner_no = '415'.
APPEND lt_partner TO lt_partner.
lt_partner-partner_fct = '00000001'.
lt_partner-partner_no = '415'.
APPEND lt_partner TO lt_partner.
CLEAR ls_input_fields.
ls_input_fields-ref_guid = lv_header_guid.
ls_input_fields-ref_kind = 'A'.
ls_input_fields-logical_key = '3'.
ls_input_fields-objectname ='PARTNER'.
ls_input_fields-REF_HANDLE = '0000000002'.
ls_input_fields-fieldname = 'PARTNER_FCT'.
APPEND ls_input_fields TO ls_input_fields.
ls_input_fields-fieldname = 'PARTNER_NO'.
APPEND ls_input_fields TO ls_input_fields.
ENDFORM.
FORM lt_service .
* CALL FUNCTION 'GUID_CREATE'
* IMPORTING
* ev_guid_32 = lv_header_guid.
lt_service-ref_guid = lv_header_guid.
lt_service-REF_HANDLE = '0000000002'.
lt_service-subject_profile = ' ' .
lt_service-cat_type = 'A1'.
lt_service-code_group = 'ZCODEGR1'.
lt_service-code = '0001'.
lt_service-mode = 'A'.
APPEND lt_service TO lt_service.
CLEAR ls_input_fields.
ls_input_fields-ref_guid = lv_header_guid.
ls_input_fields-ref_kind = 'A'.
ls_input_fields-logical_key = '4'.
ls_input_fields-objectname ='SERVICE_OS'.
ls_input_fields-REF_HANDLE = '0000000002'.
ls_input_fields-fieldname = 'REF_GUID'.
APPEND ls_input_fields TO ls_input_fields.
ls_input_fields-fieldname = 'SUBJECT_PROFILE'.
APPEND ls_input_fields TO ls_input_fields.
ls_input_fields-fieldname = 'CAT_TYPE'.
APPEND ls_input_fields TO ls_input_fields.
ls_input_fields-fieldname = 'CODE_GROUP'.
APPEND ls_input_fields TO ls_input_fields.
ls_input_fields-fieldname = 'CODE'.
APPEND ls_input_fields TO ls_input_fields.
ls_input_fields-fieldname = 'MODE'.
APPEND ls_input_fields TO ls_input_fields.
ENDFORM. -
Payment Card Info for sale order with BAPI_BUSPROCESSND_CREATEMULTI
hi all
i am trying to create a sales order using BAPI_BUSPROCESSND_CREATEMULTI
and i am able to create an order successfully without any problem.
the order is being generated. I am trying to input
the payment card details to the BAPI_BUSPROCESSND_CREATEMULTI in
PAYPLAN & PAYPLAN_DATE tables of the BAPI.
I also used CRM_ORDER_READ report to see how these tables are being filled
and based on that i had filled the payment card details in BAPI_BUSPROCESSND_CREATEMULTI
but still ..i see the order being generated but dont see any payment card information
being poulated in it.
If you have any idea how i should fill the PAYPLAN, PAYPLAN_DATE
tables and their respective input fields..please kindly help
i tried all possible ways and could not get a solution
Regards,
Jessica SamHi Richard,
So does this mean that i'd be able to capture all the data that is being determined after i make the call to this BAPI whithout saving it. Well.. I just want to simulate as it is happening in SAP.. i.e we enter the sold to party and hit 'enter' and all the data should be determined..and at this point i should read this data.
Could you let me know if this could be done.
Thanks,
Sahil -
Problem in BAPI_BUSPROCESSND_CREATEMULTI
Dear Gurus,
I am trying to create a service order from WEB channel through the BAPI BAPI_BUSPROCESSND_CREATEMULTI.
I wanted to ask is this the best apporach to proceed??
as in would it take care of the Billing and posting entries to FI also??
and i am not able to find out where to provide bill to party and ship to party data.
can any1 please help me with this as in which tables parameter would be having bill to party and ship to party data???
Definite reward points for helpful answers.
Cheers,
Deepthee KasalHi Dear,
My problem has been solved.I cannot paste the code here it would be against policies.But u can check the program
CRM_CALL_ACTIVITY_INTERFACE
I used this program for reference.Activate Debuggin mode and check the values of all the parameters it would be haelpful.
Cheers,
Deephee -
BAPI_BUSPROCESSND_CREATEMULTI
Hi,
My requirement is i want to create the transaction by executing the BAPI_BUSPROCESSND_CREATEMULTI. Now i am able to creating the transaction but not able to creating the item, product and partner details. What are the parameters i need to pass in the BAPI. Please let me know.
Regard
SrinuHi,
Please check the following thread that related to above BAPI:
Re: BAPI_BUSPROCESSND_CREATEMULTI - item detail
Cheers, -
BAPI_BUSPROCESSND_CREATEMULTI how to use the activity-category parameter
Hi all,
I am trying to use BAPI_BUSPROCESSND_CREATEMULTI to create purchase orders.
I am having problems to use the Activity (header) Category field.
Among other parameters, in the INPUT_FIELDS table I have added a line for the field CATEGORY as follows:
REF_HANDLE = 0000000001
REF_KIND = A
OBJECTNAME = ACTIVITY
FIELDNAME = CATEGORY
Then I have added a line in the ACTIVITY table with:
REF_HANDLE = 0000000001
CATEGORY= ZSB
PRIORITY=5
But no results. The field is not entered in the purchase order I create.
Anybody could point out how to use this parameter in this BAPI?
Many thanks,
AldoPlease fill category on order and after Enter debug crm_order_maintain function module.
This should help you to see where in function module this field should be filled.
you can also use crm_order_maintain for documents creation.
Regards
Radek -
IBASE WITH BAPI_BUSPROCESSND_CREATEMULTI
Hello,
Can someone help me with this problem ?
I use the bapi BAPI_BUSPROCESSND_CREATEMULTI to create a service order.
The service order is created but the item IBASE is not fillled.
How can i give the Ibase thru the bapi and in which parameter of the bapi i have to fil this.
may someone has an example of an abap which create a serviceorder by calling the function BAPI_BUSPROCESSND_CREATEMULTI
I used this below code but the item IBASE IS not filled
Objects
wa_objects-ibase_component = wa_ibin-instance.
wa_objects-ibase-header = wa_ibin-ibase.
wa_objects-ref_handle = '0000000002'.
APPEND wa_objects TO INT_objects.
iBase OBJECTS
Input fields
wa_input_fields-objectname = 'ORDPRP_I'.
wa_input_fields-ref_kind = 'D'.
wa_input_fields-ref_handle = '0000000002'.
wa_input_fields-fieldname = 'IBASE_COMPONENT'.
APPEND wa_input_fields TO int_input_fields.
wa_input_fields-fieldname = 'IBASE_HEADER'.
APPEND wa_input_fields TO int_input_fields.
wa_input_fields-fieldname = 'PRODUCT_ID'.
APPEND wa_input_fields TO int_input_fields.
Can any of you tell me why is my service order being created with no IBASE ?
THANKS
VENKATHI
You can put a breakpoint in BAPI_BUSPROCESSND_CREATEMULTI and try creating a service order from the transaction crmd_order and fill in the field ibase. On doing this BAPI_BUSPROCESSND_CREATEMULTI would get triggered. crm_order_maintain also will get called in it. Just check out what all fields are being filled and cross check with the fields that you have filled.
this should help.
Regards
Preeti Viswanath -
Creating order with BAPI_BUSPROCESSND_CREATEMULTI
Hi,
I have a requirement to use a BAPI to create an order. We have a Business transaction type 'ZSO' for which we have defined Partner determination and Org data determination procedures. Now, I'd like to know if I pass the 'Sold to party' and the 'Business transaction type' ( 'ZSO' ) as inputs to the BAPI BAPI_BUSPROCESSND_CREATEMULTI, would the other data such as the Partners and Org data which would be automatically determined based on the Partner determination procedure and Org determination defined for that transaction type.
If this doesn't happen, could you suggest me any other way out to accomplish this.
Thanks,
SahilHi Richard,
So does this mean that i'd be able to capture all the data that is being determined after i make the call to this BAPI whithout saving it. Well.. I just want to simulate as it is happening in SAP.. i.e we enter the sold to party and hit 'enter' and all the data should be determined..and at this point i should read this data.
Could you let me know if this could be done.
Thanks,
Sahil -
Error using BAPI_BUSPROCESSND_CREATEMULTI, how to get sales order number
Hi all, i am using the BAPI BAPI_BUSPROCESSND_CREATEMULTI to create a sales order of type ZWEB in CRM. I am using HEADER, INPUT_FIELDS , ITEM , CREATED_PROCESS and RETURN
tables. In the CREATED_PROCESS i am getting the GUID but no value for object id. and in return table i find the error mesages as "no status object available for unknown object", "A log has been generated for single document", "no status object availabe for unknown object".
what mistake i am doing? i want to create a sales order in SAP CRM and get the sales order number as the output. am i using correct bapi. many people suggested of using bapi BAPI_BUSPROCESSND_SAVE....i dont know how to use it and what values i should pass to the objects_to_save paramter of this bapi.
here is my code please help me
***TABLES
DATA: IT_HEADER TYPE TABLE OF BAPIBUS20001_HEADER_INS.
DATA: IT_INPUT_FIELDS_FILL TYPE TABLE OF BAPIBUS20001_INPUT_FIELDS.
DATA: IT_ITEM TYPE TABLE OF BAPIBUS20001_ITEM.
***WORK AREA
DATA: WA_INPUT_FIELDS TYPE BAPIBUS20001_INPUT_FIELDS.
DATA: WA_HEADER TYPE BAPIBUS20001_HEADER_INS.
DATA: WA_ITEM TYPE BAPIBUS20001_ITEM.
DATA: IT_EV_GUID_32 TYPE GUID_32.
DATA: IT_EV_GUID_32_1 TYPE GUID_32.
CALL FUNCTION 'GUID_CREATE'
IMPORTING
EV_GUID_32 = IT_EV_GUID_32.
WA_HEADER-GUID = IT_EV_GUID_32.
WA_HEADER-PROCESS_TYPE = 'ZWEB'.
WA_HEADER-DESCRIPTION = 'WEB ORDER'.
WA_HEADER-CREATED_BY = 'SAPUSER
APPEND WA_HEADER TO IT_HEADER.
WA_INPUT_FIELDS-REF_GUID = IT_EV_GUID_32.
WA_INPUT_FIELDS-REF_KIND = 'A'.
WA_INPUT_FIELDS-OBJECTNAME = 'ORDERADM_H'.
WA_INPUT_FIELDS-LOGICAL_KEY = '1'.
WA_INPUT_FIELDS-CHANGEABLE = ' '.
WA_INPUT_FIELDS-FIELDNAME = 'PROCESS_TYPE'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
WA_INPUT_FIELDS-FIELDNAME = 'GUID'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
WA_INPUT_FIELDS-FIELDNAME = 'DESCRIPTION'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
WA_INPUT_FIELDS-FIELDNAME = 'CREATED_BY'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
REFRESH: CREATED_PROCESS.
CALL FUNCTION 'GUID_CREATE'
IMPORTING
EV_GUID_32 = IT_EV_GUID_32_1.
WA_ITEM-GUID = IT_EV_GUID_32_1.
WA_ITEM-NUMBER_INT = '10'.
WA_ITEM-ORDERED_PROD = '90000000'.
WA_ITEM-ITM_TYPE = 'ZTAN'.
WA_ITEM-MODE = 'A'.
APPEND WA_ITEM TO IT_ITEM.
WA_INPUT_FIELDS-REF_GUID = IT_EV_GUID_32_1.
WA_INPUT_FIELDS-REF_KIND = 'A'.
WA_INPUT_FIELDS-OBJECTNAME = 'ORDERADM_I'.
WA_INPUT_FIELDS-LOGICAL_KEY = '1'.
WA_INPUT_FIELDS-CHANGEABLE = ' '.
WA_INPUT_FIELDS-FIELDNAME = 'GUID'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
WA_INPUT_FIELDS-FIELDNAME = 'NUMBER_INT'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
WA_INPUT_FIELDS-FIELDNAME = 'ORDERED_PROD'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
WA_INPUT_FIELDS-FIELDNAME = 'ITM_TYPE'.
APPEND WA_INPUT_FIELDS TO IT_INPUT_FIELDS_FILL.
REFRESH: created_process.
CALL FUNCTION 'BAPI_BUSPROCESSND_CREATEMULTI'
TABLES
HEADER = IT_HEADER
INPUT_FIELDS = IT_input_fields_fill
ITEM = IT_ITEM
CREATED_PROCESS = CREATED_PROCESS
RETURN = RETURN.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'
IMPORTING
RETURN = RETURN1.
Edited by: jessica sam on Dec 11, 2008 5:23 AMHi Jessica,
I am not able map billing plan details for BAPI_BUSPROCESSND_CREATEMULTI.
If u done alreay please guide or send program for that.I will be grateful for you.
Regards,
Dilip
Maybe you are looking for
-
Does anyone has documentation on AP with PO and AP without PO? Thanks
-
How can I get an iMovie on my iPad onto a DVD?
Hi! I wish to move an iMovie from my iPad onto a DVD. I do not have a mac but I have an asus computer and blank DVDs. I've been trying to get it to work by accessing my videos then copying the video to the desktop, then moving the video to the deskto
-
Officejet 7000 E809a driver doesn't download in mac os 10.8
1. Product: HP Officejet 7000 E809a 2. Operating system: Mac OS 10.8.1 3. printer initially worked fine, then began to print only blank pages. an attempt to delete/re-install the driver resulted in the following errror message (upon attempting to dow
-
Trying to copy and paste text from a pdf to a webpage
trying to copy and paste text from a pdf to my iWeb edit page shows up as red lines, only shows up on the website if I highlight it, please help
-
Where do I find the things that MS has removed fro...
I was on a Help desk operation for 2-1/2 years and used Skype all the time. That ended a little after MS took the product. After that I was on Skype very little. I didn't upgrade since I saw that MS had removed one feature that I needed. When I came