A_ProcOrdConfirmation_2

DDL: A_PROCORDCONFIRMATION_2 Type: view_entity COMPOSITE

Process Order Confirmation

A_ProcOrdConfirmation_2 is a Composite CDS View that provides data about "Process Order Confirmation" in SAP S/4HANA. It reads from 2 data sources (I_MfgOrderConfirmation, I_OrderOperationBasic) and exposes 96 fields with key fields ConfirmationGroup, ConfirmationCount. It has 2 associations to related views.

Data Sources (2)

SourceAliasJoin Type
I_MfgOrderConfirmation afru from
I_OrderOperationBasic afvc left_outer

Associations (2)

CardinalityTargetAliasCondition
[1..1] E_OrderConfirmation _Extension $projection.ConfirmationGroup = _Extension.ConfirmationGroup and $projection.ConfirmationCount = _Extension.ConfirmationCount
[0..*] A_ProcOrdConfMatlDocItem _ProcOrdConfMatlDocItm

Annotations (10)

NameValueLevelField
EndUserText.label Process Order Confirmation view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #REQUIRED view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view
OData.entitySet.name ProcOrdConf2 view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #PUBLIC_REMOTE_API view
Metadata.ignorePropagatedAnnotations true view

Fields (96)

KeyFieldSource TableSource FieldDescription
KEY ConfirmationGroup I_MfgOrderConfirmation MfgOrderConfirmationGroup
KEY ConfirmationCount I_MfgOrderConfirmation MfgOrderConfirmation
OrderID I_MfgOrderConfirmation ManufacturingOrder
OrderType I_MfgOrderConfirmation ManufacturingOrderType
OrderOperationInternalID I_MfgOrderConfirmation OrderOperationInternalID
ConfirmationText I_MfgOrderConfirmation ConfirmationText
Language I_MfgOrderConfirmation Language
Material
OrderPlannedTotalQty
ProductionUnit
FinalConfirmationType I_MfgOrderConfirmation FinalConfirmationType
IsFinalConfirmation I_MfgOrderConfirmation IsFinalConfirmation
OpenReservationsIsCleared I_MfgOrderConfirmation OpenReservationsIsCleared
IsReversed I_MfgOrderConfirmation IsReversed
IsReversal I_MfgOrderConfirmation IsReversal
APIConfHasNoGoodsMovements I_MfgOrderConfirmation APIConfHasNoGoodsMovements
OrderConfirmationRecordType I_MfgOrderConfirmation OrderConfirmationRecordType
ConfirmationEntryDate I_MfgOrderConfirmation MfgOrderConfirmationEntryDate
ConfirmationEntryTime I_MfgOrderConfirmation MfgOrderConfirmationEntryTime
EnteredByUser I_MfgOrderConfirmation EnteredByUser
LastChangeDate I_MfgOrderConfirmation LastChangeDate
LastChangedByUser I_MfgOrderConfirmation LastChangedByUser
ConfirmationExternalEntryDate I_MfgOrderConfirmation ConfirmationExternalEntryDate
ConfirmationExternalEntryTime I_MfgOrderConfirmation ConfirmationExternalEntryTime
EnteredByExternalUser I_MfgOrderConfirmation EnteredByExternalUser
ExternalSystemConfirmation I_MfgOrderConfirmation ExternalSystemConfirmation
Plant I_MfgOrderConfirmation Plant
WorkCenterTypeCode I_MfgOrderConfirmation WorkCenterTypeCode
WorkCenter
ShiftGrouping I_MfgOrderConfirmation ShiftGrouping
ShiftDefinition I_MfgOrderConfirmation ShiftDefinition
Personnel I_MfgOrderConfirmation Personnel
TimeRecording I_MfgOrderConfirmation TimeRecording
EmployeeWageType I_MfgOrderConfirmation EmployeeWageType
EmployeeWageGroup I_MfgOrderConfirmation EmployeeWageGroup
BreakDurationUnit I_MfgOrderConfirmation BreakDurationUnit
BreakDurationUnitISOCode
BreakDurationUnitSAPCode
ConfirmedBreakDuration I_MfgOrderConfirmation ConfirmedBreakDuration
EmployeeSuitability I_MfgOrderConfirmation EmployeeSuitability
NumberOfEmployees I_MfgOrderConfirmation NumberOfEmployees
PostingDate I_MfgOrderConfirmation PostingDate
ConfirmedExecutionStartDate I_MfgOrderConfirmation ConfirmedExecutionStartDate
ConfirmedExecutionStartTime I_MfgOrderConfirmation ConfirmedExecutionStartTime
ConfirmedSetupEndDate I_MfgOrderConfirmation ConfirmedSetupEndDate
ConfirmedSetupEndTime I_MfgOrderConfirmation ConfirmedSetupEndTime
ConfirmedProcessingStartDate I_MfgOrderConfirmation ConfirmedProcessingStartDate
ConfirmedProcessingStartTime I_MfgOrderConfirmation ConfirmedProcessingStartTime
ConfirmedProcessingEndDate I_MfgOrderConfirmation ConfirmedProcessingEndDate
ConfirmedProcessingEndTime I_MfgOrderConfirmation ConfirmedProcessingEndTime
ConfirmedTeardownStartDate I_MfgOrderConfirmation ConfirmedTeardownStartDate
ConfirmedTeardownStartTime I_MfgOrderConfirmation ConfirmedTeardownStartTime
ConfirmedExecutionEndDate I_MfgOrderConfirmation ConfirmedExecutionEndDate
ConfirmedExecutionEndTime I_MfgOrderConfirmation ConfirmedExecutionEndTime
ConfirmationUnit I_MfgOrderConfirmation ConfirmationUnit
ConfirmationUnitISOCode
ConfirmationUnitSAPCode
ConfirmationYieldQuantity I_MfgOrderConfirmation ConfirmationYieldQuantity
ConfirmationScrapQuantity I_MfgOrderConfirmation ConfirmationScrapQuantity
VarianceReasonCode I_MfgOrderConfirmation VarianceReasonCode
OpWorkQuantityUnit1 I_MfgOrderConfirmation OpWorkQuantityUnit1
WorkQuantityUnit1ISOCode
WorkQuantityUnit1SAPCode
OpConfirmedWorkQuantity1 I_MfgOrderConfirmation OpConfirmedWorkQuantity1
NoFurtherOpWorkQuantity1IsExpd I_MfgOrderConfirmation NoFurtherOpWorkQuantity1IsExpd
OpWorkQuantityUnit2 I_MfgOrderConfirmation OpWorkQuantityUnit2
WorkQuantityUnit2ISOCode
WorkQuantityUnit2SAPCode
OpConfirmedWorkQuantity2 I_MfgOrderConfirmation OpConfirmedWorkQuantity2
NoFurtherOpWorkQuantity2IsExpd I_MfgOrderConfirmation NoFurtherOpWorkQuantity2IsExpd
OpWorkQuantityUnit3 I_MfgOrderConfirmation OpWorkQuantityUnit3
WorkQuantityUnit3ISOCode
WorkQuantityUnit3SAPCode
OpConfirmedWorkQuantity3 I_MfgOrderConfirmation OpConfirmedWorkQuantity3
NoFurtherOpWorkQuantity3IsExpd I_MfgOrderConfirmation NoFurtherOpWorkQuantity3IsExpd
OpWorkQuantityUnit4 I_MfgOrderConfirmation OpWorkQuantityUnit4
WorkQuantityUnit4ISOCode
WorkQuantityUnit4SAPCode
OpConfirmedWorkQuantity4 I_MfgOrderConfirmation OpConfirmedWorkQuantity4
NoFurtherOpWorkQuantity4IsExpd I_MfgOrderConfirmation NoFurtherOpWorkQuantity4IsExpd
OpWorkQuantityUnit5 I_MfgOrderConfirmation OpWorkQuantityUnit5
WorkQuantityUnit5ISOCode
WorkQuantityUnit5SAPCode
OpConfirmedWorkQuantity5 I_MfgOrderConfirmation OpConfirmedWorkQuantity5
NoFurtherOpWorkQuantity5IsExpd I_MfgOrderConfirmation NoFurtherOpWorkQuantity5IsExpd
OpWorkQuantityUnit6 I_MfgOrderConfirmation OpWorkQuantityUnit6
WorkQuantityUnit6ISOCode
WorkQuantityUnit6SAPCode
OpConfirmedWorkQuantity6 I_MfgOrderConfirmation OpConfirmedWorkQuantity6
NoFurtherOpWorkQuantity6IsExpd I_MfgOrderConfirmation NoFurtherOpWorkQuantity6IsExpd
BusinessProcessEntryUnit I_MfgOrderConfirmation BusinessProcessEntryUnit
BusProcessEntrUnitISOCode
BusProcessEntryUnitSAPCode
BusinessProcessConfirmedQty I_MfgOrderConfirmation BusinessProcessConfirmedQty
NoFurtherBusinessProcQtyIsExpd I_MfgOrderConfirmation NoFurtherBusinessProcQtyIsExpd
_ProcOrdConfMatlDocItm _ProcOrdConfMatlDocItm
@EndUserText.label: 'Process Order Confirmation'
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #REQUIRED

@ObjectModel.usageType: {serviceQuality: #D, sizeCategory: #XL, dataClass: #MIXED}

@OData.entitySet.name: 'ProcOrdConf2'

@VDM.viewType: #COMPOSITE
@VDM.lifecycle.contract.type: #PUBLIC_REMOTE_API
@Metadata.ignorePropagatedAnnotations: true
define root view entity A_ProcOrdConfirmation_2 
  as select from I_MfgOrderConfirmation          as afru
  left outer join I_OrderOperationBasic          as afvc on afvc.OrderInternalID          = afru.OrderInternalID  //sub-operation handling

                                                        and afvc.OrderOperationInternalID = afru.SuperiorOperationInternalID
  composition [0..*] of A_ProcOrdConfMatlDocItem as _ProcOrdConfMatlDocItm
  association [1..1] to E_OrderConfirmation       as _Extension   // Extensibility CE2102

                                                  on  $projection.ConfirmationGroup = _Extension.ConfirmationGroup
                                                  and $projection.ConfirmationCount = _Extension.ConfirmationCount

{

//Key

  key afru.MfgOrderConfirmationGroup             as ConfirmationGroup,                                                               
  key afru.MfgOrderConfirmation                  as ConfirmationCount,

//General remarks

//eTag Field is not necessary in the process order confirmation process.

//Same behavior implemented like in the material document.


//Order and Operation Data

  afru.ManufacturingOrder                        as OrderID,                                                                           
  
  case
    when afru.SuperiorOperationInternalID > '00000000' then
      cast(afvc.Operation as manufacturingorderoperation preserving type)                       //superior operation ID

    else
      cast(afru.ManufacturingOrderOperation      as manufacturingorderoperation preserving type)
    end                                          as OrderOperation,                
    
  case
    when afru.SuperiorOperationInternalID > '00000000' then
      cast(afru.ManufacturingOrderOperation      as manufacturingordersuboperation preserving type)
    else ''
    end                                          as OrderSuboperation,             
  
  @ObjectModel.sapObjectNodeTypeReference: 'WorkOrderType'
  afru.ManufacturingOrderType                    as OrderType,    
  afru.OrderOperationInternalID,                 // New field in CE1905!            

  afru.ConfirmationText,                                                                             
  afru.Language,                                                                                    
  afru._MfgOrder.Material,                    
  @Semantics.quantity.unitOfMeasure: 'ProductionUnit'
  afru._MfgOrder.MfgOrderPlannedTotalQty         as OrderPlannedTotalQty,    
  afru._MfgOrder.ProductionUnit,            

//Attributes

  @ObjectModel.sapObjectNodeTypeReference: 'OrderFinalConfirmationType'
  afru.FinalConfirmationType,                    // New field in CE1905!

  afru.IsFinalConfirmation,                      // obsolete since CE1905!                                                

  afru.OpenReservationsIsCleared,                                                                
  afru.IsReversed,                               // Document was cancelled in earlier times

  afru.IsReversal,                               // Document is cancelled right now, it is triggered from outside                                                         

  afru.APIConfHasNoGoodsMovements,               // Control flag for "No Goods Movement via API", is triggered from outside

  @ObjectModel.sapObjectNodeTypeReference: 'OrderConfirmationRecordType'
  afru.OrderConfirmationRecordType,              // New field in CE2005!

  
//Adminitstration

  afru.MfgOrderConfirmationEntryDate             as ConfirmationEntryDate, 
  afru.MfgOrderConfirmationEntryTime             as ConfirmationEntryTime, 
  afru.EnteredByUser, 
  afru.LastChangeDate,
  afru.LastChangedByUser,
  afru.ConfirmationExternalEntryDate,                                                                
  afru.ConfirmationExternalEntryTime,                                                                
  afru.EnteredByExternalUser,                                                                        
  afru.ExternalSystemConfirmation,

//General Assignments

  afru.Plant,                   
  afru.WorkCenterTypeCode, 
  afru._WorkCenter.WorkCenter,                                                                          
  afru.ShiftGrouping,                                  // New field in CE2302

  afru.ShiftDefinition,                                // New field in CE2302                


//HR Assignments

  afru.Personnel,                                                                                    
  afru.TimeRecording,                                                                                
  afru.EmployeeWageType,                                                                             
  afru.EmployeeWageGroup,                                                                            

//Durations

  afru.BreakDurationUnit,                                                                            
  afru._BreakDurationUnit.UnitOfMeasureISOCode        as BreakDurationUnitISOCode,
  afru._BreakDurationUnit.UnitOfMeasureSAPCode        as BreakDurationUnitSAPCode,   // CE2102                   

  @Semantics.quantity.unitOfMeasure: 'BusinessProcessEntryUnit' // incompatible change

  afru.ConfirmedBreakDuration,                                                                       
  afru.EmployeeSuitability,                                                                          
  afru.NumberOfEmployees,                                                                            

//Dates

  afru.PostingDate,                                                                                  

//Time Events

  afru.ConfirmedExecutionStartDate,                                                                  
  afru.ConfirmedExecutionStartTime,                                                                  
  afru.ConfirmedSetupEndDate,                                                                        
  afru.ConfirmedSetupEndTime,                                                                        
  afru.ConfirmedProcessingStartDate,                                                                 
  afru.ConfirmedProcessingStartTime,                                                                 
  afru.ConfirmedProcessingEndDate,                                                                   
  afru.ConfirmedProcessingEndTime,                                                                   
  afru.ConfirmedTeardownStartDate,                                                                   
  afru.ConfirmedTeardownStartTime,                                                                   
  afru.ConfirmedExecutionEndDate,                                                                    
  afru.ConfirmedExecutionEndTime,                                                                    

//Quantities and UoM

  afru.ConfirmationUnit,                                                                             
  afru._ConfirmationUnit.UnitOfMeasureISOCode         as ConfirmationUnitISOCode,
  afru._ConfirmationUnit.UnitOfMeasureSAPCode         as ConfirmationUnitSAPCode,    // CE2102                                                         

  @Semantics.quantity.unitOfMeasure: 'ConfirmationUnit' 
  afru.ConfirmationYieldQuantity,                                                                    
  @Semantics.quantity.unitOfMeasure: 'ConfirmationUnit'
  afru.ConfirmationScrapQuantity,    
  afru.VarianceReasonCode,                                                                

//Work Quantities and UoM

  afru.OpWorkQuantityUnit1,                                                                          
  afru._WorkQuantityUnit1.UnitOfMeasureISOCode        as WorkQuantityUnit1ISOCode,
  afru._WorkQuantityUnit1.UnitOfMeasureSAPCode        as WorkQuantityUnit1SAPCode,   // CE2102                 

  @Semantics.quantity.unitOfMeasure: 'OpWorkQuantityUnit1'
  afru.OpConfirmedWorkQuantity1,                                                                      
  afru.NoFurtherOpWorkQuantity1IsExpd,                                                                
 
  afru.OpWorkQuantityUnit2,                                                                          
  afru._WorkQuantityUnit2.UnitOfMeasureISOCode        as WorkQuantityUnit2ISOCode,
  afru._WorkQuantityUnit2.UnitOfMeasureSAPCode        as WorkQuantityUnit2SAPCode,   // CE2102                 

  @Semantics.quantity.unitOfMeasure: 'OpWorkQuantityUnit2'
  afru.OpConfirmedWorkQuantity2,                                                                     
  afru.NoFurtherOpWorkQuantity2IsExpd,                                                               
      
  afru.OpWorkQuantityUnit3,                                                                          
  afru._WorkQuantityUnit3.UnitOfMeasureISOCode        as WorkQuantityUnit3ISOCode,
  afru._WorkQuantityUnit3.UnitOfMeasureSAPCode        as WorkQuantityUnit3SAPCode,   // CE2102                     

  @Semantics.quantity.unitOfMeasure: 'OpWorkQuantityUnit3'    
  afru.OpConfirmedWorkQuantity3,                                                                     
  afru.NoFurtherOpWorkQuantity3IsExpd,                                                               

  afru.OpWorkQuantityUnit4,                                                                          
  afru._WorkQuantityUnit4.UnitOfMeasureISOCode        as WorkQuantityUnit4ISOCode,
  afru._WorkQuantityUnit4.UnitOfMeasureSAPCode        as WorkQuantityUnit4SAPCode,   // CE2102                 

  @Semantics.quantity.unitOfMeasure: 'OpWorkQuantityUnit4'
  afru.OpConfirmedWorkQuantity4,                                                                     
  afru.NoFurtherOpWorkQuantity4IsExpd,                                                              
 
  afru.OpWorkQuantityUnit5,                                                                          
  afru._WorkQuantityUnit5.UnitOfMeasureISOCode        as WorkQuantityUnit5ISOCode,
  afru._WorkQuantityUnit5.UnitOfMeasureSAPCode        as WorkQuantityUnit5SAPCode,   // CE2102                 

  @Semantics.quantity.unitOfMeasure: 'OpWorkQuantityUnit5'
  afru.OpConfirmedWorkQuantity5,                                                                     
  afru.NoFurtherOpWorkQuantity5IsExpd,                                                               

  afru.OpWorkQuantityUnit6,                                                                          
  afru._WorkQuantityUnit6.UnitOfMeasureISOCode        as WorkQuantityUnit6ISOCode,
  afru._WorkQuantityUnit6.UnitOfMeasureSAPCode        as WorkQuantityUnit6SAPCode,   // CE2102                 

  @Semantics.quantity.unitOfMeasure: 'OpWorkQuantityUnit6'
  afru.OpConfirmedWorkQuantity6,                                                                     
  afru.NoFurtherOpWorkQuantity6IsExpd,                                                               

//Business Process

  afru.BusinessProcessEntryUnit,                                                                     
  afru._BusinessProcessUnit.UnitOfMeasureISOCode      as BusProcessEntrUnitISOCode,
  afru._BusinessProcessUnit.UnitOfMeasureSAPCode      as BusProcessEntryUnitSAPCode,    // CE2102                                                                      

  @Semantics.quantity.unitOfMeasure: 'BusinessProcessEntryUnit'
  afru.BusinessProcessConfirmedQty,
  afru.NoFurtherBusinessProcQtyIsExpd,                                                                    
     
//Associations

_ProcOrdConfMatlDocItm

}
where afru.ManufacturingOrderCategory = '40'
  and afru.IsReversal <> 'X'; //only activ confirmations and cancelled confirmations are relevant but not the new generated cancellation confirmation

/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_MANUFACTURINGORDER",
"I_MFGORDERCONFIRMATION",
"I_ORDEROPERATIONBASIC",
"I_UNITOFMEASURE",
"I_WORKCENTER"
],
"ASSOCIATED":
[
"A_PROCORDCONFMATLDOCITEM"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/