I_ContingentWorker
Contingent Worker
I_ContingentWorker is a Basic CDS View that provides data about "Contingent Worker" in SAP S/4HANA. It reads from 6 data sources and exposes 37 fields with key fields Supplier, BusinessPartner, BusinessPartner.
Data Sources (6)
| Source | Alias | Join Type |
|---|---|---|
| I_BusinessPartner | _BusinessPartner | inner |
| I_BusinessPartner | _BusinessPartner | inner |
| but100 | bp_role | inner |
| but100 | bp_role | inner |
| but050 | but050 | union_all |
| cvi_vend_link | cvi_vend_link | from |
Annotations (9)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | ICONTWORKER | view | |
| EndUserText.label | Contingent Worker | view | |
| VDM.viewType | #BASIC | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| ObjectModel.usageType.dataClass | #MASTER | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| AccessControl.personalData.blocking | #REQUIRED | view | |
| AccessControl.authorizationCheck | #CHECK | view |
Fields (37)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | Supplier | cvi_vend_link | vendor | |
| KEY | BusinessPartner | I_BusinessPartner | BusinessPartner | |
| FirstName | I_BusinessPartner | FirstName | ||
| LastName | I_BusinessPartner | LastName | ||
| AuthorizationGroup | I_BusinessPartner | AuthorizationGroup | ||
| IsBusinessPurposeCompleted | I_BusinessPartner | IsBusinessPurposeCompleted | ||
| DataControllerSet | I_BusinessPartner | DataControllerSet | ||
| DataController1 | I_BusinessPartner | DataController1 | ||
| DataController2 | I_BusinessPartner | DataController2 | ||
| DataController3 | I_BusinessPartner | DataController3 | ||
| DataController4 | I_BusinessPartner | DataController4 | ||
| DataController5 | I_BusinessPartner | DataController5 | ||
| DataController6 | I_BusinessPartner | DataController6 | ||
| DataController7 | I_BusinessPartner | DataController7 | ||
| DataController8 | I_BusinessPartner | DataController8 | ||
| DataController9 | I_BusinessPartner | DataController9 | ||
| dats | ||||
| tims | ||||
| UTC | ||||
| client | ||||
| partner1asSupplier | ||||
| KEY | BusinessPartner | but050 | partner2 | |
| FirstName | I_BusinessPartner | FirstName | ||
| LastName | I_BusinessPartner | LastName | ||
| AuthorizationGroup | I_BusinessPartner | AuthorizationGroup | ||
| IsBusinessPurposeCompleted | I_BusinessPartner | IsBusinessPurposeCompleted | ||
| DataControllerSet | I_BusinessPartner | DataControllerSet | ||
| DataController1 | I_BusinessPartner | DataController1 | ||
| DataController2 | I_BusinessPartner | DataController2 | ||
| DataController3 | I_BusinessPartner | DataController3 | ||
| DataController4 | I_BusinessPartner | DataController4 | ||
| DataController5 | I_BusinessPartner | DataController5 | ||
| DataController6 | I_BusinessPartner | DataController6 | ||
| DataController7 | I_BusinessPartner | DataController7 | ||
| DataController8 | I_BusinessPartner | DataController8 | ||
| DataController9 | I_BusinessPartner | DataController9 | ||
| DataController10 | I_BusinessPartner | DataController10 |
@AbapCatalog.sqlViewName: 'ICONTWORKER'
@EndUserText.label: 'Contingent Worker'
@VDM.viewType: #BASIC
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.dataClass: #MASTER
@ObjectModel.usageType.serviceQuality: #C
//@ObjectModel.usageType.sizeCategory: #L - sizeCategory 'L' of view is smaller than that of used table BUT100
@ObjectModel.usageType.sizeCategory: #XL
@AccessControl.personalData.blocking: #REQUIRED
@AccessControl.authorizationCheck: #CHECK
define view I_ContingentWorker
as select from cvi_vend_link
inner join I_BusinessPartner as _BusinessPartner on cvi_vend_link.partner_guid = _BusinessPartner.BusinessPartnerUUID
inner join but100 as bp_role on bp_role.partner = _BusinessPartner.BusinessPartner and
bp_role.rltyp = 'BBP010' // BBP010 - Freelancer
and bp_role.valid_from <= tstmp_current_utctimestamp() and bp_role.valid_to >= dats_tims_to_tstmp( cast($session.system_date as abap.dats), cast('000000' as abap.tims), 'UTC', $session.client, 'NULL')
{
key cvi_vend_link.vendor as Supplier,
key _BusinessPartner.BusinessPartner,
_BusinessPartner.FirstName,
_BusinessPartner.LastName,
_BusinessPartner.AuthorizationGroup,
_BusinessPartner.IsBusinessPurposeCompleted,
//Added only for DCL check
@Consumption.hidden:true
@UI.hidden:true
_BusinessPartner.DataControllerSet,
@Consumption.hidden:true
@UI.hidden:true
_BusinessPartner.DataController1,
@Consumption.hidden:true
@UI.hidden:true
_BusinessPartner.DataController2,
@Consumption.hidden:true
@UI.hidden:true
_BusinessPartner.DataController3,
@Consumption.hidden:true
@UI.hidden:true
_BusinessPartner.DataController4,
@Consumption.hidden:true
@UI.hidden:true
_BusinessPartner.DataController5,
@Consumption.hidden:true
@UI.hidden:true
_BusinessPartner.DataController6,
@Consumption.hidden:true
@UI.hidden:true
_BusinessPartner.DataController7,
@Consumption.hidden:true
@UI.hidden:true
_BusinessPartner.DataController8,
@Consumption.hidden:true
@UI.hidden:true
_BusinessPartner.DataController9,
@Consumption.hidden:true
@UI.hidden:true
_BusinessPartner.DataController10
}
union all
select from but050
inner join I_BusinessPartner as _BusinessPartner on but050.partner2 = _BusinessPartner.BusinessPartner and
but050.partner1 != _BusinessPartner.BusinessPartner
inner join but100 as bp_role on bp_role.partner = _BusinessPartner.BusinessPartner and
bp_role.rltyp = 'BBP005'
and bp_role.valid_from <= tstmp_current_utctimestamp() and bp_role.valid_to >= dats_tims_to_tstmp( cast($session.system_date as abap.dats), cast('000000' as abap.tims), 'UTC', $session.client, 'NULL')
{
key but050.partner1 as Supplier,
key but050.partner2 as BusinessPartner,
_BusinessPartner.FirstName,
_BusinessPartner.LastName,
_BusinessPartner.AuthorizationGroup,
_BusinessPartner.IsBusinessPurposeCompleted,
//Added only for DCL check
@Consumption.hidden:true
@UI.hidden:true
_BusinessPartner.DataControllerSet,
@Consumption.hidden:true
@UI.hidden:true
_BusinessPartner.DataController1,
@Consumption.hidden:true
@UI.hidden:true
_BusinessPartner.DataController2,
@Consumption.hidden:true
@UI.hidden:true
_BusinessPartner.DataController3,
@Consumption.hidden:true
@UI.hidden:true
_BusinessPartner.DataController4,
@Consumption.hidden:true
@UI.hidden:true
_BusinessPartner.DataController5,
@Consumption.hidden:true
@UI.hidden:true
_BusinessPartner.DataController6,
@Consumption.hidden:true
@UI.hidden:true
_BusinessPartner.DataController7,
@Consumption.hidden:true
@UI.hidden:true
_BusinessPartner.DataController8,
@Consumption.hidden:true
@UI.hidden:true
_BusinessPartner.DataController9,
@Consumption.hidden:true
@UI.hidden:true
_BusinessPartner.DataController10
} where reltyp = 'BUR025'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_BUSINESSPARTNER",
"BUT050",
"BUT100",
"CVI_VEND_LINK"
],
"ASSOCIATED":
[],
"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