Retrieval of Rental Item Price
Background
From a pricing perspective the rental application has two main processes, sales of consumables and renting of rental items. The objective is to separate the pricing of these processes, including ensuring a single setup of prices for sales items (consumable products) regardless if it is sold through sales order or rental agreement.
For rental items, the objective is to find the correct price list and price, for the right customer and rental agreement, that is not just retrieval of the actual rental price, but to identify the correct price list for the right agreement. It must be possible to control what price list is selected by rental specific control objects, for example country, state, customer group, customer site, or reason created. The key concept is to be able to define and configure user definable set of rules to be able to find the correct price list.
Solution
This solution with introduction of ST functions will separate the price handling of rental from the SO module, not discounts though as these will continue to use 'Discount Model. Open' (SOS800).
- 'Customer. Open Local Exceptions' (MFS610)
- 'Customer. Open' (CRS610)
- 'Rental Depot. Open' (STS030)
- 'Rental Price List Table. Open' (STS012)
- 'Rental Price List. Open' (STS017)
- 'Serv Price List. Enter Rental Rates' (STS120)
- 'Rental Rates. Enter Package Price' (STS125)
- 'Serv Price List. Enter Contract Items' (SAS018)
- 'Rental Rates. Enter Stepped Price' (STS123)
- 'Rental Rates. Enter Meter Price' (STS124)
The use of a Price List Table and a new Field Group for permitted fields used in the Rental Price List Selection Matrix is introduced for rental pricing. The price list retrieval through price list selection table is done like below:
-
Price list based on the Price List Selection Table from STAGHE
The Price List Selection Table is defaulted to STAGHE in the following hierarchy:
-
Pricelist selection table per customer local exception in MFS610.
-
Pricelist selection table per customer in CRS610.
-
Pricelist selection table per Rental depot in STS030.
A function STS012 is introduced, and the function 'Rental Price List Selection Table. Open' (STS831) is also introduced.
A new Field Group is required, called STPSM, in 'Field Group. Display Permitted Fields' (CRS109) which define the permitted fields for use with STS831 and in the setup function 'Generic Object Control Table. Open' (CMS017). When F4 prompt is done on a control field in CMS017/E the list shown is then based on the STPSM available field list. F4 prompt again and the Field Group is loaded with STPSM in function CRS109.
A function STS017 is created (a combination of 'Serv Price List. Open' (SOS017)/'Sales Price List. Open' (OIS017)), with the related option:
-
STS120 – Rental rates
-
SAS018 – Contract Items
-
'Rental Rates. Enter Package Price' (STS125) (see Restructure Rental Package Pricing).
Campaign ID is a new field on the header panel and the Rental Price List Header records is held in the new table STPRIH.
The Campaign ID is introduced on the rental order line (STAGLI) to enable follow up on campaign based price list pricing via the sales statistic OSBSTD.
The new field RPLT (Rental Price List Table) is added on customer local exemptions file CCUDIV and customer master file OCUSMA and rental depot file STDPOT.
Limitations
Discount model will still be a service order function – 'Discount Model. Open' (SOS800).
This functionality is only valid fro ESM&R.
Workflow
-
Create the rental price list table in program STS012. STS012 has the following options:
- Price lists CTRL+11
- Control table CTRL+12
- Text CTRL+16
Take option 12 = 'Control table' in STS012 and you enter CMS017 where you set up the control objects for rental pricing, based on the field group ST SELECTION Table- Price List.
Take option 11 = 'Price lists' in STS012 and you enter STS831 where you set up the price lists according to the control fields and priority defined in CMS017.
-
The price lists are set up in STS017. And STS017 has the following options:
- Short-term rent CTRL+11
- Rental Package Rates CTRL+12
- Contract items CTRL+13
- Names/Language CTRL+13
Option 11 = 'Short-term rent' from STS017 takes you to STS120 where the setup of what is included in the price list is done.
-
In STS120 panel E you set up the rates you want to use. STS120 has the following options:
- Stepped Pricing CTRL+11
- Meter Pricing CTRL+12
Option 11 = 'Stepped Pricing' from STS120 takes you to 'Rental Rates. Enter Stepped Price' (STS123). On STS123 panel E you define the steps.
Take option 12 = 'Meter Pricing' from STS120 and you enter 'Rental Rates. Enter Me-ter Price' (STS124). In panel E in STS124 you enter rates for Meter pricing.
Take option 13 = 'Contract items' from STS017 and you enter SAS018. On panel E in SAS018 you set up the quantity and price for contract items.
Take option 12= 'Rental Package Rates' from STS017 and you enter 'Rental Rates. En-ter Package Price' (STS125), where the handling of Rental Package Pricing is handled: (see 'Restructure Rental Package Pricing').
-
Go to CRS610 panel M in order to set up the Rental Price List Table on the customer. If the customer shall have local exceptions you set up the Rental Price List Table in MFS610.
-
When you now create a rental agreement in STS100, the field Rental Price List Table in STS100 panel F will be populated from MFS610/CRS610/STS030, but is changeable.
Flowchart
Setup
-
Define a rental price list. The rental price in a price list is maintained in STS017. The rental prices are defined per currency and can be limited in time.
-
Define a price list table. A price list table uses the criteria that you define to search for the most appropriate price list. The selection criteria for retrieving a valid price list are entered in the control fields in STS012. The control fields are ranked by priority. When a price list does not match the validity criteria set for priority 1, the criteria for priority 2 are checked, and so on. Five different control objects in 10 priorities can be defined to determine the valid price list.
A price list table has an unlimited validity period. You can set up several price lists tables to be used for different purposes. The price list table used during rental agreement line entry is defined per customer local exceptions in MFS610/E, per customer in CRS610 or per division in STS699 and in the same order defaulted to STS100/F. The order category can be used as a control object (&ORCA). An item being sold via rental agreements (order category 731) or customer orders (order category 311) can thereby be priced via different price lists.
-
Migration Programs: Fix program F11100MM45 and F11100MM59 are required to convert SPRICH to STPRIH, and this program must be run before auxiliary program 'Price List. Convert to Selection Matrix' (STS910).
-
After the fix programs are run, the auxiliary program STS910 is required to convert the legacy price list priority to the Rental Price List Selection Matrix (STRMTX). The job is run in batch in STS911. But before that the Price List Table is required to be set up in advance of the data migration, and in STS910 is that Price List Table the input field.