@AbapCatalog.sqlViewName: 'CCHGRECREFRCP1'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Change Record Reference Obj Page Recipe'
@AccessControl.personalData.blocking: #NOT_REQUIRED
@VDM.viewType: #CONSUMPTION
@AbapCatalog.preserveKey:true
@ObjectModel: {
semanticKey: ['Recipe' , 'RecipePrimaryOutput'],
createEnabled: true,
deleteEnabled: 'EXTERNAL_CALCULATION',
updateEnabled,
transactionalProcessingDelegated: true
}
@UI.headerInfo:{
typeName: 'Recipe',
typeNamePlural: 'Recipes',
imageUrl: 'ChangeRecordRefObjIcon',
title:{value:'RecipeDescription'}
}
@ObjectModel.usageType: {serviceQuality: #C,
dataClass: #MIXED,
sizeCategory: #L}
@ClientHandling.algorithm: #SESSION_VARIABLE
@UI.presentationVariant.requestAtLeast: ['ChangeRecordType', 'ChangeRecordLifecycleStatus','ChangeRecordReferenceType', '_Recipe.RecipeUUID', 'ChangeRecordReferenceUUID', 'Recipe' ]
define view C_ChangeRecordObjPgRecipe
as select from I_ChgRecdRefRecipeTP as ChangeRecordReferenceRCPTP
association [1..1] to I_Recipe as _Recipe on $projection.ChangeRecordRefObjectUUID = _Recipe.RecipeUUID
association [1..1] to C_ChangeRecordObjPg as _ChangeRecordObjPg on $projection.ChangeRecordUUID = _ChangeRecordObjPg.ChangeRecordUUID
association [0..*] to I_SpecIdentifier as _Identifier on $projection.RecipePrimaryOutputInternalID = _Identifier.SpecificationInternalID
association [0..*] to I_RecipeTypeText as _RecipeTypeText on $projection.recipetype = _RecipeTypeText.RecipeType
association [1..1] to I_RecipeVH as _RecipeVH on $projection.RecipePrimaryOutput = _RecipeVH.RecipePrimaryOutput
and $projection.RecipeAlternativeNumber = _RecipeVH.RecipeAlternativeNumber
and $projection.RecipeVersionNumber = _RecipeVH.RecipeVersionNumber
association [1..1] to C_ChangeRecordItemRelRecipeVH as _ChangeRecordItemRelVH on $projection.ChangeRecordItemRelevance = _ChangeRecordItemRelVH.ChangeRecordItemRelevance
and $projection.ChangeRecordType = _ChangeRecordItemRelVH.ChangeRecordType
// and (
// $projection.ChangeRecordReferenceType = _ChangeRecordItemRelVH.ChangeRecordReferenceType
// or _ChangeRecordItemRelVH.ChangeRecordReferenceType = ' '
// )
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 I_ChangeRecordRefObjIcons as _ChangeRecordRefObjIcons on $projection.ChangeRecordUUID = _ChangeRecordRefObjIcons.ChangeRecordUUID
and $projection.ChangeRecordReferenceType = _ChangeRecordRefObjIcons.ChangeRecordReferenceType
association [0..*] to C_ChangeRecdDigSignStatusVH as _DigSignStatusText on $projection.ChgRecdItmDSgntr = _DigSignStatusText.ChgRecdDigitalSignatureStatus
{
@UI.hidden: true
@ObjectModel.readOnly: true
key ChangeRecordReferenceUUID,
@UI.hidden: true
@UI.lineItem:[
{ position:5,
importance:#HIGH }
]
@UI.identification: {position: 5, importance: #HIGH}
@Semantics.imageUrl: true
@ObjectModel.readOnly: true
@EndUserText.label: 'Icon'
_ChangeRecordRefObjIcons[ChangeRecordType = ChangeRecordType].ChangeRecordRefObjIcon as ChangeRecordRefObjIcon,
@UI.hidden: true
@ObjectModel.readOnly: true
_ChangeRecordObjPg.ChangeRecordType as ChangeRecordType,
@UI.hidden: true
@ObjectModel.readOnly: true
_Recipe._RecipeDescription[1:Language = $session.system_language].RecipeDescription as RecipeDescription,
@UI.lineItem:[{
position:20,
label: 'Recipe',
importance:#HIGH }
]
@UI.identification: {position: 30, importance: #HIGH}
@ObjectModel.mandatory: true
@Consumption.valueHelp: '_RecipeVH'
@ObjectModel.text.element: [ 'RecipeDescription' ]
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
ChangeRecordReferenceRCPTP.RecipePrimaryOutput,
@UI.hidden: true
ChangeRecordReferenceRCPTP.Recipe as Recipe,
@UI.hidden: true
ChangeRecordReferenceRCPTP.RecipePrimaryOutputInternalID,
@UI.hidden: true
@ObjectModel.readOnly: true
_Identifier[1:SpecIdfgDescLanguage = $session.system_language].SpecIdfgDescText as SpecIdfgDescText,
@UI.lineItem:[{
position:50,
label: 'Recipe Alternative No.',
importance:#HIGH }
]
@UI.identification: {position: 50, importance: #HIGH}
@ObjectModel.mandatory: true
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
ChangeRecordReferenceRCPTP.RecipeAlternativeNumber,
@UI.lineItem:[{
position:60,
label: 'Recipe Version No.',
importance:#MEDIUM }
]
@UI.identification: {position: 60, importance: #MEDIUM}
@ObjectModel.mandatory: true
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
ChangeRecordReferenceRCPTP.RecipeVersionNumber,
@ObjectModel.readOnly: true
@UI.lineItem:[{
position:70,
label: 'Recipe Type',
importance:#MEDIUM }
]
@UI.identification: {position: 70, importance: #MEDIUM}
@ObjectModel.text.association: '_RecipeTypeText'
_Recipe.RecipeType,
@UI.hidden: true
_RecipeTypeText,
@ObjectModel.readOnly: true
@UI.lineItem:[{
position:80,
label: 'Plant',
importance:#MEDIUM }
]
@UI.identification: {position: 80, importance: #MEDIUM}
_Recipe._Plant.Plant,
@ObjectModel.readOnly: true
@UI.lineItem:[{
position:90,
label: 'Status',
importance:#MEDIUM }
]
@UI.identification: {position: 90, importance: #MEDIUM}
_Recipe.RecipeStatus,
@ObjectModel.readOnly: true
@UI.lineItem:[{
position:100,
label: 'Valid From',
importance:#MEDIUM }
]
@UI.identification: {position: 100, importance: #MEDIUM}
_Recipe.RecipeValidityStartDate,
@ObjectModel.readOnly: true
@UI.lineItem:[{
position:110,
label: 'Valid To',
importance:#MEDIUM }
]
@UI.identification: {position: 110, importance: #MEDIUM}
_Recipe.RecipeValidityEndDate,
@UI.lineItem:[{
position:120,
label: 'Relevance',
importance:#MEDIUM }
]
@UI.identification: {position: 120, importance: #MEDIUM}
@ObjectModel.mandatory: true
@ObjectModel.foreignKey.association: '_ChangeRecordItemRelVH'
@Consumption.valueHelp: '_ChangeRecordItemRelVH'
@UI.textArrangement: #TEXT_ONLY
ChangeRecordItemRelevance,
@UI.lineItem:[ {position: 45, 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,
@ObjectModel.readOnly:true
@UI.hidden: true
_ChangeRecordObjPg.ChgRecdItemProcgStatusIsEnbld,
@UI.hidden: true
_ChangeRecordObjPg.ChangeRecordLifecycleStatus as ChangeRecordLifecycleStatus,
@UI.hidden: true
@ObjectModel.readOnly: true
_ChangeRecordObjPg.ChangeRecordItemIsNotEditable,
@UI.hidden: true
@ObjectModel.readOnly: true
_ChangeRecordObjPg.ChangeRecordItmIsAddDelEnabled,
@UI.hidden: true
@ObjectModel.readOnly: true
_ChangeRecordObjPg.ChangeRecordStatus,
// @UI.hidden: true
// @ObjectModel.readOnly: true
// _ChangeRecordObjPg.ChangeRecordType,
@UI.hidden: true
ChangeRecordUUID,
@UI.hidden: true
ChangeRecordReferenceType,
@UI.hidden: true
ParentChangeRecordRefUUID,
@UI.hidden: true
ChangeRecordReference,
@Semantics.user.createdBy: true
@ObjectModel.readOnly: true
@UI.identification: [{importance: #LOW, position: 135 }]
CreatedByUser,
@UI.hidden: true
CreationDateTime,
@ObjectModel.virtualElement : true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_CR_CREATIONDATE_CONVERT'
@ObjectModel.readOnly: true
@UI.identification: [{importance: #LOW, position: 140 }]
cast( '00000000' as /plmb/created_on ) as CreationDate,
@Semantics.user.lastChangedBy: true
@ObjectModel.readOnly: true
@UI.identification: [{importance: #LOW, position: 150 }]
LastChangedByUser,
@UI.hidden: true
LastChangeDateTime,
@ObjectModel.virtualElement : true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_CR_CHANGEDATE_CONVERT'
@ObjectModel.readOnly: true
@UI.identification: [{importance: #LOW, position: 155 }]
cast( '00000000' as /plmb/changed_on ) as LastChangeDate,
@UI.hidden: true
ChangeRecordRefObjectUUID,
@UI.hidden: true
@UI.lineItem:[{importance:#HIGH, 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: 130 }]
@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: [{importance: #LOW, position: 160 }]
ChgRecdReasonForChange,
@UI.identification: [{importance: #LOW, position: 165 }]
ExpdCompltnDte,
@UI.identification: [{importance: #LOW, position: 170 }]
@Consumption.valueHelpDefinition: [{ entity : { name : 'C_ChangeRecdAuthznGrpVH' , element: 'ChgRecdNmbrAuthznGrp'}}]
ChgRecdAuthznGrpText,
@UI.identification: [{importance: #LOW, position: 175 }]
@Consumption.valueHelpDefinition: [{ entity : { name : 'C_ChgRecdChgNmbrStatusVH' , element: 'ChgRecdNmbrChgSts'}}]
ChgRecdNmbrChgSts,
@UI.lineItem:[{position:130,importance:#HIGH }]
@UI.identification: {position: 130, importance: #HIGH}
@ObjectModel.readOnly: true
@Consumption.semanticObject: 'ChangeMaster'
ChangeNumber,
@ObjectModel.association.type: [ #TO_COMPOSITION_ROOT,#TO_COMPOSITION_PARENT ]
_ChangeRecordObjPg,
_Recipe,
_RecipeVH,
_ChangeRecordItemRelVH,
_ProcessingStatusVH,
_ProcessingStatusTxt,
_DigSignStatusText
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"C_CHANGERECDDIGSIGNSTATUSVH",
"C_CHANGERECORDOBJPG",
"I_CHANGERECORDREFOBJICONS",
"I_CHGRECDREFRECIPETP",
"I_RECIPE",
"I_RECIPEASSGDPLANT",
"I_RECIPETEXT",
"I_SPECIDENTIFIER"
],
"ASSOCIATED":
[
"C_CHANGERECDDIGSIGNSTATUSVH",
"C_CHANGERECORDITEMRELRECIPEVH",
"C_CHANGERECORDOBJPG",
"C_CHGRECORDITEMPROCGSTATUSVH",
"I_CHANGERECORDREFOBJICONS",
"I_CHGRECDITEMPROCGSTATUSTEXT",
"I_RECIPE",
"I_RECIPETYPETEXT",
"I_RECIPEVH",
"I_SPECIDENTIFIER"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/