I_ProjectBillingRequestTP

DDL: I_PROJECTBILLINGREQUESTTP SQL: IPROJBILLREQ Type: view_entity TRANSACTIONAL

Details of Project Billing Request

I_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 16 fields with key field ProjectBillingRequestUUID. It has 3 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_ProjectBillingRequest ProjectBillingRequest from

Associations (3)

CardinalityTargetAliasCondition
[1..1] I_SalesOrder _SalesOrder $projection.SalesDocument = _SalesOrder.SalesOrder
[0..*] I_ProjectBillingRequestItemTP _ProjectBillingReqItemTP
[0..1] I_ProjBillgReqObjectLinkTP _ProjBillgReqObjectLink

Annotations (8)

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 #X view
ObjectModel.sapObjectNodeType.name ProjectBillingRequest view
EndUserText.label Details of Project Billing Request view

Fields (16)

KeyFieldSource TableSource FieldDescription
KEY ProjectBillingRequestUUID I_ProjectBillingRequest ProjectBillingRequestUUID
ProjectBillingRequest I_ProjectBillingRequest ProjectBillingRequest
ProjectInternalID ProjectInternalID
ProjectBillingRequestStatus I_ProjectBillingRequest ProjectBillingRequestStatus
ProjectBillingRequestType I_ProjectBillingRequest ProjectBillingRequestType
SalesDocument I_ProjectBillingRequest SalesDocument
ProjBillgReqLastChgdBy I_ProjectBillingRequest ProjBillgReqLastChgdBy
ProjBillgReqLastChgdAtDteTme I_ProjectBillingRequest ProjBillgReqLastChgdAtDteTme
ProjBillgReqCreatedBy I_ProjectBillingRequest ProjBillgReqCreatedBy
ProjBillgReqCreatedAtDteTme I_ProjectBillingRequest ProjBillgReqCreatedAtDteTme
_ProjectBillingRequestItem I_ProjectBillingRequest _ProjectBillingRequestItem
_ProjectBillingReqItemTP _ProjectBillingReqItemTP
_SalesOrder _SalesOrder
_EnterpriseProject _EnterpriseProject
_ProjBillgReqObjectLink _ProjBillgReqObjectLink
_ProjectBillingRequestStatus _ProjectBillingRequestStatus
//@AbapCatalog.sqlViewName: 'IPROJBILLREQ'

//@ClientHandling.algorithm: #SESSION_VARIABLE

@VDM.viewType: #TRANSACTIONAL
@VDM.lifecycle.contract.type:#SAP_INTERNAL_API
//@AbapCatalog.compiler.compareFilter: true

//@AbapCatalog.preserveKey: true

@AccessControl.authorizationCheck: #CHECK
//@AccessControl.privilegedAssociations: ['_SalesBillingPlanDueDate']


@ObjectModel.usageType: {
    sizeCategory: #XL,
    dataClass:  #TRANSACTIONAL,
    serviceQuality: #X
}

@ObjectModel.sapObjectNodeType.name: 'ProjectBillingRequest'

@EndUserText.label: 'Details of Project Billing Request'
define root view entity I_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                                                                   

  composition [0..*] of I_ProjectBillingRequestItemTP  as _ProjectBillingReqItemTP
  composition [0..1] of I_ProjBillgReqObjectLinkTP as _ProjBillgReqObjectLink
{

  key ProjectBillingRequest.ProjectBillingRequestUUID                                                                                                                            as ProjectBillingRequestUUID,
      ProjectBillingRequest.ProjectBillingRequest                                                                                                                                as ProjectBillingRequest,
      ProjectInternalID,
      ProjectBillingRequest.ProjectBillingRequestStatus                                                                                                                          as ProjectBillingRequestStatus,
      ProjectBillingRequest.ProjectBillingRequestType                                                                                                                            as ProjectBillingRequestType,
      ProjectBillingRequest.SalesDocument                                                                                                                                        as SalesDocument,
//      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,

   //   _EnterpriseProject.Project, 

   //   ProjectBillingRequestDesc,

      
      
      // ***** 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 ,


      _ProjectBillingReqItemTP,

      _SalesOrder,
    //  _ProfitCenterText,

      _EnterpriseProject,
      _ProjBillgReqObjectLink,
       _ProjectBillingRequestStatus
     // _EngagementProjectSrvcOrgText


}