P_MLColl_AcctgDocItemCleared
P_MLColl_AcctgDocItemCleared is a Composite CDS View in SAP S/4HANA. It reads from 2 data sources (I_OperationalAcctgDocItem, P_MLColl_DirectPayers5) and exposes 23 fields with key fields AccountingDocument, FiscalYear, AccountingDocumentItem. It has 2 associations to related views.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| I_OperationalAcctgDocItem | _AccDoc | from |
| P_MLColl_DirectPayers5 | _DirectPayers | inner |
Parameters (3)
| Name | Type | Default |
|---|---|---|
| P_ExchangeRateType | kurst | |
| P_TargetCurrency | vdm_v_target_currency | |
| P_SystemDate | sydate |
Associations (2)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_CalendarDate | _ClearingDate | $projection.ClearingDate = _ClearingDate.CalendarDate |
| [0..1] | I_BusinessPartnerCustomer | _CustomerToBusinessPartner | $projection.Customer = _CustomerToBusinessPartner.Customer |
Annotations (7)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | PMLACCTGDOCICLRD | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| AccessControl.authorizationCheck | #NOT_REQUIRED | view | |
| VDM.private | true | view | |
| VDM.viewType | #COMPOSITE | view |
Fields (23)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| CompanyCode | ||||
| KEY | AccountingDocument | I_OperationalAcctgDocItem | AccountingDocument | |
| KEY | FiscalYear | I_OperationalAcctgDocItem | FiscalYear | |
| KEY | AccountingDocumentItem | I_OperationalAcctgDocItem | AccountingDocumentItem | |
| DebitCreditCode | I_OperationalAcctgDocItem | DebitCreditCode | ||
| Customer | I_OperationalAcctgDocItem | Customer | ||
| BusinessPartner | _CustomerToBusinessPartner | BusinessPartner | ||
| Country | ||||
| CustomerAccountGroup | ||||
| dats12INITIAL14asNextFiscalYear | ||||
| ClearingDate | I_OperationalAcctgDocItem | ClearingDate | ||
| DueCalculationBaseDate | I_OperationalAcctgDocItem | DueCalculationBaseDate | ||
| LastDunningDate | I_OperationalAcctgDocItem | LastDunningDate | ||
| DunningLevel | I_OperationalAcctgDocItem | DunningLevel | ||
| NetDueDate | I_OperationalAcctgDocItem | NetDueDate | ||
| AmountInTransactionCurrency | I_OperationalAcctgDocItem | AmountInTransactionCurrency | ||
| TransactionCurrency | I_OperationalAcctgDocItem | TransactionCurrency | ||
| PaymentTerms | I_OperationalAcctgDocItem | PaymentTerms | ||
| ClearingDateasClearingDelayInDays | ||||
| NumberOfClearingDatePosInMonth | ||||
| P_SystemDate120INITIALasOverdueDays | ||||
| TargetCurrency | ||||
| trueasAmountInTargetCurrency |
@AbapCatalog: { sqlViewName: 'PMLACCTGDOCICLRD',
compiler: { compareFilter: true },
preserveKey: true }
@ClientHandling: { algorithm: #SESSION_VARIABLE }
@AccessControl: { authorizationCheck: #NOT_REQUIRED }
@VDM: { private: true,
viewType: #COMPOSITE }
define view P_MLColl_AcctgDocItemCleared
with parameters
P_ExchangeRateType : kurst,
P_TargetCurrency : vdm_v_target_currency,
@Environment: { systemField : #SYSTEM_DATE }
P_SystemDate : sydate
as select from I_OperationalAcctgDocItem as _AccDoc
inner join P_MLColl_DirectPayers5 as _DirectPayers on _AccDoc.CompanyCode = _DirectPayers.CompanyCode
and _AccDoc.Customer = _DirectPayers.Customer
// VDM associations
// Clearing date
association [0..1] to I_CalendarDate as _ClearingDate on $projection.ClearingDate = _ClearingDate.CalendarDate
// Customer to Business Partner
association [0..1] to I_BusinessPartnerCustomer as _CustomerToBusinessPartner on $projection.Customer = _CustomerToBusinessPartner.Customer
{
// VDM Fields
key _AccDoc.CompanyCode,
key _AccDoc.AccountingDocument,
key _AccDoc.FiscalYear,
key _AccDoc.AccountingDocumentItem,
_AccDoc.DebitCreditCode,
_AccDoc.Customer,
_CustomerToBusinessPartner.BusinessPartner,
_AccDoc._Customer.Country,
_AccDoc._Customer.CustomerAccountGroup,
substring( dats_add_months( cast( concat( _AccDoc.FiscalYear,
'0101') as abap.dats ),
12,
'INITIAL' ) ,1 ,4 ) as NextFiscalYear,
_AccDoc.ClearingDate as ClearingDate,
_AccDoc.DueCalculationBaseDate as DueCalculationBaseDate,
_AccDoc.LastDunningDate as LastDunningDate,
_AccDoc.DunningLevel as DunningLevel,
case when _AccDoc.DunningLevel > '0'
then 1
else 0 end as NumberOfDunnedAcctgDocItems,
_AccDoc.NetDueDate as NetDueDate,
_AccDoc.AmountInTransactionCurrency,
_AccDoc.TransactionCurrency as TransactionCurrency,
_AccDoc.PaymentTerms as PaymentTerms,
dats_days_between( _AccDoc.NetDueDate,
_AccDoc.ClearingDate ) as ClearingDelayInDays,
cast( 1 as farr_counter ) as NumberOfClearingDatePosInMonth,
case
when _ClearingDate.CalendarDay > '25'
then 0
when _ClearingDate.CalendarDay <= '25' and
_ClearingDate.CalendarDay > '20'
then 1
when _ClearingDate.CalendarDay <= '20' and
_ClearingDate.CalendarDay > '15'
then 2
when _ClearingDate.CalendarDay <= '15' and
_ClearingDate.CalendarDay > '10'
then 3
when _ClearingDate.CalendarDay <= '10' and
_ClearingDate.CalendarDay > '05'
then 4
else 5
end as ClearingDatePosInMonth,
dats_days_between( _AccDoc.NetDueDate,
dats_add_days( $parameters.P_SystemDate,
- 120,
'INITIAL' ) ) as OverdueDays,
:P_TargetCurrency as TargetCurrency,
@Semantics: { amount: { currencyCode: 'TargetCurrency' } }
currency_conversion(
amount => _AccDoc.AmountInTransactionCurrency,
source_currency => _AccDoc.TransactionCurrency,
target_currency => :P_TargetCurrency,
exchange_rate_date => _AccDoc.DueCalculationBaseDate,
exchange_rate_type => :P_ExchangeRateType,
error_handling => 'SET_TO_NULL',
decimal_shift => #CDSBoolean.true,
round => #CDSBoolean.true ) as AmountInTargetCurrency
}
where
_AccDoc.DebitCreditCode = 'S'
and _AccDoc.ClearingDate <> '00000000'
and _AccDoc.NetDueDate <> '00000000'
and _AccDoc.DueCalculationBaseDate <> '00000000'
and _AccDoc.DocumentDate <= _AccDoc.DueCalculationBaseDate
and _AccDoc.ClearingDate >= _AccDoc.DocumentDate
and _AccDoc.ClearingDate >= _AccDoc.DueCalculationBaseDate
and _AccDoc.InvoiceReference = ''
and _AccDoc.FinancialAccountType = 'D'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_BUSINESSPARTNERCUSTOMER",
"I_CALENDARDATE",
"I_CUSTOMER",
"I_OPERATIONALACCTGDOCITEM",
"P_MLCOLL_DIRECTPAYERS5"
],
"ASSOCIATED":
[
"I_BUSINESSPARTNERCUSTOMER",
"I_CALENDARDATE"
],
"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