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.
@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:truedefineview P_RealTimeMfgOrdBalance
withparameters
P_FiscalPeriodStartDate : budat,
P_FiscalPeriodEndDate : budat
asselectfrom acdoca as _item
innerjoin 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(casewhen (budat >= $parameters.P_FiscalPeriodStartDate and budat <= $parameters.P_FiscalPeriodEndDate) then
hsl
end) as PeriodAmountInCompanyCodeCrcy,
sum(casewhen (budat >= $parameters.P_FiscalPeriodStartDate and budat <= $parameters.P_FiscalPeriodEndDate) then
ksl
end) as PeriodAmountInGlobalCurrency,
sum(casewhen (budat >= $parameters.P_FiscalPeriodStartDate and budat <= $parameters.P_FiscalPeriodEndDate) then
osl
end) as PeriodAmountInFreeDfndCrcy1,
sum(casewhen (budat >= $parameters.P_FiscalPeriodStartDate and budat <= $parameters.P_FiscalPeriodEndDate) then
vsl
end) as PeriodAmountInFreeDfndCrcy2,
sum(casewhen (budat >= $parameters.P_FiscalPeriodStartDate and budat <= $parameters.P_FiscalPeriodEndDate) then
bsl
end) as PeriodAmountInFreeDfndCrcy3,
sum(casewhen (budat >= $parameters.P_FiscalPeriodStartDate and budat <= $parameters.P_FiscalPeriodEndDate) then
csl
end) as PeriodAmountInFreeDfndCrcy4,
sum(casewhen (budat >= $parameters.P_FiscalPeriodStartDate and budat <= $parameters.P_FiscalPeriodEndDate) then
dsl
end) as PeriodAmountInFreeDfndCrcy5,
sum(casewhen (budat >= $parameters.P_FiscalPeriodStartDate and budat <= $parameters.P_FiscalPeriodEndDate) then
esl
end) as PeriodAmountInFreeDfndCrcy6,
sum(casewhen (budat >= $parameters.P_FiscalPeriodStartDate and budat <= $parameters.P_FiscalPeriodEndDate) then
fsl
end) as PeriodAmountInFreeDfndCrcy7,
sum(casewhen (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
)
groupby
_item.rbukrs,
_item.aufnr,
// kokrs,
_item.rldnr
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_LEDGER",
"ACDOCA"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/