@AccessControl.authorizationCheck: #NOT_REQUIRED
@VDM.viewType: #CONSUMPTION
@VDM.private: true
@EndUserText.label: 'Freight Orders in Execution'
define view entity P_CollabnApplFrtOrdInExecution
as select from I_TransportationOrder as TransportationOrder
inner join P_CollabnApplCarrierUser as CollabnApplCarrierUser on CollabnApplCarrierUser.BusinessPartnerCompany = TransportationOrder.Carrier
association [0..1] to I_TranspOrdLastRptdEvent as _LastReportedEvent on $projection.TransportationOrderUUID = _LastReportedEvent.TransportationOrderUUID
association [0..1] to P_CollabnFrtOrdTypeAssgdEvt as _FrtOrdTypeAssgdEvents on $projection.TransportationOrderType = _FrtOrdTypeAssgdEvents.TransportationOrderType
{
key TransportationOrder.TransportationOrderUUID,
cast ( TransportationOrder.TransportationOrder as /scmtms/vdm_freight_order_id ) as FreightOrder,
TransportationOrder.TranspOrdExecutionIsBlocked,
TransportationOrder.Carrier,
cast ( case when ( TransportationOrder.TransportationOrderExecSts = '03' and TransportationOrder.TranspOrdExecutionIsBlocked = 'X' ) then '02' //Blocked
when TransportationOrder.TransportationOrderExecSts = '03' then '01' // In Execution
when TransportationOrder.TransportationOrderExecSts = '04' then '03' // Closed
end as /scmtms/vdm_execution_status ) as TransportationOrderExecSts,
TransportationOrder.MeansOfTransport,
TransportationOrder._MeansOfTransport._Text[1: Language = $session.system_language].MeansOfTransportDesc,
TransportationOrder.TransportationOrderType,
TransportationOrder.TransportationOrderCategory,
TransportationOrder.TranspOrdDistanceUnit,
@Semantics.quantity.unitOfMeasure: 'TranspOrdDistanceUnit'
TransportationOrder.TranspOrdDistance,
TransportationOrder.TranspOrdNetDurationUnit,
@Semantics.quantity.unitOfMeasure: 'TranspOrdNetDurationUnit'
cast( (division(TransportationOrder.TranspOrdNetDuration, 10000,0)) as /scmtms/vdm_exec_net_duration ) as TranspOrdNetDuration,
@ObjectModel.text.element: ['PurchasingOrganizationName']
TransportationOrder.PurchasingOrgExternalID,
@Semantics.text: true
TransportationOrder._PurchasingOrganization._OrganizationalUnitText[1:Language = $session.system_language].OrganizationalUnitName as PurchasingOrganizationName,
@Consumption.valueHelpDefinition: [{ entity: {name: 'I_TransportationLocationVH' , element: 'Location'}}]
@ObjectModel.text.element: ['SourceLocationDescription']
TransportationOrder._SourceStop.LocationId as SourceLocation,
@Consumption.valueHelpDefinition: [{ entity: {name: 'I_TransportationLocationVH' , element: 'Location'}}]
@ObjectModel.text.element: ['SourceLocationDescription']
TransportationOrder._DestinationStop.LocationId as DestinationLocation,
@Semantics.text: true
TransportationOrder._SourceStop._Locationdescr.LocationDescription as SourceLocationDescription,
@Semantics.text: true
TransportationOrder._DestinationStop._Locationdescr.LocationDescription as DestinationLocationDescription,
TransportationOrder._SourceStop._Locationdescr.AddressObjectDescription as SourceLocationAddressDesc,
TransportationOrder._DestinationStop._Locationdescr.AddressObjectDescription as DestinationLocationAddressDesc,
@Semantics.dateTime: true
TransportationOrder._SourceStop.TranspOrdStopPlanTranspDteTme as TranspOrdDepartureDateTime,
@Semantics.dateTime: true
TransportationOrder._DestinationStop.TranspOrdStopPlanTranspDteTme as TranspOrdArrivalDateTime,
TransportationOrder.TranspOrdResponsiblePerson,
@Semantics.dateTime: true
TransportationOrder.CreationDateTime as CreationDateTime,
TransportationOrder.TranspOrdGrossWeightUnit as TranspOrdGrossWeightUnit,
TransportationOrder.TranspOrdGrossWeight as TranspOrdGrossWeight,
TransportationOrder.TranspOrdGrossVolumeUnit as TranspOrdGrossVolumeUnit,
TransportationOrder.TranspOrdGrossVolume as TranspOrdGrossVolume,
TransportationOrder.TranspOrdQuantityUnit as TranspOrdQuantityUnit,
TransportationOrder.TranspOrdQuantity as TranspOrdQuantity,
TransportationOrder.TranspOrderDngrsGdsSts as TranspOrderDngrsGdsSts,
TransportationOrder._TranspOrdDngrsGdsStatus._Text[1: Language = $session.system_language].TranspOrderDngrsGdsStsDesc as TranspOrderDngrsGdsStsDesc,
cast( case when _FrtOrdTypeAssgdEvents.TransportationOrderType is null then 'X'
else _FrtOrdTypeAssgdEvents.TransportationOrderType end as /scmtms/vdm_fo_type_evt_mntnd) as FrtOrdTypeMaintainedTourEvent,
@Semantics.dateTime: true
cast ( _LastReportedEvent.TranspOrdEvtActualDateTime as /scmtms/vdm_lastrptd_evt_dttme) as LastReportedEventDateTime,
@Consumption.valueHelpDefinition: [{ entity: {name: 'I_TransportationLocationVH' , element: 'Location'}}]
@ObjectModel.text.element: ['LocationDescription']
cast (_LastReportedEvent._TransportationOrderStop.LocationId as /scmtms/vdm_lastrptd_evt_loc ) as LastReportedEventLocation,
@Semantics.text: true
_LastReportedEvent._TransportationOrderStop._Locationdescr.LocationDescription as LocationDescription
}
where
(
TransportationOrder.TransportationOrderExecSts = '03'
or TransportationOrder.TransportationOrderExecSts = '04'
)
and TransportationOrder.TransportationOrderCategory = 'TO'
and TransportationOrder.TransportationModeCategory = '1'
and TransportationOrder.TranspOrdLifeCycleStatus <> '10'; //Freight Order not cancelled;
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_MEANSOFTRANSPORT",
"I_MEANSOFTRANSPORTTEXT",
"I_TMLOCATIONDESCRIPTION",
"I_TRANSPORDDNGRSGDSSTATUS",
"I_TRANSPORDDNGRSGDSSTATUSTEXT",
"I_TRANSPORDLASTRPTDEVENT",
"I_TRANSPORGANIZATIONALUNIT",
"I_TRANSPORGANIZATIONALUNITTEXT",
"I_TRANSPORTATIONORDER",
"I_TRANSPORTATIONORDERSTOP",
"P_COLLABNAPPLCARRIERUSER",
"P_COLLABNFRTORDTYPEASSGDEVT"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/