R_ProjectBillingRequestItemTP

DDL: R_PROJECTBILLINGREQUESTITEMTP SQL: RPROJBILREQITM Type: view_entity TRANSACTIONAL

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)

SourceAliasJoin Type
I_ProjectBillingRequestItem ProjectBillingRequestItem from

Associations (12)

CardinalityTargetAliasCondition
[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)

NameValueLevelField
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)

KeyFieldSource TableSource FieldDescription
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


}