C_Amount

DDL: C_AMOUNT SQL: CAMOUNT Type: view CONSUMPTION Package: EHENV_CNS_EMISSION_INVENTORY

Amount Data

C_Amount is a Consumption CDS View that provides data about "Amount Data" in SAP S/4HANA. It reads from 1 data source (I_EHSAmountRoot) and exposes 36 fields with key field EHSAmountUUID. Part of development package EHENV_CNS_EMISSION_INVENTORY.

Data Sources (1)

SourceAliasJoin Type
I_EHSAmountRoot I_EHSAmountRoot from

Annotations (17)

NameValueLevelField
AbapCatalog.sqlViewName CAMOUNT view
VDM.viewType #CONSUMPTION view
EndUserText.label Amount Data view
AccessControl.authorizationCheck #MANDATORY view
AccessControl.personalData.blocking #NOT_REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MIXED view
UI.headerInfo.typeName Amount Data view
UI.headerInfo.typeNamePlural Amounts Data view
UI.headerInfo.title.value EHSAmountUUID view
AbapCatalog.compiler.compareFilter true view
Consumption.semanticObject EnvironmentalData view
ObjectModel.transactionalProcessingDelegated true view
ObjectModel.createEnabled false view
ObjectModel.updateEnabled false view

Fields (36)

KeyFieldSource TableSource FieldDescription
KEY EHSAmountUUID EHSAmountUUID
SamplingHeaderUUID _SamplingDefinitionRoot SamplingHeaderUUID
EHSAmountSourceUUID EHSAmountSourceUUID
EHSAmountCategory EHSAmountCategory
EHSAmountSubjComponentType EHSAmountSubjComponentType
EHSAmountSubjComponentUUID EHSAmountSubjComponentUUID
EHSAmountStatus EHSAmountStatus
EHSAmountHasWarning EHSAmountHasWarning
EHSAmountIsFaulty EHSAmountIsFaulty
EHSAmountIsMissing EHSAmountIsMissing
EHSAmountIsNotAvailable EHSAmountIsNotAvailable
EHSAmountSourceType EHSAmountSourceType
EHSAmountValue EHSAmountValue
EHSAmtOutOfPrecisenessOptr EHSAmtOutOfPrecisenessOptr
CreatedByUser CreatedByUser
LastChangedByUser LastChangedByUser
Note Note
EHSAmountStatusName EHSAmountStatusName Status
EHSAmountValueAsText Value
UnitOfMeasureName UnitOfMeasureName Unit Of Measurement
EHSAmountUTCDateTime EHSAmountUTCDateTime Period
_EHSAmountHistory _EHSAmountHistory
CreationDateTime CreationDateTime Date Entered
LastChangeDateTime LastChangeDateTime Last Changed
EHSAmountIsReplaced EHSAmountIsReplaced Replaced
EHSAmountIsPreliminary EHSAmountIsPreliminary Preliminary Result
EHSAmountDeviationID EHSAmountDeviationID Incident ID
EHSAmountExternalSource EHSAmountExternalSource External Source
EHSAmountNumberOfAttachments
CreatedByUserFullName _CreatedByUser UserDescription Responsible Person
_SamplingDefinitionRoot _SamplingDefinitionRoot
_EHSAmountStatus _EHSAmountStatus
_DataCollection _DataCollection
_LocationAggregation _LocationAggregation
_CalcDefResultHeader _CalcDefResultHeader
_EmittedSubstanceDataSet _EmittedSubstanceDataSet
@AbapCatalog.sqlViewName: 'CAMOUNT'
@VDM.viewType: #CONSUMPTION

@EndUserText.label: 'Amount Data'

@AccessControl:
{
  authorizationCheck: #MANDATORY,
  privilegedAssociations:  [ '_EHSAmountHistory' ],
  // blocking of personal data not required (user data can not be blocked and no BP info from user exposed)

  personalData.blocking: #NOT_REQUIRED
}


@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType:{ serviceQuality: #D,        // < 100 msec

                         sizeCategory:  #L,         // < 10.000.000

                         dataClass: #MIXED }

@UI: {
  headerInfo: {
    typeName: 'Amount Data',
    typeNamePlural: 'Amounts Data',
    title: {
      value: 'EHSAmountUUID'
    }
  }
}

@AbapCatalog:{
    compiler.compareFilter: true
}
@Consumption.semanticObject: 'EnvironmentalData'


@ObjectModel:{
              transactionalProcessingDelegated: true,
              createEnabled: false,
              updateEnabled: false }

@Consumption.dbHints: [ 'USE_HEX_PLAN' ]

define view C_Amount
  as select from I_EHSAmountRoot

  association to C_DataCollection             as _DataCollection         on $projection.EHSAmountSourceUUID = _DataCollection.DataCollectionUUID
  association to C_CalcDefResultHeader        as _CalcDefResultHeader    on $projection.EHSAmountSourceUUID = _CalcDefResultHeader.CalculationResultHeaderUUID
  association to C_LocationAggregation        as _LocationAggregation    on $projection.EHSAmountSourceUUID = _LocationAggregation.LocAggregationUUID
  association to C_SamplingDefinitionRoot     as _SamplingDefinitionRoot on $projection.EHSAmountSourceUUID             = _SamplingDefinitionRoot.SamplingUUID
                                                                         and(
                                                                           (
                                                                             $projection.EHSAmountSubjComponentType     is initial
                                                                             and $projection.EHSAmountCategory          = _SamplingDefinitionRoot.SamplingChemicalProperty
                                                                           )
                                                                           or(
                                                                             $projection.EHSAmountSubjComponentType     is not initial
                                                                             and $projection.EHSAmountSubjComponentType = _SamplingDefinitionRoot.SamplingAnalyteType
                                                                             and $projection.EHSAmountSubjComponentUUID = _SamplingDefinitionRoot.SamplingAnalyteUUID
                                                                           )
                                                                         )
  association to C_EHSEmittedSubstanceDataSet as _EmittedSubstanceDataSet           on $projection.EHSAmountSourceUUID = _EmittedSubstanceDataSet.EHSEmittedSubstDataSetUUID
{
      @UI.hidden
  key EHSAmountUUID,

      @ObjectModel.readOnly: true
      @UI.hidden: true
      _SamplingDefinitionRoot.SamplingHeaderUUID as SamplingHeaderUUID,
      @UI.hidden: true
      EHSAmountSourceUUID,

      @UI.hidden: true
      EHSAmountCategory,

      @UI.hidden: true
      EHSAmountSubjComponentType,

      @UI.hidden: true
      EHSAmountSubjComponentUUID,

      @UI.hidden: true
      EHSAmountStatus,

      @UI.hidden: true
      EHSAmountHasWarning,

      @UI.hidden: true
      EHSAmountIsFaulty,

      @UI.hidden: true
      EHSAmountIsMissing,

      @UI.hidden: true
      EHSAmountIsNotAvailable,

      @UI.hidden: true
      EHSAmountSourceType,
      //

      //      @UI.hidden: true

      //      EHSAmountSourceTypeName,


      @UI.hidden: true
      EHSAmountValue,

      @UI.hidden: true
      EHSAmtOutOfPrecisenessOptr,

      @UI.hidden: true
      CreatedByUser,

      @UI.hidden: true
      LastChangedByUser,

      @UI.hidden: true
      Note,

      @ObjectModel.readOnly: true
      @EndUserText.label: 'Issue Type'
      case
      when EHSAmountIsFaulty = 'X' then 'error'
      when EHSAmountHasWarning = 'X' then 'warning2'
      when EHSAmountIsMissing = 'X' then 'time-entry-request'
      when EHSAmountIsNotAvailable = 'X' then 'status-inactive'
      else ''
      end                                        as EHSAmountIssueType,

      @Consumption.filter : { selectionType : #SINGLE, multipleSelections : true}
      @EndUserText.label: 'Status'
      EHSAmountStatusName,

      @ObjectModel.readOnly: true
      @EndUserText.label: 'Value'
      cast( '' as abap.char( 44 ))               as EHSAmountValueAsText,

      @EndUserText.label: 'Unit Of Measurement'
      UnitOfMeasureName,

      @EndUserText.label: 'Period'
      EHSAmountUTCDateTime,

      _EHSAmountHistory,

      @EndUserText.label: 'Date Entered'
      CreationDateTime,

      @EndUserText.label: 'Last Changed'
      LastChangeDateTime,

      @EndUserText.label: 'Replaced'
      EHSAmountIsReplaced,

      @EndUserText.label: 'Preliminary Result'
      EHSAmountIsPreliminary,

      @EndUserText.label: 'Incident ID'
      EHSAmountDeviationID,

      @EndUserText.label: 'External Source'
      EHSAmountExternalSource,

      @ObjectModel:{ readOnly: true, virtualElement: true, virtualElementCalculatedBy: 'ABAP:CL_EHENV_AMOUNT_ATT_EXIT' }
      @ObjectModel.filter.enabled: false
      @ObjectModel.sort.enabled: false
      cast ( '' as abap.char( 2 ) )              as EHSAmountNumberOfAttachments,

      @ObjectModel.readOnly: true
      @EndUserText.label: 'Responsible Person'
      _CreatedByUser.UserDescription             as CreatedByUserFullName,

      // Assosiation

      _SamplingDefinitionRoot,
      _EHSAmountStatus,
      _DataCollection,
      _LocationAggregation,
      _CalcDefResultHeader,
      _EmittedSubstanceDataSet
}