P_RTPC_REM_OrderPostedKPI

DDL: P_RTPC_REM_ORDERPOSTEDKPI SQL: PRTPCREMPSTKPI Type: view COMPOSITE

P_RTPC_REM_OrderPostedKPI is a Composite CDS View in SAP S/4HANA. It reads from 3 data sources (I_LedgerCompanyCodeCrcyRoles, I_Ledger, P_RTPC_REM_Order) and exposes 46 fields with key fields OrderID, Ledger.

Data Sources (3)

SourceAliasJoin Type
I_LedgerCompanyCodeCrcyRoles _CrcyRoles inner
I_Ledger _Ledger inner
P_RTPC_REM_Order _Ord from

Parameters (2)

NameTypeDefault
P_FiscalPeriodStartDate budat
P_FiscalPeriodEndDate budat

Annotations (9)

NameValueLevelField
AbapCatalog.sqlViewName PRTPCREMPSTKPI view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #NOT_REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
VDM.viewType #COMPOSITE view
VDM.private true view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.dataClass #TRANSACTIONAL view

Fields (46)

KeyFieldSource TableSource FieldDescription
KEY OrderID P_RTPC_REM_Order OrderID
KEY Ledger I_Ledger Ledger
LedgerName
OrderDescription P_RTPC_REM_Order OrderDescription
ControllingObject P_RTPC_REM_Order ControllingObject
OrderType P_RTPC_REM_Order OrderType
OrderCategory P_RTPC_REM_Order OrderCategory
ControllingArea P_RTPC_REM_Order ControllingArea
CompanyCode P_RTPC_REM_Order CompanyCode
Material P_RTPC_REM_Order Material
Plant P_RTPC_REM_Order Plant
ProfitCenter P_RTPC_REM_Order ProfitCenter
ResultsAnalysisKey P_RTPC_REM_Order ResultsAnalysisKey
StatusCode
ProductionVersion P_RTPC_REM_Order ProductionVersion
PostingDateendasPostingDate
WIPPerdAmtInCoCodeCurrency
WIPPerdAmtInGlobalCurrency
WIPPerdAmtInFreeDefinedCrcy1
WIPPerdAmtInFreeDefinedCrcy2
WIPPerdAmtInFreeDefinedCrcy3
WIPPerdAmtInFreeDefinedCrcy4
WIPPerdAmtInFreeDefinedCrcy5
WIPPerdAmtInFreeDefinedCrcy6
WIPPerdAmtInFreeDefinedCrcy7
WIPPerdAmtInFreeDefinedCrcy8
VarcPerdAmtInCoCodeCurrency
VarcPerdAmtInGlobalCurrency
VarcPerdAmtInFreeDefinedCrcy1
VarcPerdAmtInFreeDefinedCrcy2
VarcPerdAmtInFreeDefinedCrcy3
VarcPerdAmtInFreeDefinedCrcy4
VarcPerdAmtInFreeDefinedCrcy5
VarcPerdAmtInFreeDefinedCrcy6
VarcPerdAmtInFreeDefinedCrcy7
VarcPerdAmtInFreeDefinedCrcy8
CompanyCodeCurrency
GlobalCurrency
FreeDefinedCurrency1
FreeDefinedCurrency2
FreeDefinedCurrency3
FreeDefinedCurrency4
FreeDefinedCurrency5
FreeDefinedCurrency6
FreeDefinedCurrency7
FreeDefinedCurrency8
@AbapCatalog.sqlViewName: 'PRTPCREMPSTKPI'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.viewType: #COMPOSITE
@VDM.private:true
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
//@EndUserText.label: 'Posted Event-Based REM Orders KPI'


define view P_RTPC_REM_OrderPostedKPI   
  with parameters
    P_FiscalPeriodStartDate    : budat,
    P_FiscalPeriodEndDate      : budat
  as select from           P_RTPC_REM_Order              as _Ord  
    inner join             I_LedgerCompanyCodeCrcyRoles  as _CrcyRoles  on _Ord.CompanyCode = _CrcyRoles.CompanyCode
    inner join             I_Ledger                      as _Ledger     on  _CrcyRoles.Ledger  = _Ledger.Ledger
                                                                        and _Ledger.LedgerType = '' 
                                                                        
    left outer to one join P_RealTimePCCInspPostedWIP(P_FiscalPeriodStartDate    : $parameters.P_FiscalPeriodStartDate,
                                                      P_FiscalPeriodEndDate      : $parameters.P_FiscalPeriodEndDate
                                                      ) as _PostedWIP   on  _PostedWIP.OrderID = _Ord.OrderID
                                                                        and _PostedWIP.Ledger  = _Ledger.Ledger
                                                                       
    left outer to one join P_RealTimePCCInspPostedVarc(P_FiscalPeriodStartDate    : $parameters.P_FiscalPeriodStartDate,
                                                       P_FiscalPeriodEndDate      : $parameters.P_FiscalPeriodEndDate
                                                      ) as _PostedVarc  on  _PostedVarc.OrderID = _Ord.OrderID
                                                                        and _PostedVarc.Ledger  = _Ledger.Ledger
                                                      
{
  key _Ord.OrderID,
  key _Ledger.Ledger,
      _CrcyRoles._Ledger._Text[1: Language = $session.system_language].LedgerName,
      _Ord.OrderDescription,

      _Ord.ControllingObject,
      _Ord.OrderType,
      _Ord.OrderCategory,
      _Ord.ControllingArea,
      _Ord.CompanyCode,
      _Ord.Material,
      _Ord.Plant,
      
      _Ord.ProfitCenter,
      _Ord.ResultsAnalysisKey,
      'I0002'                                                                   as StatusCode,
      _Ord.ProductionVersion                                                    as ProductionVersion,
      
      //To get the last posting date for EBWI, compare max posting date for WIP and variance

      case
      when _PostedWIP.PostingDate>=coalesce(_PostedVarc.PostingDate,'00000000') then _PostedWIP.PostingDate     
      else _PostedVarc.PostingDate end                                          as PostingDate,   
      
      @Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} } 
      coalesce(_PostedWIP.PeriodAmountInCompanyCodeCrcy, 0)  as WIPPerdAmtInCoCodeCurrency,  
      @Semantics: { amount : {currencyCode: 'GlobalCurrency'} } 
      coalesce(_PostedWIP.PeriodAmountInGlobalCurrency, 0)   as WIPPerdAmtInGlobalCurrency,   
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency1'} } 
      coalesce(_PostedWIP.PeriodAmountInFreeDfndCrcy1, 0)    as WIPPerdAmtInFreeDefinedCrcy1,   
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency2'} } 
      coalesce(_PostedWIP.PeriodAmountInFreeDfndCrcy2, 0)    as WIPPerdAmtInFreeDefinedCrcy2,        
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency3'} } 
      coalesce(_PostedWIP.PeriodAmountInFreeDfndCrcy3, 0)    as WIPPerdAmtInFreeDefinedCrcy3,      
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency4'} } 
      coalesce(_PostedWIP.PeriodAmountInFreeDfndCrcy4, 0)    as WIPPerdAmtInFreeDefinedCrcy4,      
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency5'} } 
      coalesce(_PostedWIP.PeriodAmountInFreeDfndCrcy5, 0)    as WIPPerdAmtInFreeDefinedCrcy5,   
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency6'} } 
      coalesce(_PostedWIP.PeriodAmountInFreeDfndCrcy6, 0)    as WIPPerdAmtInFreeDefinedCrcy6,  
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency7'} } 
      coalesce(_PostedWIP.PeriodAmountInFreeDfndCrcy7, 0)    as WIPPerdAmtInFreeDefinedCrcy7,      
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency8'} } 
      coalesce(_PostedWIP.PeriodAmountInFreeDfndCrcy8, 0)    as WIPPerdAmtInFreeDefinedCrcy8,  
      
      @Semantics: { amount : {currencyCode: 'CompanyCodeCurrency'} } 
      coalesce(_PostedVarc.PeriodAmountInCompanyCodeCrcy, 0) as VarcPerdAmtInCoCodeCurrency,        
      @Semantics: { amount : {currencyCode: 'GlobalCurrency'} } 
      coalesce(_PostedVarc.PeriodAmountInGlobalCurrency, 0)  as VarcPerdAmtInGlobalCurrency,   
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency1'} } 
      coalesce(_PostedVarc.PeriodAmountInFreeDfndCrcy1, 0)   as VarcPerdAmtInFreeDefinedCrcy1,   
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency2'} } 
      coalesce(_PostedVarc.PeriodAmountInFreeDfndCrcy2, 0)   as VarcPerdAmtInFreeDefinedCrcy2,        
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency3'} } 
      coalesce(_PostedVarc.PeriodAmountInFreeDfndCrcy3, 0)   as VarcPerdAmtInFreeDefinedCrcy3,      
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency4'} } 
      coalesce(_PostedVarc.PeriodAmountInFreeDfndCrcy4, 0)   as VarcPerdAmtInFreeDefinedCrcy4,      
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency5'} } 
      coalesce(_PostedVarc.PeriodAmountInFreeDfndCrcy5, 0)   as VarcPerdAmtInFreeDefinedCrcy5,   
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency6'} } 
      coalesce(_PostedVarc.PeriodAmountInFreeDfndCrcy6, 0)   as VarcPerdAmtInFreeDefinedCrcy6,  
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency7'} } 
      coalesce(_PostedVarc.PeriodAmountInFreeDfndCrcy7, 0)   as VarcPerdAmtInFreeDefinedCrcy7,      
      @Semantics: { amount : {currencyCode: 'FreeDefinedCurrency8'} } 
      coalesce(_PostedVarc.PeriodAmountInFreeDfndCrcy8, 0)   as VarcPerdAmtInFreeDefinedCrcy8,                 
      
      _CrcyRoles._CoCodeCurrencyRoleCurrency.Currency        as CompanyCodeCurrency,
      _CrcyRoles._GlobalCurrencyRoleCurrency.Currency        as GlobalCurrency,
      _CrcyRoles._FreeDfndCrcyRole1Currency.Currency         as FreeDefinedCurrency1,
      _CrcyRoles._FreeDfndCrcyRole2Currency.Currency         as FreeDefinedCurrency2,
      _CrcyRoles._FreeDfndCrcyRole3Currency.Currency         as FreeDefinedCurrency3,
      _CrcyRoles._FreeDfndCrcyRole4Currency.Currency         as FreeDefinedCurrency4,
      _CrcyRoles._FreeDfndCrcyRole5Currency.Currency         as FreeDefinedCurrency5,
      _CrcyRoles._FreeDfndCrcyRole6Currency.Currency         as FreeDefinedCurrency6,
      _CrcyRoles._FreeDfndCrcyRole7Currency.Currency         as FreeDefinedCurrency7,
      _CrcyRoles._FreeDfndCrcyRole8Currency.Currency         as FreeDefinedCurrency8      
}                                                      
where
     _PostedWIP.OrderID  is not null
  or _PostedVarc.OrderID is not null