I_FreightUnitTP is a Transactional CDS View that provides data about "Freight Unit - TP" in SAP S/4HANA. It reads from 1 data source (R_TransportationOrderTP) and exposes 25 fields with key field TransportationOrderUUID.
@EndUserText.label: 'Freight Unit - TP'
@VDM: {
lifecycle.contract.type: #PUBLIC_LOCAL_API,
viewType: #TRANSACTIONAL
}@ObjectModel: {
supportedCapabilities: [#TRANSACTIONAL_PROVIDER],
usageType: {
sizeCategory: #L,
serviceQuality: #C,
dataClass: #TRANSACTIONAL
},
semanticKey: ['TransportationOrder'],
representativeKey: 'TransportationOrderUUID',
sapObjectNodeType.name: 'FreightUnit'
}
@Metadata.ignorePropagatedAnnotations: true@AccessControl.authorizationCheck: #MANDATORYdefine root viewentity I_FreightUnitTP
provider contract transactional_query
as projection on R_TransportationOrderTP as FreightUnit
{
/* Attributes */// Identification
key TransportationOrderUUID,
TransportationOrder,
// Key Characteristics
TransportationOrderType,
TransportationOrderCategory,
TransportationMode,
TransportationModeCategory,
// Parties
ShipperUUID,
Shipper,
ShipperAddressID,
ConsigneeUUID,
Consignee,
ConsigneeAddressID,
// Further Attributes
TranspOrdResponsiblePerson,
// Status
TranspOrdLifeCycleStatus,
TranspOrderDngrsGdsSts,
TranspOrdPlanningBlock,
@Semantics.booleanIndicator
TranspOrdExecutionIsBlocked,
TranspOrdGoodsMovementStatus,
// Administrative Data
TransportationOrderCrtnType,
CreatedByUser,
CreationDateTime,
LastChangedByUser,
ChangedDateTime,
/* The (generic) access control definition of R_TransportationOrderTP uses the (generic) authorization object
* T_TOR_PUR which contains the authorization fields TranspPurgOrgExtID and TranspPurgGroupExtID.
* The projection views shall inherit the access control definition of the underlying transactional processing
* viewand it is (currently) not possible to declare elements as optional which are part of a path expression
* such as such as _TransportationOrder.TranspPurgOrgExtID
* This requires, that the elements TranspPurgOrgExtID and TranspPurgGroupExtID must be (technically) defined on
* I_FreightUnitTP and at the same time hidden from the consumer
*/@Consumption.hidden:true
TranspPurgOrgExtID,
@Consumption.hidden:true
TranspPurgGroupExtID,
/* Redirections */
FreightUnit._TransportationOrderBP as _FreightUnitBusinessPartner : redirected to composition child I_FreightUnitBusinessPartnerTP,
FreightUnit._TranspOrdDocumentReference as _FreightUnitDocumentReference : redirected to composition child I_FreightUnitDocRefTP,
FreightUnit._TransportationOrderItem as _FreightUnitItem : redirected to composition child I_FreightUnitItemTP,
FreightUnit._TransportationOrderStop as _FreightUnitStop : redirected to composition child I_FreightUnitStopTP,
FreightUnit._TrOrdMainBPAddrDfltRprstn as _FrtUnitMainBPAddrDfltRprstn : redirected to composition child I_FrtUntMainBPAddrDfltRprstnTP,
/* Association redirections */
FreightUnit._ShipperAddrDfltRprstn as _ShipperAddrDfltRprstn : redirected to I_FrtUntMainBPAddrDfltRprstnTP,
FreightUnit._ConsigneeAddrDfltRprstn as _ConsigneeAddrDfltRprstn : redirected to I_FrtUntMainBPAddrDfltRprstnTP
// FreightUnit._CarrierAddrDfltRprstn as _CarrierAddrDfltRprstn : redirected to I_FrtUntMainBPAddrDfltRprstnTP,
// FreightUnit._ExectgCarrierAddrDfltRprstn as _ExectgCarrierAddrDfltRprstn : redirected to I_FrtUntMainBPAddrDfltRprstnTP
}
where
TransportationOrderCategory = 'FU'