A_CustProjSlsOrdPartner

DDL: A_CUSTPROJSLSORDPARTNER Type: view COMPOSITE

Sales Order Header Partner

A_CustProjSlsOrdPartner is a Composite CDS View that provides data about "Sales Order Header Partner" in SAP S/4HANA. It reads from 1 data source (I_CustProjSlsOrdPartner) and exposes 12 fields with key fields CustomerProject, PartnerFunction. It has 3 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_CustProjSlsOrdPartner CustProjSlsOrdPartner from

Associations (3)

CardinalityTargetAliasCondition
[1..1] A_CustProjSlsOrd _CustProjSlsOrd _CustProjSlsOrd.CustomerProject = $projection.CustomerProject
[1..1] I_SalesDocumentBasic SalesDocumentBasic SalesDocumentBasic.SalesDocument = $projection.SalesOrder
[0..1] I_BusPartAddress _BusinessPartnerAddressCP $projection.AddressID = _BusinessPartnerAddressCP.AddressID and $projection.ContactPerson is not initial and $projection.SDDocPartnerAddressRefType = 'I'

Annotations (15)

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

Fields (12)

KeyFieldSource TableSource FieldDescription
KEY CustomerProject CustomerProject
KEY PartnerFunction PartnerFunction
SalesOrder SalesOrder
BusinessPartner Partner
ContactPerson ContactPerson
AddressID AddressID
SDDocPartnerAddressRefType SDDocPartnerAddressRefType
SalesOrderType SalesDocumentBasic SalesDocumentType
OrganizationDivision SalesDocumentBasic OrganizationDivision
SalesOrganization SalesDocumentBasic SalesOrganization
DistributionChannel SalesDocumentBasic DistributionChannel
_CustProjSlsOrd _CustProjSlsOrd
@ClientHandling.algorithm:#SESSION_VARIABLE
@EndUserText.label: 'Sales Order Header Partner'
@VDM: {
  viewType: #COMPOSITE,
  lifecycle.contract.type: #PUBLIC_REMOTE_API
}
@AbapCatalog: {
  sqlViewName: 'ACUSTPROJSOHP',
  compiler.compareFilter: true
}
@AccessControl: {
  authorizationCheck: #CHECK,
  personalData.blocking: #BLOCKED_DATA_EXCLUDED
}
@ObjectModel: {
   createEnabled: true,
   updateEnabled: true,
    usageType: {
     dataClass:      #TRANSACTIONAL,
     serviceQuality: #C,
     sizeCategory:   #XL
   }
}
@Metadata.ignorePropagatedAnnotations: true
@AbapCatalog.preserveKey: true

define view A_CustProjSlsOrdPartner
  as select from I_CustProjSlsOrdPartner as CustProjSlsOrdPartner

  association [1..1] to A_CustProjSlsOrd               as _CustProjSlsOrd             on  _CustProjSlsOrd.CustomerProject = $projection.CustomerProject

  association [1..1] to I_SalesDocumentBasic           as SalesDocumentBasic          on  SalesDocumentBasic.SalesDocument = $projection.SalesOrder
  
  association [0..1] to I_BusPartAddress           as _BusinessPartnerAddressCP on  $projection.AddressID                  = _BusinessPartnerAddressCP.AddressID
                                                                                and $projection.ContactPerson      is not initial
                                                                                and $projection.SDDocPartnerAddressRefType = 'I'
  
{
      @ObjectModel.readOnly: true
  key CustomerProject,

  key PartnerFunction,

      @ObjectModel.readOnly: true
      SalesOrder,
 
      Partner                                            as BusinessPartner,
      
       //used for multiple addresses feature

      @Consumption.hidden: true
      ContactPerson,
      @Consumption.hidden: true
      AddressID,
      @Consumption.hidden: true
      SDDocPartnerAddressRefType,
      
      @Feature: 'SW:Q2C_MULTIPLE_BP_ADDRESSES, SW:Q2C_MULTIPLE_BP_ADDRESSES2'
      case ContactPerson
        when '0000000000' then
         _BusinessPartnerAddress.AddressUUID
       else
         _BusinessPartnerAddressCP.AddressUUID
                                                    end      as BusinessPartnerAddressUUID,

      // For Access control

      @Consumption.hidden: true
      @ObjectModel.readOnly: true
      SalesDocumentBasic.SalesDocumentType               as  SalesOrderType,
      @Consumption.hidden: true
      @ObjectModel.readOnly: true
      SalesDocumentBasic.OrganizationDivision,
      @Consumption.hidden: true
      @ObjectModel.readOnly: true
      SalesDocumentBasic.SalesOrganization,
      @Consumption.hidden: true
      @ObjectModel.readOnly: true
      SalesDocumentBasic.DistributionChannel,

      // Expose own associations

      _CustProjSlsOrd
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_BUSPARTADDRESS",
"I_CUSTPROJSLSORDPARTNER",
"I_SALESDOCUMENTBASIC"
],
"ASSOCIATED":
[
"A_CUSTPROJSLSORD",
"I_BUSPARTADDRESS",
"I_SALESDOCUMENTBASIC"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/