@AbapCatalog.sqlViewName : 'ICMMDTYORDREQTP'
@AbapCatalog.compiler.compareFilter : true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck : #CHECK
@AccessControl.personalData.blocking : #REQUIRED
@EndUserText.label : 'Commodity Order Req. Transactional View'
@VDM.viewType : #TRANSACTIONAL
---- Business Object Model for Commodity Order Request
@ObjectModel: {
transactionalProcessingEnabled : true,
compositionRoot : true,
writeActivePersistence : 'CMMFDOR_D_ORDER',
draftEnabled : true,
writeDraftPersistence : 'CMMFDOR_D_ORD_D',
createEnabled : true,
updateEnabled : 'EXTERNAL_CALCULATION',
deleteEnabled : 'EXTERNAL_CALCULATION',
entityChangeStateId : 'LastChangeDateTime',
lifecycle.enqueue.expiryBehavior : #RELATIVE_TO_LAST_CHANGE,
lifecycle.enqueue.expiryInterval : 'PT60M',
usageType: {
serviceQuality : #D,
sizeCategory : #XL,
dataClass : #MIXED
},
modelCategory : #BUSINESS_OBJECT,
semanticKey : ['COMMODITYORDERREQUEST'],
alternativeKey: [{
id : 'COMMODITYORDERREQUEST',
uniqueness : #UNIQUE_IF_NOT_INITIAL,
element : ['COMMODITYORDERREQUEST']
}]
}
define view I_CommodityOrderRequestTP
as select from I_CommodityOrderRequest as CommodityOrderRequest
-- Total Quantity yet to be Priced for an order
left outer join I_CmmdtyOrdToBePrcdQtyByOrdReq as CmmdtyOrdToBePrcdQtyByOrdReq on CommodityOrderRequest.CommodityOrderRequestUUID = CmmdtyOrdToBePrcdQtyByOrdReq.CommodityOrderRequestUUID
-- Total Quantity for Filled for an Order
left outer join I_CmmdtyOrdReqFillQtyByOrdReq as CmmdtyOrdReqFillQtyByOrdReq on CommodityOrderRequest.CommodityOrderRequestUUID = CmmdtyOrdReqFillQtyByOrdReq.CommodityOrderRequestUUID
-- Total Quantity priced for an order
left outer join I_CmmdtyOrdFillPrcdQtyByOrdReq as CmmdtyOrdFillPrcdQtyByOrdReq on CommodityOrderRequest.CommodityOrderRequestUUID = CmmdtyOrdFillPrcdQtyByOrdReq.CommodityOrderRequestUUID
-- To get Order Request Kind, Counterparty Info based on Commodity Order Request Type
left outer join I_CmmdtyOrderRequestType as CmmdtyOrderRequestType on CommodityOrderRequest.CmmdtyOrderRequestType = CmmdtyOrderRequestType.CmmdtyOrderRequestType
-- To get Messages Count
left outer join I_CmmdtyOrdReqMsgsByOrdReq as MessageCount on CommodityOrderRequest.CommodityOrderRequestUUID = MessageCount.CommodityOrderRequestUUID
-- To get Error Messages Count
left outer join I_CmmdtyOrdErrMsgsByOrdReq as ErrorCount on CommodityOrderRequest.CommodityOrderRequestUUID = ErrorCount.CommodityOrderRequestUUID
-- To get Warning Messages Count
left outer join I_CmmdtyOrdWrngMsgsByOrdReq as WarningCount on CommodityOrderRequest.CommodityOrderRequestUUID = WarningCount.CommodityOrderRequestUUID
-- To get Recent Change Time Interval
left outer join I_CmmdtyDrvtvOrdTrdExecRecent as ExecRecent on ExecRecent.SemanticObjectName = 'CommodityOrderRequest'
-- To get Broker Group
left outer join I_CmmdtySubAcctBrokerVH as CmmdtySubAcctBrokerVH on CmmdtySubAcctBrokerVH.BusinessPartner = CommodityOrderRequest.CommodityDerivativeBroker
--order reference
left outer join I_CmmdtyOrderRequestReference as _CmmdtyOrdReqRef on CommodityOrderRequest.CommodityOrderRequestUUID = _CmmdtyOrdReqRef.CmmdtyOrdRequestReferenceUUID
-- Error Message date time
left outer join I_CmmdtyOrdReqMsgTypeText as ErrorMsgDateTime on ErrorMsgDateTime.CommodityOrderRequestUUID = CommodityOrderRequest.CommodityOrderRequestUUID
// ------Self Match Prevention
// left outer join I_CmmdtyOrdSelfMatchPrevention as SelfMatchPrevention on CommodityOrderRequest.CompanyCode = SelfMatchPrevention.CompanyCode
// and CommodityOrderRequest.CommodityOrderRequestTrader = SelfMatchPrevention.CommodityOrderRequestTrader
// and CommodityOrderRequest.MarketIdentifierCode = SelfMatchPrevention.MarketIdentifierCode
-- To get ISO Code of Quantity Unit
left outer join I_UnitOfMeasure as UnitOfMeasure on UnitOfMeasure.UnitOfMeasure = CommodityOrderRequest.CmmdtyDrvtvQuantityUnitPerLot
-- Association View for Assigned Documents in Commodity Derivative Order Request
association [0..*] to I_CmmdtyOrdReqDocumentTP as _Document on $projection.CommodityOrderRequestUUID = _Document.CommodityOrderRequestUUID
-- Association View for Assigned Legs in Commodity Derivative Order Request
association [0..*] to I_CmmdtyOrderReqLegTP as _OrdReqLeg on $projection.CommodityOrderRequestUUID = _OrdReqLeg.CommodityOrderRequestUUID
-- Extension View for Free Characteristics in Commodity Derivative Order Request
association [0..1] to E_CommodityOrderRequest as _Extension on $projection.CommodityOrderRequestUUID = _Extension.CommodityOrderRequestUUID
{
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
key CommodityOrderRequest.CommodityOrderRequestUUID,
@ObjectModel.readOnly: true
@ObjectModel.mandatory: true
CommodityOrderRequest.CommodityOrderRequest,
--------------------------Commodity Order Request Information------------------------------------------------------------------------------------------
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
@ObjectModel.mandatory: true
CommodityOrderRequest.CmmdtyOrderRequestReason,
-- Commodity Order Request Buy, Sell or Spread
@ObjectModel.readOnly: true
cast(
case CommodityOrderRequest.CmmdtyOrderRequestReason
when 'SO' then 'Spread'
else ''
end as cmmfdor_orderreqflowtypetext) as CmmdtyOrderRequestFlowType,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrderReqRejectionReason,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrderRequestStatus,
-- Commodity Order Request Status Criticality
@ObjectModel.readOnly: true
case CommodityOrderRequest.CmmdtyOrderRequestStatus
when '05' then 3
when '07' then 3
else 0
end as StatusCriticality,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CommodityOrdReqStatusReason,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CommodityOrderRequestTrader,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrderRequestProcessStep,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CommodityOrderRequestComment,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
@ObjectModel.mandatory: true
CommodityOrderRequest.CmmdtyOrderRequestSource,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqPricingProgram,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqSentToBrkrDateTime,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
@ObjectModel.mandatory: true
CommodityOrderRequest.CmmdtyOrderRequestType,
@ObjectModel.readOnly: true
CmmdtyOrderRequestType.CommodityOrderFillCategory,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CmmdtyOrderRequestType.CmmdtyOrderRequestKind,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CmmdtyOrderRequestType.CmmdtyOrderRequestKindText,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CmmdtyOrderRequestType.Counterparty as CmmdtyOrdFillCounterPartyInfo,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CmmdtyOrderRequestType.CmmdtyDrvtvCounterPartyInfoTxt,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CmmdtyOrderRequestType.CmmdtyOrderReqDocCardinalValue,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrderRequestExchangeType,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqNegttnDateTime,
@ObjectModel.readOnly: true
cast( tstmp_to_dats( CommodityOrderRequest.CmmdtyOrdReqNegttnDateTime,
abap_system_timezone( $session.client,'NULL' ),
$session.client,
'NULL' ) as cmmfdor_ordnegotiatedon preserving type) as CmmdtyOrderReqNegotiationDate,
@ObjectModel.mandatory: true
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqExprtnInstruction,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdRequestExpirationDate,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqExpryInstrnCat,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqInitialStatusIsSet,
--------------------------Commodity Order Request Quantity Information---------------------------------------------------------------------------------
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
@ObjectModel.mandatory: true
CommodityOrderRequest.CmmdtyOrdRequestQuantityInLot,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyDerivativeQuantityPerLot,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyDrvtvQuantityUnitPerLot,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyDerivativeCurrencyPerLot,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrderRequestQuantity,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
cast(CommodityOrderRequest.CmmdtyDrvtvQuantityUnitPerLot
as cmmfdor_ordrequantityuom preserving type ) as CmmdtyOrderRequestQuantityUnit,
@ObjectModel.readOnly: true
cast( coalesce(CmmdtyOrdReqFillQtyByOrdReq.CmmdtyOrdReqFilledQuantity, 0)
as cmmfdor_orderreqfilledquantity preserving type ) as CmmdtyOrdReqFilledQuantity,
@ObjectModel.readOnly: true
cast( CommodityOrderRequest.CmmdtyDrvtvQuantityUnitPerLot
as cmmfdor_ordreqfilledqtyuom preserving type ) as CmmdtyOrdReqFilledQuantityUnit,
-- Commodity Order Request Filled Quantity Criticality
@ObjectModel.readOnly: true
case coalesce(CmmdtyOrdReqFillQtyByOrdReq.CmmdtyOrdReqFilledQuantity, 0 )
when coalesce(CommodityOrderRequest.CmmdtyOrderRequestQuantity, 0) then 3
else 0
end as CriticalityCode,
-- Commodity Order Request To Be Filled Quantity
@ObjectModel.readOnly: true
cast( ( coalesce(CommodityOrderRequest.CmmdtyOrderRequestQuantity, 0) - coalesce(CmmdtyOrdReqFillQtyByOrdReq.CmmdtyOrdReqFilledQuantity, 0 ) )
as cmmfdor_cmmdtyordreqfilltoqty ) as CmmdtyOrdReqToBeFilledQty,
-- Commodity Order Request To Be Filled Quantity Unit
@ObjectModel.readOnly: true
cast( CommodityOrderRequest.CmmdtyDrvtvQuantityUnitPerLot
as cmmfdor_ordreqtobefilledqtyuom preserving type ) as CmmdtyOrdReqToBeFilledQtyUnit,
-- Commodity Order Request To Be Filled Quantity Text
@ObjectModel.readOnly: true
case coalesce(UnitOfMeasure.UnitOfMeasureISOCode, '')
when '' then
concat_with_space(
cast(( coalesce(CommodityOrderRequest.CmmdtyOrderRequestQuantity, 0)) as abap.char(40)),
CommodityOrderRequest.CmmdtyDrvtvQuantityUnitPerLot,
1 )
else
concat_with_space(
cast((coalesce(CommodityOrderRequest.CmmdtyOrderRequestQuantity, 0)) as abap.char(40)),
UnitOfMeasure.UnitOfMeasureISOCode,
1 )
end as CmmdtyOrdReqToBeFilledQtyTxt,
-- Commodity Order Request To Be Filled Quantity in Lots
@ObjectModel.readOnly: true
case coalesce(CommodityOrderRequest.CmmdtyDerivativeQuantityPerLot, 0 )
when 0 then
0
else
cast(div(( coalesce(CommodityOrderRequest.CmmdtyOrderRequestQuantity, 0) - coalesce(CmmdtyOrdReqFillQtyByOrdReq.CmmdtyOrdReqFilledQuantity, 0 ) )
, CommodityOrderRequest.CmmdtyDerivativeQuantityPerLot ) as cmmfdor_cmmdtyordopnqtyinlots) end as CmmdtyOrdReqOpenQtyInLots,
-- Commodity Order Request To Price Total Quantity
@ObjectModel.readOnly: true
cast(coalesce(CmmdtyOrdToBePrcdQtyByOrdReq.CmmdtyOrdReqToPriceTotQty, 0 )
as cmmfdor_ordreqtopricetotqty preserving type ) as CmmdtyOrdReqToPriceTotQty,
-- Commodity Order Request To Price Total Quantity Unit
@ObjectModel.readOnly: true
CommodityOrderRequest.CmmdtyDrvtvQuantityUnitPerLot as CmmdtyOrdReqToPriceTotQtyUnit,
cast(' ' as abap.char( 1 )) as CmmdtyOrdReqSendToBrkrIsAutom,
cast(' ' as abap.char( 1 )) as CmmdtyOrderReqIsApproved,
-- Commodity Order Request Priced Quantity
@ObjectModel.readOnly: true
cast(
case coalesce(CmmdtyOrdToBePrcdQtyByOrdReq.CmmdtyOrdReqToPriceTotQty, 0 )
when 0 then
0
else
coalesce(CmmdtyOrdFillPrcdQtyByOrdReq.CmmdtyOrdReqPricedQuantity, 0 )
end as cmmfdor_ordreqpricedqty preserving type ) as CmmdtyOrdReqPricedQuantity,
-- Commodity Order Request Priced Quantity Unit
@ObjectModel.readOnly: true
cast( CommodityOrderRequest.CmmdtyDrvtvQuantityUnitPerLot
as cmmfdor_ordreqpricedqtyuom preserving type ) as CmmdtyOrdReqPricedQuantityUnit,
-- Commodity Order Request Priced Quantity Criticality
@ObjectModel.readOnly: true
case coalesce(CmmdtyOrdFillPrcdQtyByOrdReq.CmmdtyOrdReqPricedQuantity, 0 )
when CmmdtyOrdToBePrcdQtyByOrdReq.CmmdtyOrdReqToPriceTotQty then 3
else 0
end as Criticality,
-- Commodity Order Request To Be Priced Quantity (Quantity Yet To Be Priced)
@ObjectModel.readOnly: true
cast(
case coalesce(CmmdtyOrdToBePrcdQtyByOrdReq.CmmdtyOrdReqToPriceTotQty, 0 )
when 0 then
0
else
cast( ( coalesce(CmmdtyOrdToBePrcdQtyByOrdReq.CmmdtyOrdReqToPriceTotQty, 0 ) - coalesce(CmmdtyOrdFillPrcdQtyByOrdReq.CmmdtyOrdReqPricedQuantity, 0 ) )
as cmmfdor_cmmdtyorrequestotprice )
end as cmmfdor_cmmdtyorrequestotprice preserving type ) as CmmdtyOrdReqToBePricedQty,
-- Commodity Order Request To Be Priced Quantity Unit
@ObjectModel.readOnly: true
cast(CommodityOrderRequest.CmmdtyDrvtvQuantityUnitPerLot
as cmmfdor_ordreqtobepricedqtyuom preserving type ) as CmmdtyOrdReqToBePricedQtyUnit,
-- Commodity Order Request To Be Priced Quantity Unit Text
@ObjectModel.readOnly: true
case coalesce(UnitOfMeasure.UnitOfMeasureISOCode, '')
when '' then
concat_with_space(
cast(( coalesce(CmmdtyOrdToBePrcdQtyByOrdReq.CmmdtyOrdReqToPriceTotQty, 0)) as abap.char(40)),
CmmdtyOrdToBePrcdQtyByOrdReq.CmmdtyOrdReqToPriceTotQtyUnit,
1 )
else
concat_with_space(
cast((coalesce(CmmdtyOrdToBePrcdQtyByOrdReq.CmmdtyOrdReqToPriceTotQty, 0)) as abap.char(40)),
UnitOfMeasure.UnitOfMeasureISOCode,
1 )
end as CmmdtyOrdReqToBePricedQtyTxt,
---------------------------------------------------------------------------------------------------------------------------------------------------
cast(
case coalesce(MessageCount.NumberOfOpenMessages,0)
when 0 then 'N'
else 'Y' end
as cmmfdor_ordreqmsgavailability preserving type ) as CmmdtyOrderReqMsgIsAvailable,
@ObjectModel.readOnly: true
cast(ErrorMsgDateTime.CmmdtyOrdReqMessageDateTime
as cmmfdof_msgcreationdatetime preserving type ) as CmmdtyOrdReqMessageDateTime,
@ObjectModel.readOnly: true
cast( tstmp_to_dats( ErrorMsgDateTime.CmmdtyOrdReqMessageDateTime,
abap_system_timezone( $session.client,'NULL' ),
$session.client,
'NULL'
) as cmmfdof_msgcreationdate preserving type) as CmmdtyOrderRequestMessageDate,
@ObjectModel.readOnly: true
coalesce(ErrorCount.NumberOfErrorMessages,0) as NumberOfErrorMessages,
@ObjectModel.readOnly: true
coalesce(WarningCount.NumberOfWarningMessages,0) as NumberOfWarningMessages,
--------------------------Commodity Order Request Pricing Information----------------------------------------------------------------------------------
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
@ObjectModel.mandatory: true
CommodityOrderRequest.CmmdtyOrdReqPrcgExecInstrn,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqPrcgExecInstrnCat,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqLmtPrc,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqLmtPrcCurrency,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqLmtPrcQuantity,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqLmtPrcQuantityUnit,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqLmtSpreadPrc,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqLmtSpreadPrcCrcy,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqLmtSpreadPrcQty,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdLmtSpreadPrcQtyUnit,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqStopPrice,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqStopPriceCrcy,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqStopPriceQty,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqStopPriceQtyUnit,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqStopLmtPrc,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqStopLmtPrcCrcy,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqStopLmtPrcQty,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqStopLmtPrcQtyUnit,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqFxdPrc,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqFxdPrcCrcy,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqFxdPrcQty,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqFxdPrcQtyUnit,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqFxdSpreadPrc,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqFxdSpreadPrcCrcy,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqFxdSpreadPrcQty,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdFxdSpreadPrcQtyUnit,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqLeewayPrc,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqLeewayPrcCrcy,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqLeewayPrcQty,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqLeewayPrcQtyUnit,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqLeewayRngePrc,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqLeewayRngePrcCrcy,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqLeewayRngePrcQty,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdLeewayRngePrcQtyUnit,
--------------------------Subaccount Information-------------------------------------------------------------------------------------------------------
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CommoditySubAccount,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CommoditySubAccountUUID,
@ObjectModel.readOnly: true
CommodityOrderRequest.CommoditySubAccountName,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CompanyCode,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.Commodity,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CommodityDerivativeBroker,
@ObjectModel.readOnly: true
cast(CmmdtySubAcctBrokerVH.BusinessPartnerFullName as cmmfdor_brokername) as BusinessPartnerFullName,
@ObjectModel.readOnly: true
CmmdtySubAcctBrokerVH.BusinessPartnerGrouping as CommodityDerivativeBrokerGroup,
--------------------------Counterparty Subaccount Information---------------------------------------------------------------------------------------
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqCntrPtySubAcct,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqCntrPtySubAcctUUID,
--------------------------Counterparty -------------------------------------------------------------------------------------------------------------
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.Counterparty,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqCntrPtyBroker,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdCntrPtyBrokerRefAcct,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdInternalCounterparty as CmmdtyOrdInternalCounterparty,
-------------------------- Order Cancellation-------------------------------------------------------------------------------------------------------------
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdRequestCancellationID as CmmdtyOrdRequestCancellationID,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdRequestCanclnDateTime as CmmdtyOrdRequestCanclnDateTime,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrderRequestCanceledBy as CmmdtyOrderRequestCanceledBy,
cast(' ' as abap.char( 1 )) as CmmdtyOrderReqIsSentForCancln,
-------------------------- Order Amendment -------------------------------------------------------------------------------------------------------------
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrderReqPreviousStatus as CmmdtyOrderReqPreviousStatus,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdRejectReferenceUUID as CmmdtyOrdRejectReferenceUUID,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqRejectionReference as CmmdtyOrdReqRejectionReference,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
case when CommodityOrderRequest.CmmdtyOrdRequestReferenceUUID is not null then
CommodityOrderRequest.CmmdtyOrdRequestReferenceUUID
when CommodityOrderRequest.CmmdtyOrderRequestStatus = '07' then
CommodityOrderRequest.CmmdtyOrdRejectReferenceUUID
when CommodityOrderRequest.CmmdtyOrderRequestStatus = '09' then
CommodityOrderRequest.CmmdtyOrdRejectReferenceUUID
else
_CmmdtyOrdReqRef.CommodityOrderRequestUUID
end as CmmdtyOrdRequestReferenceUUID,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
cast(
case when CommodityOrderRequest.CommodityOrderRequestReference is not initial then
CommodityOrderRequest.CommodityOrderRequestReference
// when CommodityOrderRequest.CmmdtyOrderRequestStatus = '07' then
// CommodityOrderRequest.CmmdtyOrdReqRejectionReference
when CommodityOrderRequest.CmmdtyOrderRequestStatus = '09' then
CommodityOrderRequest.CmmdtyOrdReqRejectionReference
else
_CmmdtyOrdReqRef.CommodityOrderRequest
end as cmmfdor_ordreqreference) as CommodityOrderRequestReference,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdReqOriglQuantityInLot as CmmdtyOrdReqOriglQuantityInLot,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrderReqIsCopied as CmmdtyOrderReqIsCopied,
-------------------------- Order Ticks -------------------------------------------------------------------------------------------------------------
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CommodityOrderRequestTicks as CommodityOrderRequestTicks,
-------------------------- Self Match Prevention -------------------------------------------------------------------------------------------------------------
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdSelfMatchPreventionID as CmmdtyOrdSelfMatchPreventionID,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.CmmdtyOrdMatchPreventionInstrn as CmmdtyOrdMatchPreventionInstrn,
-------------------------- Subaccount Extra Details -------------------------------------------------------------------------------------------------------------
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CommodityOrderRequest.MarketIdentifierCode as MarketIdentifierCode,
--------------------------Administrative Data----------------------------------------------------------------------------------------------------------
@ObjectModel.readOnly: true
CommodityOrderRequest.CreatedByUser,
@ObjectModel.readOnly: true
CommodityOrderRequest.CreationDateTime,
@ObjectModel.readOnly: true
cast( tstmp_to_dats( CommodityOrderRequest.CreationDateTime,
abap_system_timezone( $session.client,'NULL' ),
$session.client,
'NULL'
) as cmmfdof_createdon preserving type) as CreationDateDecimalValue,
@ObjectModel.readOnly: true
CommodityOrderRequest.LastChangedByUser,
@ObjectModel.readOnly: true
cast( tstmp_to_dats( CommodityOrderRequest.LastChangeDateTime,
abap_system_timezone( $session.client,'NULL' ),
$session.client,
'NULL'
) as cmmfdof_lastchangedon preserving type) as LastChangeDate,
@ObjectModel.readOnly: true
CommodityOrderRequest.LastChangeDateTime,
@ObjectModel.readOnly: true
case
when ExecRecent.CmmdtyDrvtvOrdTrdExecRecentTme >=
tstmp_seconds_between( CommodityOrderRequest.LastChangeDateTime,
// Current System Time Stamp
dats_tims_to_tstmp(
// Current System Date
tstmp_to_dats( tstmp_current_utctimestamp(),
abap_system_timezone( $session.client,'NULL' ),
$session.client,
'NULL' ),
// Current System Time
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 as CmmdtyDrvtvOrdTrdExecIsRecent,
-------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------Associations------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_Document,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_OrdReqLeg
}