C_ProductTCCClassificationTP

DDL: C_PRODUCTTCCCLASSIFICATIONTP Type: view_entity CONSUMPTION Package: CVIEW_CMDTYCODE

Classify Product with Commodity Code

C_ProductTCCClassificationTP is a Consumption CDS View that provides data about "Classify Product with Commodity Code" in SAP S/4HANA. It reads from 1 data source (I_ProductTCCClassification) and exposes 32 fields with key fields Product, TrdClassfctnNmbrSchm. It has 5 associations to related views. It is exposed through 1 OData service (UI_PRDTRCMDTYCLASSIFY). Part of development package CVIEW_CMDTYCODE.

Data Sources (1)

SourceAliasJoin Type
I_ProductTCCClassification _Product from

Associations (5)

CardinalityTargetAliasCondition
[0..1] C_ProductHasTCC _Classified _Classified.Product = $projection.Product and _Classified.TrdClassfctnNmbrSchm = $projection.TrdClassfctnNmbrSchm
[0..1] C_TrdClassfctnProduct _ReferenceProduct _ReferenceProduct.Product = $projection.Product
[0..*] C_TrdClassfctnProdPlantCountry _ProductCountry $projection.Product = _ProductCountry.Product
[1..1] I_ProductHasTCCClassification _ProductTCCSchemeClfnStatus $projection.ProductTCCSchemeClfnStatus = _ProductTCCSchemeClfnStatus.ProductTCCSchemeClfnStatus
[*] C_ProductTCCValidityClfnTP _ClassifyTCC

Annotations (8)

NameValueLevelField
AccessControl.authorizationCheck #MANDATORY view
AccessControl.personalData.blocking #REQUIRED view
EndUserText.label Classify Product with Commodity Code view
Metadata.allowExtensions true view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MIXED view
VDM.viewType #CONSUMPTION view

OData Services (1)

ServiceBindingVersionContractRelease
UI_PRDTRCMDTYCLASSIFY UI_PRDTRCMDTYCLASSIFY V4 C1 NOT_RELEASED

Fields (32)

KeyFieldSource TableSource FieldDescription
KEY Product I_ProductTCCClassification Product
KEY TrdClassfctnNmbrSchm I_ProductTCCClassification TrdClassfctnNmbrSchm
ProductCategory I_ProductTCCClassification ProductCategory
ProductGroup I_ProductTCCClassification ProductGroup
Division I_ProductTCCClassification Division
ProductHierarchy I_ProductTCCClassification ProductHierarchy
ProductType I_ProductTCCClassification ProductType
ExternalProductGroup I_ProductTCCClassification ExternalProductGroup
IndustrySector I_ProductTCCClassification IndustrySector
CreationDate I_ProductTCCClassification CreationDate
IsMarkedForDeletion I_ProductTCCClassification IsMarkedForDeletion
_TrdClassfctnNmbrSchmText I_ProductTCCClassification _TrdClassfctnNmbrSchmText
_ReferenceProduct _ReferenceProduct
_Product I_ProductTCCClassification _Product
_ProductCategory I_ProductTCCClassification _ProductCategory
_ProductGroup I_ProductTCCClassification _ProductGroup
_Division I_ProductTCCClassification _Division
_ProductHierarchy I_ProductTCCClassification _ProductHierarchy
_ProductType I_ProductTCCClassification _ProductType
_ExternalProductGroup I_ProductTCCClassification _ExternalProductGroup
_IndustrySector I_ProductTCCClassification _IndustrySector
_ProductCountry _ProductCountry
_Text I_ProductTCCClassification _Text
_ProductCategoryText I_ProductTCCClassification _ProductCategoryText
_ProductGroupText I_ProductTCCClassification _ProductGroupText
_DivisionText I_ProductTCCClassification _DivisionText
_ProductHierarchyText I_ProductTCCClassification _ProductHierarchyText
_ProductTypeText I_ProductTCCClassification _ProductTypeText
_ExternalProductGroupText I_ProductTCCClassification _ExternalProductGroupText
_IndustrySectorText I_ProductTCCClassification _IndustrySectorText
_ProductTCCSchemeClfnStatus _ProductTCCSchemeClfnStatus
_ClassifyTCC _ClassifyTCC
@AccessControl.authorizationCheck:  #MANDATORY
@AccessControl.personalData.blocking: #REQUIRED
@EndUserText.label:                 'Classify Product with Commodity Code'
@Metadata.allowExtensions:          true
@ObjectModel.semanticKey:           ['Product','TrdClassfctnNmbrSchm']
@ObjectModel.usageType:{
  serviceQuality: #C,
  sizeCategory:   #L,
  dataClass:      #MIXED
}
@VDM.usage.type:                    [#TRANSACTIONAL_PROCESSING_SERVICE]
@VDM.viewType:                      #CONSUMPTION

define root view entity C_ProductTCCClassificationTP
  as select from I_ProductTCCClassification as _Product
  association [0..1] to C_ProductHasTCC   as _Classified       on  _Classified.Product         = $projection.Product
                                                                            and _Classified.TrdClassfctnNmbrSchm = $projection.TrdClassfctnNmbrSchm
  association [0..1] to C_TrdClassfctnProduct          as _ReferenceProduct on  _ReferenceProduct.Product = $projection.Product
  association [0..*] to C_TrdClassfctnProdPlantCountry as _ProductCountry   on  $projection.Product = _ProductCountry.Product
  association [1..1] to I_ProductHasTCCClassification  as _ProductTCCSchemeClfnStatus on $projection.ProductTCCSchemeClfnStatus = _ProductTCCSchemeClfnStatus.ProductTCCSchemeClfnStatus
  composition [*] of C_ProductTCCValidityClfnTP        as _ClassifyTCC
{
      @Consumption.valueHelpDefinition: [{
            entity: {
                name: 'I_ProductVH' , element: 'Product'
            },
            additionalBinding: [{
                localElement: 'ProductType',
                element: 'ProductType',
                usage: #FILTER
            },{
                localElement: 'ProductCategory',
                element: 'ArticleCategory',
                usage: #FILTER
            },{
                localElement: 'ProductGroup',
                element: 'ProductGroup',
                usage: #FILTER
            },{
                localElement: 'IndustrySector',
                element: 'IndustrySector',
                usage: #FILTER
            }]
          }]
  key _Product.Product as Product,
      @Consumption.valueHelpDefinition: [{
            entity: {
              name:     'C_TranspClsfctnNmbrSchmVH',
              element:  'TrdClassfctnNmbrSchm'
            }
          }]
      @Consumption.filter: { mandatory :          true,
                             selectionType :      #SINGLE,
                             multipleSelections : false     }
      @ObjectModel.text.association: '_TrdClassfctnNmbrSchmText'
  key _Product.TrdClassfctnNmbrSchm,
     @Consumption.valueHelpDefinition: [{
            entity: {
              name:     'I_ProdHasTCCClassfctnVH',
              element:  'ProductTCCSchemeClfnStatus'
            }            
          }]
      @ObjectModel.foreignKey.association: '_ProductTCCSchemeClfnStatus'
      @Semantics.text: true
      cast(case
          when _Classified.TrdClassfctnNmbrSchm is not null then '1'
          else '2' end as /scmtms/vdm_prd_tccns_clfn_sts ) as ProductTCCSchemeClfnStatus,
      @Consumption.valueHelpDefinition: [{
        entity: {
            name: 'I_ProductCategoryVH' , element: 'ProductCategory'
        }
      }]
      _Product.ProductCategory,
      
      @Consumption.valueHelpDefinition: [{
        entity: {
            name: 'I_ProductGroup_2' , element: 'ProductGroup'
        }
      }]
      @ObjectModel.text.association: '_ProductGroupText'
      _Product.ProductGroup,
      @Consumption.valueHelpDefinition: [{
        entity: {
            name: 'I_Division' , element: 'Division'
        }
      }]
      @ObjectModel.text.association: '_DivisionText'
      _Product.Division,
      
      @Consumption.valueHelpDefinition: [{
        entity: {
            name: 'I_ProductHierarchy' , element: 'ProductHierarchy'
        }
      }]
      _Product.ProductHierarchy,
      @Consumption.valueHelpDefinition: [{
        entity: {
            name: 'I_ProductTypeVH' , element: 'ProductType'
        }
      }]
      _Product.ProductType,
      @Consumption.valueHelpDefinition: [{
        entity: {
            name: 'I_Extprodgrpvh' , element: 'ExternalProductGroup'
        }
      }]
      _Product.ExternalProductGroup,
      @Consumption.valueHelpDefinition: [{
        entity: {
            name: 'I_Industrysectorvh' , element: 'IndustrySector'
        }
      }]
      _Product.IndustrySector,
      _Product.CreationDate,
      _Product.IsMarkedForDeletion,
      _Product._TrdClassfctnNmbrSchmText,
      @Consumption.filter.hidden: true
      _ReferenceProduct,
      @Consumption.hidden: true
      _Product._Product,
      _Product._ProductCategory,
      _Product._ProductGroup,
      _Product._Division,
      _Product._ProductHierarchy,
      _Product._ProductType,
      _Product._ExternalProductGroup,
      _Product._IndustrySector,

      _ProductCountry,

      _Product._Text,
      _Product._ProductCategoryText,
      @Semantics.text: true
      _Product._ProductGroupText,
      @Semantics.text: true
      _Product._DivisionText,
      _Product._ProductHierarchyText,
      _Product._ProductTypeText,
      _Product._ExternalProductGroupText,
      _Product._IndustrySectorText,
      _ProductTCCSchemeClfnStatus,
      _ClassifyTCC
}