R_PRODSUBSTNEXCLSNTP

CDS View

Product Substitution Exclusion TP

R_PRODSUBSTNEXCLSNTP is a CDS View in S/4HANA. Product Substitution Exclusion TP. 4 CDS views read from this table.

CDS Views using this table (4)

ViewTypeJoinVDMDescription
A_ProdSubstnExclsn view_entity projection CONSUMPTION Product Substitution Exclusion
A_ProdSubstnExclsn_2 view_entity projection CONSUMPTION Product Substitution Exclusion
A_ProdSubstnExclsn_3 view_entity projection CONSUMPTION Product Substitution Exclusion
C_ProdSubstnExclsnTP view_entity projection CONSUMPTION Manage Exclusions - Products
//@AbapCatalog:{

//    compiler.compareFilter: true,

//    preserveKey: true,

//    sqlViewName: 'RPRODSUBEXCTP'

// }

@AccessControl: {
 authorizationCheck: #MANDATORY,
 personalData.blocking:#NOT_REQUIRED,
 privilegedAssociations: [
   '_CreatedByUser',
   '_LastChangedByUser'
 ]
}
//@ClientHandling.algorithm: #SESSION_VARIABLE

@EndUserText.label: 'Product Substitution Exclusion TP'
@ObjectModel: {
  representativeKey:  'MDSubstnUUID' ,
  usageType: {
    dataClass: #TRANSACTIONAL,
    serviceQuality: #A,
    sizeCategory: #M
  }
}
@ObjectModel.sapObjectNodeType.name: 'ProductExclusion'
@VDM: {
  lifecycle: {
    contract.type: #SAP_INTERNAL_API
  },
  viewType: #TRANSACTIONAL
}
/*+[hideWarning] { "IDS" : [ "CALCULATED_FIELD_CHECK" ]  } */
define root view entity R_ProdSubstnExclsnTP
  as select from R_MDSubstnExclsnTP
  association [1..1] to I_Product         as _Product                   on $projection.Product = _Product.Product
  association [0..1] to I_Plant           as _Plant                     on $projection.Plant = _Plant.Plant
  association [1..1] to I_Indicator       as _MDSubstnIsRlvtForATPProd  on $projection.MDSubstnIsRlvtForATPProd = _MDSubstnIsRlvtForATPProd.IndicatorValue
  association [1..1] to I_Indicator       as _MDSubstnIsRelevantForESPP on $projection.MDSubstnIsRelevantForESPP = _MDSubstnIsRelevantForESPP.IndicatorValue
  association [0..1] to I_UserContactCard as _CreatedByUser             on $projection.CreatedByUser = _CreatedByUser.ContactCardID
  association [0..1] to I_UserContactCard as _LastChangedByUser         on $projection.LastChangedByUser = _LastChangedByUser.ContactCardID
{
  key MDSubstnUUID,

      MDSubstnObjectType,

      @ObjectModel.foreignKey.association: '_Product'
      cast( MDObject as productnumber )        as Product,

      @ObjectModel.foreignKey.association: '_Plant'
      cast( MDSubstnContextObject as werks_d ) as Plant,

      @Consumption.hidden: true
      MDSubstnContextObjectType,

      @Consumption.hidden: true
      MDSubstnContextObjectType2,

      MDSubstnGroup,
      MDSubstnVersionValue,
      MDSubstnValidityStartDateTime,
      MDSubstnValidityStartDate,
      MDSubstnValidityStartTime,
      MDSubstnValidityEndDateTime,
      MDSubstnValidityEndDate,
      MDSubstnValidityEndTime,
      TimeZoneID,
      MDSubstnReason,
      MDSubstnStatus,

      case MDSubstnStatus
       when 'A' then 3
       else 0
      end                                      as MDSubstnStatusCriticality,

      @ObjectModel.foreignKey.association: '_MDSubstnIsRlvtForATPProd'
      MDSubstnIsRlvtForATPProd,

      @ObjectModel.foreignKey.association: '_MDSubstnIsRelevantForESPP'
      MDSubstnIsRelevantForESPP,

      CreatedByUser,
      CreationDateTime,
      LastChangedByUser,
      LastChangeDateTime,

      /* Associations */
      _MDObjectType,
      _ContextObjectTypeCode,
      _ContextObjectTypeCode2,
      _Product,
      _Plant,
      _Group,
      _TimeZone,
      _Reason,
      _Status,
      _MDSubstnIsRlvtForATPProd,
      _MDSubstnIsRelevantForESPP,
      _CreatedByUser,
      _LastChangedByUser
}
where
       MDSubstnObjectType         = 'Product'
  and  MDSubstnContextObjectType  = 'Plant'
  and(
       MDSubstnContextObjectType2 is initial
    or MDSubstnContextObjectType2 is null
  )