Making Settings for Backend Purchase
Contracts
This section describes the steps for configuring the creation of backend contracts from SAP Bidding Engine or from the sourcing application. Business Add-In BBP_DETERMINE_LOGSYS controls backend system determination. Transfer to the backend system takes place via RFC. From a technical point of view, IDocs are processed in the backend system. The backend process results in one contract available for price and source determination. For more information regarding the creation of backend contracts see SAP Note 609222.
For an overview on how you can configure contract management across the SRM and backend system(s) see Configuration Options.
·
You have defined an RFC destination for the backend
system and you have defined the backend system in which you want to create
contracts. See
Defining the RFC
Destination and Backend System. If you have already defined an R/3 system
(FI) as a destination in another business scenario, you can use this
destination for backend contracts also.
· The transaction type for purchase contracts is defined. This must exist in the SRM system with internal number range and an identical external number range in the backend system.
See
Defining Transaction
Types for Sourcing. If you do not use the same transaction type in the SRM
and the backend systems, you must map this data.
Also refer to Step 4 of the “Setting up Organizational Data and Mapping (Master) Data” procedure in this (backend purchase contract) section.
· You have set up the condition types for pricing conditions. These can be the same as in the backend system. If you have used a different technical name in SAP Enterprise Buyer, you have made sure that all other settings are identical to those in the backend system.
¡ You have to ensure that the condition customizing in the SRM system and each of the corresponding R/3 systems is consistent. This means that a condition type in SRM has the same technical attributes as the corresponding condition type in R/3. If you do not use the same name your SRM condition types need to be mapped to your R/3 backend condition types.
¡ You have two possibilities to achieve the required consistency. You can either create your own condition types in SRM and customize them in the same way as the original R/3 condition types (this is may become difficult when using more than one R/3 system, since their customizing can differ) or you create new condition types in the R/3 system and customize them in the same way as the SRM condition types.
See path in the Implementation guide (IMG) of SAP Supplier Relationship Management: SRM Server ® Cross-Application Basic Settings ® Pricing.
¡ Finally you have to ensure that the R/3 condition customizing, including calculation scheme and calculation scheme determination is consistent and working properly. You can test the backend condition customizing by manually creating a contract in the R/3 system (that uses the same condition types that you receive via GOAfrom the SRM system) and creating a purchase order with relation to this contract.
· Release 4.6B or higher with Plug-In 2004.1
· Number range object BBP_SRV and internal number assignment for service positions
· External number range for purchase contracts
· You have set up the IDoc customizing.

You are using synchronous IDs and settings in the SRM and backend system(s) for:
§ master data, such as products, product categories and vendors
§ other data, such as currencies, payment terms, text IDs, and transaction types, condition types

We
recommend to replicate master data such as products, product categories
and vendors from the backend system. See
Downloading Business
Objects
For external requirements, the scenario does not support
· Contract limits
· Assigning backend sources of supply (contract, purchasing info record)
Transaction Code |
SPRO |
IMG Path |
SRM Server ® Business Add-Ins (BAdIs) ® Shopping Carts and Requirement Items ® Determine Backend System / Company Code |
...
1. Set up Business Add-In BBP_DETERMINE_LOGSYS and implement the method CONTRACT_LOGSYS_DETERMINE so that contracts are created in the backend system.
a. If you want to create backend contracts only, all you need to do in the BAdI method is to fill the parameter for the logical system.
b. If you want to create backend or local contracts, you must define an algorithm that decides when to create a local and when to create a backend contract, as you can only create either a local or a backend contract from the sourcing application in SAP Enterprise Buyer or from a winning bid in SAP Bidding Engine.

You can implement the method, for example, so that only backend contracts of specific purchasing organizations are created. For assistance, refer to the sample coding in transaction se18.
...
1. Do one of the following:
¡
In the organizational plan, assign the CT_PROC_TY
attribute, for example, PCTR to the responsible purchasing group. See
Creating the
Organizational Plan
¡ In the Business Add-In Create Contract in Backend System (BBP_CTR_BE_CREATE), implement method CONTRACT_PROCESS_TYPE_FILL, enter a value in field EV_PROCESS_TYPE.
See IMG path: SRM Server ® Business Add-Ins (BAdIs) ® Follow-On Document Generation in the Backend System ® Create Contract in Backend System
...
1. Using transaction PPOMA_BBP, make sure the Purchasing Organization and Purchasing Group of the backend system exist in the organizational plan.
a. Make sure to link the SRM purchasing organization to the purchasing organization you use for contracts in the backend system: On the Function tab under section Local
§ Select the Purch. Organization indicator
§ Enter the key of the backend purchasing organization
§ Enter the key of the logical system (backend)
b. Make sure to link the SRM purchasing organization to the purchasing group you use for contracts in the backend system: On the Function tab under section Local
§ Select the Purch. Group indicator
§ Enter the key of the backend purchasing group
§ Enter the key of the logical system (backend)
2. Make sure table VENMAP contains vendor data with identical GUID, backend vendor number and logical system.
3. Make sure table BBP_LOCMAP contains location data with mapping for business partner and logical system.
4. If you do not use identical data in the SRM and the backend systems for
¡ Product categories
¡ Products
¡ Condition types for normal positions
¡ Condition types for service positions
¡ Text IDs
¡ Transaction types
you must map this data using a Business Add-In:
a. Use BAdI BBP_CTR_BE_CREATE in the SRM system

We recommend that you map the data there.
See IMG path: SRM Server ® Business Add-Ins (BAdIs) ® Follow-On Document Generation in the Backend System ® Create Contract in Backend System.
b.
Alternatively, you can use a BAdI in the
backend system:
BBP_CTR. See Plug-In IMG path: Integration with other mySAP.com components
® Supplier Relationship Management ® Business Add-Ins (BAdIs) ® Contracts and Conditions ® Change Contracts and Conditions
R/3 inbound processing uses different IDocs for creating contracts and conditions.
Transaction Code |
WE42 |
Menu Path |
Tools ® ALE ® ALE Development ® IDoc ® Inbound Processing ® Define Process Code |
...
1. Assign the inbound processing code BLAO for purchasing contracts to message type BLAORD.
2. Assign the inbound processing code COND for conditions to message type COND_A.
Transaction Code |
WE20 |
Menu Path |
Tools ® Business Communication ® IDoc Basis ® Administration ® Partner Profile |
...
1. Create a partner profile for partner type LS (logical system of sending SRM system) with the following entries and settings under Inbound parameters:
a. Message type BLAORD(for purchasing contracts), Process Code BLAO and Transfer IDoc immediately activated.
b. Message type COND_A(master conditions, for price determination), Process Code COND and Transfer IDoc immediately activated.
See
also section
Defining the RFC
Destination and Backend System
Transaction Code |
OMEF |
IMG Path |
Materials Management ® Purchasing ® Contract ® Define Document Types |
...
1. Choose the transaction type for backend contracts.
2. Enter a number range for external number assignment that is identical to the internal number range you specified in the SRM system for backend contracts.

If you do not want to use a transaction type already defined in the backend system, you can create a new one for backend contracts. See Determining the Transaction Type for Backend Contracts above.