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 7 fields. 5 CDS views read from this table.

CDS Views using this table (5)

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
I_ProjectBillingRequestTP_2 view_entity projection TRANSACTIONAL Project Billing Request Projection
P_ProjBillingReqDetsForWrkflw view_entity from CONSUMPTION Inbox Task Data For Workflow

Fields (7)

KeyField CDS FieldsUsed in Views
KEY ProjectBillingRequestUUID ProjectBillingRequestUUID 1
_EnterpriseProject _EnterpriseProject 1
_ProjectBillingRequestItem _ProjectBillingRequestItem 1
ProjBillgReqCreatedAtDteTme ProjBillgReqCreatedAtDteTme 1
ProjBillgReqCreatedBy ProjBillgReqCreatedBy 1
ProjectBillingRequest ProjectBillingRequest 1
ProjectInternalID ProjectInternalID 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: ['NO_SUBPLAN_SHARING'] -- Performance testing


define root view entity R_ProjectBillingRequestTP
  as select from I_ProjectBillingRequest as ProjectBillingRequest
 // association [1..1] to I_EnterpriseProject           as _EnterpriseProject         on  $projection.ProjectInternalID = _EnterpriseProject.ProjectInternalID


  /* association [1..*] to I_ProjectBillgRequestRevnCube  as _ProjectBillgRequestRevnCube  on  ProjectBillingRequest.ProjectBillingRequestUUID = _ProjectBillgRequestRevnCube.ProjectBillingRequestUUID
   */
  /* association [0..1] to I_CostCenterText               as _CostCenterText               on  $projection.costcenter          = _CostCenterText.CostCenter
                                                                                         and $projection.controllingarea     = _CostCenterText.ControllingArea
                                                                                         and $projection.PlannedStartDate <= _CostCenterText.ValidityEndDate
                                                                                         and $projection.PlannedStartDate >= _CostCenterText.ValidityStartDate
                                                                                         and _CostCenterText.Language        = $session.system_language
  */
  /*removing the association as now Profit center name is exposed as Virtual fields*/
  /* association [0..1] to I_ProfitCenterText             as _ProfitCenterText             on $projection.profitcenter     = _ProfitCenterText.ProfitCenter
                                                                                         and $projection.controllingarea = _ProfitCenterText.ControllingArea
                                                                                         and $projection.PlannedStartDate <= _ProfitCenterText.ValidityEndDate
                                                                                         and $projection.PlannedStartDate >= _ProfitCenterText.ValidityStartDate
                                                                                         and _ProfitCenterText.Language  = $session.system_language
    */
  /* association [0..1] to I_EngagementProjectSrvcOrgText as _EngagementProjectSrvcOrgText on $projection.enterpriseprojectserviceorg = _EngagementProjectSrvcOrgText.EngagementProjectServiceOrg
                                                                                         and _EngagementProjectSrvcOrgText.Language  = $session.system_language
   */
  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.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,
      ProjectInternalID,
      ProjectBillingRequest.ProjectBillingRequestStatus  as ProjectBillingRequestStatus,
      ProjectBillingRequest.ProjBillgReqApprovalStatus   as ProjBillgReqApprovalStatus,
      ProjectBillingRequest.ProjectBillingRequestType    as ProjectBillingRequestType,
      ProjectBillingRequest.SalesDocument                as SalesDocument,
      ProjectBillingRequest.ProjectBillingCategory       as ProjectBillingCategory,
      //      ProjectBillingRequest.SalesDocumentType                                                                                                                                    as SalesDocumentType,

      @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,
      ProjectBillingRequest._ProjectBillingRequestItem,

      tstmp_to_dats( cast( ProjBillgReqCreatedAtDteTme as timestamp ), abap_system_timezone( $session.client,'NULL' ),
                     $session.client, 'NULL' )           as ProjBillgReqCreatedAtDte,
      _EnterpriseProject.Project                         as Project,
      _EnterpriseProject.CustomerUUID,
      _SalesOrder.SoldToParty                            as Customer,
      _MyProjectBillingRequests.UserID,

      //      ProjectBillingRequestDesc,

      
      ------------------------------------- For Performance ATC -------------------------
      _EnterpriseProject.Currency                       as DocumentCurrency,
      _EnterpriseProject.ProjectStartDate               as ProjectStartDate,
      _EnterpriseProject.ProjectEndDate                 as ProjectEndDate,
      _EnterpriseProject.ProfitCenter,
      _EnterpriseProject.ControllingArea,
      _EnterpriseProject.ProjectDescription,
      ------------------------------------- For Performance ATC -------------------------

      _ProjectBillingReqItemTP,
      _SalesOrder,
      _EnterpriseProject,
      _CustomerToBusinessPartner,
      _ProjBillgReqObjectLink,
      _ProjectBillingRequestStatus,
      _ProjBillgReqApprovalStatus,
      _UserContactCard
      
      

      // ***** The below three fields are used in I_CostCenterText and hence cannot be moved up

      // _EnterpriseProject.PlannedStartDate                                                                                                                                       as PlannedStartDate,

      // _EnterpriseProject._ProjectElement.CostCenter,

      // _EnterpriseProject.ControllingArea,

      // _EnterpriseProject.ProfitCenter,

      // _EnterpriseProject.EnterpriseProjectServiceOrg,

      // *****


      // _SalesOrder.TransactionCurrency  as DocumentCurrency,

      // _ProjectBillgRequestRevnCube.DocumentCurrency                                                                                                                              as DocumentCurrency,

      // _SalesOrder.SoldToParty as Customer,

      // _CostCenterText ,

      // _ProfitCenterText,

      // _EngagementProjectSrvcOrgText

}

/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ENTERPRISEPROJECT",
"I_PROJECTBILLINGREQUEST",
"I_SALESORDER",
"P_MYPROJECTBILLINGREQUESTS"
],
"ASSOCIATED":
[
"I_CUSTOMERTOBUSINESSPARTNER",
"I_ENTERPRISEPROJECT",
"I_PROJBILLGREQAPPROVALSTATUS",
"I_PROJECTBILLINGREQUESTITEM",
"I_PROJECTBILLINGREQUESTSTATUS",
"I_SALESORDER",
"I_USERCONTACTCARD",
"R_PROJBILLGREQOBJECTLINKTP",
"R_PROJECTBILLINGREQUESTITEMTP"
],
"BASE":
[
"I_PROJECTBILLINGREQUEST"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/