R_WORKPERMITTP
Work Permit
R_WORKPERMITTP is a CDS View in S/4HANA. Work Permit. 2 CDS views read from this table.
CDS Views using this table (2)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| A_WorkPermit | view_entity | projection | CONSUMPTION | WorkPermit |
| C_WorkPermitTP | view_entity | projection | CONSUMPTION | Work Permit |
@AccessControl.authorizationCheck:#MANDATORY
@EndUserText.label: 'Work Permit'
@VDM.viewType: #TRANSACTIONAL
@VDM.lifecycle.contract.type: #SAP_INTERNAL_API
@VDM.usage.type: [#TRANSACTIONAL_PROCESSING_SERVICE]
@ObjectModel.usageType: { dataClass: #TRANSACTIONAL, sizeCategory: #L, serviceQuality: #C }
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.sapObjectNodeType.name: 'WorkPermit'
define root view entity R_WorkPermitTP
as select from I_WorkPermit
composition [*] of R_WorkPermitNatureOfWorkTP as _PermitNatureOfWork
composition [*] of R_WorkPermitSafetyPrecautionTP as _PermitSftyPrecaution
composition [*] of R_WrkPmtPrsnlPrtcvEquipmentTP as _PermitProtEquip
composition [*] of R_WorkPermitOrderOperationTP as _WorkPermitOrderOperation
composition [*] of R_WorkPermitOrderTP as _WorkPermitOrder
composition [*] of R_WorkPermitTechnicalObjectTP as _TechnicalObject
composition [*] of R_WorkPermitPartnerTP as _WorkPermitPartner
composition [*] of R_WorkPermitLongTextTP as _WorkPermitLongTxt
composition [*] of R_WorkPermitApprovalTP as _WorkPermitApproval
composition [*] of R_WorkPermitApprovalSegmentTP as _WrkPmtApprvlSgmt
composition [*] of R_WorkPermitIssueHistoryTP as _WorkPermitIssHist
composition [*] of R_WrkPmtSafetyCertificateTP as _WrkPmtSafetyCertificate
composition [*] of R_WrkPmtSftyCertApprovalTP as _WrkPmtSftyCertApproval
association [1..1] to I_WorkPermitBasic as _WorkPermitBasic on _WorkPermitBasic.WorkPermitInternalID = $projection.WorkPermitTmplID
association [*] to I_WorkPermitApprvlSgmt as _WrkPmtApprvlSgmtDet on _WrkPmtApprvlSgmtDet.WorkPermit = $projection.WorkPermit
and _WrkPmtApprvlSgmtDet.WorkPermitInternalID = $projection.WorkPermitInternalID
association [*] to I_WorkPermitStatus as _WorkPermitStatus on _WorkPermitStatus.WorkPermit = $projection.WorkPermit
and _WorkPermitStatus.WorkPermitInternalID = $projection.WorkPermitInternalID
association [1..1] to I_WorkPermitLongText as _WrkPmtLongText on _WrkPmtLongText.WorkPermit = $projection.WorkPermit
and _WrkPmtLongText.Language = $session.system_language
association [1..1] to I_WorkPermitReferenceObject as _WorkPermitReferenceObject on $projection.WorkPermitReferenceObjectType = _WorkPermitReferenceObject.WorkPermitReferenceObjectType
and _WorkPermitReferenceObject.WorkPermitReferenceObjectType <> '10'
association [1..1] to I_WrkPmtReferenceObjectText as _WrkPmtReferenceObjectText on _WrkPmtReferenceObjectText.WorkPermitReferenceObjectType = $projection.WorkPermitProcessingStatus
and _WrkPmtReferenceObjectText.Language = $session.system_language
and _WrkPmtReferenceObjectText.Name = 'PTWDWORKPERMITPROCESSINGSTATUS'
association [0..1] to I_Equipment as _Equipment on $projection.Equipment = _Equipment.Equipment
association [0..*] to I_EquipmentText as _EquipmentText on $projection.Equipment = _EquipmentText.Equipment
association [0..1] to I_FunctionalLocation as _FunctionalLocation on $projection.FunctionalLocation = _FunctionalLocation.FunctionalLocation
association [0..*] to I_FunctionalLocationText as _FunctionalLocationText on $projection.FunctionalLocation = _FunctionalLocationText.FunctionalLocation
association [0..1] to I_FunctionalLocationLabel as _FunctionalLocationLabel on $projection.FunctionalLocation = _FunctionalLocationLabel.FunctionalLocation
association [1..1] to I_TechnicalObject as _TechnicalObjectVH on _TechnicalObjectVH.MaintenancePlanningPlant = $projection.MaintenancePlanningPlant //C_WrkPmtTechnicalObjectVH
and (
// $projection.Equipment = _TechnicalObjectVH.TechnicalObject or
$projection.FunctionalLocation = _TechnicalObjectVH.TechnicalObject
)
association [1..1] to I_TechnicalObject as _TechnicalObjectEquipVH on _TechnicalObjectEquipVH.MaintenancePlanningPlant = $projection.MaintenancePlanningPlant //C_WrkPmtTechnicalObjectVH
and (
$projection.Equipment = _TechnicalObjectEquipVH.TechnicalObject
// $projection.FunctionalLocation = _TechnicalObjectVH.TechnicalObject
)
association [1..1] to I_WorkCenterText as _Text on $projection.OperationWorkCenterInternalID = _Text.WorkCenterInternalID
and $projection.ObjectTypeCode = _Text.WorkCenterTypeCode
and _Text.Language = $session.system_language
association [0..1] to I_TechObjIsEquipOrFuncnlLocT as _TechObjIsEquipOrFuncnlLocT on _TechObjIsEquipOrFuncnlLocT.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc
association [1..1] to I_WorkPermitIssueHistory as _IssueHist on _IssueHist.WorkPermitInternalID = $projection.WorkPermitInternalID
and _IssueHist.WorkPermit = $projection.WorkPermit
and _IssueHist.WorkPermitReturnedTo = ''
-- Extensions, do not expose as association:
association [0..1] to E_WorkPermit as _WorkPermitExtension on _WorkPermitExtension.WorkPermit = $projection.WorkPermit
{
key WorkPermit,
WorkPermitInternalID,
MaintenancePlanningPlant,
cast ('' as wcewapinr ) as WorkPermitExternalNumber,
cast ('' as abap.char(5) ) as ValidationScenarioID,
WrkPmtSftyCertAssgmtCtrlCode,
IsApproved,
WrkPmtIssueHistoryIsAllowed,
WrkPmtOrdOpAssgmtIsAllowed,
WorkPermitType,
WrkPmtMgmtObjSubType,
WrkPermitDesc,
@Semantics.booleanIndicator: true
WorkPermitHasLongText,
@Semantics.booleanIndicator: true
WrkPermitIsDeleted,
MaintenancePlannerGroup,
ObjectTypeCode,
OperationWorkCenterInternalID,
TechObjAuthorizationGroup,
WrkPermitValidFrmDate,
WrkPermitValidFrmTime,
WrkPermitValidToDate,
WrkPermitValidToTime,
WorkPermitTmplID,
FunctionalLocation,
@Semantics.booleanIndicator: true
WrkPermitHasMaintRemark,
@Semantics.booleanIndicator: true
WrkPermitHasOpRemark,
Equipment,
_FunctionalLocationLabel.FunctionalLocationLabelName as FunctionalLocationLabelName,
cast( case when _Equipment.Equipment <> '' then 'EAMS_EQUI'
when _FunctionalLocation.FunctionalLocation <> '' then 'EAMS_FL'
else '' end as eams_tec_obj_type_value ) as TechObjIsEquipOrFuncnlLoc,
cast( case when _Equipment.Equipment <> '' then _Equipment.Equipment
else _FunctionalLocation.FunctionalLocation end as ilom_strno ) as TechnicalObject,
cast( case when _Equipment.Equipment <> '' then ltrim(_Equipment.Equipment,'0')
else case when _FunctionalLocation.FunctionalLocation <> ''
then _FunctionalLocationLabel.FunctionalLocationLabelName
else '' end end as eams_tec_obj preserving type ) as TechnicalObjectLabel,
@Semantics.text: true
cast( case when _Equipment.Equipment <> ''
then _EquipmentText[1:Language = $session.system_language].EquipmentName
else case when _FunctionalLocation.FunctionalLocation <> ''
then _FunctionalLocationText[1:Language = $session.system_language].FunctionalLocationName
else '' end end as eams_tec_obj_des preserving type ) as TechnicalObjectDescription,
case when _Equipment.Equipment <> '' then _TechnicalObjectEquipVH._LocationAccountAssignment.MaintenancePlant
when _FunctionalLocation.FunctionalLocation <> '' then _TechnicalObjectVH._LocationAccountAssignment.MaintenancePlant
end as MaintenancePlant,
case when _Equipment.Equipment <> '' then _TechnicalObjectEquipVH._LocationAccountAssignment._MaintenancePlant.PlantName
when _FunctionalLocation.FunctionalLocation <> '' then _TechnicalObjectVH._LocationAccountAssignment._MaintenancePlant.PlantName
end as PlantName,
case when _Equipment.Equipment <> '' then _TechnicalObjectEquipVH._LocationAccountAssignment.PlantSection
when _FunctionalLocation.FunctionalLocation <> '' then _TechnicalObjectVH._LocationAccountAssignment.PlantSection
end as PlantSection,
case when _Equipment.Equipment <> '' then _TechnicalObjectEquipVH._LocationAccountAssignment.AssetLocation
when _FunctionalLocation.FunctionalLocation <> '' then _TechnicalObjectVH._LocationAccountAssignment.AssetLocation
end as AssetLocation,
case when _Equipment.Equipment <> '' then _TechnicalObjectEquipVH._LocationAccountAssignment.AssetRoom
when _FunctionalLocation.FunctionalLocation <> '' then _TechnicalObjectVH._LocationAccountAssignment.AssetRoom
end as AssetRoom,
case when _Equipment.Equipment <> '' then _TechnicalObjectEquipVH._LocationAccountAssignment._Location.LocationName
when _FunctionalLocation.FunctionalLocation <> '' then _TechnicalObjectVH._LocationAccountAssignment._Location.LocationName
end as LocationName,
@Semantics.text: true
concat_with_space( _TechnicalObjectVH._LocationAccountAssignment._PlantSection.PlantSectionPersonRespName,
_TechnicalObjectVH._LocationAccountAssignment._PlantSection.PlantSectionPersonRespPhone, 1 ) as PlantSectionDesc,
_TechnicalObjectVH._LocationAccountAssignment._MaintenancePlant.PlantName as MaintenancePlantName,
cast( _IssueHist.WorkPermitIssuedTo as eams_person_responsible) as MaintOrdPersonResponsible,
@Semantics.booleanIndicator: true
WrkPermitHasObjectList,
@Semantics.user.createdBy: true
CreatedByUserName,
@ObjectModel.text.element: ['CreatedByUserName']
@ObjectModel.foreignKey.association: '_CreatedByUser'
CreatedByUser,
UserDescription as LastChangedByUserName,
CreationDate,
CreationTime,
@Semantics.systemDateTime.createdAt: true
@Consumption.filter.hidden: true
CreationDateTime,
@ObjectModel.text.element: ['LastChangedByUserName']
@ObjectModel.foreignKey.association: '_LastChangedByUser'
LastChangedByUser,
LastChangeDate,
LastChangeTime,
@Semantics.systemDateTime.lastChangedAt: true
LastChangeDateTime,
@Semantics.booleanIndicator: true
WrkPermitIsLinkdToDoc,
StatusProfile,
// cast('' as ptwereferenceobject ) as WorkPermitReferenceObjectType,
WorkPermitReferenceObjectType,
case when _WorkPermitBasic.WrkPmtMgmtObjSubType = 'M' then _WorkPermitBasic.WorkPermit else ''end as WorkPermitReference,
case when _WorkPermitBasic.WrkPmtMgmtObjSubType = 'P' then _WorkPermitBasic.WorkPermit else ''end as WorkPermitReferenceWorkPermit,
cast(' ' as cv_orig preserving type ) as IsAttachmentsEnabled,
@Semantics.timeZone: true
PlantTimeZone,
ValidFromDateTime,
ValidToDateTime,
cast( case when ValidToDateTime < CurrentDateTime then ''
else 'X' end as flag ) as IsExpired,
_MainWorkCenter.Plant as WorkCenterPlant,
_WorkCenterPlant.PlantName as MainWorkCenterPlantName,
cast( '' as aufnr ) as MaintenanceOrder,
cast (case
when WrkPmtIssueHistoryIsAllowed = ''
then 'X'
else '' end as xfeld ) as IsDisabled,
_IssueHist.UserCommentsText,
_PermitPlanningPlant.PlantName as MaintenancePlanningPlantName,
_MaintenancePlannerGroup.MaintenancePlannerGroupName,
_WorkPermitType.WorkPermitTypeDescription,
_MaintenancePlannerGroup,
_PermitPlanningPlant,
_WrkPmtLongText._LongText.PlainLongText as WorkPermitLongText,
@Semantics.booleanIndicator: true
cast( '' as abap.char(1)) as PrintIsReal,
_WrkPmtLongText.WorkPermitOperationRemarkText,
_WrkPmtLongText.WrkPmtMaintenanceRemarkText,
_WrkPmtLongText.WorkPermitCancellationText,
WorkCenter,
WorkPermitProcessingStatusText,
_Text.WorkCenterText,
_PermitNatureOfWork,
_PermitSftyPrecaution,
_WrkPmtSafetyCertificate,
_PermitProtEquip,
_WorkPermitOrder,
_WorkPermitOrderOperation,
_TechnicalObject,
@Consumption.valueHelp:'_Equipment'
_Equipment,
_EquipmentText,
_FunctionalLocation,
_FunctionalLocationText,
_FunctionalLocationLabel,
_WorkPermitPartner,
_WorkPermitLongTxt,
_WorkPermitApproval,
_WrkPmtApprvlSgmt,
_WorkPermitIssHist,
_WrkPmtSftyCertApproval,
_WorkPermitReferenceObject,
_TechnicalObjectVH,
_TechnicalObjectEquipVH,
_IssueHist,
I_WorkPermit._CreatedByUser,
_LastChangedByUser,
_WorkPermitStatus,
_WrkPmtApprvlSgmtDet,
_WorkPermitBasic,
_TechObjIsEquipOrFuncnlLocT,
@UI.lineItem: [{ position: 60, label: 'System Status' }]
@EndUserText:{ label: 'System Status', quickInfo: 'System Status'}
WrkPmtCnctntdActvSystStsTxt,
ProductImageURL,
WrkPmtChgStsActnEnbldVal,
WrkPmtExtensionValidToDateTime,
WorkPermitProcessingStatus,
_WrkPmtProcessingStatusText,
_WrkPmtReferenceObjectText
}
where
WrkPmtMgmtObjSubType = 'P'