R_ProjectBillingRequestItemTP
Project Billing Request Item TP
R_ProjectBillingRequestItemTP is a Transactional CDS View that provides data about "Project Billing Request Item TP" in SAP S/4HANA. It reads from 1 data source (I_ProjectBillingRequestItem) and exposes 85 fields with key field ProjectBillingRequestItemUUID. It has 12 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_ProjectBillingRequestItem | ProjectBillingRequestItem | from |
Associations (12)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_WorkForcePersonMappings | _PersonWorkAgreement_1 | _PrjBlgElmEntrJrnlEntrLinkTP.PersonnelNumber = _PersonWorkAgreement_1.WorkforceAssignment |
| [0..1] | R_ProjectBillingElementEntryTP | _ProjectBillingElementEntryTP | $projection.ProjBillgElmntEntrItmUUID = _ProjectBillingElementEntryTP.ProjBillgElmntEntrItmUUID |
| [0..1] | I_WorkPackageWorkItem | _WorkPackageItem | $projection.WorkItem = _WorkPackageItem.WorkItem and $projection.WBSElementObject = _WorkPackageItem.WBSElementObject |
| [0..1] | I_MaterialGroup | _MaterialGroup | $projection.MaterialGroup = _MaterialGroup.MaterialGroup |
| [0..1] | I_BillingControlCategoryText | _BillingControlCategoryText | $projection.BillingControlCategory = _BillingControlCategoryText.BillingControlCategory and _BillingControlCategoryText.Language = $session.system_language -- |
| [1..1] | I_SalesDocumentItem | _SalesDocumentItem | $projection.SalesDocument = _SalesDocumentItem.SalesDocument -- and $projection.SalesDocumentItem = _SalesDocumentItem.SalesDocumentItem |
| [0..1] | E_JournalEntryItem | _JournalEntryItemExtension | $projection.Ledger = _JournalEntryItemExtension.SourceLedger and $projection.CompanyCode = _JournalEntryItemExtension.CompanyCode and $projection.FiscalYear = _JournalEntryItemExtension.FiscalYear and $projection.AccountingDocument = _JournalEntryItemExtension.AccountingDocument and $projection.LedgerGLLineItem = _JournalEntryItemExtension.LedgerGLLineItem -- |
| [1..1] | I_SalesDocItemBillingPlan | _SalesDocItemBillPlan | $projection.SalesDocument = _SalesDocItemBillPlan.SalesDocument -- and $projection.SalesDocumentItem = _SalesDocItemBillPlan.SalesDocumentItem |
| [0..1] | I_TimeSheetOvertimeCatText | _TimeSheetOvertimeCatText | $projection.TimeSheetOvertimeCategory = _TimeSheetOvertimeCatText.TimeSheetOvertimeCategory and _TimeSheetOvertimeCatText.Language = $session.system_language |
| [0..1] | I_CustomerMaterial_2 | _CustomerMaterial | $projection.salesorganization = _CustomerMaterial.SalesOrganization and $projection.distributionchannel = _CustomerMaterial.DistributionChannel and $projection.soldtoparty = _CustomerMaterial.Customer and $projection.Material = _CustomerMaterial.Product |
| [0..1] | I_PrjBlgElmEntrJrnlEntrLink | _PrjBlgElmEntrJrnlEntrLink | ProjectBillingRequestItem.ProjBillgElmntEntrItmUUID = _PrjBlgElmEntrJrnlEntrLink.ProjBillgElmntEntrItmUUID |
| [1..1] | I_ProjectBillingElmntDueDate | _DueBillingDate | $projection.ProjectBillingElementUUID = _DueBillingDate.ProjectBillingElementUUID |
Annotations (8)
| Name | Value | Level | Field |
|---|---|---|---|
| VDM.viewType | #TRANSACTIONAL | view | |
| VDM.lifecycle.contract.type | #SAP_INTERNAL_API | view | |
| AccessControl.authorizationCheck | #MANDATORY | view | |
| AccessControl.personalData.blocking | #NOT_REQUIRED | view | |
| EndUserText.label | Project Billing Request Item TP | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.usageType.serviceQuality | #C | view |
Fields (85)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ProjectBillingRequestItemUUID | I_ProjectBillingRequestItem | ProjectBillingRequestItemUUID | |
| _ProjectBillingRequestTP | _ProjectBillingRequestTP | |||
| _ProjectBillingElementEntryTP | _ProjectBillingElementEntryTP | |||
| ProjectBillingRequestUUID | I_ProjectBillingRequestItem | ProjectBillingRequestUUID | ||
| ProjBillgElmntEntrItmUUID | I_ProjectBillingRequestItem | ProjBillgElmntEntrItmUUID | ||
| ProjectBillingElementUUID | I_ProjectBillingRequestItem | ProjectBillingElementUUID | ||
| SalesDocumentItem | I_ProjectBillingRequestItem | SalesDocumentItem | ||
| BillingPlan | I_ProjectBillingRequestItem | BillingPlan | ||
| BillingPlanItem | I_ProjectBillingRequestItem | BillingPlanItem | ||
| ToBePostponedQuantity | I_ProjectBillingRequestItem | ToBePostponedQuantity | ||
| ToBePostponedAmtInTransacCrcy | I_ProjectBillingRequestItem | ToBePostponedAmtInTransacCrcy | ||
| ToBePostponedAmtInProjectCrcy | I_ProjectBillingRequestItem | ToBePostponedAmtInProjectCrcy | ||
| ToBePostponedAmtInGlobalCrcy | I_ProjectBillingRequestItem | ToBePostponedAmtInGlobalCrcy | ||
| ToBeWrittenOffQuantity | I_ProjectBillingRequestItem | ToBeWrittenOffQuantity | ||
| ToBeWrittenOffAmtInTransCrcy | I_ProjectBillingRequestItem | ToBeWrittenOffAmtInTransCrcy | ||
| ToBeWrittenOffAmtInProjectCrcy | I_ProjectBillingRequestItem | ToBeWrittenOffAmtInProjectCrcy | ||
| ToBeWrittenOffAmtInGlobalCrcy | I_ProjectBillingRequestItem | ToBeWrittenOffAmtInGlobalCrcy | ||
| BillableRevenueAmtInDocCrcy | I_ProjectBillingRequestItem | BillableRevenueAmtInDocCrcy | ||
| ProjBillgReqItmCrtedByUser | I_ProjectBillingRequestItem | ProjBillgReqItmCrtedByUser | ||
| ProjBillgReqItmCrtedAtDteTme | I_ProjectBillingRequestItem | ProjBillgReqItmCrtedAtDteTme | ||
| ProjBillgReqItmLastChgdBy | I_ProjectBillingRequestItem | ProjBillgReqItmLastChgdBy | ||
| ProjBillgReqItmLastChgdDteTme | I_ProjectBillingRequestItem | ProjBillgReqItmLastChgdDteTme | ||
| ServicesRenderedDate | I_ProjectBillingRequestItem | ServicesRenderedDate | ||
| ToBeBilledQuantity | I_ProjectBillingRequestItem | ToBeBilledQuantity | ||
| ToBeBilledAmtInTransCrcy | I_ProjectBillingRequestItem | ToBeBilledAmtInTransCrcy | ||
| ToBeBilledAmtInProjCurrency | I_ProjectBillingRequestItem | ToBeBilledAmtInProjCurrency | ||
| ToBeBilledAmtInGlobCurrency | I_ProjectBillingRequestItem | ToBeBilledAmtInGlobCurrency | ||
| OpenQuantity | I_ProjectBillingRequestItem | OpenQuantity | ||
| OpenAmountInTransCrcy | I_ProjectBillingRequestItem | OpenAmountInTransCrcy | ||
| OpenAmountInProjectCurrency | I_ProjectBillingRequestItem | OpenAmountInProjectCurrency | ||
| OpenAmountInGlobalCurrency | I_ProjectBillingRequestItem | OpenAmountInGlobalCurrency | ||
| OpenRevenueAmtInDocCrcy | I_ProjectBillingRequestItem | OpenRevenueAmtInDocCrcy | ||
| NetPriceAmountInDocCrcy | I_ProjectBillingRequestItem | NetPriceAmountInDocCrcy | ||
| NetPriceQuantity | I_ProjectBillingRequestItem | NetPriceQuantity | ||
| NetPriceQuantityUnit | I_ProjectBillingRequestItem | NetPriceQuantityUnit | ||
| Material | I_ProjectBillingRequestItem | Material | ||
| CostCtrActivityTypeDesc | ||||
| MaterialGroup | ||||
| TransactionCurrency | I_ProjectBillingRequestItem | TransactionCurrency | ||
| ProjectCurrency | I_ProjectBillingRequestItem | ProjectCurrency | ||
| QuantityUnit | I_ProjectBillingRequestItem | QuantityUnit | ||
| GlobalCurrency | I_ProjectBillingRequestItem | GlobalCurrency | ||
| DocumentCurrency | I_ProjectBillingRequestItem | DocumentCurrency | ||
| ManualBillgSelForPrjBlgReqItem | I_ProjectBillingRequestItem | ManualBillgSelForPrjBlgReqItem | ||
| ProjectBillingRequestItemDesc | I_ProjectBillingRequestItem | ProjectBillingRequestItemDesc | ||
| ProjBillgReqItmSourceType | I_ProjectBillingRequestItem | ProjBillgReqItmSourceType | ||
| _MaterialGroup | _MaterialGroup | |||
| PersonFullName | ||||
| PersonNumber | ||||
| BusinessPartner | _PersonWorkAgreement_1 | BusinessPartner | ||
| _PersonWorkAgreement_1 | _PersonWorkAgreement_1 | |||
| BusinessPartnerUUID | ||||
| WorkItem | ||||
| PersonnelNumber | _PrjBlgElmEntrJrnlEntrLinkTP | PersonnelNumber | ||
| SalesDocument | _ProjectBillingRequestTP | SalesDocument | ||
| _WorkPackageItem | _WorkPackageItem | |||
| SalesOrganization | ||||
| DistributionChannel | ||||
| SoldToParty | ||||
| ProjectBillingCategory | _ProjectBillingRequestTP | ProjectBillingCategory | ||
| _CustomerMaterial | _CustomerMaterial | |||
| _BillingControlCategoryText | _BillingControlCategoryText | |||
| ProjBillgElmntEntrSourceType | _ProjectBillingElementEntryTP | ProjBillgElmntEntrSourceType | ||
| Ledger | _PrjBlgElmEntrJrnlEntrLinkTP | Ledger | ||
| CompanyCode | _PrjBlgElmEntrJrnlEntrLinkTP | CompanyCode | ||
| FiscalYear | _PrjBlgElmEntrJrnlEntrLinkTP | FiscalYear | ||
| LedgerGLLineItem | _PrjBlgElmEntrJrnlEntrLinkTP | LedgerGLLineItem | ||
| AccountingDocument | _PrjBlgElmEntrJrnlEntrLinkTP | AccountingDocument | ||
| WBSElement | ||||
| WBSElementObject | ||||
| WBSElementInternalID | ||||
| DueBillingDate | ||||
| DueBillingDate | _DueBillingDate | DueBillingDate | ||
| _SalesDocumentItem | ||||
| _SalesDocItemBillPlan | ||||
| _Material | I_ProjectBillingRequestItem | _Material | ||
| ProjBillgTransfCostQtyCode | I_ProjectBillingRequestItem | ProjBillgTransfCostQtyCode | ||
| ProjBillgItmValIsNotActualCost | I_ProjectBillingRequestItem | ProjBillgItmValIsNotActualCost | ||
| PrjBlgElmEntryLongText | _ProjectBillingElementEntryTP | PrjBlgElmEntryLongText | ||
| ProjBillingRequestItemLongText | I_ProjectBillingRequestItem | ProjBillingRequestItemLongText | ||
| TimeSheetOvertimeCategory | ||||
| UserLocalDate | ||||
| _TimeSheetOvertimeCatText | _TimeSheetOvertimeCatText | |||
| _PrjBlgElmEntrJrnlEntrLink | _PrjBlgElmEntrJrnlEntrLink | |||
| _ProjectBillingRequest | I_ProjectBillingRequestItem | _ProjectBillingRequest |
//@AbapCatalog.sqlViewName: 'RPROJBILREQITM'
//@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.viewType: #TRANSACTIONAL
@VDM.lifecycle.contract.type:#SAP_INTERNAL_API
//@AbapCatalog.compiler.compareFilter: true
//@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.personalData.blocking: #NOT_REQUIRED
@EndUserText.label: 'Project Billing Request Item TP'
@ObjectModel.usageType: {
sizeCategory: #XL,
dataClass: #TRANSACTIONAL,
serviceQuality: #C
}
//@AccessControl.privilegedAssociations: ['_SalesDocumentItem', '_PrjBlgElmEntrJrnlEntrLinkTP', '_PersonWorkAgreement_1', '_ProjectBillingElementEntryTP',
//'_WorkPackageItem', '_MaterialGroup', '_ProjectBillingRequestTP', '_BillingControlCategoryText', '_JournalEntryItemExtension', '_TimeSheetOvertimeCatText', '_CustomerMaterial']
@Consumption.dbHints: [ 'CS_JOIN_REDUCTION_MULTICOLUMN_FIRST(\'ACDOCA.BELNR\')', 'NO_SUBPLAN_SHARING' ]
define view entity R_ProjectBillingRequestItemTP
as select from I_ProjectBillingRequestItem as ProjectBillingRequestItem
left outer to one join R_PrjBlgElmEntrJrnlEntrLinkTP as _PrjBlgElmEntrJrnlEntrLinkTP on ProjectBillingRequestItem.ProjBillgElmntEntrItmUUID = _PrjBlgElmEntrJrnlEntrLinkTP.ProjBillgElmntEntrItmUUID
// Performance POC
// association [0..1] to I_PersonWorkAgreement_1 as _PersonWorkAgreement_1 on _PrjBlgElmEntrJrnlEntrLinkTP.PersonnelNumber = _PersonWorkAgreement_1.PersonWorkAgreement
// association [0..1] to P_ProjBillingElmntBillngDate as _ProjBillingElmntBillngDate on $projection.ProjectBillingElementUUID = _ProjBillingElmntBillngDate.ProjectBillingElementUUID
association [0..1] to I_WorkForcePersonMappings as _PersonWorkAgreement_1 on _PrjBlgElmEntrJrnlEntrLinkTP.PersonnelNumber = _PersonWorkAgreement_1.WorkforceAssignment
// association [1..1] to I_BusinessPartner as _BusinessPartner on _PersonWorkAgreement_1.BusinessPartner = _BusinessPartner.BusinessPartner
// and _BusinessPartner.BusinessPartnerCategory = '1'
association [0..1] to R_ProjectBillingElementEntryTP as _ProjectBillingElementEntryTP on $projection.ProjBillgElmntEntrItmUUID = _ProjectBillingElementEntryTP.ProjBillgElmntEntrItmUUID
association [0..1] to I_WorkPackageWorkItem as _WorkPackageItem on $projection.WorkItem = _WorkPackageItem.WorkItem
and $projection.WBSElementObject = _WorkPackageItem.WBSElementObject
// association [0..1] to I_WorkItem as _WorkItem on $projection.WorkItem = _WorkItem.WorkItem
association [0..1] to I_MaterialGroup as _MaterialGroup on $projection.MaterialGroup = _MaterialGroup.MaterialGroup
association to parent R_ProjectBillingRequestTP as _ProjectBillingRequestTP on $projection.ProjectBillingRequestUUID = _ProjectBillingRequestTP.ProjectBillingRequestUUID
association [0..1] to I_BillingControlCategoryText as _BillingControlCategoryText on $projection.BillingControlCategory = _BillingControlCategoryText.BillingControlCategory
and _BillingControlCategoryText.Language = $session.system_language
--association [1..1] to I_SalesDocumentItem as _SalesDocumentItem on $projection.SalesDocument = _SalesDocumentItem.SalesDocument
-- and $projection.SalesDocumentItem = _SalesDocumentItem.SalesDocumentItem
association [0..1] to E_JournalEntryItem as _JournalEntryItemExtension on $projection.Ledger = _JournalEntryItemExtension.SourceLedger
and $projection.CompanyCode = _JournalEntryItemExtension.CompanyCode
and $projection.FiscalYear = _JournalEntryItemExtension.FiscalYear
and $projection.AccountingDocument = _JournalEntryItemExtension.AccountingDocument
and $projection.LedgerGLLineItem = _JournalEntryItemExtension.LedgerGLLineItem
--association [1..1] to I_SalesDocItemBillingPlan as _SalesDocItemBillPlan on $projection.SalesDocument = _SalesDocItemBillPlan.SalesDocument //plan category is getting from PBE
-- and $projection.SalesDocumentItem = _SalesDocItemBillPlan.SalesDocumentItem
association [0..1] to I_TimeSheetOvertimeCatText as _TimeSheetOvertimeCatText on $projection.TimeSheetOvertimeCategory = _TimeSheetOvertimeCatText.TimeSheetOvertimeCategory
and _TimeSheetOvertimeCatText.Language = $session.system_language
association [0..1] to I_CustomerMaterial_2 as _CustomerMaterial on $projection.salesorganization = _CustomerMaterial.SalesOrganization
and $projection.distributionchannel = _CustomerMaterial.DistributionChannel
and $projection.soldtoparty = _CustomerMaterial.Customer
and $projection.Material = _CustomerMaterial.Product
association [0..1] to I_PrjBlgElmEntrJrnlEntrLink as _PrjBlgElmEntrJrnlEntrLink on ProjectBillingRequestItem.ProjBillgElmntEntrItmUUID = _PrjBlgElmEntrJrnlEntrLink.ProjBillgElmntEntrItmUUID // added to expose association to Local API Project billing request
// association [1..1] to I_BusinessPartner as _BusinessPartner on $projection.businesspartner = _BusinessPartner.BusinessPartner
// and _BusinessPartner.BusinessPartnerCategory = '1'
association [1..1] to I_ProjectBillingElmntDueDate as _DueBillingDate on $projection.ProjectBillingElementUUID = _DueBillingDate.ProjectBillingElementUUID
{
key ProjectBillingRequestItem.ProjectBillingRequestItemUUID as ProjectBillingRequestItemUUID,
_ProjectBillingRequestTP,
_ProjectBillingElementEntryTP,
// _SalesDocItemBillPlan,
ProjectBillingRequestItem.ProjectBillingRequestUUID as ProjectBillingRequestUUID,
ProjectBillingRequestItem.ProjBillgElmntEntrItmUUID as ProjBillgElmntEntrItmUUID,
ProjectBillingRequestItem.ProjectBillingElementUUID as ProjectBillingElementUUID,
ProjectBillingRequestItem.SalesDocumentItem as SalesDocumentItem,
ProjectBillingRequestItem.BillingPlan as BillingPlan,
ProjectBillingRequestItem.BillingPlanItem as BillingPlanItem,
@Semantics.quantity.unitOfMeasure: 'QuantityUnit'
ProjectBillingRequestItem.ToBePostponedQuantity as ToBePostponedQuantity,
@Semantics.amount.currencyCode: 'TransactionCurrency'
ProjectBillingRequestItem.ToBePostponedAmtInTransacCrcy as ToBePostponedAmtInTransacCrcy,
@Semantics.amount.currencyCode: 'ProjectCurrency'
ProjectBillingRequestItem.ToBePostponedAmtInProjectCrcy as ToBePostponedAmtInProjectCrcy,
@Semantics.amount.currencyCode: 'GlobalCurrency'
ProjectBillingRequestItem.ToBePostponedAmtInGlobalCrcy as ToBePostponedAmtInGlobalCrcy,
@Semantics.quantity.unitOfMeasure: 'QuantityUnit'
ProjectBillingRequestItem.ToBeWrittenOffQuantity as ToBeWrittenOffQuantity,
@Semantics.amount.currencyCode: 'TransactionCurrency'
ProjectBillingRequestItem.ToBeWrittenOffAmtInTransCrcy as ToBeWrittenOffAmtInTransCrcy,
@Semantics.amount.currencyCode: 'ProjectCurrency'
ProjectBillingRequestItem.ToBeWrittenOffAmtInProjectCrcy as ToBeWrittenOffAmtInProjectCrcy,
@Semantics.amount.currencyCode: 'GlobalCurrency'
ProjectBillingRequestItem.ToBeWrittenOffAmtInGlobalCrcy as ToBeWrittenOffAmtInGlobalCrcy,
@Semantics.amount.currencyCode: 'DocumentCurrency'
ProjectBillingRequestItem.BillableRevenueAmtInDocCrcy as BillableRevenueAmtInDocCrcy,
@Semantics.user.createdBy: true
ProjectBillingRequestItem.ProjBillgReqItmCrtedByUser as ProjBillgReqItmCrtedByUser,
@Semantics.systemDateTime.createdAt: true
ProjectBillingRequestItem.ProjBillgReqItmCrtedAtDteTme as ProjBillgReqItmCrtedAtDteTme,
@Semantics.user.lastChangedBy: true
ProjectBillingRequestItem.ProjBillgReqItmLastChgdBy as ProjBillgReqItmLastChgdBy,
@Semantics.systemDateTime.lastChangedAt: true
ProjectBillingRequestItem.ProjBillgReqItmLastChgdDteTme as ProjBillgReqItmLastChgdDteTme,
ProjectBillingRequestItem.ServicesRenderedDate as ServicesRenderedDate,
@Semantics.quantity.unitOfMeasure: 'QuantityUnit'
ProjectBillingRequestItem.ToBeBilledQuantity as ToBeBilledQuantity,
@Semantics.amount.currencyCode: 'TransactionCurrency'
ProjectBillingRequestItem.ToBeBilledAmtInTransCrcy as ToBeBilledAmtInTransCrcy,
@Semantics.amount.currencyCode: 'ProjectCurrency'
ProjectBillingRequestItem.ToBeBilledAmtInProjCurrency as ToBeBilledAmtInProjCurrency,
@Semantics.amount.currencyCode: 'GlobalCurrency'
ProjectBillingRequestItem.ToBeBilledAmtInGlobCurrency as ToBeBilledAmtInGlobCurrency,
// ********************** newly added fields in the table *****************************
@Semantics.quantity.unitOfMeasure: 'QuantityUnit'
ProjectBillingRequestItem.OpenQuantity as OpenQuantity,
@Semantics.amount.currencyCode: 'TransactionCurrency'
ProjectBillingRequestItem.OpenAmountInTransCrcy as OpenAmountInTransCrcy,
@Semantics.amount.currencyCode: 'ProjectCurrency'
ProjectBillingRequestItem.OpenAmountInProjectCurrency as OpenAmountInProjectCurrency,
@Semantics.amount.currencyCode: 'GlobalCurrency'
ProjectBillingRequestItem.OpenAmountInGlobalCurrency as OpenAmountInGlobalCurrency,
@Semantics.amount.currencyCode: 'DocumentCurrency'
ProjectBillingRequestItem.OpenRevenueAmtInDocCrcy as OpenRevenueAmtInDocCrcy,
@Semantics.amount.currencyCode: 'DocumentCurrency'
ProjectBillingRequestItem.NetPriceAmountInDocCrcy as NetPriceAmountInDocCrcy,
ProjectBillingRequestItem.NetPriceQuantity as NetPriceQuantity,
ProjectBillingRequestItem.NetPriceQuantityUnit as NetPriceQuantityUnit,
ProjectBillingRequestItem.Material as Material,
_PrjBlgElmEntrJrnlEntrLinkTP._GLAccountLineItemRawData._OriginCostCtrActivityType[1:ValidityStartDate <= $session.system_date and ValidityEndDate >= $session.system_date ]._Text[1:Language = $session.system_language].CostCtrActivityTypeDesc as CostCtrActivityTypeDesc,
// case
// when Material = 'A002' then ''
// else
// case
// when ( ProjectBillingRequestItem.ToBeBilledAmtInTransCrcy is not initial or ProjectBillingRequestItem.ToBeBilledQuantity is not initial )
// then cast ('X' as boolean)
// else cast ('' as boolean)
// end
// end as ProjBillgReqItmHasBillableVal,
//
// case
// when Material = 'A002' then ''
// else
// case
// when ( ProjectBillingRequestItem.ToBeWrittenOffAmtInTransCrcy is not initial or ProjectBillingRequestItem.ToBeWrittenOffQuantity is not initial )
// then cast ('X' as boolean)
// else cast ('' as boolean)
// end
// end as ProjBillgReqItmHasWrtOffVal,
// case
// when Material = 'A002' then ''
// else
// case
// when ( ProjectBillingRequestItem.ToBePostponedAmtInTransacCrcy is not initial or ProjectBillingRequestItem.ToBePostponedQuantity is not initial )
// then cast ('X' as boolean)
// else cast ('' as boolean)
// end
// end as ProjBillgReqItmHasPostponedVal,
// ********************** newly added fields in the table *****************************
// @Semantics.amount.currencyCode: 'TransactionCurrency'
// case
// when _ProjectBillingElementEntryTP.OriginalTotalQuantity is not initial or _ProjectBillingElementEntryTP.OriginalTotalQuantity <> 0
// then cast(
// cast(
// ( curr_to_decfloat_amount( _ProjectBillingElementEntryTP.OriginalAmountInTransacCrcy ) / _ProjectBillingElementEntryTP.OriginalTotalQuantity )
// as abap.dec(23,2) )
// as abap.curr(23,2) )
// else cast( 0 as abap.curr(23,2) )
// end as BaseUnitActualCost,
_ProjectBillingElementEntryTP._Material.MaterialGroup as MaterialGroup,
ProjectBillingRequestItem.TransactionCurrency,
ProjectBillingRequestItem.ProjectCurrency,
ProjectBillingRequestItem.QuantityUnit,
ProjectBillingRequestItem.GlobalCurrency,
ProjectBillingRequestItem.DocumentCurrency,
// _PrjBlgElmEntrJrnlEntrLinkTP ,
// @Semantics.amount.currencyCode: 'ProjectCurrency'
// _ProjectBillingElementEntryTP.OriginalAmountInProjectCrcy as OriginalAmountInProjectCrcy,
ProjectBillingRequestItem.ManualBillgSelForPrjBlgReqItem as ManualBillgSelForPrjBlgReqItem,
ProjectBillingRequestItem.ProjectBillingRequestItemDesc as ProjectBillingRequestItemDesc,
ProjectBillingRequestItem.ProjBillgReqItmSourceType as ProjBillgReqItmSourceType,
_MaterialGroup,
// _BillingControlCategoryText,
// _PrjBlgElmEntrJrnlEntrLinkTP.BillingControlCategory as BillingControlCategory, //added by FXU
// _PersonWorkAgreement_1.PersonFullName as PersonFullName, //added by FXU
_PersonWorkAgreement_1._BusinessPartner.PersonFullName as PersonFullName,
_PersonWorkAgreement_1._BusinessPartner.PersonNumber as PersonNumber, //added by FXU
//_PersonWorkAgreement_1._BusinessPartner.BusinessPartnerUUID as BusinessPartnerUUID,
_PersonWorkAgreement_1.BusinessPartner,
_PersonWorkAgreement_1,
_PersonWorkAgreement_1._WorkForcePersonBPDetails.BusinessPartnerUUID as BusinessPartnerUUID,
// _BusinessPartner,
// _PersonWorkAgreement_1 ,
_PrjBlgElmEntrJrnlEntrLinkTP._GLAccountLineItemRawData.WorkItem as WorkItem,
_PrjBlgElmEntrJrnlEntrLinkTP.PersonnelNumber as PersonnelNumber,
_ProjectBillingRequestTP.SalesDocument as SalesDocument,
// _WorkItem,
_WorkPackageItem,
_ProjectBillingRequestTP._SalesOrder.SalesOrganization,
_ProjectBillingRequestTP._SalesOrder.DistributionChannel,
_ProjectBillingRequestTP._SalesOrder.SoldToParty,
@Consumption.hidden: true
_ProjectBillingRequestTP.ProjectBillingCategory,
_CustomerMaterial,
concat(ltrim(_ProjectBillingRequestTP.SalesDocument,'0'),concat('/',ltrim(ProjectBillingRequestItem.SalesDocumentItem,'0')) ) as SalesOrderItemConcatenatedID,
// _ProjectBillingElementEntryTP._PrjBlgElmEntrBillgPlnLink._CustProjSlsOrdItmBillgPlnItm.BillingPlanItemUsage as BillingPlanItemUsage,
// _ProjectBillingElementEntryTP._PrjBlgElmEntrBillgPlnLink._CustProjSlsOrdItmBillgPlnItm.BillingPlanBillingDate as BillingPlanBillingDate,
//_ProjectBillingElementEntryTP._Material._Text[1:Language = $session.system_language].MaterialName as MaterialName,
case
when _PrjBlgElmEntrJrnlEntrLinkTP._BillableControl.BillingControlCategory = 'NON_BILL'
then _PrjBlgElmEntrJrnlEntrLinkTP._BillableControl.BillingControlCategory
when _PrjBlgElmEntrJrnlEntrLinkTP._BillableControl.BillingControlCategory is null
then 'BILLABLE'
end as BillingControlCategory,
//
_BillingControlCategoryText,
// _ProjectBillingElementEntryTP._PrjBlgElmEntrBillgPlnLink.BillingPlan as BillingPlan,
_ProjectBillingElementEntryTP.ProjBillgElmntEntrSourceType as ProjBillgElmntEntrSourceType,
_PrjBlgElmEntrJrnlEntrLinkTP.Ledger,
_PrjBlgElmEntrJrnlEntrLinkTP.CompanyCode,
_PrjBlgElmEntrJrnlEntrLinkTP.FiscalYear,
_PrjBlgElmEntrJrnlEntrLinkTP.LedgerGLLineItem as LedgerGLLineItem,
_PrjBlgElmEntrJrnlEntrLinkTP.AccountingDocument as AccountingDocument,
//concat(_PrjBlgElmEntrJrnlEntrLinkTP.AccountingDocument,concat('/',concat(_PrjBlgElmEntrJrnlEntrLinkTP.LedgerGLLineItem,concat('/',_PrjBlgElmEntrJrnlEntrLinkTP.FiscalYear))) ) as JournalEntrySemanticKey,
// case
// when _ProjectBillingElementEntryTP._ProjectBillingElement._ProjBillingDueDate.DueBillingDate > $session.system_date
// or _ProjectBillingElementEntryTP._ProjectBillingElement._ProjBillingDueDate.DueBillingDate is null //is initial
// or _ProjectBillingElementEntryTP._ProjectBillingElement._ProjBillingDueDate.DueBillingDate = '00000000'
// // or _ProjectBillingElementEntryTP._ProjectBillingElement._ProjBillingDueDate.IsPostedOnAccount = 'X'
// then cast(substring( cast( tstmp_current_utctimestamp() as abap.char(17) ), 1, 8 ) as fkdat)
//
// else cast(_ProjectBillingElementEntryTP._ProjectBillingElement._ProjBillingDueDate.DueBillingDate as fkdat)
// end as DueBillingDate
//_ProjectBillingElementEntryTP.WBSElementInternalID,
// case
// when _ProjectBillingElementEntryTP._ProjectBillingElement.BillingPlanBillingDate > $session.system_date
// or _ProjectBillingElementEntryTP._ProjectBillingElement.BillingPlanBillingDate is null //is initial
// or _ProjectBillingElementEntryTP._ProjectBillingElement.BillingPlanBillingDate = '00000000'
// then cast(substring( cast( tstmp_current_utctimestamp() as abap.char(17) ), 1, 8 ) as fkdat)
//
// else cast(_ProjectBillingElementEntryTP._ProjectBillingElement.BillingPlanBillingDate as fkdat)
// end as DueBillingDate
// case
// when _ProjBillingDueDate(P_BillingPlanItemUsage: '').DueBillingDate > $session.system_date
// or _ProjBillingDueDate(P_BillingPlanItemUsage: '').DueBillingDate is null //is initial
// or _ProjBillingDueDate(P_BillingPlanItemUsage: '').DueBillingDate = '00000000'
// then cast(substring( cast( tstmp_current_utctimestamp() as abap.char(17) ), 1, 8 ) as fkdat)
//
// else cast(_ProjBillingDueDate(P_BillingPlanItemUsage: '').DueBillingDate as fkdat)
// end as DueBillingDate
//_ProjectBillingElementEntryTP._ProjectBillingElement.BillingPlanBillingDate as DueBillingDate
//ProjectBillingRequestItem._ProjBillingDueDate( P_BillingPlanItemUsage: '' ).DueBillingDate,
--_ProjectBillingElementEntryTP._WBSElement.WBSElementExternalID as WBSElement,
_ProjectBillingElementEntryTP._WBSElement.WBSElementObject as WBSElementObject,
--_ProjectBillingElementEntryTP._WBSElement.WBSElementInternalID as WBSElementInternalID,
--ProjectBillingRequestItem._ProjBillingDueDate.DueBillingDate,
_DueBillingDate.DueBillingDate as DueBillingDate,
// _ProjBillingElmntBillngDate. DueBillingDate,
//_ProjectBillingElmntDueDate2.DueBillingDate as BillingDate,
--_SalesDocumentItem,
--_SalesDocItemBillPlan, //plan category is getting from PBE
ProjectBillingRequestItem._Material,
ProjectBillingRequestItem.ProjBillgTransfCostQtyCode,
ProjectBillingRequestItem.ProjBillgItmValIsNotActualCost,
_ProjectBillingElementEntryTP.PrjBlgElmEntryLongText as PrjBlgElmEntryLongText,
ProjectBillingRequestItem.ProjBillingRequestItemLongText as ProjBillingRequestItemLongText,
_PrjBlgElmEntrJrnlEntrLinkTP._GLAccountLineItemRawData.TimeSheetOvertimeCategory as TimeSheetOvertimeCategory,
$session.user_date as UserLocalDate,
_TimeSheetOvertimeCatText,
_PrjBlgElmEntrJrnlEntrLink,
ProjectBillingRequestItem._ProjectBillingRequest
// _BillableControl
}
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA