I_ProjectBasicData

DDL: I_PROJECTBASICDATA Type: view BASIC

Project Basic Data

I_ProjectBasicData is a Basic CDS View (Dimension) that provides data about "Project Basic Data" in SAP S/4HANA. It reads from 1 data source (proj) and exposes 34 fields with key field ProjectInternalID. It has 8 associations to related views.

Data Sources (1)

SourceAliasJoin Type
proj proj from

Associations (8)

CardinalityTargetAliasCondition
[0..1] I_WBSElementBasicData _RootWBSElement $projection.ProjectInternalID = _RootWBSElement.ProjectInternalID and $projection.ProjectExternalID = _RootWBSElement.WBSElementExternalID
[0..*] I_WBSElementBasicData _WBSElement $projection.ProjectInternalID = _WBSElement.ProjectInternalID
[0..1] I_CompanyCode _CompanyCode $projection.CompanyCode = _CompanyCode.CompanyCode
[0..1] I_ControllingArea _ControllingArea $projection.ControllingArea = _ControllingArea.ControllingArea
[0..1] I_ProfitCenter _ProfitCenter $projection.ControllingArea = _ProfitCenter.ControllingArea and $projection.ProfitCenter = _ProfitCenter.ProfitCenter and $projection.PlannedStartDate <= _ProfitCenter.ValidityEndDate and $projection.PlannedStartDate >= _ProfitCenter.ValidityStartDate
[0..*] I_ProfitCenter _ProfitCenter2 $projection.ControllingArea = _ProfitCenter2.ControllingArea and $projection.ProfitCenter = _ProfitCenter2.ProfitCenter
[0..1] I_AvailabilityCtrlProfile _AvailabilityCtrlProfile $projection.AvailabilityControlProfile = _AvailabilityCtrlProfile.AvailabilityControlProfile
[0..1] I_EntProjectSettlementType _EntProjectSettlementType $projection.EntProjectSettlementType = _EntProjectSettlementType.EntProjectSettlementType

Annotations (15)

NameValueLevelField
AbapCatalog.sqlViewName IPROJECTBSCDATA view
AbapCatalog.compiler.compareFilter true view
Analytics.dataCategory #DIMENSION view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Project Basic Data view
VDM.viewType #BASIC view
ClientHandling.algorithm #SESSION_VARIABLE view
AbapCatalog.preserveKey true view
Metadata.ignorePropagatedAnnotations true view
Metadata.allowExtensions true view
ObjectModel.compositionRoot true view
ObjectModel.representativeKey ProjectInternalID view
ObjectModel.usageType.serviceQuality #B view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #TRANSACTIONAL view

Fields (34)

KeyFieldSource TableSource FieldDescription
KEY ProjectInternalID
ProjectExternalID proj pspid_edit
Project proj pspid
ProjectDescription
ProjectProfileCode proj profl
CompanyCode
ControllingArea
FunctionalArea
ProfitCenter proj prctr
ProjectObject proj objnr
PlannedStartDate proj plfaz
PlannedEndDate proj plsez
AvailabilityControlProfile proj avc_profile
AvailabilityControlIsActive proj avc_active
JointVenture proj vname
JointVentureCostRecoveryCode proj recid
JointVentureEquityType proj etype
JntVntrProjectType proj otype
JntIntrstBillgClass proj jibcl
JntIntrstBillgSubClass proj jibsa
Location proj stort
ProjectCurrency proj cpcurr
TaxJurisdiction proj txjcd
EntProjectSettlementType proj settlementtype
EntProjHasProjectStockEnabled proj besta
Plant proj werks
_WBSElement _WBSElement
_CompanyCode _CompanyCode
_ControllingArea _ControllingArea
_ProfitCenter _ProfitCenter
_ProfitCenter2 _ProfitCenter2
_AvailabilityCtrlProfile _AvailabilityCtrlProfile
_EntProjectSettlementType _EntProjectSettlementType
_RootWBSElement _RootWBSElement
@AbapCatalog: {
  sqlViewName: 'IPROJECTBSCDATA',
  compiler.compareFilter: true
}
@Analytics: { dataCategory: #DIMENSION }
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Project Basic Data'
@VDM.viewType: #BASIC
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.preserveKey:true
@Metadata.ignorePropagatedAnnotations:true

@Metadata.allowExtensions: true

@ObjectModel: {
    compositionRoot: true,
    //Keys

    representativeKey: 'ProjectInternalID',
    semanticKey: [ 'Project' ],

    usageType: {
        serviceQuality: #B,
        sizeCategory : #L,
        dataClass: #TRANSACTIONAL
    },
    
    supportedCapabilities: [ #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE, #CDS_MODELING_ASSOCIATION_TARGET, #ANALYTICAL_DIMENSION ]
}



define view I_ProjectBasicData
  as select from proj
  association [0..1] to I_WBSElementBasicData     as _RootWBSElement          on  $projection.ProjectInternalID = _RootWBSElement.ProjectInternalID 
                                                                                  and $projection.ProjectExternalID = _RootWBSElement.WBSElementExternalID      
   
  //association [0..1] to prps     as _RootWBSElement          on  $projection.ProjectInternalID = _RootWBSElement.psphi 

   //                                                                              and _RootWBSElement.stufe = 1                                                                          


  association [0..*] to I_WBSElementBasicData     as _WBSElement              on  $projection.ProjectInternalID = _WBSElement.ProjectInternalID
  association [0..1] to I_CompanyCode             as _CompanyCode             on  $projection.CompanyCode = _CompanyCode.CompanyCode
  association [0..1] to I_ControllingArea         as _ControllingArea         on  $projection.ControllingArea = _ControllingArea.ControllingArea
  //association [0..1] to I_FunctionalArea as _FunctionalArea on $projection.FunctionalArea = _FunctionalArea.FunctionalArea

  association [0..1] to I_ProfitCenter            as _ProfitCenter            on  $projection.ControllingArea  =  _ProfitCenter.ControllingArea
                                                                              and $projection.ProfitCenter     =  _ProfitCenter.ProfitCenter
                                                                              and $projection.PlannedStartDate <= _ProfitCenter.ValidityEndDate
                                                                              and $projection.PlannedStartDate >= _ProfitCenter.ValidityStartDate
                                                                              
  association [0..*] to I_ProfitCenter            as _ProfitCenter2           on  $projection.ControllingArea  =  _ProfitCenter2.ControllingArea
                                                                              and $projection.ProfitCenter     =  _ProfitCenter2.ProfitCenter
                                                                              
  association [0..1] to I_AvailabilityCtrlProfile as _AvailabilityCtrlProfile on  $projection.AvailabilityControlProfile = _AvailabilityCtrlProfile.AvailabilityControlProfile
  //Hierarchy settlement changes

  association [0..1] to I_EntProjectSettlementType as _EntProjectSettlementType   on  $projection.EntProjectSettlementType = _EntProjectSettlementType.EntProjectSettlementType
 
  
  
{

      //Entity description fields

  key cast ( proj.pspnr as ps_s4_proj_pspnr preserving type )   as ProjectInternalID,
      @ObjectModel.text.element: 'ProjectDescription'
      proj.pspid_edit                                           as ProjectExternalID,
      proj.pspid                                                as Project,
      cast ( proj.post1 as ps_s4_proj_post1_v1 preserving type) as ProjectDescription,
      proj.profl                                                as ProjectProfileCode,



      //Organisational fields

      @ObjectModel.foreignKey.association: '_CompanyCode'
      cast ( proj.vbukr as bukrs preserving type )              as CompanyCode,
      @ObjectModel.foreignKey.association: '_ControllingArea'
      cast ( proj.vkokr as kokrs preserving type )              as ControllingArea,
      //@ObjectModel.foreignKey.association: '_FunctionalArea'

      cast ( proj.func_area as fkber preserving type )          as FunctionalArea,
      @ObjectModel.foreignKey.association: '_ProfitCenter2'
      proj.prctr                                                as ProfitCenter,

      //Dimensions

      proj.objnr                                                as ProjectObject,

      //Dates

      @Semantics.calendar.dayOfMonth: true
      proj.plfaz                                                as PlannedStartDate,
      @Semantics.calendar.dayOfMonth: true
      proj.plsez                                                as PlannedEndDate,

      proj.avc_profile                                          as AvailabilityControlProfile,
      proj.avc_active                                           as AvailabilityControlIsActive,
      //Joint venture fields

      proj.vname                                                as JointVenture,
      proj.recid                                                as JointVentureCostRecoveryCode,
      proj.etype                                                as JointVentureEquityType,
      proj.otype                                                as JntVntrProjectType,
      proj.jibcl                                                as JntIntrstBillgClass,
      proj.jibsa                                                as JntIntrstBillgSubClass,
      proj.stort                                                as Location,
      proj.cpcurr                                               as ProjectCurrency,
      // Tax Jurisdiction Code

      proj.txjcd                                                as TaxJurisdiction,
      //Hierarchy settlement changes        

      proj.settlementtype                                     as EntProjectSettlementType,
      // Enabling Project stock

      proj.besta                                                as EntProjHasProjectStockEnabled,
      @Consumption.hidden: true
      proj.werks                                                as Plant,      
      

      //Associations

      @ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
      _WBSElement,
      _CompanyCode,
      _ControllingArea,
      //_FunctionalArea,

      //@Consumption.filter.businessDate.at : true

      _ProfitCenter,
      @Consumption.hidden: true
      _ProfitCenter2,
      _AvailabilityCtrlProfile,
            //Hierarchy settlement changes

      _EntProjectSettlementType,
      @Consumption.hidden: true
      _RootWBSElement
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"PROJ"
],
"ASSOCIATED":
[
"I_AVAILABILITYCTRLPROFILE",
"I_COMPANYCODE",
"I_CONTROLLINGAREA",
"I_ENTPROJECTSETTLEMENTTYPE",
"I_PROFITCENTER",
"I_WBSELEMENTBASICDATA"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/