Functional informations
The DSF (Purchasing classification) is done in 3 levels : Domain / Segment / Family
There are 7 Domains :
- General Expenses
- 2 Packaging
- 3 Energy
- 4 Industrial Supplies
- 6 Raw Materials
- 7 Industrial Services
- 8 Logistic
The domains are divided into 113 Segments. Each segment is managed by segment Managers, who can ask for the creation / modification / deletion of suppliers in RCS, on this segment.
The 113 segments are divided into more than 300 Families.
These families are complemented with all the bought RCS materials (Raw Materials in a given packaging).
You can find this breakdown in the +DSF Segmenteur+ (Information Management E-room), for a given zone, each segment is managed by a Buyer called « segment Manager ».
Target of this structure :
• The DSF is found in all the Purchasing Tools (RCS, GSV, BOXI, PEACH and COCKPIT…) :
Correct DSF have to be selected upstream to get correct reporting queries.
• Useful for buyers to manage their supplier portfolios
Along with the SMP (Supplier Management Program) :
? The segment of the supplier is always requested at supplier creation step through the supplier creation form - The “classification” is mandatory for any supplier in RCS
? The supplier must be classified at least in one of the 113 segments, as Partner, Key or Spot
? The requester of a new supplier is the Buyer/Segment Manager or the request must be (mandatory) validated by the Segment Manager
Spend assignment rules :
The spend assignment rules in GSV allows assignment of spend by Domain and by Segment according to RCS documents (no data mining).
The Spend assignment rules are based on the data ‘material group’ (matching with Family in DSF) contained in all purchase order (PO).
SMP segmentation in RCS enhances reliability of spend assignment in GSV.
Type of Spend | Type of RCS document | Spend Assignment rules |
Spend with Purchase Order | All materials or services orders | The spend is assigned by segment and by domain according to the 'material group' of the purchase order (mat. group = family code in DSF segmenteur) |
Raw Materials orders | The spend is assigned by segment and by domain according to the segment of the raw material or according to the 'material code' (if the segment is not assigned in raw material code) of the purchase order (for RM material code = family code in DSF segmenteur) | |
Ad-hoc (BIP) orders |
The spend is assigned by segment and by domain according to the material group code of the PO whether this one is validated against the SMP of the supplier.
Otherwise, the spend is assigned by segment and by domain according to the SMP and PKS of the supplier
Spend with Purchase Order | Accounting document |
When an invoice is identified as subsequent debit/credit invoice, the segment of the supplier is assigned according to the PKS status.
Spend without Purchase Order | Accounting document | The spend is assigned by segment and by domain according to both SMP and PKS status |
The Spend Assignment rules details is attached, coming from Purchasing Eroom
Supplier Management Program in BW
Everyday, the SMP is loaded in BW into ODS_PANT
In RCS, you can also display the SMP with transaction CL20N or you can see the result of the extraction with * SA3*
How to display the Material group of a Purchase order item
The Material group is the main information to determine the DSF.
You can display the Material group of a Purchase order item using transaction ME23N entering the * urchase order number*:
In the Item part you pick the Item and in the tab Material Data you can see the Material group.
">
How to display the Material group of a Material
- Material can also have a Material group.
To display the Material group of a material, you can use MM03 transaction and the tab * asic data 1*.
Therorical link Material group - Segment - Domain in BW
There's no way to display the Segment or the Domain of a Material group, it's strictly a BW notion !
The "theorical" link between material group, segment and domain is given by the Purchasing function and loaded by flat file into 0MATL_GROUP master data and * DS_DCF*
Here is example of data in ODS_DCF
DSF in BW
The DSF is calculated in two applications in BW, in Purchasing application when we have a purchase order and also in Accout Payables when we have an accounting document.
The DSF (Purchasing classification) is also done in 3 levels :
Domain C_DOMAIN nfo object
Segment C_PANEL info object
Family 0MATL_GROUP info object
For Raw Material purchase orders, the family will have same value that the material.
DSF in module function 'Z_WBW_SUPPLIER_PANEL'
In BW, we have a module function called 'Z_WBW_SUPPLIER_PANEL' which gives for a company and a supplier a Segment.
This function will find the corresponding segment in ODS_PANT (Cf 'Supplier Management Program in BW' chapter)
Here are the steps of the function
- With the company ode, we get the zone f the company from 0COMP_CODE aster data
- With the supplier we get the country rom C_VENDOR aster data
- The country of the supplier will give the zone of the supplier 1. Concatenation of 'V001_', zone of the company and we search in ODS_PANT he concatenated field, the supplier for PKS = 'A' artner
- If record found, we keep panel 1. Else we make same research but with PKS = 'B' ey
- If record found, we keep panel 1. Else we make same research but with PKS = 'C' pot
- If record found, we keep panel 1. Else we make same research but the zone of the supplier ith the 3 steps for each PKS
DSF in Master data
The DSF is calculated in 3 BW master data 0MATL_GROUP SF/ Material group, C_MATNR aterial and C_ITPO Purchase Order Item.
- 0MATL_GROUP DSF/ Material group
Cf 'Therorical link Material group - Segment - Domain in BW' chapter - C_MATNR Material
In the Material master data, we have a material group (Cf 'How to display the Material group of a Material' chapter) and the extractor 0MATERIAL_ATTR oads a Segment into the master data.This extractor will find values in the same tables used by the SMP * C_ITPO Purchase Order Item
In this master, we load the 3 levels of the DSF
- Family: 0MATL_GROUP is coming from the extractor in the field MATKL
NB: We also use table ZWPUT042 for Purchase order without material group, more details below. A word document is attached in the page to control data quality in C_ITPO.
- Segment: C_PANEL
First we load a temporary value using field MATKL field of the extractor using * MATL_GROUP*master data.
Then we have different cases:
- Purchase order with material:
-Material group 0450 SEMI FIN.&FINISH PDT or 0451 RAW MATERIALS
-Material has a Segment filled (C_MATNR master data) => Segment of the material
-Material without panel => the material group is the material => Segment of the material group r if empty use function 'Z_WBW_SUPPLIER_PANEL' (=Segment in SMP)
-Other material group => Segment of the material group 1. __Purchase order without material and System need origin = 1 (Catalog PO via BIP)
+=> Segment of the material group 1. +Purchase order without material and Item Category h1.9 (Service) and Account Assignment Category = U (Unknown) and Purchasing Org 3008 or 3016 or 3024 or 3032 (Transport Logistic for EU, NA, LA, AP)
__=> Segment of the material group r if empty use function 'Z_WBW_SUPPLIER_PANEL'
(=Segment in SMP) - __Other cases:
__=> Segment of the material group r if empty use function 'Z_WBW_SUPPLIER_PANEL'
(=Segment in SMP) - __System need origin = 2 (Adhoc PO via BIP) and Company and supplier are not empty:
__We change the first letter of the segment of the material group and replace it by the first letter of the zone (for Europe we keep same segment).
Then we use a temporary variable 'V001_' and the zone of the company and we search in ODS_PANT for supplier, modified segment and temp variable if we find records.
If records found in ODS_PANT=>* Segment of the material group*__
If no records found in ODS_PANT__ => function 'Z_WBW_SUPPLIER_PANEL' =Segment in SMP)
+
If Segment calculated is empty+* => Segment of the material group*
For all cases above, if the first letter of the segment is not 'P', we replace this character by 'P'.
- Domain: C_DOMAIN
We calculate the Domain using field MATKL field of the extractor and 0MATL_GROUP master data.
DSF for a Purchase Order (Purchasing application)
The DSF is calculated in ODS_SCL1 Purchasing Schedules
In a Purchase order item, we have a material group. From this material group, we will have the domain and the segment.
- Purchase order without Material group in RCS
When a Purchase order doesn't have a material group in RCS, we can have one in BW ODS_SCL0 !
It can be the case for Purchase order with shipment.
To find a material group we use the RCS ZWPUT042
This table gives for a Shipment cost type_a _Shipping type_and a _Transportation Group_a _Material group
_ _
Ex: Ship cost type 9001 Road direct & Shipping type * 1* Truck & Transportation Group * 001* Packed => Material group * 433*PCK FTL: ROAD EXP SO
- ODS_SCL1 Purchasing Schedules
- Family: 0MATL_GROUP is coming from ODS_SCL0
If Material group h1.'0009' => Material group'0301'
If Material group h1.'0013' => Material group'0011'
If Material group h1.'0014' => Material group'0010'
If Material group h1.'0042' => Material group'0308'
If Material group h1.'0306' => Material group'0308'
If Material group h1.'0032' => Material group'0021'
If Material group h1.'0379' => Material group'0380'
If Material group h1.'0389' => Material group'0483'
If Material group h1.'0484' => Material group'0483'
If Material group h1.'0302' => Material group'0498'
If Material group h1.'0034' => Material group'0021'
If Material group h1.'0036' => Material group'0497'
If Material group h1.'0305' => Material group'0496'
If Material group h1.'0044' => Material group'0500'
If Material group h1.'0254' => Material group'0501'
If Material group h1.'0309' => Material group'0499'
If Material group h1.'0026' => Material group'0494'
If Material group h1.'0268' => Material group'0451'
If Material group h1.'0219' => Material group'0079'
If Material group h1.'0450' or '0451' and Material type = 'ZMAT' => Material group material code
- Segment: C_PANEL is loaded from C_ITPO master data
- Domaine: C_DOMAIN is loaded from C_ITPO master data
- CUB_PUR01 Purchasing Data
Same values as in ODS_SCL1
DSF for an Invoice (Account Payables application)
The DSF is calculated in the ODSFIAP4 FIAP : Line item by profit center
The Domain doesn't exist in ODSFIAP4
- ODSFIAP4 FIAP : Line item by profit center
- Family: 0MATL_GROUP
- __Invoice without Purchase order:
+-+Supplier is not empty:__ => Material group from ODS_PANT for the supplier =Segment in SMP)
-Supplier is empty and Material is not empty: => Material group of the material 1. __Invoice with Purchase order:
If records found in ODS_SCL1 for Doc number, item and company =>__ Material group of ODS_SCL1
If calculated Family is empty => Material group from ODS_PANT for the supplier =Segment in SMP)
- Segment: C_PANEL
- __Invoice without Purchase order:
__=> function 'Z_WBW_SUPPLIER_PANEL' (=Segment in SMP) - Invoice with Purchase order:
If records found in ODS_HPO2 for Doc number, item, company, Reference doc number and PO history category h1.N => function 'Z_WBW_SUPPLIER_PANEL' =Segment in SMP) and if function gives empty segment,> Material group of ODS_SCL1
If calculated Segment is empty => function 'Z_WBW_SUPPLIER_PANEL' =Segment in SMP)
If the first letter of the segment is not 'P', we replace this character by 'P'.
- In case of reloading of ODSFIAP4 from Itself
- Family: 0MATL_GROUP
- __Invoice without Purchase order:
+-+Supplier is not empty:__ => Material group from ODS_PANT for the supplier
-Supplier is empty and Material is not empty: => aterial group of the material - __Invoice with Purchase order:
If records found in ODS_SCL1 for Doc number, item and company => Material group of ODS_SCL1__
If calculated Family is empty => Material group from ODS_PANT for the supplier =Segment in SMP)
- Segment: C_PANEL
- __Invoice without Purchase order:
__=> function 'Z_WBW_SUPPLIER_PANEL' (=Segment in SMP) - Invoice with Purchase order:
If records found in ODS_HPO2 for Doc number, item, company, Reference doc number and PO history category h1.N => function 'Z_WBW_SUPPLIER_PANEL' =Segment in SMP) and if function gives empty segment,> Material group of ODS_SCL1
If calculated Segment is empty => function 'Z_WBW_SUPPLIER_PANEL' =Segment in SMP)
If the first letter of the segment is not 'P', we replace this character by 'P'.
- CUB_FIAP1 FIAP : Line item
- Family: 0MATL_GROUP: Same as ODSFIAP4
- Segment: C_PANEL: Same as ODSFIAP4
- Domain: C_DOMAIN: We search in ODS_DCF he domain for the Segment of ODSFIAP4










