C_SourcingProjectContactTP

DDL: C_SOURCINGPROJECTCONTACTTP Type: view_entity CONSUMPTION Package: ODATA_MM_PUR_SRCGPROJ_MAINTAIN

Contact for Sourcing Project - TP

C_SourcingProjectContactTP is a Consumption CDS View that provides data about "Contact for Sourcing Project - TP" in SAP S/4HANA. It reads from 1 data source (R_SourcingProjectContactTP) and exposes 17 fields with key field SourcingProjectContactUUID. It has 1 association to related views. It is exposed through 1 OData service (UI_SOURCINGPROJECT_MANAGE). Part of development package ODATA_MM_PUR_SRCGPROJ_MAINTAIN.

Data Sources (1)

SourceAliasJoin Type
R_SourcingProjectContactTP R_SourcingProjectContactTP projection

Associations (1)

CardinalityTargetAliasCondition
[0..1] I_EmplContactCard _ContactCard $projection.BusinessPartner = _ContactCard.Person

Annotations (15)

NameValueLevelField
AccessControl.authorizationCheck #MANDATORY view
AccessControl.personalData.blocking #REQUIRED view
VDM.viewType #CONSUMPTION view
ObjectModel.representativeKey SourcingProjectContactUUID view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
Metadata.allowExtensions true view
EndUserText.label Contact for Sourcing Project - TP view
AbapCatalog.extensibility.extensible true view
AbapCatalog.extensibility.allowNewDatasources false view
AbapCatalog.extensibility.elementSuffix SPC view
AbapCatalog.extensibility.quota.maximumFields 404 view
AbapCatalog.extensibility.quota.maximumBytes 40400 view
AbapCatalog.extensibility.allowNewCompositions true view

OData Services (1)

ServiceBindingVersionContractRelease
UI_SOURCINGPROJECT_MANAGE UI_SOURCINGPROJECT_MANAGE V2 C1 NOT_RELEASED

Fields (17)

KeyFieldSource TableSource FieldDescription
KEY SourcingProjectContactUUID SourcingProjectContactUUID
SourcingProjectUUID SourcingProjectUUID
SourcingProjectType _SourcingProject SourcingProjectType
BusinessPartner
PersonFullName _BusinessPartner PersonFullName
SourcingProjectContactCategory SourcingProjectContactCategory
SourcingProjectContactCatNamelocalized
SrcgProjCntctIsVisibleToSuplr SrcgProjCntctIsVisibleToSuplr
BusinessPartnerUUID BusinessPartnerUUID
IsBusinessPurposeCompleted IsBusinessPurposeCompleted
AuthorizationGroup AuthorizationGroup
SourcingOrigin SourcingOrigin
SrcgProjSourcingOriginTextlocalized
SourcingScenario SourcingScenario
SrcgProjSourcingScenarioTextlocalized
_ContactCard _ContactCard
_BusinessPartner _BusinessPartner
@AccessControl: { authorizationCheck: #MANDATORY,
                  personalData.blocking: #REQUIRED
}

@VDM: { viewType:   #CONSUMPTION,
        usage.type: [#TRANSACTIONAL_PROCESSING_SERVICE]  }

@ObjectModel: { representativeKey: 'SourcingProjectContactUUID',
                usageType: {
                  dataClass:      #TRANSACTIONAL,
                  serviceQuality: #C,
                  sizeCategory:   #L
                }
}

@Metadata.allowExtensions: true

@EndUserText.label: 'Contact for Sourcing Project - TP'
@AbapCatalog.extensibility: {
  extensible: true,
  dataSources: ['SourcingProjectContactTP'],
  allowNewDatasources: false,
  elementSuffix: 'SPC',
  quota: { maximumFields: 404,
           maximumBytes: 40400 },
  allowNewCompositions: true }
@Consumption.dbHints: [ 'USE_HEX_PLAN' ]
define view entity C_SourcingProjectContactTP 
  as projection on R_SourcingProjectContactTP as SourcingProjectContactTP

  association [0..1] to I_EmplContactCard as _ContactCard on $projection.BusinessPartner = _ContactCard.Person
{
  key     SourcingProjectContactUUID,
          SourcingProjectUUID,

          _SourcingProject.SourcingProjectType,

          @ObjectModel.text.element: ['PersonFullName']
          cast (BusinessPartner as mm_pur_srcgproj_contact_id  preserving type ) as BusinessPartner,
          _BusinessPartner.PersonFullName,

          @ObjectModel.text.element: ['SourcingProjectContactCatName']
          SourcingProjectContactCategory,

          _ContactCatText.SourcingProjectContactCatName              : localized,


          @Semantics:{ eMail.type:  [ #WORK ] }
          @Semantics.eMail.address: true
          @Semantics.text: true
          @ObjectModel.virtualElement: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MM_PUR_SRCGPROJ_CONTCT_EXIT'
  virtual EmailAddress             :mm_pur_srcgproj_contact_email,

          @Semantics.telephone.type: [#WORK, #PREF]
          @Semantics.text: true
          @ObjectModel.virtualElement: true
          @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MM_PUR_SRCGPROJ_CONTCT_EXIT'
  virtual InternationalPhoneNumber :mm_pur_srcgproj_contact_phone,
          SrcgProjCntctIsVisibleToSuplr,

          BusinessPartnerUUID,

          IsBusinessPurposeCompleted,

          AuthorizationGroup,

          @ObjectModel.text.element: ['SrcgProjSourcingOriginText']          
          SourcingOrigin,
          _SrcgProjSourcingOriginText.SrcgProjSourcingOriginText     : localized,

          @ObjectModel.text.element: ['SrcgProjSourcingScenarioText']
          SourcingScenario,
          _SrcgProjSourcingScenarioText.SrcgProjSourcingScenarioText : localized,

          _ContactCard,
          @Consumption.hidden:true
          _BusinessPartner,
          _SourcingProject : redirected to parent C_SourcingProjectTP
}