@AbapCatalog.sqlViewName: 'ICHGRECD_DRAFTTP'
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #NOT_REQUIRED
@EndUserText.label: 'Change Record (Draft 2.0)'
@Search.searchable: true
@VDM.viewType: #TRANSACTIONAL
@ObjectModel: { semanticKey: ['ChangeRecord'],
transactionalProcessingEnabled: true,
compositionRoot: true,
draftEnabled: true,
writeDraftPersistence: 'PLMCHGRECD_D',
entityChangeStateId: 'LastChangeDateTime',
createEnabled: 'EXTERNAL_CALCULATION',
deleteEnabled: 'EXTERNAL_CALCULATION',
updateEnabled: 'EXTERNAL_CALCULATION'
}
@ObjectModel.usageType: {serviceQuality: #C,
dataClass: #MIXED,
sizeCategory: #L}
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.preserveKey:true //add
define view I_ChangeRecordDraftTP
as select from I_ChangeRecordBsc as ChangeRecordBsc
association [1..1] to I_ChangeRecordType as _ChangeRecordCategory on _ChangeRecordCategory.ChangeRecordType = $projection.ChangeRecordType
association [0..*] to I_ChangeRecordReferenceMatTP as _ChangeRecordReferenceMatTP on _ChangeRecordReferenceMatTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChangeRecordReferenceBOMTP as _ChangeRecordReferenceBOMTP on _ChangeRecordReferenceBOMTP.ChangeRecordUUID = $projection.ChangeRecordUUID
//association [0..*] to I_ChangeRecordObjectLinkTP as _ChangeRecordObjectLinkTP on _ChangeRecordObjectLinkTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChangeRecordRefBOMItmTP as _ChangeRecordRefBOMItmTP on _ChangeRecordRefBOMItmTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChgRecdRefPlngScpTP as _ChgRecdRefPlngScpTP on _ChgRecdRefPlngScpTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChgRecdRefEngBOMTP as _ChgRecdRefEngBOMTP on _ChgRecdRefEngBOMTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChgRecdRefMfgBOMTP as _ChgRecdRefMfgBOMTP on _ChgRecdRefMfgBOMTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChgRecdRefProdnOrdTP as _ChgRecdRefProdnOrdTP on _ChgRecdRefProdnOrdTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChgRecdRefPurOrdTP as _ChgRecdRefPurOrdTP on _ChgRecdRefPurOrdTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChgRecdRefRoutingTP as _ChgRecdRefRoutingTP on _ChgRecdRefRoutingTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChgRecdRefOrdSpcfcRoutingTP as _ChgRecdRefOrdSpcfcRoutingTP on _ChgRecdRefOrdSpcfcRoutingTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChangeRecordReferenceDOCTP as _ChangeRecordReferenceDocTP on _ChangeRecordReferenceDocTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChgRecdRefProdStrucVarTP as _ChgRecdRefProdStrucVarTP on _ChgRecdRefProdStrucVarTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChangeRecordReferenceSpecTP as _ChangeRecordReferenceSpecTP on _ChangeRecordReferenceSpecTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChgRecdRefEngSnpshtTP as _ChgRecdRefEngSnpshtTP on _ChgRecdRefEngSnpshtTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..1] to I_ChangeRecordAccCtrlContext as _LogAccMContext on _LogAccMContext.LogAccMContextInternalId = $projection.LogAccMSecureIDOwnerID
association [0..*] to I_ChgRecdRefMasterRecipeTP as _ChgRecdRefMasterRecipeTP on _ChgRecdRefMasterRecipeTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChgRecdRefInspectionPlanTP as _ChgRecdRefInspectionPlanTP on _ChgRecdRefInspectionPlanTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChgRecdRefRecipeTP as _ChgRecdRefRecipeTP on _ChgRecdRefRecipeTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChgRecdRefLabelTP as _ChgRecdRefLabelTP on _ChgRecdRefLabelTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChgRecdRefProdnRoutingTP as _ChgRecdRefProdnRoutingTP on _ChgRecdRefProdnRoutingTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChgRecdRefPlngRoutingTP as _ChgRecdRefPlngRoutingTP on _ChgRecdRefPlngRoutingTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChgRecdRefTmplRoutingTP as _ChgRecdRefTmplRoutingTP on _ChgRecdRefTmplRoutingTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..1] to E_ChangeRecordBsc as _HeaderExtension on $projection.ChangeRecordUUID = _HeaderExtension.ChangeRecordUUID
association [0..1] to I_UserContactCard as _CreatedByUserContactCard on $projection.CreatedByUser = _CreatedByUserContactCard.ContactCardID
association [0..1] to I_UserContactCard as _LastChangedByUserContactCard on $projection.LastChangedByUser = _LastChangedByUserContactCard.ContactCardID
association [0..*] to I_ChgRecdCmntTopTP as _ChgRecdCmntTopTP on _ChgRecdCmntTopTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChgRecdObjRefCmntTopTP as _ChgRecdObjRefCmntTopTP on _ChgRecdObjRefCmntTopTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChgRecdChildTP as _ChgRecdChildTP on _ChgRecdChildTP.ParentChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChangeRecordRefOrderBOMTP as _ChangeRecordRefOrderBOMTP on _ChangeRecordRefOrderBOMTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChangeRecordRefCharcTP as _ChangeRecordRefCharcTP on _ChangeRecordRefCharcTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChangeRecordRefClassTP as _ChangeRecordRefClassTP on _ChangeRecordRefClassTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChgRecdRefMaintTskListTP as _ChgRecdRefMaintTskListTP on _ChgRecdRefMaintTskListTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChangeRecordRefStdBOMTP as _ChangeRecordRefStdBOMTP on _ChangeRecordRefStdBOMTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChgRecdRefEquipTskListTP as _ChgRecdRefEquipTskListTP on _ChgRecdRefEquipTskListTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChangeRecordRefWBSElmntBOMTP as _ChangeRecordRefWBSElmntBOMTP on _ChangeRecordRefWBSElmntBOMTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChgRecdRefEquipBOMTP as _ChgRecdRefEquipBOMTP on _ChgRecdRefEquipBOMTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChgRecdRefRateRtgTskListTP as _ChgRecdRefRateRtgTskListTP on _ChgRecdRefRateRtgTskListTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChgRecdRateRtgTskListTP as _ChgRecdRateRtgTskListTP on _ChgRecdRateRtgTskListTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChgRecdRefCutPlngPrflTP as _ChgRecdRefCutPlngPrflTP on _ChgRecdRefCutPlngPrflTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChgRecdRefOpSetTskListTP as _ChgRecdRefOpSetTskListTP on _ChgRecdRefOpSetTskListTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChgRecdRefFuncLocBOMTP as _ChgRecdRefFuncLocBOMTP on _ChgRecdRefFuncLocBOMTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChgRecdFuncLocTskListTP as _ChgRecdFuncLocTskListTP on _ChgRecdFuncLocTskListTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChgRecdRefVarBOMTP as _ChgRecdRefVarBOMTP on _ChgRecdRefVarBOMTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChgRecdRefMfgSnpshtTP as _ChgRecdRefMfgSnpshtTP on _ChgRecdRefMfgSnpshtTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChgRecdRefETOVersBOMTP as _ChgRecdRefETOVersBOMTP on _ChgRecdRefETOVersBOMTP.ChangeRecordUUID = $projection.ChangeRecordUUID
association [0..*] to I_ChgRecdRefDefectTP as _ChgRecdRefDefectTP on _ChgRecdRefDefectTP.ChangeRecordUUID = $projection.ChangeRecordUUID
{
key ChangeRecordBsc.ChangeRecordUUID,
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.9
@Search.ranking: #HIGH
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
ChangeRecord,
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
ChangeRecordType,
ParentChangeRecordUUID,
RootChangeRecordUUID,
ChangeRecordPriority,
ChangeRecordStatus,
//for ACM
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
//AccessControlContext,
cast( _LogAccMContext.LogAccMContext as /plmb/auth_owning_acc_id_ext preserving type) as AccessControlContext,
//_LogAccMContext.LogAccMContext as AccessControlContext,
@UI.hidden: true
ChangeRecordBsc.LogAccMSecureIDOwnerID as LogAccMSecureIDOwnerID,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
ChangeNumber,
@Semantics.user.createdBy: true
@ObjectModel.readOnly: true
@ObjectModel.foreignKey.association: '_CreatedByUserContactCard'
CreatedByUser,
_CreatedByUserContactCard,
@ObjectModel.readOnly: true
CreationDateTime,
@Semantics.user.lastChangedBy: true
@ObjectModel.readOnly: true
@ObjectModel.foreignKey.association: '_LastChangedByUserContactCard'
LastChangedByUser,
_LastChangedByUserContactCard,
@ObjectModel.readOnly: true
LastChangeDateTime,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
Partner,
ChangeRecordLifecycleStatus,
@ObjectModel.readOnly: true
ChgRecdDigitalSignatureStatus,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
ChgRecordDescriptionText,
ChgRecdAuthGroup,
//ChgRecdStatusProfile,
ChgRecdPrflIdn,
ChgRecdReasonForChange,
ChgRecdChangeStatus,
@ObjectModel.readOnly: true
ChgRecdExpectedCompletionDate,
ChangeRecordDetailDescription,
ChgRecdHdrExtnUUID,
@ObjectModel.readOnly:true
ChgRecdInitiatedStatusAction,
@ObjectModel.enabled: 'EXTERNAL_CALCULATION'
ChgRecdEngEffectiveDate,
@ObjectModel.enabled: 'EXTERNAL_CALCULATION'
ChgRecdMfgEffectiveDate,
ChangeRecordItemIsNotEditable,
ChangeRecordItmIsAddDelEnabled,
ChangeRecordItemEditMode,
//@feature: '/PLMI/CR_FM_ACM'
ChangeRecordBsc._LogAccMObjectTypeActive,
//@feature: '/PLMI/CR_FM_ACM'
ChangeRecordBsc._LogAccMObjectUserAuthzn,
//@feature: '/PLMI/CR_FM_ACM'
ChangeRecordBsc._LogAccMObjSecureIDAssgmt,
//
// @ObjectModel.readOnly: true
// _ChangeRecordCategory.ChangeRecordCategory,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChangeRecordReferenceMatTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChangeRecordReferenceBOMTP,
// @ObjectModel.association.type: #TO_COMPOSITION_CHILD
//_ChangeRecordObjectLinkTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChangeRecordRefBOMItmTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChgRecdRefPlngScpTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChgRecdRefEngBOMTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChgRecdRefMfgBOMTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChgRecdRefProdnOrdTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChgRecdRefPurOrdTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChgRecdRefRoutingTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChgRecdRefProdnRoutingTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChgRecdRefOrdSpcfcRoutingTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChangeRecordReferenceDocTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChgRecdRefProdStrucVarTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChangeRecordReferenceSpecTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChgRecdRefEngSnpshtTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChgRecdRefMasterRecipeTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChgRecdRefRecipeTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChgRecdRefLabelTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChgRecdRefInspectionPlanTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChgRecdRefPlngRoutingTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChgRecdRefTmplRoutingTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChgRecdCmntTopTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChgRecdObjRefCmntTopTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChgRecdChildTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChangeRecordRefOrderBOMTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChangeRecordRefCharcTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChangeRecordRefClassTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChgRecdRefMaintTskListTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChangeRecordRefStdBOMTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChgRecdRefEquipTskListTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChangeRecordRefWBSElmntBOMTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChgRecdRefEquipBOMTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChgRecdRefFuncLocBOMTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChgRecdRefRateRtgTskListTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChgRecdRateRtgTskListTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChgRecdRefCutPlngPrflTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChgRecdRefOpSetTskListTP,
@ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
_ChgRecdFuncLocTskListTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChgRecdRefVarBOMTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChgRecdRefMfgSnpshtTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChgRecdRefETOVersBOMTP,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ChgRecdRefDefectTP,
_ChangeRecordCategory
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CHANGERECORDACCCTRLCONTEXT",
"I_CHANGERECORDBSC"
],
"ASSOCIATED":
[
"E_CHANGERECORDBSC",
"I_CHANGERECORDACCCTRLCONTEXT",
"I_CHANGERECORDREFBOMITMTP",
"I_CHANGERECORDREFCHARCTP",
"I_CHANGERECORDREFCLASSTP",
"I_CHANGERECORDREFERENCEBOMTP",
"I_CHANGERECORDREFERENCEDOCTP",
"I_CHANGERECORDREFERENCEMATTP",
"I_CHANGERECORDREFERENCESPECTP",
"I_CHANGERECORDREFORDERBOMTP",
"I_CHANGERECORDREFSTDBOMTP",
"I_CHANGERECORDREFWBSELMNTBOMTP",
"I_CHANGERECORDTYPE",
"I_CHGRECDCHILDTP",
"I_CHGRECDCMNTTOPTP",
"I_CHGRECDFUNCLOCTSKLISTTP",
"I_CHGRECDOBJREFCMNTTOPTP",
"I_CHGRECDRATERTGTSKLISTTP",
"I_CHGRECDREFCUTPLNGPRFLTP",
"I_CHGRECDREFDEFECTTP",
"I_CHGRECDREFENGBOMTP",
"I_CHGRECDREFENGSNPSHTTP",
"I_CHGRECDREFEQUIPBOMTP",
"I_CHGRECDREFEQUIPTSKLISTTP",
"I_CHGRECDREFETOVERSBOMTP",
"I_CHGRECDREFFUNCLOCBOMTP",
"I_CHGRECDREFINSPECTIONPLANTP",
"I_CHGRECDREFLABELTP",
"I_CHGRECDREFMAINTTSKLISTTP",
"I_CHGRECDREFMASTERRECIPETP",
"I_CHGRECDREFMFGBOMTP",
"I_CHGRECDREFMFGSNPSHTTP",
"I_CHGRECDREFOPSETTSKLISTTP",
"I_CHGRECDREFORDSPCFCROUTINGTP",
"I_CHGRECDREFPLNGROUTINGTP",
"I_CHGRECDREFPLNGSCPTP",
"I_CHGRECDREFPRODNORDTP",
"I_CHGRECDREFPRODNROUTINGTP",
"I_CHGRECDREFPRODSTRUCVARTP",
"I_CHGRECDREFPURORDTP",
"I_CHGRECDREFRATERTGTSKLISTTP",
"I_CHGRECDREFRECIPETP",
"I_CHGRECDREFROUTINGTP",
"I_CHGRECDREFTMPLROUTINGTP",
"I_CHGRECDREFVARBOMTP",
"I_LOGACCMOBJECTTYPEACTIVE",
"I_LOGACCMOBJECTUSERAUTHZN",
"I_LOGACCMOBJSECUREIDASSGMT",
"I_USERCONTACTCARD"
],
"BASE":
[
"I_CHANGERECORDBSC"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/