R_PROJECTBILLINGREQUESTTP

CDS View

Details of Project Billing Request

R_PROJECTBILLINGREQUESTTP is a CDS View in S/4HANA. Details of Project Billing Request. It contains 11 fields. 7 CDS views read from this table.

CDS Views using this table (7)

ViewTypeJoinVDMDescription
A_ProjectBillingRequest view_entity projection COMPOSITE Project Billing Request
C_ManageProjBillgRequestTP view_entity projection CONSUMPTION Manage Project Billing Request
C_ProjectBillingRequestTP view_entity projection CONSUMPTION Details of Project Billing Request
C_ProjectBillingRequestTP_2 view_entity projection CONSUMPTION Details of Project Billing Request
I_ProjectBillingRequestTP_2 view_entity projection TRANSACTIONAL Project Billing Request Projection
I_ProjectBillingRequestTP_3 view_entity projection TRANSACTIONAL Project Billing Request - TP
P_ProjBillingReqDetsForWrkflw view_entity from CONSUMPTION Inbox Task Data For Workflow

Fields (11)

KeyField CDS FieldsUsed in Views
KEY ProjectBillingRequestUUID ProjectBillingRequestUUID 1
_EnterpriseProject _EnterpriseProject 1
_ProjectBillingCategory _ProjectBillingCategory 1
_ProjectBillingRequestItem _ProjectBillingRequestItem 1
_SalesDocument _SalesDocument 1
ProjBillgReqCreatedAtDteTme ProjBillgReqCreatedAtDteTme 1
ProjBillgReqCreatedBy ProjBillgReqCreatedBy 1
ProjectBillingCategory ProjectBillingCategory 1
ProjectBillingRequest ProjectBillingRequest 1
ProjectInternalID ProjectInternalID 1
SalesDocument SalesDocument 1
//@AbapCatalog.sqlViewName: 'RPROJBILLREQ'

//@ClientHandling.algorithm: #SESSION_VARIABLE

//@AccessControl.privilegedAssociations: ['_SalesBillingPlanDueDate']

//@AbapCatalog.compiler.compareFilter: true

//@AbapCatalog.preserveKey: true

@VDM.viewType: #TRANSACTIONAL
@VDM.lifecycle.contract.type:#SAP_INTERNAL_API
@AccessControl.authorizationCheck: #CHECK

@ObjectModel.usageType: {
    sizeCategory: #XL,
    dataClass:  #TRANSACTIONAL,
    serviceQuality: #C //B

}
@EndUserText.label: 'Details of Project Billing Request'

@ObjectModel.sapObjectNodeType.name: 'ProjectBillingRequest'
@AccessControl.privilegedAssociations: [ '_EnterpriseProject', '_SalesOrder', '_ProjectBillingReqItemTP', '_ProjBillgReqObjectLink', '_UserContactCard' ]
@AccessControl.personalData.blocking: #REQUIRED
@Consumption.dbHints: ['USE_HEX_PLAN']
//@Consumption.dbHints: ['NO_SUBPLAN_SHARING'] -- Performance testing


define root view entity R_ProjectBillingRequestTP
  as select from I_ProjectBillingRequest as ProjectBillingRequest
  association [1..1] to I_SalesOrder                   as _SalesOrder                   on  $projection.SalesDocument = _SalesOrder.SalesOrder
  association [1..1] to I_UserContactCard              as _UserContactCard              on  $projection.ProjBillgReqCreatedBy = _UserContactCard.ContactCardID
  association [0..1] to P_MyProjectBillingRequests     as _MyProjectBillingRequests     on  $projection.ProjectBillingRequestUUID = _MyProjectBillingRequests.ProjectBillingRequestUUID //$projection.SalesDocument = _MyProjectBillingRequests.SalesOrder

                                                                                        and _MyProjectBillingRequests.UserID      = $session.user
  association [1..1] to I_CustomerToBusinessPartner    as _CustomerToBusinessPartner    on  $projection.customeruuid = _CustomerToBusinessPartner.BusinessPartnerUUID

  composition [0..*] of R_ProjectBillingRequestItemTP  as _ProjectBillingReqItemTP
  composition [0..1] of R_ProjBillgReqObjectLinkTP     as _ProjBillgReqObjectLink
{
  key ProjectBillingRequest.ProjectBillingRequestUUID    as ProjectBillingRequestUUID,
      ProjectBillingRequest.ProjectBillingRequest        as ProjectBillingRequest,
      ProjectBillingRequest.ProjectInternalID            as ProjectInternalID,
      ProjectBillingRequest.ProjectBillingRequestStatus  as ProjectBillingRequestStatus,
      ProjectBillingRequest.ProjBillgReqApprovalStatus   as ProjBillgReqApprovalStatus,
      ProjectBillingRequest.ProjectBillingRequestType    as ProjectBillingRequestType,
      ProjectBillingRequest.SalesDocument                as SalesDocument,
      ProjectBillingRequest.ProjectBillingCategory       as ProjectBillingCategory,
      @Semantics.user.lastChangedBy: true
      ProjectBillingRequest.ProjBillgReqLastChgdBy       as ProjBillgReqLastChgdBy,
      @Semantics.systemDateTime.lastChangedAt: true
      ProjectBillingRequest.ProjBillgReqLastChgdAtDteTme as ProjBillgReqLastChgdAtDteTme,
      @Semantics.user.createdBy: true
      ProjectBillingRequest.ProjBillgReqCreatedBy        as ProjBillgReqCreatedBy,
      @Semantics.systemDateTime.createdAt: true
      ProjectBillingRequest.ProjBillgReqCreatedAtDteTme  as ProjBillgReqCreatedAtDteTme,

      tstmp_to_dats( cast( ProjBillgReqCreatedAtDteTme as timestamp ), abap_system_timezone( $session.client,'NULL' ),
                     $session.client, 'NULL' )           as ProjBillgReqCreatedAtDte,
      _MyProjectBillingRequests.UserID,
      _EnterpriseProject.Project                         as Project,
      _EnterpriseProject.CustomerUUID,
      ------------------------------------- For Performance ATC -------------------------
      _EnterpriseProject.Currency                        as DocumentCurrency,
      //_EnterpriseProject.ProjectStartDate               as ProjectStartDate,

      //_EnterpriseProject.ProjectEndDate                 as ProjectEndDate,

      //_EnterpriseProject.ProfitCenter,

      //_EnterpriseProject.ControllingArea,

      _EnterpriseProject.ProjectDescription,
      ------------------------------------- For Performance ATC -------------------------
      //_SalesOrder.SoldToParty                            as Customer,



      //Associations

      ProjectBillingRequest._ProjectBillingRequestItem,
      _ProjectBillingReqItemTP,
      _SalesOrder,
      _EnterpriseProject,
      _CustomerToBusinessPartner,
      _ProjBillgReqObjectLink,
      _ProjectBillingRequestStatus,
       _ProjBillgReqApprovalStatus,
      _UserContactCard,
      _SalesDocument,
      _ProjectBillingCategory,
      @Consumption.hidden: true
      _ProjectBillingReqStatusText,
      @Consumption.hidden: true
      _ProjBillgReqApprvlStatusText,
      @Consumption.hidden: true
      _ProjectBillingCategoryText

}