I_CommodityOrdFillPacketTP

DDL: I_COMMODITYORDFILLPACKETTP SQL: ICMMDTYFLPKTTP Type: view TRANSACTIONAL

Tran. View for Cmmdty Deriv Ord Fill Pkt

I_CommodityOrdFillPacketTP is a Transactional CDS View that provides data about "Tran. View for Cmmdty Deriv Ord Fill Pkt" in SAP S/4HANA. It reads from 13 data sources. It has 3 associations to related views.

Data Sources (13)

SourceAliasJoin Type
I_CmmdtyOrdFillQtyByFillPacket _CmmdtyFillPacketFilledQty left_outer
I_CmmdtyOrdFillPrcdQtyByOrdReq _CmmdtyOrdFillPrcdQtyByOrdReq left_outer
I_CmmdtyOrdReqFillQtyByOrdReq _CmmdtyOrdReqFillQtyByOrdReq left_outer
I_CmmdtyOrdToBePrcdQtyByOrdReq _CmmdtyOrdToBePrcdQtyByOrdReq left_outer
I_CompanyCodeVH _CompanyCode left_outer
I_CmmdtyErrorMsgsByFillPacket _ErrorCount left_outer
I_CmmdtyOrdFillFilledQuantity _FilledQty left_outer
I_CmmdtyLotsOfFillByFillPacket _FillPacketLots left_outer
I_CmmdtyWrngMsgsByFillPacket _WarningCount left_outer
I_CmmdtyOrderRequestType CmmdtyOrderRequestType left_outer
I_CmmdtyDrvtvOrdTrdExecRecent ExecRecent left_outer
I_CommodityOrderFillPacket FillPacket from
I_CmmdtyOrderFillPacketRcvdOn FillPacketRecOn left_outer

Associations (3)

CardinalityTargetAliasCondition
[1..*] I_CommodityOrderFillTP _Fill $projection.CommodityOrderFillPacketUUID = _Fill.CommodityOrderFillPacketUUID --
[1..*] I_CommodityOrdFillPacketLogTP _FillPacketLog $projection.CommodityOrderFillPacketUUID = _FillPacketLog.CommodityOrderFillPacketUUID -- Extension View for Commodity Order Fill Packet
[0..1] E_CmmdtyOrderFillPacket _Extension $projection.CommodityOrderFillPacketUUID = _Extension.CommodityOrderFillPacketUUID

Annotations (17)

NameValueLevelField
AbapCatalog.sqlViewName ICMMDTYFLPKTTP view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Tran. View for Cmmdty Deriv Ord Fill Pkt view
VDM.viewType #TRANSACTIONAL view
ObjectModel.transactionalProcessingEnabled true view
ObjectModel.compositionRoot true view
ObjectModel.writeActivePersistence CMMFDOF_D_FLPKT view
ObjectModel.createEnabled true view
ObjectModel.updateEnabled EXTERNAL_CALCULATION view
ObjectModel.deleteEnabled EXTERNAL_CALCULATION view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.modelCategory #BUSINESS_OBJECT view
@AbapCatalog.sqlViewName: 'ICMMDTYFLPKTTP'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Tran. View for Cmmdty Deriv Ord Fill Pkt'
@VDM.viewType: #TRANSACTIONAL

-- Business Object Model for Commodity Order Request
@ObjectModel: {
    transactionalProcessingEnabled : true,
    compositionRoot                : true,
    writeActivePersistence         : 'CMMFDOF_D_FLPKT',
    createEnabled                  :  true,
    updateEnabled                  : 'EXTERNAL_CALCULATION',
    deleteEnabled                  : 'EXTERNAL_CALCULATION',
    usageType: {
        serviceQuality : #C,
        sizeCategory   : #L,
        dataClass      : #MIXED
    },
    modelCategory            : #BUSINESS_OBJECT,
    semanticKey              : ['CommodityOrderFillPacketID'],

    alternativeKey:  [{
        id : 'COMMODITYORDERFILLPACKET',
        uniqueness : #UNIQUE_IF_NOT_INITIAL,
        element : ['CommodityOrderFillPacketID']
    }]
}

define view I_CommodityOrdFillPacketTP
  as select from    I_CommodityOrderFillPacket     as FillPacket

  -- Fill Packet Received On
    left outer join I_CmmdtyOrderFillPacketRcvdOn  as FillPacketRecOn               on FillPacket.CommodityOrderFillPacketUUID = FillPacketRecOn.CommodityOrderFillPacketUUID
  -- Filled Quantity
    left outer join I_CmmdtyOrdFillFilledQuantity  as _FilledQty                    on FillPacket.CommodityOrderFillPacketUUID = _FilledQty.CommodityOrderFillPacketUUID

    left outer join I_CmmdtyLotsOfFillByFillPacket as _FillPacketLots               on FillPacket.CommodityOrderFillPacketUUID = _FillPacketLots.CommodityOrderFillPacketUUID

  -- To get Recent Change Time Interval
    left outer join I_CmmdtyDrvtvOrdTrdExecRecent  as ExecRecent                    on ExecRecent.SemanticObjectName = 'CommodityOrderFill'

  -- Company Code Value help
    left outer join I_CompanyCodeVH                as _CompanyCode                  on FillPacket.CompanyCode = _CompanyCode.CompanyCode

  -- To Get Filled Packet Quantity
    left outer join I_CmmdtyOrdFillQtyByFillPacket as _CmmdtyFillPacketFilledQty    on FillPacket.CommodityOrderFillPacketUUID = _CmmdtyFillPacketFilledQty.CommodityOrderFillPacketUUID

  -- To Get Order Request Type
    left outer join I_CmmdtyOrderRequestType       as CmmdtyOrderRequestType        on FillPacket.CmmdtyOrderRequestType = CmmdtyOrderRequestType.CmmdtyOrderRequestType

  -- To Get Warning Count
    left outer join I_CmmdtyWrngMsgsByFillPacket   as _WarningCount                 on FillPacket.CommodityOrderFillPacketUUID = _WarningCount.CommodityOrderFillPacketUUID

  -- To Get Error Count
    left outer join I_CmmdtyErrorMsgsByFillPacket  as _ErrorCount                   on FillPacket.CommodityOrderFillPacketUUID = _ErrorCount.CommodityOrderFillPacketUUID

  -- Total Quantity yet to be Priced for an order
    left outer join I_CmmdtyOrdToBePrcdQtyByOrdReq as _CmmdtyOrdToBePrcdQtyByOrdReq on FillPacket.CommodityOrderRequestUUID = _CmmdtyOrdToBePrcdQtyByOrdReq.CommodityOrderRequestUUID

  -- Total Quantity priced for an order
    left outer join I_CmmdtyOrdFillPrcdQtyByOrdReq as _CmmdtyOrdFillPrcdQtyByOrdReq on FillPacket.CommodityOrderRequestUUID = _CmmdtyOrdFillPrcdQtyByOrdReq.CommodityOrderRequestUUID

  -- Total Quantity for Filled for an Order
    left outer join I_CmmdtyOrdReqFillQtyByOrdReq  as _CmmdtyOrdReqFillQtyByOrdReq  on FillPacket.CommodityOrderRequestUUID = _CmmdtyOrdReqFillQtyByOrdReq.CommodityOrderRequestUUID

  -- Association View for Assigned Documents in Commodity Derivative Order Request
  association [1..*] to I_CommodityOrderFillTP        as _Fill          on $projection.CommodityOrderFillPacketUUID = _Fill.CommodityOrderFillPacketUUID
  
//  association [1..*] to I_CmmdtyOrdFillEnrich       as _FillEnrich          on $projection.CommodityOrderFillPacketUUID = _FillEnrich.CommodityOrderFillPacketUUID


  -- Association For Fill Packet Log
  association [1..*] to I_CommodityOrdFillPacketLogTP as _FillPacketLog on $projection.CommodityOrderFillPacketUUID = _FillPacketLog.CommodityOrderFillPacketUUID

  -- Extension View for Commodity Order Fill Packet
  association [0..1] to E_CmmdtyOrderFillPacket       as _Extension     on $projection.CommodityOrderFillPacketUUID = _Extension.CommodityOrderFillPacketUUID


{
               -- Commodity Order Fill Packet UUID
               @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
  key          FillPacket.CommodityOrderFillPacketUUID,

               -- Commodity Order Request UUID
               @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
               FillPacket.CommodityOrderRequestUUID,

               -- Commodity Order Fill Packet
               @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
               @ObjectModel.mandatory: true
               FillPacket.CmmdtyOrderFillPacket,

               -- Commodity Order Fill Packet ID
               @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
               FillPacket.CommodityOrderFillPacketID,

               -- Commodity Fill Packet Message Order ID
               @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
               @ObjectModel.mandatory: true
               FillPacket.CmmdtyFillPacketMsgOrdID,
               @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
               @ObjectModel.mandatory: true
               FillPacket.CmmdtyFillPacketTrdExecutionID,
               

               -- Order Fill Request Type
               @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
               @ObjectModel.mandatory: true
               FillPacket.CmmdtyOrderFillRequestType,

               -- Order Date Time
               @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
               FillPacket.CmmdtyOrderDateTime,

               -- Order Request Type
               @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
               FillPacket.CmmdtyOrderRequestType,

               -- Order Request Source
               @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
               FillPacket.CmmdtyOrderRequestSource,

               -- Order Request Reason
               @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
               FillPacket.CmmdtyOrderRequestReason,

               -- Order Request Kind
               @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
               CmmdtyOrderRequestType.CmmdtyOrderRequestKind                                                                                                                                                                                                                                                                                                                                             as      CmmdtyOrderRequestKind,

               -- Order Request Type Text
               @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
               CmmdtyOrderRequestType.CmmdtyOrderRequestTypeText                                                                                                                                                                                                                                                                                                                                         as      CmmdtyOrderRequestTypeText,

               -- Order Fill Counter Party Info
               @ObjectModel.mandatory: true
               FillPacket.CmmdtyOrdFillCounterPartyInfo,

               -- Commodity
               @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
               FillPacket.Commodity,

               -- Sub Account UUID
               @ObjectModel.readOnly: true
               FillPacket.CommoditySubAccountUUID,

               -- DCS
               @ObjectModel.readOnly: true
               FillPacket.DerivativeContrSpecification,

               -- Sub Account
               @ObjectModel.readOnly: true
               FillPacket.CommoditySubAccount                                                                                                                                                                                                                                                                                                                                                            as      CommoditySubAccount,

               -- Sub Account Name
               @ObjectModel.readOnly: true 
               FillPacket.CommoditySubAccountName                                                                                                                                                                                                                                                                                                                                                        as      CommoditySubAccountName,

               -- Derivative Broker
               @ObjectModel.readOnly: true
               cast( FillPacket.CommodityDerivativeBroker as cmmfdor_brokerid)                                                                                                                                                                                                                                                                                                                           as      CommodityDerivativeBroker,

               -- Company Code
               @ObjectModel.readOnly:'EXTERNAL_CALCULATION'
               FillPacket.CompanyCode                                                                                                                                                                                                                                                                                                                                                                    as      CompanyCode,

               -- Comapny Code Name
               @ObjectModel.readOnly: true
               _CompanyCode.CompanyCodeName                                                                                                                                                                                                                                                                                                                                                              as      CompanyCodeName,

               -- Controlling Area
               @ObjectModel.readOnly: true
               _CompanyCode.ControllingArea                                                                                                                                                                                                                                                                                                                                                              as      ControllingArea,

               -- Profit Center
               @ObjectModel.readOnly: true
               FillPacket.ProfitCenter,

               -- Order Fill Rejection Reason
               @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
               FillPacket.CmmdtyOrdFillRejectionReason,

               -- Order Request Filled Quantity In Lots
               @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
               @ObjectModel.mandatory: true
               FillPacket.CmmdtyOrdReqFilledQtyInLots,

               -- Remaining Oreder Quantity In Lots
               @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
               @ObjectModel.mandatory: true
               FillPacket.CmmdtyOrdReqRmngQtyInLots,

               -- Order Fill Qunatity In Lots
               @ObjectModel.readOnly: true
               @UI.hidden : true
               @Consumption.filter.hidden : true
               _FillPacketLots.CmmdtyOrderFillQuantityInLots                                                                                                                                                                                                                                                                                                                                             as      CmmdtyOrderFillQuantityInLots,

               @ObjectModel.readOnly: true
               @UI.hidden : true
               @Consumption.filter.hidden : true
               _FillPacketLots.CmmdtyOrderFillQuantityInLots                                                                                                                                                                                                                                                                                                                                             as      CmmdtyOrderFillPacketQtyInLots,


               -- Commodity Order Request
               @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
               @ObjectModel.mandatory: true
               FillPacket.CommodityOrderRequest,

               -- Order Fill Multi Leg Type
               @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
               @ObjectModel.mandatory: true
               FillPacket.CmmdtyOrdFillMultiLegType,

               -- Order Is Fill With Other
               FillPacket.CmmdtyOrderIsFillWithOrder,

               -- Order Fill Packet Status
               @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
               @ObjectModel.mandatory: true
               FillPacket.CmmdtyOrderFillPacketStatus,

               --  Fill Packet Type
               @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
               FillPacket.CmmdtyOrdFillPacketType,

               -- Fill Quantity
               @ObjectModel.readOnly: true
               _CmmdtyFillPacketFilledQty.CmmdtyOrderFillQuantity                                                                                                                                                                                                                                                                                                                                        as      CmmdtyOrderFillQuantity,

               -- Order Request Quantity
               @ObjectModel.readOnly: true
               FillPacket.CmmdtyOrderRequestQuantity                                                                                                                                                                                                                                                                                                                                                     as      CmmdtyOrderRequestQuantity,
               
               @ObjectModel.readOnly: true
               FillPacket.CmmdtyOrderRequestQuantityUnit                                                                                                                                                                                                                                                                                                                                                 as CmmdtyOrderRequestQuantityUnit,

               -- Order Requested Priced Quantity
               @ObjectModel.readOnly: true
               _CmmdtyOrdFillPrcdQtyByOrdReq.CmmdtyOrdReqPricedQuantity                                                                                                                                                                                                                                                                                                                                  as      CmmdtyOrdFillCumPricedQuantity,

               _FilledQty.CmmdtyOrdFillUoMPerLot                                                                                                                                                                                                                                                                                                                                                         as      CmmdtyOrdFillUoMPerLot,

               @ObjectModel.readOnly: true
               _FilledQty.CmmdtyOrdFillCumulativeQtyUnit                                                                                                                                                                                                                                                                                                                                                 as      CmmdtyOrdFillCumulativeQtyUnit,

               @ObjectModel.readOnly: true
               -- FillPacket Quantity
               //  cast ( _FillPacketLots.CmmdtyOrderFillQuantityInLots as cmmfdof_pktquantityoffillpkt )  * _FilledQty.CmmdtyOrdFillQuantityPerLot                                                                                                                                                                                                                             as      CmmdtyFillPacketFilledQuantity,

               _FillPacketLots.CmmdtyOrderFillQuantityInLots *  cast (  _FilledQty.CmmdtyOrdFillQuantityPerLot  as cmmfdof_pktquantityoffillpkt )                                                                                                                                                                                                                                                        as      CmmdtyFillPacketFilledQuantity,
               //  FillPacket.CmmdtyOrderFillPacketQtyInLots * _FilledQty.CmmdtyOrdFillQuantityPerLot                                                                                                                                                                                                                             as      CmmdtyFillPacketFilledQuantity,


               //               -- Fill Quantity Unit

               @ObjectModel.readOnly: true
               cast(_FilledQty.CmmdtyOrderFillQuantityUnit
               as cmmfdor_ordreqtobefilledqtyuom preserving type )                                                                                                                                                                                                                                                                                                                                       as      CmmdtyOrderFillQuantityUnit,

               -- Order Requested Priced Quantity
               @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
               coalesce(_CmmdtyOrdFillPrcdQtyByOrdReq.CmmdtyOrdReqPricedQuantity, 0)                                                                                                                                                                                                                                                                                                                     as      CmmdtyOrderFillPricedQuantity,

               -- Fill UoM
               @ObjectModel.readOnly: true
               _FilledQty.CmmdtyOrdFillUoMPerLot                                                                                                                                                                                                                                                                                                                                                         as      CmmdtyOrdFillPricedQtyUnit,

               -- Order Requested Price To Quantity
               @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
               cast( coalesce(_CmmdtyOrdToBePrcdQtyByOrdReq.CmmdtyOrdReqToPriceTotQty,0)
                as cmmfdof_cmmdtyordfillqtytopri preserving type )                                                                                                                                                                                                                                                                                                                                       as      CmmdtyOrderFillQuantityToPrice,

               -- Order Request Priced Quantity Unit
               @ObjectModel.readOnly: true
               _CmmdtyOrdFillPrcdQtyByOrdReq.CmmdtyOrdReqPricedQuantityUnit                                                                                                                                                                                                                                                                                                                              as      CmmdtyOrdReqPricedQuantityUnit,

               -- Order Requested Price To Quantity
               @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
               cast( (_CmmdtyOrdToBePrcdQtyByOrdReq.CmmdtyOrdReqToPriceTotQty
                     -  coalesce(_CmmdtyOrdFillPrcdQtyByOrdReq.CmmdtyOrdReqPricedQuantity , 0 ))
                     as  cmmfdof_cmmdtyfillremqtyprice  )                                                                                                                                                                                                                                                                                                                                                as      CmmdtyOrdFillRemQtyToPrice,

               -- Order Requested Filled Quantity
               @ObjectModel.readOnly:  true
               _CmmdtyOrdReqFillQtyByOrdReq.CmmdtyOrdReqFilledQuantity                                                                                                                                                                                                                                                                                                                                   as      CmmdtyOrdReqFilledQuantity,

               -- Order Requested Filled Quantity Unit
               @ObjectModel.readOnly:  true
               _CmmdtyOrdReqFillQtyByOrdReq.CmmdtyOrdReqFilledQuantityUnit                                                                                                                                                                                                                                                                                                                               as      CmmdtyOrdReqFilledQuantityUnit,

               --Order Lots
               @ObjectModel.readOnly:  true
               FillPacket.CmmdtyOrdRequestQuantityInLot                                                                                                                                                                                                                                                                                                                                                  as      CmmdtyOrdRequestQuantityInLot,

               --Commodity Fill Packet Status Criticality
               @ObjectModel.readOnly: true
               case FillPacket.CmmdtyOrderFillPacketStatus
               when '09' then 3
               when '01' then 1
               when '03' then 1
               when '04' then 1
               when '05' then 1
               when '07' then 1
               when '08' then 1
               else 0
               end                                                                                                                                                                                                                                                                                                                                                                                       as      ConfirmationStatusCriticality,


               -- Criticality
               @ObjectModel.readOnly: true
               case  coalesce( _CmmdtyOrdReqFillQtyByOrdReq.CmmdtyOrdReqFilledQuantity , 0 )
                    when   FillPacket.CmmdtyOrderRequestQuantity  then 3
                    else 0
               end                                                                                                                                                                                                                                                                                                                                                                                       as      Criticality,
               -- Criticality Code
               @ObjectModel.readOnly: true
               @UI.hidden: true
               case  coalesce( _CmmdtyOrdFillPrcdQtyByOrdReq.CmmdtyOrdReqPricedQuantity , 0 )
                    when coalesce(_CmmdtyOrdToBePrcdQtyByOrdReq.CmmdtyOrdReqToPriceTotQty, 0 ) then 3
                    else 0
               end                                                                                                                                                                                                                                                                                                                                                                                       as      CriticalityCode,

               -- Order Request Trader
               @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
               FillPacket.CommodityOrderRequestTrader,
               
               --First Distributed On
               @ObjectModel.readOnly: true
               FillPacket.CmmdtyOrdFillFirstDistrdDteTme,

               --Last Distributed On
               @ObjectModel.readOnly: true
               FillPacket.CmmdtyOrdFillLastDistrdDateTme,

               -- Created By User
               @ObjectModel.readOnly: true
               FillPacket.CreatedByUser,

               -- Creation Date Time
               @ObjectModel.readOnly: true
               FillPacket.CreationDateTime,

               -- Last Changed By User
               @ObjectModel.readOnly: true
               FillPacket.LastChangedByUser,

               -- Last Change Date Time
               @ObjectModel.readOnly: true
               FillPacket.LastChangeDateTime,

               -- Fill Decided By User
               @ObjectModel.readOnly: true
               FillPacket.CommodityOrderFillDecidedBy                                                                                                                                                                                                                                                                                                                                                    as      CommodityOrderFillDecidedBy,

               -- Fill Decided On
               @ObjectModel.readOnly: true
               FillPacket.CommodityOrderFillDecidedOn                                                                                                                                                                                                                                                                                                                                                    as      CommodityOrderFillDecidedOn,

               -- Order Fill Date Time
               @ObjectModel.readOnly: true
               FillPacketRecOn.CmmdtyOrderFillDateTime                                                                                                                                                                                                                                                                                                                                                   as      CmmdtyOrderFillDateTime,


               -- Derivative Order Trade Execution Is Recent
               @ObjectModel.readOnly: true
               case
               when   ExecRecent.CmmdtyDrvtvOrdTrdExecRecentTme >=
                      tstmp_seconds_between(  FillPacket.LastChangeDateTime,
                                              dats_tims_to_tstmp(
                                                                  tstmp_to_dats( tstmp_current_utctimestamp(),
                                                                                 abap_system_timezone( $session.client,'NULL' ),
                                                                                 $session.client,
                                                                                 'NULL' ),
                                                                  tstmp_to_tims( tstmp_current_utctimestamp(),
                                                                                 abap_system_timezone( $session.client,'NULL' ),
                                                                                 $session.client,
                                                                                 'NULL' ),
                                                                  abap_system_timezone( $session.client,'NULL' ),
                                                                  $session.client,
                                                                  'NULL' ) ,
                                             'NULL' )
                      then '3' // Default Color

                      else '0' // Higlighted green

               end