I_PRODALLOCCHARCCATALOGPATH

CDS View

Product Allocation Characteristic Catalog Path

I_PRODALLOCCHARCCATALOGPATH is a CDS View in S/4HANA. Product Allocation Characteristic Catalog Path. It contains 38 fields. 8 CDS views read from this table.

CDS Views using this table (8)

ViewTypeJoinVDMDescription
C_ABOPSortAttributeVH view from CONSUMPTION Value Help for BOP Sort Attributes
I_ARunDemandSortAttributeVH view from COMPOSITE Demand Sort Attribute VH
I_ObjValDetnUnassignedCharc view_entity cross COMPOSITE Unassigned Characteristics
I_OrdFlfllmntRespySpltCriteria view from BASIC Order Fulfillment Responsibility Split Criteria
I_ProdAllocCharcCtlgPathTP view from TRANSACTIONAL Product Allocation Characteristic Catalog Path
I_SupProtCharacteristicVH view_entity from COMPOSITE Supply Protection Characteristics
I_UsedProdAllocCharcVH view inner COMPOSITE Product Allocation Characteristic
P_PRODALLOCCHARCCTLGPATH view from COMPOSITE

Fields (38)

KeyField CDS FieldsUsed in Views
KEY ProdAllocCharcCtlgPathUUID ABOPSortAttributeFldPathUUID,ActiveAllocCharcCtlgPathUUID,ProdAllocCharcCtlgPathUUID 5
ABAPDataElement ABAPDataElement 5
ABAPDictionaryDataType ABAPDictionaryDataType 2
ABAPDictionaryDataTypeDecimals ABAPDictionaryDataTypeDecimals 2
ABAPDictionaryDataTypeLength ABAPDictionaryDataTypeLength 2
ABAPOutputLengthValue ABAPOutputLengthValue 2
CharacteristicUnit CharacteristicUnit 1
CharacteristicUnitPathIntID CharacteristicUnitPathIntID 2
CharacteristicValueGroupType CharacteristicValueGroupType 1
CharacteristicValueGroupUnit CharacteristicValueGroupUnit 1
CharcCatalogCharacteristicName CharcCatalogCharacteristicName 1
CharcCatalogPathHierarchyType CharcCatalogPathHierarchyType 1
CharcInternalID CharcInternalID 2
CharcIsOnlyUsableInValueGroups CharcIsOnlyUsableInValueGroups 1
CharcValExistenceCheckType CharcValExistenceCheckType 2
CharcValueConversionRoutine CharcValueConversionRoutine 1
CharcValueIsCaseSensitive CharcValueIsCaseSensitive 2
ClfnCharacteristicUseType ClfnCharacteristicUseType 3
ProdAllocCharcCatalogCharcType ProdAllocCharcCatalogCharcType 2
ProdAllocCharcCatalogPath ProdAllocCharcCatalogPath 2
ProdAllocCharcCatalogPathType ProdAllocCharcCatalogPathType 3
ProdAllocCharcCatalogType ProdAllocCharcCatalogType 2
ProdAllocCharcCatalogUseType ProdAllocCharcCatalogUseType 2
ProdAllocCharcCatalogUUID ProdAllocCharcCatalogUUID 2
ProdAllocCharcCtlgAltvPath ProdAllocCharcCtlgAltvPath 2
ProdAllocCharcCtlgCharc ABOPSortAttribute,ProdAllocCharcCtlgCharc 5
ProdAllocCharcCtlgLegacyPath ProdAllocCharcCtlgLegacyPath 2
ProdAllocCharcCtlgLegacyTable ProdAllocCharcCtlgLegacyTable 2
ProdAllocCharcCtlgParPathIntID ProdAllocCharcCtlgParPathIntID 3
ProdAllocCharcCtlgPathIntID ABOPSortAttributeFldPathIntID,ProdAllocCharcCtlgPathIntID 5
ProdAllocCharcCtlgPathIsHidden ProdAllocCharcCtlgPathIsHidden 2
ProdAllocCharcCtlgPathIsRoot ProdAllocCharcCtlgPathIsRoot 3
ProdAllocCharcCtlgPathSel ProdAllocCharcCtlgPathSel 2
ProdAllocCharcCtlgPathSelName ProdAllocCharcCtlgPathSelName 2
ProdAllocCharcValHelpTblField ProdAllocCharcValHelpTblField 3
ProdAllocCharcValHelpTextLink ProdAllocCharcValHelpTextLink 3
ProdAllocCharcValHelpTxtTblFld ProdAllocCharcValHelpTxtTblFld 3
ProdAllocCharcValueHelp ProdAllocCharcValueHelp 3
@EndUserText.label: 'Product Allocation Characteristic Catalog Path' //same as DDL description

@VDM.viewType: #BASIC
@VDM.lifecycle.contract.type: #SAP_INTERNAL_API
@AccessControl.authorizationCheck: #NOT_REQUIRED  //or #NOT_REQUIRED #CHECK

@AbapCatalog.sqlViewName: 'IPACTLG_PATH'
@ObjectModel.representativeKey: 'ProdAllocCharcCtlgPathUUID'
@ObjectModel.semanticKey:  [ 'ProdAllocCharcCatalogType',
                             'ProdAllocCharcCatalogUseType',
                             'ProdAllocCharcCtlgPathSelName',
                             'ProdAllocCharcCtlgPathSel',
                             'ProdAllocCharcCatalogPath' ]


@ObjectModel.usageType.sizeCategory: #S
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.dataClass:#MASTER
@ClientHandling.algorithm: #SESSION_VARIABLE

@Search.searchable: true

define view I_ProdAllocCharcCatalogPath
  as select from pactlg_path

  association [1..1] to I_ProdAllocCharcCatalog       as _ProdAllocCharcCatalog         on  $projection.ProdAllocCharcCatalogUUID = _ProdAllocCharcCatalog.ProdAllocCharcCatalogUUID

  association [0..*] to I_ProdAllocCharcCtlgPathText  as _Text                          on  $projection.ProdAllocCharcCtlgPathUUID = _Text.ProdAllocCharcCtlgPathUUID

  association [0..*] to I_ProdAllocCharcCtlgPathRef   as _ProdAllocCharcCtlgPathRef     on  $projection.ProdAllocCharcCtlgPathUUID = _ProdAllocCharcCtlgPathRef.ProdAllocCharcCtlgPathUUID

  association [0..*] to I_AllocCharcCtlgValGrpVal     as _AllocCharcCtlgValGrpVal       on  $projection.ProdAllocCharcCtlgPathUUID = _AllocCharcCtlgValGrpVal.ProdAllocCharcCtlgPathUUID

  association [0..1] to I_ProdAllocCharcCatalogType   as _ProdAllocCharcCatalogType     on  $projection.ProdAllocCharcCatalogType = _ProdAllocCharcCatalogType.ProdAllocCharcCatalogType

  association [0..1] to I_ProdAllocCharcCtlgUseType   as _ProdAllocCharcCtlgUseType     on  $projection.ProdAllocCharcCatalogUseType = _ProdAllocCharcCtlgUseType.ProdAllocCharcCatalogUseType

  association [0..1] to I_ProdAllocCharcCtlgCharcType as _ProdAllocCharcCtlgCharcType   on  $projection.ProdAllocCharcCatalogCharcType = _ProdAllocCharcCtlgCharcType.ProdAllocCharcCatalogCharcType

  association [0..1] to I_ProdAllocCharcCtlgPathType  as _ProdAllocCharcCtlgPathType    on  $projection.ProdAllocCharcCatalogPathType = _ProdAllocCharcCtlgPathType.ProdAllocCharcCatalogPathType

  association [0..*] to I_ProdAllocCharcCatalogPath   as _NextLvlProdAllocCharcCtlgPath on  $projection.ProdAllocCharcCtlgPathIntID = _NextLvlProdAllocCharcCtlgPath.ProdAllocCharcCtlgParPathIntID

  association [0..1] to I_ProdAllocCharcCatalogPath   as _ParentProdAllocCharcCtlgPath  on  $projection.ProdAllocCharcCtlgParPathIntID = _ParentProdAllocCharcCtlgPath.ProdAllocCharcCtlgPathIntID

  association [0..*] to I_DataElementLabelText        as _DataElementLabelText          on  $projection.ABAPDataElement = _DataElementLabelText.ABAPDataElement

  association [0..*] to I_PartnerFunctionText         as _PartnerFunctionText           on  $projection.ProdAllocCharcCtlgPathSel = _PartnerFunctionText.PartnerFunction

  association [0..1] to I_CharcValExistenceCheckType  as _CharcValExistenceCheckType    on  $projection.CharcValExistenceCheckType = _CharcValExistenceCheckType.CharcValExistenceCheckType

  association [0..1] to I_ProdAllocCharcCtlgPathRef   as _MainCharcCtlgPathRef          on  _MainCharcCtlgPathRef.ProdAllocCharcCtlgPathUUID  = $projection.ProdAllocCharcCtlgPathUUID
                                                                                        and _MainCharcCtlgPathRef.ProdAllocCharcCatalogIsMain = 'X'
                                                                                        
  association [0..1] to I_UnitOfMeasure               as _CharacteristicUnitOfMeasure   on $projection.CharacteristicUnit = _CharacteristicUnitOfMeasure.UnitOfMeasure

  association [0..1] to I_UnitOfMeasure               as _ValueGroupUnitOfMeasure       on $projection.CharacteristicValueGroupUnit = _ValueGroupUnitOfMeasure.UnitOfMeasure
{
      // Key fields

      @ObjectModel.text.association: '_Text'
      @ObjectModel.readOnly: true
      @UI.hidden
  key prodalloccharcctlgpathuuid     as ProdAllocCharcCtlgPathUUID,

      // Fields

      @ObjectModel.readOnly: true
      //@ObjectModel.foreignKey.association: '_NextLvlProdAllocCharcCtlgPath'

      @UI.hidden
      prodalloccharcctlgpathintid    as ProdAllocCharcCtlgPathIntID,

      @ObjectModel.foreignKey.association: '_ProdAllocCharcCatalogType'
      @ObjectModel.mandatory: true
      @Search.defaultSearchElement: true
      prodalloccharccatalogtype      as ProdAllocCharcCatalogType,

      @ObjectModel.foreignKey.association: '_ProdAllocCharcCtlgUseType'
      //@ObjectModel.mandatory: true

      @Search.defaultSearchElement: true
      prodalloccharccatalogusetype   as ProdAllocCharcCatalogUseType,

      @ObjectModel.foreignKey.association: '_ProdAllocCharcCatalog'
      prodalloccharccataloguuid      as ProdAllocCharcCatalogUUID,

      //@ObjectModel.readOnly: true

      @UI.hidden
      prodalloccharcctlgparpathintid as ProdAllocCharcCtlgParPathIntID,

      @UI.hidden
      characteristicunitpathintid    as CharacteristicUnitPathIntID,

      @ObjectModel.foreignKey.association: '_ProdAllocCharcCtlgCharcType'
      @ObjectModel.mandatory: true
      prodalloccharccatalogcharctype as ProdAllocCharcCatalogCharcType,

      @ObjectModel.foreignKey.association: '_ProdAllocCharcCtlgPathType'
      @ObjectModel.mandatory: true
      prodalloccharccatalogpathtype  as ProdAllocCharcCatalogPathType,

      clfncharacteristicusetype      as ClfnCharacteristicUseType,
      
      charccatalogpathhierarchytype as CharcCatalogPathHierarchyType,

      @ObjectModel.text.association: '_DataElementLabelText'
      @UI.hidden
      // Is @UI.hidden because in the composite/union view either this description or

      // the description of the data element or the description of the partner

      // function shall be available (depending on which

      // one is filled), for this we will provide a new description field in the

      // consumption view which will be calculated by CASE-statement. This is also

      // the reason why it is a text-association, namely in order to be able to

      // retrieve the text of the data element.

      abapdataelement                as ABAPDataElement,

      prodalloccharcctlgpathselname  as ProdAllocCharcCtlgPathSelName,

      @ObjectModel.text.association: '_PartnerFunctionText'
      // In case of partner functions for business partners, we want to be able

      // to determine the partner function text. So either the text for the

      // current path is determined by data element, our own text table or

      // from the partner function text table.

      prodalloccharcctlgpathsel      as ProdAllocCharcCtlgPathSel,

      @ObjectModel.mandatory: true
      prodalloccharccatalogpath      as ProdAllocCharcCatalogPath,

      prodalloccharcctlgaltvpath     as ProdAllocCharcCtlgAltvPath,

      prodalloccharcctlglegacytable  as ProdAllocCharcCtlgLegacyTable,

      prodalloccharcctlglegacypath   as ProdAllocCharcCtlgLegacyPath,

      prodalloccharcvaluehelp        as ProdAllocCharcValueHelp,

      prodalloccharcvalhelptblfield  as ProdAllocCharcValHelpTblField,

      prodalloccharcvalhelptextlink  as ProdAllocCharcValHelpTextLink,

      prodalloccharcvalhelptxttblfld as ProdAllocCharcValHelpTxtTblFld,

      prodalloccharcctlgcharc        as ProdAllocCharcCtlgCharc,

      prodalloccharcctlgpathishidden as ProdAllocCharcCtlgPathIsHidden,

      prodalloccharcctlgpathisroot   as ProdAllocCharcCtlgPathIsRoot,

      @ObjectModel.foreignKey.association: '_CharcValExistenceCheckType'
      charcvalexistencechecktype     as CharcValExistenceCheckType,

      abapdictionarydatatype         as ABAPDictionaryDataType,

      abapdictionarydatatypelength   as ABAPDictionaryDataTypeLength,

      abapdictionarydatatypedecimals as ABAPDictionaryDataTypeDecimals,

      abapoutputlengthvalue          as ABAPOutputLengthValue,

      charcvalueiscasesensitive      as CharcValueIsCaseSensitive,

      charcvalueconversionroutine    as CharcValueConversionRoutine,

      charcinternalid                as CharcInternalID,

      @ObjectModel.foreignKey.association: '_CharacteristicUnitOfMeasure'
      @Semantics.unitOfMeasure: true
      characteristicunit             as CharacteristicUnit,

      @ObjectModel.foreignKey.association: '_ValueGroupUnitOfMeasure'
      @Semantics.unitOfMeasure: true
      characteristicvaluegroupunit   as CharacteristicValueGroupUnit,

      characteristicvaluegrouptype   as CharacteristicValueGroupType,

      charcisonlyusableinvaluegroups as CharcIsOnlyUsableInValueGroups,
      
      @ObjectModel.readOnly: true
      charccatalogcharacteristicname as CharcCatalogCharacteristicName,
      
      
      // Associations

      @ObjectModel.association.type: [#TO_COMPOSITION_PARENT,
                                      #TO_COMPOSITION_ROOT]
      _ProdAllocCharcCatalog,

      @ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
      _Text,

      @ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
      _ProdAllocCharcCtlgPathRef,

      @ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
      _AllocCharcCtlgValGrpVal,

      _ProdAllocCharcCatalogType,

      _MainCharcCtlgPathRef,

      _ProdAllocCharcCtlgUseType,

      _ProdAllocCharcCtlgCharcType,

      _ProdAllocCharcCtlgPathType,

      _NextLvlProdAllocCharcCtlgPath,

      _ParentProdAllocCharcCtlgPath,

      _CharcValExistenceCheckType,

      _DataElementLabelText,

      _PartnerFunctionText,
      
      _CharacteristicUnitOfMeasure,
      
      _ValueGroupUnitOfMeasure
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"PACTLG_PATH"
],
"ASSOCIATED":
[
"I_ALLOCCHARCCTLGVALGRPVAL",
"I_CHARCVALEXISTENCECHECKTYPE",
"I_DATAELEMENTLABELTEXT",
"I_PARTNERFUNCTIONTEXT",
"I_PRODALLOCCHARCCATALOG",
"I_PRODALLOCCHARCCATALOGTYPE",
"I_PRODALLOCCHARCCTLGCHARCTYPE",
"I_PRODALLOCCHARCCTLGPATHREF",
"I_PRODALLOCCHARCCTLGPATHTEXT",
"I_PRODALLOCCHARCCTLGPATHTYPE",
"I_PRODALLOCCHARCCTLGUSETYPE",
"I_UNITOFMEASURE"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/