C_ProjDmndResourceContactCard

DDL: C_PROJDMNDRESOURCECONTACTCARD Type: view CONSUMPTION

Contact Card for Person Work Agreement

C_ProjDmndResourceContactCard is a Consumption CDS View that provides data about "Contact Card for Person Work Agreement" in SAP S/4HANA. It reads from 1 data source (I_WorkforcePerson) and exposes 8 fields with key field PersonWorkAgreement.

Data Sources (1)

SourceAliasJoin Type
I_WorkforcePerson WForcePerson inner

Annotations (15)

NameValueLevelField
EndUserText.label Contact Card for Person Work Agreement view
ClientHandling.algorithm #SESSION_VARIABLE view
VDM.viewType #CONSUMPTION view
AbapCatalog.sqlViewName CPDMNDRESCCARD view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #REQUIRED view
ObjectModel.representativeKey PersonWorkAgreement view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.usageType.sizeCategory #XL view
UI.headerInfo.typeName Person view
UI.headerInfo.typeNamePlural Persons view
UI.headerInfo.typeImageUrl sap-icon: title: { type: #STANDARD, value: view

Fields (8)

KeyFieldSource TableSource FieldDescription
KEY PersonWorkAgreement
BusinessPartnerUUID I_WorkforcePerson BusinessPartnerUUID
PersonFullName WAgreement PersonFullName Full Name
NormalizedPhoneNumber Phone Number
MblNormalizedPhoneNumber Mobile Phone Number
DefaultEmailAddress Default Email Address
Person I_WorkforcePerson Person
_BusinessPartner I_WorkforcePerson _BusinessPartner
@EndUserText.label: 'Contact Card for Person Work Agreement'

@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.viewType: #CONSUMPTION

@AbapCatalog: {
   sqlViewName: 'CPDMNDRESCCARD',
   compiler.compareFilter: true,
   preserveKey: true
}

// Authorization handling

@AccessControl: {
  authorizationCheck:     #CHECK,
  personalData.blocking:  #REQUIRED
}

@ObjectModel: {
   semanticKey:       [ 'PersonWorkAgreement' ],
   representativeKey: 'PersonWorkAgreement',
   usageType: {
     serviceQuality:  #C,
     dataClass:       #MASTER,
     sizeCategory:    #XL
   }

}

@UI.headerInfo: {
  typeName:       'Person',
  typeNamePlural: 'Persons',
  typeImageUrl:   'sap-icon://person',

  title:          { type: #STANDARD, value: 'PersonFullName' }
}
define view C_ProjDmndResourceContactCard
  as select distinct
  from         I_PersonWorkAgreement_1      as WAgreement
    inner join I_WorkforcePerson            as WForcePerson on WAgreement.Person = WForcePerson.Person
{
      @UI.facet: [
       {
         purpose: #QUICK_VIEW,
         type: #FIELDGROUP_REFERENCE,
         targetQualifier: 'ResourceMainContact',
         label: 'Main Contact'
       }
      ]
      @Semantics.contact.type: #PERSON
      //@ObjectModel.text.element: [ 'PersonFullName' ]

  key cast( WAgreement.PersonWorkAgreement as tv_proj_dmnd_persno )               as PersonWorkAgreement,

      @UI.hidden: true
      WForcePerson.BusinessPartnerUUID,
      
      @UI.fieldGroup: [{ qualifier: 'ResourceMainContact', position: 40, label: 'Full Name' }]
      @EndUserText.label: 'Full Name'
      @Semantics.name.fullName: true     
      WAgreement.PersonFullName                                                   as PersonFullName,

      @Semantics.telephone.type: [ #WORK ]
      @UI.fieldGroup: [{ qualifier: 'ResourceMainContact', position: 20, label: 'Phone' }]
      @EndUserText.label: 'Phone Number'
      WForcePerson._WorkplaceAddress.NormalizedPhoneNumber,

      @UI.fieldGroup: [{ qualifier: 'ResourceMainContact', position: 10, label: 'Mobile' }]
      @EndUserText.label: 'Mobile Phone Number'
      @Semantics.telephone.type: [ #CELL, #PREF ]
      WForcePerson._WorkplaceAddress.MblNormalizedPhoneNumber,

      @EndUserText.label: 'Default Email Address'
      @UI.fieldGroup: [{ qualifier:'ResourceMainContact', position: 30, label: 'Default Email Address'}]
      @Semantics:   { eMail: { address: true, type:  [ #WORK ] } }
      WForcePerson._WorkplaceAddress.DefaultEmailAddress,

      // required for authorizations only

      @UI.hidden: true
      WForcePerson.Person,
      @UI.hidden: true
      WForcePerson._BusinessPartner

}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PERSONWORKAGREEMENT_1",
"I_WORKFORCEPERSON",
"I_WORKPLACEADDRESS"
],
"ASSOCIATED":
[
"I_BUSINESSPARTNER"
],
"BASE":
[
"I_WORKFORCEPERSON"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/