C_CommodityCodeByLanguage

DDL: C_COMMODITYCODEBYLANGUAGE SQL: CCMDTYCDBYLANG Type: view CONSUMPTION Package: VDM_SLL_CLS

Commodity code for given language

C_CommodityCodeByLanguage is a Consumption CDS View that provides data about "Commodity code for given language" in SAP S/4HANA. It reads from 2 data sources (I_Language, I_CommodityCode) and exposes 28 fields with key fields Language, TrdClassfctnNmbrSchmCntnt, CommodityCode, ValidityStartDate. It has 2 associations to related views. Part of development package VDM_SLL_CLS.

Data Sources (2)

SourceAliasJoin Type
I_Language _Language cross
I_CommodityCode CommodityCode from

Associations (2)

CardinalityTargetAliasCondition
[0..1] I_TrdClassfctnNmbrOfclDescByLa _OfficialDescOnLanguage _OfficialDescOnLanguage.TrdClassfctnNmbrSchmCntnt = $projection.TrdClassfctnNmbrSchmCntnt and _OfficialDescOnLanguage.TrdClassfctnNmbr = $projection.CommodityCode and _OfficialDescOnLanguage.ValidityStartDate = $projection.ValidityStartDate and _OfficialDescOnLanguage.Language = $projection.Language
[0..1] I_TrdClassfctnNmbrCoDescByLa _CnctntdDescOnLanguage _CnctntdDescOnLanguage.TrdClassfctnNmbrSchmCntnt = $projection.TrdClassfctnNmbrSchmCntnt and _CnctntdDescOnLanguage.TrdClassfctnNmbr = $projection.CommodityCode and _CnctntdDescOnLanguage.ValidityStartDate = $projection.ValidityStartDate and _CnctntdDescOnLanguage.Language = $projection.Language

Annotations (14)

NameValueLevelField
AbapCatalog.sqlViewName CCMDTYCDBYLANG view
AbapCatalog.preserveKey true view
EndUserText.label Commodity code for given language view
VDM.viewType #CONSUMPTION view
AccessControl.authorizationCheck #CHECK view
ClientHandling.algorithm #SESSION_VARIABLE view
Metadata.allowExtensions true view
ObjectModel.createEnabled true view
ObjectModel.updateEnabled true view
ObjectModel.deleteEnabled true view
ObjectModel.usageType.sizeCategory L view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.dataClass #MIXED view
Search.searchable true view

Fields (28)

KeyFieldSource TableSource FieldDescription
KEY Language I_Language Language
KEY TrdClassfctnNmbrSchmCntnt I_CommodityCode TrdClassfctnNmbrSchmCntnt
KEY CommodityCode CommodityCode
KEY ValidityStartDate I_CommodityCode ValidityStartDate
ValidityEndDate I_CommodityCode ValidityEndDate
TrdClassfctnNmbrForOfclDesc TrdClassfctnNmbrForOfclDesc
TrdClassfctnNmbrForCnctntdDesc TrdClassfctnNmbrForCnctntdDesc
SupplementaryUnit SupplementaryUnit
SecondSupplementaryUnit SecondSupplementaryUnit
CustomsUnitOfMeasure CustomsUnitOfMeasure 1st Unit Description
SecondCustomsUnitOfMeasure SecondCustomsUnitOfMeasure 2nd Unit Description
UnitOfMeasureSystem UnitOfMeasureSystem
CreatedByUser CreatedByUser
CreatedByUserName _CreatedByUser UserDescription Created By Description
CreationDateTime CreationDateTime
LastChangedByUser LastChangedByUser
LastChangedByUserName _LastChangedByUser UserDescription Changed By Description
LastChangeDateTime LastChangeDateTime
_OfficialDescOnLanguage _OfficialDescOnLanguage
_CnctntdDescOnLanguage _CnctntdDescOnLanguage
_OfficialDesc _OfficialDesc
_CnctntdDesc _CnctntdDesc
_SupplementaryUnit _SupplementaryUnit
_SecondSupplementaryUnit _SecondSupplementaryUnit
_CustomsUnitOfMeasure _CustomsUnitOfMeasure
_SecondCustomsUnitOfMeasure _SecondCustomsUnitOfMeasure
_CreatedByUser _CreatedByUser
_LastChangedByUser _LastChangedByUser
@AbapCatalog.sqlViewName: 'CCMDTYCDBYLANG'
@AbapCatalog.preserveKey:true
@EndUserText.label: 'Commodity code for given language'
@VDM.viewType: #CONSUMPTION
@AccessControl.authorizationCheck: #CHECK
@AccessControl.privilegedAssociations:  [ '_CreatedByUser' , '_LastChangedByUser' ]
@ClientHandling.algorithm: #SESSION_VARIABLE
@Metadata.allowExtensions: true
@ObjectModel.semanticKey: ['CommodityCode']

// enable entity set CRUD operation

@ObjectModel.createEnabled: true
@ObjectModel.updateEnabled: true
@ObjectModel.deleteEnabled: true

@ObjectModel.usageType.sizeCategory: 'L'
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.dataClass: #MIXED

@Search.searchable: true

define view C_CommodityCodeByLanguage
  as select from I_CommodityCode as CommodityCode
    cross join   I_Language      as _Language
  association [0..1] to I_TrdClassfctnNmbrOfclDescByLa as _OfficialDescOnLanguage on  _OfficialDescOnLanguage.TrdClassfctnNmbrSchmCntnt = $projection.TrdClassfctnNmbrSchmCntnt
                                                                                  and _OfficialDescOnLanguage.TrdClassfctnNmbr          = $projection.CommodityCode
                                                                                  and _OfficialDescOnLanguage.ValidityStartDate         = $projection.ValidityStartDate
                                                                                  and _OfficialDescOnLanguage.Language                  = $projection.Language
  association [0..1] to I_TrdClassfctnNmbrCoDescByLa   as _CnctntdDescOnLanguage  on  _CnctntdDescOnLanguage.TrdClassfctnNmbrSchmCntnt = $projection.TrdClassfctnNmbrSchmCntnt
                                                                                  and _CnctntdDescOnLanguage.TrdClassfctnNmbr          = $projection.CommodityCode
                                                                                  and _CnctntdDescOnLanguage.ValidityStartDate         = $projection.ValidityStartDate
                                                                                  and _CnctntdDescOnLanguage.Language                  = $projection.Language
{
      @ObjectModel.text.control: #('ASSOCIATED_TEXT_UI_HIDDEN')
      @Consumption.filter.hidden: true
  key _Language.Language,
      @Consumption.valueHelpDefinition: [{
        entity: {
          name: 'I_CmmdtyCodeNmbrSchmCntntStdVH',
          element: 'TrdClassfctnNmbrSchmCntnt'
      } }]
      @Consumption.filter: { mandatory : true, selectionType : #SINGLE, multipleSelections : false }
      @ObjectModel.text.control: #('ASSOCIATED_TEXT_UI_HIDDEN')
  key CommodityCode.TrdClassfctnNmbrSchmCntnt,
      @Consumption.semanticObject: 'CommodityCode'
      @Search: {
        defaultSearchElement: true,
        ranking: #HIGH,
        fuzzinessThreshold: 0.8
      }
  key CommodityCode,
  key CommodityCode.ValidityStartDate,
      CommodityCode.ValidityEndDate,
      @ObjectModel.text.association: '_OfficialDescOnLanguage'
      @Consumption.filter.hidden: true
      TrdClassfctnNmbrForOfclDesc,
      @ObjectModel.text.association: '_CnctntdDescOnLanguage'
      @Consumption.filter.hidden: true
      TrdClassfctnNmbrForCnctntdDesc,
      @Consumption.filter.hidden: true
      @ObjectModel.text.element: [ 'CustomsUnitOfMeasure' ]
      SupplementaryUnit,
      @Consumption.filter.hidden: true
      @ObjectModel.text.element: [ 'SecondCustomsUnitOfMeasure' ]
      SecondSupplementaryUnit,
      @Consumption.valueHelpDefinition: [{
        entity: {
            name: 'I_CustomsUnitOfMeasureVH',
            element: 'CustomsUnitOfMeasure'
        },
        additionalBinding: [
        {
          localElement   : 'UnitOfMeasureSystem',
          element        : 'UnitOfMeasureSystem'
        }]   }]
      @Consumption.filter.hidden: true
      @EndUserText.label: '1st Unit Description'
      @Semantics.text: true
      CustomsUnitOfMeasure,
      @Consumption.valueHelpDefinition: [{
        entity: {
            name: 'I_CustomsUnitOfMeasureVH',
            element: 'CustomsUnitOfMeasure'
        },
        additionalBinding: [
        {
          localElement   : 'UnitOfMeasureSystem',
          element        : 'UnitOfMeasureSystem'
        }]   }]
      @Consumption.filter.hidden: true
      @EndUserText.label: '2nd Unit Description'
      @Semantics.text: true
      SecondCustomsUnitOfMeasure,
      @ObjectModel.readOnly: true
      @Consumption.filter.hidden: true
      UnitOfMeasureSystem,
      @ObjectModel.readOnly: true
      @ObjectModel.text.element: [ 'CreatedByUserName' ]
      CreatedByUser,
      @Semantics.text:true
      @EndUserText.label: 'Created By Description'
      _CreatedByUser.UserDescription     as CreatedByUserName,
      @ObjectModel.readOnly: true
      @Consumption.filter.hidden: true
      CreationDateTime,
      @ObjectModel.readOnly: true
      @ObjectModel.text.element: ['LastChangedByUserName']
      LastChangedByUser,
      @Semantics.text:true
      @EndUserText.label: 'Changed By Description'
      _LastChangedByUser.UserDescription as LastChangedByUserName,
      @ObjectModel.readOnly: true
      @Consumption.filter.hidden: true
      LastChangeDateTime,

      @ObjectModel.filter.enabled: false
      _OfficialDescOnLanguage,
      @ObjectModel.filter.enabled: false
      _CnctntdDescOnLanguage,
      @Consumption.hidden: true
      _OfficialDesc,
      @Consumption.hidden: true
      _CnctntdDesc,
      @Consumption.filter.hidden: true
      _SupplementaryUnit,
      @Consumption.filter.hidden: true
      _SecondSupplementaryUnit,
      @Consumption.filter.hidden: true
      _CustomsUnitOfMeasure,
      @Consumption.filter.hidden: true
      _SecondCustomsUnitOfMeasure,
      @Consumption.filter.hidden: true
      _CreatedByUser,
      @Consumption.filter.hidden: true
      _LastChangedByUser
}