@VDM.private: true
@VDM.viewType: #CONSUMPTION
@AbapCatalog.sqlViewName: 'PRUINVCJRNL5'
@AbapCatalog.compiler.compareFilter: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.authorizationCheck: #NOT_REQUIRED
define view P_RU_InvoiceJournal5 with parameters
P_StatryRptgEntity : srf_reporting_entity,
P_StatryRptCategory : srf_rep_cat_id,
P_StatryRptRunID : srf_report_run_id
as select distinct from P_RU_InvoiceJournal4( P_StatryRptgEntity: $parameters.P_StatryRptgEntity,
P_StatryRptCategory: $parameters.P_StatryRptCategory,
P_StatryRptRunID: $parameters.P_StatryRptRunID ) as InvoiceJournal
// left outer join I_RU_ReverseDocuments as ReversedDocuments
// on ReversedDocuments.CompanyCode = InvoiceJournal.CompanyCode
// and ReversedDocuments.AccountingDocument = InvoiceJournal.CheckReversedInvoice
// and ReversedDocuments.FiscalYear = InvoiceJournal.CheckReversedInvoiceYear
left outer join P_RU_VATExtraInfo as InvoiceExtraInfo
on InvoiceExtraInfo.CompanyCode = InvoiceJournal.CompanyCode
and InvoiceExtraInfo.AccountingDocument = InvoiceJournal.Invoice
and InvoiceExtraInfo.FiscalYear = InvoiceJournal.InvoiceYear
left outer join P_RU_VATExtraInfo as CorrInvoiceExtraInfo
on CorrInvoiceExtraInfo.CompanyCode = InvoiceJournal.CompanyCode
and CorrInvoiceExtraInfo.AccountingDocument = InvoiceJournal.CorrectionInvoice
and CorrInvoiceExtraInfo.FiscalYear = InvoiceJournal.CorrectionInvoiceYear
left outer join P_RU_VATExtraInfo as AcctgDocumentExtraInfo
on AcctgDocumentExtraInfo.CompanyCode = InvoiceJournal.CompanyCode
and AcctgDocumentExtraInfo.AccountingDocument = InvoiceJournal.AccountingDocument
and AcctgDocumentExtraInfo.FiscalYear = InvoiceJournal.FiscalYear
left outer join I_Currency as _Currency on InvoiceJournal.Currency = _Currency.Currency
left outer join P_RU_InvoiceTotalAmount as _OriginalDocumentAmount
on InvoiceJournal.CompanyCode = _OriginalDocumentAmount.CompanyCode
and InvoiceJournal.AccountingDocument = _OriginalDocumentAmount.AccountingDocument
and InvoiceJournal.FiscalYear = _OriginalDocumentAmount.FiscalYear
association [0..1] to I_OperationalAcctgDocItem as BusinessPartnerItem
on BusinessPartnerItem.CompanyCode = InvoiceJournal.CompanyCode
and BusinessPartnerItem.AccountingDocument = InvoiceJournal.AccountingDocument
and BusinessPartnerItem.FiscalYear = InvoiceJournal.FiscalYear
and (BusinessPartnerItem.FinancialAccountType = 'K' or BusinessPartnerItem.FinancialAccountType = 'D')
association [0..1] to I_OperationalAcctgDocItem as IncInvBusinessPartnerItem
on IncInvBusinessPartnerItem.CompanyCode = InvoiceJournal.RU_IncomingInvoiceCompanyCode
and IncInvBusinessPartnerItem.AccountingDocument = InvoiceJournal.IncgInvoiceAccountingDocument
and IncInvBusinessPartnerItem.FiscalYear = InvoiceJournal.IncgInvoiceAcctgDocFiscalYear
and (IncInvBusinessPartnerItem.FinancialAccountType = 'K' or IncInvBusinessPartnerItem.FinancialAccountType = 'D')
association [0..1] to P_RU_VATExtraInfo as _IncomingInvoiceExtraInfo
on _IncomingInvoiceExtraInfo.CompanyCode = InvoiceJournal.RU_IncomingInvoiceCompanyCode
and _IncomingInvoiceExtraInfo.AccountingDocument = InvoiceJournal.IncgInvoiceAccountingDocument
and _IncomingInvoiceExtraInfo.FiscalYear = InvoiceJournal.IncgInvoiceAcctgDocFiscalYear
{
InvoiceJournal.CompanyCode,
InvoiceJournal.AccountingDocument,
InvoiceJournal.FiscalYear,
InvoiceJournal.PostingDate,
InvoiceJournal.RU_VATSubScenario,
InvoiceJournal.RU_VATReturnSection,
InvoiceJournal.RU_VATReturnSectionType,
InvoiceJournal.RU_VATReturnVersion,
InvoiceJournal.RU_VATSubScenarioVersion,
InvoiceJournal.RU_VATScenario,
InvoiceJournal.RU_CustomerOutputType,
InvoiceJournal.RU_SupplierAgentOutputType,
InvoiceJournal.RU_SupplierOutputType,
InvoiceJournal.RU_SubagentOutputType,
//InvoiceJournal.SalesDealType,
InvoiceJournal.TaxCode,
InvoiceJournal.DebitCreditCode,
(_OriginalDocumentAmount.TaxAmount + _OriginalDocumentAmount.TaxBaseAmountInTransCrcy) as TotalAmountInTransCrcy,
(_OriginalDocumentAmount.TaxAmountInCoCodeCrcy + _OriginalDocumentAmount.TaxBaseAmountInCoCodeCrcy) as TotalAmountInCoCodeCrcy,
InvoiceJournal.TaxBaseAmountInTransCrcy,
InvoiceJournal.TaxAmount,
InvoiceJournal.TaxBaseAmountInCoCodeCrcy,
InvoiceJournal.TaxAmountInCoCodeCrcy,
InvoiceJournal.Currency,
InvoiceJournal.CompanyCodeCurrency,
InvoiceJournal.ItemWithTax,
coalesce(_Currency.AlternativeCurrencyKey, '') as AlternativeCurrencyKey,
InvoiceJournal.Invoice,
InvoiceJournal.InvoiceYear,
coalesce(InvoiceExtraInfo.ExternalInvoice, '') as ExternalInvoice,
coalesce(InvoiceExtraInfo.InvoiceDate, '') as InvoiceDate,
InvoiceJournal.CorrectionInvoice,
InvoiceJournal.CorrectionInvoiceYear,
coalesce(CorrInvoiceExtraInfo.ExternalInvoice, '') as ExternalCorrectionInvoice,
coalesce(CorrInvoiceExtraInfo.InvoiceDate, '') as CorrectionInvoiceDate,
InvoiceJournal.RevisionNumber,
InvoiceJournal.RevisionInvoiceDate,
InvoiceJournal.OriginalInvoiceRevisionNumber,
InvoiceJournal.OriginalInvoiceRevisionDate,
case InvoiceJournal.RevisionTaxReportingDate
when '00000000' then InvoiceJournal.TaxReportingDate
else InvoiceJournal.RevisionTaxReportingDate
end as RU_RegistrationInvoiceDate,
case RU_CustomerOutputType
when 'INV' then coalesce( BusinessPartnerItem.Customer, '')
when 'BR' then coalesce( AcctgDocumentExtraInfo.Customer, '')
else ''
end as Buyer,
case RU_SupplierAgentOutputType
when 'INC' then coalesce(IncInvBusinessPartnerItem.Supplier, '')
when 'SL' then coalesce( AcctgDocumentExtraInfo.Supplier, '')
else ''
end as SellerAgent,
case RU_SupplierOutputType
when 'INV' then coalesce( BusinessPartnerItem.Supplier, '')
when 'SL' then coalesce( AcctgDocumentExtraInfo.Supplier, '')
else ''
end as Seller,
case RU_SubagentOutputType
when 'INV' then coalesce( BusinessPartnerItem.Supplier, '')
else ''
end as Subagent,
case $parameters.P_StatryRptCategory
when 'RU_VAT_DCL' then
InvoiceJournal.SalesDealType
else case RU_SubagentOutputType
when 'INV' then
InvoiceJournal.SalesDealType
else ''
end
end as SalesDealType,
case RU_SupplierAgentOutputType
when 'INC' then _IncomingInvoiceExtraInfo.ExternalInvoice
when 'SL' then AcctgDocumentExtraInfo.RU_IncomingInvoiceNumber
else ''
end as IncomingInvoiceNumber,
case RU_SupplierAgentOutputType
when 'INC' then _IncomingInvoiceExtraInfo.InvoiceDate
when 'SL' then AcctgDocumentExtraInfo.RU_IncomingInvoiceDate
else ''
end as IncomingInvoiceDate,
InvoiceJournal.CommsnTradeInvoiceLinkedAmount,
InvoiceJournal.CommsnTradeInvcLinkedVATAmount,
InvoiceJournal.CommsnTradeInvoiceLinkingCrcy,
// ReversedDocuments.ReverseDocument,
// ReversedDocuments.ReverseDocumentFiscalYear,
InvoiceJournal.BusinessPartnerName,
InvoiceJournal.RU_PartnerOrganizationINN,
InvoiceJournal.RU_PartnerOrganizationKPP,
InvoiceJournal.RU_CommissionTradeCustomerName,
InvoiceJournal.RU_CommissionTradeCustomerINN,
InvoiceJournal.RU_CommissionTradeCustomerKPP,
InvoiceJournal.RU_CommissionTradeSupplierName,
InvoiceJournal.RU_CommissionTradeSupplierINN,
InvoiceJournal.RU_CommissionTradeSupplierKPP,
InvoiceJournal.IncInvBusinessPartnerName,
InvoiceJournal.IncInvPartnerOrganizationINN,
InvoiceJournal.IncInvPartnerOrganizationKPP,
InvoiceJournal.ActionRuleIsGenerated
}
// where InvoiceExtraInfo.ExternalInvoice <> '' and
// ( CorrectionInvoice <> '' and CorrInvoiceExtraInfo.ExternalInvoice <> '' or CorrectionInvoice = '' ) and
// ReversedDocuments.ReverseDocument is null
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CURRENCY",
"I_OPERATIONALACCTGDOCITEM",
"P_RU_INVOICEJOURNAL4",
"P_RU_INVOICETOTALAMOUNT",
"P_RU_VATEXTRAINFO"
],
"ASSOCIATED":
[
"I_OPERATIONALACCTGDOCITEM",
"P_RU_VATEXTRAINFO"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/