C_MfgOperatorDetail
Production Operator details
C_MfgOperatorDetail is a Consumption CDS View that provides data about "Production Operator details" in SAP S/4HANA. It reads from 2 data sources (I_User, I_MfgBusinessPartner) and exposes 36 fields with key field MfgBusinessPartner. It has 7 associations to related views. Part of development package MPE_EXEC_COMMON.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| I_User | BPUser | inner |
| I_MfgBusinessPartner | Partner | from |
Parameters (2)
| Name | Type | Default |
|---|---|---|
| P_OpLtstSchedldExecFromDte | pph_fsavd | |
| P_OpLtstSchedldExecToDte | pph_fsavd |
Associations (7)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..*] | C_MfgBPResponsibility | _Func | _Func.RespyMgmtBusinessPartner = Partner.MfgBusinessPartner |
| [0..*] | C_MfgHumRsceQualifnBP | _Qualification | Partner.MfgBusinessPartner = _Qualification.MfgBusinessPartner |
| [0..*] | C_MfgOpActyAssgdToOptr | _AssignedOperationActivityList | _AssignedOperationActivityList.UserID = $projection.UserID and _AssignedOperationActivityList.OpLtstSchedldExecStrtDte >= $projection.OpLtstSchedldExecFromDte and _AssignedOperationActivityList.OpLtstSchedldExecStrtDte <= $projection.OpLtstSchedldExecToDte |
| [0..1] | I_WorkCenterBySemanticKey | _WorkCenter | Partner.Plant = _WorkCenter.Plant and Partner.WorkCenter = _WorkCenter.WorkCenter |
| [0..*] | C_MfgBPWorkCenterAssgmt | _WorkCenterAssignment | $projection.MfgBusinessPartner = _WorkCenterAssignment.MfgBusinessPartner |
| [0..1] | I_MfgLaborStatusText | _LaborStatus | $projection.ManufacturingLaborStatus = _LaborStatus.ManufacturingLaborStatus and _LaborStatus.Language = $session.system_language |
| [1..*] | I_MfgWorkCenterRespVH | _MfgWrkCtrRespVH | $projection.WorkCenterResponsible = _MfgWrkCtrRespVH.WorkCenterResponsible |
Annotations (17)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | CMFGOPTRDETS | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| EndUserText.label | Production Operator details | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| VDM.viewType | #CONSUMPTION | view | |
| Search.searchable | true | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| AccessControl.personalData.blocking | #REQUIRED | view | |
| UI.headerInfo.typeNamePlural | All Production Operators | view | |
| ObjectModel.compositionRoot | true | view | |
| UI.headerInfo.title.value | BusinessPartnerName | view | |
| UI.headerInfo.description.value | MfgBusinessPartner | view | |
| Metadata.ignorePropagatedAnnotations | true | view |
Fields (36)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | MfgBusinessPartner | I_MfgBusinessPartner | MfgBusinessPartner | Production Operator |
| OpLtstSchedldExecFromDte | ||||
| OpLtstSchedldExecToDte | ||||
| UserID | I_User | UserID | ||
| BusinessPartnerName | ||||
| FirstName | I_MfgBusinessPartner | FirstName | ||
| LastName | I_MfgBusinessPartner | LastName | ||
| PhoneNumber | workplaceaddress | PhoneNumber | Mobile | |
| DefaultEmailAddress | ||||
| DefaultPlant | _WorkCenter | Plant | ||
| Plant | _WorkCenter | Plant | Plant | |
| DefaultWorkCenter | _WorkCenter | WorkCenter | Default Work Center | |
| WorkCenter | _WorkCenter | WorkCenter | Work Center | |
| _WorkCenterTextBySemanticKey | _WorkCenter | _WorkCenterTextBySemanticKey | ||
| WorkCenterResponsible | _WorkCenter | WorkCenterResponsible | ||
| _WorkCenterResponsible | _WorkCenter | _WorkCenterResponsible | ||
| IsBusinessPurposeCompleted | I_MfgBusinessPartner | IsBusinessPurposeCompleted | ||
| AuthorizationGroup | I_MfgBusinessPartner | AuthorizationGroup | ||
| OpActyNtwkInstance | LabAct | OpActyNtwkInstance | ||
| OpActyNtwkElement | LabAct | OpActyNtwkElement | ||
| ShopFloorItem | LabAct | ShopFloorItem | ||
| OperationActivitySFIGroup | LabAct | OperationActivitySFIGroup | ||
| OpActyIsSeldForRtactvPostg | OpActyInstanceStatusBasic | OpActyIsSeldForRtactvPostg | ||
| NmbrOfOpActiesAssgdToOptr | Number of Operation Activities | |||
| AssgdLaborDurationInSecs | ||||
| AssignedLaborDuration | Assigned Labor Time | |||
| SelectedOpActyStartDate | ||||
| BusinessPartner | I_MfgBusinessPartner | BusinessPartner | ||
| _Func | _Func | |||
| _Qualification | _Qualification | |||
| _AssignedOperationActivityList | _AssignedOperationActivityList | |||
| _WorkCenterAssignment | _WorkCenterAssignment | |||
| _LaborStatus | _LaborStatus | |||
| _Plant | _WorkCenter | _Plant | ||
| _MfgWrkCtrRespVH | _MfgWrkCtrRespVH | |||
| _BusinessPartner | I_MfgBusinessPartner | _BusinessPartner |
@AbapCatalog.sqlViewName: 'CMFGOPTRDETS'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Production Operator details'
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@VDM.viewType: #CONSUMPTION
@Search.searchable: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.personalData.blocking: #REQUIRED
@UI.headerInfo.typeNamePlural: 'All Production Operators'
@UI.presentationVariant.requestAtLeast: ['AssgdLaborDurationInSecs',
'OpActyNtwkInstance',
'OpActyNtwkElement',
'ShopFloorItem',
'OpActyIsSeldForRtactvPostg',
'ManufacturingLaborStatus',
'UserID']
@ObjectModel.semanticKey: ['BusinessPartnerName']
@ObjectModel.compositionRoot: true
@UI.headerInfo : {
title : {
value: 'BusinessPartnerName'
},
description : {
value: 'MfgBusinessPartner'
}
}
@Metadata.ignorePropagatedAnnotations: true
define view C_MfgOperatorDetail
with parameters
@Environment.systemField: #SYSTEM_DATE
@EndUserText.label: 'Execution Start Date'
P_OpLtstSchedldExecFromDte :pph_fsavd,
@Environment.systemField: #SYSTEM_DATE
@EndUserText.label: 'Execution End Date'
P_OpLtstSchedldExecToDte :pph_fsavd
as select from I_MfgBusinessPartner as Partner
inner join I_User as BPUser on BPUser.BusinessPartnerUUID = Partner.BusinessPartnerUUID
left outer to one join P_SumOfNrOfUsrOpActyAssgmt (P_OpLtstSchedldExecFromDte : :P_OpLtstSchedldExecFromDte,
P_OpLtstSchedldExecToDte : :P_OpLtstSchedldExecToDte) as nr on nr.UserID = BPUser.UserID
left outer to one join P_OpActyUsrLaborOnAggrg as OpActyUsrLaborOnAggrg on OpActyUsrLaborOnAggrg.ShopFloorExecutionUser = BPUser.UserID
left outer to one join I_OpActyLaborAction as LabAct on LabAct.OperationActivityLaborAction = OpActyUsrLaborOnAggrg.OperationActivityLaborAction
left outer to one join I_WorkplaceAddress as workplaceaddress on workplaceaddress.BusinessPartnerUUID = Partner.BusinessPartnerUUID
left outer to one join I_OpActyInstanceStatusBasic as OpActyInstanceStatusBasic on OpActyInstanceStatusBasic.OpActyNtwkInstance = LabAct.OpActyNtwkInstance
and OpActyInstanceStatusBasic.OpActyNtwkElement = LabAct.OpActyNtwkElement
association [0..*] to C_MfgBPResponsibility as _Func on _Func.RespyMgmtBusinessPartner = Partner.MfgBusinessPartner
association [0..*] to C_MfgHumRsceQualifnBP as _Qualification on Partner.MfgBusinessPartner = _Qualification.MfgBusinessPartner
association [0..*] to C_MfgOpActyAssgdToOptr as _AssignedOperationActivityList on _AssignedOperationActivityList.UserID = $projection.UserID
and _AssignedOperationActivityList.OpLtstSchedldExecStrtDte >= $projection.OpLtstSchedldExecFromDte
and _AssignedOperationActivityList.OpLtstSchedldExecStrtDte <= $projection.OpLtstSchedldExecToDte
association [0..1] to I_WorkCenterBySemanticKey as _WorkCenter on Partner.Plant = _WorkCenter.Plant
and Partner.WorkCenter = _WorkCenter.WorkCenter
association [0..*] to C_MfgBPWorkCenterAssgmt as _WorkCenterAssignment on $projection.MfgBusinessPartner = _WorkCenterAssignment.MfgBusinessPartner
association [0..1] to I_MfgLaborStatusText as _LaborStatus on $projection.ManufacturingLaborStatus = _LaborStatus.ManufacturingLaborStatus
and _LaborStatus.Language = $session.system_language
association [1..*] to I_MfgWorkCenterRespVH as _MfgWrkCtrRespVH on $projection.WorkCenterResponsible = _MfgWrkCtrRespVH.WorkCenterResponsible
{
@UI.facet: [
{
purpose: #HEADER,
id: 'ORDER',
type: #FIELDGROUP_REFERENCE,
targetQualifier: 'Location',
label: 'Location',
position: 2
},
{
purpose: #HEADER,
id: 'BASIC',
type: #FIELDGROUP_REFERENCE,
targetQualifier: 'Basic Data',
label:'Basic Data',
position: 3
},
{
purpose: #STANDARD,
label: 'Assigned Operation Activities',
id: 'ASSIGNEDACT',
type: #LINEITEM_REFERENCE,
targetElement: '_AssignedOperationActivityList',
position: 10
},
{
purpose: #STANDARD,
label: 'Assigned Work Centers',
id: 'ASSIGNEDWC',
type: #LINEITEM_REFERENCE,
targetElement: '_WorkCenterAssignment',
position: 20
},
{
purpose: #STANDARD,
label: 'Qualifications',
id: 'ASSIGNEDQUALIFNS',
type: #LINEITEM_REFERENCE,
targetElement: '_Qualification',
position: 30
},
{
purpose: #STANDARD,
label: 'Team Information',
id: 'ASSIGNEDTEAMS',
type: #LINEITEM_REFERENCE,
targetElement: '_Func',
position: 40
}
]
@UI.lineItem: [{position: 10 , importance: #HIGH}]
@Search:{defaultSearchElement: true,
fuzzinessThreshold: 0.7}
@UI.fieldGroup: [{qualifier: 'BusinessPartnerName', position: 10}]
@UI.textArrangement: #TEXT_FIRST
@ObjectModel.text.element: ['BusinessPartnerName']
@EndUserText.label: 'Production Operator'
key Partner.MfgBusinessPartner,
$parameters.P_OpLtstSchedldExecFromDte as OpLtstSchedldExecFromDte,
$parameters.P_OpLtstSchedldExecToDte as OpLtstSchedldExecToDte,
@UI.hidden: true
BPUser.UserID as UserID,
@UI.hidden: true
cast(Partner.BusinessPartnerName as mpe_user_name preserving type) as BusinessPartnerName,
@Search:{defaultSearchElement: true, fuzzinessThreshold: 0.7}
@UI.hidden: true
Partner.FirstName,
@Search:{defaultSearchElement: true, fuzzinessThreshold: 0.7}
@UI.hidden: true
Partner.LastName,
@UI: { hidden: true,
fieldGroup: [{qualifier: 'Basic Data', position:10}]
}
@EndUserText.label: 'Mobile'
@Semantics.telephone.type: [#WORK]
workplaceaddress.PhoneNumber,
@UI.fieldGroup: [{qualifier: 'Basic Data',position:20}]
@EndUserText.label: 'Email'
@Semantics.eMail.address: true
@UI.hidden: true
lower(workplaceaddress.DefaultEmailAddress) as DefaultEmailAddress,
@UI.hidden: true
@ObjectModel.foreignKey.association: '_Plant'
@UI.fieldGroup: [{ qualifier: 'Location',
position: 10,
label: 'Default Plant'}]
@Search.defaultSearchElement: true
@UI.textArrangement: #TEXT_FIRST
_WorkCenter.Plant as DefaultPlant,
@EndUserText.label: 'Plant'
@UI: {
selectionField: [{position: 10}],
fieldGroup: [{label:'Plant'}]
}
@Search: {defaultSearchElement: true, fuzzinessThreshold: 0.8}
@Consumption.valueHelpDefinition: [{ entity: { name: 'I_PlantStdVH' , element: 'Plant' } }]
_WorkCenter.Plant as Plant,
@EndUserText.label: 'Default Work Center'
@UI: {
lineItem: [{position:20, importance: #MEDIUM}],
fieldGroup: [{qualifier: 'Location', position: 20, label: 'Default Work Center'}]
}
@UI.textArrangement: #TEXT_FIRST
_WorkCenter.WorkCenter as DefaultWorkCenter,
@EndUserText.label: 'Work Center'
@UI: {
selectionField: [{position: 20}],
fieldGroup: [{label: 'Work Center'}]
}
@Consumption.valueHelpDefinition: [{ entity:
{name: 'C_MfgWorkCenterVH' , element: 'WorkCenter' },
additionalBinding: [{ localElement: 'Plant', element: 'Plant' }]
}]
_WorkCenter.WorkCenter as WorkCenter,
_WorkCenter._WorkCenterTextBySemanticKey as _WorkCenterTextBySemanticKey,
@ObjectModel.foreignKey.association: '_WorkCenterResponsible'
@UI.selectionField: [{position: 40 }]
@Consumption.valueHelp: '_MfgWrkCtrRespVH'
_WorkCenter.WorkCenterResponsible as WorkCenterResponsible,
@UI.hidden: true
_WorkCenter._WorkCenterResponsible,
@UI.hidden: true
Partner.IsBusinessPurposeCompleted,
@UI.hidden: true
Partner.AuthorizationGroup,
@ObjectModel.readOnly: true
@ObjectModel.text.association: '_LaborStatus'
cast( case LabAct.PostingIsRetroactive
when 'X'
then 3
else(
case LabAct.OpActyLaborActionType
when '1'
then 1
else 2
end )
end as mpe_labor_status ) as ManufacturingLaborStatus,
@UI.hidden: true
LabAct.OpActyNtwkInstance,
@UI.hidden: true
LabAct.OpActyNtwkElement,
@UI.hidden: true
LabAct.ShopFloorItem,
@UI.hidden: true
LabAct.OperationActivitySFIGroup,
@UI.hidden: true
OpActyInstanceStatusBasic.OpActyIsSeldForRtactvPostg,
@UI.lineItem: [{position: 60}]
@EndUserText.quickInfo: 'Number of Operation Activities'
@EndUserText.label: 'Number of Operation Activities'
cast(nr.NrOfUsrOpnOpActyAssignments as int4 preserving type ) as NmbrOfOpActiesAssgdToOptr,
@UI.hidden: true
cast(nr.OpActyExpdExecDurnInSeconds as mpe_expd_exec_duration preserving type ) as AssgdLaborDurationInSecs,
@UI.lineItem: [{position: 50}]
@EndUserText.label: 'Assigned Labor Time'
@ObjectModel.virtualElement: true
@EndUserText.quickInfo: 'Assigned Labor Time'
@ObjectModel.virtualElementCalculatedBy: 'CL_MPE_PRODNOPTRACTY_EXIT'
cast(' ' as char30 preserving type) as AssignedLaborDuration,
@UI.hidden: true
cast('00000000' as pph_fsavd) as SelectedOpActyStartDate,
// Field for BP Data controller
@Consumption.hidden:true
@UI.hidden:true
Partner.BusinessPartner,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_Func,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_Qualification,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_AssignedOperationActivityList,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_WorkCenterAssignment,
_LaborStatus,
_WorkCenter._Plant as _Plant,
_MfgWrkCtrRespVH,
Partner._BusinessPartner
}
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