C_Customer360Invoice

DDL: C_CUSTOMER360INVOICE Type: view_entity CONSUMPTION

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 1 association to related views.

Data Sources (2)

SourceAliasJoin Type
I_Customer360BusDocSetting Customer360BusDocSetting inner
I_BillingDocument Invoice from

Associations (1)

CardinalityTargetAliasCondition
[0..1] I_OverallBillingStatus _OverallBillingStatus $projection.OverallBillingStatus = _OverallBillingStatus.OverallBillingStatus

Annotations (8)

NameValueLevelField
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

Fields (18)

KeyFieldSource TableSource FieldDescription
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
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #CHECK
@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


{
      @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
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_BILLINGDOCUMENT",
"I_BILLINGDOCUMENTTYPE",
"I_BILLINGDOCUMENTTYPETEXT",
"I_CURRENCY",
"I_CURRENCYTEXT",
"I_CUSTOMER",
"I_CUSTOMER360BUSDOCSETTING",
"I_OVERALLBILLINGSTATUS",
"I_OVERALLBILLINGSTATUSTEXT",
"I_SALESORGANIZATION",
"I_SALESORGANIZATIONTEXT"
],
"ASSOCIATED":
[
"I_BILLINGDOCUMENTTYPE",
"I_CURRENCY",
"I_CUSTOMER",
"I_OVERALLBILLINGSTATUS"
],
"BASE":
[
"I_BILLINGDOCUMENT"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/