@AbapCatalog.sqlViewName: 'CARSRSLSTXITMLGC'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Cube View for AR Sls Scenario with Reptd Item Log Data'
@AccessControl.personalData.blocking: #BLOCKED_DATA_INCLUDED
@VDM.viewType: #CONSUMPTION
@ClientHandling.algorithm: #SESSION_VARIABLE
@Analytics.dataCategory: #CUBE
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.dataClass: #MIXED
@Metadata.allowExtensions:true
@AbapCatalog.preserveKey: true
define view C_AR_StRpSalesTaxItemLogCube
with parameters
P_RptgAmountIsInTransCrcy : fiar_use_transaction_currency
as select from P_AR_SalesTaxItemDetail
( P_RptgAmountIsInTransCrcy : $parameters.P_RptgAmountIsInTransCrcy)
as SalesTaxItemDetail
inner join I_StRpJournalEntryLog as StRpJournalEntryLog on SalesTaxItemDetail.CompanyCode = StRpJournalEntryLog.CompanyCode
and SalesTaxItemDetail.FiscalYear = StRpJournalEntryLog.FiscalYear
and SalesTaxItemDetail.AccountingDocument = StRpJournalEntryLog.AccountingDocument
left outer to one join I_Ar_FrgnNatlTxCode on SalesTaxItemDetail.BusinessPartnerCountry = I_Ar_FrgnNatlTxCode.Country
and SalesTaxItemDetail.IsNaturalPerson = I_Ar_FrgnNatlTxCode.NFPartnerIsNaturalPerson
left outer to one join I_AR_OfficialDocumentType as OfficialDocumentType on SalesTaxItemDetail.AR_OfficialDocumentType = OfficialDocumentType.AR_OfficialDocumentType
{
key SalesTaxItemDetail.CompanyCode,
key SalesTaxItemDetail.FiscalYear,
key SalesTaxItemDetail.AccountingDocument,
key cast( '000' as fis_buzei preserving type ) as AccountingDocumentItem, //dummy value to keep original field from delivered version
key cast( '000' as taxitem preserving type ) as TaxItem,
key StRpJournalEntryLog.StatryRptgEntity,
key StRpJournalEntryLog.StatryRptCategory,
key StRpJournalEntryLog.StatryRptRunID,
cast( '' as fis_mwskz ) as TaxCode,
cast( 'A' as mwart ) as TaxType,
@DefaultAggregation: #MAX
cast( 0 as fitaxrate ) as TaxRate,
SalesTaxItemDetail.ZeroVATRsn,
SalesTaxItemDetail.FiscalPeriod,
SalesTaxItemDetail.DocumentDate,
SalesTaxItemDetail.PostingDate,
SalesTaxItemDetail.ReportingDate,
cast(
case
when OfficialDocumentType.DueDateIsIgnored = '' or OfficialDocumentType.DueDateIsIgnored is null
then SalesTaxItemDetail.NetDueDate
end
as farp_netdt preserving type ) as NetDueDate,
SalesTaxItemDetail.AR_OfficialDocumentType,
SalesTaxItemDetail.AR_Branch,
SalesTaxItemDetail.AR_PrintCharacter,
SalesTaxItemDetail.AR_OfficialDocumentNumber,
cast( '00' as j_1avat_code preserving type ) as AR_VATRateCode,
SalesTaxItemDetail.AR_OfficialDocumentClass,
SalesTaxItemDetail.IsReversal,
SalesTaxItemDetail.IsReversed,
SalesTaxItemDetail.ReverseDocument,
SalesTaxItemDetail.AlternativeCurrencyKey,
@DefaultAggregation: #MAX
SalesTaxItemDetail.ExchangeRate,
SalesTaxItemDetail.CompanyCodeCountry,
SalesTaxItemDetail.ReferenceDocumentType,
SalesTaxItemDetail.DocumentReferenceID,
SalesTaxItemDetail.ReferenceDocumentLogicalSystem,
SalesTaxItemDetail.OriginalReferenceDocument,
SalesTaxItemDetail.FinancialAccountType,
SalesTaxItemDetail.Customer,
SalesTaxItemDetail.BusinessPartnerName,
SalesTaxItemDetail.BusinessPartnerCountry,
cast(
case SalesTaxItemDetail.BusinessPartnerCountry
when 'AR' then SalesTaxItemDetail.TaxNumber1
else I_Ar_FrgnNatlTxCode.AR_CUIT
end
as stcd1 preserving type ) as TaxNumber1,
cast(
case SalesTaxItemDetail.BusinessPartnerCountry
when 'AR' then SalesTaxItemDetail.TaxNumberType
else '80'
end
as j_1atoid preserving type ) as TaxNumberType,
@DefaultAggregation: #SUM
SalesTaxItemDetail.NmbrOfVATRates,
cast( '' as j_1ataxid_ ) as StRpTaxClassification,
@Semantics.currencyCode:true
SalesTaxItemDetail.CompanyCodeCurrency,
@Semantics.currencyCode:true
SalesTaxItemDetail.TransactionCurrency,
@Semantics.currencyCode:true
SalesTaxItemDetail.ReportingCurrency,
@DefaultAggregation: #MIN
@Semantics.amount.currencyCode: 'CompanyCodeCurrency'
SalesTaxItemDetail.AmountInCompanyCodeCurrency,
@DefaultAggregation: #MIN
@Semantics.amount.currencyCode: 'TransactionCurrency'
SalesTaxItemDetail.AmountInTransactionCurrency,
@DefaultAggregation: #MIN
@Semantics.amount.currencyCode: 'ReportingCurrency'
SalesTaxItemDetail.AmountInReportingCurrency,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'ReportingCurrency'
SalesTaxItemDetail.NotTaxedAmount,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'ReportingCurrency'
SalesTaxItemDetail.NotRegisteredBPTxAmtInRptgCrcy,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'ReportingCurrency'
SalesTaxItemDetail.TaxExemptionAmount,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'ReportingCurrency'
SalesTaxItemDetail.PerceptionVATAmount,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'ReportingCurrency'
SalesTaxItemDetail.GrossIncomeTaxAmount,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'ReportingCurrency'
SalesTaxItemDetail.MunicipalTaxAmount,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'ReportingCurrency'
SalesTaxItemDetail.OpenTotalTaxAmount,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'ReportingCurrency'
SalesTaxItemDetail.OtherTaxAmount,
@DefaultAggregation:#SUM
@Semantics.amount.currencyCode: 'ReportingCurrency'
SalesTaxItemDetail.NetTaxAmount,
@DefaultAggregation:#SUM
@Semantics.amount.currencyCode: 'ReportingCurrency'
SalesTaxItemDetail.TaxedAmountInRptgCrcy,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'CompanyCodeCurrency'
SalesTaxItemDetail.TaxAmountInCoCodeCrcy,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'TransactionCurrency'
SalesTaxItemDetail.TaxAmountInTransCrcy,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'ReportingCurrency'
SalesTaxItemDetail.TaxAmountInRptgCrcy,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'CompanyCodeCurrency'
SalesTaxItemDetail.TaxBaseAmountInCoCodeCrcy,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'TransactionCurrency'
SalesTaxItemDetail.TaxBaseAmountInTransCrcy,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'ReportingCurrency'
SalesTaxItemDetail.TaxBaseAmountInRptgCrcy,
//fields below are maintained in the CDS due to impossibility to remove then, they are kept we dummy values since they are not needed
cast( '00000000' as dzfbdt ) as DueCalculationBaseDate,
@DefaultAggregation: #SUM
0 as NetPaymentDays,
@DefaultAggregation: #SUM
0 as CashDiscount2Days,
@DefaultAggregation: #SUM
0 as CashDiscount1Days,
cast( '' as md_supplier ) as Supplier,
@Semantics.currencyCode:true
cast( SalesTaxItemDetail.TransactionCurrency as twcur preserving type ) as DocumentCurrency,
@DefaultAggregation:#SUM
@Semantics.amount.currencyCode: 'TransactionCurrency'
cast ( 0 as sumha_eb ) as TotalCreditAmountInTransCrcy,
@DefaultAggregation:#SUM
@Semantics.amount.currencyCode: 'CompanyCodeCurrency'
cast ( 0 as fi_ar_foreign_tax_amnt ) as ForeignTaxAmount,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DocumentCurrency'
cast ( 0 as wmwst_shl ) as TaxAmount
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_AR_FRGNNATLTXCODE",
"I_AR_OFFICIALDOCUMENTTYPE",
"I_STRPJOURNALENTRYLOG",
"P_AR_SALESTAXITEMDETAIL"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/