Duplicate Logic Errors for Contract Price Line Items
Consider the following scenarios while creating or editing a record to avoid duplicate errors.
1. When Line Type = Parts/Labor/Travel, Entitlement Service, and Contract Line is blank on Negotiated Price Line record.
◦ No more than one line can have Discounted or Negotiated Price populated for the same Product or Product Family.
◦ Example 1:
▪ Line Type = Parts, Discount = 100%.
▪ Line Type = Parts, Discount = 50%. This throws a duplicate error message.
▪ Line Type = Parts, Negotiated Price = $50. This throws a duplicate error message.
◦ Example 2:
▪ Line Type = Parts, Product = Parts A, Discount = 100%.
▪ Line Type = Parts, Product = Parts A, Discount = 50%. This throws a duplicate error message.
▪ Line Type = Parts, Product = Parts A, Negotiated Price = $50. This throws a duplicate error message.
◦ Example 3:
▪ Line Type = Parts, Product Family = Printer, Discount = 100%.
▪ Line Type = Parts, Product Family = Printer, Discount = 50%. This throws a duplicate error message.
▪ Line Type = Parts, Product Family = Printer, Negotiated Price = $50. This throws a duplicate error message.
2. When Line Type = Expense, Entitlement Service and Contract Line is blank on Negotiated Price Line record.
◦ No more than one line can have Discounted or Negotiated Price populated for the same Expense Item.
◦ Example 1:
▪ Line Type = Expense, Expense Option = Meal, Discount = 100%.
▪ Line Type = Expense, Expense Option = Meal, Discount = 50%. This throws a duplicate error message.
▪ Line Type = Expense, Expense Option = Meal, Negotiated Price = $50. This throws a duplicate error message.
◦ Example 2:
▪ Line Type = Expense, Discount = 100%.
▪ Line Type = Expense, Discount = 50%. This throws a duplicate error message.
▪ Line Type = Expense, Negotiated Price = $50. This throws a duplicate error message.
3. When Line Type = Parts/Labor/Travel and Entitlement Service is blank on Negotiated Price Line record.
◦ No more than one line can have Discounted or Negotiated Price populated for the same Product, Product Family, and Contract Line.
◦ Example 1:
▪ Line Type = Parts, Discount = 100%, Contract Line = CL001.
▪ Line Type = Parts, Discount = 50%, Contract Line = CL001. This throws a duplicate error message.
▪ Line Type = Parts, Negotiated Price = $50, Contract Line = CL001. This throws a duplicate error message.
▪ Line Type = Parts, Discount = 50%, Contract Line = CL002.
▪ Line Type = Parts, Negotiated Price = $50, Contract Line = CL002. This throws a duplicate error message.
◦ Example 2:
▪ Line Type = Parts, Product = Parts A, Discount = 100%, Contract Line = CL001.
▪ Line Type = Parts, Product = Parts A, Discount = 50%, Contract Line = CL001. This throws a duplicate error message.
▪ Line Type = Parts, Product = Parts A, Negotiated Price = $50, Contract Line = CL001. This throws a duplicate error message.
▪ Line Type = Parts, Product = Parts A, Discount = 50%, Contract Line = CL002.
▪ Line Type = Parts, Product = Parts A, Negotiated Price = $50, Contract Line = CL002. This throws a duplicate error message.
◦ Example 3:
▪ Line Type = Parts, Product Family = Printer, Discount = 100%, Contract Line = CL001.
▪ Line Type = Parts, Product Family = Printer, Discount = 50%, Contract Line = CL001. This throws a duplicate error message.
▪ Line Type = Parts, Product Family = Printer, Negotiated Price = $50, Contract Line = CL001. This throws a duplicate error message.
▪ Line Type = Parts, Product Family = Printer, Discount = 50%, Contract Line = CL002.
▪ Line Type = Parts, Product Family = Printer, Negotiated Price = $50, Contract Line = CL002. This throws a duplicate error message.
4. When Line Type = Expense and Entitlement Service is blank on Negotiated Price Line record.
◦ No more than one line can have Discounted or Negotiated Price populated for the same Expense Item and Contract Line.
◦ Example 1:
▪ Line Type = Expense, Expense Option = Meal, Discount = 100%, Contract Line = CL001.
▪ Line Type = Expense, Expense Option = Meal, Discount = 50%, Contract Line = CL001. This throws a duplicate error message.
▪ Line Type = Expense, Expense Option = Meal, Negotiated Price = $50, Contract Line = CL001. This throws a duplicate error message
▪ Line Type = Expense, Expense Option = Meal, Negotiated Price = $50, Contract Line = CL002.
5. When Line Type = Parts/Labor/Travel, Entitlement Service, and Contract Line is NOT blank on Negotiated Price Line record.
◦ No two or more lines can have Discounted or Negotiated Price populated for the same Product, Product Family, Contract Line, and Entitled Service.
◦ Example 1:
▪ Line Type = Parts, Discount = 100%, Contract Line = CL001, Entitlement Service = Emergency.
▪ Line Type = Parts, Discount = 50%, Contract Line = CL001, Entitlement Service = Emergency. This throws a duplicate error message.
▪ Line Type = Parts, Negotiated Price = $50, Contract Line = CL001, Entitlement Service = Emergency. This throws a duplicate error message.
▪ Line Type = Parts, Discount = 50%, Contract Line = CL002, Entitlement Service = Emergency.
▪ Line Type = Parts, Negotiated Price = $50, Contract Line = CL002, Entitlement Service = Emergency. This throws a duplicate error message.
▪ Line Type = Parts, Discount = 50%, Contract Line = CL002, Entitlement Service = Onsite.
6. When Line Type = Expense, Entitlement Service and Contract Line is NOT blank on Negotiated Price Line record.
◦ No more than one line can have Discounted or Negotiated Price populated for the same Expense Item, Contract Line, and Entitled Service.
◦ Example 1:
▪ Line Type = Expense, Expense Option = Meal, Discount = 100%, Contract Line = CL001, Entitlement Service = Emergency.
▪ Line Type = Expense, Expense Option = Meal, Discount = 50%, Contract Line = CL001, Entitlement Service = Onsite.
▪ Line Type = Expense, Expense Option = Meal, Negotiated Price = $50, Contract Line = CL001, Entitlement Service = Emergency. This throws a duplicate error message.
▪ Line Type = Expense, Expense Option = Meal, Negotiated Price = $50, Contract Line = CL002.
|
If your org supports multi-currency, the duplicate logic also runs on the currency code for the same value of Entitled Price and throws an error for the duplication.
|