Skip to Content
Author's profile photo Former Member

Steps for developing IPC pricing userexit developement for beginners.

The Prepared Eclipse Project

Setting up the prepared project keeps the effort low and helps in fastened results. An experienced user can easily adapt

the project layout and location to their needs (e.g. using a source versioning system).

  1. Create an empty folder where all relevant data is stored (e.g. C:\DEV). This folder will be the workspace folder for eclipse.
  2. Unpack the ZIP file attached to the SAP note into that empty directory (e.g. C:\DEV). Then a subdirectory with the name PRC_UE_CUSTOMER should appear (C:\DEV\PRC_UE_CUSTOMER), containing the project files.
  3. Start your SAP GUI on the same machine, login into the system and start transaction /SAPCND/UE_DEV (using the command field enter /n/SAPCND/UE_DEV).

/wp-content/uploads/2012/09/1_140944.png

4) Select the Download option and activate the option Libraries. Downloading requires a minimum authorization of exporting data from SAPGUI into the local file system (Object S_GUI, ACTVT 61)

5) Enter as path the newly created subfolder PRC_UE_CUSTOMER (e.g. C:\DEV\ PRC_UE_CUSTOMER) and hit the execute button. The downloading will take a few minutes and create some subfolder in the PRC_UE_CUSTOMER directory containing some API jars and some source jars.

6)Start eclipse and select as workspace the manual created folder (C:\DEV). Eclipse will create the meta data for an empty workspace.

7) Select File Import… and Import an Existing Project into Workspace. Select the PRC_UE_CUSTOMER folder as root directory. Eclipse should show the PRC_UE_CUSTOMER as project name.

8) Now the JRE System Libraries have to be added to the build path of eclipse. Activate the context menu on the project (right mouse click) and select Build Path    Add Libraries. Select JRE System Library and use a 1.4.x version.

9) Prepare the API source and build the HTML documentation. Activate the context menu (right mouse click) onbuild_api_doc.xml and select Run As Ant Build. Please ignore the error message thrown during that process.

10)

Refresh the eclipse Project by right mouse clicking on the project and selecting Refresh (F5) in the context menu.

Now the default project is ready to be used for custom developments. Java Documentation for all API classes is  available and can be viewed by eclipse auto completion help or by opening the file

PRC_UE_CUSTOMER/api_doc/index.html.

The project has following structure (the screenshot can look different):

/wp-content/uploads/2012/09/2_140950.png

11) Create the PRC_UE_CUSTOMER.jar

After implementing the customer userexits, it is time to upload the userexits classes into the system. However, it is required first to archive all the classes (preferably together with the sources) into a JAR file. Before creating the JAR file, make sure the java sources and compiled classes are up-to-date and error free.

To generate a JAR file eclipse provides the ‘JAR Packager’ feature that guides you though easy steps to configure and create such a JAR file.

11.1)  From Eclipse’s FILE menu choose the EXPORT option.

11.2) From the pop up list choose JAR FILE and click NEXT.

11.3)  From the resources tree of PRC_UE_CUSTOMER choose only the SRC node making sure that the other  nodes LIB_API and LIB_SRC are not chosen.

11.4) Make sure that the option ‘export generated class files and resources’ is selected.

11.5) Enter a name and path for the JAR file e.g. ‘PRC_UE_CUSTOMER.jar’.

11.6) Click on FINISH to generate the JAR file.

To make it even easier, SAP delivers a configuration file called ‘create_PRC_UE_CUSTOMER _jar.jardesc’ which contains pre-configuration data that spares the above steps.

Simply right mouse click on the jardesc file within eclipse and select CREATE JAR from the context menu. This will export the JAR file PRC_UE_CUSTOMER.jar into Eclipse’s workspace folder. That’s the default destination and can be changed by using the option “Open JAR Packager …” in the context menu of the .jardesc file.

12) Create a package under source folder in the project like “your.company.pricing.userexits”.

13) Create a new java class like below.

/wp-content/uploads/2012/09/3_140963.png

13) After successful creation of Class, create a Jar file as mentioned in the step 11.

14) Once the Jar creation is complete, go to transaction /n/SAPCND/UE_DEV and upload the jar file in to CRM.

14.1) Need a Transport Request.

14.2) Need a Package Name for uploading Jar file.

As shown in the below screen shot upload the Jar file.

/wp-content/uploads/2012/09/1_140944.png

15) Once you successfully uploaded the Jar file, go to SM53 transaction to check whether files uploaded or not. The transaction sm53 contains also a browser to see the installed and uploaded java modules along with the userexit files.

  1. 15.1)  Select in the Navigation tree the element Application
  2. 15.2)  Browse the Installation tree down to the shown level 0/SAP/IPC  Modules
  3. 15.3)  All modules ending with _SAPCND_UE are customer uploaded modules equals jar files.

/wp-content/uploads/2012/09/1_140944.png

16) Once the Jar file is successfully uploaded in to VMC. Now the user exit needs to be registered.

User Exit Registration:

Depends on the requirement the user exit need to be registered. Here as a example, registering condition value formula as a Requirement routine.

17) Go to Transaction /SAPCND/UEASS, give PR in the usage type and execute.

/wp-content/uploads/2012/09/1_140944.png

The following view opens:

/wp-content/uploads/2012/09/1_140944.png

17.1) Create a new Entry under Condition Value Formula(under implementations). And enter the details as below.

/wp-content/uploads/2012/09/1_140944.png

17.2) Once the User exit is created successfully, a formula number need to be assigned to it. Under the formula section create a new entry and assign custom number and User exist name given in the step 17.1. The custom formula number range can be checked at transaction /SAPCND/UERNG.

18) The Pricing user exit is created successfully, now the formula number need to given in the pricing procedure for its usage. Once the above steps are successful, the formula number can be assigned to a condition type in the pricing procedure depends on the requirement.

/wp-content/uploads/2012/09/1_140944.png

19) Once the above steps are completed, VMC need to be restarted for the changes to be effected. To restart VMC go the Transaction sm52.

20) To check for pricing user exit logs, the following procedure need to be followed.

a) Go to Transaction sm53(VMC adminstration), click on Log Adminstration as shown in the below screen shot.

/wp-content/uploads/2012/09/1_140944.png

b) Go to Log configuration, to set for the logs.

/wp-content/uploads/2012/09/1_140944.png

c) Enter the path of the Pricing User exit in the right side area as shown in the below screen shot and click on Transfer button.

/wp-content/uploads/2012/09/1_140944.png

d) Once Transfer button is clicked, the logs are set for the pricing user exit and it will show as below screen shot.

/wp-content/uploads/2012/09/1_140944.png

e) Go to Log Display on left side menu. Select the user exit path and click on update Log messages for the logs to be displayed on the right side area.

/wp-content/uploads/2012/09/1_140944.png

Assigned Tags

      10 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Luís Pérez Grau
      Luís Pérez Grau

      Hi,

      Nice blog, I would like to add for the ones who had problems to find the ZIP file, is in the Note 809820 - Userexit concept for pricing.

      Regards,

      Luis

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Hi,

      I prefer not to include as it may be against the SAP liking.

      Thanks.

      Author's profile photo Luís Pérez Grau
      Luís Pérez Grau

      No... I mean only the number of the note 🙂

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      oops my bad......now I got it. Thanks.

      Author's profile photo Former Member
      Former Member

      Hi Sarath,

      Thanks for sharing the steps for developing the IPC user Exit.

      Thanks to Luís Pérez for SAP Note info.

      Before writing my question on your Blog comment i did search in SDN about the Error which am coming across, I couldn't find enough lead to solve.

      I have followed all the above steps.

      Error:unsupported major.minor version 51.0. when i create the CRM Sales Order and pricing not triggered in Sales Order.

      My findings were cause due to different Java version error.

      Condition Value Formula 951 Developed/Compiled  the UserExit with Eclipse IDE and Both  JRE/JDK 1.4.19

      Question:LOCAL PC  and SAP CRM Server JAVA Version has to be same/higher?

      Please help me and shed some of your experience in resolving the error.

      Thanks again.

      MH

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Hi,

      The pricing userexits shall be compiled with the J2SE 1.4.x or a compatible java compiler of version 1.4.x.

      If you can compile in above java version it should be good enough.

      Thanks.

      Sarath.

      Author's profile photo Former Member
      Former Member

      Hi Sarath,

      Thank you for the quick reply.

      Yes the code is developed and compiled in JAVA version 1.4.19. I have noticed my LOCAL PC OS Java Version is  "1.7.0_25".

      Is the PC JAVA Version causing the above said error. IF yes how would the PC version will be downgrade to lower JAVA  versions like 1.4.X.

      or Do we also have to make sure that the SAP CRM Server also has Same Java version like 1.4.X or all the JAVA Version will be installed while installing the SAP CRM.

      Thanks

      MH

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Hi,

      You should have Java version 1.4.x in your local pc too.

      You should download 1.4.x Java version and point NWDS to that version. It should solve your problem.

      Hope it helps.

      Thanks.

      Sarath.

      Author's profile photo Former Member
      Former Member

      Hi Sarath,

      Great Thanks!

      It worked after Re-configured the workspace settings in Eclipse to Old versions JRE/JDK 1.4.

      Question : Which specific Load Object has to be used to Export the New Routine 951(Condition Value Formula) from R/3 to ECC.

      I did try Load objects DNL_CUST_CNDALL,DNL_CUST_CND_PR & DNL_CUST_TAX.

      no changes in the CRM pricing Procedure.

      UTXJ- 951 R/3

      UTXJ-0 CRM.

      Change Mode is not Supported in the CRM Pricing Configuration to manually assign the 951 Formula.

      Please help/Advice.

      Thanks

      MH

      Author's profile photo Andrea Porporino
      Andrea Porporino

      Hi all,

      I have a compilation error in my Eclipse Project. It's seems completely missing the library at this path com.sap.leasing.pricing.userexit, I have the missing class in compilation but I don't know how to download these jars or classes.

      Is there  anyone that can help me?