5 04 sales pricing engine[1]

47
SAP AG 2001 Overview Business Application Scenarios Using IPC Sales Configuration Engine IPC Implementation IPC Integration in CRM Internet Sales Summary and Outlook Sales Pricing Engine Sales Pricing Engine

Upload: gyanu-kumar

Post on 04-Apr-2015

571 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: 5 04 Sales Pricing Engine[1]

SAP AG 2001

Overview

Business Application Scenarios Using IPC

Sales Configuration Engine

IPC Implementation

IPC Integration in CRM Internet Sales

Summary and Outlook

Sales Pricing Engine

Sales Pricing Engine

Page 2: 5 04 Sales Pricing Engine[1]

SAP AG 2001

At the conclusion of this unit you will:

Use R/3 pricing and condition technique to prepare for working with the Internet Pricing and Configurator (IPC)

Receive a basic overview of condition records in R/3 Pricing: Pricing Procedure, Condition Type, Access Sequence, Condition Tables etc.

Exposure to Pricing User Exits, Requirements, and Formulas and their need to be rewritten in JAVA

Objectives

Page 3: 5 04 Sales Pricing Engine[1]

SAP AG 2001

Variant Configuration

Characteristic valuation:

Key of Condition Records:

Memory_256MB

Harddisk_20GB

Monitor_21Inch

Sales & Distribution: Pricing

Pricing in Variant Configuration

MemoryMemory

20 GB

21 Inch

Hard diskHard disk

MonitorMonitor

256 MB

............

Surcharge Memory_256MB 200.00

Surcharge Harddisk_20GB 350.00

Surcharge Monitor_21Inch 450.00

Total Price 1,550.00

Base price 550.00

Page 4: 5 04 Sales Pricing Engine[1]

SAP AG 2001

Pricing With IPC

Differences R/3 and IPC

Sales Pricing Engine

Pricing User Exits

Conditions in CRM

Modeling Pricing: Pricing With IPC

Page 5: 5 04 Sales Pricing Engine[1]

SAP AG 2001

Similarities: IPC and R/3 Pricing

Both pricing engines are based on the condition technique. The pricing in IPC corresponds to pricing in the R/3 standard system in its structure and function.

The same logic is used for the following:

Pricing Procedure

Condition Types

Access Sequences

Condition Tables The same master data: Condition Records

The customizing data

Page 6: 5 04 Sales Pricing Engine[1]

SAP AG 2001

Overview of Pricing and Condition Technique

A001Pricing ProcedureRVAA001

PricingPR00

SurchargeVA00

Condition TypeTA V/06

Access SequenceTA V/07

Condition TablesTA V/05

Fields in Condition Tables

VA00

PR02

A304

A305

VKORGVTWEGKUNNRMATNR

A057

VKORGVTWEGMATRN

VKORGVTWEGMATRN

R/3 IMG Pricing

TA V/08

TA – Transaction Code

Page 7: 5 04 Sales Pricing Engine[1]

SAP AG 2001

A002A005 A003A006

KONHKONH

KONPKONP

KONMKONM KONWKONW

KONAKONA

. . .A001A004 A502A502A501A501

SAP Standard Customers

KONAKONV

Master Data

Document Data

Tables Used in IPC for Scenarios without CRM (R/3 Data Model)

Page 8: 5 04 Sales Pricing Engine[1]

SAP AG 2001

CNCCRMPRSAP004 CNCCRMPRSCUS004CNCCRMPRSAP005 ...

CNSCRMPRSAP004 CNSCRMPRCUS004CNSCRMPRSAP005 ...

PRCD_HEAD

PRCD_ITEM

PRCD_CONDCNL_CRMPRSCxxxx

Master Data

Document Data

SAP Standard Customers

...

...

Tables Used in IPC for Scenarios with CRM (CRM Data Model)

Page 9: 5 04 Sales Pricing Engine[1]

SAP AG 2001

CNCCRMPRSAPxxx

CNSCRMPRSAPxxx

CRM Data Model

A003Axxx

KONHKONH

KONPKONP

R/3 Data Model

Mapping

Mapping of R/3 Data Model to CRM Data Model

Page 10: 5 04 Sales Pricing Engine[1]

SAP AG 2001

Link condition records to characteristic values

1) Pricing procedure in sales and distribution must take condition type for variants (VA00 or VA01, the standard) into consideration

2) Define condition records for the variant condition type (VA00 or VA01)

3) Link condition key with the characteristic value in CU50 (table MACOND )

Preparation in R/3 for Pricing in Configuration (I)

Page 11: 5 04 Sales Pricing Engine[1]

SAP AG 2001

Using reference object and dependencies

1) Define condition records for the variant condition type (VA00 or VA01)

2) Create reference characteristic with reference to SDCOM-VKOND

3) Assign reference characteristic to class

4) Create dependencies (procedures) for value assignment (condition key) to the reference characteristics

5) Assign dependencies to configuration profile or to BOM

Preparation in R/3 for Pricing in Configuration (II)

Page 12: 5 04 Sales Pricing Engine[1]

SAP AG 2001

Pricing with IPC

Differences R/3 and IPC

Sales Pricing Engine

Pricing User Exits

Conditions in CRM

Modeling Pricing: Differences R/3 and IPC

Page 13: 5 04 Sales Pricing Engine[1]

SAP AG 2001

General Differences: IPC and R/3 Pricing

In IPC one cannot maintain master data (condition records) and customizing data

All the master data is maintained in R/3 or the CRM system

The master data can be downloaded to IPC (e.g. IPC standalone )

IPC can share the CRM database via RFC (e.g., Internet Sales and CRM Online)

IPC functionality is limited by the inputs from external packages which call the IPC, e.g., CRM

Page 14: 5 04 Sales Pricing Engine[1]

SAP AG 2001

Pricing with IPC

Differences R/3 and IPC

Sales Pricing Engine

Pricing User Exits

Conditions in CRM

Modeling Pricing: Conditions in CRM

Page 15: 5 04 Sales Pricing Engine[1]

SAP AG 2001

New Features in CRM 3.0

Integration of IPC in CRM:IPC accesses the CRM database

Integration of IPC in CRM:IPC accesses the CRM database

Customizing for condition technique in CRM

Manual changes in CRM business transactions at item level

Condition maintenance in CRMCondition maintenance in CRM

Copy of pricing information

Page 16: 5 04 Sales Pricing Engine[1]

SAP AG 2001

IPC Pricing Using Data from R/3 and CRM

IPC Data transfer from R/3

Settings maintained directly in CRM

CRM DB

R/3

CRM

Page 17: 5 04 Sales Pricing Engine[1]

SAP AG 2001

The following functions are not available in CRM:

General condition maintenance in the user menu

Condition analysis in transaction

Display the condition record in transaction

Change header conditions

The following R/3 standard condition types cannot be used in CRM:

Rebate conditions, actual costs, free goods, cash discount, cost, down payment, expected customer price

Differences Between R/3 and CRM Pricing (I)

Page 18: 5 04 Sales Pricing Engine[1]

SAP AG 2001

Tax determination can also be carried out by the Transaction Tax Engine (TTE)

CRM and R/3 pricing determination procedures must be completely identical

Customizing settings downloaded from R/3 cannot be changed in CRM

Customizing settings created in CRM cannot be uploaded to R/3

Differences Between R/3 and CRM Pricing (II)

Page 19: 5 04 Sales Pricing Engine[1]

SAP AG 2001

Condition Maintenance in CRM

ProductBusiness Partner

BusinessPartner

Hierarchy

Roles:Sold-to party Bill-to partyPayer

You can call up condition maintenance from the following objects:

Hierarchy type:Pricing

Condition screen:Sales conditions

Page 20: 5 04 Sales Pricing Engine[1]

SAP AG 2001

Header: Fields that apply to all

conditions

Header: Fields that apply to all

conditions

Items: Condition types

Items: Condition types

Details screen: Condition scales

Details screen: Condition scales

MessagesMessages

The condition maintenance is divided into 4 areas:

Condition Maintenance Structure

Page 21: 5 04 Sales Pricing Engine[1]

SAP AG 2001

Header

Item

Prices

PricesPricing informatione.g., gross and net prices, tax, currency

Header Conditions

Total of item conditions

Display mode You cannot change conditions

Prices

Item data

e.g., currency conversion, net value, exchange rate

Conditions

Item conditions

You can change conditions

How Do Conditions Appear in Documents?

Page 22: 5 04 Sales Pricing Engine[1]

SAP AG 2001

Working with Item Conditions

Add or delete condition Update pricingCondition details

Pricing analysis (not yet available)

Page 23: 5 04 Sales Pricing Engine[1]

SAP AG 2001

Pricing with IPC

Differences R/3 and IPC

Sales Pricing Engine

Pricing User Exits

Conditions in CRM

Modeling Pricing: Sales Pricing Engine

Page 24: 5 04 Sales Pricing Engine[1]

SAP AG 2001

OtherSystems:

IPC Server

Mobile Sales

Legacy System

OtherSystems:

IPC Server

Mobile Sales

Legacy System

Pricing ServerPricing Server

IPC or CRM Database

IPC or CRM Database

IPC APIsIPC APIs

JAVA UIJAVA UI

Enables pricing capability

Compatible with R/3 pricing rules

Calculation types

Scales

Group conditions

Currency conversion, including EURO conversion

Unit of measurement conversion

Integrates configuration and pricing

Flexible pricing engine

Pure JAVA development

API based

Sales Pricing Engine - Overview

Page 25: 5 04 Sales Pricing Engine[1]

SAP AG 2001

IPC Swing UI - Item Conditions

Page 26: 5 04 Sales Pricing Engine[1]

SAP AG 2001

IPC Swing UI - Conditions Record

Page 27: 5 04 Sales Pricing Engine[1]

SAP AG 2001

IPC Swing UI - Activate Pricing Trace

Page 28: 5 04 Sales Pricing Engine[1]

SAP AG 2001

IPC Swing UI - Access Pricing Trace

Page 29: 5 04 Sales Pricing Engine[1]

SAP AG 2001

IPC Swing UI - View Pricing Trace

Page 30: 5 04 Sales Pricing Engine[1]

SAP AG 2001

IPC Swing UI - Select Products to View

2 3

1

Page 31: 5 04 Sales Pricing Engine[1]

SAP AG 2001

IPC Swing UI - View Condition Records

Page 32: 5 04 Sales Pricing Engine[1]

SAP AG 2001

Pricing with IPC

Differences R/3 and IPC

Sales Pricing Engine

Pricing User Exits

Conditions in CRM

Modeling Pricing: Pricing User Exits

Page 33: 5 04 Sales Pricing Engine[1]

SAP AG 2001

Analyze R/3 Pricing User Exits

Analyze R/3 RV61AFZB

Standard delivered Pricing User Exits are automatically converted to JAVA (90%)

Default menu path pattern %INSTALLDIR%\spe\lib\userexits

Userexits can be connected to the IPC via maintanance in the IPC Administrator.

Pricing User Exits Workflow

Page 34: 5 04 Sales Pricing Engine[1]

SAP AG 2001

Six types of user-exits (events)

R/3

Transaction VOFM

ABAP form routines

CRM

IPC should be used

JAVA methods in class PricingStandardExits(extends class ConditionFindingStandardExits)

Formulas and Requirements (I)

Page 35: 5 04 Sales Pricing Engine[1]

SAP AG 2001

Pricing requirements (KOBED)

checkRequirement ()

Condition value formulas (KOFRM)

overwriteConditionValue()

overwriteGroupConditionValue()

Condition base formulas (KOFRA)

overwriteConditionBase()

Formulas and Requirements (II)

Page 36: 5 04 Sales Pricing Engine[1]

SAP AG 2001

Scale base formulas (KOFRS)

overwriteScaleBase()overwriteGroupConditionScaleBase()

Group condition key routines (GRLNR)

setGroupConditionKey()

Copy routines

pricingCopy()

Formulas and Requirements (III)

Page 37: 5 04 Sales Pricing Engine[1]

SAP AG 2001

You are now able to:

Set up the the pricing data in R/3 so that it can be used in both R/3 and IPC pricing.

Identify the modeling differences between IPC, CRM, and R/3 Pricing

Understand the need to rewrite User Exits in JAVA

Summary

Page 38: 5 04 Sales Pricing Engine[1]

SAP AG 2001

C.-Type C.-type name available Reason

EK01 Actual costs no Product costing is not supported

PR00 Price yes

PB00 Gross price yes

PR02 Interval price yes

VA00 Variant price yes

Gross

KUMU Cumul. condition Yes

KA00 Sales promotion yes

K032 Price group/material yes

K005 Customer/material yes

K007 Customer discount Yes

K004 Material Yes

K029 Material pricing group yes

K030 Cust/mat. pr. group yes

K031 Price group/Mat. group yes

Appendix: Condition Types in IPC (I)

Page 39: 5 04 Sales Pricing Engine[1]

SAP AG 2001

C.-Type C.-type name available Reason

RA01 % disc. from gross yes

RA00 % disc. from net yes

RC00 Quantity discount yes

RB00 Absolute discount yes

RD00 Weight discount yes

VA01 Variant price yes

NETP Price no Base value calculation formula 3 missing

PN00 Net price yes

PMIN Minimum price yes

Net item value

KP00 Pallet discount yes

KP01 Incomplete pallet surcharge yes

KP02 Mixed pallet discountyes

KP03 Surcharge for incomplete mixed pallet no Scale formula 23 missing

Appendix: Condition Types in IPC (II)

Page 40: 5 04 Sales Pricing Engine[1]

SAP AG 2001

C.-Type C.-type name available Reason

HA00 Percentage discount yes

HB00 Absolute discount yes

HD00 Freight yes

KF00 Freight yes

AMIW Minimum order value no Function not supported

AMIZ Proposed minimum no Function not supported

value

R100 100% discount no Free goods item is not automatically created, base value calculation formula 28 is missing, scale

formula 23 is missing

HM00 Order value yes

PI01 Internal billing price no Office-based personnel function

AZWR Down payment/cost no Function not supported

SKTV Cash discount no Function not supported

MWST Output tax yes yes

DIFF 5 centime rounding no SPE/MSA interface is not provided

Appendix: Condition Types in IPC (III)

Page 41: 5 04 Sales Pricing Engine[1]

SAP AG 2001

C.-Type C.-type name available Reason

BO01 Group rebate no Office-based personnel function:BO02 Material rebate no Rebate conditions are determined first of all at the BO03 Customer rebate no point of billing

BO04 Hierarchy rebate

BO05 Hierarchy rebate/Mat.

SKTO Cash discount no Function not supported

RL00 Factoring discount no Office-based personnel function: (Invoice lists)

MW15 Factoring discount tax no

VPRS Cost SPE/MSA interface is not provided

EK02 Calculated costs no Function not supported

Profit margin

EDI1 Exp. Customer price no Office-based personnel function

EDI2 Exp. Customer value no

Appendix: Condition Types in IPC (IV)

Page 42: 5 04 Sales Pricing Engine[1]

SAP AG 2001

Requirements

1: Different payer

2: Item with pricing

3: Foreign currency document

4: Settlement value

7: Domestic trade

8: Export/import trade

9: Cash discount depending on tax

10: Activated plant

11: Without material

13: Rounded according to T001R

14: Cash discount before tax

21: Tax invoice lists

22: Cross company

23: Only in billing docs (+ relevant for billing docs)

24: Only in billing documents

25: Only in rebate billing documents

52: Exporting II

Condition Basis Formulae1: Volume

2: Net value

4: Net value + tax

5: KZWI 1

6: KZWI 2

7: KZWI 3

11: Cash discount base

12: Gross weight

13: Net weight

14: Set exclusion

15: Read exclusion

16: Net value - cash discount

18: No quantity conversion

19: KZWI 4

20: KZWI 5

21: KZWI 6

22: Whole numbers

24: Quantity = 1 in case of partial quantity

25: Cash discount

26: Bollo in Fattura (Italian taxes)

27: XWORKK: Deactivate condition

Appendix: Requirements & Condition Basis Formulas in IPC

Page 43: 5 04 Sales Pricing Engine[1]

SAP AG 2001

Scale Basis Formula

1 Available

Condition Value Formula

1 Profit margin with rebate

2 Net value

3 Tax qualifying for cash discount

4 Net value + tax

6 Outbound price

11 Profit margin

12 XWORKD - XWORKE

13 Proposed minimum value

14 Low price

15 Minimum price

16 Rounding final amount

17 Rounding in accordance with T001R

18 Percentage profit margin

25 KZWI 1 minus tax

41 Net 1 Berliner V.

42 Net 2 Berliner V.

Appendix: Condition Value & Scale Basis Formulas in IPC

Page 44: 5 04 Sales Pricing Engine[1]

SAP AG 2001

ABAP Routine (VOFM)

Requirements -> Pricing

Formulas -> Scale base

Formulas -> Condition base value

Formulas -> Condition value

Formulas -> Structure of grp key

Definition Item or document

Item Level: KPOSN <> 0

Document Level: KPOSN = 0

JAVA Methods (UserExits)

boolean checkRequirement

BigDecimal overwriteScaleBase

BigDecimal overwriteConditionBase

BigDecimal overwriteConditionValue

String setGroupConditionKey

Additional for Document:

BigDecimal overwriteGroupConditionScaleBase

BigDecimal overwriteGroupConditionValue

Appendix: User Exits Mapping (I)

Page 45: 5 04 Sales Pricing Engine[1]

SAP AG 2001

JAVA Methods (UserExits)

pricingDocumentInit

pricingItemInit

pricingConditionInit

pricingItemCalculateBegin

pricingItemCalculateEnd

ABAP Routine (RV61AFZB)

userexit_print_head

userexit_print_item

userexit_xkomv_ergaenzen

userexit_xkomv_bewerten_init

userexit_xkomv_bewerten_end

ABAP Structures and tables

KOMP

KOMK

XKOMV; KONVD; KONV

Last Price data

JAVA Objects UserExits

IPricingItemUserExits

IPricingDocumentUserExits

IPricingConditionUserExit

ILastPrice

Appendix: User Exits Mapping (II)

Page 46: 5 04 Sales Pricing Engine[1]

SAP AG 2001

1. form frm_kondi_wert_015.

2. if komp-shkzg = ' '.

3. if xkomv-kwert <= komp-netwr.

4. xkomv-kinak = 'X'.

5. xkwert = 0.

6. endif.

7. else.

8. if xkomv-kwert > komp-netwr.

9. xkomv-kinak = 'X'.

10. xkwert = 0.

11. endif.

12. endif.

13. if xkomv-koaid = 'A' and xkomv-kinak = ' '.

14. xkwert = xkomv-kwert - komp-netwr.

15. endif.

16. endform.

case 15:{

BigDecimal condValue =prCondition.getConditionValue().getValue();

BigDecimal netValue = prItem.getNetValue().getValue();

if (!prItem.getIsReturn()){

if (condValue.compareTo(netValue) <= 0) {

prCondition.setInactive(PricingConstants.C_INACTIVE_DUE_TO_ERROR);

return PricingConstants.C_ZERO;}

}

else{

if (condValue.compareTo(netValue) > 0) {

prCondition.setInactive(PricingConstants.C_INACTIVE_DUE_TO_ERROR);

return PricingConstants.C_ZERO;

}

}

if (prCondition.getConditionClass() == PricingConstants.C_DISCOUNT &&

prCondition.getInactive() == SAPString.C_INITIAL_CHAR){

return condValue.subtract(netValue);

}

return null;

Appendix: User Exits Mapping (III)

Page 47: 5 04 Sales Pricing Engine[1]

SAP AG 2001

IPC

Pricing

Sales Order Billing

R/3

CR

M

CRM Order

Pricing

Pricing API

Billing Engine *

* Above Release 3.0

TTE*

Appendix: Overview of Pricing in R/3 and CRM