I_ProjectBillingElementEntryTP

DDL: I_PROJECTBILLINGELEMENTENTRYTP SQL: IPRJBLGELMENTRTP Type: view_entity TRANSACTIONAL Package: VDM_PROJECTBILLINGELEMENT_TP

Entry Details of Billing Element

I_ProjectBillingElementEntryTP is a Transactional CDS View that provides data about "Entry Details of Billing Element" in SAP S/4HANA. It reads from 1 data source (I_ProjectBillingElementEntry) and exposes 56 fields with key field ProjBillgElmntEntrItmUUID. It has 3 associations to related views. Part of development package VDM_PROJECTBILLINGELEMENT_TP.

Data Sources (1)

SourceAliasJoin Type
I_ProjectBillingElementEntry ProjectBillingElementEntry from

Associations (3)

CardinalityTargetAliasCondition
[0..*] I_ProjectBillgElmntEntrFlwTP _ProjectBillgElmntEntrFlw
[0..1] I_PrjBlgElmEntrJrnlEntrLinkTP _PrjBlgElmEntrJrnlEntrLink
[0..1] I_PrjBlgElmEntrBillgPlnLinkTP _PrjBlgElmEntrBillgPlnLink

Annotations (9)

NameValueLevelField
VDM.viewType #TRANSACTIONAL view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Entry Details of Billing Element view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #A view
VDM.lifecycle.status #DEPRECATED view
VDM.lifecycle.successor R_ProjectBillingElementEntryTP view

Fields (56)

KeyFieldSource TableSource FieldDescription
KEY ProjBillgElmntEntrItmUUID I_ProjectBillingElementEntry ProjBillgElmntEntrItmUUID
ProjectBillingElementUUID I_ProjectBillingElementEntry ProjectBillingElementUUID
ProjBillgElmntEntrSourceType I_ProjectBillingElementEntry ProjBillgElmntEntrSourceType
WBSElementInternalID I_ProjectBillingElementEntry WBSElementInternalID
Material I_ProjectBillingElementEntry Material
QuantityUnit I_ProjectBillingElementEntry QuantityUnit
ProjBillgElmntEntrIsCancelled I_ProjectBillingElementEntry ProjBillgElmntEntrIsCancelled
PricingDate I_ProjectBillingElementEntry PricingDate
NetPriceAmountIsManual I_ProjectBillingElementEntry NetPriceAmountIsManual
TransactionCurrency I_ProjectBillingElementEntry TransactionCurrency
ProjectCurrency I_ProjectBillingElementEntry ProjectCurrency
GlobalCurrency I_ProjectBillingElementEntry GlobalCurrency
DocumentCurrency I_ProjectBillingElementEntry DocumentCurrency
ServicesRenderedDate I_ProjectBillingElementEntry ServicesRenderedDate
OriginalTotalQuantity I_ProjectBillingElementEntry OriginalTotalQuantity
OriginalAmountInTransacCrcy I_ProjectBillingElementEntry OriginalAmountInTransacCrcy
OriginalAmountInProjectCrcy I_ProjectBillingElementEntry OriginalAmountInProjectCrcy
OriginalAmountInGlobalCurrency I_ProjectBillingElementEntry OriginalAmountInGlobalCurrency
OpenQuantity I_ProjectBillingElementEntry OpenQuantity
OpenAmountInTransCrcy I_ProjectBillingElementEntry OpenAmountInTransCrcy
OpenAmountInProjectCurrency I_ProjectBillingElementEntry OpenAmountInProjectCurrency
OpenAmountInGlobalCurrency I_ProjectBillingElementEntry OpenAmountInGlobalCurrency
ToBeBilledQuantity I_ProjectBillingElementEntry ToBeBilledQuantity
ToBeBilledAmtInTransCrcy I_ProjectBillingElementEntry ToBeBilledAmtInTransCrcy
ToBeBilledAmtInProjCurrency I_ProjectBillingElementEntry ToBeBilledAmtInProjCurrency
ToBeBilledAmtInGlobCurrency I_ProjectBillingElementEntry ToBeBilledAmtInGlobCurrency
ToBeWrittenOffQuantity I_ProjectBillingElementEntry ToBeWrittenOffQuantity
ToBeWrittenOffAmtInTransCrcy I_ProjectBillingElementEntry ToBeWrittenOffAmtInTransCrcy
ToBeWrittenOffAmtInProjectCrcy I_ProjectBillingElementEntry ToBeWrittenOffAmtInProjectCrcy
ToBeWrittenOffAmtInGlobalCrcy I_ProjectBillingElementEntry ToBeWrittenOffAmtInGlobalCrcy
ToBePostponedQuantity I_ProjectBillingElementEntry ToBePostponedQuantity
ToBePostponedAmtInTransacCrcy I_ProjectBillingElementEntry ToBePostponedAmtInTransacCrcy
ToBePostponedAmtInProjectCrcy I_ProjectBillingElementEntry ToBePostponedAmtInProjectCrcy
ToBePostponedAmtInGlobalCrcy I_ProjectBillingElementEntry ToBePostponedAmtInGlobalCrcy
BillableRevenueAmtInDocCrcy I_ProjectBillingElementEntry BillableRevenueAmtInDocCrcy
ManualNetPriceAmtInDocCrcy I_ProjectBillingElementEntry ManualNetPriceAmtInDocCrcy
NetPriceAmountInDocCrcy I_ProjectBillingElementEntry NetPriceAmountInDocCrcy
OriginalRevenueAmtInDocCrcy I_ProjectBillingElementEntry OriginalRevenueAmtInDocCrcy
OpenRevenueAmtInDocCrcy I_ProjectBillingElementEntry OpenRevenueAmtInDocCrcy
ProjBillgElmntEntrIsReversed I_ProjectBillingElementEntry ProjBillgElmntEntrIsReversed
ProjBillgElmntEntrIsReversal I_ProjectBillingElementEntry ProjBillgElmntEntrIsReversal
PrjBlgElmEntrCanclnSrceCode I_ProjectBillingElementEntry PrjBlgElmEntrCanclnSrceCode
PrjBlgElmEntrCreatedByUser I_ProjectBillingElementEntry PrjBlgElmEntrCreatedByUser
PrjBlgElmEntrCreatedAtDteTme I_ProjectBillingElementEntry PrjBlgElmEntrCreatedAtDteTme
PrjBlgElmEntrLastChgdByUser I_ProjectBillingElementEntry PrjBlgElmEntrLastChgdByUser
PrjBlgElmEntrLastChgdAtDteTme I_ProjectBillingElementEntry PrjBlgElmEntrLastChgdAtDteTme
BillingWBSElementInternalID
PrjBlgElmEntryLongText I_ProjectBillingElementEntry PrjBlgElmEntryLongText
ProjBillgTransfCostQtyCode I_ProjectBillingElementEntry ProjBillgTransfCostQtyCode
ProjBillgItmValIsNotActualCost I_ProjectBillingElementEntry ProjBillgItmValIsNotActualCost
_PrjBlgElmEntrBillgPlnLink _PrjBlgElmEntrBillgPlnLink
_ProjectBillingElement _ProjectBillingElement
_ProjectBillgElmntEntrFlw _ProjectBillgElmntEntrFlw
_PrjBlgElmEntrJrnlEntrLink _PrjBlgElmEntrJrnlEntrLink
_Material I_ProjectBillingElementEntry _Material
_WBSElement _WBSElement
//@AbapCatalog.sqlViewName: 'IPRJBLGELMENTRTP'

@VDM.viewType: #TRANSACTIONAL
@VDM.lifecycle.contract.type: #SAP_INTERNAL_API
//@ClientHandling.algorithm: #SESSION_VARIABLE

//@AbapCatalog.compiler.compareFilter: true

//@AbapCatalog.preserveKey: true

@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Entry Details of Billing Element'

@ObjectModel.usageType: {
    sizeCategory: #L,
    dataClass:  #TRANSACTIONAL,
    serviceQuality: #A
} 
@VDM.lifecycle.status: #DEPRECATED
@VDM.lifecycle.successor: 'R_ProjectBillingElementEntryTP'

define view entity I_ProjectBillingElementEntryTP
  as select from I_ProjectBillingElementEntry as ProjectBillingElementEntry

  association to parent I_ProjectBillingElementTP as _ProjectBillingElement on $projection.ProjectBillingElementUUID = _ProjectBillingElement.ProjectBillingElementUUID
 // association [0..1] to I_Material                       as _Material              on $projection.Material = _Material.Material

 
//  association [0..1] to I_PrjBlgElmEntrBillgPlnLinkTP    as _PrjBlgElmEntryBillgPlnLink    on  $projection.ProjBillgElmntEntrItmUUID = _PrjBlgElmEntryBillgPlnLink.ProjBillgElmntEntrItmUUID

//  association [0..1] to I_WBSElementBasicData            as _WBSElementBasicData           on  $projection.WBSElementInternalID      = _WBSElementBasicData.WBSElementInternalID

  // the below association is exclusively for DCL only.

// commented below association as used I_WBSElementBasicData in DCL   

//  association [0..1] to I_WBSElementBasicData            as _WBSElement           on  $projection.BillingWBSElementInternalID      = _WBSElement.WBSElementInternalID

    
//    association [0..1] to I_PrjBlgElmEntrBillgPlnLinkTP    as _PrjBlgElmEntrBillgPlnLink    on  $projection.ProjBillgElmntEntrItmUUID = _PrjBlgElmEntrBillgPlnLink.ProjBillgElmntEntrItmUUID

 
  composition [0..*] of I_ProjectBillgElmntEntrFlwTP     as _ProjectBillgElmntEntrFlw
  composition [0..1] of I_PrjBlgElmEntrJrnlEntrLinkTP    as _PrjBlgElmEntrJrnlEntrLink
  composition [0..1] of I_PrjBlgElmEntrBillgPlnLinkTP    as _PrjBlgElmEntrBillgPlnLink

{
  key ProjectBillingElementEntry.ProjBillgElmntEntrItmUUID,
      ProjectBillingElementEntry.ProjectBillingElementUUID,
      ProjectBillingElementEntry.ProjBillgElmntEntrSourceType,
      ProjectBillingElementEntry.WBSElementInternalID,
      ProjectBillingElementEntry.Material,
      ProjectBillingElementEntry.QuantityUnit,
      ProjectBillingElementEntry.ProjBillgElmntEntrIsCancelled,
      ProjectBillingElementEntry.PricingDate,
      ProjectBillingElementEntry.NetPriceAmountIsManual,
      ProjectBillingElementEntry.TransactionCurrency,
      ProjectBillingElementEntry.ProjectCurrency,
      ProjectBillingElementEntry.GlobalCurrency,
      ProjectBillingElementEntry.DocumentCurrency,
      ProjectBillingElementEntry.ServicesRenderedDate,
      ProjectBillingElementEntry.OriginalTotalQuantity,
      ProjectBillingElementEntry.OriginalAmountInTransacCrcy,
      ProjectBillingElementEntry.OriginalAmountInProjectCrcy,
      ProjectBillingElementEntry.OriginalAmountInGlobalCurrency,
      ProjectBillingElementEntry.OpenQuantity,
      ProjectBillingElementEntry.OpenAmountInTransCrcy,
      ProjectBillingElementEntry.OpenAmountInProjectCurrency,
      ProjectBillingElementEntry.OpenAmountInGlobalCurrency,
      ProjectBillingElementEntry.ToBeBilledQuantity,
      ProjectBillingElementEntry.ToBeBilledAmtInTransCrcy,
      ProjectBillingElementEntry.ToBeBilledAmtInProjCurrency,
      ProjectBillingElementEntry.ToBeBilledAmtInGlobCurrency,
      ProjectBillingElementEntry.ToBeWrittenOffQuantity,
      ProjectBillingElementEntry.ToBeWrittenOffAmtInTransCrcy,
      ProjectBillingElementEntry.ToBeWrittenOffAmtInProjectCrcy,
      ProjectBillingElementEntry.ToBeWrittenOffAmtInGlobalCrcy,
      ProjectBillingElementEntry.ToBePostponedQuantity,
      ProjectBillingElementEntry.ToBePostponedAmtInTransacCrcy,
      ProjectBillingElementEntry.ToBePostponedAmtInProjectCrcy,
      ProjectBillingElementEntry.ToBePostponedAmtInGlobalCrcy,
      ProjectBillingElementEntry.BillableRevenueAmtInDocCrcy,
      ProjectBillingElementEntry.ManualNetPriceAmtInDocCrcy,
      ProjectBillingElementEntry.NetPriceAmountInDocCrcy,
      ProjectBillingElementEntry.OriginalRevenueAmtInDocCrcy,
      ProjectBillingElementEntry.OpenRevenueAmtInDocCrcy,
      ProjectBillingElementEntry.ProjBillgElmntEntrIsReversed,
      ProjectBillingElementEntry.ProjBillgElmntEntrIsReversal,
      ProjectBillingElementEntry.PrjBlgElmEntrCanclnSrceCode,
    //  ProjectBillingElementEntry.MaterialGroup,

      @Semantics.user.createdBy: true
      ProjectBillingElementEntry.PrjBlgElmEntrCreatedByUser,
      @Semantics.systemDateTime.createdAt: true
      ProjectBillingElementEntry.PrjBlgElmEntrCreatedAtDteTme,
      @Semantics.user.lastChangedBy: true
      ProjectBillingElementEntry.PrjBlgElmEntrLastChgdByUser,
      @Semantics.systemDateTime.lastChangedAt: true
      ProjectBillingElementEntry.PrjBlgElmEntrLastChgdAtDteTme,
     //Exposing for DCL 

 //    _WBSElement,

      //Exposing for DCL

      ProjectBillingElementEntry._ProjectBillingElement.BillingWBSElementInternalID,
      ProjectBillingElementEntry.PrjBlgElmEntryLongText,
      ProjectBillingElementEntry.ProjBillgTransfCostQtyCode,
      ProjectBillingElementEntry.ProjBillgItmValIsNotActualCost,
//      //FXU to test segmented tabs

//      case when ProjBillgElmntEntrSourceID = 'A'

//      then cast('B' as pbe_segmentfilter)

//      else cast('P' as pbe_segmentfilter)

//      end as time_range,



// FXU Segmented button logic shifting to below views

// Conditions added to handle Openquantity as well IM : 2070186054

    
//    

//      case

//         when Material = 'A002' then ''

//         else 

//           case

//            when ToBeBilledAmtInTransCrcy is not initial

//            then cast ('B' as pbe_segmentfilter)

//            when ToBeBilledAmtInTransCrcy is initial and OpenAmountInTransCrcy = ToBePostponedAmtInTransacCrcy 

//            then cast ('P' as pbe_segmentfilter)

//            when ToBeBilledAmtInTransCrcy is initial and OpenAmountInTransCrcy = ToBeWrittenOffAmtInTransCrcy

//            then cast ('W' as pbe_segmentfilter)

//            else cast ('B' as pbe_segmentfilter)

//            end                                                                                                                                                                                                                                                                

//        end                                                                as AvailyCtrlTimeRangeType,        

//        

// FXU Segmented button logic shifting to below views



      _PrjBlgElmEntrBillgPlnLink,
      _ProjectBillingElement,
      _ProjectBillgElmntEntrFlw,
      _PrjBlgElmEntrJrnlEntrLink,
//     _PrjBlgElmEntrBillgPlnLink,

      ProjectBillingElementEntry._Material as _Material,
     // _WBSElementBasicData

      _WBSElement
    //  ProjectBillingElementEntry.SalesDocument,

    //  ProjectBillingElementEntry.ProjectBillingCategory,

    //  ProjectBillingElementEntry._SalesDocument

      

}
// where ProjBillgElmntEntrIsCancelled != 'X'