@AbapCatalog.sqlViewName: 'CCHGRECREFPPO'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Change Record Reference Object Page Prodn Ord'
@VDM.viewType: #CONSUMPTION
@ObjectModel.usageType: {serviceQuality: #C,
dataClass: #MIXED,
sizeCategory: #L}
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.personalData.blocking: #NOT_REQUIRED
@ObjectModel: {
semanticKey: ['ManufacturingOrder'],
createEnabled: true,
deleteEnabled,
updateEnabled:'EXTERNAL_CALCULATION' ,
transactionalProcessingDelegated: true
}
@UI.headerInfo:{
typeName: 'Production Order',
typeNamePlural: 'Production Orders',
title:{value:'_ManufacturingOrderVH.ManufacturingOrderText'}
}
@UI.presentationVariant.requestAtLeast: ['ProductionPlant','ManufacturingOrder','OrderID','BillOfOperationsGroup','BillOfOperationsType','BillOfOperationsVersion','BillOfOperationsVariant','BillOfOperationsVersionStatus', 'ChangeRecordType', 'ChangeRecordLifecycleStatus', 'ChangeRecordReferenceType','OrderMainStatusCode']
define view C_ChangeRecordObjPgProdnOrd
as select from I_ChgRecdRefProdnOrdTP as ChangeRecordReferencePPOTP
association [1..1] to C_ChangeRecordObjPg as _ChangeRecordObjPg on $projection.ChangeRecordUUID = _ChangeRecordObjPg.ChangeRecordUUID
association [1..1] to I_ChangeRecordMfgOrder as _ManufacturingOrderVH on $projection.ManufacturingOrder = _ManufacturingOrderVH.ManufacturingOrder
association [1..*] to I_MfgOrderTypeText as _ManufacturingOrderTypeTxt on $projection.manufacturingordertype = _ManufacturingOrderTypeTxt.ManufacturingOrderType
association [1..1] to C_ChangeRecordItemRelProVH as _ChangeRecordItemRelVH on $projection.ChangeRecordItemRelevance = _ChangeRecordItemRelVH.ChangeRecordItemRelevance
and $projection.ChangeRecordType = _ChangeRecordItemRelVH.ChangeRecordType
// and (
// $projection.ChangeRecordReferenceType = _ChangeRecordItemRelVH.ChangeRecordReferenceType
// or _ChangeRecordItemRelVH.ChangeRecordReferenceType = ' '
// )
association [1..1] to I_ChgRecdRefRoutingVersion as _ChgRecdRefRouting on $projection.ChangeRecordUUID = _ChgRecdRefRouting.ChangeRecordUUID
and $projection.ManufacturingOrder = _ChgRecdRefRouting.OrderID
association [1..1] to C_ChgRecordItemProcgStatusVH as _ProcessingStatusVH on $projection.ChangeRecordItemProcgStatus = _ProcessingStatusVH.ChgRecdNextItemProcgStatus
and $projection.ChgRecdCurrentItemProcgStatus = _ProcessingStatusVH.ChgRecdCurrentItemProcgStatus
and $projection.ChangeRecordLifecycleStatus = _ProcessingStatusVH.ChangeRecordLifecycleStatus
association [0..*] to I_ChgRecdItemProcgStatusText as _ProcessingStatusTxt on $projection.ChangeRecordItemProcgStatus = _ProcessingStatusTxt.ChangeRecordItemProcgStatus
association [0..*] to C_ChangeRecdDigSignStatusVH as _DigSignStatusText on $projection.ChgRecdItmDSgntr = _DigSignStatusText.ChgRecdDigitalSignatureStatus
{
@UI.hidden: true
key ChangeRecordReferenceUUID,
//--[ GENERATED:011:GFBfhyK17jY4go}ornL5e0
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_MfgOrderStdVH',
element: 'ManufacturingOrder' }
}]
// ]--GENERATED
@UI.lineItem:[{
position:10,
// label: 'Production Order Number',
importance:#HIGH }
]
@UI.identification: {position: 10, importance: #HIGH}
@ObjectModel.foreignKey.association: '_ManufacturingOrderVH'
ChangeRecordReferencePPOTP.ManufacturingOrder,
@ObjectModel.readOnly: true
@ObjectModel.text.association: '_ManufacturingOrderTypeTxt'
@ObjectModel.text.control: #ASSOCIATED_TEXT_UI_HIDDEN
@UI.identification: {position: 105, importance: #MEDIUM}
_ManufacturingOrderVH.ManufacturingOrderType,
@UI.hidden: true
ChangeRecordUUID,
@UI.hidden: true
@ObjectModel.readOnly: true
@ObjectModel.foreignKey.association: '_ChangeRecordItemRelVH'
_ChangeRecordObjPg.ChangeRecordType as ChangeRecordType,
@UI.hidden: true
ChangeRecordReferenceType,
@UI.hidden: true
ParentChangeRecordRefUUID,
@UI.lineItem:[{
position:30,
importance:#HIGH }
]
@UI.identification: {position:50, importance: #HIGH}
@ObjectModel.foreignKey.association: '_ChangeRecordItemRelVH'
@Consumption.valueHelp: '_ChangeRecordItemRelVH'
@ObjectModel.mandatory: true
@UI.textArrangement: #TEXT_ONLY
ChangeRecordItemRelevance,
@ObjectModel.readOnly: true
@UI.identification: {position:60, importance: #MEDIUM}
_ChgRecdRefRouting.OrderID as OrderID,
@UI.hidden: true
@ObjectModel.readOnly: true
_ChgRecdRefRouting.BillOfOperationsGroup,
@UI.hidden: true
@ObjectModel.readOnly: true
_ChgRecdRefRouting.BillOfOperationsType,
@UI.hidden: true
@ObjectModel.readOnly: true
_ChgRecdRefRouting.BillOfOperationsVariant,
@UI.hidden: true
@ObjectModel.readOnly: true
_ChgRecdRefRouting.BillOfOperationsVersion,
@UI.hidden: true
ChangeRecordReference,
@Semantics.user.createdBy: true
@UI.identification: {position: 110, importance: #MEDIUM}
CreatedByUser,
@UI.hidden: true
CreationDateTime,
@ObjectModel.virtualElement : true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_CR_CREATIONDATE_CONVERT'
@ObjectModel.readOnly: true
@UI.identification: {position: 115, importance: #MEDIUM}
cast( '00000000' as /plmb/created_on ) as CreationDate,
@Semantics.user.lastChangedBy: true
@UI.identification: {position: 120, importance: #MEDIUM}
LastChangedByUser,
@UI.hidden: true
LastChangeDateTime,
@ObjectModel.virtualElement : true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_CR_CHANGEDATE_CONVERT'
@ObjectModel.readOnly: true
@UI.identification: {position: 125, importance: #MEDIUM}
cast( '00000000' as /plmb/changed_on ) as LastChangeDate,
@UI.hidden: true
ChangeRecordReferencePPOTP.ProductionPlant,
--Production Order Status
@UI.lineItem:[{
position:25,
importance:#MEDIUM }
]
@ObjectModel.readOnly: true
@Semantics.text: true
-- For performance reading when accessing JEST, this is done as virtual element
@ObjectModel: { virtualElement: true, virtualElementCalculatedBy: 'ABAP:CL_MPE_MAIN_STATUS_NAME' }
@UI.identification: {position: 130, importance: #MEDIUM}
cast( '' as j_txt30 ) as OrderMainStatusName,
@UI.hidden:true
@ObjectModel.readOnly: true
@ObjectModel: { virtualElement: true, virtualElementCalculatedBy: 'ABAP:CL_MPE_MAIN_STATUS_NAME' }
cast( '' as j_istat ) as OrderMainStatusCode,
--Material and Material Text
@UI.hidden: true
@ObjectModel.readOnly: true
_ManufacturingOrderVH.Material,
@UI.hidden: true
@ObjectModel.readOnly: true
_ManufacturingOrderVH._Material._Text[1: Language=$session.system_language].MaterialName as MaterialDescription,
--Order Change Status Text
@ObjectModel.readOnly: true
@UI.lineItem:[{
position:40,
importance:#MEDIUM }
]
@UI.identification: {position: 135, importance: #MEDIUM}
cast(_ManufacturingOrderVH._ProdnOrdChgStsTxt[1: Language=$session.system_language].OrderChangeStatusText as mpe_mec_ord_change_status_text) as OrderChangeStatusText,
--Routing Status(Processing Status)
@UI.hidden: true
@ObjectModel.readOnly: true
_ChgRecdRefRouting._BOOVersion.BillOfOperationsVersionStatus,
@ObjectModel.readOnly:true
@UI.hidden: true
_ChangeRecordObjPg.ChgRecdItemProcgStatusIsEnbld,
@UI.hidden: true
@ObjectModel.readOnly: true
_ChangeRecordObjPg.ChangeRecordLifecycleStatus as ChangeRecordLifecycleStatus,
// @UI.hidden: true
// @ObjectModel.readOnly: true
// _ChangeRecordObjPg.ChangeRecordStatus,
@UI.lineItem:[ {position: 70, importance:#MEDIUM } ]
@UI.identification: [{position: 70, importance: #MEDIUM }]
@EndUserText.label: 'Processing Status'
@Consumption.valueHelpDefinition: [{association: '_ProcessingStatusVH'}]
@ObjectModel.foreignKey.association: '_ProcessingStatusVH'
@UI.textArrangement: #TEXT_FIRST
ChangeRecordItemProcgStatus,
@UI.hidden: true
@ObjectModel.readOnly: true
ChgRecdCurrentItemProcgStatus,
// @UI.hidden: true
// @ObjectModel.readOnly: true
// _ChangeRecordObjPg.ChangeRecordItemIsNotEditable,
// @UI.hidden: true
// @ObjectModel.readOnly: true
// _ChangeRecordObjPg.ChangeRecordItmIsAddDelEnabled,
@UI.hidden: true
@UI.lineItem:[{importance:#MEDIUM, hidden: true } ]
@EndUserText.label: 'Digital Signature Status'
@ObjectModel.foreignKey.association: '_DigSignStatusText'
@Consumption: { valueHelp: '_DigSignStatusText' }
ChgRecdItmDSgntr,
@UI.lineItem:[{
hidden: true,
importance:#LOW }
]
@UI.hidden: true
@ObjectModel.readOnly: true
@ObjectModel.virtualElement : true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_CR_I_DSGNTR_ENABLE'
cast( '' as boolean) as DigitalSignUserIsAuthorized,
@ObjectModel.readOnly: true
@UI.identification: [{importance: #LOW, position: 90 }]
@EndUserText.label: 'Digital Signature Status'
_DigSignStatusText.ChgRecdDigSignStatusTxt as ChgRecdDigSignStatusTxt,
@UI.lineItem:[{
hidden: true,
importance:#LOW }
]
@UI.hidden: true
@ObjectModel.readOnly: true
@ObjectModel.virtualElement : true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_CR_I_DSGNTR_ENABLE'
cast( '' as boolean) as ChgRecdObjDgtlSgntrEnable,
@UI.identification: {position: 140, importance: #MEDIUM}
ChgRecdReasonForChange,
@UI.identification: {position: 145, importance: #MEDIUM}
ExpdCompltnDte,
@UI.identification: {position: 150, importance: #MEDIUM}
@Consumption.valueHelpDefinition: [{ entity : { name : 'C_ChangeRecdAuthznGrpVH' , element: 'ChgRecdNmbrAuthznGrp'}}]
ChgRecdAuthznGrpText,
@UI.identification: {position: 155, importance: #MEDIUM}
@Consumption.valueHelpDefinition: [{ entity : { name : 'C_ChgRecdChgNmbrStatusVH' , element: 'ChgRecdNmbrChgSts'}}]
ChgRecdNmbrChgSts,
@UI.lineItem:[{position:100,importance:#MEDIUM }]
@UI.identification: {position: 100, importance: #MEDIUM}
@ObjectModel.readOnly: true
@Consumption.semanticObject: 'ChangeMaster'
ChangeNumber,
@ObjectModel.association.type: [ #TO_COMPOSITION_ROOT,#TO_COMPOSITION_PARENT ]
_ChangeRecordObjPg,
_ChangeRecordItemRelVH,
_ManufacturingOrderTypeTxt,
_ManufacturingOrderVH,
_ProcessingStatusVH,
_ProcessingStatusTxt,
_DigSignStatusText
}