C_FrtUnitManagement
Freight Unit Management
C_FrtUnitManagement is a Consumption CDS View that provides data about "Freight Unit Management" in SAP S/4HANA. It reads from 1 data source (I_TransportationOrder) and exposes 65 fields with key field TransportationOrderUUID. It has 5 associations to related views. It is exposed through 1 OData service (UI_FRTUNITMANAGEMENT). It is used in 1 Fiori application: Manage Freight Units. Part of development package CVIEW_TM_FU_MNG.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_TransportationOrder | I_TransportationOrder | from |
Associations (5)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | E_TransportationOrder | _Extension | $projection.TransportationOrderUUID = _Extension.TransportationOrderUUID |
| [0..1] | I_BusinessPartner | _SoldToParty | $projection.Consignee = _SoldToParty.BusinessPartner |
| [0..1] | I_BusinessPartnerVH | _SoldToPartyVH | $projection.Consignee = _SoldToPartyVH.BusinessPartner |
| [0..1] | I_FreightUnitVH | _FreightUnitVH | $projection.FreightUnit = _FreightUnitVH.FreightUnit |
| [1..1] | I_TransportationOrderItem | _FURItem | $projection.TransportationOrderUUID = _FURItem.TransportationOrderUUID and _FURItem.TranspOrdItemCategory = 'FUR' |
Annotations (8)
| Name | Value | Level | Field |
|---|---|---|---|
| EndUserText.label | Freight Unit Management | view | |
| ObjectModel.representativeKey | TransportationOrderUUID | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| VDM.viewType | #CONSUMPTION | view | |
| AccessControl.authorizationCheck | #MANDATORY | view | |
| Metadata.allowExtensions | true | view |
OData Services (1)
| Service | Binding | Version | Contract | Release |
|---|---|---|---|---|
| UI_FRTUNITMANAGEMENT | UI_FRTUNITMANAGEMENT | V2 | C1 | NOT_RELEASED |
Fiori Apps (1)
| App ID | App Name | Type | Description |
|---|---|---|---|
| F3637 | Manage Freight Units | Transactional |
Manage Freight Units
Business Role: Dispatcher (Transportation Management)
This feature enables you to display and check the freight units that have been created during sales order creation in an order-based transportation consolidation scenario. The Freight Units - List Report app is available on the launchpad. From the list report you can select the documents and display them in a detail view.
Key Features: You can use this app to do the following: Search, filter, sort, and group the list of freight units by relevant criteria such as the requested departure date, source and destination locations, and planning status. Select freight units and view more detailed information such as the products to be transported. View Dangerous Goods statuses. For more information see Dangerous Goods Check in Transportation Management. See if blocks have been set and for what reason. Delete the deliveries of unplanned freight units. For more information, see Delivery Deletion Initiated from TM. Create note texts and include attachments
Fields (65)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | TransportationOrderUUID | |||
| FreightUnit | TransportationOrder | |||
| TransportationOrderType | TransportationOrderType | |||
| TransportationOrderTypeDesc | ||||
| PurchasingOrgExternalID | PurchasingOrgExternalID | |||
| PurchasingGroupExternalID | PurchasingGroupExternalID | |||
| PlngAndExecOrgExternalID | ||||
| PlngAndExecGroupExternalID | ||||
| TranspOrdResponsiblePerson | TranspOrdResponsiblePerson | |||
| TransportationMode | TransportationMode | |||
| TransportationModeDesc | ||||
| TransportationOrderCategory | TransportationOrderCategory | |||
| TranspOrdGrossWeight | ||||
| TranspOrdGrossWeightUnit | TranspOrdGrossWeightUnit | |||
| TranspOrdGrossVolume | ||||
| TranspOrdGrossVolumeUnit | TranspOrdGrossVolumeUnit | |||
| TranspOrdQuantity | ||||
| TranspOrdQuantityUnit | TranspOrdQuantityUnit | |||
| TranspOrdPalletSpacesQty | ||||
| TranspOrdPalletSpacesUnit | TranspOrdPalletSpacesUnit | |||
| TranspOrdLoadMetersQty | ||||
| TranspOrdLoadMetersUnit | TranspOrdLoadMetersUnit | |||
| Shipper | Shipper | |||
| Consignee | Consignee | |||
| TranspOrdLifeCycleStatus | TranspOrdLifeCycleStatus | |||
| TranspOrdLifeCycleStatusDesc | ||||
| TranspOrdPlanningStatus | TranspOrdPlanningStatus | |||
| TranspOrdPlanningStatusDesc | ||||
| TransportationOrderExecSts | TransportationOrderExecSts | |||
| TransportationOrderExecStsDesc | ||||
| TranspOrderDngrsGdsSts | TranspOrderDngrsGdsSts | |||
| TranspOrderDngrsGdsStsDesc | ||||
| TranspOrdDocReferenceID | _FURItem | TranspOrdDocReferenceID | ||
| TranspOrdDocReferenceType | _FURItem | TranspOrdDocReferenceType | ||
| TranspOrdDocReferenceTypeDesc | ||||
| TranspOrdPlanningBlock | TranspOrdPlanningBlock | |||
| TranspOrdPlanningBlockDesc | ||||
| TranspOrdExecutionIsBlocked | TranspOrdExecutionIsBlocked | |||
| TranspOrdExecutionBlockDesc | ||||
| SourceLocation | _SourceStop | LocationId | ||
| SourceLocationLabel | ||||
| DestinationLocation | _DestinationStop | LocationId | ||
| DestinationLocationLabel | ||||
| clientNULLasTranspOrdSrceReqdStrtDte | ||||
| clientNULLasTranspOrdSrceReqdEndDte | ||||
| clientNULLasTranspOrdDestReqdStrtDte | ||||
| clientNULLasTranspOrdDestReqdEndDte | ||||
| IncotermsPart1 | _TranspOrdSummary | IncotermsPart1 | ||
| IncotermsPart2 | _TranspOrdSummary | IncotermsPart2 | ||
| TranspOrdShippingCondition | _FURItem | TranspOrdShippingCondition | ||
| TranspOrdShippingConditionDesc | ||||
| _SourceStop | _SourceStop | |||
| _DestinationStop | _DestinationStop | |||
| _TranspOrdSummary | _TranspOrdSummary | |||
| _TranspOrdPlanningStatus | _TranspOrdPlanningStatus | |||
| _TranspOrdLifeCycleStatus | _TranspOrdLifeCycleStatus | |||
| _TransportationOrderExecSts | _TransportationOrderExecSts | |||
| _TranspOrdDngrsGdsStatus | _TranspOrdDngrsGdsStatus | |||
| _TranspOrdPlanningBlock | _TranspOrdPlanningBlock | |||
| _TranspOrdExecutionIsBlocked | _TranspOrdExecutionIsBlocked | |||
| _SoldToParty | _SoldToParty | |||
| _SoldToPartyVH | _SoldToPartyVH | |||
| BusinessPartnerName | _SoldToParty | BusinessPartnerName | ||
| _FreightUnitVH | _FreightUnitVH | |||
| _TransportationOrderType | _TransportationOrderType |
@EndUserText.label: 'Freight Unit Management'
@ObjectModel: { representativeKey: 'TransportationOrderUUID',
semanticKey: ['FreightUnit'],
usageType: { serviceQuality: #C,
sizeCategory: #XL,
dataClass: #TRANSACTIONAL}}
@VDM: { viewType: #CONSUMPTION,
usage.type: [#TRANSACTIONAL_PROCESSING_SERVICE]}
@AccessControl: { authorizationCheck: #MANDATORY,
personalData.blocking:#('TRANSACTIONAL_DATA'),
privilegedAssociations: [ '_TranspOrdSummary',
'_SourceStop',
'_DestinationStop']}
@Metadata.allowExtensions: true
define root view entity C_FrtUnitManagement
as select from I_TransportationOrder
association [0..1] to E_TransportationOrder as _Extension on $projection.TransportationOrderUUID = _Extension.TransportationOrderUUID
association [0..1] to I_BusinessPartner as _SoldToParty on $projection.Consignee = _SoldToParty.BusinessPartner
association [0..1] to I_BusinessPartnerVH as _SoldToPartyVH on $projection.Consignee = _SoldToPartyVH.BusinessPartner
association [0..1] to I_FreightUnitVH as _FreightUnitVH on $projection.FreightUnit = _FreightUnitVH.FreightUnit
association [1..1] to I_TransportationOrderItem as _FURItem on $projection.TransportationOrderUUID = _FURItem.TransportationOrderUUID
and _FURItem.TranspOrdItemCategory = 'FUR'
{
// Root Attributes
key cast(TransportationOrderUUID as /scmtms/vdm_tor_db_key preserving type ) as TransportationOrderUUID,
TransportationOrder as FreightUnit,
@ObjectModel.text.element: ['TransportationOrderTypeDesc']
TransportationOrderType as TransportationOrderType,
@Semantics.text: true
I_TransportationOrder._TransportationOrderType._Text[1:Language = $session.system_language ].TransportationOrderTypeDesc as TransportationOrderTypeDesc,
PurchasingOrgExternalID as PurchasingOrgExternalID,
PurchasingGroupExternalID as PurchasingGroupExternalID,
cast(_PlngAndExecOrganization.OrganizationalUnitExternalID as /scmtms/exec_org_ext_id preserving type ) as PlngAndExecOrgExternalID,
cast(_PlngAndExecGroup.OrganizationalUnitExternalID as /scmtms/exec_grp_ext_id preserving type ) as PlngAndExecGroupExternalID,
// For Authorization
TranspOrdResponsiblePerson as TranspOrdResponsiblePerson,
// For Authorization
@ObjectModel.text.element: ['TransportationModeDesc']
TransportationMode as TransportationMode,
@Semantics.text: true
_TransportationMode._Text[1:Language = $session.system_language].TransportationModeDesc as TransportationModeDesc,
// For Authorization
TransportationOrderCategory as TransportationOrderCategory,
@Semantics.quantity.unitOfMeasure: 'TranspOrdGrossWeightUnit'
cast(TranspOrdGrossWeight as /scmtms/quantity_13_3 ) as TranspOrdGrossWeight,
TranspOrdGrossWeightUnit as TranspOrdGrossWeightUnit,
@Semantics.quantity.unitOfMeasure: 'TranspOrdGrossVolumeUnit'
cast(TranspOrdGrossVolume as /scmtms/quantity_13_3 ) as TranspOrdGrossVolume,
TranspOrdGrossVolumeUnit as TranspOrdGrossVolumeUnit,
@Semantics.quantity.unitOfMeasure: 'TranspOrdQuantityUnit'
cast(TranspOrdQuantity as /scmtms/quantity_13_3 ) as TranspOrdQuantity,
TranspOrdQuantityUnit as TranspOrdQuantityUnit,
@Semantics.quantity.unitOfMeasure: 'TranspOrdPalletSpacesUnit'
cast(TranspOrdPalletSpacesQty as /scmtms/quantity_13_3 ) as TranspOrdPalletSpacesQty,
TranspOrdPalletSpacesUnit as TranspOrdPalletSpacesUnit,
@Semantics.quantity.unitOfMeasure: 'TranspOrdLoadMetersUnit'
cast(TranspOrdLoadMetersQty as /scmtms/quantity_13_3 ) as TranspOrdLoadMetersQty,
TranspOrdLoadMetersUnit as TranspOrdLoadMetersUnit,
Shipper as Shipper,
@ObjectModel.foreignKey.association: '_SoldToParty'
Consignee as Consignee,
// Status
@ObjectModel.text.element: ['TranspOrdLifeCycleStatusDesc']
TranspOrdLifeCycleStatus as TranspOrdLifeCycleStatus,
//Life Cycle status with color coding
cast( case TranspOrdLifeCycleStatus
when '10' then 1
when '01' then 0
when '02' then 0
when '05' then 3
end as /scmtms/vdm_tor_lc_sts_critlty ) as TranspOrdLifeCycStsCritlty,
@Semantics.text: true
_TranspOrdLifeCycleStatus._Text[1:Language = $session.system_language ].TranspOrdLifeCycleStatusDesc as TranspOrdLifeCycleStatusDesc,
@ObjectModel.text.element: ['TranspOrdPlanningStatusDesc']
TranspOrdPlanningStatus as TranspOrdPlanningStatus,
@Semantics.text: true
_TranspOrdPlanningStatus._Text[1:Language = $session.system_language ].TranspOrdPlanningStatusDesc as TranspOrdPlanningStatusDesc,
@ObjectModel.text.element: ['TransportationOrderExecStsDesc']
TransportationOrderExecSts as TransportationOrderExecSts,
@Semantics.text: true
_TransportationOrderExecSts._Text[1:Language = $session.system_language ].TransportationOrderExecStsDesc as TransportationOrderExecStsDesc,
@ObjectModel.text.element: ['TranspOrderDngrsGdsStsDesc']
TranspOrderDngrsGdsSts as TranspOrderDngrsGdsSts,
@Semantics.text: true
_TranspOrdDngrsGdsStatus._Text[1:Language = $session.system_language ].TranspOrderDngrsGdsStsDesc as TranspOrderDngrsGdsStsDesc,
// Predecessor document type
_FURItem.TranspOrdDocReferenceID as TranspOrdDocReferenceID,
@ObjectModel.text.element: ['TranspOrdDocReferenceTypeDesc']
_FURItem.TranspOrdDocReferenceType as TranspOrdDocReferenceType,
@Semantics.text: true
_FURItem._BusTransDocTypeCode._Text[1:Language = $session.system_language ].BusinessTransactionDocTypeName as TranspOrdDocReferenceTypeDesc,
// Plannning Block
@ObjectModel.text.element: ['TranspOrdPlanningBlockDesc']
TranspOrdPlanningBlock as TranspOrdPlanningBlock,
@Semantics.text: true
_TranspOrdPlanningBlock._Text[1:Language = $session.system_language ].TranspOrdPlanningBlockDesc as TranspOrdPlanningBlockDesc,
// Execution Block
@ObjectModel.text.element: ['TranspOrdExecutionBlockDesc']
TranspOrdExecutionIsBlocked as TranspOrdExecutionIsBlocked,
@Semantics.text: true
_TranspOrdExecutionIsBlocked._Text[1:Language = $session.system_language ].TranspOrdExecutionBlockDesc as TranspOrdExecutionBlockDesc,
@ObjectModel.text.element: ['SourceLocationLabel']
_SourceStop.LocationId as SourceLocation,
@Semantics.text: true
_SourceStop._Locationdescr.AddressObjectDescription as SourceLocationLabel,
@ObjectModel.text.element: ['DestinationLocationLabel']
_DestinationStop.LocationId as DestinationLocation,
@Semantics.text: true
_DestinationStop._Locationdescr.AddressObjectDescription as DestinationLocationLabel,
// Dates & Times
//Earliest Start Date/Time at Source / Loading Location
cast( case when _SourceStop.TranspOrdStopReqStartDteTme <> 0 then _SourceStop.TranspOrdStopReqStartDteTme
else case when _SourceStop.TranspOrdStopAccptblStrtDteTme <> 0 then _SourceStop.TranspOrdStopAccptblStrtDteTme
else case when _SourceStop.TranspOrdStopAccptblEndDteTme <> 0 then _SourceStop.TranspOrdStopAccptblEndDteTme
else _SourceStop.TranspOrdStopReqEndDteTme
end
end
end as timestamp preserving type ) as TranspOrdSrceReqdStrtDteTme,
@Consumption.filter.selectionType: #INTERVAL
tstmp_to_dats( cast(
case when _SourceStop.TranspOrdStopReqStartDteTme <> 0 then _SourceStop.TranspOrdStopReqStartDteTme
else case when _SourceStop.TranspOrdStopAccptblStrtDteTme <> 0 then _SourceStop.TranspOrdStopAccptblStrtDteTme
else case when _SourceStop.TranspOrdStopAccptblEndDteTme <> 0 then _SourceStop.TranspOrdStopAccptblEndDteTme
else _SourceStop.TranspOrdStopReqEndDteTme
end
end
end as timestamp preserving type ),
abap_user_timezone( $session.user,$session.client,'NULL' ) , $session.client, 'NULL' ) as TranspOrdSrceReqdStrtDte,
//Latest End Date/Time at Source / Loading Location
cast( case when _SourceStop.TranspOrdStopReqEndDteTme <> 0 then _SourceStop.TranspOrdStopReqEndDteTme
else case when _SourceStop.TranspOrdStopAccptblEndDteTme <> 0 then _SourceStop.TranspOrdStopAccptblEndDteTme
else case when _SourceStop.TranspOrdStopAccptblStrtDteTme <> 0 then _SourceStop.TranspOrdStopAccptblStrtDteTme
else _SourceStop.TranspOrdStopReqStartDteTme
end
end
end as timestamp preserving type ) as TranspOrdSrceReqdEndDteTme,
@Consumption.filter.selectionType: #INTERVAL
tstmp_to_dats( cast(
case when _SourceStop.TranspOrdStopReqEndDteTme <> 0 then _SourceStop.TranspOrdStopReqEndDteTme
else case when _SourceStop.TranspOrdStopAccptblEndDteTme <> 0 then _SourceStop.TranspOrdStopAccptblEndDteTme
else case when _SourceStop.TranspOrdStopAccptblStrtDteTme <> 0 then _SourceStop.TranspOrdStopAccptblStrtDteTme
else _SourceStop.TranspOrdStopReqStartDteTme
end
end
end as timestamp preserving type ),
abap_user_timezone( $session.user,$session.client,'NULL' ) , $session.client, 'NULL' ) as TranspOrdSrceReqdEndDte,
//Earliest Start Date/Time at Destination / Unloading Location
cast( case when _DestinationStop.TranspOrdStopReqStartDteTme <> 0 then _DestinationStop.TranspOrdStopReqStartDteTme
else case when _DestinationStop.TranspOrdStopAccptblStrtDteTme <> 0 then _DestinationStop.TranspOrdStopAccptblStrtDteTme
else case when _DestinationStop.TranspOrdStopAccptblEndDteTme <> 0 then _DestinationStop.TranspOrdStopAccptblEndDteTme
else _DestinationStop.TranspOrdStopReqEndDteTme
end
end
end as timestamp preserving type ) as TranspOrdDestReqdStrtDteTme,
@Consumption.filter.selectionType: #INTERVAL
tstmp_to_dats( cast(
case when _DestinationStop.TranspOrdStopReqStartDteTme <> 0 then _DestinationStop.TranspOrdStopReqStartDteTme
else case when _DestinationStop.TranspOrdStopAccptblStrtDteTme <> 0 then _DestinationStop.TranspOrdStopAccptblStrtDteTme
else case when _DestinationStop.TranspOrdStopAccptblEndDteTme <> 0 then _DestinationStop.TranspOrdStopAccptblEndDteTme
else _DestinationStop.TranspOrdStopReqEndDteTme
end
end
end as timestamp preserving type ),
abap_user_timezone( $session.user,$session.client,'NULL' ) , $session.client, 'NULL' ) as TranspOrdDestReqdStrtDte,
//Latest End Date/Time at Destination / Unloading Location
cast( case when _DestinationStop.TranspOrdStopReqEndDteTme <> 0 then _DestinationStop.TranspOrdStopReqEndDteTme
else case when _DestinationStop.TranspOrdStopAccptblEndDteTme <> 0 then _DestinationStop.TranspOrdStopAccptblEndDteTme
else case when _DestinationStop.TranspOrdStopAccptblStrtDteTme <> 0 then _DestinationStop.TranspOrdStopAccptblStrtDteTme
else _DestinationStop.TranspOrdStopReqStartDteTme
end
end
end as timestamp preserving type ) as TranspOrdDestReqdEndDteTme,
@Consumption.filter.selectionType: #INTERVAL
tstmp_to_dats( cast(
case when _DestinationStop.TranspOrdStopReqEndDteTme <> 0 then _DestinationStop.TranspOrdStopReqEndDteTme
else case when _DestinationStop.TranspOrdStopAccptblEndDteTme <> 0 then _DestinationStop.TranspOrdStopAccptblEndDteTme
else case when _DestinationStop.TranspOrdStopAccptblStrtDteTme <> 0 then _DestinationStop.TranspOrdStopAccptblStrtDteTme
else _DestinationStop.TranspOrdStopReqStartDteTme
end
end
end as timestamp preserving type ),
abap_user_timezone( $session.user,$session.client,'NULL' ) , $session.client, 'NULL' ) as TranspOrdDestReqdEndDte,
// Summary
_TranspOrdSummary.IncotermsPart1 as IncotermsPart1,
_TranspOrdSummary.IncotermsPart2 as IncotermsPart2,
@ObjectModel.text.element: ['TranspOrdShippingConditionDesc']
_FURItem.TranspOrdShippingCondition as TranspOrdShippingCondition,
@Semantics.text: true
_FURItem._ShippingCondition._Text[1:Language = $session.system_language ].ShippingConditionName as TranspOrdShippingConditionDesc,
@Consumption.filter.hidden: true
_SourceStop,
@Consumption.filter.hidden: true
_DestinationStop,
@Consumption.filter.hidden: true
_TranspOrdSummary,
@Consumption.filter.hidden: true
_TranspOrdPlanningStatus,
@Consumption.filter.hidden: true
_TranspOrdLifeCycleStatus,
@Consumption.filter.hidden: true
_TransportationOrderExecSts,
@Consumption.filter.hidden: true
_TranspOrdDngrsGdsStatus,
@Consumption.filter.hidden: true
_TranspOrdPlanningBlock,
@Consumption.filter.hidden: true
_TranspOrdExecutionIsBlocked,
@Consumption.filter.hidden: true
_SoldToParty,
@Consumption.filter.hidden: true
_SoldToPartyVH,
@UI.hidden: true
_SoldToParty.BusinessPartnerName,
@Consumption.filter.hidden: true
_FreightUnitVH,
_TransportationOrderType
}
where
TransportationOrderCategory = 'FU'
and TransportationOrder is not initial
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