I_DocForQltyInProcmt

DDL: I_DOCFORQLTYINPROCMT SQL: IDFQLTYINPROCMT Type: view COMPOSITE

Documents for QltyInProcmt

I_DocForQltyInProcmt is a Composite CDS View that provides data about "Documents for QltyInProcmt" in SAP S/4HANA. It reads from 1 data source (I_DocumentInfoRecordObjectLink) and exposes 14 fields with key fields DocumentInfoRecordDocType, DocumentInfoRecordDocNumber, DocumentInfoRecordDocPart, DocumentInfoRecordDocVersion, LinkedSAPObjectKey. It has 5 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_DocumentInfoRecordObjectLink I_DocumentInfoRecordObjectLink from

Associations (5)

CardinalityTargetAliasCondition
[0..1] I_DocumentInfoRecord _DocInfoRecdWithVersion $projection.DocumentInfoRecordDocNumber = _DocInfoRecdWithVersion.DocumentInfoRecordDocNumber and $projection.DocumentInfoRecordDocType = _DocInfoRecdWithVersion.DocumentInfoRecordDocType and $projection.DocumentInfoRecordDocVersion = _DocInfoRecdWithVersion.DocumentInfoRecordDocVersion and $projection.DocumentInfoRecordDocPart = _DocInfoRecdWithVersion.DocumentInfoRecordDocPart
[0..*] I_DocumentInfoRecordObjLinkT _ObjectTypeDesc $projection.LinkedSAPObject = _ObjectTypeDesc.LinkedSAPObject
[0..*] I_DocumentInfoRecordDocTypeT _DocumentTypeText $projection.DocumentInfoRecordDocType = _DocumentTypeText.DocumentInfoRecordDocType
[0..*] I_DocumentInfoRecordDesc _DocumentDescription $projection.DocumentInfoRecordDocPart = _DocumentDescription.DocumentInfoRecordDocPart and $projection.DocumentInfoRecordDocType = _DocumentDescription.DocumentInfoRecordDocType and $projection.DocumentInfoRecordDocVersion = _DocumentDescription.DocumentInfoRecordDocVersion and $projection.DocumentInfoRecordDocNumber = _DocumentDescription.DocumentInfoRecordDocNumber
[0..1] I_DocumentInfoRecordDocStatus _DocStatus $projection.DocumentInfoRecordDocType = _DocStatus.DocumentInfoRecordDocType and $projection.DocInfoRecdLinkStatus = _DocStatus.InternalDocumentStatus

Annotations (12)

NameValueLevelField
AbapCatalog.sqlViewName IDFQLTYINPROCMT view
ClientHandling.algorithm #SESSION_VARIABLE view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
Search.searchable true view
EndUserText.label Documents for QltyInProcmt view
ObjectModel.representativeKey LinkedSAPObjectKey view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MIXED view

Fields (14)

KeyFieldSource TableSource FieldDescription
KEY DocumentInfoRecordDocType I_DocumentInfoRecordObjectLink DocumentInfoRecordDocType
KEY DocumentInfoRecordDocNumber I_DocumentInfoRecordObjectLink DocumentInfoRecordDocNumber
KEY DocumentInfoRecordDocPart I_DocumentInfoRecordObjectLink DocumentInfoRecordDocPart
KEY DocumentInfoRecordDocVersion I_DocumentInfoRecordObjectLink DocumentInfoRecordDocVersion
KEY LinkedSAPObjectKey I_DocumentInfoRecordObjectLink LinkedSAPObjectKey
KEY LinkedSAPObject I_DocumentInfoRecordObjectLink LinkedSAPObject
InternalDocumentStatus _DocInfoRecdWithVersion InternalDocumentStatus
DocInfoRecdLinkStatus I_DocumentInfoRecordObjectLink DocInfoRecdLinkStatus
ObjectDescription
DocumentTypeDescription
DocumentDescription
ExternalDocumentStatus
DocumentStatusName
_DocInfoRecdWithVersion _DocInfoRecdWithVersion
@AbapCatalog.sqlViewName: 'IDFQLTYINPROCMT'
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@VDM.viewType: #COMPOSITE
@VDM.lifecycle.contract.type: #SAP_INTERNAL_API
@Search.searchable: true
@EndUserText.label: 'Documents for QltyInProcmt'
@ObjectModel.representativeKey: 'LinkedSAPObjectKey'
@ObjectModel.usageType: {serviceQuality: #C, sizeCategory: #L, dataClass: #MIXED}

define view I_DocForQltyInProcmt
  as select from I_DocumentInfoRecordObjectLink
            
    association [0..1] to I_DocumentInfoRecord as _DocInfoRecdWithVersion on $projection.DocumentInfoRecordDocNumber      = _DocInfoRecdWithVersion.DocumentInfoRecordDocNumber      
                                                                         and $projection.DocumentInfoRecordDocType        = _DocInfoRecdWithVersion.DocumentInfoRecordDocType
                                                                         and $projection.DocumentInfoRecordDocVersion     = _DocInfoRecdWithVersion.DocumentInfoRecordDocVersion
                                                                         and $projection.DocumentInfoRecordDocPart        = _DocInfoRecdWithVersion.DocumentInfoRecordDocPart
                                                          
    association [0..*] to I_DocumentInfoRecordObjLinkT as _ObjectTypeDesc on $projection.LinkedSAPObject                  = _ObjectTypeDesc.LinkedSAPObject    
    association [0..*] to I_DocumentInfoRecordDocTypeT as _DocumentTypeText on  $projection.DocumentInfoRecordDocType    = _DocumentTypeText.DocumentInfoRecordDocType
    association [0..*] to I_DocumentInfoRecordDesc as _DocumentDescription on $projection.DocumentInfoRecordDocPart       = _DocumentDescription.DocumentInfoRecordDocPart
                                                                          and $projection.DocumentInfoRecordDocType       = _DocumentDescription.DocumentInfoRecordDocType
                                                                          and $projection.DocumentInfoRecordDocVersion    = _DocumentDescription.DocumentInfoRecordDocVersion
                                                                          and $projection.DocumentInfoRecordDocNumber     = _DocumentDescription.DocumentInfoRecordDocNumber
    association [0..1] to I_DocumentInfoRecordDocStatus as _DocStatus on $projection.DocumentInfoRecordDocType            = _DocStatus.DocumentInfoRecordDocType
                                                                     and $projection.DocInfoRecdLinkStatus                = _DocStatus.InternalDocumentStatus
    
{
  key I_DocumentInfoRecordObjectLink.DocumentInfoRecordDocType,  // field could be ommitted because of the WHERE condition, but not possible subsequently

  key I_DocumentInfoRecordObjectLink.DocumentInfoRecordDocNumber,
  key I_DocumentInfoRecordObjectLink.DocumentInfoRecordDocPart,
  key I_DocumentInfoRecordObjectLink.DocumentInfoRecordDocVersion,
  key I_DocumentInfoRecordObjectLink.LinkedSAPObjectKey,
      @Search.defaultSearchElement
  key I_DocumentInfoRecordObjectLink.LinkedSAPObject,

// document status is needed for authority check

  @Consumption.hidden: true
  _DocInfoRecdWithVersion.InternalDocumentStatus,

  I_DocumentInfoRecordObjectLink.DocInfoRecdLinkStatus,
  _ObjectTypeDesc[1:Language = $session.system_language].ObjectDescription as  ObjectDescription,
  _DocumentTypeText[1:Language = $session.system_language].DocumentTypeDescription as DocumentTypeDescription,
  _DocumentDescription[1:Language = $session.system_language].DocumentDescription as DocumentDescription,
  _DocStatus._Text[1:Language = $session.system_language].ExternalDocumentStatus as ExternalDocumentStatus,
  _DocStatus._Text[1:Language = $session.system_language].DocumentStatusName as DocumentStatusName,
     
  _DocInfoRecdWithVersion
  
} 
// Only for Quality-Info Record in Procurment

where DocumentInfoRecordDocType = 'Q01'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_DOCUMENTINFORECORD",
"I_DOCUMENTINFORECORDDESC",
"I_DOCUMENTINFORECORDDOCSTATUS",
"I_DOCUMENTINFORECORDDOCSTATUST",
"I_DOCUMENTINFORECORDDOCTYPET",
"I_DOCUMENTINFORECORDOBJECTLINK",
"I_DOCUMENTINFORECORDOBJLINKT"
],
"ASSOCIATED":
[
"I_DOCUMENTINFORECORD",
"I_DOCUMENTINFORECORDDESC",
"I_DOCUMENTINFORECORDDOCSTATUS",
"I_DOCUMENTINFORECORDDOCTYPET",
"I_DOCUMENTINFORECORDOBJLINKT"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/