R_WORKPERMITTP

CDS View

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)

ViewTypeJoinVDMDescription
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'