Error in creating a Service Order in the transaction CRMD_ORDER
Hello,
We are trying to create a service order in CRM and it shows no errors on CRM side while it is processing and saving it. But after the save is complete, it returns a error from the connected R/3 side tht says "An error occurred in system D19CLNT100 during account assignment".
Any ideas as to how can this be corrected.
The details are as under:
Diagnosis
Errors occurred when assigning an account assignment object to a business transaction. To view the error message, see the accompanying log file.
Transfer Log
Business partner with GUID 4459115E6EAB014100000000099A6565 does not exist (Notification E R11 124)
Business partner with GUID 4459115E6EAB014100000000099A6565 does not exist (Notification E R11 124)
Characteristic "Sold-to party" for business scenario "CRM Service" is missing (Notification E IAOM 007)
Characteristics for Controlling object have errors (Notification E IAOM 034)
Characteristic "Sold-to party" for business scenario "CRM Service" is missing (Notification E IAOM 007)
Characteristics for Controlling object have errors (Notification E IAOM 034)
The BP exists on both CRM and R/3 side in both tables CRMKUNNR and CRM_BUT_CUSTNO.
But probably some problem with Costing.
Any ideas are highly appreciated. Thanks.
Rgds
Priyanka
Hello Priyanka,
I have the same problem by using Service Ticket in SAP CRM 5.0.
Did you already solved this issue? If so, can you please provide the solution!?
How can I activate and check the transfer log?
Thanks and regards
Alex
Similar Messages
-
Error while creating a Service PO using BAPI_PO_CREATE1
Hi,
Im facing Error as "In case of account assignment, please enter acc. assignment data for item" while creating Service PO using BAPI_PO_CREATE1.
Header Data
w_poheader-comp_code = w_src-bukrs. "Company Code
w_poheader-doc_type = w_src-bsart. "Document type
w_poheader-delete_ind = w_src-vrtkz. "Deletion Indicator
CLEAR: lv_date.
CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'
EXPORTING
date_external = w_src-aedat
IMPORTING
date_internal = lv_date
EXCEPTIONS
date_external_is_invalid = 1
OTHERS = 2.
w_poheader-creat_date = lv_date. "Creation Date
w_poheader-created_by = sy-uname. "Creator Name
w_poheader-vendor = w_src-lifnr. "Vendor
w_poheader-pmnttrms = w_src-zterm. "Payment Terms
w_poheader-purch_org = w_src-ekorg. "Purchase Organization
w_poheader-pur_group = w_src-ekgrp. "Purchase Group
w_poheader-ref_1 = w_src-ihrez. "OLD PO
w_poheaderx-comp_code = 'X'. "Company Code
w_poheaderx-doc_type = 'X'. "Document type
w_poheaderx-delete_ind = 'X'. "Deletion Indicator
w_poheaderx-creat_date = 'X'. "Creation Date
w_poheaderx-created_by = 'X'.
w_poheaderx-vendor = 'X'.
w_poheaderx-pmnttrms = 'X'. "Payment Terms
w_poheaderx-purch_org = 'X'. "Purchase Organization
w_poheaderx-pur_group = 'X'. "Purchase Group
w_poheaderx-ref_1 = 'X'.
Item Data
w_poitem-po_item = w_src-ebelp.
IF NOT w_src-elikz IS INITIAL.
w_poitem-delete_ind = w_src-elikz.
ENDIF.
IF NOT w_src-txz01 IS INITIAL.
w_poitem-short_text = w_src-txz01.
ENDIF.
IF NOT w_src-werks IS INITIAL.
w_poitem-plant = w_src-werks.
ENDIF.
Material group
IF NOT w_src-matkl IS INITIAL.
w_poitem-matl_group = w_src-matkl.
ENDIF.
Open or Partial Qty
IF w_src-opqty IS NOT INITIAL.
w_poitem-quantity = w_src-opqty.
ELSEIF NOT w_src-paqty IS INITIAL.
w_poitem-quantity = w_src-paqty.
ENDIF.
IF NOT w_src-meins IS INITIAL.
w_poitem-po_unit = w_src-meins. "Base Unit of Measure
ENDIF.
IF NOT w_src-netpr IS INITIAL.
w_poitem-net_price = w_src-netpr. "Net Price
ENDIF.
IF NOT w_src-mwskz IS INITIAL.
w_poitem-tax_code = w_src-mwskz.
ENDIF.
IF NOT w_src-pstyp IS INITIAL.
w_poitem-item_cat = w_src-pstyp.
ENDIF.
IF NOT w_src-knttp IS INITIAL.
w_poitem-acctasscat = w_src-knttp.
ENDIF.
IF NOT w_src-vrtkz IS INITIAL.
w_poitem-distrib = w_src-vrtkz.
ENDIF.
Package No
IF NOT w_src-packno IS INITIAL.
w_poitem-pckg_no = w_src-packno. "Package no
ENDIF.
IF w_poitem-delete_ind IS INITIAL AND
w_poitem-short_text IS INITIAL AND
w_poitem-plant IS INITIAL AND
w_poitem-matl_group IS INITIAL AND
w_poitem-quantity IS INITIAL AND
w_poitem-po_unit IS INITIAL AND
w_poitem-net_price IS INITIAL AND
w_poitem-tax_code IS INITIAL.
CLEAR lv_item.
ELSE.
APPEND w_poitem TO i_poitem.
CLEAR: w_poitem.
lv_item = 'X'.
ENDIF.
w_poitemx-po_item = w_src-ebelp.
w_poitemx-delete_ind = 'X'.
w_poitemx-short_text = 'X'.
w_poitemx-plant = 'X'.
w_poitemx-matl_group = 'X'.
w_poitemx-quantity = 'X'.
w_poitemx-po_unit = 'X'.
w_poitemx-net_price = 'X'.
w_poitemx-tax_code = 'X'.
w_poitemx-item_cat = 'X'.
w_poitemx-acctasscat = 'X'.
w_poitemx-distrib = 'X'.
IF NOT w_src-packno IS INITIAL.
w_poitemx-pckg_no = 'X'.
ENDIF.
IF lv_item = 'X'.
APPEND w_poitemx TO i_poitemx.
CLEAR: w_poitemx,
lv_item.
ENDIF.
PO Deliery Address
w_poaddrdelivery-po_item = w_src-ebelp.
IF NOT w_src-adrn2 IS INITIAL.
w_poaddrdelivery-addr_no = w_src-adrn2.
APPEND w_poaddrdelivery TO i_poaddrdelivery.
CLEAR w_poaddrdelivery.
ENDIF.
POschedule
w_poschedule-po_item = w_src-ebelp.
CLEAR: lv_date.
CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'
EXPORTING
date_external = w_src-eindt
IMPORTING
date_internal = lv_date
EXCEPTIONS
date_external_is_invalid = 1
OTHERS = 2.
IF NOT lv_date IS INITIAL.
w_poschedule-del_datcat_ext = 'D'. "Delivery Date in Day Format
w_poschedule-delivery_date = lv_date.
w_poschedule-quantity = w_src-menge.
APPEND w_poschedule TO i_poschedule.
CLEAR w_poschedule.
lv_schd = 'X'.
ENDIF.
w_poschedulex-po_item = w_src-ebelp.
w_poschedulex-del_datcat_ext = 'X'.
w_poschedulex-delivery_date = 'X'.
w_poschedulex-quantity = 'X'.
IF lv_schd = 'X'.
APPEND w_poschedulex TO i_poschedulex.
CLEAR : w_poschedulex,
lv_schd.
ENDIF.
PO Account Assignment
w_poaccount-po_item = w_src-ebelp.
w_poaccount-serial_no = w_src-zekkn.
Distribution Indicator is 1
IF w_src-vrtkz EQ '1'.
w_poaccount-distr_perc = w_src-vproz.
IF NOT w_src-menge IS INITIAL.
CLEAR lv_menge.
lv_menge = w_src-menge.
ENDIF.
lv_acct_qty = lv_menge * w_src-vproz / 100.
Get Round value of Quanity
frac = FRAC( lv_acct_qty ).
IF frac EQ 0.
lv_acct_qty = FLOOR( lv_acct_qty ).
ELSE.
lv_acct_qty = CEIL( lv_acct_qty ).
ENDIF.
w_poaccount-quantity = lv_acct_qty.
ELSEIF w_src-vrtkz IS INITIAL.
w_poaccount-quantity = w_src-menge.
ENDIF.
w_poaccount-gl_account = w_src-saknr.
w_poaccount-costcenter = w_src-kostl.
w_poaccount-asset_no = w_src-anln1.
w_poaccount-wbs_element = w_src-wbs.
w_poaccount-network = w_src-nplnr.
w_poaccount-tax_code = w_src-mwskz.
w_poaccount-activity = w_src-vornr.
APPEND w_poaccount TO i_poaccount.
CLEAR w_poaccount.
w_poaccountx-po_item = w_src-ebelp.
w_poaccountx-serial_no = w_src-zekkn.
IF w_src-vrtkz EQ '1'.
w_poaccountx-distr_perc = 'X'.
ENDIF.
w_poaccountx-quantity = 'X'.
w_poaccountx-gl_account = 'X'.
w_poaccountx-costcenter = 'X'.
w_poaccountx-wbs_element = 'X'.
w_poaccountx-network = 'X'.
w_poaccountx-tax_code = 'X'.
w_poaccountx-activity = 'X'.
APPEND w_poaccountx TO i_poaccountx.
CLEAR w_poaccountx.
PO Services
w_poservices-pckg_no = w_src-packno. "Package no
w_poservices-line_no = w_src-srv_line_no. "Line item
w_poservices-ext_line = w_src-extrow. "External line
w_poservices-outl_level = 0.
w_poservices-outl_ind = 'X'.
w_poservices-subpckg_no = w_src-sub_packno. "Sub package no
w_poservices-quantity = w_src-srqty. "Service Quantity
w_poservices-base_uom = w_src-srmeins. "Service Basic unit of Measure
w_poservices-price_unit = '1'.
w_poservices-from_line = '1'.
w_poservices-gr_price = w_src-brtwr. "GR Price
w_poservices-short_text = w_src-sh_text1. "Service Short Text
w_poservices-matl_group = w_src-matkl. "Material Group
APPEND w_poservices TO i_poservices.
CLEAR w_poservices.
PO Service Access values
w_posrvacc-pckg_no = w_src-packno. "Package no
w_posrvacc-line_no = w_src-srv_line_no. "Line item
w_posrvacc-serno_line = w_src-zekkn. "'01'..
IF w_src-vproz IS INITIAL.
w_posrvacc-percentage = '100.0'.
ENDIF.
w_posrvacc-serial_no = w_src-zekkn. "'01'.
w_posrvacc-quantity = w_src-srqty. "Service Quantity
w_posrvacc-net_value = w_src-srqty. "Net value
APPEND w_posrvacc TO i_posrvacc.
CLEAR w_posrvacc.
ENDIF.
***Create a NEW PO
AT END OF ihrez.
Call BAPI
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
poheader = w_poheader
poheaderx = w_poheaderx
IMPORTING
exppurchaseorder = gv_ebeln
TABLES
return = i_return
poitem = i_poitem[]
poitemx = i_poitemx[]
poaddrdelivery = i_poaddrdelivery[]
poschedule = i_poschedule[]
poschedulex = i_poschedulex[]
poaccount = i_poaccount[]
poaccountx = i_poaccountx[]
poservices = i_poservices[]
posrvaccessvalues = i_posrvacc[]
extensionin = i_extensionin[].
Commit the Transaction
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'.
Regards,
Deepthi.1. If we get error as "In case of account assignment, please enter acc. assignment data for item" than First cehck whetaher u have authorization to Tcode ME23n or not. In my case, I din't had authorization to Me23n tcode.
2. If we get Error as "Please Mainatain Services or Limits". Please create a Service PO in the following Order.
*& Internal Table Declaration
DATA : i_intern TYPE STANDARD TABLE OF alsmex_tabline WITH HEADER LINE,
i_poitem TYPE STANDARD TABLE OF bapimepoitem,
i_poitemx TYPE STANDARD TABLE OF bapimepoitemx,
i_poaddrdelivery TYPE STANDARD TABLE OF bapimepoaddrdelivery,
i_poschedule TYPE STANDARD TABLE OF bapimeposchedule,
i_poschedulex TYPE STANDARD TABLE OF bapimeposchedulx,
i_poaccount TYPE STANDARD TABLE OF bapimepoaccount,
i_poaccountx TYPE STANDARD TABLE OF bapimepoaccountx,
i_poservices TYPE STANDARD TABLE OF bapiesllc,
i_posrvacc TYPE STANDARD TABLE OF bapiesklc,
i_extensionin TYPE STANDARD TABLE OF bapiparex,
i_return TYPE STANDARD TABLE OF bapiret2.
*& Work Area Declaration
DATA:
w_poheader TYPE bapimepoheader,
w_poheaderx TYPE bapimepoheaderx,
w_poitem TYPE bapimepoitem,
w_poitemx TYPE bapimepoitemx,
w_poaddrdelivery TYPE bapimepoaddrdelivery,
w_poschedule TYPE bapimeposchedule,
w_poschedulex TYPE bapimeposchedulx,
w_poaccount TYPE bapimepoaccount,
w_poaccountx TYPE bapimepoaccountx,
w_poservices TYPE bapiesllc,
w_posrvacc TYPE bapiesklc,
w_extensionin TYPE bapiparex,
w_return TYPE bapiret2.
START-OF-SELECTION.
Header Data
w_poheader-comp_code = '5791'. "Company Code
w_poheader-doc_type = 'Z0CM'. "Document type
w_poheader-creat_date = sy-datum. "lv_date. "Creation Date
w_poheader-created_by = sy-uname. "Creator Name
w_poheader-vendor = '0005012343'. "Vendor
w_poheader-pmnttrms = 'Z004'. "Payment Terms
w_poheader-purch_org = 'P000'. "Purchase Organization
w_poheader-pur_group = '001'. "Purchase Group
w_poheader-ref_1 = '004500007671'. "OLD PO
w_poheaderx-comp_code = 'X'. "Company Code
w_poheaderx-doc_type = 'X'. "Document type
w_poheaderx-creat_date = 'X'. "Creation Date
w_poheaderx-created_by = 'X'.
w_poheaderx-vendor = 'X'.
w_poheaderx-pmnttrms = 'X'. "Payment Terms
w_poheaderx-purch_org = 'X'. "Purchase Organization
w_poheaderx-pur_group = 'X'. "Purchase Group
w_poheaderx-ref_1 = 'X'.
Item Data
w_poitem-po_item = '000010'.
w_poitem-short_text = 'Z0CM - Default Appr. Test '.
w_poitem-plant = '5368'.
Trackign no
w_poitem-trackingno = ''.
Material group
w_poitem-matl_group = '119'.
w_poitem-po_unit = 'EA'. "Base Unit of Measure
w_poitem-net_price = '17500.00'. "Net Price
w_poitem-tax_code = 'I0'.
w_poitem-item_cat = '9'.
w_poitem-acctasscat = 'K'.
w_poitem-distrib = space.
Package must be given in item to create Service PO
w_poitem-pckg_no = 0000000001.
APPEND w_poitem TO i_poitem.
CLEAR: w_poitem.
w_poitemx-po_item = '000010'.
w_poitemx-delete_ind = 'X'.
w_poitemx-short_text = 'X'.
w_poitemx-plant = 'X'.
w_poitemx-trackingno = 'X'.
w_poitemx-matl_group = 'X'.
w_poitemx-quantity = 'X'.
w_poitemx-po_unit = 'X'.
w_poitemx-net_price = 'X'.
w_poitemx-tax_code = 'X'.
w_poitemx-item_cat = 'X'.
w_poitemx-acctasscat = 'X'.
w_poitemx-distrib = 'X'.
w_poitemx-pckg_no = 'X'.
APPEND w_poitemx TO i_poitemx.
CLEAR: w_poitemx.
PO Deliery Address
w_poaddrdelivery-po_item = '000010'.
w_poaddrdelivery-addr_no = '0000061208'.
APPEND w_poaddrdelivery TO i_poaddrdelivery.
CLEAR w_poaddrdelivery.
POschedule
w_poschedule-po_item = '000010'..
DATA : LV_DATE TYPE SY-DATUM,
lv_schd.
CLEAR: lv_date.
CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'
EXPORTING
date_external = '12/2/2009'
IMPORTING
date_internal = lv_date
EXCEPTIONS
date_external_is_invalid = 1
OTHERS = 2.
IF NOT lv_date IS INITIAL.
w_poschedule-del_datcat_ext = 'D'. "Delivery Date in Day Format
w_poschedule-delivery_date = lv_date.
w_poschedule-quantity = '1.000'.
APPEND w_poschedule TO i_poschedule.
CLEAR w_poschedule.
lv_schd = 'X'.
ENDIF.
w_poschedulex-po_item = '000010'.
w_poschedulex-del_datcat_ext = 'X'.
w_poschedulex-delivery_date = 'X'.
w_poschedulex-quantity = 'X'.
IF lv_schd = 'X'.
APPEND w_poschedulex TO i_poschedulex.
CLEAR : w_poschedulex,
lv_schd.
ENDIF.
PO Account Assignment
w_poaccount-po_item = '000010'.
w_poaccount-serial_no = '01'.
w_poaccount-distr_perc = ''.
w_poaccount-quantity = '1.000'.
w_poaccount-gl_account = '0000603064'.
w_poaccount-costcenter = '0053680100'.
w_poaccount-asset_no = ''.
w_poaccount-wbs_element = ''.
w_poaccount-network = ''.
w_poaccount-tax_code = 'I0'.
w_poaccount-activity = ''.
APPEND w_poaccount TO i_poaccount.
CLEAR w_poaccount.
w_poaccountx-po_item = '000010'.
w_poaccountx-serial_no = '01'.
w_poaccountx-distr_perc = 'X'.
w_poaccountx-quantity = 'X'.
w_poaccountx-gl_account = 'X'.
w_poaccountx-costcenter = 'X'.
w_poaccountx-wbs_element = 'X'.
w_poaccountx-network = 'X'.
w_poaccountx-tax_code = 'X'.
w_poaccountx-activity = 'X'.
w_poaccountx-cmmt_item = 'X'.
APPEND w_poaccountx TO i_poaccountx.
CLEAR w_poaccountx.
Extension for ZZSub
w_extensionin-structure = 'BAPI_TE_MEPOACCOUNTING'.
w_extensionin-valuepart1+0(5) = '00010'..
w_extensionin-valuepart1+5(2) = '01'.
w_extensionin-valuepart1+28(5) = ''.
APPEND w_extensionin TO i_extensionin.
CLEAR w_extensionin.
w_extensionin-structure = 'BAPI_TE_MEPOACCOUNTINGX'.
w_extensionin-valuepart1+0(5) = '00010'.
w_extensionin-valuepart1+5(2) = '01'.
w_extensionin-valuepart1+11(1) = 'X'.
APPEND w_extensionin TO i_extensionin.
CLEAR w_extensionin.
Extension to add Expense Type only
w_extensionin-structure = 'BAPI_TE_MEPOHEADER'.
w_extensionin-valuepart1+10(4) = '0131'.
APPEND w_extensionin TO i_extensionin.
CLEAR w_extensionin.
w_extensionin-structure = 'BAPI_TE_MEPOHEADERX'.
w_extensionin-valuepart1+10(4) = 'X'.
APPEND w_extensionin TO i_extensionin.
CLEAR w_extensionin.
EXPORT i_extensionin[] TO MEMORY ID 'SUB'.
PO Services
PO Services( One Line Iem)
Assign the dummy no as Pacakage no
w_poservices-pckg_no = 0000000001. "(assign package no as a dummy number)
w_poservices-line_no = 0000000001. "Line item
w_poservices-outl_ind = 'X'.
Assign Dummy no as sub package no
w_poservices-subpckg_no = 0000000003. "(Dummy No.) "Sub package no
w_poservices-from_line = '1'.
APPEND w_poservices TO i_poservices.
CLEAR w_poservices.
PO Services(Second Line Item )
Assign the same sub package dummy no which is mentioned above
w_poservices-pckg_no = 0000000003. "(Dummy No.) "Sub package no
w_poservices-line_no = 0000000002.
w_poservices-ext_line = '0000000010'. "External line
w_poservices-quantity = '17500.0'. "Service Quantity
w_poservices-base_uom = 'EA'. "Service Basic unit of Measure
w_poservices-price_unit = '1'.
w_poservices-gr_price = '1'. "GR Price
w_poservices-short_text = 'Z0CM - Default Appr. T'. "Service Short Text
w_poservices-matl_group = '119'. "w_src-matkl. "Material Group
APPEND w_poservices TO i_poservices.
CLEAR w_poservices.
PO Service Access values
w_posrvacc-pckg_no = 0000000003. "w_src-sub_packno. "Sub package no
w_posrvacc-line_no = 0000000002. "w_src-srv_line_no. "Line item
w_posrvacc-serno_line = '01'.
w_posrvacc-percentage = '100.0'.
w_posrvacc-serial_no = '01'.
w_posrvacc-quantity = '17500.0'. "w_src-srqty. "Service Quantity
APPEND w_posrvacc TO i_posrvacc.
CLEAR w_posrvacc.
DATA : gv_ebeln TYPE ebeln.
Call BAPI
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
poheader = w_poheader
poheaderx = w_poheaderx
IMPORTING
exppurchaseorder = gv_ebeln
TABLES
return = i_return
poitem = i_poitem[]
poitemx = i_poitemx[]
poaddrdelivery = i_poaddrdelivery[]
poschedule = i_poschedule[]
poschedulex = i_poschedulex[]
poaccount = i_poaccount[]
poaccountx = i_poaccountx[]
poservices = i_poservices[]
posrvaccessvalues = i_posrvacc[]
extensionin = i_extensionin[].
Commit the Transaction
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
WRITE:/5 gv_ebeln COLOR 5.
SKIP 2.
DATA : lv_msg TYPE string.
LOOP AT i_return INTO w_return WHERE type = 'E'.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
id = w_return-id
lang = 'EN'
no = w_return-number
v1 = w_return-message_v1
v2 = w_return-message_v2
v3 = w_return-message_v3
v4 = w_return-message_v4
IMPORTING
msg = lv_msg
EXCEPTIONS
not_found = 1
OTHERS = 2.
WRITE:/10 lv_msg.
ENDLOOP. -
Problems while creating local service order on client in MAM
I have MAM2.5 on PC. I have created a local notification and synced it. based on that notif , I am trying to create a service order.But after Sync , I get following error in monitor (merep_mon on MI server) under MAM_001:
Return code from RFC BAPI Wrapper call:Business area required (Please enter)
Return code from RFC BAPI Wrapper call:Service/maintenance order type PM02 not completelymaintained in plant 4510
Return code from RFC BAPI Wrapper call:Business area required (Please enter)
While creating service order on backend , we have to fill in the business area. but I dont see any such option on client. may be it picks up the business area from some other detail ( like equipment / personnal number ) ..If so , which from where does it pick that?
Regards
Rucha AtreHi,
You may try this option which might allow you to create orders without business area in the client;
In the back-end, Goto,
SPRO>Plant Maint. & customer service>maintenance & service orders>Define field selection for order header data.
Uncheck the business area from required field.
If it still doesnt work, goto tcode KOT2_OPA and click on change field selection and then remove the required check from business area.
Regards
Boby
Regards. -
Create a Purchase order using the BAPI using the data in the XML file.
Hello Gurus,
here is the scenario can anyone help me how to proceed explaining the procedure?
Create a Purchase order using the BAPI using the data in the XML file.
comprehensive explanations are appreciated.
thanks in advance.hi,
first use fm "bapi_po_create".
then use fm "BAPI_ACC_GL_POSTING_POST"
The demo environment was made with real business scenario in mind, but following subjects need to be addressed in a live implementation:
No exceptions and error handling is implemented, except the order rejection (e.g. partly delivery);
In Navision both XML Ports and the XML DOM has been used to integrate with SAP XI, because XML ports has some drawbacks regarding to Namespaces in XML Documents (mandatory in SAP XI);
A minimum of SAP and Navision customization is required to implement this solution. (e.g. user exit in SAP, Navision XML DOM). -
Creating a Service Order automatically when saving a Sales Order
Hello SDN,
I'm trying to have SAP automatically create a Service Order when a Sales Order is created. To this end, I've tried implementing BADI workitem_template and have been using method before_update. I've been using BAPI BAPI_ALM_ORDER_MAINTAIN to create the service order.
The problem is that in order for the BAPI to save the service order, the sales order needs to be fully saved and operational. Otherwise it just keeps saying 'sales order does not exist'. So the problem is that the BADI is intervening too soon in the saving process. The temporary sales order numbers have been replaced with actual ones, but the records do not show in the database just yet. I think there's a commit that still needs to be done or something.
However, I cannot find a BADI or user exit that intervenes after the sales order is saved into the database, so this leaves me stranded.
Any suggestions would be heartily apprechiated.
Kind Regards,
Niels.
Edited by: Niels Ruelens on Feb 20, 2008 4:20 PM
Edited by: Niels Ruelens on Feb 20, 2008 4:22 PMFollowing your suggestions, I've created an update function module and inserted it into the USEREXIT_SAVE_DOCUMENT. In this function module, I'm calling the BAPI.
Problem with this approach is that I cannot debug, nor is he actually doing anything. Here's the code that is put in the function. Is there anything wrong with the way I call the BAPI perhaps?
DATA:
lt_srule TYPE TABLE OF bapi_alm_order_srule,
lt_bheader TYPE TABLE OF bapi_alm_order_headers_i,
lt_srule_up TYPE TABLE OF bapi_alm_order_srule_up,
lt_methods TYPE TABLE OF bapi_alm_order_method,
lt_return TYPE TABLE OF bapiret2,
ls_vbak TYPE vbak,
ls_vbap TYPE vbap,
ls_bheader TYPE bapi_alm_order_headers_i,
* ls_header TYPE cobai_s_header,
ls_prps TYPE prps,
ls_srule TYPE bapi_alm_order_srule,
ls_srule_up TYPE bapi_alm_order_srule_up,
ls_methods TYPE bapi_alm_order_method.
* ls_item TYPE cobai_s_item.
SELECT SINGLE * INTO ls_vbak
FROM vbak
WHERE vbeln = vbeln.
SELECT SINGLE * INTO ls_vbap
FROM vbap
WHERE vbeln = vbeln.
FREE: lt_methods, lt_bheader, lt_srule.
* Fill methods
CLEAR ls_methods.
ls_methods-refnumber = 1.
ls_methods-objecttype = 'HEADER'.
ls_methods-method = 'CREATE'.
ls_methods-objectkey = '%00000000001'.
APPEND ls_methods TO lt_methods.
* CLEAR ls_methods.
* ls_methods-refnumber = 1.
* ls_methods-objecttype = 'SRULE'.
* ls_methods-method = 'CREATE'.
* ls_methods-objectkey = '%00000000001'.
* APPEND ls_methods TO lt_methods.
CLEAR ls_methods.
ls_methods-refnumber = 1.
ls_methods-objecttype = ''.
ls_methods-method = 'SAVE'.
ls_methods-objectkey = '%00000000001'.
APPEND ls_methods TO lt_methods.
* Fill header
CLEAR ls_bheader.
ls_bheader-orderid = '%00000000001'.
ls_bheader-order_type = 'ZM02'.
ls_bheader-funct_loc = 'FERBL_TD5C_DER'.
ls_bheader-planplant = 'B006'.
ls_bheader-sales_ord = vbeln.
ls_bheader-s_ord_item = '00010'.
APPEND ls_bheader TO lt_bheader.
** Convert the internal WBS to an external WBS element
* SELECT SINGLE * INTO ls_prps
* FROM prps
* WHERE pspnr = ls_vbap-ps_psp_pnr.
** Fill settlement rules
* ls_srule-objnr = ls_item-aufnr.
**** ls_srule-sales_ord = caufvd_imp-kdauf_aufk.
**** ls_srule-s_ord_item = caufvd_imp-kdpos_aufk.
* ls_srule-wbs_element = ls_item-projn.
* ls_srule-settl_type = 'FUL'.
* ls_srule-percentage = 100.
* ls_srule-extnr = 1.
* APPEND ls_srule TO lt_srule.
* ls_srule_up-wbs_element = 'X'.
* ls_srule_up-sales_ord = 'X'.
* ls_srule_up-s_ord_item = 'X'.
* ls_srule_up-orderid = 'X'.
* ls_srule_up-settl_type = 'X'.
* ls_srule_up-percentage = 'X'.
* ls_srule_up-extnr = 'X'.
* APPEND ls_srule_up TO lt_srule_up.
CALL FUNCTION 'BAPI_ALM_ORDER_MAINTAIN'
TABLES
it_methods = lt_methods
it_header = lt_bheader
* IT_HEADER_UP =
* IT_HEADER_SRV =
* IT_HEADER_SRV_UP =
* IT_USERSTATUS =
* IT_PARTNER =
* IT_PARTNER_UP =
* IT_OPERATION =
* IT_OPERATION_UP =
* IT_RELATION =
* IT_RELATION_UP =
* IT_COMPONENT =
* IT_COMPONENT_UP =
* IT_OBJECTLIST =
* IT_OBJECTLIST_UP =
* IT_OLIST_RELATION =
* IT_TEXT =
* IT_TEXT_LINES =
* it_srule = lt_srule
* it_srule_up = lt_srule_up
* IT_TASKLISTS =
* EXTENSION_IN =
return = lt_return.
* ET_NUMBERS =.
IF sy-subrc = 0.
ENDIF.
Edited by: Niels Ruelens on Feb 20, 2008 4:58 PM -
Creating a service order in a BAPI
Hi all,
I'm trying working on a BAPI to create a service order using FM crm_service_order_create and crm_order_maintain. When I call the BAPI outside CRM the SO gets created but with a created_by user "RFC_DIAL" although the call was originally made with a different user. Is there a way to force the creation with a different user than the "RFC_DIAL"?Hello,
When you call the BAPI outside the CRM system (eg from R/3) the system will use the RFCs connection user to execute the FM call. You can prevent this behaviour by making the systems "trusted systems", in that case your username will be used when calling the FM from outside CRM.
Take a look at SM59 and look for the RFC connection that is used when calling the FM from outside CRM. In the details of that RFC connection you'll probably see that the RFC connection uses the "RFC_DIAL" user. In order to change this you must select "Current user" and (optionally) create a trusted connection between both systems.
Hope this helps,
Kind regards,
Joost -
Creating a service order using FM
Hello everyone,
I am new to CRM technical. I have a requirement to create a service order using standard function module passing only 3 parametrs like category1, category2 and short text. How should I start the report. Can anyone help me in posting the code and the approach.
Thanks in advance!Hi Sandeep,
The best approach to learn this development is to debug the standard functionality by providing the data which you need in your requirement. Then you will get familiar with what are structures which needs to be populated and send to One Order API - CRM_ORDER_MAINTAIN.
This above mentioned API will be the one which you need to use in the creation of Service Order. So, you can also search with the above mentioned Module.
Hope this helps. Scan the Forum for FAQ's on problems that you might get in the development.
Thanks,
Samantak. -
SC error while creating a service request
Hi experts,
I am on SRM 7 , ECS . I am trying to create a service request in the shopping cart through SC full functionality/operational purchaser.
I am getting the error when i clcik on the "supplier/service agents"
SRDBIQCI02
http://srdbiqci02.ssw.local:8010/sap/bc/webdynpro/sapsrm/wda_l_fpm_oif/
UNCAUGHT_EXCEPTION
Called method not supported by current PDO instance
Method: /SAPSRM/IF_PDO_BO_SC~PRODUCT_CONV_INT of program /SAPSRM/CL_CLL_SER_PDO========CP
Method: /SAPSRM/IF_CLL_MAPPER~REFRESH of program /SAPSRM/CL_CH_WD_DODM_SC_I_SOSCP
Method: WDDOINIT of program /1BCWDY/T2R7E4WKA5D7C8DML3PR==CP
Method: IF_WDR_VIEW_DELEGATE~WD_DO_INIT of program /1BCWDY/T2R7E4WKA5D7C8DML3PR==CP
Method: DO_INIT of program CL_WDR_DELEGATING_VIEW========CP
Method: INIT_CONTROLLER of program CL_WDR_CONTROLLER=============CP
Method: INIT_CONTROLLER of program CL_WDR_VIEW===================CP
Method: INIT of program CL_WDR_CONTROLLER=============CP
Method: GET_VIEW of program CL_WDR_VIEW_MANAGER===========CP
Method: BIND_ROOT of program CL_WDR_VIEW_MANAGER===========CP
http://srdbiqci02.ssw.local:8010/sap/bc/webdynpro/sapsrm/wda_l_fpm_oif/
Rgds
SumendraHi Sumendra,
I have the same issue. Did you solve it?
BR,
Ivá -
XML Parser Error while creating Web service Client using JAX RPC
hello evryone,
Im facing XML Parser Error while creating web service client using JAX RPC. Im using Net Beans IDE for development purpose. I have wrote configuration file for client. Now i want to create Client stub. However i dont know how to do this in Net Beans. So i tried to do it from Command promt using command :
wscompile -gen:client -d build -classpath build config-wsdl.xml
here im getting Error:
error parsing configuration file: XML parsing error: com.sun.xml.rpc.sp.ParseException:10: XML declaration may only begin entities
Please help me out.
Many thanks in advance,
KaceeCan i use the client generated using jdeveloper 11g to import into the oracle forms 10g, i.e., form builder 10g. Currently this is the version we have in our office.
-
Create a work order using the BAPI for IW31
Hi,
I want to create a work order using the BAPI for IW31 tr. can any one help me with the program description.
Full points will be awarded for the useful answers.
Thanks and regards,
Sunilhi,
first use fm "bapi_po_create".
then use fm "BAPI_ACC_GL_POSTING_POST"
The demo environment was made with real business scenario in mind, but following subjects need to be addressed in a live implementation:
No exceptions and error handling is implemented, except the order rejection (e.g. partly delivery);
In Navision both XML Ports and the XML DOM has been used to integrate with SAP XI, because XML ports has some drawbacks regarding to Namespaces in XML Documents (mandatory in SAP XI);
A minimum of SAP and Navision customization is required to implement this solution. (e.g. user exit in SAP, Navision XML DOM). -
Partiral delivery of sales items in a service order brings the order header to in process
Hello Experts,
I am currently working on CRM 7.0, EHP 1.
I am creating a service order in CRM and the sales items in the order are replicated to a sales order in ECC. The header system and user status at this point is Released.
On creating a partial delivery for the sales items, the header of the service order is set to system status In Process. This doesnt allow creation of a confirmation because the header is no more released.
Is there a note to stop the system status change to in process ?
Thanks &Regards,
ItishaHi Rohit,
It is ideally required to have both higher item and subitem in delivery. However the moment there is a sub item, the delivery quantity for higher level item becomes 0 and hence this will not affect the quantity to be delivered. Hence the presence of higher level item will not impact the delivery or PGI in anyway. You can check this.
Similarly for billing, you can check the Billing quantity field in copy control between delivery and invoice. The value has to be either G or H based on the scenario you want.
Having said all these things, I think just adding the customer entered material either in the customer material field in sales order (I think VBAP-MATWA) or in some other Z field will relieve you of this big complexity. So unless or otherwise your customer i adamant on this, you can think of a simpler solution than the multiple levels of items. -
Different service orders have the same label
Hi
i have different service orders to create.( x service order, y service order ...). when i am clicking to create new service order of any type, the label is not changing.
the same label New: Service order is coming. I want to change the label New:Service order to x service order or y service order..... depends on selection
please suggest.
ramhi ram,
i guess u r not changing the long description of service order for that matter.
change that and see -
BAPI or Function Module for Creating a service order
Dear developers,
i want to create a service order in CRM from a web-based BSP application. Which function modules or bapi's can be used for this?
Has anybody still did something like this?
Regards,
JensHi,
U can use CRMXIF_ORDER_SAVE FM to create the service Order.
Regards,
Ajay Gupta
Reward points only if it helps -
Searching for Service Orders in the Archive in CRM 5.2
Hi,
I am trying to enable Searching for Service Orders in the Archive in CRM 5.2, in CRM 2007 this is done by a button being provided as standard and the user is able to toggle between views from the advanced search to search in the Archive. This also comes as standard in PCUI for the 5.0 version. But for the life of me I can seem to find how to do this in 5.2 without having a developer write code to enable the search in archive flag of the BTQuery1O we are using the component BT116S_SRVO.
I am trying to use the Archive Search function in SAP WebUi 2006s(5.2) to search for Business Transactions stored on the Archive fiel system.
Thanks for all your help in advance,
Kinikahi..
we are also using KO8G and settling orders through background processing. In parametres there are options for period, year etc for selection.
I could not understand ur problem. you creat a variant for orders to be settled. if you ar not getting the parameters in KO8G cosult ur ABAP consultant to get it.
kkb/dsp -
How to create multi garnishment order for the same garnishment document
Hi,
Can anyone tell me how to create multi garnishment order for the same garnishment document. I tried to copy the entry in IT0195 but the sequence field is grayed out so it will just delete the old record. What configuration should I do to make this possible?
Thanks a lot in advance.hi,
As far as I got it.
You cannot have multiple Garnishment order but if a need arises you have to maintain it in IT216.
For that follow this path goto PA30->pernr->194->change->Garnishment->adjustment.
Since like order you cannot maintain adjustment also directly.
Regards,
Amit
Reward all helpful replies.
Maybe you are looking for
-
I can't connect to the music store
every time i try to connect to the music store i get an error message that says, "iTunes could not connect to the music store. An unknown error has occured (-9812). Make sure you network connection is active and try again." my network connection is f
-
Data usage when streaming from iTunes library to Apple TV?
I'm trying to manage my GB data usage through my ISP and was curious if, while streaming between my iTunes library and Apple TV television shows I have previously downloaded, is that using any data whatsoever? I know I used data to actually download
-
Using Rufus to create bootable USB Drives for Cisco ISE 3495 upgrade
I will give a try in the lab but I just wanted to know if somebody else tried this option before.
-
Cs 3 Difficulty with serial number
Hi, About 18 months ago I purchased CS 3 photoshop with a multiple license package. I installed registered no problem, a year later I sold the product on and continued happily using my program but recently I was advised by adobe that I needed to reac
-
I just want to use the phone as a web browser using wireless, I don't have verizon, I can't get past the set-up screen. Can I use the phone without a verizon account?