Skip to Content

Cannot set custom action parameters on C4C/SDK

Dear, we are trying to add a custom action to Sales Order screen Like that:

So we have added a custom action through Screen Extensibility on SAP Studio, the definition for the standard action is like shown in that image:

But when we create a custom action like seen in that image:

the parameter PriceRecalculationTypeCode-~content = C cant'be set on Controller Tab. How to set parameters for a custom action on a Standard Screen?

I've tried to report an Incident but SAP expert said that it isn't an incident that can be solved through report incident function o C4C.

Best regards

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • Jan 10 at 12:37 PM

    Hi Isaias,

    I did something similar to this in Standard Service Request BO. What is requested from me was, during the change or update of any items field in Items tab by user, 'Request External Pricing' button must work automatically.

    Service -> Tickets -> Service and Repairs -> Items

    I developed in Service Request BO and then i found ' Request External Pricing ' button with debug mode in C4C Screen like below.

    <EventHandler id="b$7YEQMbRqU3Fg$7rUgUxm" name="BOAction_RequestExternalPricing">
     <BoAction id="zSJHW9Ysk4kS48RekaoHrW" name="Operation" proxyName="ServiceRequest" esrNamespace="http://sap.com/xi/AP/CRM/Glo    bal" actionPath="->RequestExternalData" instanceBinding="/Root">
      <BoActionParameter id="F3KXdZOPP4oMGOVTLpML5W" name="PriceRecalculationTypeCode-~content" constant="C"></BoActionParameter>
    </BoAction></EventHandler>

    The important part for you is actionPath="->RequestExternalData" . This is the action that you should use. To find this action, you should open Repository Explorer. You can follow the path that i have marked below.

    1. Extend ServiceRequest.

    [Extension] businessobject AP.CRM.Global:ServiceRequest { 
       node Item {     
           } 
       node ServiceReferenceObject {
           } 
    }

    2. Write the code in ServiceRequest.xbo -> Item.Node -> Event-AfterModify.absl

    // When item field changed or modified the system will automatically run/trigger external pricing
    if(this.ExternalPricingRelevantIndicator)
    {
       this.ToRoot.RequestExternalData(); // this code is to triggering 
    }

    I hope it works.

    Best regards.

    Kursat Beyoglu.

    Add comment
    10|10000 characters needed characters exceeded

  • Jan 16 at 10:50 AM

    Hi Isaias,

    You cannot bind the custom button with event handler in controller tab of a standard screen. To achieve this you have to bind your custom button to a custom bo action & write code in the custom action to simulate the sales order.

    Thanks,

    Jayant

    Add comment
    10|10000 characters needed characters exceeded