I_CommodityOrdFillPacketTP
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)
| Source | Alias | Join 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)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [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)
| Name | Value | Level | Field |
|---|---|---|---|
| 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
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA