Derived SQL interpretation, reconstructed from the parsed view metadata (data sources, associations, and field mappings). SAP annotations are omitted and the structure is reformulated as SQL — this is a functional approximation, not the verbatim SAP source.
-- Derived SQL interpretation of CDS view I_FinSGLAvgDailyBalSpclLdgr.
-- Reconstructed from parsed metadata (data sources, associations, fields).
-- SAP annotations are omitted and the structure is reformulated as SQL;
-- this is a functional approximation, not the verbatim SAP source. Some join
-- conditions may be unavailable and a few CDS constructs are kept as-is.
-- Parameters: P_FiscalYearStartDate : abap.dats, P_FiscalQuarterStartDate : abap.dats, P_FiscalMonthStartDate : abap.dats, P_ReportingDate : abap.dats
CREATE VIEW I_FinSGLAvgDailyBalSpclLdgr AS
SELECT
cast( rldnr as fins_ledger ) AS Ledger,
cast( rbukrs as bukrs ) AS CompanyCode,
gjahr AS FiscalYear,
cast( belnr as belnr_d) AS AccountingDocument,
cast( docln as docln6) AS LedgerGLLineItem,
cast(ryear as fis_ryear_no_conv ) AS LedgerFiscalYear,
cast( docnr_ld as fins_docnr_ld) AS JrnlEntrAltvFYConsecutiveID,
rrcty AS GLRecordType,
cast( racct as racct) AS GLAccount,
cast( rbusa as gsber ) AS BusinessArea,
cast( sbusa as pargb ) AS PartnerBusinessArea,
bldat AS DocumentDate,
bstat AS AccountingDocumentCategory,
cast( rcntr as kostl ) AS CostCenter,
cast( prctr as prctr ) AS ProfitCenter,
cast( rfarea as fkber ) AS FunctionalArea,
cast( segment as fb_segment ) AS Segment,
cast( scntr as skost ) AS PartnerCostCenter,
cast( pprctr as pprctr ) AS PartnerProfitCenter,
cast( sfarea as sfkber ) AS PartnerFunctionalArea,
cast( rassc as rassc ) AS PartnerCompany,
cast( psegment as fb_psegment ) AS PartnerSegment,
drcrk AS DebitCreditCode,
poper AS FiscalPeriod,
cast( periv as periv ) AS FiscalYearVariant,
fiscyearper AS FiscalYearPeriod,
budat AS PostingDate,
cast( blart as blart ) AS AccountingDocumentType,
buzei AS AccountingDocumentItem,
cast( zuonr as dzuonr ) AS AssignmentReference,
cast( linetype as linetype ) AS JournalEntryItemCategory,
cast( bschl as bschl ) AS PostingKey,
cast( timestamp as fis_crea_tstamp ) AS CreationDateTime,
glaccount_type AS GLAccountType,
cast( sgtxt as sgtxt ) AS DocumentItemText,
cast( ktopl as ktopl ) AS ChartOfAccounts,
cast( ktop2 as ktop2 ) AS CountryChartOfAccounts,
cast( rbunit as fincs_md_bunit ) AS ConsolidationUnit,
cast( rbuptr as fincs_md_buptr ) AS PartnerConsolidationUnit,
cast( rcomp as rcomp_d ) AS Company,
cast( ritclg as fc_itclg ) AS ConsolidationChartOfAccounts,
cast( ritem as fincs_fsi_item ) AS CnsldtnFinancialStatementItem,
cast( sityp as fc_sityp ) AS CnsldtnSubitemCategory,
cast( subit as fc_sitem ) AS CnsldtnSubitem,
RTCUR AS BalanceTransactionCurrency,
cast( 0 as abap.dec(23,2) ) AS AmountInBalanceTransacCrcy,
cast( 0 as fis_tsl ) AS PriorDayBalInBalTransCrcy,
cast( 0 as fis_tsl ) AS CurDayActyAmtInBalTransCrcy,
cast( 0 as fis_tsl ) AS PriorMonthBalInBalTransCrcy,
cast( 0 as fis_tsl ) AS CurMonthActyAmtInBalTransCrcy,
cast( 0 as fis_tsl ) AS YTDBalInBalTransCrcy,
cast( 0 as fis_tsl ) AS PriorYTDAmtInBalTransCrcy,
cast( case when budat >= $parameters.P_FiscalMonthStartDate then cast (TSL as abap.dec(23,2)) else 0 end as abap.dec( 27, 6 ) ) as MTDAvgDailyBalInBalTransCrcy AS dec276asMTDAvgDailyBalInBalTransCrcy,
cast(0 as abap.dec(23,6) ) AS PriorMTDAvgAmtInBalTransCrcy,
case when budat >= $parameters.P_FiscalQuarterStartDate then case when period_end_date < $parameters.P_ReportingDate then division( ( cast( TSL as abap.dec( 27, 6 ) ) *( 1 + dats_days_between( budat, period_end_date ) ) ), ( 1 + dats_days_between( $parameters.P_FiscalQuarterStartDate, $parameters.P_ReportingDate ) ), 6 ) else division( ( cast( TSL as abap.dec( 27, 6 ) ) *( 1 + dats_days_between( budat, $parameters.P_ReportingDate ) ) ), ( 1 + dats_days_between( $parameters.P_FiscalQuarterStartDate, $parameters.P_ReportingDate ) ), 6 ) end else cast( 0 as abap.dec( 27, 6 ) ) end as QTDAvgDailyBalInBalTransCrcy AS dec276endasQTDAvgDailyBalInBalTransCrcy,
case when budat >= $parameters.P_FiscalYearStartDate then case when period_end_date < $parameters.P_ReportingDate then division( ( cast( TSL as abap.dec( 27, 6 ) ) *( 1 + dats_days_between( budat, period_end_date ) ) ), ( 1 + dats_days_between( $parameters.P_FiscalYearStartDate, $parameters.P_ReportingDate ) ), 6 ) else division( ( cast( TSL as abap.dec( 27, 6 ) ) *( 1 + dats_days_between( budat, $parameters.P_ReportingDate ) ) ), ( 1 + dats_days_between( $parameters.P_FiscalYearStartDate, $parameters.P_ReportingDate ) ), 6 ) end when budat < '00000000' then cast( TSL as abap.dec( 27, 6 ) ) else cast( 0 as abap.dec( 27, 6 ) ) end as YTDAvgDailyBalInBalTransCrcy AS dec276endasYTDAvgDailyBalInBalTransCrcy,
cast(0 as abap.dec(23,6) ) AS PriorYTDAvgAmtInBalTransCrcy,
cast( case when budat >= $parameters.P_FiscalMonthStartDate then cast (TSL as abap.dec(23,2)) else 0 end as abap.dec( 27, 6 ) ) as MTDAvgActyAmtInBalTransCrcy AS dec276asMTDAvgActyAmtInBalTransCrcy,
cast( 0 as fis_tsl ) AS QTDActyAmtInBalTransCrcy,
RHCUR AS CompanyCodeCurrency,
cast( 0 as fis_hsl ) AS AmountInCompanyCodeCurrency,
cast( 0 as fis_hsl ) AS PriorDayBalInCCCrcy,
cast( 0 as fis_hsl ) AS CurDayActyAmtInCCCrcy,
cast( 0 as fis_hsl ) AS PriorMonthBalInCCCrcy,
cast( 0 as fis_hsl ) AS CurMonthActyAmtInCCCrcy,
cast( 0 as fis_hsl ) AS YTDBalInCCCrcy,
cast( 0 as fis_hsl ) AS PriorYTDAmtInCCCrcy,
cast( case when budat >= $parameters.P_FiscalMonthStartDate then cast (HSL as abap.dec(23,2)) else 0 end as abap.dec( 27, 6 ) ) as MTDAvgDailyBalInCCCrcy AS dec276asMTDAvgDailyBalInCCCrcy,
cast(0 as abap.dec(23,6) ) AS PriorMTDAvgAmtInCCCrcy,
case when budat >= $parameters.P_FiscalQuarterStartDate then case when period_end_date < $parameters.P_ReportingDate then division( ( cast( HSL as abap.dec( 27, 6 ) ) *( 1 + dats_days_between( budat, period_end_date ) ) ), ( 1 + dats_days_between( $parameters.P_FiscalQuarterStartDate, $parameters.P_ReportingDate ) ), 6 ) else division( ( cast( HSL as abap.dec( 27, 6 ) ) *( 1 + dats_days_between( budat, $parameters.P_ReportingDate ) ) ), ( 1 + dats_days_between( $parameters.P_FiscalQuarterStartDate, $parameters.P_ReportingDate ) ), 6 ) end else cast( 0 as abap.dec( 27, 6 ) ) end as QTDAvgDailyBalInCCCrcy AS dec276endasQTDAvgDailyBalInCCCrcy,
case when budat >= $parameters.P_FiscalYearStartDate then case when period_end_date < $parameters.P_ReportingDate then division( ( cast( HSL as abap.dec( 27, 6 ) ) *( 1 + dats_days_between( budat, period_end_date ) ) ), ( 1 + dats_days_between( $parameters.P_FiscalYearStartDate, $parameters.P_ReportingDate ) ), 6 ) else division( ( cast( HSL as abap.dec( 27, 6 ) ) *( 1 + dats_days_between( budat, $parameters.P_ReportingDate ) ) ), ( 1 + dats_days_between( $parameters.P_FiscalYearStartDate, $parameters.P_ReportingDate ) ), 6 ) end when budat < '00000000' then cast( HSL as abap.dec( 27, 6 ) ) else cast( 0 as abap.dec( 27, 6 ) ) end as YTDAvgDailyBalInCCCrcy AS dec276endasYTDAvgDailyBalInCCCrcy,
cast(0 as abap.dec(23,6) ) AS PriorYTDAvgAmtInCCCrcy,
cast( case when budat >= $parameters.P_FiscalMonthStartDate then cast (HSL as abap.dec(23,2)) else 0 end as abap.dec( 27, 6 ) ) as MTDAvgActyAmtInCCCrcy AS dec276asMTDAvgActyAmtInCCCrcy,
cast( 0 as fis_hsl ) AS QTDActyAmtInCCCrcy,
RKCUR AS GlobalCurrency,
cast( 0 as fis_ksl ) AS AmountInGlobalCurrency,
cast( 0 as fis_ksl ) AS PriorDayBalInGlobCrcy,
cast( 0 as fis_ksl ) AS CurDayActyAmtInGlobCrcy,
cast( 0 as fis_ksl ) AS PriorMonthBalInGlobCrcy,
cast( 0 as fis_ksl ) AS CurMonthActyAmtInGlobCrcy,
cast( 0 as fis_ksl ) AS YTDBalInGlobCrcy,
cast( 0 as fis_ksl ) AS PriorYTDAmtInGlobCrcy,
cast( case when budat >= $parameters.P_FiscalMonthStartDate then cast (KSL as abap.dec(23,2)) else 0 end as abap.dec( 27, 6 ) ) as MTDAvgDailyBalInGlobCrcy AS dec276asMTDAvgDailyBalInGlobCrcy,
cast(0 as abap.dec(23,6) ) AS PriorMTDAvgAmtInGlobCrcy,
case when budat >= $parameters.P_FiscalQuarterStartDate then case when period_end_date < $parameters.P_ReportingDate then division( ( cast( KSL as abap.dec( 27, 6 ) ) *( 1 + dats_days_between( budat, period_end_date ) ) ), ( 1 + dats_days_between( $parameters.P_FiscalQuarterStartDate, $parameters.P_ReportingDate ) ), 6 ) else division( ( cast( KSL as abap.dec( 27, 6 ) ) *( 1 + dats_days_between( budat, $parameters.P_ReportingDate ) ) ), ( 1 + dats_days_between( $parameters.P_FiscalQuarterStartDate, $parameters.P_ReportingDate ) ), 6 ) end else cast( 0 as abap.dec( 27, 6 ) ) end as QTDAvgDailyBalInGlobCrcy AS dec276endasQTDAvgDailyBalInGlobCrcy,
case when budat >= $parameters.P_FiscalYearStartDate then case when period_end_date < $parameters.P_ReportingDate then division( ( cast( KSL as abap.dec( 27, 6 ) ) *( 1 + dats_days_between( budat, period_end_date ) ) ), ( 1 + dats_days_between( $parameters.P_FiscalYearStartDate, $parameters.P_ReportingDate ) ), 6 ) else division( ( cast( KSL as abap.dec( 27, 6 ) ) *( 1 + dats_days_between( budat, $parameters.P_ReportingDate ) ) ), ( 1 + dats_days_between( $parameters.P_FiscalYearStartDate, $parameters.P_ReportingDate ) ), 6 ) end when budat < '00000000' then cast( KSL as abap.dec( 27, 6 ) ) else cast( 0 as abap.dec( 27, 6 ) ) end as YTDAvgDailyBalInGlobCrcy AS dec276endasYTDAvgDailyBalInGlobCrcy,
cast(0 as abap.dec(23,6) ) AS PriorYTDAvgAmtInGlobCrcy,
cast( case when budat >= $parameters.P_FiscalMonthStartDate then cast (KSL as abap.dec(23,2)) else 0 end as abap.dec( 27, 6 ) ) as MTDAvgActyAmtInGlobCrcy AS dec276asMTDAvgActyAmtInGlobCrcy,
cast( 0 as fis_ksl ) AS QTDActyAmtInGlobCrcy,
ROCUR AS FreeDefinedCurrency1,
cast( 0 as fis_osl ) AS AmountInFreeDefinedCurrency1,
cast( 0 as fis_osl ) AS PriorDayBalInFDCrcy1,
cast( 0 as fis_osl ) AS CurDayActyAmtInFDCrcy1,
cast( 0 as fis_osl ) AS PriorMonthBalInFDCrcy1,
cast( 0 as fis_osl ) AS CurMonthActyAmtInFDCrcy1,
cast( 0 as fis_osl ) AS YTDBalInFDCrcy1,
cast( 0 as fis_osl ) AS PriorYTDAmtInFDCrcy1,
cast( case when budat >= $parameters.P_FiscalMonthStartDate then cast (OSL as abap.dec(23,2)) else 0 end as abap.dec( 27, 6 ) ) as MTDAvgDailyBalInFDCrcy1 AS dec276asMTDAvgDailyBalInFDCrcy1,
cast(0 as abap.dec(23,6) ) AS PriorMTDAvgAmtInFDCrcy1,
case when budat >= $parameters.P_FiscalQuarterStartDate then case when period_end_date < $parameters.P_ReportingDate then division( ( cast( OSL as abap.dec( 27, 6 ) ) *( 1 + dats_days_between( budat, period_end_date ) ) ), ( 1 + dats_days_between( $parameters.P_FiscalQuarterStartDate, $parameters.P_ReportingDate ) ), 6 ) else division( ( cast( OSL as abap.dec( 27, 6 ) ) *( 1 + dats_days_between( budat, $parameters.P_ReportingDate ) ) ), ( 1 + dats_days_between( $parameters.P_FiscalQuarterStartDate, $parameters.P_ReportingDate ) ), 6 ) end else cast( 0 as abap.dec( 27, 6 ) ) end as QTDAvgDailyBalInFDCrcy1 AS dec276endasQTDAvgDailyBalInFDCrcy1,
case when budat >= $parameters.P_FiscalYearStartDate then case when period_end_date < $parameters.P_ReportingDate then division( ( cast( OSL as abap.dec( 27, 6 ) ) *( 1 + dats_days_between( budat, period_end_date ) ) ), ( 1 + dats_days_between( $parameters.P_FiscalYearStartDate, $parameters.P_ReportingDate ) ), 6 ) else division( ( cast( OSL as abap.dec( 27, 6 ) ) *( 1 + dats_days_between( budat, $parameters.P_ReportingDate ) ) ), ( 1 + dats_days_between( $parameters.P_FiscalYearStartDate, $parameters.P_ReportingDate ) ), 6 ) end when budat < '00000000' then cast( OSL as abap.dec( 27, 6 ) ) else cast( 0 as abap.dec( 27, 6 ) ) end as YTDAvgDailyBalInFDCrcy1 AS dec276endasYTDAvgDailyBalInFDCrcy1,
cast(0 as abap.dec(23,6) ) AS PriorYTDAvgAmtInFDCrcy1,
cast( case when budat >= $parameters.P_FiscalMonthStartDate then cast (OSL as abap.dec(23,2)) else 0 end as abap.dec( 27, 6 ) ) as MTDAvgActyAmtInFDCrcy1 AS dec276asMTDAvgActyAmtInFDCrcy1,
cast( 0 as fis_osl ) AS QTDActyAmtInFDCrcy1,
RVCUR AS FreeDefinedCurrency2,
cast( 0 as fis_vsl ) AS AmountInFreeDefinedCurrency2,
cast( 0 as fis_vsl ) AS PriorDayBalInFDCrcy2,
cast( 0 as fis_vsl ) AS CurDayActyAmtInFDCrcy2,
cast( 0 as fis_vsl ) AS PriorMonthBalInFDCrcy2,
cast( 0 as fis_vsl ) AS CurMonthActyAmtInFDCrcy2,
cast( 0 as fis_vsl ) AS YTDBalInFDCrcy2,
cast( 0 as fis_vsl ) AS PriorYTDAmtInFDCrcy2,
cast( case when budat >= $parameters.P_FiscalMonthStartDate then cast (VSL as abap.dec(23,2)) else 0 end as abap.dec( 27, 6 ) ) as MTDAvgDailyBalInFDCrcy2 AS dec276asMTDAvgDailyBalInFDCrcy2,
cast(0 as abap.dec(23,6) ) AS PriorMTDAvgAmtInFDCrcy2,
case when budat >= $parameters.P_FiscalQuarterStartDate then case when period_end_date < $parameters.P_ReportingDate then division( ( cast( VSL as abap.dec( 27, 6 ) ) *( 1 + dats_days_between( budat, period_end_date ) ) ), ( 1 + dats_days_between( $parameters.P_FiscalQuarterStartDate, $parameters.P_ReportingDate ) ), 6 ) else division( ( cast( VSL as abap.dec( 27, 6 ) ) *( 1 + dats_days_between( budat, $parameters.P_ReportingDate ) ) ), ( 1 + dats_days_between( $parameters.P_FiscalQuarterStartDate, $parameters.P_ReportingDate ) ), 6 ) end else cast( 0 as abap.dec( 27, 6 ) ) end as QTDAvgDailyBalInFDCrcy2 AS dec276endasQTDAvgDailyBalInFDCrcy2,
case when budat >= $parameters.P_FiscalYearStartDate then case when period_end_date < $parameters.P_ReportingDate then division( ( cast( VSL as abap.dec( 27, 6 ) ) *( 1 + dats_days_between( budat, period_end_date ) ) ), ( 1 + dats_days_between( $parameters.P_FiscalYearStartDate, $parameters.P_ReportingDate ) ), 6 ) else division( ( cast( VSL as abap.dec( 27, 6 ) ) *( 1 + dats_days_between( budat, $parameters.P_ReportingDate ) ) ), ( 1 + dats_days_between( $parameters.P_FiscalYearStartDate, $parameters.P_ReportingDate ) ), 6 ) end when budat < '00000000' then cast( VSL as abap.dec( 27, 6 ) ) else cast( 0 as abap.dec( 27, 6 ) ) end as YTDAvgDailyBalInFDCrcy2 AS dec276endasYTDAvgDailyBalInFDCrcy2,
cast(0 as abap.dec(23,6) ) AS PriorYTDAvgAmtInFDCrcy2,
cast( case when budat >= $parameters.P_FiscalMonthStartDate then cast (VSL as abap.dec(23,2)) else 0 end as abap.dec( 27, 6 ) ) as MTDAvgActyAmtInFDCrcy2 AS dec276asMTDAvgActyAmtInFDCrcy2,
cast( 0 as fis_vsl ) AS QTDActyAmtInFDCrcy2
FROM gle_adb_kfc_avg_sl_gen
LEFT OUTER JOIN E_JournalEntryItem AS _Extension ON Ledger = _Extension.SourceLedger AND CompanyCode = _Extension.CompanyCode AND FiscalYear = _Extension.FiscalYear AND AccountingDocument = _Extension.AccountingDocument AND LedgerGLLineItem = _Extension.LedgerGLLineItem -- association [1..1]
;