C_Customer360Invoice
Customer 360 Invoice
C_Customer360Invoice is a Consumption CDS View that provides data about "Customer 360 Invoice" in SAP S/4HANA. It reads from 2 data sources (I_Customer360BusDocSetting, I_BillingDocument) and exposes 18 fields with key field BillingDocument. It has 2 associations to related views. It is exposed through 1 OData service (SD_ADVNCD_CUSTOMER360). Part of development package ODATA_SD_ADVNCD_CUSTOMER360.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| I_Customer360BusDocSetting | Customer360BusDocSetting | inner |
| I_BillingDocument | Invoice | from |
Associations (2)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_OverallBillingStatus | _OverallBillingStatus | $projection.OverallBillingStatus = _OverallBillingStatus.OverallBillingStatus |
| [0..1] | E_BillingDocument | _Extension | $projection.BillingDocument = _Extension.BillingDocument |
Annotations (8)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #CHECK | view | |
| EndUserText.label | Customer 360 Invoice | view | |
| Metadata.allowExtensions | true | view | |
| Search.searchable | true | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #XXL | view | |
| VDM.viewType | #CONSUMPTION | view |
OData Services (1)
| Service | Binding | Version | Contract | Release |
|---|---|---|---|---|
| SD_ADVNCD_CUSTOMER360 | SD_ADVNCD_CUSTOMER360 | V4 | C1 | NOT_RELEASED |
Fields (18)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | BillingDocument | I_BillingDocument | BillingDocument | |
| SoldToParty | I_BillingDocument | SoldToParty | ||
| CustomerName | ||||
| BillingDocumentTypeName | ||||
| BillingDocumentType | I_BillingDocument | BillingDocumentType | ||
| OverallBillingStatusDesc | ||||
| OverallBillingStatus | I_BillingDocument | OverallBillingStatus | ||
| BillingDocumentDate | I_BillingDocument | BillingDocumentDate | ||
| CreationDate | I_BillingDocument | CreationDate | ||
| SalesOrganization | I_BillingDocument | SalesOrganization | ||
| SalesOrganizationName | ||||
| TotalNetAmount | I_BillingDocument | TotalNetAmount | ||
| TransactionCurrency | I_BillingDocument | TransactionCurrency | ||
| CurrencyName | ||||
| _SoldToParty | I_BillingDocument | _SoldToParty | ||
| _OverallBillingStatus | I_BillingDocument | _OverallBillingStatus | ||
| _BillingDocumentType | I_BillingDocument | _BillingDocumentType | ||
| _TransactionCurrency | I_BillingDocument | _TransactionCurrency |
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #('TRANSACTIONAL_DATA')
@EndUserText.label: 'Customer 360 Invoice'
@Metadata.allowExtensions: true
@Search.searchable: true
@ObjectModel: {
// compositionRoot: true,
// representativeKey: 'SalesDocument',
usageType: {
dataClass: #MIXED,
serviceQuality: #C,
sizeCategory: #XXL
}
}
@VDM.viewType: #CONSUMPTION
define view entity C_Customer360Invoice
as select from I_BillingDocument as Invoice
inner join I_Customer360BusDocSetting as Customer360BusDocSetting on Customer360BusDocSetting.Cust360BusDocCategory = 'M'
and Customer360BusDocSetting.BusinessDocumentIsEnabled = 'X'
and Invoice.SDDocumentCategory = 'M'
association [0..1] to I_OverallBillingStatus as _OverallBillingStatus on $projection.OverallBillingStatus = _OverallBillingStatus.OverallBillingStatus
//Extension Association
association [0..1] to E_BillingDocument as _Extension on $projection.BillingDocument = _Extension.BillingDocument
{
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.8
@Search.ranking: #HIGH
key Invoice.BillingDocument as BillingDocument,
@ObjectModel.text.element: ['CustomerName']
@ObjectModel.foreignKey.association: '_SoldToParty'
Invoice.SoldToParty,
@UI.hidden: true
Invoice._SoldToParty.CustomerName as CustomerName,
@UI.hidden: true
Invoice._BillingDocumentType._Text[1:Language = $session.system_language].BillingDocumentTypeName as BillingDocumentTypeName,
@ObjectModel.text.element: ['BillingDocumentTypeName']
Invoice.BillingDocumentType,
@UI.hidden: true
_OverallBillingStatus._Text[1:Language = $session.system_language].OverallBillingStatusDesc as OverallBillingStatusDesc,
@ObjectModel.text.element: ['OverallBillingStatusDesc']
Invoice.OverallBillingStatus,
Invoice.BillingDocumentDate,
Invoice.CreationDate,
// For DCL
@ObjectModel.text.element: ['SalesOrganizationName']
Invoice.SalesOrganization,
@UI.hidden: true
Invoice._SalesOrganization._Text[1:Language = $session.system_language].SalesOrganizationName as SalesOrganizationName,
//@Semantics.currencyCode: true
// @Consumption.valueHelpDefinition: [ { entity : { name: 'I_CurrencyStdVH',
// element: 'Currency' } } ]
Invoice.TotalNetAmount,
@ObjectModel.text.element: ['CurrencyName']
@ObjectModel.foreignKey.association: '_TransactionCurrency'
Invoice.TransactionCurrency,
@UI.hidden: true
Invoice._TransactionCurrency._Text[1:Language = $session.system_language].CurrencyName as CurrencyName,
Invoice._SoldToParty,
Invoice._OverallBillingStatus,
Invoice._BillingDocumentType,
Invoice._TransactionCurrency
}
where
Invoice.CreationDate > dats_add_days( tstmp_to_dats(tstmp_current_utctimestamp(), abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL'), -Customer360BusDocSetting.BusDocumentDurationInDays, 'INITIAL')
and Invoice.CreationDate <= $session.system_date
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