P_MX_JrnlEntrForeignCompDets
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)
| Source | Alias | Join 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)
| Name | Type | Default |
|---|---|---|
| P_Ledger | fins_ledger | |
| P_FiscalYear | fis_gjahr_no_conv | |
| P_FromPostingDate | fis_budat_from | |
| P_ToPostingDate | fis_budat_to |
Annotations (8)
| Name | Value | Level | Field |
|---|---|---|---|
| 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)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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":""
}
}*/
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA