@EndUserText.label: 'Transportation Order Execution Analytics'
@ClientHandling.algorithm: #SESSION_VARIABLE
@Metadata: {allowExtensions: true,
ignorePropagatedAnnotations: true}
@AbapCatalog: {sqlViewName: 'ITRANSPORDEXEANA',
compiler.compareFilter: true,
buffering: {status: #NOT_ALLOWED},
preserveKey: true}
@AccessControl: {authorizationCheck: #CHECK,
personalData.blocking: #('TRANSACTIONAL_DATA')}
@ObjectModel: {representativeKey: 'TransportationOrderEventUUID',
usageType: {serviceQuality: #D,
sizeCategory: #XXL,
dataClass: #MIXED},
modelingPattern: #NONE,
supportedCapabilities: [#CDS_MODELING_DATA_SOURCE,
#CDS_MODELING_ASSOCIATION_TARGET,
#SQL_DATA_SOURCE,
#EXTRACTION_DATA_SOURCE]}
@VDM: {viewType: #COMPOSITE}
@Analytics: {dataCategory: #DIMENSION,
dataExtraction: {enabled: true,
delta.changeDataCapture: {mapping:
[{ table: '/scmtms/d_torexe',
role: #MAIN,
viewElement: ['TransportationOrderEventUUID'],
tableElement: ['db_key']} ]} },
internalName: #LOCAL}
define view I_TranspOrdExecutionAnalytics
as select from I_TranspOrdExecution
association [1..1] to I_TransportationOrderAnalytics as _TransportationOrderAnalytics on $projection.TransportationOrderUUID = _TransportationOrderAnalytics.TransportationOrderUUID
association [0..1] to I_TranspOrdItemAnalytics as _TranspOrdItemAnalytics on $projection.TransportationOrderItemUUID = _TranspOrdItemAnalytics.TransportationOrderItemUUID
association [0..1] to I_TranspOrdStopAnalytics as _TranspOrdStopAnalytics on $projection.TransportationOrderStopUUID = _TranspOrdStopAnalytics.TransportationOrderStopUUID
association [0..1] to I_LocationAnalytics as _LocationAnalytics on $projection.Location = _LocationAnalytics.Location
association [0..1] to I_UnitOfMeasure as _GeoCoordinatesUnit on $projection.GeoCoordinatesUnit = _GeoCoordinatesUnit.UnitOfMeasure
association [0..1] to I_UnitOfMeasure as _GeoCoordinatesAltitudeUnit on $projection.GeoCoordinatesAltitudeUnit = _GeoCoordinatesAltitudeUnit.UnitOfMeasure
{
/* keys and references */
@Semantics.uuid:true
key cast(TransportationOrderEventUUID as /scmtms/vdm_torexe_db_key preserving type ) as TransportationOrderEventUUID, // /scmtms/vdm_torexe_db_key C1 released
@ObjectModel.foreignKey.association: '_TransportationOrderAnalytics'
@Semantics.uuid:true
cast(TransportationOrderUUID as /scmtms/vdm_tor_db_key preserving type ) as TransportationOrderUUID, // /scmtms/vdm_tor_db_key C1 released
@ObjectModel.foreignKey.association: '_TranspOrdStopAnalytics'
@Semantics.uuid:true
cast(TransportationOrderStopUUID as /scmtms/vdm_tor_stop_db_key preserving type ) as TransportationOrderStopUUID, // /scmtms/vdm_tor_stop_db_key C1 released
@ObjectModel.foreignKey.association: '_TranspOrdItemAnalytics'
@Semantics.uuid:true
cast(TransportationOrderItemUUID as /scmtms/vdm_tor_item_db_key preserving type ) as TransportationOrderItemUUID, // /scmtms/vdm_tor_item_db_key C1 released
/* Admin */
@Semantics.user.createdBy: true
CreatedByUser,
CreationDateTime,
@Semantics.user.lastChangedBy: true
LastChangedByUser,
ChangedDateTime,
/* Event */
TranspOrdExecution,
@ObjectModel.foreignKey.association: '_TranspOrdEventCode'
TranspOrdEventCode,
@ObjectModel.foreignKey.association: '_TranspOrdEventStatus'
TranspOrdEventStatus,
@ObjectModel.foreignKey.association: '_TransportationActivity'
TransportationActivity,
@ObjectModel.foreignKey.association: '_TranspOrdEventIsRecalled'
@Semantics.booleanIndicator: true
TranspOrdEventIsRecalled,
@ObjectModel.text.element: ['TranspOrdEventReasonDesc']
cast( TranspOrdEventReasonCode as /scmtms/vdm_evt_reason_intcode preserving type ) as TranspOrdEventReasonCode,
@Semantics.text: true
cast(TranspOrdEventReasonDesc as /scmtms/vdm_evt_reason_desc preserving type ) as TranspOrdEventReasonDesc,
@ObjectModel.foreignKey.association: '_TranspOrdExecInfoSource'
TranspOrdExecInfoSource,
@ObjectModel.foreignKey.association: '_TranspOrdReferenceEventCode'
cast ( TranspOrdReferenceEventCode as /scmtms/vdm_exec_ref_evtcode preserving type ) as TranspOrdReferenceEventCode,
/* Dates */
cast ( TranspOrdEvtActualDateTime as /scmtms/vdm_event_actl_dtetme preserving type ) as TranspOrdEvtActualDateTime,
TranspOrdEvtActualDateTimeZone,
TranspOrdEvtExpdEndDateTime,
TranspOrdEvtEstimatedDateTime,
/* Location */
@Semantics.uuid:true
LocationUUID, // LocationUUID mit LocationAdditionalUUID gelesen aus der I_LocationBasic (CHAR 22)
@Semantics.uuid:true
LocationAdditionalUUID, // /SCMTMS/D_TOREXE-ext_loc_uuid (RAW 16)
@ObjectModel.foreignKey.association: '_LocationAnalytics'
_LocationAdditional.Location as Location,
/* Geo Location */
@Semantics.geoLocation.latitude: true
@Semantics.quantity.unitOfMeasure: 'GeoCoordinatesUnit'
@DefaultAggregation: #MIN
GeographicalLocationLatitude,
@Semantics.geoLocation.longitude: true
@Semantics.quantity.unitOfMeasure: 'GeoCoordinatesUnit'
@DefaultAggregation: #MIN
GeographicalLocationLongitude,
@DefaultAggregation: #MIN
@Semantics.quantity.unitOfMeasure: 'GeoCoordinatesAltitudeUnit'
GeographicalLocationAltitude,
@Semantics.unitOfMeasure: true
@ObjectModel.foreignKey.association: '_GeoCoordinatesUnit'
cast ( 'DEG' as /scmtms/vdm_geocoord_unit ) as GeoCoordinatesUnit, // /scmtms/vdm_geocoord_unit C1 released
@Semantics.unitOfMeasure: true
@ObjectModel.foreignKey.association: '_GeoCoordinatesAltitudeUnit'
cast ( 'M' as /scmtms/vdm_geoalt_unit ) as GeoCoordinatesAltitudeUnit, // /scmtms/vdm_geoalt_unit C1 released
/* Discrepancy */
@ObjectModel.foreignKey.association: '_TranspOrdHasQtyDiscrepancy'
@Semantics.booleanIndicator: true
TranspOrdHasQtyDiscrepancy,
@ObjectModel.foreignKey.association: '_TranspOrdIsDiscrepant'
@Semantics.booleanIndicator: true
TranspOrdIsDiscrepant,
@ObjectModel.foreignKey.association: '_DiscrepancyType'
DiscrepancyType,
@ObjectModel.foreignKey.association: '_TranspOrdIsDscrptWthoutBlk'
@Semantics.booleanIndicator: true
TranspOrdIsDscrptWthoutBlk,
@Semantics.booleanIndicator: true
TranspOrdIsDiscrepantWithinTol,
@ObjectModel.foreignKey.association: '_TranspExecDscrcySubCat'
TranspOrdExecDscrcySubCat,
/* Quantities (for Discrepacy only) */
@Semantics.quantity.unitOfMeasure: 'TranspOrdExecGrossWeightUnit'
@DefaultAggregation: #SUM
TranspOrdExecGrossWeight,
@ObjectModel.foreignKey.association: '_TranspOrdExecGrossWeightUnit'
@Semantics.unitOfMeasure: true
TranspOrdExecGrossWeightUnit,
@Semantics.quantity.unitOfMeasure: 'TranspOrdExecGrossVolumeUnit'
@DefaultAggregation: #SUM
TranspOrdExecGrossVolume,
@ObjectModel.foreignKey.association: '_TranspOrdExecGrossVolumeUnit'
@Semantics.unitOfMeasure: true
TranspOrdExecGrossVolumeUnit,
@Semantics.quantity.unitOfMeasure: 'TranspOrdExecNetWeightUnit'
@DefaultAggregation: #SUM
TranspOrdExecNetWeight,
@ObjectModel.foreignKey.association: '_TranspOrdExecNetWeightUnit'
@Semantics.unitOfMeasure: true
TranspOrdExecNetWeightUnit,
@Semantics.quantity.unitOfMeasure: 'TranspOrdExecQuantityUnit'
@DefaultAggregation: #SUM
TranspOrdExecQuantity,
@ObjectModel.foreignKey.association: '_TranspOrdExecQuantityUnit'
@Semantics.unitOfMeasure: true
TranspOrdExecQuantityUnit,
@Semantics.quantity.unitOfMeasure: 'TranspOrdExecNumberOfCtnsUnit'
@DefaultAggregation: #SUM
TranspOrdExecNumberOfCtns,
@ObjectModel.foreignKey.association: '_TranspOrdExecNumberOfCtnsUnit'
@Semantics.unitOfMeasure: true
TranspOrdExecNumberOfCtnsUnit,
/* Associations */
// defined in this view
_TransportationOrderAnalytics,
_TranspOrdStopAnalytics,
_TranspOrdItemAnalytics,
_LocationAnalytics,
_GeoCoordinatesUnit,
_GeoCoordinatesAltitudeUnit,
// propagated from underlying view
_TranspOrdEventCode,
_TranspOrdEventStatus,
_TransportationActivity,
_TranspOrdEventIsRecalled,
_TranspOrdHasQtyDiscrepancy,
_TranspOrdIsDiscrepant,
_DiscrepancyType,
_TranspOrdIsDscrptWthoutBlk,
_TranspOrdExecGrossWeightUnit,
_TranspOrdExecGrossVolumeUnit,
_TranspOrdExecNetWeightUnit,
_TranspOrdExecQuantityUnit,
_TranspOrdExecNumberOfCtnsUnit,
_TranspOrdExecInfoSource,
_TranspOrdReferenceEventCode,
_TranspExecDscrcySubCat
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_LOCATIONBASIC",
"I_TRANSPORDEXECUTION"
],
"ASSOCIATED":
[
"I_DISCREPANCYTYPE",
"I_LOCATIONANALYTICS",
"I_TRANSPEXECDSCRCYSUBCAT",
"I_TRANSPORDEVENTCODE",
"I_TRANSPORDEVENTISRECALLED",
"I_TRANSPORDEVENTSTATUS",
"I_TRANSPORDEXECINFOSOURCE",
"I_TRANSPORDHASQTYDISCREPANCY",
"I_TRANSPORDISDISCREPANT",
"I_TRANSPORDISDSCRPTWTHOUTBLK",
"I_TRANSPORDITEMANALYTICS",
"I_TRANSPORDSTOPANALYTICS",
"I_TRANSPORTATIONACTIVITY",
"I_TRANSPORTATIONORDERANALYTICS",
"I_UNITOFMEASURE"
],
"BASE":
[
"I_TRANSPORDEXECUTION"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/