R_ProjectBillingRequestTP

DDL: R_PROJECTBILLINGREQUESTTP SQL: RPROJBILLREQ Type: view_entity TRANSACTIONAL Package: VDM_PROJECTBILLINGREQUEST_TP

Details of Project Billing Request

R_ProjectBillingRequestTP is a Transactional CDS View that provides data about "Details of Project Billing Request" in SAP S/4HANA. It reads from 1 data source (I_ProjectBillingRequest) and exposes 32 fields with key field ProjectBillingRequestUUID. It has 6 associations to related views. Part of development package VDM_PROJECTBILLINGREQUEST_TP.

Data Sources (1)

SourceAliasJoin Type
I_ProjectBillingRequest ProjectBillingRequest from

Associations (6)

CardinalityTargetAliasCondition
[1..1] I_SalesOrder _SalesOrder $projection.SalesDocument = _SalesOrder.SalesOrder
[1..1] I_UserContactCard _UserContactCard $projection.ProjBillgReqCreatedBy = _UserContactCard.ContactCardID
[0..1] P_MyProjectBillingRequests _MyProjectBillingRequests $projection.ProjectBillingRequestUUID = _MyProjectBillingRequests.ProjectBillingRequestUUID and _MyProjectBillingRequests.UserID = $session.user
[1..1] I_CustomerToBusinessPartner _CustomerToBusinessPartner $projection.customeruuid = _CustomerToBusinessPartner.BusinessPartnerUUID
[0..*] R_ProjectBillingRequestItemTP _ProjectBillingReqItemTP
[0..1] R_ProjBillgReqObjectLinkTP _ProjBillgReqObjectLink

Annotations (9)

NameValueLevelField
VDM.viewType #TRANSACTIONAL view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
AccessControl.authorizationCheck #CHECK view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
EndUserText.label Details of Project Billing Request view
ObjectModel.sapObjectNodeType.name ProjectBillingRequest view
AccessControl.personalData.blocking #REQUIRED view

Fields (32)

KeyFieldSource TableSource FieldDescription
KEY ProjectBillingRequestUUID I_ProjectBillingRequest ProjectBillingRequestUUID
ProjectBillingRequest I_ProjectBillingRequest ProjectBillingRequest
ProjectInternalID I_ProjectBillingRequest ProjectInternalID
ProjectBillingRequestStatus I_ProjectBillingRequest ProjectBillingRequestStatus
ProjBillgReqApprovalStatus I_ProjectBillingRequest ProjBillgReqApprovalStatus
ProjectBillingRequestType I_ProjectBillingRequest ProjectBillingRequestType
SalesDocument I_ProjectBillingRequest SalesDocument
ProjectBillingCategory I_ProjectBillingRequest ProjectBillingCategory
ProjBillgReqLastChgdBy I_ProjectBillingRequest ProjBillgReqLastChgdBy
ProjBillgReqLastChgdAtDteTme I_ProjectBillingRequest ProjBillgReqLastChgdAtDteTme
ProjBillgReqCreatedBy I_ProjectBillingRequest ProjBillgReqCreatedBy
ProjBillgReqCreatedAtDteTme I_ProjectBillingRequest ProjBillgReqCreatedAtDteTme
clientNULLasProjBillgReqCreatedAtDte
UserID _MyProjectBillingRequests UserID
Project _EnterpriseProject Project
CustomerUUID _EnterpriseProject CustomerUUID
CurrencyasDocumentCurrency
ProjectDescription _EnterpriseProject ProjectDescription
_ProjectBillingRequestItem
_ProjectBillingReqItemTP _ProjectBillingReqItemTP
_SalesOrder _SalesOrder
_EnterpriseProject _EnterpriseProject
_CustomerToBusinessPartner _CustomerToBusinessPartner
_ProjBillgReqObjectLink _ProjBillgReqObjectLink
_ProjectBillingRequestStatus _ProjectBillingRequestStatus
_ProjBillgReqApprovalStatus _ProjBillgReqApprovalStatus
_UserContactCard _UserContactCard
_SalesDocument _SalesDocument
_ProjectBillingCategory _ProjectBillingCategory
_ProjectBillingReqStatusText _ProjectBillingReqStatusText
_ProjBillgReqApprvlStatusText _ProjBillgReqApprvlStatusText
_ProjectBillingCategoryText _ProjectBillingCategoryText
//@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

}