C_ProdSubstnCtrlTP

DDL: C_PRODSUBSTNCTRLTP Type: view_entity CONSUMPTION Package: ODATA_PROD_SUBSTN_CTRL

Product Substitution Control

C_ProdSubstnCtrlTP is a Consumption CDS View that provides data about "Product Substitution Control" in SAP S/4HANA. It reads from 1 data source (R_ProdSubstnCtrlTP) and exposes 17 fields with key fields MDSubstnObjectType, MDSubstnControl. It has 2 associations to related views. It is exposed through 1 OData service (UI_PRODSUBSTN_CTRL_MANAGE). It is used in 1 Fiori application: Manage Substitution Controls - Products. Part of development package ODATA_PROD_SUBSTN_CTRL.

Data Sources (1)

SourceAliasJoin Type
R_ProdSubstnCtrlTP R_ProdSubstnCtrlTP projection

Associations (2)

CardinalityTargetAliasCondition
[0..*] C_ProdSubstnCtrlUnassgdGrp _UnassgdGrp $projection.MDSubstnObjectType = _UnassgdGrp.MDSubstnObjectType and $projection.MDSubstnControl = _UnassgdGrp.MDSubstnControl
[0..*] C_SubstnCtrlAssgmtByAccUUID _AccessComb $projection.MDSubstnObjectType = _AccessComb.MDSubstnObjectType and $projection.MDSubstnControl = _AccessComb.MDSubstnControl

Annotations (10)

NameValueLevelField
AccessControl.authorizationCheck #MANDATORY view
AccessControl.personalData.blocking #NOT_REQUIRED view
Metadata.allowExtensions true view
EndUserText.label Product Substitution Control view
ObjectModel.representativeKey MDSubstnControl view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #S view
Search.searchable true view
VDM.viewType #CONSUMPTION view

OData Services (1)

ServiceBindingVersionContractRelease
UI_PRODSUBSTN_CTRL_MANAGE UI_PRODSUBSTN_CTRL_MANAGE V2 C1 NOT_RELEASED

Fiori Apps (1)

App IDApp NameTypeDescription
F4787 Manage Substitution Controls - Products Transactional An application to maintain configuration data for product substitution or exclusion where the user can manage substitution controls

Manage Substitution Controls - Products

Business Role: Master Data Specialist - Product Data

A control is used to consume one or more predefined groups of substitutions. With this app, you can create and manage controls. By assigning substitution groups to controls, consuming applications can manage substitution groups. You can assign only active and inactive groups to a control. A control can be deleted even if groups are assigned to it. You can use this app if the business role Master Data Specialist – Product Data (R0097-13) is assigned to you.

Key Features: You can use this app to: Create, edit, and delete a control. Create multiple language-specific descriptions for a control. Assign and unassign groups to controls.

Fields (17)

KeyFieldSource TableSource FieldDescription
KEY MDSubstnObjectType MDSubstnObjectType
KEY MDSubstnControl MDSubstnControl
MDSubstnHasDefaultGroup MDSubstnHasDefaultGroup
CreatedByUser CreatedByUser
CreationDateTime CreationDateTime
LastChangedByUser LastChangedByUser
LastChangeDateTime LastChangeDateTime
MDSubstnNmbrOfAssignedGroups MDSubstnNmbrOfAssignedGroups
MDSubstnNmbrOfAssignedAccess MDSubstnNmbrOfAssignedAccess
_CreatedByUser _CreatedByUser
_LastChangedByUser _LastChangedByUser
_MDObjectType _MDObjectType
MDSubstnControlDescriptionlocalized
CreatedByUserFullName _CreatedByUser FullName
LastChangedByUserFullName _LastChangedByUser FullName
_UnassgdGrp _UnassgdGrp
_AccessComb _AccessComb
@AccessControl: {
 authorizationCheck: #MANDATORY, 
 personalData.blocking:#NOT_REQUIRED,
 privilegedAssociations: [
   '_CreatedByUser',
   '_LastChangedByUser'
 ]
}
@Metadata.allowExtensions: true
@EndUserText.label: 'Product Substitution Control'
@ObjectModel: {
  representativeKey:  'MDSubstnControl',
  usageType: {
    dataClass: #MASTER,
    serviceQuality: #C,
    sizeCategory: #S
  }
}
@Search.searchable: true
@VDM: {
  viewType: #CONSUMPTION,
  usage.type:[#TRANSACTIONAL_PROCESSING_SERVICE]
}

define root view entity C_ProdSubstnCtrlTP
  provider contract transactional_query
  as projection on R_ProdSubstnCtrlTP
  association [0..*] to C_ProdSubstnCtrlUnassgdGrp  as _UnassgdGrp on  $projection.MDSubstnObjectType = _UnassgdGrp.MDSubstnObjectType
                                                                   and $projection.MDSubstnControl    = _UnassgdGrp.MDSubstnControl

  association [0..*] to C_SubstnCtrlAssgmtByAccUUID as _AccessComb on  $projection.MDSubstnObjectType = _AccessComb.MDSubstnObjectType
                                                                   and $projection.MDSubstnControl    = _AccessComb.MDSubstnControl
{
      @UI: {
      hidden:true
      }
  key MDSubstnObjectType,

      @ObjectModel.text.association: null
      @ObjectModel.text.element: ['MDSubstnControlDescription']

      @Search: {
        defaultSearchElement: true,
        fuzzinessThreshold: 0.8,
        ranking: #HIGH
      }
  key MDSubstnControl,
      MDSubstnHasDefaultGroup,

      @ObjectModel: {
              text.element: ['CreatedByUserFullName']
            }
      CreatedByUser,
      CreationDateTime,

      @ObjectModel: {
       text.element: ['LastChangedByUserFullName']
      }
      LastChangedByUser,
      LastChangeDateTime,
      MDSubstnNmbrOfAssignedGroups,
      MDSubstnNmbrOfAssignedAccess,

      /* Associations */
      @Consumption.filter.hidden: true
      _CreatedByUser,

      @Consumption.filter.hidden: true
      _LastChangedByUser,
      _MDObjectType,

      @Search: {
        defaultSearchElement: true,
        fuzzinessThreshold: 0.8,
        ranking: #HIGH
      }
      _Text.MDSubstnControlDescription : localized,

      _Text         : redirected to composition child C_ProdSubstnCtrlTextTP,

      _ControlGroup : redirected to composition child C_ProdSubstnCtrlGrpTP,

      _CreatedByUser.FullName     as CreatedByUserFullName,
      _LastChangedByUser.FullName as LastChangedByUserFullName,

      _UnassgdGrp,
      _AccessComb
}