P_MFGORDEROPERATIONDELAYBASIC
P_MFGORDEROPERATIONDELAYBASIC is a CDS View in S/4HANA. 1 CDS views read from this table.
CDS Views using this table (1)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| I_MfgOrderOperationDelayBasic | view | from | COMPOSITE | Manufacturing Order Operation Delay Basic Data |
@AbapCatalog.sqlViewName: 'PMFGOROPDELYBSC'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType: {serviceQuality: #C, sizeCategory: #XL, dataClass: #TRANSACTIONAL}
@VDM.viewType: #COMPOSITE
@VDM.private: true
// Manufacturing Order Operation Delay data without suboperation and phase determination
define view P_MfgOrderOperationDelayBasic
as select from I_OrderOperationDateTime as afvg
inner join I_MfgOrderBasic as aufv on aufv.OrderInternalID = afvg.OrderInternalID
{
// Technical Key
key afvg.OrderInternalID,
key afvg.OrderOperationInternalID,
// Semantical key
aufv.ManufacturingOrder,
afvg.Sequence,
afvg.Operation,
// Order header data
aufv.ManufacturingOrderCategory,
aufv.ManufacturingOrderType,
aufv.ProductionSupervisor,
aufv.MRPController,
aufv.ResponsiblePlannerGroup,
aufv.ProductConfiguration,
aufv.InspectionLot,
aufv.Reservation,
aufv.ManufacturingOrderImportance,
aufv.ProdnProcgIsFlexible,
aufv.MfgOrderIsToBeDeleted,
// Text
afvg.OperationText,
afvg.Language,
afvg.StandardTextInternalID,
// Attributes
afvg.OperationIsToBeDeleted,
cast(afvg.NumberOfCapacities as pph_anzkap preserving type) as NumberOfCapacities,
afvg.NumberOfConfirmationSlips,
afvg.OperationImportance,
// Assignments
afvg.Plant,
afvg.WorkCenterInternalID,
afvg.WorkCenterTypeCode,
afvg.OperationControlProfile,
afvg.OperationConfirmation,
afvg.NumberOfOperationConfirmations,
afvg.FactoryCalendar,
afvg.CapacityRequirement,
afvg.CapacityRequirementItem,
afvg.ChangeNumber,
afvg.ObjectInternalID,
// Assignments BOO and BOM
afvg.BillOfOperationsType,
afvg.BillOfOperationsGroup,
afvg.BillOfOperationsVariant,
afvg.BillOfOperationsSequence,
afvg.BOOOperationInternalID,
afvg.BillOfOperationsVersion,
afvg.BillOfMaterialCategory,
afvg.BillOfMaterialInternalID,
afvg.BillOfMaterialItemNodeNumber,
afvg.BOMItemNodeCount,
// Assignments FI/CO
afvg.CompanyCode,
afvg.BusinessArea,
aufv.ControllingArea,
afvg.ProfitCenter,
afvg.ControllingObjectClass,
afvg.FunctionalArea,
// Assignments HR
afvg.EmployeeWageType,
afvg.EmployeeWageGroup,
afvg.EmployeeSuitability,
afvg.NumberOfTimeTickets,
afvg.Personnel,
afvg.NumberOfEmployees,
// Dates and Times
afvg.PlantTimeZone,
afvg.OpErlstSchedldExecStrtDte,
afvg.OpErlstSchedldExecStrtTme,
afvg.OpErlstSchedldExecStrtDteTme,
afvg.OpErlstSchedldProcgStrtDte,
afvg.OpErlstSchedldProcgStrtTme,
afvg.OpErlstSchedldProcgStrtDteTme,
afvg.OpErlstSchedldTrdwnStrtDte,
afvg.OpErlstSchedldTrdwnStrtTme,
afvg.OpErlstSchedldTrdwnStrtDteTme,
afvg.OpErlstSchedldExecEndDte,
afvg.OpErlstSchedldExecEndTme,
afvg.OpErlstSchedldExecEndDteTme,
afvg.OpLtstSchedldExecStrtDte,
afvg.OpLtstSchedldExecStrtTme,
afvg.OpLtstSchedldExecStrtDteTme,
afvg.OpLtstSchedldProcgStrtDte,
afvg.OpLtstSchedldProcgStrtTme,
afvg.OpLtstSchedldProcgStrtDteTme,
afvg.OpLtstSchedldTrdwnStrtDte,
afvg.OpLtstSchedldTrdwnStrtTme,
afvg.OpLtstSchedldTrdwnStrtDteTme,
afvg.OpLtstSchedldExecEndDte,
afvg.OpLtstSchedldExecEndTme,
afvg.OpLtstSchedldExecEndDteTme,
afvg.OperationConfirmedStartDate,
afvg.OperationConfirmedEndDate,
afvg.OpActualExecutionStartDate,
afvg.OpActualExecutionStartTime,
afvg.OpActualExecutionStartDateTime,
afvg.OpActualSetupEndDate,
afvg.OpActualSetupEndTime,
afvg.OpActualSetupEndDateTime,
afvg.OpActualProcessingStartDate,
afvg.OpActualProcessingStartTime,
afvg.OpActualProcessingStartDteTme,
afvg.OpActualProcessingEndDate,
afvg.OpActualProcessingEndTime,
afvg.OpActualProcessingEndDateTime,
afvg.OpActualTeardownStartDate,
afvg.OpActualTeardownStartTme,
afvg.OpActualTeardownStartDateTime,
afvg.OpActualExecutionEndDate,
afvg.OpActualExecutionEndTime,
afvg.OpActualExecutionEndDateTime,
// Calculated Durations
case afvg.OpLtstSchedldExecStrtTme
when '240000' then // function dats_tims_to_tstmp does not work with time 24:00
tstmp_seconds_between(dats_tims_to_tstmp( afvg.OpLtstSchedldExecStrtDte, cast('235959' as tims), abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL') ,
tstmp_current_utctimestamp(),'INITIAL') + 1
else
tstmp_seconds_between(dats_tims_to_tstmp( afvg.OpLtstSchedldExecStrtDte, afvg.OpLtstSchedldExecStrtTme, abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL') ,
tstmp_current_utctimestamp(),'INITIAL')
end as PlannedCurrentStrtDateDvtnDurn,
case afvg.OpErlstSchedldExecEndTme
when '240000' then // function dats_tims_to_tstmp does not work with time 24:00
tstmp_seconds_between(dats_tims_to_tstmp( afvg.OpLtstSchedldExecStrtDte, cast('235959' as tims), abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL') ,
tstmp_current_utctimestamp(),'INITIAL') + 1
else
tstmp_seconds_between(dats_tims_to_tstmp( afvg.OpLtstSchedldExecStrtDte, afvg.OpErlstSchedldExecEndTme, abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL') ,
tstmp_current_utctimestamp(),'INITIAL')
end as PlannedCurrentEndDateDvtnDurn,
case afvg.OpLtstSchedldExecStrtTme
when '240000' then // function dats_tims_to_tstmp does not work with time 24:00
tstmp_seconds_between(dats_tims_to_tstmp( afvg.OpLtstSchedldExecStrtDte, cast('235959' as tims), abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL') ,
dats_tims_to_tstmp( afvg.OpActualExecutionStartDate, afvg.OpActualExecutionStartTime, abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL'), 'INITIAL') + 1
else
tstmp_seconds_between(dats_tims_to_tstmp( afvg.OpLtstSchedldExecStrtDte, afvg.OpLtstSchedldExecStrtTme, abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL') ,
dats_tims_to_tstmp( afvg.OpActualExecutionStartDate, afvg.OpActualExecutionStartTime, abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL'), 'INITIAL')
end as PlannedActualStartDateDvtnDurn,
case afvg.OpErlstSchedldExecEndTme
when '240000' then // function dats_tims_to_tstmp does not work with time 24:00
tstmp_seconds_between(dats_tims_to_tstmp( afvg.OpErlstSchedldExecEndDte, cast('235959' as tims), abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL') ,
dats_tims_to_tstmp( afvg.OpActualExecutionEndDate, afvg.OpActualExecutionEndTime, abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL'), 'INITIAL') + 1
else
tstmp_seconds_between(dats_tims_to_tstmp( afvg.OpErlstSchedldExecEndDte, afvg.OpErlstSchedldExecEndTme, abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL') ,
dats_tims_to_tstmp( afvg.OpActualExecutionEndDate, afvg.OpActualExecutionEndTime, abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL'), 'INITIAL')
end as PlannedActualEndDateDvtnDurn,
// Offset
afvg.StartDateOffsetReferenceCode,
afvg.StartDateOffsetDurationUnit,
afvg.StartDateOffsetDuration,
afvg.EndDateOffsetReferenceCode,
afvg.EndDateOffsetDurationUnit,
afvg.EndDateOffsetDuration,
// Quantities and UoM
afvg.OperationUnit,
afvg.OperationScrapPercent,
afvg.OperationReferenceQuantity,
afvg.OpPlannedTotalQuantity,
afvg.OpPlannedScrapQuantity,
(afvg.OpPlannedTotalQuantity - afvg.OpPlannedScrapQuantity) as OpPlannedYieldQuantity,
afvg.OpTotalConfirmedYieldQty,
afvg.OpTotalConfirmedScrapQty,
afvg.OperationConfirmedReworkQty,
// OAN data
afvg.SetupOpActyNtwkInstance,
afvg.ProduceOpActyNtwkInstance,
afvg.TeardownOpActyNtwkInstance
};
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_MFGORDERBASIC",
"I_ORDEROPERATIONDATETIME"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/