Functional informations

The DSF (Purchasing classification) is done in 3 levels : Domain / Segment / Family

There are 7 Domains :

  1. 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

 

  1. 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

  1. With the company ode, we get the zone f the company from 0COMP_CODE aster data
  2. With the supplier we get the country rom C_VENDOR aster data
  3. 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
  4. If record found, we keep panel 1. Else we make same research but with PKS = 'B' ey
  5. If record found, we keep panel 1. Else we make same research but with PKS = 'C' pot
  6. 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:
  1. 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)
  2. __Other cases:
    __=> Segment of the material group r if empty use function 'Z_WBW_SUPPLIER_PANEL'
    (=Segment in SMP)
  3. __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
  1. __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
  1. __Invoice without Purchase order:
    __=> function 'Z_WBW_SUPPLIER_PANEL' (=Segment in SMP)
  2. 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
  1. __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
  2. __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
  1. __Invoice without Purchase order:
    __=> function 'Z_WBW_SUPPLIER_PANEL' (=Segment in SMP)
  2. 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
  • No labels