C_FrtUnitManagement

DDL: C_FRTUNITMANAGEMENT Type: view_entity CONSUMPTION Package: CVIEW_TM_FU_MNG

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)

SourceAliasJoin Type
I_TransportationOrder I_TransportationOrder from

Associations (5)

CardinalityTargetAliasCondition
[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)

NameValueLevelField
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)

ServiceBindingVersionContractRelease
UI_FRTUNITMANAGEMENT UI_FRTUNITMANAGEMENT V2 C1 NOT_RELEASED

Fiori Apps (1)

App IDApp NameTypeDescription
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)

KeyFieldSource TableSource FieldDescription
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