Skip to Content
0

How to trigger SAP CRM pricing for quoation line items

Jan 08, 2017 at 03:42 AM

170

avatar image
Former Member

Hi All,

Can anyone tell me how to trigger pricing using ABAP Function Module in SAP CRM?

I tried using FM CRM_ORDER_MAINTAIN to trigger pricing but no luck? I need this pricing trigger for quotation.

Thank You.

Best Regards,

Tushar

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

1 Answer

Spencer Liang
Jan 09, 2017 at 10:54 PM
0

Hi

Pricing is updated by FM CRM_PRIDOC_UPDATE_EC. See below for some input.

Point 1:

CRM_PRIDOC_UPDATE_EC is a event call FM.

Run tcode crmv_event, you will see

Trans. Category BUS2000115 Sales
Execution Time 50 End of Document Processin
Priority 14
Object Name ORDER
Event TRIGGER_FUNCTION
Attribute PRICING_COMPLETE
Function CRM_PRIDOC_UPDATE_EC

This FM is called to update pricing document in the sales order by crm_order_maintain. This is default logic. See call stack below.

20 FUNCTION CRM_PRIDOC_UPDATE_EC SAPLCRM_PRIDOC_COM_EC
19 FORM EXECUTE_CALLBACKS_PLANNED SAPLCRM_EVENT_OW
18 FUNCTION CRM_EVENT_SET_EXETIME_OW SAPLCRM_EVENT_OW
17 FUNCTION CRM_ORDER_COMPLETE_SINGLE_OW SAPLCRM_ORDER_OW
16 FUNCTION CRM_ORDER_MAINTAIN_SINGLE_OW SAPLCRM_ORDER_OW
15 FUNCTION CRM_ORDER_MAINTAIN_MULTI_OW SAPLCRM_ORDER_OW
14 FUNCTION CRM_ORDER_MAINTAIN SAPLCRM_ORDER_API
13 METHOD MAINTAIN_1O CL_CRM_1O_MAIN================CP

If you are not creating a BUS2000115, you may maintain the same entry in crmv_event for the target BUS2000*** like the existing one for sales order.

Though crm_order_maintain is called in your z code, this event should be called by design.

Point 2

When you change anything in header, header conditions are always updated. But item conditions are not updated by default when item field is changed, the solution is in sap kba 2410013 Input value on item level is not considered in pricing.

Point 3

"I tried using FM CRM_ORDER_MAINTAIN to trigger pricing but no luck?"

crm_order_maintain is used to create or change a sales order. If you simply want to update conditions, how about calling CRM_PRIDOC_UPDATE_EC directly?

Spencer

Share
10 |10000 characters needed characters left characters exceeded