I_InvgCsMEmployee
ICM Employee
I_InvgCsMEmployee is a Composite CDS View that provides data about "ICM Employee" in SAP S/4HANA. It reads from 2 data sources (I_BusinessPartner_to_BP_Role, I_BusinessUserBasic) and exposes 15 fields with key field BusinessPartner. It has 1 association to related views.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| I_BusinessPartner_to_BP_Role | _bp100 | from |
| I_BusinessUserBasic | _person | inner |
Associations (1)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_BusinessPartner | _BusinessPartner | $projection.BusinessPartner = _BusinessPartner.BusinessPartner |
Annotations (12)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | IINVGEMPLOYEE | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| EndUserText.label | ICM Employee | view | |
| VDM.viewType | #COMPOSITE | view | |
| AccessControl.personalData.blocking | #REQUIRED | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| ObjectModel.usageType.dataClass | #MASTER | view | |
| ClientHandling.type | #CLIENT_DEPENDENT | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view |
Fields (15)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | BusinessPartner | I_BusinessUserBasic | BusinessPartner | |
| BusinessPartnerRole | I_BusinessPartner_to_BP_Role | BusinessPartnerRole | ||
| LastName | I_BusinessUserBasic | LastName | ||
| FirstName | I_BusinessUserBasic | FirstName | ||
| BusinessPartnerFullName | _BusinessPartner | BusinessPartnerFullName | ||
| PersonNumber | _BusinessPartner | PersonNumber | ||
| BusinessPartnerUUID | I_BusinessUserBasic | BusinessPartnerUUID | ||
| IndependentAddressID | _BusinessPartner | IndependentAddressID | ||
| BusinessUser | I_BusinessUserBasic | UserID | ||
| AuthorizationGroup | I_BusinessUserBasic | AuthorizationGroup | ||
| IsBusinessPurposeCompleted | I_BusinessUserBasic | IsBusinessPurposeCompleted | ||
| ValidFrom | I_BusinessPartner_to_BP_Role | ValidFrom | ||
| ValidTo | I_BusinessPartner_to_BP_Role | ValidTo | ||
| PersonFullName | I_BusinessUserBasic | PersonFullName | ||
| _BusinessPartner | _BusinessPartner |
@AbapCatalog.sqlViewName: 'IINVGEMPLOYEE'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey:true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'ICM Employee'
@VDM.viewType: #COMPOSITE
@AccessControl.personalData.blocking:#REQUIRED
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #MASTER
@ClientHandling: {
type: #CLIENT_DEPENDENT,
algorithm: #SESSION_VARIABLE
}
define view I_InvgCsMEmployee
as select from I_BusinessPartner_to_BP_Role as _bp100
inner join I_BusinessUserBasic as _person on _bp100.BusinessPartner = _person.BusinessPartner
association [1..1] to I_BusinessPartner as _BusinessPartner on $projection.BusinessPartner = _BusinessPartner.BusinessPartner
{
key _person.BusinessPartner as BusinessPartner,
_bp100.BusinessPartnerRole as BusinessPartnerRole,
_person.LastName,
_person.FirstName,
_BusinessPartner.BusinessPartnerFullName,
_BusinessPartner.PersonNumber,
_person.BusinessPartnerUUID,
_BusinessPartner.IndependentAddressID,
//personal data blocking
_person.UserID as BusinessUser,
_person.AuthorizationGroup,
_person.IsBusinessPurposeCompleted,
_bp100.ValidFrom as ValidFrom,
_bp100.ValidTo as ValidTo,
_person.PersonFullName,
_BusinessPartner
}
where
_bp100.BusinessPartner = _person.BusinessPartner
and _bp100.BusinessPartnerRole = 'BUP003'
// as select from pa0105 as _person
// inner join hrp1001 as _hrper on _hrper.otype = 'P'
// and _hrper.objid = _person.pernr
// inner join hrp1001 as _hrbp on _hrbp.otype = 'CP'
// and _hrbp.objid = _hrper.sobid
// inner join but100 as _bp100 on _bp100.partner = _hrbp.sobid
// and _bp100.rltyp = 'BUP003'
// inner join I_BusinessPartner as _bp on _bp.BusinessPartner = _bp100.partner
//
//{
//
// key _bp.BusinessPartner as BusinessPartner,
// _bp100.rltyp as BusinessPartnerRole,
// _bp.LastName,
// _bp.FirstName,
// _bp.BusinessPartnerFullName,
// _bp.PersonNumber,
// _bp.BusinessPartnerUUID,
// _bp.IndependentAddressID,
// //personal data blocking
// _bp.AuthorizationGroup,
// _bp.IsBusinessPurposeCompleted,
// usrid as BusinessUser,
// _bp100.valid_from as ValidFrom,
// _bp100.valid_to as ValidTo,
// _bp.PersonFullName
//
//
//}
//where
// _person.subty = '0001'
// and _person.begda <= $session.system_date
// and _person.endda >= $session.system_date
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_BUSINESSPARTNER",
"I_BUSINESSPARTNER_TO_BP_ROLE",
"I_BUSINESSUSERBASIC"
],
"ASSOCIATED":
[
"I_BUSINESSPARTNER"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
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