P_MX_JrnlEntrForeignCompDets

DDL: P_MX_JRNLENTRFOREIGNCOMPDETS SQL: PMXJEFRGNCOMP Type: view CONSUMPTION

P_MX_JrnlEntrForeignCompDets is a Consumption CDS View in SAP S/4HANA. It reads from 4 data sources (I_StRpJournalEntryHeaderLog, P_MX_JrnlEntrItmInvcDetails, P_MX_JrnlEntrItmInvcDetails, P_JrnlEntrAddlClrgInformation) and exposes 36 fields with key fields SourceLedger, Ledger, CompanyCode, AccountingDocument, FiscalYear.

Data Sources (4)

SourceAliasJoin Type
I_StRpJournalEntryHeaderLog I_StRpJournalEntryHeaderLog inner
P_MX_JrnlEntrItmInvcDetails P_MX_JrnlEntrItmInvcDetails from
P_MX_JrnlEntrItmInvcDetails P_MX_JrnlEntrItmInvcDetails inner
P_JrnlEntrAddlClrgInformation PaidInvoices union_all

Parameters (4)

NameTypeDefault
P_Ledger fins_ledger
P_FiscalYear fis_gjahr_no_conv
P_FromPostingDate fis_budat_from
P_ToPostingDate fis_budat_to

Annotations (8)

NameValueLevelField
AbapCatalog.sqlViewName PMXJEFRGNCOMP view
AbapCatalog.compiler.compareFilter true view
AccessControl.personalData.blocking #NOT_REQUIRED view
VDM.private true view
VDM.viewType #CONSUMPTION view
ClientHandling.algorithm #SESSION_VARIABLE view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.serviceQuality #P view

Fields (36)

KeyFieldSource TableSource FieldDescription
KEY SourceLedger JournalEntryItem SourceLedger
KEY Ledger JournalEntryItem Ledger
KEY CompanyCode JournalEntryItem CompanyCode
KEY AccountingDocument JournalEntryItem AccountingDocument
KEY FiscalYear JournalEntryItem FiscalYear
KEY AccountingDocumentItem JournalEntryItem AccountingDocumentItem
KEY StatryRptgEntity JournalEntryItem StatryRptgEntity
KEY StatryRptCategory JournalEntryItem StatryRptCategory
KEY StatryRptRunID JournalEntryItem StatryRptRunID
TaxNumber1 JournalEntryItem TaxNumber1
DocumentReferenceID JournalEntryItem DocumentReferenceID
AmountInTransactionCurrency JournalEntryItem AmountInTransactionCurrency
TransactionCurrency JournalEntryItem TransactionCurrency
ExchangeRate JournalEntryItem ExchangeRate
PaymentMethod JournalEntryItem PaymentMethod
JrnlEntryCntrySpecificRef5 JournalEntryItem JrnlEntryCntrySpecificRef5
P_Ledger
P_FiscalYear
P_FromPostingDate
SourceLedger
KEY Ledger InvoiceDetails Ledger
KEY CompanyCode P_JrnlEntrAddlClrgInformation ClearingCompanyCode
KEY AccountingDocument P_JrnlEntrAddlClrgInformation ClearingAccountingDocument
KEY FiscalYear P_JrnlEntrAddlClrgInformation ClearingDocFiscalYear
KEY AccountingDocumentItem InvoiceDetails AccountingDocumentItem
KEY StatryRptgEntity InvoiceDetails StatryRptgEntity
KEY StatryRptCategory InvoiceDetails StatryRptCategory
KEY StatryRptRunID InvoiceDetails StatryRptRunID
TaxNumber1 InvoiceDetails TaxNumber1
DocumentReferenceID InvoiceDetails DocumentReferenceID
AmountInTransactionCurrency
TransactionCurrency InvoiceDetails TransactionCurrency
ExchangeRate InvoiceDetails ExchangeRate
PaymentMethod InvoiceDetails PaymentMethod
JrnlEntryCntrySpecificRef5 InvoiceDetails JrnlEntryCntrySpecificRef5
IsOriginalDocument
@AbapCatalog.sqlViewName: 'PMXJEFRGNCOMP'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.personalData.blocking: #NOT_REQUIRED
@VDM.private: true
@VDM.viewType: #CONSUMPTION
@ClientHandling.algorithm: #SESSION_VARIABLE
@Metadata.ignorePropagatedAnnotations:true
@ObjectModel.usageType.serviceQuality: #P

define view P_MX_JrnlEntrForeignCompDets
  with parameters
    P_Ledger          : fins_ledger,
    P_FiscalYear      : fis_gjahr_no_conv,
    P_FromPostingDate : fis_budat_from,
    P_ToPostingDate   : fis_budat_to

  as select from P_MX_JrnlEntrItmInvcDetails( P_Ledger          : $parameters.P_Ledger,
                                              P_FiscalYear      : $parameters.P_FiscalYear,
                                              P_FromPostingDate : $parameters.P_FromPostingDate,
                                              P_ToPostingDate   : $parameters.P_ToPostingDate ) as JournalEntryItem
{
  key JournalEntryItem.SourceLedger,
  key JournalEntryItem.Ledger,
  key JournalEntryItem.CompanyCode,
  key JournalEntryItem.AccountingDocument,
  key JournalEntryItem.FiscalYear,
  key JournalEntryItem.AccountingDocumentItem,
  key JournalEntryItem.StatryRptgEntity,
  key JournalEntryItem.StatryRptCategory,
  key JournalEntryItem.StatryRptRunID,
      JournalEntryItem.TaxNumber1,
      JournalEntryItem.DocumentReferenceID,
      JournalEntryItem.AmountInTransactionCurrency,
      JournalEntryItem.TransactionCurrency,
      JournalEntryItem.ExchangeRate,
      JournalEntryItem.PaymentMethod,
      JournalEntryItem.JrnlEntryCntrySpecificRef5,
      'X' as IsOriginalDocument

}
where
       JournalEntryItem.Country               <> 'MX'
  and(
       JournalEntryItem.ElectronicInvoiceUUID is null
    or JournalEntryItem.ElectronicInvoiceUUID =  ''
  )
  and  JournalEntryItem.DocumentReferenceID   is not initial
  and  JournalEntryItem.IsReversal            <> 'X'

union all

// process all related documents, for example, invoices paid by a given payment document

select from  P_JrnlEntrAddlClrgInformation                                                  as PaidInvoices

  inner join P_MX_JrnlEntrItmInvcDetails( P_Ledger          : $parameters.P_Ledger,
                                          P_FiscalYear      : $parameters.P_FiscalYear,
                                          P_FromPostingDate : $parameters.P_FromPostingDate,
                                          P_ToPostingDate   : $parameters.P_ToPostingDate ) as InvoiceDetails on  InvoiceDetails.CompanyCode        = PaidInvoices.ClearingCompanyCode
                                                                                                              and InvoiceDetails.CompanyCode        = PaidInvoices.CompanyCode
                                                                                                              and InvoiceDetails.AccountingDocument = PaidInvoices.AccountingDocument
                                                                                                              and InvoiceDetails.FiscalYear         = PaidInvoices.FiscalYear

  inner join I_StRpJournalEntryHeaderLog                                                                      on  I_StRpJournalEntryHeaderLog.CompanyCode        = PaidInvoices.ClearingCompanyCode
                                                                                                              and I_StRpJournalEntryHeaderLog.AccountingDocument = PaidInvoices.ClearingAccountingDocument
                                                                                                              and I_StRpJournalEntryHeaderLog.FiscalYear         = PaidInvoices.ClearingDocFiscalYear
                                                                                                              and I_StRpJournalEntryHeaderLog.StatryRptCategory  = InvoiceDetails.StatryRptCategory
                                                                                                              and I_StRpJournalEntryHeaderLog.StatryRptgEntity   = InvoiceDetails.StatryRptgEntity
                                                                                                              and I_StRpJournalEntryHeaderLog.StatryRptRunID     = InvoiceDetails.StatryRptRunID
{
      // use the payment document key for all the invoices being paid

  key InvoiceDetails.SourceLedger,
  key InvoiceDetails.Ledger,
  key PaidInvoices.ClearingCompanyCode                as CompanyCode,
  key PaidInvoices.ClearingAccountingDocument         as AccountingDocument,
  key PaidInvoices.ClearingDocFiscalYear              as FiscalYear,
  key InvoiceDetails.AccountingDocumentItem,
  key InvoiceDetails.StatryRptgEntity,
  key InvoiceDetails.StatryRptCategory,
  key InvoiceDetails.StatryRptRunID,
      InvoiceDetails.TaxNumber1,
      InvoiceDetails.DocumentReferenceID,
      abs(InvoiceDetails.AmountInTransactionCurrency) as AmountInTransactionCurrency,
      InvoiceDetails.TransactionCurrency,
      InvoiceDetails.ExchangeRate,
      InvoiceDetails.PaymentMethod,
      InvoiceDetails.JrnlEntryCntrySpecificRef5,
      ''                                              as IsOriginalDocument
}
where
       InvoiceDetails.Country               <> 'MX'
  and(
       InvoiceDetails.ElectronicInvoiceUUID is null
    or InvoiceDetails.ElectronicInvoiceUUID =  ''
  )
  and  InvoiceDetails.DocumentReferenceID   is not initial
  and  PaidInvoices.FinancialAccountType    <> 'S'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_STRPJOURNALENTRYHEADERLOG",
"P_JRNLENTRADDLCLRGINFORMATION",
"P_MX_JRNLENTRITMINVCDETAILS"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/