P_KZ_DSVATRetDoc

DDL: P_KZ_DSVATRETDOC SQL: PKZDSVATRETDOC Type: view COMPOSITE

P_KZ_DSVATRetDoc is a Composite CDS View in SAP S/4HANA. It reads from 2 data sources (I_KZ_VATReturnCustomizing, I_JournalEntry) and exposes 11 fields with key fields StatryRptgEntity, StatryRptCategory, StatryRptRunID, CompanyCode, FiscalYear.

Data Sources (2)

SourceAliasJoin Type
I_KZ_VATReturnCustomizing Customazing inner
I_JournalEntry JournalEntry from

Parameters (6)

NameTypeDefault
P_StatryRptgEntity srf_reporting_entity
P_StatryRptCategory srf_rep_cat_id
P_StatryRptRunID srf_report_run_id
P_VATReturnVersion j_3rvatdversion
P_ReportingPeriodStartDate datum
P_ReportingPeriodEndDate datum

Annotations (7)

NameValueLevelField
AbapCatalog.sqlViewName PKZDSVATRETDOC view
ClientHandling.algorithm #SESSION_VARIABLE view
AccessControl.authorizationCheck #NOT_REQUIRED view
VDM.viewType #COMPOSITE view
VDM.private true view
AbapCatalog.preserveKey true view
AbapCatalog.compiler.compareFilter true view

Fields (11)

KeyFieldSource TableSource FieldDescription
KEY StatryRptgEntity
KEY StatryRptCategory
KEY StatryRptRunID
KEY CompanyCode I_JournalEntry CompanyCode
KEY FiscalYear I_JournalEntry FiscalYear
KEY AccountingDocument I_JournalEntry AccountingDocument
KEY AccountingDocumentItem TaxItem TaxItem
KEY SectionNum I_KZ_VATReturnCustomizing KZ_VATReturnSectionType
KEY LineItem I_KZ_VATReturnCustomizing KZ_VATLineItem
KEY OperationCode I_KZ_VATReturnCustomizing KZ_VATOperationCode
KEY ColumnNum I_KZ_VATReturnCustomizing KZ_VATReturnSectionColumn
@AbapCatalog.sqlViewName: 'PKZDSVATRETDOC'
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.authorizationCheck: #NOT_REQUIRED
@VDM.viewType: #COMPOSITE
@VDM.private: true
@AbapCatalog.preserveKey:true 
@AbapCatalog.compiler.compareFilter:true 

define view P_KZ_DSVATRetDoc
  with parameters

    P_StatryRptgEntity         : srf_reporting_entity,
    P_StatryRptCategory        : srf_rep_cat_id,
    P_StatryRptRunID           : srf_report_run_id,
    P_VATReturnVersion         : j_3rvatdversion,
    P_ReportingPeriodStartDate : datum,
    P_ReportingPeriodEndDate   : datum
  as select from I_JournalEntry            as JournalEntry


//    join         I_OperationalAcctgDocItem as DocumentItem on  JournalEntry.CompanyCode        = DocumentItem.CompanyCode

//                                                           and JournalEntry.AccountingDocument = DocumentItem.AccountingDocument

//                                                           and JournalEntry.FiscalYear         = DocumentItem.FiscalYear


    join         I_TaxItem                 as TaxItem      on  JournalEntry.CompanyCode            = TaxItem.CompanyCode
                                                           and JournalEntry.AccountingDocument     = TaxItem.AccountingDocument
                                                           and JournalEntry.FiscalYear             = TaxItem.FiscalYear
//                                                           and DocumentItem.AccountingDocumentItem = TaxItem.TaxItem

                                                           


    inner join         I_KZ_VATReturnCustomizing as Customazing  on(
                                                              Customazing.TaxCode = TaxItem.TaxCode
                                                              and Customazing.AccountingDocumentType = JournalEntry.AccountingDocumentType
                                                              and Customazing.TransactionTypeDetermination = TaxItem.TransactionTypeDetermination
                                                              
                                                             )
                                                           or(
                                                             Customazing.TaxCode                    = TaxItem.TaxCode
                                                             and Customazing.AccountingDocumentType = JournalEntry.AccountingDocumentType
                                                             and Customazing.TransactionTypeDetermination = ''
                                                           )
                                                           or(
                                                             Customazing.TaxCode                    = TaxItem.TaxCode
                                                             and Customazing.AccountingDocumentType = ''
                                                             and Customazing.TransactionTypeDetermination = TaxItem.TransactionTypeDetermination
                                                           )
                                                           or(
                                                             Customazing.TaxCode                    = TaxItem.TaxCode
                                                             and Customazing.AccountingDocumentType = ''
                                                             and Customazing.TransactionTypeDetermination = ''
                                                           )
{

  key $parameters.P_StatryRptgEntity        as StatryRptgEntity,
  key $parameters.P_StatryRptCategory       as StatryRptCategory,
  key $parameters.P_StatryRptRunID          as StatryRptRunID,
  key JournalEntry.CompanyCode,
  key JournalEntry.FiscalYear,
  key JournalEntry.AccountingDocument,
  key TaxItem.TaxItem as AccountingDocumentItem,
  key Customazing.KZ_VATReturnSectionType   as SectionNum,
  key Customazing.KZ_VATLineItem               as LineItem,
  key Customazing.KZ_VATOperationCode             as OperationCode,
  key Customazing.KZ_VATReturnSectionColumn as ColumnNum


}
where

  // check DebitCreditCode type according to customizing

  (
        Customazing.DebitCreditCode         = ''
    or  JournalEntry.IsReversal             =  ''
    and TaxItem.DebitCreditCode             =  Customazing.DebitCreditCode
    or  JournalEntry.IsReversal             =  'X'
    and TaxItem.DebitCreditCode             <> Customazing.DebitCreditCode
  )
  and
  (
        Customazing.KZ_VATReturnSectionType =  ''
    or  Customazing.KZ_VATReturnSectionType =  '01'
    or  Customazing.KZ_VATReturnSectionType =  '02'
    or  Customazing.KZ_VATReturnSectionType =  '04'
    or  Customazing.KZ_VATReturnSectionType =  '06'
  )
  and   
  JournalEntry.TaxReportingDate       >= $parameters.P_ReportingPeriodStartDate
  and   JournalEntry.TaxReportingDate       <= $parameters.P_ReportingPeriodEndDate
  and Customazing.KZ_VATReturnVersion = $parameters.P_VATReturnVersion
  and Customazing.TotalNumberIsCondition = ''
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_JOURNALENTRY",
"I_KZ_VATRETURNCUSTOMIZING",
"I_TAXITEM"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/