C_MfgOperatorDetail

DDL: C_MFGOPERATORDETAIL SQL: CMFGOPTRDETS Type: view CONSUMPTION

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.

Data Sources (2)

SourceAliasJoin Type
I_User BPUser inner
I_MfgBusinessPartner Partner from

Parameters (2)

NameTypeDefault
P_OpLtstSchedldExecFromDte pph_fsavd
P_OpLtstSchedldExecToDte pph_fsavd

Associations (7)

CardinalityTargetAliasCondition
[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)

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

KeyFieldSource TableSource FieldDescription
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 Email
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

}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_MFGBUSINESSPARTNER",
"I_OPACTYINSTANCESTATUSBASIC",
"I_OPACTYLABORACTION",
"I_USER",
"I_WORKCENTERBYSEMANTICKEY",
"I_WORKPLACEADDRESS",
"P_OPACTYUSRLABORONAGGRG",
"P_SUMOFNROFUSROPACTYASSGMT"
],
"ASSOCIATED":
[
"C_MFGBPRESPONSIBILITY",
"C_MFGBPWORKCENTERASSGMT",
"C_MFGHUMRSCEQUALIFNBP",
"C_MFGOPACTYASSGDTOOPTR",
"I_BUSINESSPARTNER",
"I_MFGLABORSTATUSTEXT",
"I_MFGWORKCENTERRESPVH",
"I_PLANT",
"I_WORKCENTERBYSEMANTICKEY",
"I_WORKCENTERRESPONSIBLE",
"I_WORKCENTERTEXTBYSEMANTICKEY"
],
"BASE":
[
"I_MFGBUSINESSPARTNER",
"I_WORKCENTERBYSEMANTICKEY"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/