A_BillingDocumentPartner

DDL: A_BILLINGDOCUMENTPARTNER Type: view COMPOSITE

Header Partner

A_BillingDocumentPartner is a Composite CDS View that provides data about "Header Partner" in SAP S/4HANA. It reads from 1 data source (I_BillingDocumentPartner) and exposes 10 fields with key fields BillingDocument, PartnerFunction. It has 2 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_BillingDocumentPartner I_BillingDocumentPartner from

Associations (2)

CardinalityTargetAliasCondition
[1..1] A_BillingDocument _BillingDocument _BillingDocument.BillingDocument = $projection.BillingDocument
[0..1] I_BusPartAddress _BusinessPartnerAddressCP I_BillingDocumentPartner.AddressID = _BusinessPartnerAddressCP.AddressID and $projection.ContactPerson is not initial and I_BillingDocumentPartner.SDDocPartnerAddressRefType = 'I'

Annotations (15)

NameValueLevelField
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Header Partner view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #PUBLIC_REMOTE_API view
AbapCatalog.sqlViewName ASDBILDOCPARTN view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
ObjectModel.createEnabled false view
ObjectModel.updateEnabled false view
ObjectModel.deleteEnabled false view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
Metadata.ignorePropagatedAnnotations true view

Fields (10)

KeyFieldSource TableSource FieldDescription
KEY BillingDocument BillingDocument
KEY PartnerFunction PartnerFunction
Customer Customer
Supplier Supplier
Personnel Personnel
ContactPerson ContactPerson
BPRefAddrForDocSpcfcAddrUUID _BPRefAddressForDocSpcfcAddr AddressUUID
BillingDocumentType _BillingDocument BillingDocumentType
SalesOrganization _BillingDocument SalesOrganization
_BillingDocument _BillingDocument
@ClientHandling.algorithm:#SESSION_VARIABLE
@EndUserText.label: 'Header Partner'
@VDM: {
  viewType: #COMPOSITE,
  lifecycle.contract.type: #PUBLIC_REMOTE_API
}
@AbapCatalog: {
  sqlViewName: 'ASDBILDOCPARTN',
  compiler.compareFilter: true,
  preserveKey: true
}
@AccessControl: {
  authorizationCheck: #CHECK,
  personalData.blocking: #('TRANSACTIONAL_DATA')
}
@ObjectModel: {
  createEnabled: false,
  updateEnabled: false,
  deleteEnabled: false,
  usageType: {
    dataClass: #TRANSACTIONAL,
    serviceQuality: #C,
    sizeCategory: #XL
  }
} 
@Metadata: {
  ignorePropagatedAnnotations: true
}

//HEADER PARTNER

define view A_BillingDocumentPartner
  as select from I_BillingDocumentPartner
  //as select from I_SDDocumentPartner as Partner

    
   association [1..1] to A_BillingDocument       as _BillingDocument     on  _BillingDocument.BillingDocument = $projection.BillingDocument
   
   association [0..1] to I_BusPartAddress         as _BusinessPartnerAddressCP      on I_BillingDocumentPartner.AddressID                  = _BusinessPartnerAddressCP.AddressID
                                                                                    and $projection.ContactPerson is not initial
                                                                                    and I_BillingDocumentPartner.SDDocPartnerAddressRefType =  'I'

                                                 {
  //key cast(SDDocument as vbeln_vf preserving type) as BillingDocument, //bec. of field label

  key BillingDocument,
  
      @ObjectModel.sapObjectNodeTypeReference: 'PartnerFunction'        
  key PartnerFunction,

      Customer,
      
      Supplier,

      Personnel,

      ContactPerson,
      
     @Feature: 'SW:Q2C_MULTIPLE_BP_ADDRESSES, SW:Q2C_MULTIPLE_BP_ADDRESSES2'
      case ContactPerson
        when '0000000000' then
         _BusinessPartnerAddress.AddressUUID
       else
         _BusinessPartnerAddressCP.AddressUUID
                                                    end as BusinessPartnerAddressUUID,
      
      @Feature: 'SW:Q2C_MULTIPLE_BP_ADDRESSES, SW:Q2C_MULTIPLE_BP_ADDRESSES2'
      @ObjectModel.readOnly: true  
      _BPRefAddressForDocSpcfcAddr.AddressUUID  as BPRefAddrForDocSpcfcAddrUUID,   
      
      // For Access control

      @Consumption.hidden: true
      _BillingDocument.BillingDocumentType,
      @Consumption.hidden: true
      _BillingDocument.SalesOrganization,
      
      //Expose associations

      _BillingDocument

}
where I_BillingDocumentPartner._BillingDocument.BillingDocumentIsTemporary = ' ' 
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"A_BILLINGDOCUMENT",
"I_BILLINGDOCUMENT",
"I_BILLINGDOCUMENTPARTNER",
"I_BUSPARTADDRESS"
],
"ASSOCIATED":
[
"A_BILLINGDOCUMENT",
"I_BUSPARTADDRESS"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/