P_RealTimeMfgOrdBalance

DDL: P_REALTIMEMFGORDBALANCE SQL: PRTMOBALANCE Type: view COMPOSITE

P_RealTimeMfgOrdBalance is a Composite CDS View in SAP S/4HANA. It reads from 2 data sources (acdoca, I_Ledger) and exposes 15 fields with key fields aufnr, rldnr, CompanyCode.

Data Sources (2)

SourceAliasJoin Type
acdoca _item from
I_Ledger _ledger inner

Parameters (2)

NameTypeDefault
P_FiscalPeriodStartDate budat
P_FiscalPeriodEndDate budat

Annotations (10)

NameValueLevelField
AbapCatalog.sqlViewName PRTMOBALANCE 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
AbapCatalog.preserveKey true view

Fields (15)

KeyFieldSource TableSource FieldDescription
KEY aufnr aufnr
KEY rldnr rldnr
KEY CompanyCode rbukrs
OrderID aufnr
Ledger rldnr
AmountInCompanyCodeCurrency
AmountInGlobalCurrency
AmountInFreeDefinedCurrency1
AmountInFreeDefinedCurrency2
AmountInFreeDefinedCurrency3
AmountInFreeDefinedCurrency4
AmountInFreeDefinedCurrency5
AmountInFreeDefinedCurrency6
AmountInFreeDefinedCurrency7
AmountInFreeDefinedCurrency8
@AbapCatalog.sqlViewName: 'PRTMOBALANCE'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
//@EndUserText.label: 'Event-based Order Relevant Actual Cost'

@VDM.viewType: #COMPOSITE
@VDM.private:true
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@AbapCatalog.preserveKey:true

define view P_RealTimeMfgOrdBalance
  with parameters
    P_FiscalPeriodStartDate    : budat,
    P_FiscalPeriodEndDate      : budat
  as select from acdoca   as _item
    inner join   I_Ledger as _ledger on  _ledger.Ledger     = _item.rldnr
    //and _ledger.IsLeadingLedger = 'X'  //support only leading leader in CE2005

                                     and _ledger.LedgerType = '' //standard ledger only

{

  key aufnr,
  //key kokrs,

  key rldnr,
  key rbukrs as CompanyCode,
      aufnr                 as OrderID,
      //kokrs                 as ControllingArea,

      rldnr                 as Ledger,



      sum(hsl)              as AmountInCompanyCodeCurrency,
      sum(ksl)              as AmountInGlobalCurrency,
      sum(osl)              as AmountInFreeDefinedCurrency1,
      sum(vsl)              as AmountInFreeDefinedCurrency2,
      sum(bsl)              as AmountInFreeDefinedCurrency3,
      sum(csl)              as AmountInFreeDefinedCurrency4,
      sum(dsl)              as AmountInFreeDefinedCurrency5,
      sum(esl)              as AmountInFreeDefinedCurrency6,
      sum(fsl)              as AmountInFreeDefinedCurrency7,
      sum(gsl)              as AmountInFreeDefinedCurrency8,

      /////////////////////////////////////////////////////////////////////////////////////

      // Period Amount Fields

      /////////////////////////////////////////////////////////////////////////////////////

      sum(case
            when (budat >= $parameters.P_FiscalPeriodStartDate and budat <= $parameters.P_FiscalPeriodEndDate) then
                hsl
            end)     as PeriodAmountInCompanyCodeCrcy,
      sum(case
            when (budat >= $parameters.P_FiscalPeriodStartDate and budat <= $parameters.P_FiscalPeriodEndDate) then
                ksl
            end) as PeriodAmountInGlobalCurrency,
      sum(case
            when (budat >= $parameters.P_FiscalPeriodStartDate and budat <= $parameters.P_FiscalPeriodEndDate) then
                osl
            end)     as PeriodAmountInFreeDfndCrcy1,
      sum(case
            when (budat >= $parameters.P_FiscalPeriodStartDate and budat <= $parameters.P_FiscalPeriodEndDate) then
                vsl
            end)     as PeriodAmountInFreeDfndCrcy2,
      sum(case
            when (budat >= $parameters.P_FiscalPeriodStartDate and budat <= $parameters.P_FiscalPeriodEndDate) then
                bsl
            end)     as PeriodAmountInFreeDfndCrcy3,
      sum(case
            when (budat >= $parameters.P_FiscalPeriodStartDate and budat <= $parameters.P_FiscalPeriodEndDate) then
                csl
            end)     as PeriodAmountInFreeDfndCrcy4,
      sum(case
            when (budat >= $parameters.P_FiscalPeriodStartDate and budat <= $parameters.P_FiscalPeriodEndDate) then
                dsl
            end)     as PeriodAmountInFreeDfndCrcy5,
      sum(case
            when (budat >= $parameters.P_FiscalPeriodStartDate and budat <= $parameters.P_FiscalPeriodEndDate) then
                esl
            end)     as PeriodAmountInFreeDfndCrcy6,
      sum(case
            when (budat >= $parameters.P_FiscalPeriodStartDate and budat <= $parameters.P_FiscalPeriodEndDate) then
                fsl
            end)     as PeriodAmountInFreeDfndCrcy7,
      sum(case
            when (budat >= $parameters.P_FiscalPeriodStartDate and budat <= $parameters.P_FiscalPeriodEndDate) then
                gsl
            end)     as PeriodAmountInFreeDfndCrcy8

}
where
  (
       _item.accasty  =  'OR'
    or _item.accasty  =  'OP'
  )
  and _item.slalittype <> '09101' 
  and _item.slalittype <> '09111'
  and(
       _item.autyp    =  '10'
    or _item.autyp    =  '40'
  )
  and  _item.bttype   <> 'TBCS' //ignore TBCS posting

  and  _item.co_beknz <> ''
  and _item.objnr <> ''
  and (_item.ktosl    <> 'PRD' or _item.bttype <> 'EBVP')
  and(
       _item.budat    <= $parameters.P_FiscalPeriodEndDate
  )
group by
  _item.rbukrs,
  _item.aufnr,
 // kokrs,

  _item.rldnr

/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_LEDGER",
"ACDOCA"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/