I_ACMApplDocAnalysis

DDL: I_ACMAPPLDOCANALYSIS Type: view_entity COMPOSITE

Interface for Q Repository Grades

I_ACMApplDocAnalysis is a Composite CDS View that provides data about "Interface for Q Repository Grades" in SAP S/4HANA. It reads from 2 data sources (I_ACMRepositoryGrade, I_ACMRepAppMainDet) and exposes 22 fields with key fields ApplicationDocument, ApplicationDocumentItem, ACMDocumentSide, ApplicationDocumentSubItem, QuantityRepositoryUUID. It has 1 association to related views.

Data Sources (2)

SourceAliasJoin Type
I_ACMRepositoryGrade GradeData inner
I_ACMRepAppMainDet Main inner

Associations (1)

CardinalityTargetAliasCondition
[0..*] P_ACMApplDocDPQSVolApplied Version Version.ACMLoadDataRepositoryUUID = Main.ACMRepositoryWeightAppUUID and Version.ACMLoadDataRepositoryVersion = Main.QuantityRepositoryVersion

Annotations (7)

NameValueLevelField
AccessControl.authorizationCheck #CHECK view
EndUserText.label Interface for Q Repository Grades view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view

Fields (22)

KeyFieldSource TableSource FieldDescription
KEY ApplicationDocument Item ApplicationDocument
KEY ApplicationDocumentItem Item ApplicationDocumentItem
KEY ACMDocumentSide Item ACMDocumentSide
KEY ApplicationDocumentSubItem Item ApplicationDocumentSubItem
KEY QuantityRepositoryUUID I_ACMRepositoryGrade QuantityRepositoryUUID
KEY QuantityRepositoryVersion I_ACMRepositoryGrade QuantityRepositoryVersion
KEY Characteristic I_ACMRepositoryGrade Characteristic
ReturnApplicationDocType Item ReturnApplicationDocType
LoadDataCaptureObjectID Item LoadDataCaptureObjectID
LoadDataObjectUUID Item LoadDataObjectUUID
AppDocQualityAttributeUnit I_ACMRepositoryGrade AppDocQualityAttributeUnit
DiscPremQtyGovAnalysisCode I_ACMRepositoryGrade DiscPremQtyGovAnalysisCode
DiscPremQtyOvrdGovAnalysisDesc I_ACMRepositoryGrade DiscPremQtyOvrdGovAnalysisDesc
GovAnalysisSourceLoc I_ACMRepositoryGrade GovAnalysisSourceLoc
GovAnalysisSourceLocText I_ACMRepositoryGrade GovAnalysisSourceLocText
ACMAnalysisType I_ACMRepositoryGrade ACMAnalysisType
ACMAnalysisTypeText I_ACMRepositoryGrade ACMAnalysisTypeText
CharcValueDescription I_ACMRepositoryGrade CharcValueDescription
ACMLoadDataRepositoryUUID Version ACMLoadDataRepositoryUUID
ACMLoadDataRepositoryVersion Version ACMLoadDataRepositoryVersion
CharcDecimals I_ACMRepositoryGrade CharcDecimals
_AppDocItem _AppDocItem
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Interface for Q Repository Grades'
@ObjectModel.usageType:{
 serviceQuality: #D,
  sizeCategory: #XL,
  dataClass: #TRANSACTIONAL
}
@VDM:
{ viewType: #COMPOSITE,
lifecycle.contract.type: #SAP_INTERNAL_API
}
define view entity I_ACMApplDocAnalysis
  //  as select distinct from I_ACMApplicationDocItemDet as Item


  as select distinct from I_ACMAppliedItemData as Item
    inner join            I_ACMRepAppMainDet   as Main      on Main.LDCId = Item.LoadDataCaptureObjectID
    inner join            I_ACMRepositoryGrade as GradeData on  GradeData.QuantityRepositoryUUID    = Main.ACMRepositoryWeightAppUUID
                                                            and GradeData.QuantityRepositoryVersion = Main.QuantityRepositoryVersion

  association [0..*] to P_ACMApplDocDPQSVolApplied        as Version     on  Version.ACMLoadDataRepositoryUUID    = Main.ACMRepositoryWeightAppUUID
                                                                         and Version.ACMLoadDataRepositoryVersion = Main.QuantityRepositoryVersion
  association        to parent R_ACMApplicationDocumentTP as _AppDocItem on  $projection.ApplicationDocument        = _AppDocItem.ApplicationDocument
                                                                         and $projection.ApplicationDocumentItem    = _AppDocItem.ApplicationDocumentItem
                                                                         and $projection.ACMDocumentSide            = _AppDocItem.ACMDocumentSide
                                                                         and $projection.ApplicationDocumentSubItem = _AppDocItem.ApplicationDocumentSubItem

  /*
      inner join            I_ACMRepositoryGradeData   as GradeData on GradeData.LDCKey = Item.LoadDataObjectUUID
    association to parent R_ACMApplicationDocumentTP as _AppDocItem on  $projection.ApplicationDocument        = _AppDocItem.ApplicationDocument
                                                                    and $projection.ApplicationDocumentItem    = _AppDocItem.ApplicationDocumentItem
                                                                    and $projection.ACMDocumentSide            = _AppDocItem.ACMDocumentSide
                                                                    and $projection.ApplicationDocumentSubItem = _AppDocItem.ApplicationDocumentSubItem
  */
{
  key  Item.ApplicationDocument,
  key  Item.ApplicationDocumentItem,
  key  Item.ACMDocumentSide,
  key  Item.ApplicationDocumentSubItem,
  key  GradeData.QuantityRepositoryUUID,
  key  GradeData.QuantityRepositoryVersion,
  key  GradeData.Characteristic,
       Item.ReturnApplicationDocType,
       Item.LoadDataCaptureObjectID,
       Item.LoadDataObjectUUID,
       case
       when GradeData.QtyRepositoryAttributeValue is not initial
       then cast( cast( GradeData.QtyRepositoryAttributeValue as account_percent ) as /accgo/e_atwrt_char )
       else GradeData.NonNumericAttrib1Value end as QtyRepositoryAttributeValue,
       //       GradeData.QtyRepositoryAttributeValue,

       GradeData.AppDocQualityAttributeUnit,
       GradeData.DiscPremQtyGovAnalysisCode,
       GradeData.DiscPremQtyOvrdGovAnalysisDesc,
       GradeData.GovAnalysisSourceLoc,
       GradeData.GovAnalysisSourceLocText,
       GradeData.ACMAnalysisType,
       GradeData.ACMAnalysisTypeText,
       GradeData.CharcValueDescription,
       Version.ACMLoadDataRepositoryUUID,
       Version.ACMLoadDataRepositoryVersion,
       GradeData.CharcDecimals,
       case
       when  Version.ACMLoadDataRepositoryUUID = GradeData.QuantityRepositoryUUID
       and   Version.ACMLoadDataRepositoryVersion = GradeData.QuantityRepositoryVersion
        then  cast('X' as boolean )
       end                                       as ACMIsAppliedGradesVersion,


       /* Associations */

       _AppDocItem
}

where
     Item.ReturnApplicationDocType = 'ZA'
  or Item.ReturnApplicationDocType = 'ZR'