Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
TellMe
5
India SAP CoE, Slide 2
ShowMe
LetMe
HelpMe
TellMe
5
India SAP CoE, Slide 3
ShowMe
LetMe
HelpMe
Purpose
Internet Pricing & Configurator 7.0 enables you to determine relevant
price information in all kind of business transactions such as sales or
service orders, contracts, quotations or campaigns.
Pricing in CRM is carried out via the Internet Pricing and Configurator
(IPC). The IPC ensures consistent pricing regardless of whether prices
are calculated for a business transaction in the Interaction Center,
Internet Sales webshop or on Mobile Sales Scenario.
Java-based IPC technology allows the reuse and integration of the IPC
into different software platforms.
Use
Internet Pricing and Configurator provides a way to customize the
determination of condition records and the evaluation of conditions.
Java-based IPC technology allows the reuse and integration of the
IPC into different software platforms.
TellMe
5
India SAP CoE, Slide 6
ShowMe
LetMe
HelpMe
A document and its items are created. Values which are needed for pricing (e.g., sales
quantity, pricing procedure, etc.) from the outside world are given to the next layer.
Pricing-related structures are prepared (e.g., PricingDocument, PricingItem). Some of the
values passed in from the outside world (e.g, pricing procedure) are again handed down
to layer 3.
Pricing conditions are read from the database. They are determined by the Java classes
ConditionFindingManager. The selected data are returned back to layer 2, and are used
by the pricing structures to compute all pricing values for the document
Outside
world
1
Document
Quantity
Pricing
Procedure
India SAP CoE, Slide 8
Outside
world
Document Pricing
Quantity
SPCDocument, SPCItem, SPCProduct
Pricing
Procedure
India SAP CoE, Slide 9
Outside
world
3
Condition Technique
Document Pricing
Quantity
SPCDocument, SPCItem, SPCProduct
Pricing
Procedure
India SAP CoE, Slide 10
Components of IPC
SPE :
Sales Pricing Engine is used to do Pricing. Sales order system picks
up appropriate pricing procedure based on the value of sales area,
document pricing procedure (maintained at transaction type) and
customer pricin rocedure(maintained at customer procedure) .
SCE:
Product configuration is a function in the Internet Pricing and
Configurator (IPC). We can use the IPC component Sales
Configuration Engine (SCE) to configure products
Components of IPC
PME :
We can create product models for configurable products, which we
can use in the Product configuration. In CRM Product Modeling
Environment (PME) is used to do this.
TTE:
System offers two different ways of calculating taxes, depending on
which tool we use for billing. If we use the Sales and Distribution
(SD) component in SAP R/3, the system calculates taxes using the
condition technique. If we use CRM Billing, the system uses
Transaction Tax Engine (TTE).
Development Environment
The pricing userexits is be compiled with the J2SE 1.4.x
The eclipse-IDE manages the files in projects and those in workspaces
Create an empty folder where all relevant data is stored (e.g. :\DEV).
This folder will be the workspace folder for eclipse.
Unpack the ZIP file (PRC_UE_CUSTOMER_V102.zip)attached in the SAP
Note 809820 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.
Start your SAP GUI on the same machine, login into the system and start
transaction /n/SAPCND/UE_DEV
Eclipse Project
Download Pricing APIs
Select the
Download option
Eclipse Project
Start eclipse and select as workspace the manual created folder (C:\DEV).
Eclipse will create the meta data for an empty workspace
Select FileImport 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
Prepare the API source and build the HTML documentation. Activate the
context menu (right mouse click) on build_api_doc.xml and select Run as Ant
Build.
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.
Eclipse Project
The project has following structure
Eclipse Project
Creating PRC_UE_CUSTOMER.jar
From the pop up list choose JAR FILE and click NEXT.
Make sure that the option export generated class files and resources is
selected.
Enter a name and path for the JAR file e.g. PRC_UE_CUSTOMER.jar.
Eclipse Project
Authorization required for Uploading the developed userexit
Userexit Types
A - Number-dependent: This type of userexits can have multiple active
This userexit is called after the calculation of the condition base value for
each pricing condition. The userexit class must be inherited from the
BaseFormulaAdapter and overwrite the method overwriteConditionBase.
The overwriteConditionBase method has the parameters pricingItem and
pricingCondition which represents the item and the current condition.
This userexit is called after the calculation of the condition value for each
pricing condition. The userexit class must be inherited from the class
ValueFormulaAdapter and overwrites at least overwriteConditionValue. If
group condition processing for that condition type is enabled, also the
overwriting of method overwriteGroupConditionValue is possible. Both
methods can return null to indicate that the original value shall not be
changed.
TellMe
ShowMe
LetMe
5
India SAP CoE, Slide 27
HelpMe
TellMe
ShowMe
LetMe
5
India SAP CoE, Slide 36
HelpMe
Requirement (REQ)
Userexit No: 700.
User Exit Type : Requirement:
Description : Userexit to checks if the header attribute ZLAND is neither US nor CA.
package your.company.pricing.req;
import com.sap.spe.base.logging.UserexitLogger;
import com.sap.spe.condmgnt.customizing.IAccess;
import com.sap.spe.condmgnt.customizing.IStep;
import com.sap.spe.condmgnt.finding.userexit.IConditionFindingManagerUserExit;
import com.sap.spe.condmgnt.finding.userexit.RequirementAdapter;
public class Zland extends RequirementAdapter {
private static UserexitLogger uelogger =
new UserexitLogger(Zland.class);
public boolean checkRequirement(IConditionFindingManagerUserExit item,
IStep step, IAccess access)
{
String zland = item.getAttributeValue("ZLAND");
if (zland.equals("")) {
uelogger.writeLogError("ZLAND attribute missing");
return false;
} else {
return !zland.equals("US") && !zland.equals("CA");
}
}
}
India SAP CoE, Slide 37
TellMe
ShowMe
LetMe
5
India SAP CoE, Slide 39
HelpMe
Transaction Code
Pricing Interfaces
All the pricing related userexits APIs are part of this package :
com.sap.spe.pricing.transactiondata.userexit
IPricingDocumentUserExit: The pricing document contains
accumulated pricing information of all pricing items and provides
methods which are processing all pricing items. The methods of this
interface can be used in the pricing userexits.
IPricingItemUserExit: The pricing item contains accumulated pricing
information of all pricing conditions and provides methods which are
working on all pricing condition of this pricing item. The
methods of this interface can be used in the pricing userexits.
Pricing Interfaces
All the pricing related userexits APIs are part of this package :
com.sap.spe.pricing.transactiondata.userexit
IPricingConditionUserExit: A pricing condition contains information
copied from the pricing knowledge base (from the customizing of the
condition type and the pricing procedure), from the condition record,
and from the result of the calculation. The methods of this interface
can be used in the pricing
userexits.
ILastPriceUserExit: Interface for last price object. The last price is
determined for each pricing item
and available in some pricing userexits. It corresponds to the pricing
condition which holds the last price on
the pricing item.
Document Interfaces
com.sap.spe.document.userexit:
IDocumentUserExitAccess: Provides basic functionalities on
document level (Sales Order) that are required to perform pricing.
IItemUserExitAccess: Provides basic functionalities on Item level
(Sales Order Item) that are required to perform pricing.