I_ProjectData_2

DDL: I_PROJECTDATA_2 Type: view BASIC

Appl interface for Project details

I_ProjectData_2 is a Basic CDS View (Dimension) that provides data about "Appl interface for Project details" in SAP S/4HANA. It reads from 1 data source (proj) and exposes 94 fields with key field ProjectInternalID. It has 13 associations to related views.

Data Sources (1)

SourceAliasJoin Type
proj proj from

Associations (13)

CardinalityTargetAliasCondition
[0..*] I_WBSElementData_2 _WBSElement $projection.ProjectInternalID = _WBSElement.ProjectInternalID
[0..1] I_CompanyCode _CompanyCode $projection.CompanyCode = _CompanyCode.CompanyCode
[0..1] I_ControllingArea _ControllingArea $projection.ControllingArea = _ControllingArea.ControllingArea
[0..*] I_ProfitCenter _ProfitCenter $projection.ControllingArea = _ProfitCenter.ControllingArea and $projection.ProfitCenter = _ProfitCenter.ProfitCenter
[1..1] I_BusinessArea _BusinessArea $projection.BusinessArea = _BusinessArea.BusinessArea
[1..1] I_Plant _Plant $projection.Plant = _Plant.Plant
[1..1] I_ProjectProfileCode _ProjectProfileCode $projection.ProjectProfileCode = _ProjectProfileCode.ProjectProfileCode
[1..1] I_FunctionalArea _FunctionalArea $projection.FunctionalArea = _FunctionalArea.FunctionalArea
[0..1] I_FactoryCalendar _FactoryCalendar $projection.FactoryCalendar = _FactoryCalendar.FactoryCalendar ---Extension
[1..1] E_Project_2 _Extension $projection.ProjectInternalID = _Extension.ProjectInternalID
[0..1] I_ProjectResponsiblePerson _ResponsiblePerson $projection.ResponsiblePerson = _ResponsiblePerson.ResponsiblePerson
[0..1] I_ProjectApplicant _ProjectApplicant $projection.ApplicantCode = _ProjectApplicant.ApplicantCode
[0..1] I_ProjectObjectShortText _ProjectShortText _ProjectShortText.Language = $session.system_language and _ProjectShortText.ProjectApplicationIdentifier = 'PS' and _ProjectShortText.ProjectObjectType = 'PD' and $projection.ProjectObject = _ProjectShortText.ProjectObjectNode

Annotations (19)

NameValueLevelField
AbapCatalog.sqlViewName IPROJECTDATA2 view
AbapCatalog.compiler.compareFilter true view
Analytics.dataCategory #DIMENSION view
Analytics.dataExtraction.enabled true view
Analytics.dataExtraction.delta.changeDataCapture.automatic true view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Appl interface for Project details view
VDM.viewType #BASIC view
ClientHandling.algorithm #SESSION_VARIABLE view
AbapCatalog.preserveKey true view
Metadata.ignorePropagatedAnnotations true view
Analytics.internalName #LOCAL view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API 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 #MASTER view

Fields (94)

KeyFieldSource TableSource FieldDescription
KEY ProjectInternalID
ProjectExternalID proj pspid_edit
Project
ProjectDescription
ProjectProfileCode proj profl
CompanyCode
ControllingArea
FunctionalArea
ProfitCenter proj prctr
ProjectObject proj objnr
PlannedStartDate proj plfaz
PlannedEndDate proj plsez
WorkCenterLocation proj stort
TaxJurisdiction proj txjcd
ResponsiblePerson proj vernr
ResponsiblePersonName
ApplicantCode
ApplicantName proj astna
CreatedByUser proj ernam
CreationDate proj erdat
LastChangedByUser proj aenam
LastChangeDate
BasicDatesLastScheduledDate proj aedte
FcstdDatesLastScheduledDate
FactoryCalendar
SchedulingDurationUnit
BusinessArea
Plant proj werks
Currency
BudgetProfile proj bprof
PlanningProfile proj pprof
InvestmentProfile proj imprf
ProjInterestCalcProfile
ResultAnalysisInternalID proj abgsl
PartnerDeterminationProcedure proj pargr
ControllingObjectClass
NetworkProfile proj vprof
WBSSchedulingProfile
PlanningMethForProjBasicDate
PlanningMethForProjFcstdDate
NetworkAssignmentType proj zuord
WBSIsStatisticalWBSElement proj xstat
WBSIsMarkedForIntegratedPlng proj plint
ProjectHasOwnStock
InventorySpecialStockValnType proj kzbws
WBSIsMarkedForAutomReqmtGrpg proj grtop
SalesOrganization proj vkorg
DistributionChannel proj vtweg
Language proj txtsp
WBSElementMaskID proj kimsk
Division proj spart
DynItemProcessorPrfl proj dppprof
StatusProfile proj stspd
WBSStatusProfile proj stspr
SimulationProfile proj smprf
SchedulingScenario proj schtyp
DistributionProfile proj pgprf
JointVenture proj vname
JointVentureCostRecoveryCode proj recid
JointVentureEquityType proj etype
JointVentureObjectType proj otype
JntIntrstBillgClass proj jibcl
JntIntrstBillgSubClass proj jibsa
FreeDefinedTableFieldSemantic proj slwid
FreeDefinedAttribute01
FreeDefinedAttribute02
FreeDefinedAttribute03
FreeDefinedAttribute04
FreeDefinedQuantity1
FreeDefinedQuantity1Unit
FreeDefinedQuantity2
FreeDefinedQuantity2Unit
FreeDefinedAmount1
FreeDefinedAmount1Currency
FreeDefinedAmount2
FreeDefinedAmount2Currency
FreeDefinedDate1
FreeDefinedDate2
FreeDefinedIndicator1
FreeDefinedIndicator2
StatusCombinationCode proj proj_status
IsMarkedForDeletion
_WBSElement _WBSElement
_CompanyCode _CompanyCode
_ControllingArea _ControllingArea
_ProfitCenter _ProfitCenter
_BusinessArea _BusinessArea
_Plant _Plant
_ProjectProfileCode _ProjectProfileCode
_FunctionalArea _FunctionalArea
_FactoryCalendar _FactoryCalendar
_ResponsiblePerson _ResponsiblePerson
_ProjectApplicant _ProjectApplicant
_ProjectShortText _ProjectShortText
@AbapCatalog: {
  sqlViewName: 'IPROJECTDATA2',
  compiler.compareFilter: true
}
@Analytics: { dataCategory: #DIMENSION, dataExtraction: {enabled: true, delta.changeDataCapture: {automatic: true}} }
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Appl interface for Project details'
@VDM.viewType: #BASIC
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.preserveKey:true
@Metadata.ignorePropagatedAnnotations:true
@Analytics.internalName: #LOCAL
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
@Metadata.allowExtensions: true

@ObjectModel: {
    compositionRoot: true,
    //Keys

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

    usageType: {
        serviceQuality: #B,
        sizeCategory : #L,
        dataClass: #MASTER
    },

    supportedCapabilities: [ #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE, #CDS_MODELING_ASSOCIATION_TARGET, #ANALYTICAL_DIMENSION, #EXTRACTION_DATA_SOURCE ]
}
define view I_ProjectData_2
  as select from proj
  association [0..*] to I_WBSElementData_2         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..*] to I_ProfitCenter             as _ProfitCenter       on  $projection.ControllingArea = _ProfitCenter.ControllingArea
                                                                          and $projection.ProfitCenter    = _ProfitCenter.ProfitCenter
  association [1..1] to I_BusinessArea             as _BusinessArea       on  $projection.BusinessArea = _BusinessArea.BusinessArea
  association [1..1] to I_Plant                    as _Plant              on  $projection.Plant = _Plant.Plant
  association [1..1] to I_ProjectProfileCode       as _ProjectProfileCode on  $projection.ProjectProfileCode = _ProjectProfileCode.ProjectProfileCode
  association [1..1] to I_FunctionalArea           as _FunctionalArea     on  $projection.FunctionalArea = _FunctionalArea.FunctionalArea
  association [0..1] to I_FactoryCalendar          as _FactoryCalendar    on  $projection.FactoryCalendar = _FactoryCalendar.FactoryCalendar

  ---Extension Association
  association [1..1] to E_Project_2                as _Extension          on  $projection.ProjectInternalID = _Extension.ProjectInternalID
  // DPP Changes

  // Person in Responsible for Project

  association [0..1] to I_ProjectResponsiblePerson as _ResponsiblePerson  on  $projection.ResponsiblePerson = _ResponsiblePerson.ResponsiblePerson
  // Project Applicant

  association [0..1] to I_ProjectApplicant         as _ProjectApplicant   on  $projection.ApplicantCode = _ProjectApplicant.ApplicantCode
  // Multilanguage Short text

  association [0..1] to I_ProjectObjectShortText   as _ProjectShortText   on  _ProjectShortText.Language                     = $session.system_language
                                                                          and _ProjectShortText.ProjectApplicationIdentifier = 'PS'
                                                                          and _ProjectShortText.ProjectObjectType            = 'PD'
                                                                          and $projection.ProjectObject                      = _ProjectShortText.ProjectObjectNode
{
      //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,
      cast ( proj.pspid as ps_p_pspid preserving type )                        as Project,
      @Semantics.text: true
      cast ( proj.post1 as ps_s4_proj_post1_v1 preserving type)                as ProjectDescription,

      @ObjectModel.foreignKey.association: '_ProjectProfileCode'
      proj.profl                                                               as ProjectProfileCode,

      //Organizational 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: '_ProfitCenter'
      proj.prctr                                                               as ProfitCenter,

      proj.objnr                                                               as ProjectObject,

      //Dates

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

      proj.stort                                                               as WorkCenterLocation,
      // Tax Jurisdiction Code

      proj.txjcd                                                               as TaxJurisdiction,

      proj.vernr                                                               as ResponsiblePerson,
      @Semantics.text: true
      cast ( proj.verna as ps_s4_verna )                                       as ResponsiblePersonName,
      cast ( proj.astnr as ps_s4_astnr )                                       as ApplicantCode,
      @Semantics.text: true
      proj.astna                                                               as ApplicantName,

      @Semantics.user.createdBy: true
      proj.ernam                                                               as CreatedByUser,
      @Semantics.systemDate.createdAt: true
      proj.erdat                                                               as CreationDate,
      @Semantics.user.lastChangedBy: true
      proj.aenam                                                               as LastChangedByUser,
      @Semantics.systemDate.lastChangedAt: true
      cast ( proj.aedat as ps_s4_aedat )                                       as LastChangeDate,

      @Semantics.calendar.dayOfMonth: true
      proj.aedte                                                               as BasicDatesLastScheduledDate,
      @Semantics.calendar.dayOfMonth: true
      cast ( proj.aedtp as ps_aedtp )                                          as FcstdDatesLastScheduledDate,

      @ObjectModel.foreignKey.association: '_FactoryCalendar'
      cast ( proj.kalid as appca )                                             as FactoryCalendar,
      cast ( proj.zteht as cgpl_duration_unit )                                as SchedulingDurationUnit,
      @Semantics.calendar.dayOfMonth: true
      cast ( proj.sprog as pshlp_forecast_start_de )                           as ForecastedStartDate,
      @Semantics.calendar.dayOfMonth: true
      cast ( proj.eprog as ps_s4_forecast_finish )                             as ForecastedEndDate,
      @ObjectModel.foreignKey.association: '_BusinessArea'
      cast ( proj.vgsbr as gsber )                                             as BusinessArea,
      @ObjectModel.foreignKey.association: '_Plant'
      proj.werks                                                               as Plant,
      cast ( proj.pwhie as ps_pwhie )                                          as Currency,
      proj.bprof                                                               as BudgetProfile,
      proj.pprof                                                               as PlanningProfile,
      proj.imprf                                                               as InvestmentProfile,

      cast ( proj.zschm as ps_zschm )                                          as ProjInterestCalcProfile,
      proj.abgsl                                                               as ResultAnalysisInternalID,
      proj.pargr                                                               as PartnerDeterminationProcedure,

      cast ( proj.scope as ps_s4_scope_cv )                                    as ControllingObjectClass,

      proj.vprof                                                               as NetworkProfile,
      cast  ( proj.scprf as ps_s4_schdprf )                                    as WBSSchedulingProfile,

      cast ( proj.vgplf as ps_s4_vgplf preserving type )                       as PlanningMethForProjBasicDate,
      cast  ( proj.ewplf as ps_s4_ewplf preserving type )                      as PlanningMethForProjFcstdDate,

      proj.zuord                                                               as NetworkAssignmentType,
      proj.xstat                                                               as WBSIsStatisticalWBSElement,
      proj.plint                                                               as WBSIsMarkedForIntegratedPlng,
      @Semantics.booleanIndicator: true
      cast ( proj.besta as psb_stock )                                         as ProjectHasOwnStock,
      proj.kzbws                                                               as InventorySpecialStockValnType,
      proj.grtop                                                               as WBSIsMarkedForAutomReqmtGrpg,
      proj.vkorg                                                               as SalesOrganization,
      proj.vtweg                                                               as DistributionChannel,

      @Semantics.language
      proj.txtsp                                                               as Language,
      proj.kimsk                                                               as WBSElementMaskID,
      proj.spart                                                               as Division,
      proj.dppprof                                                             as DynItemProcessorPrfl,
      proj.stspd                                                               as StatusProfile,
      proj.stspr                                                               as WBSStatusProfile,
      proj.smprf                                                               as SimulationProfile,
      proj.schtyp                                                              as SchedulingScenario,
      proj.pgprf                                                               as DistributionProfile,

      //joint venture fields

      proj.vname                                                               as JointVenture,
      proj.recid                                                               as JointVentureCostRecoveryCode,
      proj.etype                                                               as JointVentureEquityType,
      proj.otype                                                               as JointVentureObjectType,
      proj.jibcl                                                               as JntIntrstBillgClass,
      proj.jibsa                                                               as JntIntrstBillgSubClass,

      proj.slwid                                                               as FreeDefinedTableFieldSemantic,
      cast ( proj.usr00 as usr00prps preserving type )                         as FreeDefinedAttribute01,
      cast ( proj.usr01 as usr01prps preserving type )                         as FreeDefinedAttribute02,
      cast ( proj.usr02 as usr02prps preserving type )                         as FreeDefinedAttribute03,
      cast ( proj.usr03 as usr03prps preserving type )                         as FreeDefinedAttribute04,
      @Semantics.quantity.unitOfMeasure:'FreeDefinedQuantity1Unit'
      cast ( proj.usr04 as usr04prps preserving type )                         as FreeDefinedQuantity1,
      cast ( proj.use04 as use04prps preserving type )                         as FreeDefinedQuantity1Unit,
      @Semantics.quantity.unitOfMeasure:'FreeDefinedQuantity2Unit'
      cast ( proj.usr05 as usr05prps preserving type )                         as FreeDefinedQuantity2,
      cast ( proj.use05 as use05prps preserving type )                         as FreeDefinedQuantity2Unit,
      @Semantics.amount.currencyCode: 'FreeDefinedAmount1Currency'
      cast ( cast ( proj.usr06 * 10  as abap.curr(14,2) ) as abap.curr(13,2) ) as FreeDefinedAmount1,
      cast ( proj.use06 as use06prps preserving type )                         as FreeDefinedAmount1Currency,
      @Semantics.amount.currencyCode: 'FreeDefinedAmount2Currency'
      cast ( cast ( proj.usr07 * 10 as abap.curr(14,2) ) as abap.curr(13,2) )  as FreeDefinedAmount2,
      cast ( proj.use07 as use07prps preserving type )                         as FreeDefinedAmount2Currency,
      cast ( proj.usr08 as usr08prps preserving type )                         as FreeDefinedDate1,
      cast ( proj.usr09 as usr09prps preserving type )                         as FreeDefinedDate2,
      cast ( proj.usr10 as usr10prps preserving type )                         as FreeDefinedIndicator1,
      cast ( proj.usr11 as usr11prps preserving type )                         as FreeDefinedIndicator2,

      proj.proj_status                                                         as StatusCombinationCode,
      cast ( proj.loevm as ps_s4_loevm )                                       as IsMarkedForDeletion,

      //Associations

      _WBSElement,
      _CompanyCode,
      _ControllingArea,
      _ProfitCenter,
      _BusinessArea,
      _Plant,
      _ProjectProfileCode,
      _FunctionalArea,
      _FactoryCalendar,

      @Consumption.hidden: true
      _ResponsiblePerson,
      @Consumption.hidden: true
      _ProjectApplicant,
      _ProjectShortText
}