I_ContingentWorker

DDL: I_CONTINGENTWORKER SQL: ICONTWORKER Type: view BASIC

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)

SourceAliasJoin 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)

NameValueLevelField
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)

KeyFieldSource TableSource FieldDescription
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":""
}
}*/