Contract Management measures

Contract

Measure Source and/or calculation
Amount Ordered Contract.AmountOrdered
Amount Requested Contract.AmountRequested
Lifetime Maximum Amount Contract.MaximumAmount
Per Order Minimum Amount Contract.PerOrderMinimumAmount
Proposed Total Contract Amount Contract.ProposedTotalContractAmount

Contract Line

Measure Source and/or calculation
CL Base Cost ContractLine.BaseCost

Contract Line Distribution

Measure Source and/or calculation
Account ContractLineDistribution.Account
Accounting Unit

IF [PO Contract Line Distribution.Accounting Unit] IS NOT NULL THEN

[Accounting Unit] = [PO Contract Line Distribution.Accounting Unit]

ELSE

[Accounting Unit] = GETVARIABLE('BlankCodeIdentifier')

END IF

Contract Line Distribution Alternate 1 Amount ContractLineDistribution.ReportCurrencyAmount.ToAlternateAmount.EnteredCurrencyAmount
Contract Line Distribution Alternate 2 Amount ContractLineDistribution.ReportCurrencyAmount.ToAlternateAmount2.EnteredCurrencyAmount
Contract Line Distribution Alternate 3 Amount ContractLineDistribution.ReportCurrencyAmount.ToAlternateAmount3.EnteredCurrencyAmount
Contract Line Distribution From Accounting Alternate 1 Amount ContractLineDistribution.ReportCurrencyAmount.AlternateAmount.EnteredCurrencyAmount
Contract Line Distribution From Accounting Alternate 2 Amount ContractLineDistribution.ReportCurrencyAmount.AlternateAmount2.EnteredCurrencyAmount
Contract Line Distribution From Accounting Alternate 3 Amount ContractLineDistribution.ReportCurrencyAmount.AlternateAmount3.EnteredCurrencyAmount
Contract Line Distribution Functional Amount ContractLineDistribution.ReportCurrencyAmount.ToFunctionalAmount.EnteredCurrencyAmount
Contract Line Distribution Percent ContractLineDistribution.Percent
Contract Line Distribution Project Amount ContractLineDistribution.ReportCurrencyAmount.ProjectAmount.EnteredCurrencyAmount
Contract Line Distribution Report 1 Amount ContractLineDistribution.ReportCurrencyAmount.ReportAmount1.EnteredCurrencyAmount
Contract Line Distribution Report 2 Amount ContractLineDistribution.ReportCurrencyAmount.ReportAmount2.EnteredCurrencyAmount
Contract Line Distribution Report 3 Amount ContractLineDistribution.ReportCurrencyAmount.ReportAmount3.EnteredCurrencyAmount
Contract Line Distribution Report 4 Amount ContractLineDistribution.ReportCurrencyAmount.ReportAmount4.EnteredCurrencyAmount
Contract Line Distribution Report 5 Amount ContractLineDistribution.ReportCurrencyAmount.ReportAmount5.EnteredCurrencyAmount
Ledger ContractLineDistribution.Ledger
Project

IF [PO Contract Line Distribution.Project] IS NOT NULL THEN

[Project] = [PO Contract Line Distribution.Project]

ELSE

[Project] = GETVARIABLE('BlankCodeIdentifier')

END IF

Contract Line Member

Measure Source and/or calculation
CLM Base Cost ContractLineMember.BaseCost
CLM Net Cost Override ContractLineMember.NetCostOverride

Payables Invoice Detail

Measure Source and/or calculation
PID Accrued Tax Amount PayablesInvoiceDetail.AccruedTaxAmount
PID Contract Line Base Cost PayablesInvoiceDetail.ContractLine.BaseCost
PID Discount Rate PayablesInvoiceDetail.DiscountRate
PID Entered Quantity PayablesInvoiceDetail.EnteredQuantity
PID Entered Unit Cost PayablesInvoiceDetail.EnteredUnitCost
PID Entered UOM Multiplier PayablesInvoiceDetail.EnteredUOMMultiplier
PID Extended Match Amount MatchedQuantity * MatchUnitCost
PID Invoice Extended Amount EnteredQuantity * EnteredUnitCost
PID Invoiced Tax Amount PayablesInvoiceDetail.InvoicedTaxAmount
PID Match Cost Variance

IF [AP Payables Invoice Detail.Purchase Order] <> 0 THEN

IF [Level(PO Line Attributes.PO Line Attributes).Item Type] IS NULL

OR [Level(PO Line Attributes.PO Line Attributes).Service Code] IS NULL

OR [Level(PO Line Attributes.PO Line Attributes).Entered Unit Cost] IS NULL THEN

[PID Match Cost Variance] = 0

ELSE

IF [Level(PO Line Attributes.PO Line Attributes).Item Type] <> 'Service'

OR [Level(PO Line Attributes.PO Line Attributes).Service Code] = 'Quantity' THEN

IF [AP Payables Invoice Detail.Suffix] = 111 THEN

[PID Match Cost Variance] = [AP Payables Invoice Detail.Matched Quantity]*[AP Payables Invoice Detail.Match Unit Cost]

ELSE

[PID Match Cost Variance] = ([AP Payables Invoice Detail.Matched Quantity]*[AP Payables Invoice Detail.Match Unit Cost]) -

([AP Payables Invoice Detail.Matched Quantity]*[Level(PO Line Attributes.PO Line Attributes).Entered Unit Cost])

END IF

ELSE

[PID Match Cost Variance] = 0

END IF

END IF

ELSE

IF [Level(Contract Line.Contract Line).CL Item Type] IS NULL

OR [Level(Contract Line.Contract Line).Service Code] IS NULL

OR [Level(Contract Line.Contract Line).Match Base Cost] IS NULL THEN

[PID Match Cost Variance] = 0

ELSE

IF [Level(Contract Line.Contract Line).CL Item Type] <> 'Service'

OR [Level(Contract Line.Contract Line).Service Code] = 'Quantity' THEN

IF [AP Payables Invoice Detail.Suffix] = 111 THEN

[PID Match Cost Variance] = [AP Payables Invoice Detail.Matched Quantity]*[AP Payables Invoice Detail.Match Unit Cost]

ELSE

[PID Match Cost Variance] = ([AP Payables Invoice Detail.Matched Quantity]*[AP Payables Invoice Detail.Match Unit Cost]) -

([AP Payables Invoice Detail.Matched Quantity]*[Level(Contract Line.Contract Line).Match Base Cost])

END IF

ELSE

[PID Match Cost Variance] = 0

END IF

END IF

END IF

IF [AP Payables Invoice Detail.Purchase Order] <> 0 THEN

IF [Level(PO Line Attributes.PO Line Attributes).Item Type] IS NULL

OR [Level(PO Line Attributes.PO Line Attributes).Service Code] IS NULL

OR [Level(PO Line Attributes.PO Line Attributes).Entered Unit Cost] IS NULL THEN

[PID Match Cost Variance Percent] = 0

ELSE

IF [Level(PO Line Attributes.PO Line Attributes).Item Type] <> 'Service'

OR [Level(PO Line Attributes.PO Line Attributes).Service Code] = 'Quantity' THEN

IF [AP Payables Invoice Detail.Suffix] = 111 THEN

[PID Match Cost Variance Percent] = ABS(([AP Payables Invoice Detail.Matched Quantity]*[AP Payables Invoice Detail.Match Unit Cost]) /

([AP Payables Invoice Detail.Matched Quantity]*[Level(PO Line Attributes.PO Line Attributes).Entered Unit Cost]))

ELSE

[PID Match Cost Variance Percent] = ABS((([AP Payables Invoice Detail.Matched Quantity]*[AP Payables Invoice Detail.Match Unit Cost]) -

([AP Payables Invoice Detail.Matched Quantity]*[Level(PO Line Attributes.PO Line Attributes).Entered Unit Cost])) /

([AP Payables Invoice Detail.Matched Quantity]*[Level(PO Line Attributes.PO Line Attributes).Entered Unit Cost]))

END IF

ELSE

[PID Match Cost Variance Percent] = 0

END IF

END IF

ELSE

IF [Level(Contract Line.Contract Line).CL Item Type] IS NULL

OR [Level(Contract Line.Contract Line).Service Code] IS NULL

OR [Level(Contract Line.Contract Line).Match Base Cost] IS NULL THEN

[PID Match Cost Variance Percent] = 0

ELSE

IF [Level(Contract Line.Contract Line).CL Item Type] <> 'Service'

OR [Level(Contract Line.Contract Line).Service Code] = 'Quantity' THEN

IF [AP Payables Invoice Detail.Suffix] = 111 THEN

[PID Match Cost Variance Percent] = ABS(([AP Payables Invoice Detail.Matched Quantity]*[AP Payables Invoice Detail.Match Unit Cost]) /

([AP Payables Invoice Detail.Matched Quantity]*[Level(Contract Line.Contract Line).Match Base Cost]))

ELSE

[PID Match Cost Variance Percent] = ABS((([AP Payables Invoice Detail.Matched Quantity]*[AP Payables Invoice Detail.Match Unit Cost]) -

([AP Payables Invoice Detail.Matched Quantity]*[Level(Contract Line.Contract Line).Match Base Cost])) /

([AP Payables Invoice Detail.Matched Quantity]*[Level(Contract Line.Contract Line).Match Base Cost]))

END IF

ELSE

[PID Match Cost Variance Percent] = 0

END IF

END IF

END IF

PID Match Cost Variance Percent

IF [AP Payables Invoice Detail.Purchase Order] <> 0 THEN

IF [Level(PO Line Attributes.PO Line Attributes).Item Type] IS NULL

OR [Level(PO Line Attributes.PO Line Attributes).Service Code] IS NULL

OR [Level(PO Line Attributes.PO Line Attributes).Entered Unit Cost] IS NULL THEN

[PID Match Cost Variance Percent] = 0

ELSE

IF [Level(PO Line Attributes.PO Line Attributes).Item Type] <> 'Service'

OR [Level(PO Line Attributes.PO Line Attributes).Service Code] = 'Quantity' THEN

IF [AP Payables Invoice Detail.Suffix] = 111 THEN

[PID Match Cost Variance Percent] = ABS(([AP Payables Invoice Detail.Matched Quantity]*[AP Payables Invoice Detail.Match Unit Cost]) /

([AP Payables Invoice Detail.Matched Quantity]*[Level(PO Line Attributes.PO Line Attributes).Entered Unit Cost]))

ELSE

[PID Match Cost Variance Percent] = ABS((([AP Payables Invoice Detail.Matched Quantity]*[AP Payables Invoice Detail.Match Unit Cost]) -

([AP Payables Invoice Detail.Matched Quantity]*[Level(PO Line Attributes.PO Line Attributes).Entered Unit Cost])) /

([AP Payables Invoice Detail.Matched Quantity]*[Level(PO Line Attributes.PO Line Attributes).Entered Unit Cost]))

END IF

ELSE

[PID Match Cost Variance Percent] = 0

END IF

END IF

ELSE

IF [Level(Contract Line.Contract Line).CL Item Type] IS NULL

OR [Level(Contract Line.Contract Line).Service Code] IS NULL

OR [Level(Contract Line.Contract Line).Match Base Cost] IS NULL THEN

[PID Match Cost Variance Percent] = 0

ELSE

IF [Level(Contract Line.Contract Line).CL Item Type] <> 'Service'

OR [Level(Contract Line.Contract Line).Service Code] = 'Quantity' THEN

IF [AP Payables Invoice Detail.Suffix] = 111 THEN

[PID Match Cost Variance Percent] = ABS(([AP Payables Invoice Detail.Matched Quantity]*[AP Payables Invoice Detail.Match Unit Cost]) /

([AP Payables Invoice Detail.Matched Quantity]*[Level(Contract Line.Contract Line).Match Base Cost]))

ELSE

[PID Match Cost Variance Percent] = ABS((([AP Payables Invoice Detail.Matched Quantity]*[AP Payables Invoice Detail.Match Unit Cost]) -

([AP Payables Invoice Detail.Matched Quantity]*[Level(Contract Line.Contract Line).Match Base Cost])) /

([AP Payables Invoice Detail.Matched Quantity]*[Level(Contract Line.Contract Line).Match Base Cost]))

END IF

ELSE

[PID Match Cost Variance Percent] = 0

END IF

END IF

END IF

PID Match Total Cost MatchedQuantity*MatchUnitCost
PID Match Unit Cost PayablesInvoiceDetail.MatchUnitCost
PID Matched Quantity PayablesInvoiceDetail.MatchedQuantity
PID No Contract Line Count

IF [AP Payables Invoice Detail.ContractKey] IS NULL THEN

IF [AP Payables Invoice Detail.Cost Code ID] = 'G' THEN

[SpendCategoryKey] = 1

[SpendCategoryKey Attribute] = 1

[PID On Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID On Contract Line Count] = 1

[PID On Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

[PID Off Contract Value] = 0

[PID Off Contract Line Count] = 0

[PID Off Contract Quantity] = 0

[PID No Contract Value] = 0

[PID No Contract Line Count] = 0

[PID No Contract Quantity] = 0

ELSEIF [AP Payables Invoice Detail.Item On Contract] = 'Yes' THEN

[SpendCategoryKey] = 2

[SpendCategoryKey Attribute] = 2

[PID Off Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID Off Contract Line Count] = 1

[PID Off Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

[PID On Contract Value] = 0

[PID On Contract Line Count] = 0

[PID On Contract Quantity] = 0

[PID No Contract Value] = 0

[PID No Contract Line Count] = 0

[PID No Contract Quantity] = 0

ELSE

[SpendCategoryKey] = 3

[SpendCategoryKey Attribute] = 3

[PID Off Contract Value] = 0

[PID Off Contract Line Count] = 0

[PID Off Contract Quantity] = 0

[PID On Contract Value] = 0

[PID On Contract Line Count] = 0

[PID On Contract Quantity] = 0

[PID No Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID No Contract Line Count] = 1

[PID No Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

END IF

ELSE

[SpendCategoryKey] = 1

[SpendCategoryKey Attribute] = 1

[PID On Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID On Contract Line Count] = 1

[PID On Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

[PID Off Contract Value] = 0

[PID Off Contract Line Count] = 0

[PID Off Contract Quantity] = 0

[PID No Contract Value] = 0

[PID No Contract Line Count] = 0

[PID No Contract Quantity] = 0

END IF

PID No Contract Quantity

IF [AP Payables Invoice Detail.ContractKey] IS NULL THEN

IF [AP Payables Invoice Detail.Cost Code ID] = 'G' THEN

[SpendCategoryKey] = 1

[SpendCategoryKey Attribute] = 1

[PID On Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID On Contract Line Count] = 1

[PID On Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

[PID Off Contract Value] = 0

[PID Off Contract Line Count] = 0

[PID Off Contract Quantity] = 0

[PID No Contract Value] = 0

[PID No Contract Line Count] = 0

[PID No Contract Quantity] = 0

ELSEIF [AP Payables Invoice Detail.Item On Contract] = 'Yes' THEN

[SpendCategoryKey] = 2

[SpendCategoryKey Attribute] = 2

[PID Off Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID Off Contract Line Count] = 1

[PID Off Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

[PID On Contract Value] = 0

[PID On Contract Line Count] = 0

[PID On Contract Quantity] = 0

[PID No Contract Value] = 0

[PID No Contract Line Count] = 0

[PID No Contract Quantity] = 0

ELSE

[SpendCategoryKey] = 3

[SpendCategoryKey Attribute] = 3

[PID Off Contract Value] = 0

[PID Off Contract Line Count] = 0

[PID Off Contract Quantity] = 0

[PID On Contract Value] = 0

[PID On Contract Line Count] = 0

[PID On Contract Quantity] = 0

[PID No Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID No Contract Line Count] = 1

[PID No Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

END IF

ELSE

[SpendCategoryKey] = 1

[SpendCategoryKey Attribute] = 1

[PID On Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID On Contract Line Count] = 1

[PID On Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

[PID Off Contract Value] = 0

[PID Off Contract Line Count] = 0

[PID Off Contract Quantity] = 0

[PID No Contract Value] = 0

[PID No Contract Line Count] = 0

[PID No Contract Quantity] = 0

END IF

PID No Contract Value

IF [AP Payables Invoice Detail.ContractKey] IS NULL THEN

IF [AP Payables Invoice Detail.Cost Code ID] = 'G' THEN

[SpendCategoryKey] = 1

[SpendCategoryKey Attribute] = 1

[PID On Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID On Contract Line Count] = 1

[PID On Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

[PID Off Contract Value] = 0

[PID Off Contract Line Count] = 0

[PID Off Contract Quantity] = 0

[PID No Contract Value] = 0

[PID No Contract Line Count] = 0

[PID No Contract Quantity] = 0

ELSEIF [AP Payables Invoice Detail.Item On Contract] = 'Yes' THEN

[SpendCategoryKey] = 2

[SpendCategoryKey Attribute] = 2

[PID Off Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID Off Contract Line Count] = 1

[PID Off Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

[PID On Contract Value] = 0

[PID On Contract Line Count] = 0

[PID On Contract Quantity] = 0

[PID No Contract Value] = 0

[PID No Contract Line Count] = 0

[PID No Contract Quantity] = 0

ELSE

[SpendCategoryKey] = 3

[SpendCategoryKey Attribute] = 3

[PID Off Contract Value] = 0

[PID Off Contract Line Count] = 0

[PID Off Contract Quantity] = 0

[PID On Contract Value] = 0

[PID On Contract Line Count] = 0

[PID On Contract Quantity] = 0

[PID No Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID No Contract Line Count] = 1

[PID No Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

END IF

ELSE

[SpendCategoryKey] = 1

[SpendCategoryKey Attribute] = 1

[PID On Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID On Contract Line Count] = 1

[PID On Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

[PID Off Contract Value] = 0

[PID Off Contract Line Count] = 0

[PID Off Contract Quantity] = 0

[PID No Contract Value] = 0

[PID No Contract Line Count] = 0

[PID No Contract Quantity] = 0

END IF

PID Off Contract Line Count

IF [AP Payables Invoice Detail.ContractKey] IS NULL THEN

IF [AP Payables Invoice Detail.Cost Code ID] = 'G' THEN

[SpendCategoryKey] = 1

[SpendCategoryKey Attribute] = 1

[PID On Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID On Contract Line Count] = 1

[PID On Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

[PID Off Contract Value] = 0

[PID Off Contract Line Count] = 0

[PID Off Contract Quantity] = 0

[PID No Contract Value] = 0

[PID No Contract Line Count] = 0

[PID No Contract Quantity] = 0

ELSEIF [AP Payables Invoice Detail.Item On Contract] = 'Yes' THEN

[SpendCategoryKey] = 2

[SpendCategoryKey Attribute] = 2

[PID Off Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID Off Contract Line Count] = 1

[PID Off Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

[PID On Contract Value] = 0

[PID On Contract Line Count] = 0

[PID On Contract Quantity] = 0

[PID No Contract Value] = 0

[PID No Contract Line Count] = 0

[PID No Contract Quantity] = 0

ELSE

[SpendCategoryKey] = 3

[SpendCategoryKey Attribute] = 3

[PID Off Contract Value] = 0

[PID Off Contract Line Count] = 0

[PID Off Contract Quantity] = 0

[PID On Contract Value] = 0

[PID On Contract Line Count] = 0

[PID On Contract Quantity] = 0

[PID No Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID No Contract Line Count] = 1

[PID No Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

END IF

ELSE

[SpendCategoryKey] = 1

[SpendCategoryKey Attribute] = 1

[PID On Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID On Contract Line Count] = 1

[PID On Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

[PID Off Contract Value] = 0

[PID Off Contract Line Count] = 0

[PID Off Contract Quantity] = 0

[PID No Contract Value] = 0

[PID No Contract Line Count] = 0

[PID No Contract Quantity] = 0

END IF

PID Off Contract Quantity

IF [AP Payables Invoice Detail.ContractKey] IS NULL THEN

IF [AP Payables Invoice Detail.Cost Code ID] = 'G' THEN

[SpendCategoryKey] = 1

[SpendCategoryKey Attribute] = 1

[PID On Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID On Contract Line Count] = 1

[PID On Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

[PID Off Contract Value] = 0

[PID Off Contract Line Count] = 0

[PID Off Contract Quantity] = 0

[PID No Contract Value] = 0

[PID No Contract Line Count] = 0

[PID No Contract Quantity] = 0

ELSEIF [AP Payables Invoice Detail.Item On Contract] = 'Yes' THEN

[SpendCategoryKey] = 2

[SpendCategoryKey Attribute] = 2

[PID Off Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID Off Contract Line Count] = 1

[PID Off Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

[PID On Contract Value] = 0

[PID On Contract Line Count] = 0

[PID On Contract Quantity] = 0

[PID No Contract Value] = 0

[PID No Contract Line Count] = 0

[PID No Contract Quantity] = 0

ELSE

[SpendCategoryKey] = 3

[SpendCategoryKey Attribute] = 3

[PID Off Contract Value] = 0

[PID Off Contract Line Count] = 0

[PID Off Contract Quantity] = 0

[PID On Contract Value] = 0

[PID On Contract Line Count] = 0

[PID On Contract Quantity] = 0

[PID No Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID No Contract Line Count] = 1

[PID No Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

END IF

ELSE

[SpendCategoryKey] = 1

[SpendCategoryKey Attribute] = 1

[PID On Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID On Contract Line Count] = 1

[PID On Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

[PID Off Contract Value] = 0

[PID Off Contract Line Count] = 0

[PID Off Contract Quantity] = 0

[PID No Contract Value] = 0

[PID No Contract Line Count] = 0

[PID No Contract Quantity] = 0

END IF

PID Off Contract Value

IF [AP Payables Invoice Detail.ContractKey] IS NULL THEN

IF [AP Payables Invoice Detail.Cost Code ID] = 'G' THEN

[SpendCategoryKey] = 1

[SpendCategoryKey Attribute] = 1

[PID On Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID On Contract Line Count] = 1

[PID On Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

[PID Off Contract Value] = 0

[PID Off Contract Line Count] = 0

[PID Off Contract Quantity] = 0

[PID No Contract Value] = 0

[PID No Contract Line Count] = 0

[PID No Contract Quantity] = 0

ELSEIF [AP Payables Invoice Detail.Item On Contract] = 'Yes' THEN

[SpendCategoryKey] = 2

[SpendCategoryKey Attribute] = 2

[PID Off Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID Off Contract Line Count] = 1

[PID Off Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

[PID On Contract Value] = 0

[PID On Contract Line Count] = 0

[PID On Contract Quantity] = 0

[PID No Contract Value] = 0

[PID No Contract Line Count] = 0

[PID No Contract Quantity] = 0

ELSE

[SpendCategoryKey] = 3

[SpendCategoryKey Attribute] = 3

[PID Off Contract Value] = 0

[PID Off Contract Line Count] = 0

[PID Off Contract Quantity] = 0

[PID On Contract Value] = 0

[PID On Contract Line Count] = 0

[PID On Contract Quantity] = 0

[PID No Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID No Contract Line Count] = 1

[PID No Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

END IF

ELSE

[SpendCategoryKey] = 1

[SpendCategoryKey Attribute] = 1

[PID On Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID On Contract Line Count] = 1

[PID On Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

[PID Off Contract Value] = 0

[PID Off Contract Line Count] = 0

[PID Off Contract Quantity] = 0

[PID No Contract Value] = 0

[PID No Contract Line Count] = 0

[PID No Contract Quantity] = 0

END IF

PID On Contract Line Count

IF [AP Payables Invoice Detail.ContractKey] IS NULL THEN

IF [AP Payables Invoice Detail.Cost Code ID] = 'G' THEN

[SpendCategoryKey] = 1

[SpendCategoryKey Attribute] = 1

[PID On Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID On Contract Line Count] = 1

[PID On Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

[PID Off Contract Value] = 0

[PID Off Contract Line Count] = 0

[PID Off Contract Quantity] = 0

[PID No Contract Value] = 0

[PID No Contract Line Count] = 0

[PID No Contract Quantity] = 0

ELSEIF [AP Payables Invoice Detail.Item On Contract] = 'Yes' THEN

[SpendCategoryKey] = 2

[SpendCategoryKey Attribute] = 2

[PID Off Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID Off Contract Line Count] = 1

[PID Off Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

[PID On Contract Value] = 0

[PID On Contract Line Count] = 0

[PID On Contract Quantity] = 0

[PID No Contract Value] = 0

[PID No Contract Line Count] = 0

[PID No Contract Quantity] = 0

ELSE

[SpendCategoryKey] = 3

[SpendCategoryKey Attribute] = 3

[PID Off Contract Value] = 0

[PID Off Contract Line Count] = 0

[PID Off Contract Quantity] = 0

[PID On Contract Value] = 0

[PID On Contract Line Count] = 0

[PID On Contract Quantity] = 0

[PID No Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID No Contract Line Count] = 1

[PID No Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

END IF

ELSE

[SpendCategoryKey] = 1

[SpendCategoryKey Attribute] = 1

[PID On Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID On Contract Line Count] = 1

[PID On Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

[PID Off Contract Value] = 0

[PID Off Contract Line Count] = 0

[PID Off Contract Quantity] = 0

[PID No Contract Value] = 0

[PID No Contract Line Count] = 0

[PID No Contract Quantity] = 0

END IF

PID On Contract Quantity

IF [AP Payables Invoice Detail.ContractKey] IS NULL THEN

IF [AP Payables Invoice Detail.Cost Code ID] = 'G' THEN

[SpendCategoryKey] = 1

[SpendCategoryKey Attribute] = 1

[PID On Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID On Contract Line Count] = 1

[PID On Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

[PID Off Contract Value] = 0

[PID Off Contract Line Count] = 0

[PID Off Contract Quantity] = 0

[PID No Contract Value] = 0

[PID No Contract Line Count] = 0

[PID No Contract Quantity] = 0

ELSEIF [AP Payables Invoice Detail.Item On Contract] = 'Yes' THEN

[SpendCategoryKey] = 2

[SpendCategoryKey Attribute] = 2

[PID Off Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID Off Contract Line Count] = 1

[PID Off Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

[PID On Contract Value] = 0

[PID On Contract Line Count] = 0

[PID On Contract Quantity] = 0

[PID No Contract Value] = 0

[PID No Contract Line Count] = 0

[PID No Contract Quantity] = 0

ELSE

[SpendCategoryKey] = 3

[SpendCategoryKey Attribute] = 3

[PID Off Contract Value] = 0

[PID Off Contract Line Count] = 0

[PID Off Contract Quantity] = 0

[PID On Contract Value] = 0

[PID On Contract Line Count] = 0

[PID On Contract Quantity] = 0

[PID No Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID No Contract Line Count] = 1

[PID No Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

END IF

ELSE

[SpendCategoryKey] = 1

[SpendCategoryKey Attribute] = 1

[PID On Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID On Contract Line Count] = 1

[PID On Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

[PID Off Contract Value] = 0

[PID Off Contract Line Count] = 0

[PID Off Contract Quantity] = 0

[PID No Contract Value] = 0

[PID No Contract Line Count] = 0

[PID No Contract Quantity] = 0

END IF

PID On Contract Value

IF [AP Payables Invoice Detail.ContractKey] IS NULL THEN

IF [AP Payables Invoice Detail.Cost Code ID] = 'G' THEN

[SpendCategoryKey] = 1

[SpendCategoryKey Attribute] = 1

[PID On Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID On Contract Line Count] = 1

[PID On Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

[PID Off Contract Value] = 0

[PID Off Contract Line Count] = 0

[PID Off Contract Quantity] = 0

[PID No Contract Value] = 0

[PID No Contract Line Count] = 0

[PID No Contract Quantity] = 0

ELSEIF [AP Payables Invoice Detail.Item On Contract] = 'Yes' THEN

[SpendCategoryKey] = 2

[SpendCategoryKey Attribute] = 2

[PID Off Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID Off Contract Line Count] = 1

[PID Off Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

[PID On Contract Value] = 0

[PID On Contract Line Count] = 0

[PID On Contract Quantity] = 0

[PID No Contract Value] = 0

[PID No Contract Line Count] = 0

[PID No Contract Quantity] = 0

ELSE

[SpendCategoryKey] = 3

[SpendCategoryKey Attribute] = 3

[PID Off Contract Value] = 0

[PID Off Contract Line Count] = 0

[PID Off Contract Quantity] = 0

[PID On Contract Value] = 0

[PID On Contract Line Count] = 0

[PID On Contract Quantity] = 0

[PID No Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID No Contract Line Count] = 1

[PID No Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

END IF

ELSE

[SpendCategoryKey] = 1

[SpendCategoryKey Attribute] = 1

[PID On Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID On Contract Line Count] = 1

[PID On Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

[PID Off Contract Value] = 0

[PID Off Contract Line Count] = 0

[PID Off Contract Quantity] = 0

[PID No Contract Value] = 0

[PID No Contract Line Count] = 0

[PID No Contract Quantity] = 0

END IF

PID PO Line Count

IF [AP Payables Invoice Detail.ContractKey] IS NULL THEN

IF [AP Payables Invoice Detail.Cost Code ID] = 'G' THEN

[SpendCategoryKey] = 1

[SpendCategoryKey Attribute] = 1

[PID On Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID On Contract Line Count] = 1

[PID On Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

[PID Off Contract Value] = 0

[PID Off Contract Line Count] = 0

[PID Off Contract Quantity] = 0

[PID No Contract Value] = 0

[PID No Contract Line Count] = 0

[PID No Contract Quantity] = 0

ELSEIF [AP Payables Invoice Detail.Item On Contract] = 'Yes' THEN

[SpendCategoryKey] = 2

[SpendCategoryKey Attribute] = 2

[PID Off Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID Off Contract Line Count] = 1

[PID Off Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

[PID On Contract Value] = 0

[PID On Contract Line Count] = 0

[PID On Contract Quantity] = 0

[PID No Contract Value] = 0

[PID No Contract Line Count] = 0

[PID No Contract Quantity] = 0

ELSE

[SpendCategoryKey] = 3

[SpendCategoryKey Attribute] = 3

[PID Off Contract Value] = 0

[PID Off Contract Line Count] = 0

[PID Off Contract Quantity] = 0

[PID On Contract Value] = 0

[PID On Contract Line Count] = 0

[PID On Contract Quantity] = 0

[PID No Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID No Contract Line Count] = 1

[PID No Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

END IF

ELSE

[SpendCategoryKey] = 1

[SpendCategoryKey Attribute] = 1

[PID On Contract Value] = [AP Payables Invoice Detail.Entered Unit Cost] * [AP Payables Invoice Detail.Entered Quantity]

[PID On Contract Line Count] = 1

[PID On Contract Quantity] = [AP Payables Invoice Detail.Entered Quantity]

[PID Off Contract Value] = 0

[PID Off Contract Line Count] = 0

[PID Off Contract Quantity] = 0

[PID No Contract Value] = 0

[PID No Contract Line Count] = 0

[PID No Contract Quantity] = 0

END IF

PID Tax Amount PayablesInvoiceDetail.TaxAmount
PID Taxable Unit Cost PayablesInvoiceDetail.TaxableUnitCost
PID Total Base Amount PayablesInvoiceDetail.TotalBaseAmount
PID Total Distribution Amount PayablesInvoiceDetail.TotalDistributionAmount
PID Vendor Buy UOM Multiplier PayablesInvoiceDetail.VendorBuyUOMMultiplier
PID Vendor Price UOM Multiplier PayablesInvoiceDetail.VendorPriceUOMMultiplier

Payables Invoice Fact

Measure Source and/or calculation
Amount Paid PayablesInvoice.AmountPaid
API Discount Amount 1 PayablesInvoice.DiscountAmount1
API Discount Amount 2 PayablesInvoice.DiscountAmount2
API Discount Amount 3 PayablesInvoice.DiscountAmount3
API Discount Percent 1 PayablesInvoice.DiscountPercent1
API Discount Percent 2 PayablesInvoice.DiscountPercent2
API Discount Percent 3 PayablesInvoice.DiscountPercent3
API Match Amount PayablesInvoice.MatchAmount
API Tax Amount PayablesInvoice.TaxAmount
API Taxable Amount PayablesInvoice.TaxableAmount
API Total Tax Amount PayablesInvoice.TotalTaxAmount
API Total Taxable Amount PayablesInvoice.TotalTaxableAmount
Base Discount Amount 1 PayablesInvoice.BaseDiscountAmount1
Base Discount Amount 2 PayablesInvoice.BaseDiscountAmount2
Base Discount Amount 3 PayablesInvoice.BaseDiscountAmount3
Customs Total PayablesInvoice.CustomsTotal
Discount Currency Amount PayablesInvoice.DiscountAmount.CurrencyAmount
Discount Functional Amount PayablesInvoice.DiscountAmount.FunctionalAmount.EnteredCurrencyAmount
Distribution Amount Functional Total PayablesInvoice.TotalDistributionAmount.FunctionalTotal
Distribution Amount Project Total PayablesInvoice.TotalDistributionAmount.ProjectTotal
Distribution Amount Transaction Total PayablesInvoice.TotalDistributionAmount.TransactionTotal
Income Withholding Percent PayablesInvoice.IncomeWithholdingCode.VendorWithholdingCodeRel.IncomeWithholdingPercent
Invoice Count PayablesInvoice.UniqueID
Invoice Currency Amount PayablesInvoice.InvoiceAmount.CurrencyAmount
Invoice Functional Amount PayablesInvoice.InvoiceAmount.FunctionalAmount.EnteredCurrencyAmount
Invoiced Electronically Count

IF ([FSM_PayablesInvoice.InvoiceSource] = 'EDI') THEN

[Invoiced Electronically Count] = 1

ELSE

[Invoiced Electronically Count] = 0

END IF

Matched Add On Charge Amount PayablesInvoice.MatchedAddOnChargeAmount
Open Invoice Amount if(Status < 6, InvoiceAmount.CurrencyAmount,0)
Open Invoice Count if(Status < 6, 1,0)
Other Add On Charges Total PayablesInvoice.OtherAddOnChargesTotal
Payment Amount Functional Total PayablesInvoice.TotalPaymentAmount.FunctionalTotal
Payment Amount Project Total PayablesInvoice.TotalPaymentAmount.ProjectTotal
Payment Amount Transaction Total PayablesInvoice.TotalPaymentAmount.TransactionTotal
PO Tax Amount PayablesInvoice.POTaxAmount
Retainage Amount PayablesInvoice.RetainageAmount
Retainage Payment Amount PayablesInvoice.RetainagePaymentAmount
Service Amount PayablesInvoice.ServiceAmount

Purchase Order Fact

Measure Source and/or calculation
Add On Charge Total PurchaseOrder.AddOnChargeTotal
Calendar Julian Date PurchaseOrder.GeneralLedgerCalendarPeriodXrefRel.GeneralLedgerCalendarPeriod
Open PO Count

IF ([PO Purchase Order.Closed] = 'Yes') THEN

[Open PO Count] = 0

ELSE

[Open PO Count] = 1

END IF

PO Count PurchaseOrder.TotalOrderAmount
POs Issued EDI if(IssueMethod = 'E', 1,0)
POs Transmitted Electronically

IF ([PO Purchase Order.Issue Method Code] IN ('E','I','F') OR [PO Purchase Order.Issue Method Code] IS NULL) THEN

[POs Transmitted Electronically] = 1

ELSE

[POs Transmitted Electronically] = 0

END IF

Receipt Header Count PurchaseOrder.ReceiptHeaderCount
Total Order Amount PurchaseOrder.TotalOrderAmount
Total Product Amount PurchaseOrder.TotalProductAmount
Total Tax Amount PurchaseOrder.TotalTaxAmount
Total Taxable Amount PurchaseOrder.TotalTaxableAmount

Purchase Order Line Fact

Measure Source and/or calculation
Archived Quantity PurchaseOrderLine.ArchivedQuantity
Cancel Quantity PurchaseOrderLine.CancelQuantity
Canceled Line Count

IF [Purchase Order Line.Cancel Quantity] = [Purchase Order Line.Quantity] THEN

[Canceled Line Count] = 1

ELSE

[Canceled Line Count] = 0

END IF

Entered Unit Cost PurchaseOrderLine.EnteredUnitCost
Entered Unit Cost Per Stock UOM PurchaseOrderLine.EnteredUnitCostPerStockUOM
Extended Receipt Value PurchaseOrderLine.ExtendedReceiptValue
Extended Rejected Value PurchaseOrderLine.ExtendedRejectedValue
Invoiced PO Line Count PurchaseOrderLine.InvoicedPOLineCount
Landed Unit Cost PurchaseOrderLine.LandedUnitCost
Lines Not Shipped Complete PurchaseOrderLine.LinesNotShippedComplete
Lines Shipped Complete PurchaseOrderLine.LinesShippedComplete
Matched Amount PurchaseOrderLine.MatchedAmount
Matched Line Value ([Purchase Order Line.Matched Quantity]) * [Purchase Order Line.Entered Unit Cost]
Matched PO Line Count

IF ([Purchase Order Line.Matched Quantity] < ([Purchase Order Line.Quantity] - [Purchase Order Line.Cancel Quantity])) THEN

[Unmatched PO Line Count] = 1

ELSE

[Unmatched PO Line Count] = 0

END IF

Matched Quantity PurchaseOrderLine.MatchedQuantity
Matched Quantity In Stock UOM PurchaseOrderLine.MatchedQuantityInStockUOM
Matched Unit Cost PurchaseOrderLine.MatchedUnitCost
No Contract Line Count

IF [PO Purchase Order Line.Spend Category Code] = 1 THEN

[On Contract Value] = [PO Purchase Order Line.Extended Amount]

[On Contract Line Count] = 1

[On Contract Quantity] = [PO Purchase Order Line.Quantity]

[Off Contract Value] = 0

[Off Contract Line Count] = 0

[Off Contract Quantity] = 0

[No Contract Value] = 0

[No Contract Quantity] = 0

[No Contract Line Count] = 0

ELSEIF [PO Purchase Order Line.Spend Category Code] = 2 THEN

[Off Contract Value] = [PO Purchase Order Line.Extended Amount]

[Off Contract Line Count] = 1

[Off Contract Quantity] = [PO Purchase Order Line.Quantity]

[On Contract Value] = 0

[On Contract Line Count] = 0

[On Contract Quantity] = 0

[No Contract Value] = 0

[No Contract Quantity] = 0

[No Contract Line Count] = 0

ELSEIF [PO Purchase Order Line.Spend Category Code] = 3 THEN

[Off Contract Value] = 0

[Off Contract Line Count] = 0

[Off Contract Quantity] = 0

[On Contract Value] = 0

[On Contract Line Count] = 0

[On Contract Quantity] = 0

[No Contract Value] = [PO Purchase Order Line.Extended Amount]

[No Contract Quantity] = [PO Purchase Order Line.Quantity]

[No Contract Line Count] = 1

END IF

No Contract Quantity

IF [PO Purchase Order Line.Spend Category Code] = 1 THEN

[On Contract Value] = [PO Purchase Order Line.Extended Amount]

[On Contract Line Count] = 1

[On Contract Quantity] = [PO Purchase Order Line.Quantity]

[Off Contract Value] = 0

[Off Contract Line Count] = 0

[Off Contract Quantity] = 0

[No Contract Value] = 0

[No Contract Quantity] = 0

[No Contract Line Count] = 0

ELSEIF [PO Purchase Order Line.Spend Category Code] = 2 THEN

[Off Contract Value] = [PO Purchase Order Line.Extended Amount]

[Off Contract Line Count] = 1

[Off Contract Quantity] = [PO Purchase Order Line.Quantity]

[On Contract Value] = 0

[On Contract Line Count] = 0

[On Contract Quantity] = 0

[No Contract Value] = 0

[No Contract Quantity] = 0

[No Contract Line Count] = 0

ELSEIF [PO Purchase Order Line.Spend Category Code] = 3 THEN

[Off Contract Value] = 0

[Off Contract Line Count] = 0

[Off Contract Quantity] = 0

[On Contract Value] = 0

[On Contract Line Count] = 0

[On Contract Quantity] = 0

[No Contract Value] = [PO Purchase Order Line.Extended Amount]

[No Contract Quantity] = [PO Purchase Order Line.Quantity]

[No Contract Line Count] = 1

END IF

No Contract Value

IF [PO Purchase Order Line.Spend Category Code] = 1 THEN

[On Contract Value] = [PO Purchase Order Line.Extended Amount]

[On Contract Line Count] = 1

[On Contract Quantity] = [PO Purchase Order Line.Quantity]

[Off Contract Value] = 0

[Off Contract Line Count] = 0

[Off Contract Quantity] = 0

[No Contract Value] = 0

[No Contract Quantity] = 0

[No Contract Line Count] = 0

ELSEIF [PO Purchase Order Line.Spend Category Code] = 2 THEN

[Off Contract Value] = [PO Purchase Order Line.Extended Amount]

[Off Contract Line Count] = 1

[Off Contract Quantity] = [PO Purchase Order Line.Quantity]

[On Contract Value] = 0

[On Contract Line Count] = 0

[On Contract Quantity] = 0

[No Contract Value] = 0

[No Contract Quantity] = 0

[No Contract Line Count] = 0

ELSEIF [PO Purchase Order Line.Spend Category Code] = 3 THEN

[Off Contract Value] = 0

[Off Contract Line Count] = 0

[Off Contract Quantity] = 0

[On Contract Value] = 0

[On Contract Line Count] = 0

[On Contract Quantity] = 0

[No Contract Value] = [PO Purchase Order Line.Extended Amount]

[No Contract Quantity] = [PO Purchase Order Line.Quantity]

[No Contract Line Count] = 1

END IF

Off Contract Line Count

IF [PO Purchase Order Line.Spend Category Code] = 1 THEN

[On Contract Value] = [PO Purchase Order Line.Extended Amount]

[On Contract Line Count] = 1

[On Contract Quantity] = [PO Purchase Order Line.Quantity]

[Off Contract Value] = 0

[Off Contract Line Count] = 0

[Off Contract Quantity] = 0

[No Contract Value] = 0

[No Contract Quantity] = 0

[No Contract Line Count] = 0

ELSEIF [PO Purchase Order Line.Spend Category Code] = 2 THEN

[Off Contract Value] = [PO Purchase Order Line.Extended Amount]

[Off Contract Line Count] = 1

[Off Contract Quantity] = [PO Purchase Order Line.Quantity]

[On Contract Value] = 0

[On Contract Line Count] = 0

[On Contract Quantity] = 0

[No Contract Value] = 0

[No Contract Quantity] = 0

[No Contract Line Count] = 0

ELSEIF [PO Purchase Order Line.Spend Category Code] = 3 THEN

[Off Contract Value] = 0

[Off Contract Line Count] = 0

[Off Contract Quantity] = 0

[On Contract Value] = 0

[On Contract Line Count] = 0

[On Contract Quantity] = 0

[No Contract Value] = [PO Purchase Order Line.Extended Amount]

[No Contract Quantity] = [PO Purchase Order Line.Quantity]

[No Contract Line Count] = 1

END IF

Off Contract Quantity

IF [PO Purchase Order Line.Spend Category Code] = 1 THEN

[On Contract Value] = [PO Purchase Order Line.Extended Amount]

[On Contract Line Count] = 1

[On Contract Quantity] = [PO Purchase Order Line.Quantity]

[Off Contract Value] = 0

[Off Contract Line Count] = 0

[Off Contract Quantity] = 0

[No Contract Value] = 0

[No Contract Quantity] = 0

[No Contract Line Count] = 0

ELSEIF [PO Purchase Order Line.Spend Category Code] = 2 THEN

[Off Contract Value] = [PO Purchase Order Line.Extended Amount]

[Off Contract Line Count] = 1

[Off Contract Quantity] = [PO Purchase Order Line.Quantity]

[On Contract Value] = 0

[On Contract Line Count] = 0

[On Contract Quantity] = 0

[No Contract Value] = 0

[No Contract Quantity] = 0

[No Contract Line Count] = 0

ELSEIF [PO Purchase Order Line.Spend Category Code] = 3 THEN

[Off Contract Value] = 0

[Off Contract Line Count] = 0

[Off Contract Quantity] = 0

[On Contract Value] = 0

[On Contract Line Count] = 0

[On Contract Quantity] = 0

[No Contract Value] = [PO Purchase Order Line.Extended Amount]

[No Contract Quantity] = [PO Purchase Order Line.Quantity]

[No Contract Line Count] = 1

END IF

Off Contract Value

IF [PO Purchase Order Line.Spend Category Code] = 1 THEN

[On Contract Value] = [PO Purchase Order Line.Extended Amount]

[On Contract Line Count] = 1

[On Contract Quantity] = [PO Purchase Order Line.Quantity]

[Off Contract Value] = 0

[Off Contract Line Count] = 0

[Off Contract Quantity] = 0

[No Contract Value] = 0

[No Contract Quantity] = 0

[No Contract Line Count] = 0

ELSEIF [PO Purchase Order Line.Spend Category Code] = 2 THEN

[Off Contract Value] = [PO Purchase Order Line.Extended Amount]

[Off Contract Line Count] = 1

[Off Contract Quantity] = [PO Purchase Order Line.Quantity]

[On Contract Value] = 0

[On Contract Line Count] = 0

[On Contract Quantity] = 0

[No Contract Value] = 0

[No Contract Quantity] = 0

[No Contract Line Count] = 0

ELSEIF [PO Purchase Order Line.Spend Category Code] = 3 THEN

[Off Contract Value] = 0

[Off Contract Line Count] = 0

[Off Contract Quantity] = 0

[On Contract Value] = 0

[On Contract Line Count] = 0

[On Contract Quantity] = 0

[No Contract Value] = [PO Purchase Order Line.Extended Amount]

[No Contract Quantity] = [PO Purchase Order Line.Quantity]

[No Contract Line Count] = 1

END IF

On Contract Line Count

IF [PO Purchase Order Line.Spend Category Code] = 1 THEN

[On Contract Value] = [PO Purchase Order Line.Extended Amount]

[On Contract Line Count] = 1

[On Contract Quantity] = [PO Purchase Order Line.Quantity]

[Off Contract Value] = 0

[Off Contract Line Count] = 0

[Off Contract Quantity] = 0

[No Contract Value] = 0

[No Contract Quantity] = 0

[No Contract Line Count] = 0

ELSEIF [PO Purchase Order Line.Spend Category Code] = 2 THEN

[Off Contract Value] = [PO Purchase Order Line.Extended Amount]

[Off Contract Line Count] = 1

[Off Contract Quantity] = [PO Purchase Order Line.Quantity]

[On Contract Value] = 0

[On Contract Line Count] = 0

[On Contract Quantity] = 0

[No Contract Value] = 0

[No Contract Quantity] = 0

[No Contract Line Count] = 0

ELSEIF [PO Purchase Order Line.Spend Category Code] = 3 THEN

[Off Contract Value] = 0

[Off Contract Line Count] = 0

[Off Contract Quantity] = 0

[On Contract Value] = 0

[On Contract Line Count] = 0

[On Contract Quantity] = 0

[No Contract Value] = [PO Purchase Order Line.Extended Amount]

[No Contract Quantity] = [PO Purchase Order Line.Quantity]

[No Contract Line Count] = 1

END IF

On Contract Quantity

IF [PO Purchase Order Line.Spend Category Code] = 1 THEN

[On Contract Value] = [PO Purchase Order Line.Extended Amount]

[On Contract Line Count] = 1

[On Contract Quantity] = [PO Purchase Order Line.Quantity]

[Off Contract Value] = 0

[Off Contract Line Count] = 0

[Off Contract Quantity] = 0

[No Contract Value] = 0

[No Contract Quantity] = 0

[No Contract Line Count] = 0

ELSEIF [PO Purchase Order Line.Spend Category Code] = 2 THEN

[Off Contract Value] = [PO Purchase Order Line.Extended Amount]

[Off Contract Line Count] = 1

[Off Contract Quantity] = [PO Purchase Order Line.Quantity]

[On Contract Value] = 0

[On Contract Line Count] = 0

[On Contract Quantity] = 0

[No Contract Value] = 0

[No Contract Quantity] = 0

[No Contract Line Count] = 0

ELSEIF [PO Purchase Order Line.Spend Category Code] = 3 THEN

[Off Contract Value] = 0

[Off Contract Line Count] = 0

[Off Contract Quantity] = 0

[On Contract Value] = 0

[On Contract Line Count] = 0

[On Contract Quantity] = 0

[No Contract Value] = [PO Purchase Order Line.Extended Amount]

[No Contract Quantity] = [PO Purchase Order Line.Quantity]

[No Contract Line Count] = 1

END IF

On Contract Value

IF [PO Purchase Order Line.Spend Category Code] = 1 THEN

[On Contract Value] = [PO Purchase Order Line.Extended Amount]

[On Contract Line Count] = 1

[On Contract Quantity] = [PO Purchase Order Line.Quantity]

[Off Contract Value] = 0

[Off Contract Line Count] = 0

[Off Contract Quantity] = 0

[No Contract Value] = 0

[No Contract Quantity] = 0

[No Contract Line Count] = 0

ELSEIF [PO Purchase Order Line.Spend Category Code] = 2 THEN

[Off Contract Value] = [PO Purchase Order Line.Extended Amount]

[Off Contract Line Count] = 1

[Off Contract Quantity] = [PO Purchase Order Line.Quantity]

[On Contract Value] = 0

[On Contract Line Count] = 0

[On Contract Quantity] = 0

[No Contract Value] = 0

[No Contract Quantity] = 0

[No Contract Line Count] = 0

ELSEIF [PO Purchase Order Line.Spend Category Code] = 3 THEN

[Off Contract Value] = 0

[Off Contract Line Count] = 0

[Off Contract Quantity] = 0

[On Contract Value] = 0

[On Contract Line Count] = 0

[On Contract Quantity] = 0

[No Contract Value] = [PO Purchase Order Line.Extended Amount]

[No Contract Quantity] = [PO Purchase Order Line.Quantity]

[No Contract Line Count] = 1

END IF

On Order Quantity

IF [PO Purchase Order Line.Spend Category Code] = 1 THEN

[On Contract Value] = [PO Purchase Order Line.Extended Amount]

[On Contract Line Count] = 1

[On Contract Quantity] = [PO Purchase Order Line.Quantity]

[Off Contract Value] = 0

[Off Contract Line Count] = 0

[Off Contract Quantity] = 0

[No Contract Value] = 0

[No Contract Quantity] = 0

[No Contract Line Count] = 0

ELSEIF [PO Purchase Order Line.Spend Category Code] = 2 THEN

[Off Contract Value] = [PO Purchase Order Line.Extended Amount]

[Off Contract Line Count] = 1

[Off Contract Quantity] = [PO Purchase Order Line.Quantity]

[On Contract Value] = 0

[On Contract Line Count] = 0

[On Contract Quantity] = 0

[No Contract Value] = 0

[No Contract Quantity] = 0

[No Contract Line Count] = 0

ELSEIF [PO Purchase Order Line.Spend Category Code] = 3 THEN

[Off Contract Value] = 0

[Off Contract Line Count] = 0

[Off Contract Quantity] = 0

[On Contract Value] = 0

[On Contract Line Count] = 0

[On Contract Quantity] = 0

[No Contract Value] = [PO Purchase Order Line.Extended Amount]

[No Contract Quantity] = [PO Purchase Order Line.Quantity]

[No Contract Line Count] = 1

END IF

On Order Value

IF [PO Purchase Order Line.Spend Category Code] = 1 THEN

[On Contract Value] = [PO Purchase Order Line.Extended Amount]

[On Contract Line Count] = 1

[On Contract Quantity] = [PO Purchase Order Line.Quantity]

[Off Contract Value] = 0

[Off Contract Line Count] = 0

[Off Contract Quantity] = 0

[No Contract Value] = 0

[No Contract Quantity] = 0

[No Contract Line Count] = 0

ELSEIF [PO Purchase Order Line.Spend Category Code] = 2 THEN

[Off Contract Value] = [PO Purchase Order Line.Extended Amount]

[Off Contract Line Count] = 1

[Off Contract Quantity] = [PO Purchase Order Line.Quantity]

[On Contract Value] = 0

[On Contract Line Count] = 0

[On Contract Quantity] = 0

[No Contract Value] = 0

[No Contract Quantity] = 0

[No Contract Line Count] = 0

ELSEIF [PO Purchase Order Line.Spend Category Code] = 3 THEN

[Off Contract Value] = 0

[Off Contract Line Count] = 0

[Off Contract Quantity] = 0

[On Contract Value] = 0

[On Contract Line Count] = 0

[On Contract Quantity] = 0

[No Contract Value] = [PO Purchase Order Line.Extended Amount]

[No Contract Quantity] = [PO Purchase Order Line.Quantity]

[No Contract Line Count] = 1

END IF

Open Order Quantity

IF [PO Purchase Order Line.Purchase Order Line Life Cycle State] = 'Closed' THEN

[Open Order Quantity] = 0

ELSE

[Open Order Quantity] = [PO Purchase Order Line.Quantity]

END IF

Open PO Line Count

IF [PO Purchase Order Line.Purchase Order Line Life Cycle State] = 'Closed' THEN

[Open PO Line Count] = 0

ELSE

[Open PO Line Count] = 1

END IF

Open Purchase Amount PurchaseOrderLine.OpenPurchaseAmount
Open Quantity [Purchase Order Line.Quantity To Process] - [Purchase Order Line.Received Quantity]
Open To Match

DIM [v_Sum_MAD_MatchQuantity] AS FLOAT = 0.0

DIM [v_Sum_MAD_MatchUnitCost] AS FLOAT = 0.0

DIM [v_Sum_MAD_MatchAmount] AS FLOAT = 0.0

[v_Sum_MAD_MatchQuantity] = IFNULL([Level(Payables Invoice Detail Aggregate by PO Line.Payables Invoice Detail Aggregate by PO Line).Matched Quantity], 0.0)

[v_Sum_MAD_MatchUnitCost] = IFNULL([Level(Payables Invoice Detail Aggregate by PO Line.Payables Invoice Detail Aggregate by PO Line).Match Unit Cost], 0.0)

[v_Sum_MAD_MatchAmount] = [v_Sum_MAD_MatchQuantity] * [v_Sum_MAD_MatchUnitCost]

IF [PO Purchase Order Line.Item Type Code] = 'S' THEN

[Open To Match] = ([PO Purchase Order Line.Quantity] * [PO Purchase Order Line.Entered Unit Cost])

- [v_Sum_MAD_MatchAmount] - [PO Purchase Order Line.Service Cancel Amount]

ELSE

IF ([PO Purchase Order Line.Received Quantity] - [PO Purchase Order Line.Matched Quantity] - [PO Purchase Order Line.Archived Quantity]) < 1 THEN

[Open To Match] = 0

ELSE

[Open To Match] = ([PO Purchase Order Line.Received Quantity] - [PO Purchase Order Line.Matched Quantity] - [PO Purchase Order Line.Archived Quantity]) * [PO Purchase Order Line.Entered Unit Cost]

END IF

PLI Matched Not Received Quantity PurchaseOrderLine.MatchedNotReceivedQuantity
PLI Quantity PurchaseOrderLine.Quantity
PO Line Count PurchaseOrderLine.UniqueID
PO Line Extended Amount PurchaseOrderLine.ExtendedAmount
PO Lines Delivered To Correct Location PurchaseOrderLine.POLinesDeliveredToCorrectLocation
PO Lines Over Received PurchaseOrderLine.POLinesOverReceived
PO Lines Received PurchaseOrderLine.POLinesReceived
PO Lines Unreceived PurchaseOrderLine.POLinesUnreceived
Quantity In Stock UOM

IF [PO Purchase Order Line.Entered Buy UOM Multiplier] <> NULL THEN

[Quantity In Stock UOM] = [PO Purchase Order Line.Entered Buy UOM Multiplier] * [PO Purchase Order Line.Quantity]

ELSE

[Quantity In Stock UOM] = 0

END IF

Quantity Received On Time

IF [PO Purchase Order Line.Late Delivery Date] <> NULL AND [PO Purchase Order Line.Receiving Activity Date] <> NULL THEN

IF [PO Purchase Order Line.Receiving Activity Date] <= [PO Purchase Order Line.Late Delivery Date] THEN

[Quantity Received On Time] = [PO Purchase Order Line.Received Quantity]

ELSE

[Quantity Received On Time] = 0

END IF

ELSEIF [PO Purchase Order Line.Receiving Activity Date] <= [PO Purchase Order Line.Early Delivery Date] AND [PO Purchase Order Line.Receiving Activity Date] <> NULL THEN

[Quantity Received On Time] = [PO Purchase Order Line.Received Quantity]

ELSE

[Quantity Received On Time] = 0

END IF

Quantity Shipped Complete PurchaseOrderLine.
Quantity To Process PurchaseOrderLine.QuantityToProcess
Received Late

IF [PO Purchase Order Line.Late Delivery Date] <> NULL AND [PO Purchase Order Line.Receiving Activity Date] <> NULL THEN

IF [PO Purchase Order Line.Receiving Activity Date] > [PO Purchase Order Line.Late Delivery Date] THEN

[Received Late] = 1

ELSE

[Received Late] = 0

END IF

ELSEIF [PO Purchase Order Line.Receiving Activity Date] > [PO Purchase Order Line.Early Delivery Date] AND [PO Purchase Order Line.Receiving Activity Date] <> NULL THEN

[Received Late] = 1

ELSE

[Received Late] = 0

END IF

Received On Time

IF [PO Purchase Order Line.Late Delivery Date] <> NULL AND [PO Purchase Order Line.Receiving Activity Date] <> NULL THEN

IF [PO Purchase Order Line.Receiving Activity Date] <= [PO Purchase Order Line.Late Delivery Date] THEN

[Received On Time] = 1

ELSE

[Received On Time] = 0

END IF

ELSEIF [PO Purchase Order Line.Receiving Activity Date] <= [PO Purchase Order Line.Early Delivery Date] AND [PO Purchase Order Line.Receiving Activity Date] <> NULL THEN

[Received On Time] = 1

ELSE

[Received On Time] = 0

END IF

Received Quantity PurchaseOrderLine.ReceivedQuantity
Rejected Quantity PurchaseOrderLine.RejectedQuantity
Service Cancel Amount PurchaseOrderLine.ServiceCancelAmount
Unmatched PO Line Count

IF ([PO Purchase Order Line.Matched Quantity] < ([PO Purchase Order Line.Quantity] - [PO Purchase Order Line.Cancel Quantity])) THEN

[Unmatched PO Line Count] = 1

ELSE

[Unmatched PO Line Count] = 0

END IF

Unmatched Quantity

IF ([PO Purchase Order Line.Quantity] - [PO Purchase Order Line.Matched Quantity] - [PO Purchase Order Line.Cancel Quantity]) > 0 THEN

[Unmatched Quantity] = [PO Purchase Order Line.Quantity] - [PO Purchase Order Line.Matched Quantity] - [PO Purchase Order Line.Cancel Quantity]

ELSE

[Unmatched Quantity] = 0

END IF

Write Off Quantity PurchaseOrderLine.WriteOffQuantity