I_DocumentInfoRecordUserVH

DDL: I_DOCUMENTINFORECORDUSERVH SQL: ICVDOCUSRVH Type: view COMPOSITE

Document Info Record User

I_DocumentInfoRecordUserVH is a Composite CDS View (Dimension) that provides data about "Document Info Record User" in SAP S/4HANA. It reads from 4 data sources (I_User, P_DocumentInfoRecord, I_User, adrp) and exposes 16 fields with key fields DocumentInfoRecordDocType, DocumentInfoRecordDocNumber, DocumentInfoRecordDocVersion, DocumentInfoRecordDocPart, ResponsiblePersonName. It has 5 associations to related views.

Data Sources (4)

SourceAliasJoin Type
I_User ChangedUser left_outer
P_DocumentInfoRecord document from
I_User RespUser left_outer
adrp UserDetail inner

Associations (5)

CardinalityTargetAliasCondition
[0..*] I_DocumentInfoRecordDocTypeT _DocTypeText $projection.DocumentInfoRecordDocType = _DocTypeText.DocumentInfoRecordDocType
[1..1] I_DocumentInfoRecordDocType _DocType $projection.DocumentInfoRecordDocType = _DocType.DocumentInfoRecordDocType --Get Document Number
[0..1] I_DocumentInfoRecordDocNumber _DocNumber $projection.DocumentInfoRecordDocType = _DocNumber.DocumentInfoRecordDocType and $projection.DocumentInfoRecordDocNumber = _DocNumber.DocumentInfoRecordDocNumber --Get Document Version
[1..1] I_DocumentInfoRecordDocVersion _DocVersion $projection.DocumentInfoRecordDocType = _DocVersion.DocumentInfoRecordDocType and $projection.DocumentInfoRecordDocNumber = _DocVersion.DocumentInfoRecordDocNumber and $projection.DocumentInfoRecordDocVersion = _DocVersion.DocumentInfoRecordDocVersion --Get Document Part
[1..1] I_DocumentInfoRecordDocPrt _DocPart $projection.DocumentInfoRecordDocType = _DocPart.DocumentInfoRecordDocType and $projection.DocumentInfoRecordDocPart = _DocPart.DocumentInfoRecordDocPart and $projection.DocumentInfoRecordDocNumber = _DocPart.DocumentInfoRecordDocNumber and $projection.DocumentInfoRecordDocVersion = _DocPart.DocumentInfoRecordDocVersion

Annotations (18)

NameValueLevelField
AbapCatalog.sqlViewName ICVDOCUSRVH view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Document Info Record User view
VDM.viewType #COMPOSITE view
Search.searchable true view
Consumption.ranked true view
ObjectModel.dataCategory #VALUE_HELP view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.representativeKey ResponsiblePersonName view
Analytics.dataCategory #DIMENSION view
Metadata.allowExtensions true view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
Metadata.ignorePropagatedAnnotations true view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
ObjectModel.modelingPattern #ANALYTICAL_DIMENSION view

Fields (16)

KeyFieldSource TableSource FieldDescription
KEY DocumentInfoRecordDocType P_DocumentInfoRecord DocumentInfoRecordDocType Document Type
KEY DocumentInfoRecordDocNumber P_DocumentInfoRecord DocumentInfoRecordDocNumber Document Number
KEY DocumentInfoRecordDocVersion P_DocumentInfoRecord DocumentInfoRecordDocVersion Document Version
KEY DocumentInfoRecordDocPart P_DocumentInfoRecord DocumentInfoRecordDocPart Document Part
KEY ResponsiblePersonName P_DocumentInfoRecord ResponsiblePersonName Created By
FirstName adrp name_first
LastName adrp name_last
ResponsiblePersonFullName I_User UserDescription Created By User Name
LastChangedByUser P_DocumentInfoRecord LastChangedByUser Last Changed By
LastChangedByUserFullName I_User UserDescription Last Changed By User Name
PersonNumber I_User AddressPersonID
_DocType _DocType
_DocNumber _DocNumber
_DocVersion _DocVersion
_DocPart _DocPart
_DocTypeText _DocTypeText
@AbapCatalog.sqlViewName: 'ICVDOCUSRVH'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Document Info Record User'
@VDM.viewType: #COMPOSITE
@Search.searchable: true
@Consumption.ranked:true
@ObjectModel.dataCategory: #VALUE_HELP
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.representativeKey: 'ResponsiblePersonName'
@Analytics: { dataCategory: #DIMENSION }
@Metadata.allowExtensions: true
@ObjectModel.usageType: {serviceQuality: #C, sizeCategory: #XL, dataClass: #TRANSACTIONAL}
@Metadata.ignorePropagatedAnnotations: true
@VDM.lifecycle: {
  contract: {
    type:#PUBLIC_LOCAL_API
  }
}

//--[ GENERATED:012:E6ExH29r7kY4mpuAYoLAbW

@AccessControl.privilegedAssociations: ['_DocTypeText']
// ]--GENERATED

@ObjectModel.supportedCapabilities: [ #VALUE_HELP_PROVIDER , #ANALYTICAL_DIMENSION , #SQL_DATA_SOURCE , #CDS_MODELING_DATA_SOURCE , #CDS_MODELING_ASSOCIATION_TARGET ]
@ObjectModel.modelingPattern: #ANALYTICAL_DIMENSION
define view I_DocumentInfoRecordUserVH
  as select from    P_DocumentInfoRecord as document

    //@sam left outer join usr21                as RespUser    on document.ResponsiblePersonName = RespUser.bname

    left outer join I_User             as RespUser    on document.ResponsiblePersonName = RespUser.UserID

    //@sam left outer join usr21                as ChangedUser on document.LastChangedByUser = ChangedUser.bname

    left outer join I_User             as ChangedUser on document.LastChangedByUser = ChangedUser.UserID
    
    inner join adrp                      as UserDetail  on UserDetail.persnumber  = RespUser.AddressPersonID

  --Get Document Type Association

  //--[ GENERATED:012:E6ExH29r7kY4mpuAYoLAbW

  association [0..*] to I_DocumentInfoRecordDocTypeT   as _DocTypeText on  $projection.DocumentInfoRecordDocType = _DocTypeText.DocumentInfoRecordDocType
  // ]--GENERATED

  association [1..1] to I_DocumentInfoRecordDocType    as _DocType     on  $projection.DocumentInfoRecordDocType = _DocType.DocumentInfoRecordDocType
  
  --Get Document Number Association
  association [0..1] to I_DocumentInfoRecordDocNumber  as _DocNumber  on  $projection.DocumentInfoRecordDocType   = _DocNumber.DocumentInfoRecordDocType
                                                                      and $projection.DocumentInfoRecordDocNumber = _DocNumber.DocumentInfoRecordDocNumber

  --Get Document Version Association
  association [1..1] to I_DocumentInfoRecordDocVersion as _DocVersion  on  $projection.DocumentInfoRecordDocType    = _DocVersion.DocumentInfoRecordDocType
                                                                       and $projection.DocumentInfoRecordDocNumber  = _DocVersion.DocumentInfoRecordDocNumber
                                                                       and $projection.DocumentInfoRecordDocVersion = _DocVersion.DocumentInfoRecordDocVersion

  --Get Document Part Association
  association [1..1] to I_DocumentInfoRecordDocPrt     as _DocPart     on  $projection.DocumentInfoRecordDocType    = _DocPart.DocumentInfoRecordDocType
                                                                       and $projection.DocumentInfoRecordDocPart    = _DocPart.DocumentInfoRecordDocPart
                                                                       and $projection.DocumentInfoRecordDocNumber  = _DocPart.DocumentInfoRecordDocNumber
                                                                       and $projection.DocumentInfoRecordDocVersion = _DocPart.DocumentInfoRecordDocVersion

{     
      
      //--[ GENERATED:012:E6ExH29r7kY4mpuAYoLAbW

       
     @Consumption.valueHelpDefinition: [
     { entity:  { name:    'I_DocInfoRecdDocTypeStdVH',
                     element: 'DocumentInfoRecordDocType' }
        }] 
    
   //   @DefaultAggregation:#NONE   //Added for TypeAhead     

      @ObjectModel.text.association: '_DocTypeText'
      @ObjectModel.text.control: #('ASSOCIATED_TEXT_UI_HIDDEN') 
      // ]--GENERATED

      @ObjectModel.foreignKey.association: '_DocType'
      @EndUserText.label:'Document Type'
      // @Consumption.valueHelpDefault.binding.usage:#FILTER_AND_RESULT //Added for TypeAhead 

      @Search.ranking: #MEDIUM          //Added for TypeAhead 

      @Search.fuzzinessThreshold: 0.8   //Added for TypeAhead 

      @Search.defaultSearchElement: true
  key document.DocumentInfoRecordDocType            as  DocumentInfoRecordDocType,
     //  @Consumption.valueHelpDefinition: [

    //    { entity:  { name:    'I_DocInfoRecdDocNmbrStdVH',

     //                element: 'DocumentInfoRecordDocNumber' }

     //   }]       


      @Search.ranking: #MEDIUM            //Added for TypeAhead 

      @Search.fuzzinessThreshold: 0.8   //Added for TypeAhead     

      @ObjectModel.foreignKey.association: '_DocNumber'      
      @EndUserText.label:'Document Number'
      @Search.defaultSearchElement: true
  key document.DocumentInfoRecordDocNumber          as  DocumentInfoRecordDocNumber,
            
      //--[ GENERATED:012:E6ExH29r7kY4mpuAYoLAbW

      @Consumption.valueHelpDefinition: [
       { entity:  { name:    'I_DocInfoRecdDocVersStdVH',
                     element: 'DocumentInfoRecordDocVersion' },
          additionalBinding: [{ localElement: 'DocumentInfoRecordDocType',
                               element: 'DocumentInfoRecordDocType' },
                              { localElement: 'DocumentInfoRecordDocNumber',
                               element: 'DocumentInfoRecordDocNumber' }]
        }]
      // ]--GENERATED

       //   @DefaultAggregation:#NONE   //Added for TypeAhead 

      @ObjectModel.foreignKey.association: '_DocVersion'
      @EndUserText.label:'Document Version'
      //@Consumption.valueHelpDefault.binding.usage:#FILTER_AND_RESULT //Added for TypeAhead 

      @Search.ranking: #MEDIUM            //Added for TypeAhead 

      @Search.fuzzinessThreshold: 0.8   //Added for TypeAhead 

      @Search.defaultSearchElement: true
  key document.DocumentInfoRecordDocVersion         as  DocumentInfoRecordDocVersion,
      
      //--[ GENERATED:012:E6ExH29r7kY4mpuAYoLAbW

       @Consumption.valueHelpDefinition: [
       { entity:  { name:    'I_DocInfoRecdDocPrtStdVH',
                     element: 'DocumentInfoRecordDocPart' },
          additionalBinding: [{ localElement: 'DocumentInfoRecordDocType',
                                element: 'DocumentInfoRecordDocType' },
                              { localElement: 'DocumentInfoRecordDocNumber',
                                element: 'DocumentInfoRecordDocNumber' },
                              { localElement: 'DocumentInfoRecordDocVersion',
                                element: 'DocumentInfoRecordDocVersion' }]
       }]
      // ]--GENERATED

       //   @DefaultAggregation:#NONE   //Added for TypeAhead 

      @ObjectModel.foreignKey.association: '_DocPart'
      @EndUserText.label:'Document Part'
      //@Consumption.valueHelpDefault.binding.usage:#FILTER_AND_RESULT //Added for TypeAhead 

      @Search.ranking: #MEDIUM            //Added for TypeAhead 

      @Search.fuzzinessThreshold: 0.8   //Added for TypeAhead 

      @Search.defaultSearchElement: true
  key document.DocumentInfoRecordDocPart            as  DocumentInfoRecordDocPart,
    
      @Search.defaultSearchElement: true
      @Search.ranking: #HIGH
      @Search.fuzzinessThreshold: 0.8
      @EndUserText.label:'Created By'
      @Semantics.user.createdBy: true
    key  document.ResponsiblePersonName                as  ResponsiblePersonName,

      @UI.hidden: true
      UserDetail.name_first as FirstName,
      
      @UI.hidden: true
      UserDetail.name_last  as LastName,
            
      @Search.defaultSearchElement: true
      @Search.ranking: #HIGH
      @Search.fuzzinessThreshold: 0.8
      @EndUserText.label:'Created By User Name'
      //@sam RespUser.techdesc                             as  ResponsiblePersonFullName,

      RespUser.UserDescription                as  ResponsiblePersonFullName,
            
      @Search.defaultSearchElement: true
      @Search.ranking: #HIGH
      @Search.fuzzinessThreshold: 0.8
      @EndUserText.label:'Last Changed By'
      @Semantics.user.lastChangedBy: true
      document.LastChangedByUser                    as  LastChangedByUser,

      @Search.defaultSearchElement: true
      @Search.ranking: #HIGH
      @Search.fuzzinessThreshold: 0.8
      @EndUserText.label:'Last Changed By User Name'
      //@sam ChangedUser.techdesc                          as  LastChangedByUserFullName,

      ChangedUser.UserDescription                          as  LastChangedByUserFullName,
      
      @UI.hidden: true
      //@sam RespUser.persnumber as PersonNumber,

      RespUser.AddressPersonID as PersonNumber,
      
      //Associations

      _DocType,
      _DocNumber,
      _DocVersion,
      _DocPart,           
      //--[ GENERATED:012:E6ExH29r7kY4mpuAYoLAbW

      @Consumption.hidden: true
      _DocTypeText
      // ]--GENERATED


}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_USER",
"P_DOCUMENTINFORECORD",
"ADRP"
],
"ASSOCIATED":
[
"I_DOCUMENTINFORECORDDOCNUMBER",
"I_DOCUMENTINFORECORDDOCPRT",
"I_DOCUMENTINFORECORDDOCTYPE",
"I_DOCUMENTINFORECORDDOCTYPET",
"I_DOCUMENTINFORECORDDOCVERSION"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/