P_StRpTaxReturnBox

DDL: P_STRPTAXRETURNBOX SQL: PSRTAXRETBOX Type: view COMPOSITE Package: GLO_FIN_IS_VAT_GEN

Private view to return Tax Details with TaxBox config

P_StRpTaxReturnBox is a Composite CDS View that provides data about "Private view to return Tax Details with TaxBox config" in SAP S/4HANA. It reads from 4 data sources (P_GetNonDeductibleDocItem, I_BillingDocument, P_ConditionsItem, P_CountCountry) and exposes 87 fields with key fields CompanyCode, AccountingDocument, FiscalYear, TaxItem, TaxCode. Part of development package GLO_FIN_IS_VAT_GEN.

Data Sources (4)

SourceAliasJoin Type
P_GetNonDeductibleDocItem _GetNVV left_outer
I_BillingDocument I_BillingDocument left_outer
P_ConditionsItem P_ConditionsItem left_outer
P_CountCountry P_CountCountry left_outer

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName PSRTAXRETBOX view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
VDM.viewType #COMPOSITE view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.serviceQuality #X view
ObjectModel.usageType.dataClass #MIXED view
AccessControl.personalData.blocking #NOT_REQUIRED view
VDM.private true view
AccessControl.blocking #BLOCKED_DATA_INCLUDED view

Fields (87)

KeyFieldSource TableSource FieldDescription
KEY CompanyCode P_StRpTaxReturn CompanyCode
KEY AccountingDocument P_StRpTaxReturn AccountingDocument
KEY FiscalYear P_StRpTaxReturn FiscalYear
KEY TaxItem P_StRpTaxReturn TaxItem
KEY TaxCode P_StRpTaxReturn TaxCode
KEY TransactionTypeDetermination P_StRpTaxReturn TransactionTypeDetermination
KEY StatryRptgEntity _ReportedItemsLog StatryRptgEntity
KEY StatryRptCategory _ReportedItemsLog StatryRptCategory
KEY StatryRptRunID _ReportedItemsLog StatryRptRunID
DebitCreditCode P_StRpTaxReturn DebitCreditCode
TaxCalculationProcedure TaxCalculationProcedure
TaxRate P_StRpTaxReturn TaxRate
dec112aschar16endendendasIPITaxRate
AdditionalTax1Rate P_StRpTaxReturn TaxRate
ConditionAmount P_ConditionsItem ConditionAmount
PayerPartyendasCustomer
GLAccount GLAccount
TaxItemGroup TaxItemGroup
BusinessPlace BusinessPlace
TaxJurisdiction TaxJurisdiction
LowestLevelTaxJurisdiction LowestLevelTaxJurisdiction
AccountingDocumentType P_StRpTaxReturn AccountingDocumentType
ReferenceDocumentType ReferenceDocumentType
ReverseDocument ReverseDocument
ReverseDocumentFiscalYear ReverseDocumentFiscalYear
ConditionRecord P_StRpTaxReturn ConditionRecord
RoundingDecimalPlaces RoundingDecimalPlaces
DocumentReferenceID P_StRpTaxReturn DocumentReferenceID
Ledger Ledger
LedgerGroup LedgerGroup
PostingDate PostingDate
DocumentDate DocumentDate
TaxReportingDate TaxReportingDate
ReportingDate P_StRpTaxReturn ReportingDate
FiscalPeriod P_StRpTaxReturn FiscalPeriod
ExchangeRate ExchangeRate
IsReversal IsReversal
IsReversed IsReversed
AccountingDocumentHeaderText AccountingDocumentHeaderText
CompanyCodeCountry CompanyCodeCountry
ReportingCountry ReportingCountry
TaxReturnCountry TaxReturnCountry
TaxCountry TaxCountry
CompanyCodeCurrency CompanyCodeCurrency
CountryCurrency CountryCurrency
DocumentCurrency DocumentCurrency
ReportingCurrency ReportingCurrency
AdditionalCurrency1 AdditionalCurrency1
AdditionalCurrency2 AdditionalCurrency2
TaxBaseAmountInRptgCrcy TaxBaseAmountInRptgCrcy
TaxAmountInRptgCrcy TaxAmountInRptgCrcy
TaxBaseAmountInCoCodeCrcy P_StRpTaxReturn TaxBaseAmountInCoCodeCrcy
TaxAmountInCoCodeCrcy P_StRpTaxReturn TaxAmountInCoCodeCrcy
TaxBaseAmountInTransCrcy P_StRpTaxReturn TaxBaseAmountInTransCrcy
TaxAmount P_StRpTaxReturn TaxAmount
TaxBaseAmountInCountryCrcy TaxBaseAmountInCountryCrcy
TaxAmountInCountryCrcy TaxAmountInCountryCrcy
TaxBaseAmtInAdditionalCrcy1 TaxBaseAmtInAdditionalCrcy1
TaxBaseAmtInAdditionalCrcy2 TaxBaseAmtInAdditionalCrcy2
TaxAmountInAdditionalCurrency1 TaxAmountInAdditionalCurrency1
TaxAmountInAdditionalCurrency2 TaxAmountInAdditionalCurrency2
DifferenceTaxAmtInCoCodeCrcy
DiffTaxBaseAmountInCoCodeCrcy
TaxType TaxType
TargetTaxCode TargetTaxCode
TaxNumber1 TaxNumber1
TaxNumber2 TaxNumber2
ActiveTaxType ActiveTaxType
TaxNumber3 TaxNumber3
NmbrOfChmlCmplncMktCountries NmbrOfChmlCmplncMktCountries
BusinessPartner BusinessPartner
DcblVATIncrdCostInRptgCrcy
BusinessPartnerName BusinessPartnerName
CustomerSupplierAddress CustomerSupplierAddress
TaxIsNotDeductible P_StRpTaxReturn TaxIsNotDeductible
SupplierAccountGroup SupplierAccountGroup
ConditionType ConditionType
_ReportingCurrency _ReportingCurrency
_AccountingDocument P_StRpTaxReturn _AccountingDocument
_GLAccount _GLAccount
_TaxJurisdiction _TaxJurisdiction
_DebtorCreditorRblsPyblsItem _DebtorCreditorRblsPyblsItem
_ReceivablesPayablesItem _ReceivablesPayablesItem
_TaxReceivablesPayablesItem _TaxReceivablesPayablesItem
_TaxTypeText _TaxTypeText
_TaxCodeText _TaxCodeText
_ReportedItemsLog _ReportedItemsLog
@AbapCatalog.sqlViewName: 'PSRTAXRETBOX'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
//@EndUserText.label: 'Private view to return Tax Details with TaxBox config'

@VDM.viewType: #COMPOSITE
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.serviceQuality: #X
@ObjectModel.usageType.dataClass: #MIXED
@AccessControl.personalData.blocking: #NOT_REQUIRED
@VDM.private: true
@AccessControl.blocking:#BLOCKED_DATA_INCLUDED

define view P_StRpTaxReturnBox

  as select distinct from P_StRpTaxReturn


    left outer join       P_ConditionsItem    on  P_StRpTaxReturn.ConditionRecord       =  P_ConditionsItem.ConditionRecord
                                              and P_StRpTaxReturn.TaxAmountInCoCodeCrcy <> 0
                                              and P_ConditionsItem.SequentialNumber     =  '01'

    left outer join       I_BillingDocument   on  P_StRpTaxReturn.OriginalReferenceDocument = I_BillingDocument.BillingDocument
                                              and P_StRpTaxReturn.ReferenceDocumentType     = 'VBRK'
                                              and P_StRpTaxReturn.FinancialAccountType      is null

    left outer join       P_CountCountry      on  P_StRpTaxReturn.CompanyCode        = P_CountCountry.CompanyCode
                                              and P_StRpTaxReturn.AccountingDocument = P_CountCountry.AccountingDocument
                                              and P_StRpTaxReturn.FiscalYear         = P_CountCountry.FiscalYear
                                              and P_StRpTaxReturn.ReportingDate      = P_CountCountry.ReportingDate
                                              
    left outer join       P_GetNonDeductibleDocItem as _GetNVV on  P_StRpTaxReturn.CompanyCode        = _GetNVV.CompanyCode
                                                               and P_StRpTaxReturn.AccountingDocument = _GetNVV.AccountingDocument
                                                               and P_StRpTaxReturn.FiscalYear         = _GetNVV.FiscalYear
                                                               and P_StRpTaxReturn.TaxCode            = _GetNVV.TaxCode
                                                               and P_StRpTaxReturn.StatryRptCategory  = _GetNVV.StatryRptCategory
                                                               and P_StRpTaxReturn.StatryRptgEntity   = _GetNVV.StatryRptgEntity
                                                               and P_StRpTaxReturn.StatryRptRunID     = _GetNVV.StatryRptRunID
                                                               and P_StRpTaxReturn.ReportingDate      = _GetNVV.ReportingDate


{

  key P_StRpTaxReturn.CompanyCode,
  key P_StRpTaxReturn.AccountingDocument,
  key P_StRpTaxReturn.FiscalYear,
  key P_StRpTaxReturn.TaxItem,
  key P_StRpTaxReturn.TaxCode,
  key P_StRpTaxReturn.TransactionTypeDetermination,
  key _ReportedItemsLog.StatryRptgEntity,
  key _ReportedItemsLog.StatryRptCategory,
  key _ReportedItemsLog.StatryRptRunID,
  
      P_StRpTaxReturn.DebitCreditCode,

      TaxCalculationProcedure,

      @DefaultAggregation:#MIN
      P_StRpTaxReturn.TaxRate,

      case
      when P_StRpTaxReturn.TransactionTypeDetermination = 'ESE' and ( P_StRpTaxReturn.TaxRate = 100.00 or P_StRpTaxReturn.TaxRate = -100.00 )
      then
      cast(cast(-_NegCharge.TaxRate as abap.dec(11,2)) as char16)  // cast(-_NegCharge.TaxRate as char16) //AFLE Changes

      when P_StRpTaxReturn.TransactionTypeDetermination = 'ESA' and ( P_StRpTaxReturn.TaxRate = 100.00 or P_StRpTaxReturn.TaxRate = -100.00 )
      then
      cast(cast(-P_StRpTaxReturn.TaxRate as abap.dec(11,2)) as char16)  // (-TaxRate as char16)                //AFLE Changes

      else
      case
      when _GetNVV.AccountingDocument is not null or _GetNVV.AccountingDocument <> ''
      then cast(cast(_GetNVV.TaxRate + P_StRpTaxReturn.TaxRate as abap.dec(11,2)) as char16)
      else
      case
      when P_StRpTaxReturn.TaxRate < 0 then
      cast(cast(-P_StRpTaxReturn.TaxRate as abap.dec(11,2)) as char16)  // (TaxRate as char16)                //AFLE Changes

      else
      cast(cast(P_StRpTaxReturn.TaxRate as abap.dec(11,2)) as char16)
      end
      end
      end                                                                                  as IPITaxRate,

      @DefaultAggregation:#SUM
      P_StRpTaxReturn.TaxRate                                                              as AdditionalTax1Rate,

      @DefaultAggregation:#MIN
      P_ConditionsItem.ConditionAmount,

      case
      when P_StRpTaxReturn.Customer <> '' and P_StRpTaxReturn.Customer <> ' '
      then P_StRpTaxReturn.Customer
      else I_BillingDocument.PayerParty
      end                                                                                  as Customer,

      GLAccount,
      TaxItemGroup,
      BusinessPlace,
      TaxJurisdiction,
      LowestLevelTaxJurisdiction,
      P_StRpTaxReturn.AccountingDocumentType,
      ReferenceDocumentType,
      ReverseDocument,
      ReverseDocumentFiscalYear,
      P_StRpTaxReturn.ConditionRecord,
      RoundingDecimalPlaces,

      P_StRpTaxReturn.DocumentReferenceID,
      Ledger,
      LedgerGroup,
      PostingDate,
      DocumentDate,
      TaxReportingDate,
      P_StRpTaxReturn.ReportingDate,
      P_StRpTaxReturn.FiscalPeriod,
      @DefaultAggregation:#MIN
      ExchangeRate,
      IsReversal,
      IsReversed,
      AccountingDocumentHeaderText,
      CompanyCodeCountry,
      ReportingCountry,
      TaxReturnCountry,
      TaxCountry,
      @Semantics.currencyCode:true
      CompanyCodeCurrency,
      @Semantics.currencyCode:true
      CountryCurrency,
      @Semantics.currencyCode:true
      DocumentCurrency,
      @Semantics.currencyCode:true
      ReportingCurrency,
      @Semantics.currencyCode: true
      AdditionalCurrency1,
      @Semantics.currencyCode: true
      AdditionalCurrency2,

      @DefaultAggregation:#SUM
      @Semantics.amount.currencyCode: 'ReportingCurrency'
      TaxBaseAmountInRptgCrcy,

      @DefaultAggregation:#SUM
      @Semantics.amount.currencyCode: 'ReportingCurrency'
      TaxAmountInRptgCrcy,

      @DefaultAggregation:#SUM
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      P_StRpTaxReturn.TaxBaseAmountInCoCodeCrcy,

      @DefaultAggregation:#SUM
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      P_StRpTaxReturn.TaxAmountInCoCodeCrcy,

      @DefaultAggregation:#SUM
      @Semantics.amount.currencyCode: 'DocumentCurrency'
      P_StRpTaxReturn.TaxBaseAmountInTransCrcy,
      @DefaultAggregation:#SUM
      @Semantics.amount.currencyCode: 'DocumentCurrency'
      P_StRpTaxReturn.TaxAmount,

      @DefaultAggregation:#SUM
      @Semantics.amount.currencyCode: 'CountryCurrency'
      TaxBaseAmountInCountryCrcy,

      @DefaultAggregation:#SUM
      @Semantics.amount.currencyCode: 'CountryCurrency'
      TaxAmountInCountryCrcy,

      @DefaultAggregation:#SUM
      @Semantics.amount.currencyCode: 'AdditionalCurrency1'
      TaxBaseAmtInAdditionalCrcy1,
      @DefaultAggregation:#SUM
      @Semantics.amount.currencyCode: 'AdditionalCurrency2'
      TaxBaseAmtInAdditionalCrcy2,
      @DefaultAggregation:#SUM
      @Semantics.amount.currencyCode: 'AdditionalCurrency1'
      TaxAmountInAdditionalCurrency1,
      @DefaultAggregation:#SUM
      @Semantics.amount.currencyCode: 'AdditionalCurrency2'
      TaxAmountInAdditionalCurrency2,


      @DefaultAggregation:#SUM
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      CalculatedTxAmtInCoCodeCrcy  - P_StRpTaxReturn.TaxAmountInCoCodeCrcy                 as DifferenceTaxAmtInCoCodeCrcy,

      /*@DefaultAggregation:#SUM
     // @Semantics.amount.currencyCode: 'CompanyCodeCurrency'

     case
     when P_StRpTaxReturn.TaxAmountInCoCodeCrcy <> 0
     then
     ( div ( (CalculatedTxAmtInCoCodeCrcy - P_StRpTaxReturn.TaxAmountInCoCodeCrcy ), P_StRpTaxReturn.TaxAmountInCoCodeCrcy ) ) * 100

     else 0
     end as CalculatedTaxDiffPercent,    */  //need GFNC*************************Uncomment in next release************************************************************


      @DefaultAggregation:#SUM
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      CalcdTxBaseAmtInCoCodeCrcy  - P_StRpTaxReturn.TaxBaseAmountInCoCodeCrcy                              as DiffTaxBaseAmountInCoCodeCrcy,

      @ObjectModel.text.association: '_TaxTypeText'
      TaxType,
      TargetTaxCode,

      TaxNumber1,
      TaxNumber2,

      ActiveTaxType,

      TaxNumber3,
      
      NmbrOfChmlCmplncMktCountries,      

      @DefaultAggregation:#SUM
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      case
      when _GetNVV.AccountingDocument is not null or _GetNVV.AccountingDocument <> ''
      then 
      P_StRpTaxReturn.CalculatedTxAmtInCoCodeCrcy + _GetNVV.TaxAmountInCoCodeCrcy
      else P_StRpTaxReturn.CalculatedTxAmtInCoCodeCrcy
      end as CalculatedTxAmtInCoCodeCrcy,

      @DefaultAggregation:#SUM
      @Semantics.amount.currencyCode: 'DocumentCurrency'
      case
      when _GetNVV.AccountingDocument is not null or _GetNVV.AccountingDocument <> ''
      then 
      P_StRpTaxReturn.CalculatedTaxAmountInTransCrcy + _GetNVV.TaxAmount
      else P_StRpTaxReturn.CalculatedTaxAmountInTransCrcy
      end as CalculatedTaxAmountInTransCrcy,

      /*@DefaultAggregation:#SUM
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      CalcdTxBaseAmtInCoCodeCrcy  + CalculatedTxAmtInCoCodeCrcy as TotalGrossAmountInCoCodeCrcy,

      @DefaultAggregation:#SUM
      @Semantics.amount.currencyCode: 'DocumentCurrency'
      P_StRpTaxReturn.CalculatedTaxAmountInTransCrcy  + CalculatedTxBaseAmtInTransCrcy  as TotalGrossAmountInTransCrcy,*/

      BusinessPartner,

      @DefaultAggregation:#SUM
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'

      case
      when P_StRpTaxReturn.TaxIsNotDeductible = 'X'
      then 0
      else
      case
      when P_StRpTaxReturn.TransactionTypeDetermination = 'ESE' and ( P_StRpTaxReturn.TaxRate = 100.00 or P_StRpTaxReturn.TaxRate = -100.00 )
      then

      case
      when (( _NegCharge.TaxBaseAmountInCoCodeCrcy  > 0 and CalculatedTxAmtInCoCodeCrcy < 0 ) or ( _NegCharge.TaxBaseAmountInCoCodeCrcy  < 0 and CalculatedTxAmtInCoCodeCrcy > 0 ))
      then
      -_NegCharge.TaxBaseAmountInCoCodeCrcy
      else
      _NegCharge.TaxBaseAmountInCoCodeCrcy
      end

      else
      case
      when P_StRpTaxReturn.TransactionTypeDetermination = 'ESA'
      then

      case
      when (( CalcdTxBaseAmtInCoCodeCrcy  > 0 and CalculatedTxAmtInCoCodeCrcy < 0 ) or ( CalcdTxBaseAmtInCoCodeCrcy  < 0 and CalculatedTxAmtInCoCodeCrcy > 0 ))
      then
      -CalcdTxBaseAmtInCoCodeCrcy
      else
      CalcdTxBaseAmtInCoCodeCrcy
      end
      else
      case
      when (( CalcdTxBaseAmtInCoCodeCrcy  > 0 and CalculatedTxAmtInCoCodeCrcy < 0 ) or ( CalcdTxBaseAmtInCoCodeCrcy  < 0 and CalculatedTxAmtInCoCodeCrcy > 0 ))
      then
      -CalcdTxBaseAmtInCoCodeCrcy
      else
      CalcdTxBaseAmtInCoCodeCrcy
      end
      end
      end
      end                                                                                  as
                                                                                              CalcdTxBaseAmtInCoCodeCrcy,

      @DefaultAggregation:#SUM
      @Semantics.amount.currencyCode: 'DocumentCurrency'
      case
         when P_StRpTaxReturn.TaxIsNotDeductible = 'X'
         then 0
      else
      case
      when P_StRpTaxReturn.TransactionTypeDetermination = 'ESE' and ( P_StRpTaxReturn.TaxRate = 100.00 or P_StRpTaxReturn.TaxRate = -100.00 )
      then

        case
        when (( _NegCharge.TaxBaseAmountInTransCrcy  > 0 and CalculatedTaxAmountInTransCrcy < 0 ) or ( _NegCharge.TaxBaseAmountInTransCrcy  < 0 and CalculatedTaxAmountInTransCrcy > 0 ))
        then
        -_NegCharge.TaxBaseAmountInTransCrcy
        else
        _NegCharge.TaxBaseAmountInTransCrcy
        end

       else
      case
      when P_StRpTaxReturn.TransactionTypeDetermination = 'ESA'
      then

        case
        when (( CalculatedTxBaseAmtInTransCrcy  > 0 and CalculatedTaxAmountInTransCrcy < 0 ) or ( CalculatedTxBaseAmtInTransCrcy  < 0 and CalculatedTaxAmountInTransCrcy > 0 ))
        then
        -CalculatedTxBaseAmtInTransCrcy
        else
        CalculatedTxBaseAmtInTransCrcy
        end
      else
      case
      when (( CalculatedTxBaseAmtInTransCrcy  > 0 and CalculatedTaxAmountInTransCrcy < 0 ) or ( CalculatedTxBaseAmtInTransCrcy  < 0 and CalculatedTaxAmountInTransCrcy > 0 ))
      then
      -CalculatedTxBaseAmtInTransCrcy
      else
       CalculatedTxBaseAmtInTransCrcy
      end
      end
      end
      end                                                                                  as
                                                                                              CalculatedTxBaseAmtInTransCrcy,

      @DefaultAggregation:#SUM
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'

      case
      when _GetNVV.AccountingDocument is not null or _GetNVV.AccountingDocument <> ''
      then
      _GetNVV.TaxAmountInCoCodeCrcy
      else
      0
      end                                                                                  as NonDeductibleInputTaxAmount,
      
      @DefaultAggregation:#SUM
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      cast (P_StRpTaxReturn.TaxAmountInCoCodeCrcy as deductible_amt) as DcblVATIncrdCostInRptgCrcy,     //DeductibleAmount


      BusinessPartnerName,

      case
      when ActiveTaxType = '01'
      then 'Output Tax'
      when ActiveTaxType = '02'
      then 'Input Tax'
      when ActiveTaxType = '03'
      then 'Additional Tax'
      when ActiveTaxType = '04'
      then 'Output Deferred'
      when ActiveTaxType = '05'
      then 'Output MOSS'
      when ActiveTaxType = '06'
      then 'Input Deferred'
      when ActiveTaxType = '07'
      then 'Input MOSS'
      end                                                                                  as TaxTypeName,
      
      CustomerSupplierAddress,

      P_StRpTaxReturn.TaxIsNotDeductible,
      
      @DefaultAggregation:#SUM
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      case
      when ActiveTaxType = '01'
      then CalculatedTxAmtInCoCodeCrcy
      when ActiveTaxType = '02'
      then P_StRpTaxReturn.TaxAmountInCoCodeCrcy
      end as BalanceAmountInTransacCurrency,
      
      SupplierAccountGroup,
      ConditionType,

      _ReportingCurrency,
      P_StRpTaxReturn._AccountingDocument,
      _GLAccount,
      _TaxJurisdiction,
      _DebtorCreditorRblsPyblsItem,
      _ReceivablesPayablesItem,
      _TaxReceivablesPayablesItem,
      _TaxTypeText,
      _TaxCodeText,
      _ReportedItemsLog
}
where
  ItemRelevantForReporting = 'X' and ( P_StRpTaxReturn.TaxIsNotDeductible <>'X' )