C_CmmdtyOrdFillRelatedFill

DDL: C_CMMDTYORDFILLRELATEDFILL SQL: CCMMDTYFILLREL Type: view CONSUMPTION

Assigned Fills Consumption View

C_CmmdtyOrdFillRelatedFill is a Consumption CDS View that provides data about "Assigned Fills Consumption View" in SAP S/4HANA. It reads from 3 data sources (I_CmmdtyOrderRequestType, I_CmmdtyDrvtvContrKeyDates, I_CommodityOrderFill) and exposes 14 fields with key field CommodityOrderFillUUID. It has 5 associations to related views.

Data Sources (3)

SourceAliasJoin Type
I_CmmdtyOrderRequestType _CommodityOrderRequestType left_outer
I_CmmdtyDrvtvContrKeyDates DerivativeContractKeyDates left_outer
I_CommodityOrderFill Fill from

Associations (5)

CardinalityTargetAliasCondition
[1..1] I_CmmdtyOrdFillPacketCommodity _FillPacket $projection.CommodityOrderFillPacketUUID = _FillPacket.CommodityOrderFillPacketUUID --
[0..1] I_CmmdtyOrdFillPosTypeText _CmmdtyOrdFillPositionText $projection.CmmdtyOrderRequestFlowType = _CmmdtyOrdFillPositionText.CmmdtyOrderFillPositionType --
[0..1] I_CmmdtyOrderFutureIDVH _CommodityFutureID $projection.CmmdtyOrderFillFutureID = _CommodityFutureID.CmmdtyOrderFillFutureID and $projection.DerivativeContrSpecification = _CommodityFutureID.DerivativeContrSpecification and $projection.MarketIdentifierCode = _CommodityFutureID.MarketIdentifierCode --
[0..1] I_DerivativeContractSpecText _DerivativeContractSpecText $projection.DerivativeContrSpecification = _DerivativeContractSpecText.DerivativeContrSpecification and Language = $session.system_language --
[0..1] i_MarketIdentifierCodeText _MarketIdentifierCodeText $projection.MarketIdentifierCode = _MarketIdentifierCodeText.MarketIdentifierCode and Language = $session.system_language

Annotations (15)

NameValueLevelField
AbapCatalog.sqlViewName CCMMDTYFILLREL view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
VDM.viewType #CONSUMPTION view
Search.searchable false view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
Metadata.allowExtensions true view
ClientHandling.type #CLIENT_DEPENDENT view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Assigned Fills Consumption View view
UI.presentationVariant.sortOrder.by CommodityOrderFill view
UI.presentationVariant.sortOrder.direction #DESC view

Fields (14)

KeyFieldSource TableSource FieldDescription
KEY CommodityOrderFillUUID I_CommodityOrderFill CommodityOrderFillUUID
CommodityOrderRequestUUID I_CommodityOrderFill CommodityOrderRequestUUID
CommodityOrderFillPacketUUID I_CommodityOrderFill CommodityOrderFillPacketUUID
CmmdtyOrderFillPacket I_CommodityOrderFill CmmdtyOrderFillPacket
CommodityOrderFillasCommodityOrderFill
CmmdtyOrderFillFutureName _CommodityFutureID CmmdtyOrderFillFutureName
DerivativeContrSpecName _DerivativeContractSpecText DerivativeContrSpecName
MarketIdentifierCodeName _MarketIdentifierCodeText MarketIdentifierCodeName
MaturityKeyDateasMaturityKeyDate
CmmdtyOrderFillPrice I_CommodityOrderFill CmmdtyOrderFillPrice
Associations_FillPacket
_CmmdtyOrdFillPositionText _CmmdtyOrdFillPositionText
Counterparty I_CmmdtyOrderRequestType Counterparty
CmmdtyOrderRequestType I_CommodityOrderFill CmmdtyOrderRequestType
@AbapCatalog.sqlViewName                    : 'CCMMDTYFILLREL'
@AbapCatalog.compiler.compareFilter         : true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck           : #CHECK
               //   personalData.blocking     : #REQUIRED }

@VDM.viewType                               : #CONSUMPTION
@Search.searchable                          : false

@ObjectModel.semanticKey    : ['CommodityOrderFill']
@ObjectModel.usageType : {serviceQuality    : #D,
                          sizeCategory      : #L,
                          dataClass         : #TRANSACTIONAL   }
@Metadata.allowExtensions                   : true
@ClientHandling: { type                     : #CLIENT_DEPENDENT,
                   algorithm                : #SESSION_VARIABLE }
@EndUserText.label                          : 'Assigned Fills Consumption View'

@UI.presentationVariant:{
    groupBy   : [  'CommodityOrderFill' ],
      requestAtLeast: ['CommodityOrderFillUUID' , 'CmmdtyOrderFillPrice' , 'CmmdtyOrderFillPriceCrcy' , 'CmmdtyOrderFillQuantityUnit' , 'CmmdtyOrdFillPrcPerFillQtyTxt' ],
    sortOrder:{
        by: 'CommodityOrderFill',
        direction: #DESC
    }}


define view C_CmmdtyOrdFillRelatedFill
  as select from    I_CommodityOrderFill       as Fill //I_CommodityOrderFill as Fill


  -- Derivative Contracts Key Dates
    left outer join I_CmmdtyDrvtvContrKeyDates as DerivativeContractKeyDates on  Fill.DerivativeContrSpecification = DerivativeContractKeyDates.DerivativeContrSpecification
                                                                             and Fill.MaturityKeyDate              = DerivativeContractKeyDates.MaturityKeyDate

    left outer join I_CmmdtyOrderRequestType   as _CommodityOrderRequestType on Fill.CmmdtyOrderRequestType = _CommodityOrderRequestType.CmmdtyOrderRequestType

  --Association To get Fill Packet Info
  //  association [1..1] to I_CommodityOrderFillPacket   as _FillPacket                 on  $projection.CommodityOrderFillPacketUUID = _FillPacket.CommodityOrderFillPacketUUID


  association [1..1] to I_CmmdtyOrdFillPacketCommodity as _FillPacket                 on  $projection.CommodityOrderFillPacketUUID = _FillPacket.CommodityOrderFillPacketUUID

  -- Association to get text for Commodity Order Position Type
  association [0..1] to I_CmmdtyOrdFillPosTypeText     as _CmmdtyOrdFillPositionText  on  $projection.CmmdtyOrderRequestFlowType = _CmmdtyOrdFillPositionText.CmmdtyOrderFillPositionType

  -- Association to get search help value for Future ID
  association [0..1] to I_CmmdtyOrderFutureIDVH        as _CommodityFutureID          on  $projection.CmmdtyOrderFillFutureID      = _CommodityFutureID.CmmdtyOrderFillFutureID
                                                                                      and $projection.DerivativeContrSpecification = _CommodityFutureID.DerivativeContrSpecification
                                                                                      and $projection.MarketIdentifierCode         = _CommodityFutureID.MarketIdentifierCode

  -- Association to get text for Derivative Contract Specification
  association [0..1] to I_DerivativeContractSpecText   as _DerivativeContractSpecText on  $projection.DerivativeContrSpecification = _DerivativeContractSpecText.DerivativeContrSpecification
                                                                                      and Language                                 = $session.system_language

  -- Association to get text for Market Identifier Code
  association [0..1] to i_MarketIdentifierCodeText     as _MarketIdentifierCodeText   on  $projection.MarketIdentifierCode = _MarketIdentifierCodeText.MarketIdentifierCode
                                                                                      and Language                         = $session.system_language
{
        @UI.hidden : true
  key   Fill.CommodityOrderFillUUID                                                                                                                                                    as        CommodityOrderFillUUID,
        @UI.hidden : true
        Fill.CommodityOrderRequestUUID                                                                                                                                                 as        CommodityOrderRequestUUID,
        @UI.hidden : true
        Fill.CommodityOrderFillPacketUUID                                                                                                                                              as        CommodityOrderFillPacketUUID,

        @UI.hidden: true
        Fill.CmmdtyOrderFillPacket                                                                                                                                                     as        CmmdtyOrderFillPacket,
        --Fill ID
        @UI.lineItem.position: 10
        Fill.CommodityOrderFill                                                                                                                                                        as        CommodityOrderFill,

        --Flow Type
        @UI.lineItem.position:20
        @ObjectModel.text.element: 'CmmdtyOrderFillPositionText'
        Fill.CmmdtyOrderRequestFlowType                                                                                                                                                as        CmmdtyOrderRequestFlowType,

        --Commodity Order Fill Position Type Description
        @UI.hidden:true
        cast( _CmmdtyOrdFillPositionText.CmmdtyOrderFillPositionText
             as cmmfdof_cmmdtyordfillpostext preserving type)                                                                                                                          as        CmmdtyOrderFillPositionText,

        --Future
        @UI.lineItem.position: 30
        @ObjectModel.text.element: 'CmmdtyOrderFillFutureName'
        Fill.CmmdtyOrderFillFutureID                                                                                                                                                   as        CmmdtyOrderFillFutureID,

        @UI.hidden: true
        _CommodityFutureID.CmmdtyOrderFillFutureName                                                                                                                                   as        CmmdtyOrderFillFutureName,

        --DCS
        @UI.lineItem.position: 40
        @ObjectModel.text.element: 'DerivativeContrSpecName'
        Fill.DerivativeContrSpecification                                                                                                                                              as        DerivativeContrSpecification,

        @UI.hidden : true
        _DerivativeContractSpecText.DerivativeContrSpecName                                                                                                                            as        DerivativeContrSpecName,

        --MIC
        @UI.lineItem.position: 50
        @ObjectModel.text.element: 'MarketIdentifierCodeName'
        cast( Fill.MarketIdentifierCode as cmmfdof_marketidentifercode preserving type )                                                                                               as        MarketIdentifierCode,

        @UI.hidden : true
        _MarketIdentifierCodeText.MarketIdentifierCodeName                                                                                                                             as        MarketIdentifierCodeName,

        --Contract Maturity Code
        @UI.lineItem.position: 55
        cast( DerivativeContractKeyDates.ContrDrvtvContrMaturityCode      as cmmfdof_contract_code preserving type )                                                                   as        ContrDrvtvContrMaturityCode,


        --Maturity key date
        @UI.lineItem.position: 60
        Fill.MaturityKeyDate                                                                                                                                                           as        MaturityKeyDate,

        Fill.CmmdtyOrderFillPrice                                                                                                                                                      as        CmmdtyOrderFillPrice,
        -- Commodity Order Fill Price Currency

        Fill.CmmdtyOrderFillPriceCrcy                                                                                                                                                  as        CmmdtyOrderFillPriceCrcy,

        cast( Fill.CmmdtyOrderFillQuantityUnit
         as cmmfdof_cmmdtyordfillqtyunit preserving type )                                                                                                                             as        CmmdtyOrderFillQuantityUnit,


        --Price Per Filled Quantity
        @UI.lineItem.position: 70
        @ObjectModel:{
        readOnly: true,
        virtualElement: true,
        virtualElementCalculatedBy: 'ABAP:CL_CMMFDOF_DERIVE_CALCD_FIELDS'
        }

        cast( 0
        as cmmfdof_priceperfilltext )                                                                                                                                                  as        CmmdtyOrdFillPrcPerFillQtyTxt,


        -------------------------Associations--------------------------------------
        @Consumption.filter.hidden:true
        _FillPacket,

        @Consumption.filter.hidden:true
        _CmmdtyOrdFillPositionText,

        @Consumption.filter.hidden:true
        _CommodityOrderRequestType.Counterparty                                                                                                                                        as        Counterparty,

        @Consumption.filter.hidden:true
        Fill.CmmdtyOrderRequestType

}
where
  (
         Fill.CmmdtyOrderRequestReason           = 'SO'
    and(
         Fill.CmmdtyOrderReqLegOwnerRole         = 'P'
      or Fill.CmmdtyOrderReqLegOwnerRole         = 'O'
    )
  )
  or(
         _CommodityOrderRequestType.Counterparty = 'IE'
    and(
         Fill.CmmdtyOrderReqLegOwnerRole         = 'P'
      or Fill.CmmdtyOrderReqLegOwnerRole         = 'O'
    )
  )
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CMMDTYDRVTVCONTRKEYDATES",
"I_CMMDTYORDERFUTUREIDVH",
"I_CMMDTYORDERREQUESTTYPE",
"I_CMMDTYORDFILLPOSTYPETEXT",
"I_COMMODITYORDERFILL",
"I_DERIVATIVECONTRACTSPECTEXT",
"I_MARKETIDENTIFIERCODETEXT"
],
"ASSOCIATED":
[
"I_CMMDTYORDERFUTUREIDVH",
"I_CMMDTYORDFILLPACKETCOMMODITY",
"I_CMMDTYORDFILLPOSTYPETEXT",
"I_DERIVATIVECONTRACTSPECTEXT",
"I_MARKETIDENTIFIERCODETEXT"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/