I_ProbSolvingProcTP

DDL: I_PROBSOLVINGPROCTP SQL: IPRSOLPROCTP Type: view TRANSACTIONAL

Problem-Solving Process

I_ProbSolvingProcTP is a Transactional CDS View that provides data about "Problem-Solving Process" in SAP S/4HANA. It reads from 1 data source (I_ProbSolvingProc) and exposes 27 fields with key field ProbSolvingProc.

Data Sources (1)

SourceAliasJoin Type
I_ProbSolvingProc _ProbSolvingProc from

Annotations (25)

NameValueLevelField
AbapCatalog.sqlViewName IPRSOLPROCTP view
AbapCatalog.compiler.compareFilter true view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Problem-Solving Process view
VDM.viewType #TRANSACTIONAL view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
AccessControl.authorizationCheck #CHECK view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.sizeCategory #M view
ObjectModel.usageType.serviceQuality #A view
ObjectModel.representativeKey ProbSolvingProc view
ObjectModel.sapObjectNodeType.name ProblemSolvingProcess view
ObjectModel.compositionRoot true view
ObjectModel.createEnabled true view
ObjectModel.updateEnabled true view
ObjectModel.deleteEnabled true view
ObjectModel.transactionalProcessingEnabled true view
ObjectModel.draftEnabled true view
ObjectModel.writeDraftPersistence QPROBSOLVPROC_D view
ObjectModel.writeActivePersistence V_PROBSOLVPR_B2A view
ObjectModel.entityChangeStateId ChangedDateTime view
ObjectModel.lifecycle.enqueue.expiryBehavior #RELATIVE_TO_LAST_CHANGE view
ObjectModel.lifecycle.enqueue.expiryInterval PT15M view
ObjectModel.lifecycle.processing.expiryBehavior #RELATIVE_TO_LAST_CHANGE view
ObjectModel.lifecycle.processing.expiryInterval PT30M view

Fields (27)

KeyFieldSource TableSource FieldDescription
KEY ProbSolvingProc I_ProbSolvingProc ProbSolvingProc
ProbSolvingProcDesc I_ProbSolvingProc ProbSolvingProcDesc
ProbSolvingProcType I_ProbSolvingProc ProbSolvingProcType
Material I_ProbSolvingProc Material
Plant I_ProbSolvingProc Plant
MasterLanguage I_ProbSolvingProc MasterLanguage
ProbSolvingProcLifecycleStatus I_ProbSolvingProc ProbSolvingProcLifecycleStatus
ProbSolvingProcTsksArchivedSts I_ProbSolvingProc ProbSolvingProcTsksArchivedSts
CreatedByUser I_ProbSolvingProc CreatedByUser
ProbSolvingProcCreatedDateTime I_ProbSolvingProc ProbSolvingProcCreatedDateTime
LastChangedByUser I_ProbSolvingProc LastChangedByUser
ProbSolvingProcLastChgdDteTme I_ProbSolvingProc ProbSolvingProcLastChgdDteTme
ChangedDateTime I_ProbSolvingProc ChangedDateTime
_ProbSolvingProcDefectRef _ProbSolvingProcDefectRef
_ProbSolvingProcStp _ProbSolvingProcStp
_ProbSolvingProcPrtcpnt _ProbSolvingProcPrtcpnt
_ProbSolvingProcProbDesc _ProbSolvingProcProbDesc
_ProbSolvingProcCause _ProbSolvingProcCause
_ProbSolvingProcAssmt _ProbSolvingProcAssmt
_ProbSolvingProcPrimaryDefRef _ProbSolvingProcPrimaryDefRef
_Product _Product
_Plant _Plant
_ProbSolvingProcLfcycSts _ProbSolvingProcLfcycSts
_Language _Language
_CreatedByUserContactCard I_ProbSolvingProc _CreatedByUserContactCard
_LastChangedByUserContactCard I_ProbSolvingProc _LastChangedByUserContactCard
_ProbSolvingProcType I_ProbSolvingProc _ProbSolvingProcType
@AbapCatalog.sqlViewName: 'IPRSOLPROCTP'
@AbapCatalog.compiler.compareFilter:true 
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Problem-Solving Process'
@VDM: {
    viewType: #TRANSACTIONAL,
    lifecycle.contract.type: #SAP_INTERNAL_API
}
@AccessControl.authorizationCheck: #CHECK
@AccessControl.privilegedAssociations:  [ '_CreatedByUserContactCard', '_LastChangedByUserContactCard' ] 
@ObjectModel: {
    usageType: {
        dataClass: #TRANSACTIONAL,
        sizeCategory: #M, 
        serviceQuality: #A },
    representativeKey: 'ProbSolvingProc',
    semanticKey:  [ 'ProbSolvingProc' ],
  sapObjectNodeType.name: 'ProblemSolvingProcess',
// Begin Draft

    compositionRoot: true,
    
    createEnabled: true,
    updateEnabled: true,
    deleteEnabled: true,

    transactionalProcessingEnabled: true,
    draftEnabled: true,

    writeDraftPersistence: 'QPROBSOLVPROC_D',
    writeActivePersistence: 'V_PROBSOLVPR_B2A',

    entityChangeStateId: 'ChangedDateTime',

    lifecycle.enqueue: {
        expiryBehavior: #RELATIVE_TO_LAST_CHANGE,  // Default #RELATIVE_TO_LAST_CHANGE

        expiryInterval: 'PT15M'                    // Default 'PT15M'

    },
    lifecycle.processing: {
        expiryBehavior: #RELATIVE_TO_LAST_CHANGE,  // Default #RELATIVE_TO_LAST_CHANGE

        expiryInterval: 'PT30M'                    // Default 'PT30M'

    }
// End Draft

}

define view I_ProbSolvingProcTP as select from I_ProbSolvingProc as _ProbSolvingProc
 
//=== child nodes

    association[1..*] to I_ProbSolvingProcDefectRefTP as _ProbSolvingProcDefectRef     on  $projection.ProbSolvingProc = _ProbSolvingProcDefectRef.ProbSolvingProc 
    association[0..*] to I_ProbSolvingProcStpTP       as _ProbSolvingProcStp           on  $projection.ProbSolvingProc = _ProbSolvingProcStp.ProbSolvingProc
    association[0..*] to I_ProbSolvingProcPrtcpntTP   as _ProbSolvingProcPrtcpnt       on  $projection.ProbSolvingProc = _ProbSolvingProcPrtcpnt.ProbSolvingProc
    association[0..1] to I_ProbSolvingProcProbDescTP  as _ProbSolvingProcProbDesc      on  $projection.ProbSolvingProc = _ProbSolvingProcProbDesc.ProbSolvingProc
    association[0..*] to I_ProbSolvingProcCauseTP     as _ProbSolvingProcCause         on  $projection.ProbSolvingProc = _ProbSolvingProcCause.ProbSolvingProc
    association[0..1] to I_ProbSolvingProcAssmtTP     as _ProbSolvingProcAssmt         on  $projection.ProbSolvingProc = _ProbSolvingProcAssmt.ProbSolvingProc
    
//=== specializations

    association[1..1] to I_ProbSolvingProcDefectRefTP as _ProbSolvingProcPrimaryDefRef on  $projection.ProbSolvingProc = _ProbSolvingProcPrimaryDefRef.ProbSolvingProc
                                                                                       and _ProbSolvingProcPrimaryDefRef.DefectIsBaseOfProbSolvingProc = 'X'

{
//=== fields  

      @ObjectModel.readOnly: true
  key _ProbSolvingProc.ProbSolvingProc, 
      
      @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
      _ProbSolvingProc.ProbSolvingProcDesc,
      
      @ObjectModel.readOnly: true
      _ProbSolvingProc.ProbSolvingProcType,

      @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
      _ProbSolvingProc.Material,
      
      @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
      _ProbSolvingProc.Plant,
      
      @ObjectModel.readOnly: true
      _ProbSolvingProc.MasterLanguage,

//=== status

      @ObjectModel.readOnly: true
      _ProbSolvingProc.ProbSolvingProcLifecycleStatus,
      
      @ObjectModel.readOnly: true
      _ProbSolvingProc.ProbSolvingProcTsksArchivedSts,

//=== administrative data

      @ObjectModel.readOnly: true
      _ProbSolvingProc.CreatedByUser,
      @ObjectModel.readOnly: false //temporarily changed to false to experiment with timestamp handling in the app (Max)

      _ProbSolvingProc.ProbSolvingProcCreatedDateTime,

      @ObjectModel.readOnly: true
      _ProbSolvingProc.LastChangedByUser,
      @ObjectModel.readOnly: true      
      _ProbSolvingProc.ProbSolvingProcLastChgdDteTme,

      @ObjectModel.readOnly: true 
      _ProbSolvingProc.ChangedDateTime,

//=== exposed associations

//=== compositions

      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _ProbSolvingProcDefectRef,
      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _ProbSolvingProcStp,
      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _ProbSolvingProcPrtcpnt,
      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _ProbSolvingProcProbDesc,
      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]      
      _ProbSolvingProcCause,
      @ObjectModel.association.type:  [ #TO_COMPOSITION_CHILD ]
      _ProbSolvingProcAssmt,

      _ProbSolvingProcPrimaryDefRef,

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