@AbapCatalog.sqlViewName: 'AOUTBDELIVERYH1'
@AbapCatalog.compiler.compareFilter: true
@Metadata.ignorePropagatedAnnotations: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.lifecycle.contract.type:#PUBLIC_REMOTE_API
@EndUserText.label: 'CDS view for API exposure'
@AccessControl.authorizationCheck:#CHECK
@AccessControl.personalData.blocking: #('TRANSACTIONAL_DATA')
@VDM.viewType: #BASIC
@ObjectModel: {
compositionRoot:true,
usageType.dataClass: #TRANSACTIONAL,
usageType.serviceQuality: #B,
usageType.sizeCategory: #L
}
define view A_OutbDeliveryHeader_1
as select from I_DeliveryDocument
association [0..*] to A_OutbDeliveryItem_1 as _DeliveryDocumentItem on _DeliveryDocumentItem.DeliveryDocument = $projection.DeliveryDocument
association [1..*] to A_OutbDeliveryPartner_1 as _DeliveryDocumentPartner on _DeliveryDocumentPartner.SDDocument = $projection.DeliveryDocument
association [0..1] to A_Supplier as _AuthSupplier on $projection.Supplier = _AuthSupplier.Supplier
association [0..*] to A_HandlingUnitHeaderDelivery as _HandlingUnitHeader on _HandlingUnitHeader.DeliveryDocument = $projection.DeliveryDocument
//Extensibility
association [0..1] to E_DeliveryDocument as _Extension on $projection.DeliveryDocument = _Extension.DeliveryDocument
{
key I_DeliveryDocument.DeliveryDocument,
@ObjectModel.sapObjectNodeTypeReference: 'SDDocumentCategory'
I_DeliveryDocument.SDDocumentCategory,
@ObjectModel.sapObjectNodeTypeReference: 'DeliveryDocumentType'
I_DeliveryDocument.DeliveryDocumentType,
I_DeliveryDocument.CreatedByUser,
tstmp_to_dats(
dats_tims_to_tstmp(
I_DeliveryDocument.CreationDate,
I_DeliveryDocument.CreationTime,
abap_system_timezone( $session.client, 'NULL'),
$session.client,
'NULL'
),
'UTC',
$session.client,
'NULL'
) as CreationDate,
tstmp_to_tims(
dats_tims_to_tstmp(
I_DeliveryDocument.CreationDate,
I_DeliveryDocument.CreationTime,
abap_system_timezone( $session.client, 'NULL'),
$session.client,
'NULL'
),
'UTC',
$session.client,
'NULL'
) as CreationTime,
I_DeliveryDocument.LastChangedByUser,
I_DeliveryDocument.LastChangeDate,
@ObjectModel.sapObjectNodeTypeReference: 'ShippingPoint'
I_DeliveryDocument.ShippingPoint,
I_DeliveryDocument.SalesOrganization,
I_DeliveryDocument.SalesOffice,
I_DeliveryDocument.CompleteDeliveryIsDefined,
I_DeliveryDocument.OrderCombinationIsAllowed,
@ObjectModel.sapObjectNodeTypeReference: 'DeliveryPriority'
I_DeliveryDocument.DeliveryPriority,
@ObjectModel.sapObjectNodeTypeReference: 'DeliveryBlockReason'
I_DeliveryDocument.DeliveryBlockReason,
I_DeliveryDocument.Supplier,
I_DeliveryDocument.DeliveryDocumentBySupplier,
I_DeliveryDocument.DeliveryIsInPlant,
I_DeliveryDocument.ReceivingPlant,
I_DeliveryDocument.Warehouse,
I_DeliveryDocument.IsExportDelivery,
I_DeliveryDocument.OrderID,
@Semantics.quantity.unitOfMeasure: 'HeaderWeightUnit'
I_DeliveryDocument.HeaderGrossWeight,
@Semantics.quantity.unitOfMeasure: 'HeaderWeightUnit'
I_DeliveryDocument.HeaderNetWeight,
@ObjectModel.sapObjectNodeTypeReference: 'UnitOfMeasure'
@Semantics.unitOfMeasure: true
I_DeliveryDocument.HeaderWeightUnit,
@Semantics.quantity.unitOfMeasure: 'HeaderVolumeUnit'
I_DeliveryDocument.HeaderVolume,
@ObjectModel.sapObjectNodeTypeReference: 'UnitOfMeasure'
@Semantics.unitOfMeasure: true
I_DeliveryDocument.HeaderVolumeUnit,
@ObjectModel.sapObjectNodeTypeReference: 'SingleWarehouseDeliveryCode'
I_DeliveryDocument.IsDeliveryForSingleWarehouse,
I_DeliveryDocument.GoodsIssueOrReceiptSlipNumber,
I_DeliveryDocument.WarehouseGate,
I_DeliveryDocument.WarehouseStagingArea,
I_DeliveryDocument.MeansOfTransportRefMaterial,
I_DeliveryDocument.SpecialProcessingCode,
@ObjectModel.sapObjectNodeTypeReference: 'DelivDocSuplrIdnType'
I_DeliveryDocument.ExternalIdentificationType,
I_DeliveryDocument.DeliveryVersion,
I_DeliveryDocument.PickedItemsLocation,
I_DeliveryDocument.DocumentDate,
tstmp_to_dats(
dats_tims_to_tstmp(
I_DeliveryDocument.PickingDate,
I_DeliveryDocument.PickingTime,
I_DeliveryDocument.ShippingLocationTimeZone,
$session.client,
'NULL'
),
'UTC',
$session.client,
'NULL'
) as PickingDate,
tstmp_to_tims(
dats_tims_to_tstmp(
I_DeliveryDocument.PickingDate,
I_DeliveryDocument.PickingTime,
I_DeliveryDocument.ShippingLocationTimeZone,
$session.client,
'NULL'
),
'UTC',
$session.client,
'NULL'
) as PickingTime,
I_DeliveryDocument.TotalNumberOfPackage,
@ObjectModel.sapObjectNodeTypeReference: 'LoadingPoint'
I_DeliveryDocument.LoadingPoint,
tstmp_to_dats(
dats_tims_to_tstmp(
I_DeliveryDocument.LoadingDate,
I_DeliveryDocument.LoadingTime,
I_DeliveryDocument.ShippingLocationTimeZone,
$session.client,
'NULL'
),
'UTC',
$session.client,
'NULL'
) as LoadingDate,
tstmp_to_tims(
dats_tims_to_tstmp(
I_DeliveryDocument.LoadingDate,
I_DeliveryDocument.LoadingTime,
I_DeliveryDocument.ShippingLocationTimeZone,
$session.client,
'NULL'
),
'UTC',
$session.client,
'NULL'
) as LoadingTime,
I_DeliveryDocument.BillOfLading,
@ObjectModel.sapObjectNodeTypeReference: 'HandlingUnitInStock'
I_DeliveryDocument.HandlingUnitInStock,
I_DeliveryDocument.ShipToParty,
I_DeliveryDocument.ShippingType,
tstmp_to_dats(
dats_tims_to_tstmp(
I_DeliveryDocument.DeliveryDate,
I_DeliveryDocument.DeliveryTime,
I_DeliveryDocument.ReceivingLocationTimeZone,
$session.client,
'NULL'
),
'UTC',
$session.client,
'NULL'
) as DeliveryDate,
tstmp_to_tims(
dats_tims_to_tstmp(
I_DeliveryDocument.DeliveryDate,
I_DeliveryDocument.DeliveryTime,
I_DeliveryDocument.ReceivingLocationTimeZone,
$session.client,
'NULL'
),
'UTC',
$session.client,
'NULL'
) as DeliveryTime,
I_DeliveryDocument.ShippingCondition,
I_DeliveryDocument.ShipmentBlockReason,
tstmp_to_dats(
dats_tims_to_tstmp(
I_DeliveryDocument.TransportationPlanningDate,
I_DeliveryDocument.TransportationPlanningTime,
I_DeliveryDocument.ShippingLocationTimeZone,
$session.client,
'NULL'
),
'UTC',
$session.client,
'NULL'
) as TransportationPlanningDate,
tstmp_to_tims(
dats_tims_to_tstmp(
I_DeliveryDocument.TransportationPlanningDate,
I_DeliveryDocument.TransportationPlanningTime,
I_DeliveryDocument.ShippingLocationTimeZone,
$session.client,
'NULL'
),
'UTC',
$session.client,
'NULL'
) as TransportationPlanningTime,
I_DeliveryDocument.ProposedDeliveryRoute,
I_DeliveryDocument.ActualDeliveryRoute,
I_DeliveryDocument.RouteSchedule,
tstmp_to_dats(
dats_tims_to_tstmp(
I_DeliveryDocument.PlannedGoodsIssueDate,
I_DeliveryDocument.GoodsIssueTime,
I_DeliveryDocument.ShippingLocationTimeZone,
$session.client,
'NULL'
),
'UTC',
$session.client,
'NULL'
) as PlannedGoodsIssueDate,
tstmp_to_tims(
dats_tims_to_tstmp(
I_DeliveryDocument.PlannedGoodsIssueDate,
I_DeliveryDocument.GoodsIssueTime,
I_DeliveryDocument.ShippingLocationTimeZone,
$session.client,
'NULL'
),
'UTC',
$session.client,
'NULL'
) as GoodsIssueTime,
tstmp_to_dats(
dats_tims_to_tstmp(
I_DeliveryDocument.ActualGoodsMovementDate,
I_DeliveryDocument.ActualGoodsMovementTime,
I_DeliveryDocument.ShippingLocationTimeZone,
$session.client,
'NULL'
),
'UTC',
$session.client,
'NULL'
) as ActualGoodsMovementDate,
tstmp_to_tims(
dats_tims_to_tstmp(
I_DeliveryDocument.ActualGoodsMovementDate,
I_DeliveryDocument.ActualGoodsMovementTime,
I_DeliveryDocument.ShippingLocationTimeZone,
$session.client,
'NULL'
),
'UTC',
$session.client,
'NULL'
) as ActualGoodsMovementTime,
@ObjectModel.sapObjectNodeTypeReference: 'IncotermsClassification'
I_DeliveryDocument.IncotermsClassification,
I_DeliveryDocument.IncotermsTransferLocation,
I_DeliveryDocument.ExternalTransportSystem,
I_DeliveryDocument.TransportationGroup,
I_DeliveryDocument.MeansOfTransport,
@ObjectModel.sapObjectNodeTypeReference: 'MeansOfTransportType'
I_DeliveryDocument.MeansOfTransportType,
I_DeliveryDocument.UnloadingPointName,
tstmp_to_dats(
dats_tims_to_tstmp(
I_DeliveryDocument.ProofOfDeliveryDate,
I_DeliveryDocument.ConfirmationTime,
I_DeliveryDocument.ReceivingLocationTimeZone,
$session.client,
'NULL'
),
'UTC',
$session.client,
'NULL'
) as ProofOfDeliveryDate,
tstmp_to_tims(
dats_tims_to_tstmp(
I_DeliveryDocument.ProofOfDeliveryDate,
I_DeliveryDocument.ConfirmationTime,
I_DeliveryDocument.ReceivingLocationTimeZone,
$session.client,
'NULL'
),
'UTC',
$session.client,
'NULL'
) as ConfirmationTime,
@ObjectModel.sapObjectNodeTypeReference: 'FactoryCalendar'
I_DeliveryDocument.FactoryCalendarByCustomer,
I_DeliveryDocument.IntercompanyBillingDate,
I_DeliveryDocument.BillingDocumentDate,
@ObjectModel.sapObjectNodeTypeReference: 'BillingBlockReason'
I_DeliveryDocument.HeaderBillingBlockReason,
I_DeliveryDocument.InternalFinancialDocument,
@ObjectModel.sapObjectNodeTypeReference: 'PaymentGuaranteeProcedure'
I_DeliveryDocument.PaymentGuaranteeProcedure,
I_DeliveryDocument.DepreciationPercentage,
I_DeliveryDocument.SoldToParty,
@ObjectModel.sapObjectNodeTypeReference: 'CustomerGroup'
I_DeliveryDocument.CustomerGroup,
I_DeliveryDocument.SalesDistrict,
@ObjectModel.sapObjectNodeTypeReference: 'Currency'
@Semantics.currencyCode: true
I_DeliveryDocument.TransactionCurrency,
@ObjectModel.sapObjectNodeTypeReference: 'Currency'
@Semantics.currencyCode: true
I_DeliveryDocument.StatisticsCurrency,
I_DeliveryDocument.OverallIntcoBillingStatus,
@ObjectModel.sapObjectNodeTypeReference: 'OverallSDProcessStatus'
I_DeliveryDocument.OverallSDProcessStatus,
I_DeliveryDocument.TotalBlockStatus,
@ObjectModel.sapObjectNodeTypeReference: 'SalesDocOverallDelivConfStatus'
I_DeliveryDocument.OverallDelivConfStatus,
I_DeliveryDocument.TransportationPlanningStatus,
@ObjectModel.sapObjectNodeTypeReference: 'OverallPickConfirmationStatus'
I_DeliveryDocument.OverallPickingConfStatus,
@ObjectModel.sapObjectNodeTypeReference: 'OverallPickStatus'
I_DeliveryDocument.OverallPickingStatus,
@ObjectModel.sapObjectNodeTypeReference: 'OverallPackingStatus'
I_DeliveryDocument.OverallPackingStatus,
I_DeliveryDocument.OverallWarehouseActivityStatus,
@ObjectModel.sapObjectNodeTypeReference: 'DistrStatusByDecentralizedWrhs'
I_DeliveryDocument.DistrStatusByDecentralizedWrhs,
@ObjectModel.sapObjectNodeTypeReference: 'OverallGoodsMovementStatus'
I_DeliveryDocument.OverallGoodsMovementStatus,
I_DeliveryDocument.OverallDelivReltdBillgStatus,
@ObjectModel.sapObjectNodeTypeReference: 'OverallProofOfDeliveryStatus'
I_DeliveryDocument.OverallProofOfDeliveryStatus,
@ObjectModel.sapObjectNodeTypeReference: 'SlsDocGenIncompletionStatus'
I_DeliveryDocument.HdrGeneralIncompletionStatus,
@ObjectModel.sapObjectNodeTypeReference: 'SDDocDelivIncompletionStatus'
I_DeliveryDocument.HeaderDelivIncompletionStatus,
@ObjectModel.sapObjectNodeTypeReference: 'HeaderPickIncompletionStatus'
I_DeliveryDocument.HeaderPickgIncompletionStatus,
@ObjectModel.sapObjectNodeTypeReference: 'HeaderPackingIncompletionSts'
I_DeliveryDocument.HeaderPackingIncompletionSts,
@ObjectModel.sapObjectNodeTypeReference: 'HdrGoodsMvtIncompletionStatus'
I_DeliveryDocument.HdrGoodsMvtIncompletionStatus,
@ObjectModel.sapObjectNodeTypeReference: 'SDDocBillgIncompletionStatus'
I_DeliveryDocument.HeaderBillgIncompletionStatus,
@ObjectModel.sapObjectNodeTypeReference: 'SlsDocOvrlItmGenIncompltnSts'
I_DeliveryDocument.OvrlItmGeneralIncompletionSts,
@ObjectModel.sapObjectNodeTypeReference: 'OvrlItmPackingIncompletionSts'
I_DeliveryDocument.OvrlItmPackingIncompletionSts,
@ObjectModel.sapObjectNodeTypeReference: 'OvrlItmPickIncompletionSts'
I_DeliveryDocument.OvrlItmPickingIncompletionSts,
@ObjectModel.sapObjectNodeTypeReference: 'SlsDocOvrlItmDelivIncompltnSts'
I_DeliveryDocument.OvrlItmDelivIncompletionSts,
@ObjectModel.sapObjectNodeTypeReference: 'OvrlItmGdsMvtIncompletionSts'
I_DeliveryDocument.OvrlItmGdsMvtIncompletionSts,
@ObjectModel.sapObjectNodeTypeReference: 'TotalCreditCheckStatus'
I_DeliveryDocument.TotalCreditCheckStatus,
I_DeliveryDocument.ShippingLocationTimeZone,
I_DeliveryDocument.ReceivingLocationTimeZone,
/* Associations */
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_DeliveryDocumentItem,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_DeliveryDocumentPartner,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_HandlingUnitHeader,
//only for DCL
@Consumption.hidden: true
_AuthSupplier
}
where
I_DeliveryDocument.SDDocumentCategory = 'J';