R_PROJECTBILLINGREQUESTTP
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)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| 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)
| Key | Field | CDS Fields | Used 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":""
}
}*/