I_ProjectClaim

DDL: I_PROJECTCLAIM Type: view BASIC

Project Claim

I_ProjectClaim is a Basic CDS View that provides data about "Project Claim" in SAP S/4HANA. It reads from 1 data source (qmel) and exposes 56 fields with key field ProjectClaim. It has 11 associations to related views.

Data Sources (1)

SourceAliasJoin Type
qmel qmel from

Associations (11)

CardinalityTargetAliasCondition
[1..1] I_PMNotificationType _PMNotificationType _PMNotificationType.NotificationType = $projection.ProjectClaimType
[0..1] I_Inspectioncatalog _MaintNotificationCatalog $projection.ProjectClaimCatalog = _MaintNotificationCatalog.InspectionCatalog
[0..1] I_InspectionCodeGroup _MaintNotificationCodeGroup $projection.ProjectClaimCatalog = _MaintNotificationCodeGroup.InspectionCatalog and $projection.ProjectClaimCodeGroup = _MaintNotificationCodeGroup.InspectionCodeGroup
[0..1] I_InspectionCode _MaintNotificationCode $projection.ProjectClaimCatalog = _MaintNotificationCode.InspectionCatalog and $projection.ProjectClaimCodeGroup = _MaintNotificationCode.InspectionCodeGroup and $projection.ProjectClaimCode = _MaintNotificationCode.InspectionCode
[0..1] I_PMNotificationPhase _PMNotificationPhase $projection.ProjectClaimProcessingPhase = _PMNotificationPhase.NotifProcessingPhase
[0..1] I_WBSElementData_2 _WBSElementData $projection.WBSElementInternalID = _WBSElementData.WBSElementInternalID
[0..1] I_Customer _Customer $projection.Customer = _Customer.Customer
[0..1] I_Supplier _Supplier $projection.Supplier = _Supplier.Supplier
[0..1] I_PMNotificationPriorityType _PMNotificationPriorityType $projection.ClaimPriorityType = _PMNotificationPriorityType.MaintPriorityType
[0..1] I_PMNotificationPriority _PMNotificationPriority _PMNotificationPriority.MaintPriority = $projection.ProjectClaimPriority and _PMNotificationPriority.MaintPriorityType = $projection.ClaimPriorityType
[0..1] I_Currency _Currency $projection.ProjectClaimCurrency = _Currency.Currency

Annotations (12)

NameValueLevelField
EndUserText.label Project Claim view
ClientHandling.algorithm #SESSION_VARIABLE view
AbapCatalog.sqlViewName IPROJECTCLAIM view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #NOT_REQUIRED view
VDM.viewType #BASIC view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
ObjectModel.representativeKey ProjectClaim view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #B view
ObjectModel.usageType.sizeCategory #L view
Metadata.ignorePropagatedAnnotations true view

Fields (56)

KeyFieldSource TableSource FieldDescription
KEY ProjectClaim qmel qmnum
ProjectClaimType qmel qmart
ProjectClaimShortText qmel qmtxt
ProjectClaimOpponent qmel opponent
Customer qmel kunum
Supplier qmel lifnum
ProjectClaimProcessingPhase qmel phase
ProjectClaimOrigin qmel herkz
WBSElementInternalID
PurchaseOrderByCustomer qmel bstnk
PurchaseOrder qmel ebeln
PurchaseOrderItem qmel ebelp
SalesOrder qmel ls_kdauf
SalesOrderItem qmel ls_kdpos
DeliveryDocument qmel ls_vbeln
DeliveryDocumentItem qmel ls_posnr
ProjectClaimPriority qmel priok
ClaimPriorityType qmel artpr
ProjectClaimChance qmel chance
ProjectClaimCatalog qmel qmkat
ProjectClaimCodeGroup qmel qmgrp
ProjectClaimCode qmel qmcod
ProjectClaimExternalReference qmel refnum
ProjectClaimCurrency qmel waers
ProjectEstimatedCost qmel estimated_costs
ProjectClaimedCost qmel claimed_costs
ProjectResultCost qmel result_costs
ProjectClaimHasLongText qmel indtx
ProjectClaimObject qmel objnr
ReferenceProjectClaim qmel qwrnum
CreatedByUser qmel ernam
CreationDate qmel erdat
CreationTime qmel erzeit
LastChangedByUser qmel aenam
LastChangeDate qmel aedat
LastChangeTime qmel aezeit
ReportedByUser qmel qmnam
ProjectClaimCreationDate qmel qmdat
ProjectClaimCreationTime qmel mzeit
RequiredStartDate
RequiredStartTime qmel strur
RequiredEndDate
RequiredEndTime qmel ltrur
ProjectClaimCompletionDate qmel qmdab
ProjectClaimCompletionTime qmel qmzab
_MaintNotificationCatalog _MaintNotificationCatalog
_MaintNotificationCodeGroup _MaintNotificationCodeGroup
_MaintNotificationCode _MaintNotificationCode
_PMNotificationType _PMNotificationType
_PMNotificationPhase _PMNotificationPhase
_WBSElementData _WBSElementData
_Customer _Customer
_Supplier _Supplier
_PMNotificationPriorityType _PMNotificationPriorityType
_PMNotificationPriority _PMNotificationPriority
_Currency _Currency
@EndUserText.label: 'Project Claim'
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog: {
                sqlViewName: 'IPROJECTCLAIM',
                compiler.compareFilter,
                preserveKey
              }
@AccessControl: {
    authorizationCheck:#CHECK,
    personalData.blocking: #NOT_REQUIRED
}
@VDM: {
  viewType: #BASIC,
  lifecycle.contract.type: #PUBLIC_LOCAL_API }

@ObjectModel: {
  representativeKey: 'ProjectClaim',
  semanticKey:  [ 'ProjectClaim' ],
  usageType: {
    dataClass: #TRANSACTIONAL,
    serviceQuality: #B,
    sizeCategory: #L } }

@Metadata.ignorePropagatedAnnotations:true
define view I_ProjectClaim
  as select from qmel

  association [1..1] to I_PMNotificationType         as _PMNotificationType         on  _PMNotificationType.NotificationType = $projection.ProjectClaimType
  association [0..1] to I_Inspectioncatalog          as _MaintNotificationCatalog   on  $projection.ProjectClaimCatalog = _MaintNotificationCatalog.InspectionCatalog
  association [0..1] to I_InspectionCodeGroup        as _MaintNotificationCodeGroup on  $projection.ProjectClaimCatalog   = _MaintNotificationCodeGroup.InspectionCatalog
                                                                                    and $projection.ProjectClaimCodeGroup = _MaintNotificationCodeGroup.InspectionCodeGroup
  association [0..1] to I_InspectionCode             as _MaintNotificationCode      on  $projection.ProjectClaimCatalog     = _MaintNotificationCode.InspectionCatalog
                                                                                    and $projection.ProjectClaimCodeGroup   = _MaintNotificationCode.InspectionCodeGroup
                                                                                    and $projection.ProjectClaimCode = _MaintNotificationCode.InspectionCode
  association [0..1] to I_PMNotificationPhase        as _PMNotificationPhase        on  $projection.ProjectClaimProcessingPhase = _PMNotificationPhase.NotifProcessingPhase
  association [0..1] to I_WBSElementData_2           as _WBSElementData             on  $projection.WBSElementInternalID = _WBSElementData.WBSElementInternalID
  association [0..1] to I_Customer                   as _Customer                   on  $projection.Customer = _Customer.Customer
  association [0..1] to I_Supplier                   as _Supplier                   on  $projection.Supplier = _Supplier.Supplier
  association [0..1] to I_PMNotificationPriorityType as _PMNotificationPriorityType on  $projection.ClaimPriorityType = _PMNotificationPriorityType.MaintPriorityType
  association [0..1] to I_PMNotificationPriority     as _PMNotificationPriority     on  _PMNotificationPriority.MaintPriority     = $projection.ProjectClaimPriority
                                                                                    and _PMNotificationPriority.MaintPriorityType = $projection.ClaimPriorityType
  association [0..1] to I_Currency                   as _Currency                   on  $projection.ProjectClaimCurrency = _Currency.Currency
{
      //Claims tab

  key qmel.qmnum                                          as ProjectClaim,

      @ObjectModel.foreignKey.association: '_PMNotificationType'
      qmel.qmart                                          as ProjectClaimType,

      @Semantics.text:true
      qmel.qmtxt                                          as ProjectClaimShortText,

      qmel.opponent                                       as ProjectClaimOpponent,

      @ObjectModel.foreignKey.association: '_Customer'
      qmel.kunum                                          as Customer,

      @ObjectModel.foreignKey.association: '_Supplier'
      qmel.lifnum                                         as Supplier,

      @ObjectModel.foreignKey.association: '_PMNotificationPhase'
      qmel.phase                                          as ProjectClaimProcessingPhase,

      qmel.herkz                                          as ProjectClaimOrigin,

      @ObjectModel.foreignKey.association: '_WBSElementData'
      cast ( qmel.psp_nr as ps_s4_pspnr preserving type ) as WBSElementInternalID,

      qmel.bstnk                                          as PurchaseOrderByCustomer,

      qmel.ebeln                                          as PurchaseOrder,

      qmel.ebelp                                          as PurchaseOrderItem,

      qmel.ls_kdauf                                       as SalesOrder,

      qmel.ls_kdpos                                       as SalesOrderItem,

      qmel.ls_vbeln                                       as DeliveryDocument,

      qmel.ls_posnr                                       as DeliveryDocumentItem,

      @ObjectModel.foreignKey.association: '_PMNotificationPriority'
      qmel.priok                                          as ProjectClaimPriority,

      @ObjectModel.foreignKey.association: '_PMNotificationPriorityType'
      qmel.artpr                                          as ClaimPriorityType,

      qmel.chance                                         as ProjectClaimChance,

       @ObjectModel.foreignKey.association: '_MaintNotificationCatalog'
      qmel.qmkat                                          as ProjectClaimCatalog,

      @ObjectModel.foreignKey.association: '_MaintNotificationCodeGroup'
      qmel.qmgrp                                          as ProjectClaimCodeGroup,

      @ObjectModel.foreignKey.association: '_MaintNotificationCode'
      qmel.qmcod                                          as ProjectClaimCode,

      qmel.refnum                                         as ProjectClaimExternalReference,

      @ObjectModel.foreignKey.association: '_Currency'
      @Semantics.currencyCode: true
      qmel.waers                                          as ProjectClaimCurrency,

      @Semantics.amount.currencyCode: 'ProjectClaimCurrency'
      qmel.estimated_costs                                as ProjectEstimatedCost,

      @Semantics.amount.currencyCode: 'ProjectClaimCurrency'
      qmel.claimed_costs                                  as ProjectClaimedCost,

      @Semantics.amount.currencyCode: 'ProjectClaimCurrency'
      qmel.result_costs                                   as ProjectResultCost,

      @Semantics.booleanIndicator
      qmel.indtx                                          as ProjectClaimHasLongText,

      qmel.objnr                                          as ProjectClaimObject,

      qmel.qwrnum                                         as ReferenceProjectClaim,

      @Semantics.user.createdBy: true
      qmel.ernam                                          as CreatedByUser,

      @Semantics.systemDate.createdAt: true
      qmel.erdat                                          as CreationDate,

      @Semantics.time: true
      qmel.erzeit                                         as CreationTime,

      @Semantics.user.lastChangedBy: true
      qmel.aenam                                          as LastChangedByUser,

      @Semantics.systemDate.lastChangedAt: true        
      qmel.aedat                                          as LastChangeDate,        

      @Semantics.time: true     
      qmel.aezeit                                         as LastChangeTime,

      qmel.qmnam                                          as ReportedByUser,

      @Semantics.businessDate.at: true
      qmel.qmdat                                          as ProjectClaimCreationDate,

      @Semantics.time: true
      qmel.mzeit                                          as ProjectClaimCreationTime,

      @Semantics.businessDate.at: true
      cast ( qmel.strmn as ps_s4_strmn preserving type )  as RequiredStartDate,

      @Semantics.time: true
      qmel.strur                                          as RequiredStartTime,

      @Semantics.businessDate.at: true
      cast ( qmel.ltrmn as ps_s4_ltrmn preserving type )  as RequiredEndDate,

      @Semantics.time: true
      qmel.ltrur                                          as RequiredEndTime,



      @Semantics.businessDate.at: true
      qmel.qmdab                                          as ProjectClaimCompletionDate,

      @Semantics.time: true
      qmel.qmzab                                          as ProjectClaimCompletionTime,

      _MaintNotificationCatalog,
      _MaintNotificationCodeGroup,
      _MaintNotificationCode,
      _PMNotificationType,
      _PMNotificationPhase,
      _WBSElementData,
      _Customer,
      _Supplier,
      _PMNotificationPriorityType,
      _PMNotificationPriority,
      _Currency

}

where
     herkz = 'C1' // internal claim

  or herkz = 'C2' // external claim

/*+[internal] {
"BASEINFO":
{
"FROM":
[
"QMEL"
],
"ASSOCIATED":
[
"I_CURRENCY",
"I_CUSTOMER",
"I_INSPECTIONCATALOG",
"I_INSPECTIONCODE",
"I_INSPECTIONCODEGROUP",
"I_PMNOTIFICATIONPHASE",
"I_PMNOTIFICATIONPRIORITY",
"I_PMNOTIFICATIONPRIORITYTYPE",
"I_PMNOTIFICATIONTYPE",
"I_SUPPLIER",
"I_WBSELEMENTDATA_2"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/