P_EBOrderPlanCost2

DDL: P_EBORDERPLANCOST2 SQL: PEBORDPLNCST2 Type: view COMPOSITE Package: ODATA_CO_RT_PRODUCTION_COSTS

Event-Based Order Plan Cost layer 2

P_EBOrderPlanCost2 is a Composite CDS View that provides data about "Event-Based Order Plan Cost layer 2" in SAP S/4HANA. It reads from 3 data sources (I_LedgerCompanyCodeCrcyRoles, I_MfgOrdPlngCat, P_EBOrderPlanCost1) and exposes 7 fields with key fields CompanyCode, OrderID, OrderItem. Part of development package ODATA_CO_RT_PRODUCTION_COSTS.

Data Sources (3)

SourceAliasJoin Type
I_LedgerCompanyCodeCrcyRoles _LedgerCompanyCodeCrcyRole inner
I_MfgOrdPlngCat _PlngCat inner
P_EBOrderPlanCost1 P_EBOrderPlanCost1 from

Parameters (4)

NameTypeDefault
P_Ledger fins_ledger
P_FromFiscalYearPeriod fins_fyearperiod
P_ToFiscalYearPeriod fins_fyearperiod
P_CurrencyRole fis_curtp

Annotations (7)

NameValueLevelField
AbapCatalog.sqlViewName PEBORDPLNCST2 view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #NOT_REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
VDM.private true view
VDM.viewType #COMPOSITE view

Fields (7)

KeyFieldSource TableSource FieldDescription
KEY CompanyCode PlnStdCost CompanyCode
KEY OrderID OrderID
KEY OrderItem OrderItem
IsLotSizeIndependent IsLotSizeIndependent
ControllingDebitCreditCode ControllingDebitCreditCode
TotalQuantity
dec148asCostRateFixedAmount
@AbapCatalog.sqlViewName: 'PEBORDPLNCST2'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE

@VDM.private: true
@VDM.viewType: #COMPOSITE

define view P_EBOrderPlanCost2
  with parameters
    P_Ledger               : fins_ledger,
    P_FromFiscalYearPeriod : fins_fyearperiod,
    P_ToFiscalYearPeriod   : fins_fyearperiod,
    P_CurrencyRole         : fis_curtp

  as select from P_EBOrderPlanCost1( P_Ledger              : :P_Ledger,
                                     P_FromFiscalYearPeriod: :P_FromFiscalYearPeriod,
                                     P_ToFiscalYearPeriod  : :P_ToFiscalYearPeriod    ) as PlnStdCost
    inner join   I_MfgOrdPlngCat                                                        as _PlngCat                   on  PlnStdCost.PlanningCategory          = _PlngCat.PlanningCategory
                                                                                                                      and _PlngCat.PlngCatIsForOrdReltdPlnCost = 'X'
    inner join   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
      end as farp_amount_display_crcy) as AmountInDisplayCurrency,
      
     cast(TotalQuantity as abap.dec(23,3)) as  TotalQuantity,

      // Cost Rate for Fixed Amount

      cast(
        case
          when AmountInGlobalCurrency <> 0 then division(FixedAmountInGlobalCrcy, AmountInGlobalCurrency, 8)
          else 0
        end
      as abap.dec(14, 8) )             as CostRateFixedAmount
}