@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #MANDATORY
@EndUserText.label: 'Kit Outbound Delivery Item Reference Document'
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType:{
serviceQuality: #D,
sizeCategory: #XXL,
dataClass: #MIXED
}
@VDM.viewType: #COMPOSITE
define view entity I_FldLogsKitOutbDelivItmRef
as select from I_FieldLogisticsKitItem as kititem
// Delivery item with indirect reference to PO via STR
inner join I_FldLogsDeliveryDocItem as _DeliveryDocumentItem on _DeliveryDocumentItem.DeliveryDocument = kititem.FldLogsKitItmRefDocument1
and _DeliveryDocumentItem.DeliveryDocumentItem = kititem.FldLogsKitItmRefDocument2
inner join I_PurchasingDocumentItem as _stockreq on _DeliveryDocumentItem.ReferenceSDDocument = _stockreq.PurchasingDocument
and _DeliveryDocumentItem.PurchasingDocumentItem = _stockreq.PurchasingDocumentItem
left outer to one join I_FldLogsExtLinksStkTranspReqn as _Doclinks on _stockreq.PurchaseRequisition = _Doclinks.RefPurchaseRequisition
and _stockreq.PurchaseRequisitionItem = _Doclinks.RefPurchaseRequisitionItem
left outer to one join I_PurchaseOrderItem as PO on _Doclinks.PurchaseRequisition = PO.PurchaseRequisition
and _Doclinks.PurchaseRequisitionItem = PO.PurchaseRequisitionItem
{
key kititem.FieldLogisticsKitItemUUID as FieldLogisticsKitItemUUID,
key kititem.FieldLogisticsKitHeaderUUID as FieldLogisticsKitHeaderUUID,
case when PO.PurchaseOrder is not null then PO.PurchaseOrder
else _DeliveryDocumentItem.ReferenceSDDocument end as PurchasingDocument,
case when PO.PurchaseOrder is not null then PO.PurchaseOrderItem
else _DeliveryDocumentItem.PurchasingDocumentItem end as PurchasingDocumentItem,
@Semantics.quantity.unitOfMeasure: 'DeliveryQuantityUnit'
_DeliveryDocumentItem.ActualDeliveryQuantity,
_DeliveryDocumentItem.DeliveryQuantityUnit
}
where
kititem.FldLogsReferenceDocCategory = 'OD'
and _stockreq.PurchasingDocument <> ''
and(
kititem.FldLogsKitItmRefDocument1UUID is null
or kititem.FldLogsKitItmRefDocument1UUID = hextobin( '00000000000000000000000000000000' )
)
union select from I_FieldLogisticsKitItem as kititem
//Get STO from Material Document
association [1] to I_FldLogsKitOutbDelivGRRef as _DeliveryItem on kititem.FldLogsKitItmRefDocument1 = _DeliveryItem.DeliveryDocument
and kititem.FldLogsKitItmRefDocument2 = _DeliveryItem.DeliveryDocumentItem
{
key FieldLogisticsKitItemUUID as FieldLogisticsKitItemUUID,
key FieldLogisticsKitHeaderUUID as FieldLogisticsKitHeaderUUID,
_DeliveryItem.PurchasingDocument,
_DeliveryItem.PurchasingDocumentItem,
_DeliveryItem.ActualDeliveryQuantity,
_DeliveryItem.DeliveryQuantityUnit
}
where
kititem.FldLogsReferenceDocCategory = 'OD'
and(
kititem.FldLogsKitItmRefDocument1UUID is null
or kititem.FldLogsKitItmRefDocument1UUID = hextobin( '00000000000000000000000000000000' )
)
union select from I_FieldLogisticsKitItem as kititem
// Delivery item without reference
association [1] to I_FldLogsSupplierItem as _SupplierItem on kititem.FldLogsKitItmRefDocument1UUID = _SupplierItem.FldLogsSuplrItemUUID
association [1] to I_DeliveryDocumentItem as _DeliveryItem on kititem.FldLogsKitItmRefDocument1 = _DeliveryItem.DeliveryDocument
and kititem.FldLogsKitItmRefDocument2 = _DeliveryItem.DeliveryDocumentItem
{
key FieldLogisticsKitItemUUID as FieldLogisticsKitItemUUID,
key FieldLogisticsKitHeaderUUID as FieldLogisticsKitHeaderUUID,
cast( substring(_SupplierItem.FldLogsSuplrItmPOItmUniqueID, 1, 10) as ebeln preserving type ) as PurchasingDocument,
cast( substring(_SupplierItem.FldLogsSuplrItmPOItmUniqueID, 12, 16) as ebelp ) as PurchasingDocumentItem,
_DeliveryItem.ActualDeliveryQuantity,
_DeliveryItem.DeliveryQuantityUnit
}
where
kititem.FldLogsReferenceDocCategory = 'OD'
and kititem.FldLogsKitItmRefDocument1UUID is not null
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_DELIVERYDOCUMENTITEM",
"I_FIELDLOGISTICSKITITEM",
"I_FLDLOGSDELIVERYDOCITEM",
"I_FLDLOGSEXTLINKSSTKTRANSPREQN",
"I_FLDLOGSKITOUTBDELIVGRREF",
"I_FLDLOGSSUPPLIERITEM",
"I_PURCHASEORDERITEM",
"I_PURCHASINGDOCUMENTITEM"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/