KBA-01579: How SPRLineDetailsRow is filled from the BFA workbook


How is SPRLineDetailsRow filled from the BFA workbook?


In order to access UOP data in templates and calculations on the Production Units Doc type, you need to understand how the financial snapshot fields are mapped to the item financial information row. SPRLineDetailsRow is filled from BFA (xsfForecast == PFARow) in this way:

  • All nulls are treated as zero
  • .ApprovedQuantity = PFARow.RevisionUnits
  • If Not PFARow.IsCurrentBudgetNull Then .ApprovedAmount = PFARow.CurrentBudget
  • If Not PFARow.IsOriginalBudgetNull Then .ApprovedAmount -= PFARow.OriginalBudget
  • UOM = PFARow.UOM
  • If Not PFARow.IsCurrentBudgetNull Then .ContractAmount = PFARow.CurrentBudget
  • If Not PFARow.IsRevisionUnitsNull Then .ContractUnits = PFARow.RevisionUnits
  • If Not PFARow.IsOriginalUnitsNull Then .ContractUnits += PFARow.OriginalUnits
  • If Not PFARow.IsActualUnitsNull Then
    • .ReceivedUnits = PFARow.ActualUnits
    • If PFARow.RowType= T Then .ApprovedQuantity = PFARow.ActualUnits


  • DocItemSPRLineDetails.ContractUnits == BFA RevisionUnits == Current total EAC Units
  • DocItemSPRLineDetails.ContractUnits + ItemTask.Quantity = Current total EAC Units + Current Item Qty => New total

Additional Comments

(xsfForecast == PFARow) For TASK rows (where UOP lives), the financial snapshot stores the UOP EAC Units into the RevisionUnits field.  The calculation is based on the UOP account category, which of course defaults to UOP.  To check the configured UOP name, try SELECT dbo.f_SOLPJControlData(‘TIMESHEET-INFO ‘,‘PA‘,53,16) as UOPAcct.

KBA-01579; Last updated: September 19, 2017 at 7:54 am 
Keywords:  UOP Production Units for templates and calculations