@AccessControl.authorizationCheck: #NOT_REQUIRED
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType: {
serviceQuality: #D,
sizeCategory: #XL,
dataClass: #MIXED
}
@VDM.private: true
@VDM.viewType: #CONSUMPTION
define view entity P_EBPAO_OrderPlanDebitCost
with parameters
P_Ledger : fins_ledger,
P_FromFiscalYearPeriod : fins_fyearperiod,
P_ToFiscalYearPeriod : fins_fyearperiod
as select from I_FinancialPlanningEntryItem as PlanCost
inner join I_MfgOrdPlngCat as PlanCategory on PlanCategory.PlanningCategory = PlanCost.PlanningCategory
and PlanCategory.PlngCatIsForOrdReltdPlnCost = 'X'
// inner join I_ProductCostCtrlgOrder as OrderHeader on PlanCost.OrderID = OrderHeader.OrderID
inner join P_EBPAO_ORDERCONTEXTFORITM as OrderContext on PlanCost.CompanyCode = OrderContext.CompanyCode
and PlanCost.OrderID = OrderContext.OrderID
and (
PlanCost.OrderItem = OrderContext.ItemNumber
)
{
key OrderContext.OrderID,
key PlanCost.OrderItem,
key OrderContext.CompanyCode,
key OrderContext.Product as Product,
OrderContext.ProfitCenter,
OrderContext.ControllingArea,
OrderContext.Plant,
cast(' ' as meins) as BaseUnit,
PlanCost.CompanyCodeCurrency as CompanyCodeCurrency,
PlanCost.GlobalCurrency as GlobalCurrency,
PlanCost.FreeDefinedCurrency1 as FreeDefinedCurrency1,
PlanCost.FreeDefinedCurrency2 as FreeDefinedCurrency2,
PlanCost.FreeDefinedCurrency3 as FreeDefinedCurrency3,
PlanCost.FreeDefinedCurrency4 as FreeDefinedCurrency4,
PlanCost.FreeDefinedCurrency5 as FreeDefinedCurrency5,
PlanCost.FreeDefinedCurrency6 as FreeDefinedCurrency6,
PlanCost.FreeDefinedCurrency7 as FreeDefinedCurrency7,
PlanCost.FreeDefinedCurrency8 as FreeDefinedCurrency8,
@Aggregation.default: #SUM
@Semantics.amount.currencyCode: 'CompanyCodeCurrency'
sum(PlanCost.AmountInCompanyCodeCurrency) as AmountInCompanyCodeCurrency,
@Aggregation.default: #SUM
@Semantics.amount.currencyCode: 'GlobalCurrency'
sum(PlanCost.AmountInGlobalCurrency) as AmountInGlobalCurrency,
@Aggregation.default: #SUM
@Semantics.amount.currencyCode: 'FreeDefinedCurrency1'
sum(PlanCost.AmountInFreeDefinedCurrency1) as AmountInFreeDefinedCurrency1,
@Aggregation.default: #SUM
@Semantics.amount.currencyCode: 'FreeDefinedCurrency2'
sum(PlanCost.AmountInFreeDefinedCurrency2) as AmountInFreeDefinedCurrency2,
@Aggregation.default: #SUM
@Semantics.amount.currencyCode: 'FreeDefinedCurrency3'
sum(PlanCost.AmountInFreeDefinedCurrency3) as AmountInFreeDefinedCurrency3,
@Aggregation.default: #SUM
@Semantics.amount.currencyCode: 'FreeDefinedCurrency4'
sum(PlanCost.AmountInFreeDefinedCurrency4) as AmountInFreeDefinedCurrency4,
@Aggregation.default: #SUM
@Semantics.amount.currencyCode: 'FreeDefinedCurrency5'
sum(PlanCost.AmountInFreeDefinedCurrency5) as AmountInFreeDefinedCurrency5,
@Aggregation.default: #SUM
@Semantics.amount.currencyCode: 'FreeDefinedCurrency6'
sum(PlanCost.AmountInFreeDefinedCurrency6) as AmountInFreeDefinedCurrency6,
@Aggregation.default: #SUM
@Semantics.amount.currencyCode: 'FreeDefinedCurrency7'
sum(PlanCost.AmountInFreeDefinedCurrency7) as AmountInFreeDefinedCurrency7,
@Aggregation.default: #SUM
@Semantics.amount.currencyCode: 'FreeDefinedCurrency8'
sum(PlanCost.AmountInFreeDefinedCurrency8) as AmountInFreeDefinedCurrency8
}
where
PlanCost.FiscalYearPeriod >= $parameters.P_FromFiscalYearPeriod
and PlanCost.FiscalYearPeriod <= $parameters.P_ToFiscalYearPeriod
and PlanCost.Ledger = $parameters.P_Ledger
and(
OrderContext.MfgOrderHasMultipleItems = ''
and (
PlanCost.ControllingDebitCreditCode = 'H' /* Debit */
or PlanCost.ControllingDebitCreditCode = 'S' /* Debit */
)
and PlanCost.AccountAssignmentType = 'OR' /* Order Header */
or(
OrderContext.MfgOrderHasMultipleItems = 'X'
and( /* Debits on Header level - Goods Issues / Confirmations */
(
PlanCost.ControllingDebitCreditCode = 'H' /* Debit */
or PlanCost.ControllingDebitCreditCode = 'S' /* Debit */
)
and PlanCost.AccountAssignmentType = 'OP' /* Order Item */
)
)
)
// and OrderContext.OrderIsEventBasedPosting = 'X'
// and OrderContext.ActualReleasedDate != '00000000'
and (
OrderContext.OrderCategory = '10'
or OrderContext.OrderCategory = '40'
)
and PlanCost.CostEstimateValidityStartDate = '00000000'
group by
OrderContext.OrderID,
PlanCost.OrderItem,
OrderContext.CompanyCode,
OrderContext.ProfitCenter,
OrderContext.ControllingArea,
OrderContext.Plant,
OrderContext.Product,
PlanCost.CompanyCodeCurrency,
PlanCost.GlobalCurrency,
PlanCost.FreeDefinedCurrency1,
PlanCost.FreeDefinedCurrency2,
PlanCost.FreeDefinedCurrency3,
PlanCost.FreeDefinedCurrency4,
PlanCost.FreeDefinedCurrency5,
PlanCost.FreeDefinedCurrency6,
PlanCost.FreeDefinedCurrency7,
PlanCost.FreeDefinedCurrency8