@AbapCatalog.sqlViewName:'CARPURTAXITEMLGC'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.dataClass: #MIXED
@VDM.viewType: #CONSUMPTION
@Analytics.dataCategory: #CUBE
@AccessControl.personalData.blocking:#BLOCKED_DATA_INCLUDED
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Argentina Purchase VAT Tax Item - Cube'
@Metadata.allowExtensions:true
@AbapCatalog.preserveKey: true
define view C_AR_StRpPurTaxItemLogCube
with parameters
@Consumption.defaultValue:'D'
P_AccrualCalculationMethod : fiar_vat_compcredit,
@Consumption.defaultValue:' '
P_RptgAmountIsInTransCrcy : fiar_use_transaction_currency
as select from P_AR_PurchaseTaxItemDetail ( P_AccrualCalculationMethod : $parameters.P_AccrualCalculationMethod,
P_RptgAmountIsInTransCrcy : $parameters.P_RptgAmountIsInTransCrcy ) as PurchaseTaxItemDetail
inner join I_StRpJournalEntryLog as StRpJournalEntryLog on StRpJournalEntryLog.CompanyCode = PurchaseTaxItemDetail.CompanyCode
and StRpJournalEntryLog.FiscalYear = PurchaseTaxItemDetail.FiscalYear
and StRpJournalEntryLog.AccountingDocument = PurchaseTaxItemDetail.AccountingDocument
left outer to one join I_Ar_FrgnNatlTxCode as FrgnNatlTxCode on FrgnNatlTxCode.Country = PurchaseTaxItemDetail.BusinessPartnerCountry
and FrgnNatlTxCode.NFPartnerIsNaturalPerson = ' '
left outer to one join I_Ar_FrgnNatlTxCode as ImportFrgnNatlTxCode on ImportFrgnNatlTxCode.Country = PurchaseTaxItemDetail.ImportDispatchCountry
and ImportFrgnNatlTxCode.NFPartnerIsNaturalPerson = ' '
left outer to one join I_CountryText as ImportCountry on ImportCountry.Country = PurchaseTaxItemDetail.ImportDispatchCountry
and ImportCountry.Language = $session.system_language
{
key PurchaseTaxItemDetail.CompanyCode,
key PurchaseTaxItemDetail.AccountingDocument,
key PurchaseTaxItemDetail.FiscalYear,
key cast( '000' as fis_buzei ) as AccountingDocumentItem,
key cast( '000' as taxitem preserving type ) as TaxItem,
key StRpJournalEntryLog.StatryRptgEntity,
key StRpJournalEntryLog.StatryRptCategory,
key StRpJournalEntryLog.StatryRptRunID,
cast(
case
when PurchaseTaxItemDetail.TaxNumber1 = '30546676591' or PurchaseTaxItemDetail.TaxNumber1 = '33693450239'
then case
when ImportCountry.CountryShortName = 'AR'
then 'Z'
else 'X'
end
else PurchaseTaxItemDetail.ZeroVATRsn
end as j_1arfzvat preserving type
) as ZeroVATRsn,
PurchaseTaxItemDetail.DocumentDate,
PurchaseTaxItemDetail.ReportingDate,
PurchaseTaxItemDetail.PostingDate,
PurchaseTaxItemDetail.AR_PrintCharacter,
PurchaseTaxItemDetail.CompanyCodeCountry,
PurchaseTaxItemDetail.FiscalPeriod,
PurchaseTaxItemDetail.IsReversal,
PurchaseTaxItemDetail.IsReversed,
PurchaseTaxItemDetail.ReverseDocument,
PurchaseTaxItemDetail.AccountingDocumentHeaderText,
PurchaseTaxItemDetail.ClearingAccountingDocument,
cast(
case
when PurchaseTaxItemDetail.TaxNumber1 = '30546676591' or PurchaseTaxItemDetail.TaxNumber1 = '33693450239'
then ''
else PurchaseTaxItemDetail.AR_Branch
end as fiar_branch preserving type
) as AR_Branch,
cast(
case
when PurchaseTaxItemDetail.TaxNumber1 = '30546676591' or PurchaseTaxItemDetail.TaxNumber1 = '33693450239'
then ''
when PurchaseTaxItemDetail.AR_OfficialDocumentType = '099'
then substring( PurchaseTaxItemDetail.DocumentReferenceID,1,10 )
else PurchaseTaxItemDetail.AR_OfficialDocumentNumber
end as fiar_odn preserving type
) as AR_OfficialDocumentNumber,
cast(
case
when PurchaseTaxItemDetail.TaxNumber1 = '30546676591' or PurchaseTaxItemDetail.TaxNumber1 = '33693450239'
then '066'
else PurchaseTaxItemDetail.AR_OfficialDocumentType
end as j_1aoftp_d preserving type
) as AR_OfficialDocumentType,
case
when PurchaseTaxItemDetail.TaxNumber1 = '30546676591' or PurchaseTaxItemDetail.TaxNumber1 = '33693450239'
then PurchaseTaxItemDetail.DocumentReferenceID
else ' '
end as PurchaseImportForm,
cast(
case
when PurchaseTaxItemDetail.TaxNumber1 = '30546676591' or PurchaseTaxItemDetail.TaxNumber1 = '33693450239'
then
case
when PurchaseTaxItemDetail.ImportDispatchCountry <> ''
then ImportFrgnNatlTxCode.AR_CUIT
else PurchaseTaxItemDetail.TaxNumber1
end
else
case PurchaseTaxItemDetail.BusinessPartnerCountry
when 'AR' then PurchaseTaxItemDetail.TaxNumber1
else FrgnNatlTxCode.AR_CUIT
end
end as stcd1 preserving type
) as TaxNumber1,
cast(
case PurchaseTaxItemDetail.BusinessPartnerCountry
when 'AR' then PurchaseTaxItemDetail.TaxNumberType
else '80'
end as j_1atoid preserving type
) as TaxNumberType,
cast(
case
when PurchaseTaxItemDetail.TaxNumber1 = '30546676591' or PurchaseTaxItemDetail.TaxNumber1 = '33693450239'
then
case
when PurchaseTaxItemDetail.ImportDispatchCountry <> ''
then ImportCountry.CountryShortName
else PurchaseTaxItemDetail.BusinessPartnerName
end
else PurchaseTaxItemDetail.BusinessPartnerName
end as businesspartnername preserving type
) as BusinessPartnerName,
PurchaseTaxItemDetail.BusinessPartnerCountry,
PurchaseTaxItemDetail.AlternativeCurrencyKey,
@DefaultAggregation: #MAX
PurchaseTaxItemDetail.ExchangeRate,
@DefaultAggregation: #SUM
PurchaseTaxItemDetail.NmbrOfVATRates,
cast(
case
when PurchaseTaxItemDetail.AR_OfficialDocumentType = '033' or
PurchaseTaxItemDetail.AR_OfficialDocumentType = '058' or
PurchaseTaxItemDetail.AR_OfficialDocumentType = '059' or
PurchaseTaxItemDetail.AR_OfficialDocumentType = '060' or
PurchaseTaxItemDetail.AR_OfficialDocumentType = '063'
then PurchaseTaxItemDetail.TaxNumber1
end as fiar_issuer_cuit preserving type
) as SupplierTaxID1,
cast(
case
when PurchaseTaxItemDetail.AR_OfficialDocumentType = '033' or
PurchaseTaxItemDetail.AR_OfficialDocumentType = '058' or
PurchaseTaxItemDetail.AR_OfficialDocumentType = '059' or
PurchaseTaxItemDetail.AR_OfficialDocumentType = '060' or
PurchaseTaxItemDetail.AR_OfficialDocumentType = '063'
then PurchaseTaxItemDetail.BusinessPartnerName
end as fiar_issuer_name preserving type
) as SupplierName,
PurchaseTaxItemDetail.DocumentReferenceID,
@Semantics.currencyCode:true
PurchaseTaxItemDetail.CompanyCodeCurrency,
@Semantics.currencyCode:true
PurchaseTaxItemDetail.TransactionCurrency,
@Semantics.currencyCode:true
PurchaseTaxItemDetail.ReportingCurrency,
@DefaultAggregation: #MIN
@Semantics.amount.currencyCode: 'CompanyCodeCurrency'
cast(
case
when ( PurchaseTaxItemDetail.TaxNumber1 = '30546676591' or PurchaseTaxItemDetail.TaxNumber1 = '33693450239' ) and PurchaseTaxItemDetail.NotTaxedAmountPlusBaseAmount = 0
then PurchaseTaxItemDetail.TaxAmountInCoCodeCrcy + PurchaseTaxItemDetail.TaxBaseAmountInCoCodeCrcy
else PurchaseTaxItemDetail.AmountInCompanyCodeCurrency
end as glo_amount_compcode_crcy
) as AmountInCompanyCodeCurrency,
@DefaultAggregation: #MIN
@Semantics.amount.currencyCode: 'TransactionCurrency'
cast(
case
when ( PurchaseTaxItemDetail.TaxNumber1 = '30546676591' or PurchaseTaxItemDetail.TaxNumber1 = '33693450239' ) and PurchaseTaxItemDetail.NotTaxedAmountPlusBaseAmount = 0
then PurchaseTaxItemDetail.TaxAmountInTransCrcy + PurchaseTaxItemDetail.TaxBaseAmountInTransCrcy
else PurchaseTaxItemDetail.AmountInTransactionCurrency
end as glo_amount_trans_crcy
) as AmountInTransactionCurrency,
@DefaultAggregation: #MIN
@Semantics.amount.currencyCode: 'ReportingCurrency'
cast(
case
when ( PurchaseTaxItemDetail.TaxNumber1 = '30546676591' or PurchaseTaxItemDetail.TaxNumber1 = '33693450239' ) and PurchaseTaxItemDetail.NotTaxedAmountPlusBaseAmount = 0
then PurchaseTaxItemDetail.TaxAmountInRptgCrcy + PurchaseTaxItemDetail.TaxBaseAmountInRptgCrcy
else PurchaseTaxItemDetail.AmountInReportingCurrency
end as glo_amount_rptg_crcy
) as AmountInReportingCurrency,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'ReportingCurrency'
PurchaseTaxItemDetail.TaxAmountInRptgCrcy,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'ReportingCurrency'
PurchaseTaxItemDetail.TaxBaseAmountInRptgCrcy,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'CompanyCodeCurrency'
PurchaseTaxItemDetail.TaxBaseAmountInCoCodeCrcy,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'CompanyCodeCurrency'
PurchaseTaxItemDetail.TaxAmountInCoCodeCrcy,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'TransactionCurrency'
PurchaseTaxItemDetail.TaxBaseAmountInTransCrcy,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'TransactionCurrency'
PurchaseTaxItemDetail.TaxAmountInTransCrcy,
@DefaultAggregation:#SUM
@Semantics.amount.currencyCode: 'ReportingCurrency'
cast(
case
when PurchaseTaxItemDetail.TaxNumber1 = '30546676591' or PurchaseTaxItemDetail.TaxNumber1 = '33693450239'
then
case
// According to KBA 2763445, Import Dispatch Documents can be posted with a positive and negative line for the tax base amount to cancel each other.
// In this cases, the field NotTaxedAmount should not be considered
when PurchaseTaxItemDetail.NotTaxedAmountPlusBaseAmount = 0
then 0
else PurchaseTaxItemDetail.NotTaxedAmount
end
else abs(PurchaseTaxItemDetail.NotTaxedAmount)
end as fi_ar_nottax_amnt preserving type
) as NotTaxedAmount,
@DefaultAggregation:#SUM
@Semantics.amount.currencyCode: 'ReportingCurrency'
cast(
case
when PurchaseTaxItemDetail.TaxNumber1 = '30546676591' or PurchaseTaxItemDetail.TaxNumber1 = '33693450239'
then PurchaseTaxItemDetail.TaxExemptionAmount
else abs (PurchaseTaxItemDetail.TaxExemptionAmount)
end as fiar_exempted_amount preserving type
) as TaxExemptionAmount,
@DefaultAggregation:#SUM
@Semantics.amount.currencyCode: 'ReportingCurrency'
PurchaseTaxItemDetail.TotalCreditAmountInTransCrcy,
@DefaultAggregation:#SUM
@Semantics.amount.currencyCode: 'ReportingCurrency'
PurchaseTaxItemDetail.ForeignTaxAmount,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'ReportingCurrency'
PurchaseTaxItemDetail.GrossIncomeTaxAmount,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'ReportingCurrency'
PurchaseTaxItemDetail.MunicipalTaxAmount,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'ReportingCurrency'
PurchaseTaxItemDetail.OpenTotalTaxAmount,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'ReportingCurrency'
PurchaseTaxItemDetail.CalculatedTxAmtInCoCodeCrcy,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'ReportingCurrency'
PurchaseTaxItemDetail.OtherTaxAmount,
//fields below are maintained in the CDS due to impossibility to remove then
@Semantics.currencyCode:true
cast( PurchaseTaxItemDetail.TransactionCurrency as twcur preserving type ) as DocumentCurrency,
@DefaultAggregation: #SUM
cast( 0 as fitaxrate) as TaxRate,
cast( '' as j_1ataxid_ ) as StRpTaxClassification,
cast( '' as fis_mwskz ) as TaxCode,
cast( '' as ktosl ) as TransactionTypeDetermination,
cast( '' as farp_xref1) as Reference1IDByBusinessPartner,
cast( '' as farp_xref2) as Reference2IDByBusinessPartner,
cast( '' as kalsm_d) as TaxCalculationProcedure,
cast( '' as fis_shkzg) as DebitCreditCode,
cast( '' as fis_racct) as GLAccount,
cast( '' as farp_blart) as AccountingDocumentType,
cast( '' as fis_hwae2) as AdditionalCurrency1,
cast( '' as fis_hwae3) as AdditionalCurrency2,
cast( '' as bu_partner) as BusinessPartner,
cast( '' as farp_bupla) as BusinessPlace,
cast( '' as waers_005) as CountryCurrency,
cast( '' as adrnr) as CustomerSupplierAddress,
cast( '' as fis_rldnr) as Ledger,
cast( '' as fagl_ldgrp) as LedgerGroup,
cast( '' as txjcd_deep) as LowestLevelTaxJurisdiction,
cast( '' as fis_awtyp) as ReferenceDocumentType,
cast( '' as glo_country) as ReportingCountry,
cast( '0000' as stjah) as ReverseDocumentFiscalYear,
cast( '' as mwskz) as TargetTaxCode,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DocumentCurrency'
cast( 0 as wmwst_shl ) as TaxAmount,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DocumentCurrency'
cast( 0 as h2ste) as TaxAmountInAdditionalCurrency1,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DocumentCurrency'
cast( 0 as h3ste) as TaxAmountInAdditionalCurrency2,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DocumentCurrency'
cast( 0 as lwste_bset) as TaxAmountInCountryCrcy,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DocumentCurrency'
cast( 0 as fwbas) as TaxBaseAmountInCountryCrcy,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DocumentCurrency'
cast( 0 as fwbas) as TaxBaseAmtInAdditionalCrcy1,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DocumentCurrency'
cast( 0 as fwbas) as TaxBaseAmtInAdditionalCrcy2,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DocumentCurrency'
cast( 0 as fi_ar_perpvat_amnt) as PerceptionVATAmount,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DocumentCurrency'
cast( 0 as fiar_net_tax_amount) as NetTaxAmount,
cast( '' as stcd2) as TaxNumber2,
cast( '' as stcd3) as TaxNumber3,
cast( '00000000' as vatdate) as TaxReportingDate,
cast( '' as land1_stml) as TaxReturnCountry,
cast( '' as mwart) as TaxType,
cast( '00' as j_1avat_code preserving type ) as AR_VATRateCode,
cast( '' as fiar_doctyp_catg) as DocumentTypeCategory,
cast( '' as xafabch) as IsPurchasedUsed,
cast( '' as glo_doc_exclude) as AccountingDocItemIsExcluded,
cast( '' as farp_ltext_003t) as AccountingDocumentTypeName,
cast( '' as j_1afpid) as AR_CUIT,
cast( '' as farp_bnk_com_legal_org_short) as LegalEntityOfOrgShortName,
// For the fields below, there are no default data element
'' as ZeroBalanceGLAccIsDisplayed,
'' as IsRespForImportDeclaration,
'' as IsValid,
'' as ItemIsActivated,
'' as SourceConstantValue
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_AR_FRGNNATLTXCODE",
"I_COUNTRYTEXT",
"I_STRPJOURNALENTRYLOG",
"P_AR_PURCHASETAXITEMDETAIL"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/