P_EBOrderPlanCost2 is a Composite CDS View in SAP S/4HANA. It reads from 3 data sources (I_LedgerCompanyCodeCrcyRoles, I_MfgOrdPlngCat, P_EBOrderPlanCost1) and exposes 6 fields with key fields CompanyCode, OrderID, OrderItem.
@AbapCatalog.sqlViewName: 'PEBORDPLNCST2'
@AbapCatalog.compiler.compareFilter: true@AbapCatalog.preserveKey: true@AccessControl.authorizationCheck: #NOT_REQUIRED@ClientHandling.algorithm: #SESSION_VARIABLE@VDM.private: true@VDM.viewType: #COMPOSITEdefineview P_EBOrderPlanCost2
withparameters
P_Ledger : fins_ledger,
P_FromFiscalYearPeriod : fins_fyearperiod,
P_ToFiscalYearPeriod : fins_fyearperiod,
P_CurrencyRole : fis_curtp
asselectfrom P_EBOrderPlanCost1( P_Ledger : :P_Ledger,
P_FromFiscalYearPeriod: :P_FromFiscalYearPeriod,
P_ToFiscalYearPeriod : :P_ToFiscalYearPeriod ) as PlnStdCost
innerjoin I_MfgOrdPlngCat as _PlngCat on PlnStdCost.PlanningCategory = _PlngCat.PlanningCategory
and _PlngCat.PlngCatIsForOrdReltdPlnCost = 'X'
innerjoin I_LedgerCompanyCodeCrcyRoles as _LedgerCompanyCodeCrcyRole on _LedgerCompanyCodeCrcyRole.CompanyCode = PlnStdCost.CompanyCode
and _LedgerCompanyCodeCrcyRole.Ledger = :P_Ledger
{
key PlnStdCost.CompanyCode,
key OrderID,
key OrderItem,
IsLotSizeIndependent,
ControllingDebitCreditCode,
// Plan Amounts from ACDOCP
cast(
case :P_CurrencyRole
when _LedgerCompanyCodeCrcyRole.CompanyCodeCurrencyRole then AmountInCompanyCodeCurrency
when _LedgerCompanyCodeCrcyRole.GlobalCurrencyRole then AmountInGlobalCurrency
when _LedgerCompanyCodeCrcyRole.FreeDefinedCurrency1Role then AmountInFreeDefinedCurrency1
when _LedgerCompanyCodeCrcyRole.FreeDefinedCurrency2Role then AmountInFreeDefinedCurrency2
when _LedgerCompanyCodeCrcyRole.FreeDefinedCurrency3Role then AmountInFreeDefinedCurrency3
when _LedgerCompanyCodeCrcyRole.FreeDefinedCurrency4Role then AmountInFreeDefinedCurrency4
when _LedgerCompanyCodeCrcyRole.FreeDefinedCurrency5Role then AmountInFreeDefinedCurrency5
when _LedgerCompanyCodeCrcyRole.FreeDefinedCurrency6Role then AmountInFreeDefinedCurrency6
when _LedgerCompanyCodeCrcyRole.FreeDefinedCurrency7Role then AmountInFreeDefinedCurrency7
when _LedgerCompanyCodeCrcyRole.FreeDefinedCurrency8Role then AmountInFreeDefinedCurrency8
else 0
endas farp_amount_display_crcy) as AmountInDisplayCurrency,
// Cost Rate for Fixed Amount
cast(
casewhen AmountInGlobalCurrency <> 0 then division(FixedAmountInGlobalCrcy, AmountInGlobalCurrency, 8)
else 0
endasabap.dec(14, 8) ) as CostRateFixedAmount
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_LEDGERCOMPANYCODECRCYROLES",
"I_MFGORDPLNGCAT",
"P_EBORDERPLANCOST1"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/