C_ServiceEmployeeVH
Value Help for Service Employee
C_ServiceEmployeeVH is a Consumption CDS View that provides data about "Value Help for Service Employee" in SAP S/4HANA. It reads from 1 data source (I_BusinessPartner) and exposes 27 fields with key field Employee. It has 3 associations to related views. It is exposed through 1 OData service (UI_S4CRM_REUSE_VH). Part of development package CRMS4_SERV_ORDER_UI.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_BusinessPartner | I_BusinessPartner | from |
Associations (3)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_BPCurrentDefaultAddress | _CurrentDefaultAddress | $projection.Employee = _CurrentDefaultAddress.BusinessPartner |
| [0..1] | I_WorkplaceAddress | _WorkplaceAddress | $projection.BusinessPartnerUUID = _WorkplaceAddress.BusinessPartnerUUID |
| [1..1] | I_BusinessPartnerToBPRole | _BusinessPartnerRole | $projection.Employee = _BusinessPartnerRole.BusinessPartner and( _BusinessPartnerRole.BusinessPartnerRole = 'BUP003' or _BusinessPartnerRole.BusinessPartnerRole = 'BBP005' or _BusinessPartnerRole.BusinessPartnerRole = 'BBP010' ) |
Annotations (14)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #REQUIRED | view | |
| VDM.viewType | #CONSUMPTION | view | |
| ObjectModel.representativeKey | Employee | view | |
| ObjectModel.dataCategory | #VALUE_HELP | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.dataClass | #MASTER | view | |
| Analytics.technicalName | CSRVCEMPLVH | view | |
| Metadata.allowExtensions | true | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| Consumption.ranked | true | view | |
| Search.searchable | true | view | |
| EndUserText.label | Value Help for Service Employee | view |
OData Services (1)
| Service | Binding | Version | Contract | Release |
|---|---|---|---|---|
| UI_S4CRM_REUSE_VH | UI_S4CRM_REUSE_VH | V2 | C1 | NOT_RELEASED |
Fields (27)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | Employee | |||
| FullName | ||||
| FamilyName | LastName | |||
| GivenName | FirstName | |||
| BusinessPartnerUUID | BusinessPartnerUUID | |||
| CityName | ||||
| CountryName | ||||
| PostalCode | ||||
| DefaultEmailAddress | _WorkplaceAddress | DefaultEmailAddress | ||
| NormalizedPhoneNumber | ||||
| MblNormalizedPhoneNumber | ||||
| AuthorizationGroup | AuthorizationGroup | |||
| IsBusinessPurposeCompleted | IsBusinessPurposeCompleted | |||
| BusinessPartnerRole | ||||
| BPAddressIsProtected | _CurrentDefaultAddress | BPAddressIsProtected | ||
| BusinessPartnerCategory | BusinessPartnerCategory | |||
| DataControllerSet | DataControllerSet | |||
| DataController1 | DataController1 | |||
| DataController2 | DataController2 | |||
| DataController3 | DataController3 | |||
| DataController4 | DataController4 | |||
| DataController5 | DataController5 | |||
| DataController6 | DataController6 | |||
| DataController7 | DataController7 | |||
| DataController8 | DataController8 | |||
| DataController9 | DataController9 | |||
| DataController10 | DataController10 |
@AccessControl:{
authorizationCheck: #CHECK,
personalData.blocking: #REQUIRED
}
@VDM.viewType: #CONSUMPTION
@ObjectModel: {
representativeKey: 'Employee',
dataCategory: #VALUE_HELP,
usageType: {
serviceQuality: #C,
sizeCategory: #L,
dataClass: #MASTER
}
}
@Analytics.technicalName: 'CSRVCEMPLVH'
@Metadata: {
allowExtensions: true,
ignorePropagatedAnnotations: true
}
@Consumption.ranked: true
@Search.searchable: true
@EndUserText.label: 'Value Help for Service Employee'
@Consumption.dbHints: [ 'USE_HEX_PLAN' ]
define view entity C_ServiceEmployeeVH
as select from I_BusinessPartner // I_Employee is deprecated and not to be used
association [1..1] to I_BPCurrentDefaultAddress as _CurrentDefaultAddress on $projection.Employee = _CurrentDefaultAddress.BusinessPartner
association [0..1] to I_WorkplaceAddress as _WorkplaceAddress on $projection.BusinessPartnerUUID = _WorkplaceAddress.BusinessPartnerUUID
association [1..1] to I_BusinessPartnerToBPRole as _BusinessPartnerRole on $projection.Employee = _BusinessPartnerRole.BusinessPartner
and(
_BusinessPartnerRole.BusinessPartnerRole = 'BUP003' // BUP003 - Employee
or _BusinessPartnerRole.BusinessPartnerRole = 'BBP005' // BBP005 - Service Agent
or _BusinessPartnerRole.BusinessPartnerRole = 'BBP010' // BBP010 - Freelancer
)
{
@ObjectModel.text.element: ['FullName']
key cast (BusinessPartner as crms4_serv_employee_lbl preserving type ) as Employee,
cast (BusinessPartnerName as crms4_serv_employee_name_lbl preserving type ) as FullName,
// required for Fiori search on the name (as FullName is a calculated field it cannot be used)
@Consumption.hidden:true
LastName as FamilyName,
@Consumption.hidden:true
FirstName as GivenName,
@Consumption.hidden: true
BusinessPartnerUUID,
_CurrentDefaultAddress._StandardAddress.CityName,
_CurrentDefaultAddress._StandardAddress._Country._Text[1:Language=$session.system_language].CountryName,
_CurrentDefaultAddress._StandardAddress.PostalCode,
_WorkplaceAddress.DefaultEmailAddress,
cast (_WorkplaceAddress.NormalizedPhoneNumber as crms4_serv_telephone_lbl preserving type) as NormalizedPhoneNumber,
cast (_WorkplaceAddress.MblNormalizedPhoneNumber as crms4_serv_mobile_lbl preserving type) as MblNormalizedPhoneNumber,
// required for authorization check
@Consumption.hidden: true
AuthorizationGroup,
@Consumption.hidden:true
IsBusinessPurposeCompleted,
// inner statement causes inner join to select only the employees
_BusinessPartnerRole[inner].BusinessPartnerRole,
@Consumption.hidden: true
_CurrentDefaultAddress.BPAddressIsProtected,
@Consumption.hidden: true
BusinessPartnerCategory,
//added only for DCL check
@Consumption.hidden:true
@UI.hidden:true
DataControllerSet,
@Consumption.hidden:true
@UI.hidden:true
DataController1,
//added only for DCL check
@Consumption.hidden:true
@UI.hidden:true
DataController2,
//added only for DCL check
@Consumption.hidden:true
@UI.hidden:true
DataController3,
//added only for DCL check
@Consumption.hidden:true
@UI.hidden:true
DataController4,
//added only for DCL check
@Consumption.hidden:true
@UI.hidden:true
DataController5,
@Consumption.hidden:true
@UI.hidden:true
DataController6,
//added only for DCL check
@Consumption.hidden:true
@UI.hidden:true
DataController7,
//added only for DCL check
@Consumption.hidden:true
@UI.hidden:true
DataController8,
//added only for DCL check
@Consumption.hidden:true
@UI.hidden:true
DataController9,
//added only for DCL check
@Consumption.hidden:true
@UI.hidden:true
DataController10
}
where
BusinessPartnerCategory = '1'
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA