Académique Documents
Professionnel Documents
Culture Documents
condition technique the system determines campaigns, products, prices or free goods in the
corresponding application.
Structure
You define the structure of a condition record using the assigned condition table in
Customizing. The condition table structures the condition record into search fields and results fields.
The search fields represent the criteria for a determination procedure, for example, customer,
customer group, and product.
The results fields are transferred to the relevant application by the system after the determination
process; for pricing a price; for free-goods determination a free-goods discount; for product
determination a product; for campaign determination a campaign.
1.
d) You can also include fields as non-search fields. In this case, the search does not take place with
this field, rather the content of the field can be determined by formulae or conditions for the inquiry.
Only non-search fields can follow after a non-search field.
e) Save the new condition table & Activate the condition table.
The system automatically includes the table in a transport request.
Many standard tables are available; but some specific conditions are to be maintained then one can
create their own tables as well.
One common and simple table is SAP004 which contains fields sales org, distribution channel and
product.
In this IMG activity, you determine, depending on the condition type and with help from an access
sequence, the order in which the system should work through the condition tables when searching
for certain condition records. Every condition table contains a certain combination of fields for
which the system should search in the condition records. The search sequence should go from
special to general condition records (for example, search for the field Customer before the
field Customer Group).
Using the exclusive indicator, you determine that the system ends the search after the first valid
condition record is successfully accessed.
You determine an access sequence for every condition type for which you create condition records.
There are some condition types for which you do not have to create condition tables (for example,
discounts that are not searched for but rather are entered manually). You do not have to determine
access sequences for these condition types.
Example
Condition table A contains the field combination Product/ Country; condition table B contains the
field combination Product/ Customer. You determine the following sequence in the access sequence
for the condition type Product Substitute:
1. Condition table B (Product/ Customer)
2. Condition table A (Product/ Country)
Now when the product substitution searches for a product, the system firstly searches in the
condition records for a customer-specific product substitute. If it does not find an entry for this, it
then searches for a country-specific product substitute.
Example 1:
Example 2:
You can also copy the condition types from SAP R/3.
In SAP CRM, you cannot change condition types that have been copied from SAP R/3.
Every condition type has its own access sequences, condition tables, and condition records.
A customer group
A product
A product group
A combination of customer and product
A combination of customer group and product
Calculation type
The calculation type is specified in Customizing for a condition type. Using it, you have the option
to execute different calculations in the condition record, for example:
Fixed amount
Percentage
Quantity-based
Weight-based
Time-based
Each pricing condition has a defined validity period.
Scales
You have the option for example, to make a price or a discount dependent on a scale.
Every price, discount or surcharge can be made dependent on a scale (for example, a quantity or
weight scale).
For pricing, a condition type represents a specific aspect of daily pricing activities in the system.
You can, for example, define a condition type for every type of price, discount and surcharge that
occurs in your business transactions. The condition type defines, for example, the calculation type
for a product discount. You can also define that the discount is calculated as a fixed amount or a
percentage.
You generally assign an access sequence with the required condition tables to every condition type.
There are, however, condition types to which you do not assign access sequences. This means,
however, that the system doe not automatically search for the condition types during pricing. This
makes sense for condition types that should only be entered manually in the transaction.
Which requirements must be met in order that a specific condition type is taken into
consideration?
The pricing procedures can also be copied from the R/3 System.
Changes can only be made in the CRM System on data that was created in the CRM System. The
data is identified with the source system field. You can only change data in the CRM System if the
field has the value B.
Namespace for customer-specific entries: A* to Z* and 8*,. 9*.
New Customizing in CRM System can only be copied manually into the R/3 System.
You can find information on data transfer for pricing in the SAP Library under Basic Functions ->
Pricing.
Sales organization
Distribution channel
Document pricing procedure (can be assigned to a sales transaction, on the third level)
Do not forget to have the same document pricing procedure you have for your transaction type
Also the customer pricing procedure should be same as maintained for BP ( or you can keep it black
here if you do not want determination based on customer pricing procedure)
3. CTYP
4. DESCRIPTION
5. FROM
6. TO
7. MAN
8. Mand
9. STAT
10. PRINT
11. REQUIREMENT
12. ALCTYP
13. ALBCTYP
14. ACKEYS
15. ACCRUALS
A. STEP
This indicates the number of step-in the procedure.
B. COUNTER
This is used to show a second ministep
C. CONDITION TYPE
This is the most important component in the pricing procedure. The rates are picked up from this
element, on the basis of the properties described.
D. DESCRIPTION
This forms the description of the condition type.
E. FROM
This is used to define the progression of the calculation and range of subtotals
F. TO
This is used to define the progression of the calculation and range of subtotals
G. MANUAL
This function enables to allow the condition type to be entered manually also apart from automatic
pickup.
H. MANDATORY
This function identifies the conditions that are mandatory in the pricing procedure. The sales price is
a mandatory condition type.
I. STATISTICS
This can be used to represent the cost price of the material sold, generally used for study statistical
impacts of price
J. PRINT
The activation of this function will enable the printing of the values and conditions to the document.
K. SUBTOTAL
A key is assigned from the drop down menu; this can be used by the system in other area like Sis for
reporting purpose also
L. REQUIRMENT KEY
This function is used to assign a requirement to the condition type. This requirement can be used to
exclude the system from accessing the condition type and trying to determine the value. This can be
used to specify that the condition type should only be accessed if the customer has a low risk credit.
M. ALTERNATE CALCULATION TYPE
This function allows you use a formula as an alternative in finding the value of the condition type,
instead of standard condition technique. This can be used to calculate
complex tax structures.
N. ALTERNATE CONDITION BASE VALUE.
The alternative condition base value is a formula assigned to a condition type in order to promote an
alternative base value for the calculation of a value.
O. ACCOUNTS KEY
The account keys form part of account determination. These keys are used here to define the posting
of the revenue generated to respective account heads& to subsequent
assignment to GL accounts.
PR00- ERL
K007/KA00- ERS.
KF00- ERF.& so On.
P. ACCRUAL KEY.
The accrual keys form part of account determination. These keys are used here to define the posting
of the revenue generated to respective account heads& to subsequent
assignment to GL accounts and payment to respective parties.
Pricing in ECC
Field Catalog
Field Catalog consists of all the possible set of fields that play a role in determining the business
rules
Condition Table
Condition table is a database table that is created from a small subset of the field catalog as part of
the customization.
Access Sequence
Access sequence comprises of a sequence of condition tables prioritized in a particular order.
Condition type
Each condition type represents a logical component of the condition technique. For example, excise
tax could be one of the logical components of pricing and it could be represented using one
condition type or a combination of multiple condition types.
Procedure
A procedure is a combination of multiple condition types. For example, in output determination
procedure, all the sequence of condition types might exist Like EDI, Print, Fax etc.
Procedure Determination
Finally the procedure is assigned to the final document type that is effected by the business rule.
It may not make much heads or tails just yet. But continue to read and you will be surprised how
simple and powerful this is. Condition technique could be learnt either bottom up or top-down.
However, we are trying to explain it here using the bottom-up approach. Also, it is much easier to
explain condition technique using a standard SAP functionality as an example. We will take the most
complicated example/use ( Pricing ) and that way all of the aspects of the condition technique will be
covered. The menu path to be followed is under [ SPRO -> Sales & Distribution -> Basic Functions > Pricing ].
Field Catalog
Field catalog consists of all the possible fields that will play a role in affecting the business
functionality. Please remember that this transaction is Cross-Client . Click on Define Field Tables
and double click on Conditions: Allowed Fields
The list of available fields will be shown. These fields are got from the following structures. You can
add new fields from any of the standard pricing communication structures
KOMP ( Line Item level Pricing Communication Structure )
KOMK ( Header Level Pricing Communication Structure )
KOMG (Combination of the above structures )
If your business requires that new fields ( not available in the above communication structures ) be
available in the field catalog, then they need to be added to the structures in either of the .INCLUDE or
.APPEND components.
As you can see, this table contains the fields Customer , Material ( Forget about Sales
organization and distribution channel for now . They are common fields ).
Click on the button Technical Overview and you will get the detailed table-like view of the
condition table.
Creating a table is just as simple. Pick a number ( Above 500 and less than 1000 because the name
of the actual database table will be prefixed with A . So if you create a number say 701, an actual
database table will be created with the name A701. You can verify the same using table browser
SE16 ). You have a choice of either copying from the existing table and adding more fields or
creating a completely new table. Lets start by creating a new condition table say 899.
Start by entering the number 899 and hit enter. You will be shown a empty column to the left and list
of available fields from the field catalog on the right. If you want to select one of the fields, just
double click it. There is no scroll-bar to move down, so position your cursor on the right column and
hit page-down to see more fields. Fields that were already added will be highlighted in blue in the
field catalog. For example, in this case, we have chosen country as the field.
Now lets generate the condition table. Hit on the Generate Table button in the application tool bar.
SAP will show a log of the table generated ( A899 ).
Access Sequence
An Access Sequence is virtually a sequence in which the condition tables are accessed to determine
which parameter to consider. For example, in pricing, if you want the discount per material to overrule the discount per customer , then you would position the discount per material condition table
above the discount per customer table.
Click on Define Access Sequence and then choose Maintain Access Sequence. Once again
please remember that an access sequence is Client Independent as well.
As discussed before, an access sequence consists of
Access Sequence -> Accesses ( Condition Tables ) -> Fields (of the condition table )
As you can see, the Access Sequence A001 consists of condition tables A005, A007, A006,
A004 in that order.
You can explore the fields in the corresponding condition tables by selecting any of them and
double-clicking on fields. There are other fields that effect how the access sequence performs, but
that is currently outside of the scope of this primer.
Condition Type
Condition type is a very important component of condition technique. Condition types form the basis
for procedures. The logical sequence of arrangement is as follows. While the condition table
aggregates fields in the field catalog, an access sequence aggregates condition tables and lays them
down in a sequence. A condition type however is just associated to an Access Sequence ( It does not
Aggregate ) . The role of an condition type is to determine the type rather than determine something
from a sequence of steps.
Condition Type -> Access Sequence -> Condition Tables -> Fields
Lets take the simple example of PR00 ( The basic price condition type ).
The first of the control being its attachment to the access sequence ( In this example, the condition
type PR00 is attached to Access sequence PR02 ).
The rest of the data is very specific to Pricing and will not be in the scope of this article.
Procedure
A procedure is an aggregation of multiple condition types.
Procedure -> Condition Type -> Access Sequence -> Condition Tables -> Fields
For example, click on Maintain Pricing Procedure and then search for RVAA01 which is the
standard pricing procedure used.
Double click on Control Data to know more about the different condition types aggregated under
Procedure. This is the most complicated screen of condition technique for pricing, but other areas
like output determination, text determination are pretty simple.
Procedure Determination
While the procedure itself determines the sequence of condition types to evaluate the rules, the
procedure determination involves determining the right procedure to be used for the specific
scenario. For example, this step determines under what circumstances the procedure RVAA01 needs
to be used as the pricing procedure to evaluate pricing for that
document
As you can see from the picture below, RVA001 will be used as the pricing procedure when the
conditions ( The Sales Organization should be 0001, distribution Channel should be 01 , the
division should be 01 and the document pricing procedure should be A and the customer pricing
procedure should be 1 ) Which is another way of saying under a particular sales area, for a
particular sales order type ( for eg., contracts ) , and a customer type ( say wholesale customer ) , use
the logic in procedure RVAA01
Differences in Pricing in SAP CRM and SAP ECC
Functional Differences
Function
Condition
Type in SAP
ECC
Comment
Determination
EK01, EK02
Rebate processing
AZWR
Invoice lists
RL00, MW15
Cost
VPRS
A cost only exists in SAP CRM if deliveryrelated SAP CRM Billing is being used. In
this case, the cost is determined for the
billing document: Goods issue from SAP
ECC reads the costs and transfers them to the
billing due list in SAP CRM.
EDI1, EDI2
The source condition record cannot be displayed in SAP CRM for technical reasons, when
processing conditions in a transaction.
In contrast to SAP ECC, SAP CRM recognizes multiple pricing transactions. This enables
you to compare different pricing transactions. This can be useful after failed searches or price
changes.
The pricing type cannot be predefined when starting new pricing in SAP CRM.
Differences in the Condition Technique
Data determination at access level cannot be executed in SAP CRM.
Differences in Condition Maintenance
In SAP CRM, it is not possible to display condition records for predefined selection data in
condition lists.
Mass copying of condition records is not possible in SAP CRM.
Change documents are not available in SAP CRM.
Archiving of pricing conditions is not possible in SAP CRM.
Download from ECC 2 CRM
Pricing data can be downloaded to CRM system with 2 adapter objetc i.e.
DNL_CUST_CNDALL -> Download Condition table, access Sequence, And Condition type from
ECC to CRM (If there are some Z field involve in you Condition table in ECC then implement SAP
note514952)
DNL_CUST_PRICE -> Download Pricing Procedure from ECC to CRM
Now verify condition table in CRM whether condition record are available OR not in case if it is not
available then execute initial load to download condition record from ECC to CRM
In R3AC5 there are some standard adapter object available for standard condition table like
DNL_COND_A304, DNL_COND_A305, DNL_COND_A306
Once condition record is downloaded to CRM it can be viewed in Material master under condition
tab. Currently as per my understanding there is no link between CRM condition Type (0PRO) and
ECC condition type (PROO) even both are used for determining base price but there is no setup
where you can map ECC and CRM condition type.
Report
Report /sapcnd/rv12n001 after the download of objects DNL_CUST_CND and
DNL_CUST_CNDALL
SAP Standard Step to Download Pricing & Condition from ECC TO CRM
Transferring Master Data from SAP CRM to SAP ERP
Use
You use this function to transfer master data from SAP CRM to SAP ERP. This is necessary in the
Trade Promotion Management scenario, for example.
Activities
Start transaction R3AS in SAP CRM with the object name. Condition tables have object names, each
beginning with UPL_CRM*. These objects are defined as upload objects.
Start the program individually for each of these objects.
The program carries out the following steps:
Data records that have already been loaded to SAP ERP, but are now no longer sent, are
deleted.
Defining New Upload Objects
Only some of the condition tables have upload objects. You can create new objects with transaction
R3AC5.
0.
1.
Choose CONDITIONS as the object class, and the name of the new upload object as
the object name.
0.
2.
Choose a relevant messaging BDoc as a linked BDoc (for example,
CND_MAST_DEEP_SUP).
0.
0.
0.
0.
0.
3.
Choose a block size, for example 1000 or 10000.
4.
Under Initial Flow Contexts, choose CRM as the source site type
and SMOF_ERPSITE R/3 as the target site type. The Consumer is CRM.
5.
Include the leading condition table from SAP CRM (for example,
CNCCRMPRCUS523 or /1CN/CCFCUS776) under Tables/Structures. If applicable, maintain
filters where only individual values are currently supported, not filter ranges.
6.
Mapping modules R/3 to CRM: Enter the module name
CND_MAP_MAST_EXCHANGE_MAIN_MBD. Choose 1.2 as the call order (for more
information on these values, see the Middleware documentation).
7.
Mapping modules CRM to R/3: as the mapping module for the load to SAP ECC, enter
module CND_MAP_MAST_UPLOAD_R3A.
Log
You get a log of the data transfer with transaction SLG1 or CND_MAP_LOG_DISPLAY (object:
COND_EXCHANGE, subobject: CONDITIONS).
Delta Upload
When changing or creating a condition record in SAP CRM, the information is automatically
transferred to SAP ERP.
For the delta upload of the contents of an SAP CRM condition table, an upload object must exist for
this table, otherwise the data is not transferred. The filter settings of the upload object that belongs to
the corresponding condition table are also applied during the delta upload.
If the rebate status changes in SAP ERP for conditions of the usage Rebate, then this change is
transferred to SAP CRM again. Otherwise, no download is supported for rebate conditions.
Customer-Specific Fields
It is not possible to transfer master data for every condition table from SAP CRM to SAP ERP. You
need to make sure that the mapping of field names and field content for all fields of the variable key
(VAKEY) and the variable data part (VADAT) has been defined. Particularly for condition tables
that contain fields defined by the user, it is important to make sure that the way in which these fields
are treated is defined in SAP CRM.
The following steps are required here:
The name of the corresponding SAP ERP field (target field for an upload) must be defined in
structure CND_MAPT_ACS_REM_CUST. A data element must be entered that corresponds
in format to the data element of the field in SAP ERP.
The field in SAP CRM must be contained in the field catalog for the condition technique.
The relationship between SAP ERP field names and SAP CRM field names must be defined
in one of the tables CND_MAPC_CNV_FLM or CND_MAPM_CNV_FLM.
CND_MAPC_CNV_FLM contains the field relationships delivered by SAP, whereas
CND_MAPM_CNV_FLM contains the user's. (If an entry exist in both tables, the entry from
CND_MAPM_CNV_FLM is used). If there is no entry, this must be listed in the table
CND_MAPM_CNV_FLM. Use the view V_CND_MAP_CNVFLD (transaction SM30). For
the upload, you must select conversion direction B (from local system to external system).
The mapping type for the field contents must also be entered in the specified table. A means
that the content is copied. It is necessary that the formats of the source field and target field
allow this. If B is used, conversion is defined by the user with the help of the Business Add
In CND_MAP_CNV_FIELD. Implementation of the BAdI is dependent on the filter. The
filter value corresponds to the name of the field to be converted.
Restrictions
Not all condition tables are transferred in the data exchange. This depends on the key fields of the
condition tables.
The key fields taken into account in the data transfer can be found in the table
CND_MAPC_CNV_FLM (transaction SE16).
You must include your own key fields in the table CND_MAPM_CNV_FLM, using the view
V_CND_MAP_CNVFLD.
For the upload, only condition tables for the Trade Promotion Management process with
usages PR (pricing), BO (rebates), FG (free goods), and CD (campaign determination) are
supported.
SAP Standard Step to Download Pricing & Condition from CRM TO ECC
Transferring Conditions from SAP CRM to SAP ERP
This procedure describes how to configure conditions for trade promotion management (TPM),
campaign management, and account planning in SAP CRM and SAP ERP integrated scenario. This
configuration applies to condition generation and manual creation of conditions. The procedure also
describes how to transfer the conditions that are created in SAP CRM to SAP ERP.
NOTE
Make the following settings in the SAP Easy Access screen.
Prerequisites
You have completed the settings in SAP ERP in Customizing for Sales and Distribution under:
Basic Functions Pricing
You have made the settings for pricing conditions here.
Billing Rebate Processing
You have made the settings for rebates here.
Basic Functions Free Goods
You have made the settings for free goods for Marketing planning here.
Integration with Other mySAP.com Components Customer Relationship Management
Basic Functions Campaign Determination
You have made the settings for campaign determination conditions for Marketing planning.
Procedure
Transfer Condition Customizing from SAP ERP to SAP CRM
In your initial Customizing download, select DNL_CUST_CNDALL. For all subsequent downloads,
use the filters available to select only what is required to avoid overwriting existing Customizing
data.
0. In SAP CRM, start the download in Start Initial Load (transaction R3AS) and specify
the Load Object (for example, DNL_CUST_CNDALL) and the Source Site (Sender) (for
example, QWCCLNT555).
Select a source site name for each table or structure you want to download.
0. Save.
0. In Variant Attributes, specify what you want for the values of the fields that appear.
0. Click Regenerate Filter.
0. Save.
0. When your download is finished, remove the filters for any future downloads.
0.
NOTE
MNTCNT is the table in SAP ERP that corresponds to the entries in SAP ERP in Customizing
for Integration with Other mySAP.com Components under Customer Relationship Management
Basic Functions Data Exchange Conditions .
T681* / T682* / T683* / and so on are the condition tables in SAP ERP that correspond to
the CUS* condition tables in SAP CRM.
Monitor the Download
To monitor the progress of the Customizing download, go to Monitor Objects (transaction R3AM1)
and specify the load object (for example, DNL_CUST_CNDALL).
Initially, the process has the status Running. If, after a few minutes, the figure in the Block column
remains at zero (0), the process has errors. Double-check the remote function call (RFC) connections
from SAP CRM to SAP ERP and from SAP ERP to SAP CRM for the appropriate clients.
If the transfer does not work, here is a list of possible problems you may face and how to resolve
them:
When you enter a specific condition type in Customizing for Marketing condition generation
or when you try to generate conditions on a trade spend line that leads to a specific condition
type, the following error message is displayed: There are tables for condition type XXXX but
they cannot be maintained.
This means that table MNTCNT in SAP ERP was not maintained correctly at the time of the
download. The entries in table MNTCNT should be transferred to /SAPCND/T681M (SAP
CRM client-specific table).
NOTE
In Maintain Table Views: Initial Screen (transaction sm30), check the SAP CRM cross-client
tables /SAPCND/T681 and /SAPCND/T681M.
Although the Customizing entries have been transferred successfully, they have not yet been
activated.
0.
Correct any errors in the table and transfer the Customizing again. It may be that the
condition mapping table in SAP CRM is not maintained correctly.
0.
Go to Maintain Table Views: Initial Screen (transaction sm30) and call up the
mapping tables CND_MAPC_CNV_FLM (standard Customizing delivery)
and CND_MAPM_CNV_FLM (customer delivery).
0.
Check the mapping for all of the tables' fields is complete (except for those fields that
have the same name in both SAP ERP and SAP CRM).
Condition types from SAP ERP link to access sequences that do not exist anymore in SAP
CRM. However, new access sequences appeared in SAP CRM.
Cross-client customizing including access sequences and/or condition tables was already
downloaded and it overwrote the original access sequences that were in SAP CRM. Errors
occur only if the original access sequences were not part of the download. Since the condition
types are client-dependent, they were not affected by the download, so they now point to
access sequences that do not exist anymore.
You cannot manually modify SAP ERP condition types in SAP CRM to link them to the new
access sequences. This is because the SAP ERP condition types are read-only in SAP CRM.
Nor can you create new SAP CRM condition types that link to the new access sequences.
If the new access sequences can be used in Marketing, you can modify the condition types
in SAP ERP to link to the new access sequences. Download the client-dependant Customizing
with tablesMNTCNT and T685*. Do this in the client-dependant system. If the new access
sequences cannot be used by Marketing, download the cross-client Customizing download
with tables MNTCNT, T681*,T682*, and TMC1*. Do this in the cross-client system.
Details Explanations
Condition Tables
Field in Condition Record
Field Type
Header fields are header fields in the application or document that is called, (for example, an order
calls pricing).
Mixed fields are item fields in the calling application, and typically change very little from
item to item. Classification as a mixed field instead of an item field can lead to better
performance when accessing condition master data because the access to condition master
data is a prestep with both document header fields, as well as mixed document fields.
Implementation type = ' ': Field processing does not take place generically. The
implementation for BAdIs /SAPCND/ROLLNAME and /SAPCND/MNT_USG_ROLL is a
prerequisite. A runtime error occurs in field processing if no implementation is found.
Implementation type = ' 1': Field processing takes place completely generically, that is, a
specific BAdI implementation is not required for each field. If this takes place nevertheless,
this implementation is not called.
Implementation type = ' 2': Field processing is partly generic, that is, the field transport (=
attribute conversion), an implementation is not required, but is required for the field check,
input help and short texts. Therefore, an implementation for the BAdIs
/SAPCND/ROLLNAME or /SAPCND/MNT_USG_ROLL for the named methods is
necessary in order to avoid runtime errors. The method for the attribute conversion
(ATTRIBUTE_CONVERSION) is not called during runtime.
Field name
Name of field in a condition table.
Virtual
Specifies Where the Field Occurs
Specifies whether the field is used in condition records or only in access sequences or exits. It also
defines whether it is an internal or external field, and whether the field is in the database, or whether
it only appears on the user interface.
For more details regarding the internal and external display of field catalog attributes, see BADI
Interface Documentation of BADI /SAPCND/ROLLNAME.
Selection Type
Way in Which Field is Used in Selection
Way in which the field is used for selection in the general condition maintenance. Is, for example,
free selection possible, or can only individual values be selected? Classification of a field for free
selection requires implementation of the method RANGE_CONVERSION of BADI
/SAPCND/ROLLNAME (See Interface Documentation there).
Access
An Access Time Stamp
Data element
A data element is an elementary type. It describes the type attributes (data type, field length and
possibly the number of decimal places) and screen information (explanatory text or field help) about
unstructured data objects (table fields and structure fields or variables).
Table fields and structure fields with the same contents should refer to the same data element. This
ensures that the attributes of these fields are always consistent.
A data element can be referenced in ABAP programs with TYPE. This permits you to define
variables that take on the type attributes of the data element in an ABAP program.
Use
The field catalog contains the fields permitted for defining condition tables.
Field catalog maintenance can be divided into three screen areas:
Detail area for field and data element (hidden or not hidden)
Subcommunication structure category (This field is merely used to select All fields,
otherwise a specific category is predefined):
Field: You enter the field name here. You should make sure that the name areas Y* and Z*
are reserved as customer namespace. The remaining name areas are reserved for SAP.
Virtual: The virtual attribute for the field determines how often the field occurs.
Selection type: This attribute determines the type of selection of condition records in general
condition maintenance.
Data element: The data element determines the business significance as well as the data
category of a field. In principal, all of the data elements contained in the system can be
selected. When you enter the data element, the description, data category as well as field
lengths are displayed in the other columns in table control (the columns that are not available
for input). You should make sure that the name areas Y* and Z* are reserved as customer
namespace. The remaining name areas are reserved for SAP. Caution: A data element can
only be available once in the field catalog.
The following special functions are possible in the field catalog area:
Select
Select block
Deselect
Position
Relationships
In this area, relationships to other fields can be maintained for the selected field.
Relationships make sense, if internal and external usage of a field is different.
Example:
The field PRODUCT (product GUID) is used exclusively internally. Its external display is
the concatenation of fields LOGSYS (logical system), PRODUCT_ID (product) and
PRODUCT_TYPE (product type). In the PRODUCT field the 3 specified fields should be
entered in the relationships.
The selected field should always be a field with internal usage (virtual column in field
catalog area). Relationships to fields with external usage can then be maintained. If the field
usages do not fit together, a corresponding error message appears.
Only relationships to fields from the global field catalog (table /SAPCND/T681FF) can be
maintained.
Dependencies
In this area, you maintain dependencies for a data element of a selected field to another data
element. These dependencies are checked during condition record processing.
Example:
Before checking the field PRODUCT with data element COMT_PRODUCT_GUID (product
GUID), a check should first be made on the service organization. The dependency should
therefore be maintained in the data element of the sales area.
In the dependencies, you can only select data elements for the global field catalog.
Generate
The generate function is required when a new field has been inserted. When you execute the
Generate function, the system generates the work structures and possibly communication
structures from the field catalog.
Transport
In general, a manual transport of the field catalog is not necessary due to the automatic
transport connection to field catalog maintenance.
It is, however, possible to trigger a manual transport of the entire field catalog for an
application, and this would make sense, for example, in the case of an upgrade to SAP_AP
7.0 where customer fields exist. See the Release Notes for further information.
Customer-specific fields can be included in field catalog maintenance (see activity Maintain Field Catalog).
A data element for the individual field must first be created using transaction SE11. You must make sure
that the name spaces Y* and Z* are reserved as customer name space.
If the field should be saved in the transaction, it must be entered (with the same name as in the last step) in
the following structures using transaction SE11:
You can use BADI CRM_COND_COM_BADI to carry out dynamic processing of individual fields
(determination of fields that are not in the document, for example, data from the product or business
partner.)
Transferring condition data from the customer-specific fields in SAP ECC into SAP CRM is described in the
SAP Library in the unit Transferring Master Data from SAP ECC (under Basic Functions -> Pricing ->
Data Exchange for Conditions-> Data Transfer from SAP ECC (Download)).
Condition Table
A condition table defines the combination of fields (the key) that identifies an individual condition
record. A condition record is how the system stores the specific condition data that you enter in the
system as condition records. For example, when you enter the price for a product or a special
discount for a good customer, you create individual condition records.
Example of a Condition Table
A sales department creates condition records for customer-specific material prices.
The standard R/3 System includes condition table 005 for this purpose. The key of
table 005 includes the following fields:
Sales organization
Distribution channel
Customer
Material
The first two fields identify important organizational data and the last two fields express the
relationship between customers and specific materials. When the sales department creates a
condition record for a material price or discount that is specific to one customer, the system
automatically uses condition table 005 to define the key and store the record.
The following figure illustrates the connection between the condition table and the subsequent
condition records.
You can make limited changes to existing condition tables. For example, you can change the name
of the table or the format of the fast entry screens for the condition records. (Fast entry screens are
screens where you can quickly, on a single screen, create and maintain the condition records that
refer to the condition table).
Format of a Fast-Entry Screen
The screen consists of header and item lines. Each item line represents a separate condition record.
The header lines include the fields that are general to all item lines. When deciding on the format of
the fast-entry screen, you can determine whether each field in the key appears as a line in the header
or as an item line.
Changing the Format of a Fast-Entry Screen
To change the format of the Fast-Entry screen, choose F6 (Technical View) on the screen where you
create or maintain a condition table.
When you determine the format, you have the following possibilities:
If you want the...
Do the following...
After you make changes to a condition table, choose F16 Generate) to regenerate the table.
Creating a New Condition Table
You can create new condition tables to meet the pricing needs of your organization. When you
create a new condition table, you select a combination of fields from the list of allowed fields. The
selected fields define the key for the subsequent condition records.
Before you select the fields for the key, there are two things to consider:
Important Fields
In sales, the fields you should take into consideration are Sales organization and Distribution
channel. The sales organization is nearly always used as a criteria in pricing, because different sales
organizations often want to use their own prices, discounts, and surcharges. If you use the sales
organization as a criterion in pricing, you should also use the distribution channel. If you do not want
to establish different prices, discounts, and surcharges for each distribution channel, use the field
anyway. In Customizing for Sales, you can use one distribution channel as a reference for all others
(thereby sharing the same pricing data).
Deciding the Sequence of Fields
The order of the fields in a condition table affects the performance of the system during pricing. Two
general guidelines will help you create an efficient condition table:
1. If you select fields that are connected to the structure of your organization (for example, sales
organization and distribution channel), assign the fields according to the level of general
applicability: Put the most general field, for example, the sales organization in the highest
position and the most specific field in the lowest.
2. After organizational fields, place fields from the document header before those that come
from the item level. (For example, Customer comes before Material)
After you have selected the fields for the key on the screen where you maintain and define condition
tables, choose F16 Generate to generate the table in the system. Generation prepares the condition
table for storing condition data.
The tables used are the PRICE tables. They correspond to the condition tables in SAP ECC, but also
contain information from the tables KONP and KONH in SAP ECC. Therefore, for the use
Pricing (PR) for example, the condition amount is now part of the PRICE table. Fields that are not
frequently filled are in another table, the SUPPLEMENT table. For every PRICE table there is a
SUPPLEMENT table. For every entry in the PRICE table, there is a related record written in the
SUPPLEMENT table, only if one of the fields in the SUPPLEMENT table is not initial. If an entry
exists in the SUPPLEMENT table, the flag SUPP_EXIST is set to X for the higher-level entry in
the PRICE table.
Nomenclature: The name of the PRICE table for application CRM and usage PR is made up of the
following:
Prefix CNC
CNLCRMPRSCxxxLIN contains the scales, where xxx stands for the scale base price. This
means that for a gross weight-dependent scale, the scale is defined in a different table than that
for net weight-dependent ones.
Example
Table A016 in SAP ECC is mapped to /1CN/CBPSAP016 for the application BBP.
A750 becomes /1CN/CBPCUS750
The supplement tables have the same nomenclature but have the prefix /1CN/S.
Scales
Scales can be defined for every condition record of usage PR (Pricing). A scale exists if an entry in
the PRICE table has a SCALE_DIM that is not equal to 0.
The scale information is defined in tables /1CN/L*.
/1CN/LBPSCALEDEF contains information on scale indicators and scale base prices (gross
weight-dependent, for example)
/1CN/LBPSCxxxLIN contains the scales, where xxx stands for the scale base price. This
means that for a gross weight-dependent scale, the scale is defined in a different table than that
for net weight-dependent ones.
Integration with R/ 3
If your company has already got ERP system online, you can direct download the configuration data
to the CRM system using CRM middleware. The configuration data contains pricing procedure,
condition type, access sequence. The condition master data can also be downloaded to the CRM
side. If your company uses the standalone CRM system, the consultant will need to configure
everything in CRM directly.
IPC(Internet Pricing and Configurator) is the core part of pricing. The IPC ensures integrated price
calculation, regardless of whether prices are calculated for a business transaction in CRM Enterprise,
in Telesales, or in SAP E-Commerce. I will post a new blog to make an brief introduction to IPC.
The CRM applications communicate with IPC using pricing communication structure. Usually, the
standard structure field does not meet the requirement. We need to add custom field during pricing
process. For example, we need to determine price according to product hierarchy which is not
contained in the custom communication structure. In this case, we need to do some enhancement to
pass custom field to the communication structure. SAP provide an BADI
named CRM_COND_COM_BADI for this purpose. I will also post a new article to cover this
requirement.
Business Scenario
You can use this function to set up an approval process for price changes made by an employee, and
thereby allow only certain employees to make and approve price changes.
If an employee is not authorized to change prices, the system triggers an approval process. When the
new price condition is saved, it is set to Inactive status.
You can find more information about this process in the workflow document
Approving Condition Change for Master Data.
Workflow for
Prerequisites
You have maintained SAP Note 986344 and set up the appropriate authorization concept.
New condition records for employees without approval authorization are thereby set
to Inactive status.
Activities
The employee creates a new condition record for a pricing element and saves the entry. If the
employee is not authorized, the condition records are created with Inactive status.
The system checks whether this change must be approved and triggers an approval process.
A new workflow task for the approval of the new condition record appears in the worklist of
the authorized party.
The authorized party uses a link to open the user interface for pricing condition maintenance.
The authorized party can approve or reject the change. They also have the option of changing
the new condition records themselves.
The system preselects all inactive condition records on the user interface. Possible conflicts
brought up by previously approved price changes are automatically solved. For example, the
system automatically changes the validity period of a condition record if it overlaps with the
validity period of another condition record.
The system closes the workflow only when there are no more inactive condition records.
Price Lists
Use
This function allows you to create a list of the prices that are valid at a certain date, for a certain list
of products and a certain group of business partners.
You can use price lists to make your current prices available in list form at any time. You can create
price lists individually for customers or customer groups, and certain products.
The furniture company Holz & Leim publishes a catalog in color every year, without details of
prices. They provide a different price list with the catalog for each customer group. Price list A for
major customers contains quantity discounts and no value-added tax, price list B for end customers
contains prices with tax.
Integration
You can also use price lists in the following functions and processes:
Product proposals
The system simulates price lists, to display product proposals with prices in a sales document
before pricing has taken place for the document. For more information, see Product Proposals
in Sales Transactions.
If there are multiple price lists for an account, a dialog box appears on the user interface, in which
you can select the required price list.
A PDF document then opens, which displays the relevant price list for the account, with entries for
products and their net prices.
You can adjust the layout of this PDF document to your requirements, and add more
information, for example. To do so, you must maintain Smart Form
BEA_CNPL_BILLING_SF, using transaction SMARTFORMS.
Requirement: you use action profile NETPRICELIST in the default Customizing for
actions in the price list. For more information, see Customizing under Customer
Relationship Management Basic Functions Actions Actions in the Price
List Change Actions and Conditions Define Action Profiles and Actions.
Activities
Two reports are available, which you can also schedule as background jobs:
CRMC_CPRICPROC
ECC Side
The field catalog is a structure KOMG. consists of two tables KOMK and KOMP.
komk is "Pricing Communications-Header
komp is "Pricing Communication Item
Issues in pricing
We have replicated object DNL_CUST_CNDALL from SAP Retail.
Now in CRM the condition type VKP0 and the access sequence VKP0 are replicated from SAP
Retail
But in CRM in Access sequence VKP0 access number 35, table SAP155, field number
u201C3u201D PRICE_LIST have no source structure or source field.
Is access sequence VKP0 access 35 u201CSales Org./Dist. Channel/Price List/Article/Sales
Unitu201D supported in SAP CRM?
This problem occurs for all SAP ECC accesses that have document field u201CPLTYP_P:Price
list/itemu201D, those fields have no Source Table or Source Field when replicated to SAP CRM
Or in other word, is the item base price list supported by SAP CRM?
Further Investigations: In CRM, after enabling PRC_TRACE in user parameters and replicated
condition table 155, the following error appears in the accesses tab of condition VKP0 when testing
using transaction CRMD_Order
Customizing Error, Error: Mismatch of fields in the access CRM/PR/VKP0/35 and the variable
fields
the field PLTYP_P is not supported in the SAP standard mapping for condition customizing.
Nevertheless you can follow SAP note 514952 to enhance the standard mapping. In addition, you
will need to consider the CRM_COND_COM_BADI if you will create e.g. quotes or orders based
on this condition in CRM to supply the field value from price list field in one order to the
corresponding pricing attribute.