I_ProbSolvingProc

DDL: I_PROBSOLVINGPROC Type: view_entity BASIC Package: VDM_QM_PROBSOLVINGPROC

Problem-Solving Process

I_ProbSolvingProc is a Basic CDS View that provides data about "Problem-Solving Process" in SAP S/4HANA. It reads from 1 data source (qprobsolvproc) and exposes 20 fields with key field ProbSolvingProc. It has 7 associations to related views. Part of development package VDM_QM_PROBSOLVINGPROC.

Data Sources (1)

SourceAliasJoin Type
qprobsolvproc qprobsolvproc from

Associations (7)

CardinalityTargetAliasCondition
[0..1] I_Product _Product $projection.Material = _Product.Product
[1..1] I_ProbSolvingProcType _ProbSolvingProcType $projection.ProbSolvingProcType = _ProbSolvingProcType.ProbSolvingProcType
[0..1] I_ProbSolvingProcLfcycSts _ProbSolvingProcLfcycSts $projection.ProbSolvingProcLifecycleStatus = _ProbSolvingProcLfcycSts.ProbSolvingProcLifecycleStatus
[0..1] I_Plant _Plant $projection.Plant = _Plant.Plant
[0..1] I_UserContactCard _CreatedByUserContactCard $projection.CreatedByUser = _CreatedByUserContactCard.ContactCardID
[0..1] I_UserContactCard _LastChangedByUserContactCard $projection.LastChangedByUser = _LastChangedByUserContactCard.ContactCardID
[1..1] I_Language _Language $projection.MasterLanguage = _Language.Language

Annotations (8)

NameValueLevelField
EndUserText.label Problem-Solving Process view
VDM.viewType #BASIC view
AccessControl.authorizationCheck #CHECK view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.sizeCategory #M view
ObjectModel.usageType.serviceQuality #A view
ObjectModel.representativeKey ProbSolvingProc view
Analytics.technicalName IPRSOLPROC view

Fields (20)

KeyFieldSource TableSource FieldDescription
KEY ProbSolvingProc probsolvingprocess
ProbSolvingProcDesc description
ProbSolvingProcType processtype
Material material
Plant plant
MasterLanguage
ProbSolvingProcLifecycleStatus statlcycle
ProbSolvingProcTsksArchivedSts stattasksarch
ChangedDateTime changeddatetime
CreatedByUser created_by
ProbSolvingProcCreatedDateTime created_on
LastChangedByUser changed_by
ProbSolvingProcLastChgdDteTme changed_on
_Product _Product
_Plant _Plant
_ProbSolvingProcLfcycSts _ProbSolvingProcLfcycSts
_Language _Language
_CreatedByUserContactCard _CreatedByUserContactCard
_LastChangedByUserContactCard _LastChangedByUserContactCard
_ProbSolvingProcType _ProbSolvingProcType
@EndUserText.label: 'Problem-Solving Process'
@VDM.viewType: #BASIC
@AccessControl.authorizationCheck: #CHECK
@ObjectModel: {
    usageType: {
        dataClass: #TRANSACTIONAL,
        sizeCategory: #M, 
        serviceQuality: #A },
    representativeKey: 'ProbSolvingProc',
    semanticKey:  [ 'ProbSolvingProc' ]
}
@Analytics.technicalName: 'IPRSOLPROC'

define view entity I_ProbSolvingProc as select from qprobsolvproc 

//=== associations to other views

   association [0..1] to I_Product as _Product on $projection.Material = _Product.Product 
   association [1..1] to I_ProbSolvingProcType as _ProbSolvingProcType on $projection.ProbSolvingProcType = _ProbSolvingProcType.ProbSolvingProcType
   association [0..1] to I_ProbSolvingProcLfcycSts as _ProbSolvingProcLfcycSts on $projection.ProbSolvingProcLifecycleStatus = _ProbSolvingProcLfcycSts.ProbSolvingProcLifecycleStatus
   association [0..1] to I_Plant    as _Plant                                  on $projection.Plant = _Plant.Plant  

//=== contact card

    association [0..1] to I_UserContactCard         as _CreatedByUserContactCard     on $projection.CreatedByUser     = _CreatedByUserContactCard.ContactCardID
    association [0..1] to I_UserContactCard         as _LastChangedByUserContactCard on $projection.LastChangedByUser = _LastChangedByUserContactCard.ContactCardID

 //=== other views

    association [1..1] to I_Language as _Language on $projection.MasterLanguage = _Language.Language
    
{
  @ObjectModel.text.element: ['ProbSolvingProcDesc']
  key probsolvingprocess  as ProbSolvingProc,
      
      @Semantics.text: true
      description             as ProbSolvingProcDesc,
      @ObjectModel.foreignKey.association: '_ProbSolvingProcType'
      processtype             as ProbSolvingProcType,
      @ObjectModel.foreignKey.association: '_Product'
      material                as Material,
      @ObjectModel.foreignKey.association: '_Plant'
      plant                   as Plant,
      @ObjectModel.foreignKey.association: '_Language'
      cast( masterlanguage    as vdm_j_masterlanguage )  as MasterLanguage,
      
//=== status

      @ObjectModel.foreignKey.association: '_ProbSolvingProcLfcycSts'
      @ObjectModel.readOnly: true
      @Consumption: {
              valueHelpDefinition: [ 
                          { entity:  { name:    'I_ProbSolvingProcLfcycSts',
                                       element: 'ProbSolvingProcLifecycleStatus' }
                          }]   
      }
      statlcycle              as ProbSolvingProcLifecycleStatus,
      stattasksarch           as ProbSolvingProcTsksArchivedSts,

//=== administrative data

      @ObjectModel.readOnly: true
      changeddatetime         as ChangedDateTime,

      @ObjectModel.foreignKey.association: '_CreatedByUserContactCard'
      @ObjectModel.readOnly: true
      @Semantics.user.createdBy: true
      @Consumption.valueHelpDefinition: [{ entity.name: 'I_ProbSolvingProcUserVH', entity.element: 'UserID' }]
      created_by              as CreatedByUser,
      @Semantics.systemDateTime.createdAt: true
      created_on              as ProbSolvingProcCreatedDateTime,

      @ObjectModel.foreignKey.association: '_LastChangedByUserContactCard'
      @ObjectModel.readOnly: true
      @Semantics.user.lastChangedBy: true
      @Consumption.valueHelpDefinition: [{ entity.name: 'I_ProbSolvingProcUserVH', entity.element: 'UserID' }]
      changed_by              as LastChangedByUser,
      @Semantics.systemDateTime.lastChangedAt: true
      changed_on              as ProbSolvingProcLastChgdDteTme,
  
//=== exposed associations

      _Product,
      _Plant,
      _ProbSolvingProcLfcycSts,
      _Language,
      _CreatedByUserContactCard,
      _LastChangedByUserContactCard,
      _ProbSolvingProcType
}