Identified data points needed for SAP push (originally in GSheet)


Sample Data as provided by Anita: Sample records to upload to SAP


SAP needed fields to push into One Quote Report and Export

These fields are all in the ONE Quote Line Item object - the goal is to present them to the Pricing Admin/CSR team as a "flat table" in a Salesforce Report, thus allowing them to directly export that Report and use the output CSV/Excel file to upload it to SAP.



Field LabelAPI NameData TypeFormulaSolution/CommentsDescription/Help
1Condition TypeSAP_Condition_Type

Formula (Text)

Solvay_Sales_Organization__r.Condition_Type__c

Condition Type will be a required picklist field on Solvay Sales Organization object - each Sales Org will have its own Condition Type - data defined by Business

OQLI retrieves its Condition Type from the linked Sales Org:

  • Sales Org EMEA: PR00
  • Sales Org APAC: PR00
  • Sales Org NAM: ZPRI
  • Sales Org LAM: PR00
  • Sales Org BR: ZPB0
  • Sales Org IN: PRIN
SAP needed field - used to retrieve Condition Type from Solvay Sales Organization record.
2TableSAP_Table__cFormula (Text)IF(PP_Plant_Specific_Price__c,'847','999')

SAP needed field - always with value 847
3Sales Org.SAP_Sales_Org__cPicklist (Text)


see Solvay Sales Organisation Extra field below and Solvay Sales Organization & Condition Type 

In the process, at Approval the Sales Org is retreived + if needed te CSR can override it before loading it to SAP

FD - [CORE] 7 - Price Admin - CSR Tasks : SAP Upload - Update Sales Order - Update Rebate - in SAP

FD - [CORE] 5 - Approval

SAP needed field - retrieves the specific Sales Organization associated with this QLI from the Solvay Sales Organisation lookup
4Distr. ChannelSAP_Distr_Channel__cFormula (Text)

CASE (SLV44_ONE_Quote__r.SLV44_GBU__c ,"Novecare",
IF( SLV44_ONE_Quote__r.SLV44_Account_customer_Segment__c = "Key Distributor" || SLV44_ONE_Quote__r.SLV44_Account_customer_Segment__c = "Standard Distributor", "6X", 
            CASE( SLV44_ONE_Quote__r.SLV44_BU__c ,
        "Agro", "09",
        "Amines", "8A",
        "Coatings", "10",
        "Industrial Solutions", "07",
        "Home & Personal Care",
            CASE( SLV44_HPC_Selection__c,
                "Home Care", "17",
                "Personal Care", "16",
                "Undefined"), 
        "Undefined"))
                        ,"Technology Solutions",
            CASE( SLV44_ONE_Quote__r.SLV44_BU__c ,
                "AT - Polymer Additives","9P",
                "MS - Alumina","9R",
                "MS - Industrial Minerals","9C",
                   "MS - Metal Extraction Products" , "9U",
                "MS - Mineral Processing" , "9S",
                "PS - Derivatives", "9V",
                "PS - Gases - Electronics", "9Q",
                "PS - Gases - Fumigation", "0G",
                "PS - NAHYPO","9N","Undefined")
                        
                        ,"Undefined")

Based on One Quote BU - Number mapping as per below

For HPC, create 2 lines for upload: (1) Personal Care & (2) Home Care

If Quote's BU is Home & Personal Care, Pricing Admin Users will have to define each OQLI as being either Home Care or Personal Care - see Home & Personal Care - HPC Selection

SAP needed field - derived from One Quote's BU value (plus HPC Selection when BU is Home & Personal Care)

New mapping that include Novecare & TS


Newmapping  09 & 07 

5IncotermsSLV44_Incoterms__cPicklist
Already existing field in OQLI - Using Incoterms Global Value Set
6Customer groupSAP_Customer_group1__cText(255)""
SAP needed field - default value is null
7CustomerSAP_Customer__c

Formula (Text)

SLV44_Ship_to__r.RCS_ID__c

Pedro Infante checked if Ship-To codes of this Sheet exist in Core Prod as RCS Ids of SAP RT Accounts - 6 records from data sent by NOE, Juliendo not exist in SF Prod (RCS ID not found)

SAP needed field - retrieves the RCS ID of the Ship-To Account of the QLI
8NameSAP_Name__cFormula (Text)SLV44_Ship_to__r.Name
SAP needed field - retrieves the Name of the Ship-To Account of the QLI
9Sold-To PartySAP_Sold_To_Party__cText(255)

SAP needed field - default value is null
10Sold-to NameSAP_Sold_to_Name__cText(255)

SAP needed field - default value is null
11Ship-To PartySAP_ShipTo_Party__cText(255)

SAP needed field - default value is null
12Ship-to NameSAP_Shipto_Name__cText(255)

SAP needed field - default value is null
13Price ListSAP_Price_List1__cText(255)

SAP needed field - default value is null
14Doc. CurrencySAP_Doc_Currency__cText(255)

SAP needed field - default value is null
15Price groupSAP_Price_group1__cText(255)

SAP needed field - default value is null
16Mat.pricing grpSAP_Matpricing_grpText(255)

SAP needed field - default value is null
17MaterialSAP_MaterialFormula (Text)SLV44_Product_Level_5__r.ProductCode
SAP needed field - retrieves SAP Product Code from OQLI's Product
18DescriptionSAP_Description1__cFormula (Text)SLV44_Product_Level_5__r.Name
SAP needed field - retrieves Product Name from OQLI's Product
19DivisionSAP_Division__cText(255)

SAP needed field - default value is null
20PlantSAP_Plant__cFormula (Text)IF( PP_Plant_Specific_Price__c,SLV47_Shipping_Plants__r.Utility_Plant__r.Name,'')

SAP needed field - retrieves Shipping Plant Name from OQLI's Shipping Plant
21Sales OfficeSAP_Sales_Office__cText(255)

SAP needed field - default value is null
22CountrySAP_Country1__cText(255)

SAP needed field - default value is null
23Sales UnitSAP_Sales_Unit__cText(255)

SAP needed field - default value is null
24Basic materialSAP_Basic_material__cText(255)

SAP needed field - default value is null
25Valid FromSAP_Valid_From__c

Formula (Text)

IF(DAY(Valid_From__c ) < 10, '0'+TEXT(DAY(Valid_From__c )), TEXT(DAY(Valid_From__c )) )
+'.'+
IF(MONTH(Valid_From__c ) < 10, '0'+TEXT(MONTH(Valid_From__c )), TEXT(MONTH(Valid_From__c )) )
+'.'+
TEXT(YEAR(Valid_From__c ))
Valid From Date (internal) in dd.mm.yyyy (zeroes need to be included)SAP needed field - transforms Valid From into dd.mm.yyyy format
26Valid ToSAP_Valid_To__c

Formula (Text)

IF(DAY(Valid_To__c ) < 10, '0'+TEXT(DAY(Valid_To__c )), TEXT(DAY(Valid_To__c )) )
+'.'+
IF(MONTH(Valid_To__c ) < 10, '0'+TEXT(MONTH(Valid_To__c )), TEXT(MONTH(Valid_To__c )) )
+'.'+
TEXT(YEAR(Valid_To__c ))

Valid To Date (internal) in dd.mm.yyyy (zeroes need to be included)SAP needed field - transforms Valid To into dd.mm.yyyy format
27Cond. currencySAP_Cond_currency__c

Formula (Text)

TEXT(SLV44_ONE_Quote__r.CurrencyIsoCode)Quote Currency (Triletter code - USD, EUR, CNY - Salesforce uses the ISO Standard and so does SAP - no need to translate)SAP needed field - retrieves Quote's Currency ISO Code
28Pricing unitSAP_Pricing_unit__cFormula (Number)1
SAP needed field - always with value 1
29Unit of measureSAP_Unit_of_measure

Formula (Text)

CASE(TEXT( SLV44_ONE_Quote__r.SLV44_Unit_of_Measurement__c ),
"Lb","LB",
"Kg","KG",
"T","TO",
"G","G",
"No value")

Quote UoM
- Lb (SAP = LB)
- Kg (SAP = KG)
- T (SAP =  TO)
- G (SAP = ???)

NOE, Julien - what is the denomination that SAP gives to grams?

SAP needed field - derives the value from Quote's Unit of Measurement
30Scale UoMSAP_Scale_UoM__c

Formula (Text)

CASE(TEXT( SLV44_ONE_Quote__r.SLV44_Unit_of_Measurement__c ),
"Lb","LB",
"Kg","KG",
"T","TO",
"G","G",
"No value")

Quote UoM
- Lb (SAP = LB)
- Kg (SAP = KG)
- T (SAP =  TO)
- G (SAP = ???)

NOE, Julien - what is the denomination that SAP gives to grams?

SAP needed field - derives the value from Quote's Unit of Measurement
31Scale quantitySAP_Scale_quantity1__cFormula (Number)1
SAP needed field - always with value 1
32AmountSAP_Amount1__cFormula (Number)SLV44_Quoted_Price__cQLI Price - NOE, Julien - I'm assuming this is the "Quoted Price" value from OQLISAP needed field - derives the value from Quoted Price
33Scale quantitySAP_Scale_quantity2__cText(255)

Default value null - field will be re-used once Order Release Pricing (post-MVP) is built

( 20230607 Bart) - value provided by user via UI when setting scale pricing 

SAP needed field - default value is null
34AmountSAP_Amount2__cText(255)

Default value null - field will be re-used once Order Release Pricing (post-MVP) is built

( 20230607 Bart) - value provided by user via UI when setting scale pricing 

SAP needed field - default value is null
35Scale quantitySAP_Scale_quantity3__cText(255)

Default value null - field will be re-used once Order Release Pricing (post-MVP) is built

( 20230607 Bart) - value provided by user via UI when setting scale pricing 

SAP needed field - default value is null
36AmountSAP_Amount3__cText(255)

Default value null - field will be re-used once Order Release Pricing (post-MVP) is built

( 20230607 Bart) - value provided by user via UI when setting scale pricing  

SAP needed field - default value is null
37Scale quantitySAP_Scale_quantity4__cText(255)
Default value null - field will be re-used once Order Release Pricing (post-MVP) is builtSAP needed field - default value is null
38AmountSAP_Amount4__cText(255)
Default value null - field will be re-used once Order Release Pricing (post-MVP) is builtSAP needed field - default value is null
39Scale quantitySAP_Scale_quantity5__cText(255)
Default value null - field will be re-used once Order Release Pricing (post-MVP) is builtSAP needed field - default value is null
40AmountSAP_Amount5__cText(255)
Default value null - field will be re-used once Order Release Pricing (post-MVP) is builtSAP needed field - default value is null
41Scale quantitySAP_Scale_quantity6__cText(255)

SAP needed field - default value is null
42AmountSAP_Amount6__cText(255)

SAP needed field - default value is null
43Scale quantitySAP_Scale_quantity7__cText(255)

SAP needed field - default value is null
44AmountSAP_Amount7__cText(255)

SAP needed field - default value is null
45Scale quantitySAP_Scale_quantity8__cText(255)

SAP needed field - default value is null
46AmountSAP_Amount8__cText(255)

SAP needed field - default value is null
47Scale quantitySAP_Scale_quantity9__cText(255)

SAP needed field - default value is null
48AmountSAP_Amount9__cText(255)

SAP needed field - default value is null
49Scale quantitySAP_Scale_quantity10__cText(255)

SAP needed field - default value is null
50AmountSAP_Amount10__cText(255)

SAP needed field - default value is null
51

Name

SAP_Name2__cText(255)

SAP needed field - default value is null
52Account groupSAP_Account_group__cText(255)

SAP needed field - default value is null
53CitySAP_City__cText(255)

SAP needed field - default value is null
54RegionSAP_Region__cText(255)

SAP needed field - default value is null
55CountrySAP_Country2__cText(255)

SAP needed field - default value is null
56Deletion flagSAP_Deletion_flag__cText(255)

SAP needed field - default value is null
57Sales blockSAP_Sales_block1Text(255)

SAP needed field - default value is null
58Order blockSAP_Order_block__cText(255)

SAP needed field - default value is null
59Del.ID SlsAreaSAP_DelID_SlsArea__cText(255)

SAP needed field - default value is null
60Sales blockSAP_Sales_block2__cText(255)

SAP needed field - default value is null
61Ord.blk:sls ar.SAP_Ord_blk_sls_ar__cText(255)

SAP needed field - default value is null
62Price ListSAP_Price_List2__cText(255)

SAP needed field - default value is null
63IncotermsSAP_Incoterms__cText(255)
(20230607 Bart) duplicated with line 63SAP needed field - default value is null
64Customer groupSAP_Customer_group2__cText(255)

SAP needed field - default value is null
65Price groupSAP_Price_group2__cText(255)

SAP needed field - default value is null
66Sales GroupSAP_Sales_Group__cText(255)

SAP needed field - default value is null
67

Description

SAP_Description2__cText(255)

SAP needed field - default value is null
68Letter ?SAP_Letter__cText(255)

SAP needed field - default value is null
69Cust/Sales AreaSAP_CustSales_Area__cText(255)

SAP needed field - default value is null
70X-DChain statusSAP_XDChain_status__cText(255)

SAP needed field - default value is null
71DF client levelSAP_DF_client_level__cText(255)

SAP needed field - default value is null
72DChain-spec.SAP_DChainspec__cText(255)

SAP needed field - default value is null
73Deletion Ind.SAP_Deletion_Ind__cText(255)

SAP needed field - default value is null
74DF plant levelSAP_DF_plant_level__cText(255)

SAP needed field - default value is null
75Mat/PlantSAP_MatPlant__cText(255)

SAP needed field - default value is null
76Search termSAP_Search_term__cText(255)

SAP needed field - default value is null
77Scale typeSAP_Scale_type__cFormula (Text)"A"
SAP needed field - always with value A
78Scale basisSAP_Scale_basis__cFormula (Text)"C"
SAP needed field - always with value C
79Proc. statusSAP_Proc_status__cText(255)

SAP needed field - default value is null
80SMART Reference#SAP_SMART_Reference__cText(255)

SAP needed field - default value is null
81Price justificationSAP_Price_justification__cFormula (Text)

Name + " / " + SLV44_ONE_Quote__r.Owner:User.FirstName + " " + SLV44_ONE_Quote__r.Owner:User.LastName


SLV44_ONE_Quote_Line_Item__c.Name + Quote owner

SAP needed field - concatenates the OQLI Name + Quote Owner Name
82Exp. Ann. VolumeSAP_Exp_Ann_Volume__cFormula (Text)TEXT(DAY(DATEVALUE(SLV44_ONE_Quote__r.CreatedDate)))+"/" +TEXT(MONTH(DATEVALUE(SLV44_ONE_Quote__r.CreatedDate)))+"/" +TEXT(YEAR(DATEVALUE(SLV44_ONE_Quote__r.CreatedDate ))) + " / " + SLV44_ONE_Quote__r.NameQuote Created Date + Quote Auto-Number NameSAP needed field - concatenates the Quote Created Date + Quote Auto-number
83Cond.record no.SAP_Condrecord_no__cText(255)
(20230607 Bart) field is always null. SAP needed field - default value is null
84Created BySAP_Created_By__cText(255)

SAP needed field - default value is null
85Created OnSAP_Created_On__cText(255)

SAP needed field - default value is null
86Prop.ship.pointSAP_Propshippoint__cText(255)

SAP needed field - default value is null


Extra Fields for One Quote Line Item



Field LabelAPI NameData TypeFormulaSolution/CommentsDescription/Help
1HPC SelectionHPC_Selection__c

Picklist

Not applicable

Restrict picklist to the values defined in the value set = TRUE

Not Required

No default value

Picklist values:

  • Home Care
  • Personal Care
For Pricing Admins to determine which Distribution Channel needs to be defined for Quotes where BU is HPC
2Solvay Sales OrganisationSolvay_Sales_Organisation__cLookup (Solvay Sales Organization)

Not applicable

Using 2 new objects that will allow to create a Master List of Sales Organizations (Solvay Sales Organization) - and using a junction object called Sales Org Key) to allow each OQLI to find it's own Sales Organization Code.

see Solvay Sales Organization & Condition Type 

SAP needed field - Identifies the specific Sales Organization associated with this QLI (defined via a combination of Shipping Plant, Ship-To Country and Incoterm).