C_FldLogsProcessReceiptsTP

DDL: C_FLDLOGSPROCESSRECEIPTSTP Type: view_entity CONSUMPTION

Field Logistics : Process Receipts

C_FldLogsProcessReceiptsTP is a Consumption CDS View that provides data about "Field Logistics : Process Receipts" in SAP S/4HANA. It reads from 1 data source (R_FldLogsProcessReceiptsTP) and exposes 144 fields with key fields PurchasingDocument, PurchasingDocumentItem, DeliveryDocument, DeliveryDocumentItem, MaterialDocument. It has 12 associations to related views. It is exposed through 1 OData service (UI_PROCESS_RECEIPTS). It is used in 1 Fiori application: Process Receipt.

Data Sources (1)

SourceAliasJoin Type
R_FldLogsProcessReceiptsTP R_FldLogsProcessReceiptsTP projection

Associations (12)

CardinalityTargetAliasCondition
[0..*] C_FldLogsFailedRcptInfoTP _FailedReceiptError $projection.FldLogsItmIsFailed is not initial and $projection.PurchasingDocument = _FailedReceiptError.PurchasingDocument and $projection.PurchasingDocumentItem = _FailedReceiptError.PurchasingDocumentItem and $projection.DeliveryDocument = _FailedReceiptError.DeliveryDocument and $projection.DeliveryDocumentItem = _FailedReceiptError.DeliveryDocumentItem and $projection.FldLogsSuplrItemUUID = _FailedReceiptError.FldLogsSuplrItemUUID
[1..*] C_FldLogsSrlNmbrItems _SerialNumberItem $projection.MaterialDocument = _SerialNumberItem.MaterialDocument and $projection.MaterialDocumentItem = _SerialNumberItem.MaterialDocumentItem and $projection.MaterialDocumentYear = _SerialNumberItem.MaterialDocumentYear
[1..*] C_FldLogsMaintObjListDelivPO _MaintObjListDelivPO ( $projection.DeliveryDocument = _MaintObjListDelivPO.DeliveryDocument and $projection.DeliveryDocumentItem = _MaintObjListDelivPO.DeliveryDocumentItem ) or ( $projection.PurchasingDocument = _MaintObjListDelivPO.PurchaseOrder and $projection.PurchasingDocumentItem = _MaintObjListDelivPO.PurchaseOrderItem and $projection.DeliveryDocument is initial )
[0..*] C_FldLogsHandlingUnits _HandlingUnit ( $projection.DeliveryDocument is not initial and $projection.DeliveryDocument = _HandlingUnit.DeliveryDocument and $projection.DeliveryDocumentItem = _HandlingUnit.DeliveryDocumentItem ) or ( $projection.HandlingUnitExternalID = _HandlingUnit.HandlingUnitExternalID )
[0..*] C_FldLogsWhseTaskInfo _FldLogsWarehouseTasks ( $projection.DeliveryDocument is not initial and $projection.DeliveryDocument = _FldLogsWarehouseTasks.DeliveryDocument and $projection.DeliveryDocumentItem = _FldLogsWarehouseTasks.DeliveryDocumentItem ) or ( $projection.FldLogsSuplrItemUUID = _FldLogsWarehouseTasks.FldLogsSuplrItemUUID and _FldLogsWarehouseTasks.IsHandlingUnitWarehouseTask is not initial and $projection.FldLogsIsSupplierItem is not initial )
[0..1] C_FldLogsPrdcssrDocRemote _Predecessor $projection.PurchasingDocument = _Predecessor.PurchasingDocument and $projection.PurchasingDocumentItem = _Predecessor.PurchasingDocumentItem and $projection.DeliveryDocument = _Predecessor.DeliveryDocument and $projection.DeliveryDocumentItem = _Predecessor.DeliveryDocumentItem and $projection.FldLogsSuplrItemUUID = _Predecessor.FldLogsSuplrItemUUID
[0..1] C_FldLogsProcRcptFollowOnDocs _FollowOnDoc $projection.PurchasingDocument = _FollowOnDoc.PurchasingDocument and $projection.PurchasingDocumentItem = _FollowOnDoc.PurchasingDocumentItem and $projection.DeliveryDocument = _FollowOnDoc.DeliveryDocument and $projection.DeliveryDocumentItem = _FollowOnDoc.DeliveryDocumentItem and $projection.FldLogsSuplrItmMatlDoc = _FollowOnDoc.MaterialDocument and $projection.GoodsMovementItem = _FollowOnDoc.MaterialDocumentItem and $projection.GoodsMovementYear = _FollowOnDoc.MaterialDocumentYear and $projection.FldLogsSuplrItemUUID = _FollowOnDoc.FldLogsSuplrItemUUID
[0..*] C_FldLogsStockTransportOrder _StockTransOrders $projection.PurchasingDocument = _StockTransOrders.PurchasingDocument and $projection.PurchasingDocumentItem = _StockTransOrders.PurchasingDocumentItem and $projection.FldLogsSuplrItmMatlDoc = _StockTransOrders.MaterialDocument and $projection.GoodsMovementItem = _StockTransOrders.MaterialDocumentItem and $projection.GoodsMovementYear = _StockTransOrders.MaterialDocumentYear
[0..*] C_FldLogsOutbDelivInfo _FldLogsOutbDelivery $projection.PurchasingDocument = _FldLogsOutbDelivery.PurchasingDocument and $projection.PurchasingDocumentItem = _FldLogsOutbDelivery.PurchasingDocumentItem and $projection.DeliveryDocument = _FldLogsOutbDelivery.DeliveryDocument and $projection.DeliveryDocumentItem = _FldLogsOutbDelivery.DeliveryDocumentItem and $projection.FldLogsSuplrItmMatlDoc = _FldLogsOutbDelivery.MaterialDocument and $projection.GoodsMovementItem = _FldLogsOutbDelivery.MaterialDocumentItem and $projection.GoodsMovementYear = _FldLogsOutbDelivery.MaterialDocumentYear and $projection.FldLogsSuplrItemUUID = _FldLogsOutbDelivery.FldLogsSuplrItemUUID
[0..*] C_FldLogsOutbDelivAtRmteInfo _PredecessorOutbDelivery $projection.PurchasingDocument = _PredecessorOutbDelivery.PurchasingDocument and $projection.PurchasingDocumentItem = _PredecessorOutbDelivery.PurchasingDocumentItem and $projection.DeliveryDocument = _PredecessorOutbDelivery.OutboundDelivery and $projection.DeliveryDocumentItem = _PredecessorOutbDelivery.OutboundDeliveryItem and $projection.FldLogsSuplrItemUUID = _PredecessorOutbDelivery.FldLogsSuplrItemUUID
[0..*] C_FldLogsContainerInfo _ContainerInfo ( $projection.PurchasingDocument = _ContainerInfo.PurchasingDocument and $projection.PurchasingDocumentItem = _ContainerInfo.PurchasingDocumentItem and $projection.FldLogsSuplrItmMatlDoc = _ContainerInfo.MaterialDocument and $projection.GoodsMovementItem = _ContainerInfo.MaterialDocumentItem and $projection.GoodsMovementYear = _ContainerInfo.MaterialDocumentYear and _ContainerInfo.DeliveryDocument is not initial ) or ( $projection.PurchasingDocument = _ContainerInfo.PurchasingDocument and $projection.PurchasingDocumentItem = _ContainerInfo.PurchasingDocumentItem and $projection.FldLogsSuplrItmMatlDoc is initial and $projection.GoodsMovementItem is initial and $projection.GoodsMovementYear is initial and _ContainerInfo.DeliveryDocument is initial )
[0..1] C_FldLogsProcRcptCstmFldExtn _Extensibility1 $projection.PurchasingDocument = _Extensibility1.PurchasingDocument and $projection.PurchasingDocumentItem = _Extensibility1.PurchasingDocumentItem and $projection.DeliveryDocument = _Extensibility1.DeliveryDocument and $projection.DeliveryDocumentItem = _Extensibility1.DeliveryDocumentItem and $projection.FldLogsSuplrItemUUID = _Extensibility1.FldLogsSuplrItemUUID

Annotations (9)

NameValueLevelField
EndUserText.label Field Logistics : Process Receipts view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #REQUIRED view
VDM.viewType #CONSUMPTION view
Metadata.allowExtensions true view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.resultSet.sizeCategory #XS view

OData Services (1)

ServiceBindingVersionContractRelease
UI_PROCESS_RECEIPTS UI_PROCESS_RECEIPTS V2 C1 NOT_TO_BE_RELEASED_STABLE

Fiori Apps (1)

App IDApp NameTypeDescription
F5316 Process Receipt Transactional This application is used to Receive Purchase Order Items and Inbound delivery items at Base Plant and Remote Plant. The items can consist of both Stock and Supplier Items.

Process Receipt

Business Role: Receiving Specialist (Oil & Gas)

This feature enables you to: Create batches with supplier batches using the Create Batch action. View additional fields such as Order Category, Order Number, Recipient, Requisitioner, and Unloading Point details on the list page. Perform a two-step Goods Receipt (GR) process with an alternate unit of measurement. Create a Putaway Warehouse Task for non-stock and supplier items in a single-plant scenario.

Fields (144)

KeyFieldSource TableSource FieldDescription
KEY PurchasingDocument PurchasingDocument
KEY PurchasingDocumentItem PurchasingDocumentItem
KEY DeliveryDocument DeliveryDocument
KEY DeliveryDocumentItem DeliveryDocumentItem
KEY MaterialDocument MaterialDocument
KEY MaterialDocumentItem MaterialDocumentItem
KEY MaterialDocumentYear MaterialDocumentYear
KEY FldLogsSuplrItemUUID FldLogsSuplrItemUUID
FldLogsSuplrItmMatlDoc FldLogsSuplrItmMatlDoc
FldLogsMatlDocItem FldLogsMatlDocItem
GoodsMovementItem GoodsMovementItem
GoodsMovementYear GoodsMovementYear
FldLogsPurOrdItem FldLogsPurOrdItem
FldLogsDelivDocItem FldLogsDelivDocItem
DeliveryDate DeliveryDate
FldLogsSuplrItmDelivStatusText FldLogsSuplrItmDelivStatusText
FldLogsSuplrItmDelivCritlty FldLogsSuplrItmDelivCritlty
IsCompletelyDelivered IsCompletelyDelivered
Product Product
FldLogsSuplrItemSerialNumber FldLogsSuplrItemSerialNumber
Batch Batch
FldLogsProcRecRcvgStsCritlty FldLogsProcRecRcvgStsCritlty
DeliveryDocumentBySupplier DeliveryDocumentBySupplier
PurchasingDocumentSubtype PurchasingDocumentSubtype
Supplier Supplier
SupplierName SupplierName
Material Material
MaterialName MaterialName
MaterialGroup MaterialGroup
MaterialGroupName MaterialGroupName
Plant Plant
PlantName PlantName
StorageLocation StorageLocation
StorageLocationName StorageLocationName
MaintPriority MaintPriority
GenericPriorityDesc GenericPriorityDesc
StockType StockType
InventoryUsabilityCode InventoryUsabilityCode
StockTypeName StockTypeName
FldLogsProcRecRcvgStatus FldLogsProcRecRcvgStatus
FldLogsProcRcptRcvgStatusTxt FldLogsProcRcptRcvgStatusTxt
FldLogsSuplrItemVislInspCode FldLogsSuplrItemVislInspCode
FldLogsSuplrItemVislInspText FldLogsSuplrItemVislInspText
InventoryStockType InventoryStockType
InventoryStockTypeName InventoryStockTypeName
FldLogsItemType FldLogsItemType
FldLogsSuplrItemTypeText FldLogsSuplrItemTypeText
GoodsMovementType GoodsMovementType
GoodsMovementTypeName GoodsMovementTypeName
GoodsMovementStatus GoodsMovementStatus
ReversedMaterialDocument ReversedMaterialDocument
DocumentDate DocumentDate
PostingDate PostingDate
DocumentReferenceID DocumentReferenceID
InventoryValuationType InventoryValuationType
CreatedByUser CreatedByUser
ManufactureDate ManufactureDate
ShelfLifeExpirationDate ShelfLifeExpirationDate
FldLogsManufactureDate FldLogsManufactureDate
FldLogsShelfLifeExpiryDate FldLogsShelfLifeExpiryDate
FldLogsRvslPostingDate FldLogsRvslPostingDate
EWMWarehouse EWMWarehouse
FldLogsIsWarehouseMngd FldLogsIsWarehouseMngd
PackagingMaterial PackagingMaterial
PackagingMaterialName PackagingMaterialName
FldLogsOpenPackQty FldLogsOpenPackQty
FldLogsPackQty FldLogsPackQty
HandlingUnitQuantityUnit HandlingUnitQuantityUnit
TotalNumberOfHandlingUnits TotalNumberOfHandlingUnits
EWMHandlingUnitType EWMHandlingUnitType
FldLogsMsgTxt FldLogsMsgTxt
FldLogsFailedRcptCritlty FldLogsFailedRcptCritlty
FldLogsStatus FldLogsStatus
FldLogsStatusFrmEWMInbDeliv FldLogsStatusFrmEWMInbDeliv
FldLogsStatusTxt FldLogsStatusTxt
FldLogsStatusFrmEWMInbDelivTxt FldLogsStatusFrmEWMInbDelivTxt
FldLogsDelivIsHeldOnShore FldLogsDelivIsHeldOnShore
FldLogsDelivQty FldLogsDelivQty
OpenQtyInPurchaseOrderUnit OpenQtyInPurchaseOrderUnit
FldLogsGRQty FldLogsGRQty
FldLogsPOTotalQty FldLogsPOTotalQty
FldLogsBlockedQty FldLogsBlockedQty
FldLogsActlDeliveredQuantity FldLogsActlDeliveredQuantity
FldLogsOpenDelivQty FldLogsOpenDelivQty
FldLogsBeforeGRActlQty FldLogsBeforeGRActlQty
FldLogsReversedQty FldLogsReversedQty
OrderQuantityUnit OrderQuantityUnit
GoodsMovementEntryUnit GoodsMovementEntryUnit
POUnitOfMeasure POUnitOfMeasure
MaterialBaseUnit MaterialBaseUnit
NetPriceAmount NetPriceAmount
DocumentCurrency DocumentCurrency
FldLogsItmIsToBeReceived FldLogsItmIsToBeReceived
FldLogsItmIsReceived FldLogsItmIsReceived
FldLogsItmIsPreReceived FldLogsItmIsPreReceived
QltyMgmtInProcmtIsActive QltyMgmtInProcmtIsActive
FldLogsItmIsFailed FldLogsItmIsFailed
FldLogsIsAutoSerialization FldLogsIsAutoSerialization
MaterialIsSerialManaged MaterialIsSerialManaged
FldLogsSerialSecIsHidden FldLogsSerialSecIsHidden
FldLogsSrlSecAggrgnIsHidden FldLogsSrlSecAggrgnIsHidden
IsBatchManagementRequired IsBatchManagementRequired
FldLogsIsSupplierItem FldLogsIsSupplierItem
FldLogsItmIsAtRemote FldLogsItmIsAtRemote
FldLogsIsContainerHidden FldLogsIsContainerHidden
FldLogsErrorLogSecIsHidden FldLogsErrorLogSecIsHidden
FldLogsIsVisibleInRcvd FldLogsIsVisibleInRcvd
FldLogsItmIsToBeDistributed FldLogsItmIsToBeDistributed
FldLogsCtnInfoSecIsHidden FldLogsCtnInfoSecIsHidden
FldLogsHandlingUnitSecIsHidden FldLogsHandlingUnitSecIsHidden
FldLogsOutbDelivIsAssgdToCtn FldLogsOutbDelivIsAssgdToCtn
FldLogsPrintLabelIsVisible FldLogsPrintLabelIsVisible
FldLogsWhseTskSecIsHidden FldLogsWhseTskSecIsHidden
HandlingUnitExternalID HandlingUnitExternalID
HandlingUnitId HandlingUnitId
IsToBeAcceptedAtOrigin IsToBeAcceptedAtOrigin
FldLogsGdsMvtTypeIsEditable FldLogsGdsMvtTypeIsEditable
FldLogsPutawayQty FldLogsPutawayQty
FldLogsEWMStockType FldLogsEWMStockType
FldLogsEWMStockTypeText FldLogsEWMStockTypeText
FldLogsItmIsEWMMngd FldLogsItmIsEWMMngd
FldLogsItmIsNonEWMMngd FldLogsItmIsNonEWMMngd
IsBusinessPurposeCompleted IsBusinessPurposeCompleted
SuplrCoIsBusPrpsCmpltd SuplrCoIsBusPrpsCmpltd
IsEndOfPurposeBlocked IsEndOfPurposeBlocked
IsBusPrpsCmpltdCustomer IsBusPrpsCmpltdCustomer
PurgDocItemCategoryName PurgDocItemCategoryName
PurgDocExternalItemCategory PurgDocExternalItemCategory
FldLogsItmIsIssdToMaintOrd FldLogsItmIsIssdToMaintOrd
FldLogsItemIsAtBase FldLogsItemIsAtBase
OrderCategory OrderCategory
OrderCategoryName OrderCategoryName
_FailedReceiptError _FailedReceiptError
_SerialNumberItem _SerialNumberItem
_HandlingUnit _HandlingUnit
_FldLogsWarehouseTasks _FldLogsWarehouseTasks
_Predecessor _Predecessor
_FollowOnDoc _FollowOnDoc
_StockTransOrders _StockTransOrders
_FldLogsOutbDelivery _FldLogsOutbDelivery
_PredecessorOutbDelivery _PredecessorOutbDelivery
_ContainerInfo _ContainerInfo
_Extensibility1 _Extensibility1
_MaintObjListDelivPO _MaintObjListDelivPO
@EndUserText.label: 'Field Logistics : Process Receipts'
@AccessControl: {
authorizationCheck: #CHECK,
personalData.blocking: #REQUIRED,
personalData.blockingIndicator: ['IsBusinessPurposeCompleted']
}
@VDM: {
 viewType: #CONSUMPTION,
usage.type: [#TRANSACTIONAL_PROCESSING_SERVICE] }
@Metadata.allowExtensions: true
@ObjectModel.usageType: {
serviceQuality: #D,
dataClass: #TRANSACTIONAL,
sizeCategory: #L }
@ObjectModel : { resultSet.sizeCategory: #XS }
//Enable Extensibility

//This is for enabling the extensibility , now having the dependency on core

//@AbapCatalog.extensibility: {

//  extensible: true,

//allowNewDatasources :true,

//dataSources: ['FldLogsRProcRcpt'],

//allowNewCompositions:true ,

//quota: {

//    maximumFields: 1000 ,

//    maximumBytes: 10000

//  },

//  elementSuffix: 'PRV' }



define root view entity C_FldLogsProcessReceiptsTP
  provider contract transactional_query
  // Process Receipts

  as projection on R_FldLogsProcessReceiptsTP as FldLogsRProcRcpt
  association [0..*] to C_FldLogsFailedRcptInfoTP     as _FailedReceiptError      on  $projection.FldLogsItmIsFailed     is not initial
                                                                                  and $projection.PurchasingDocument     = _FailedReceiptError.PurchasingDocument
                                                                                  and $projection.PurchasingDocumentItem = _FailedReceiptError.PurchasingDocumentItem
                                                                                  and $projection.DeliveryDocument       = _FailedReceiptError.DeliveryDocument
                                                                                  and $projection.DeliveryDocumentItem   = _FailedReceiptError.DeliveryDocumentItem
                                                                                  and $projection.FldLogsSuplrItemUUID   = _FailedReceiptError.FldLogsSuplrItemUUID

  //Merge of entities

  association [1..*] to C_FldLogsSrlNmbrItems         as _SerialNumberItem        on  $projection.MaterialDocument     = _SerialNumberItem.MaterialDocument
                                                                                  and $projection.MaterialDocumentItem = _SerialNumberItem.MaterialDocumentItem
                                                                                  and $projection.MaterialDocumentYear = _SerialNumberItem.MaterialDocumentYear
  //SerialNum IBD PO

  //In case of Serial Number assigned to Both IBD and PO, IBD serial Numbers will get preference for display in Facet.

  //For PO with No IBD Assigned, PO Serial Number should be displayed

  //The Delivery Document not initial check in the below OR condition of association makes sure of this

  association [1..*] to C_FldLogsMaintObjListDelivPO  as _MaintObjListDelivPO     on  (
          $projection.DeliveryDocument                                                                                       = _MaintObjListDelivPO.DeliveryDocument
          and $projection.DeliveryDocumentItem                                                                               = _MaintObjListDelivPO.DeliveryDocumentItem
        )
                                                                                  or  (
                                                                                      $projection.PurchasingDocument         = _MaintObjListDelivPO.PurchaseOrder
                                                                                      and $projection.PurchasingDocumentItem = _MaintObjListDelivPO.PurchaseOrderItem
                                                                                      and $projection.DeliveryDocument       is initial
                                                                                    )
  //Handling units created per delivery

  association [0..*] to C_FldLogsHandlingUnits        as _HandlingUnit            on  (
                 $projection.DeliveryDocument                                                                            is not initial
                 and $projection.DeliveryDocument                                                                        = _HandlingUnit.DeliveryDocument
                 and $projection.DeliveryDocumentItem                                                                    = _HandlingUnit.DeliveryDocumentItem
               )
                                                                                  or  (
                                                                                      $projection.HandlingUnitExternalID = _HandlingUnit.HandlingUnitExternalID
                                                                                      
                                                                                    )


  //Warehouse Tasks

  association [0..*] to C_FldLogsWhseTaskInfo         as _FldLogsWarehouseTasks   on  (
        $projection.DeliveryDocument                                                                                                         is not initial
        and $projection.DeliveryDocument                                                                                                     = _FldLogsWarehouseTasks.DeliveryDocument
        and $projection.DeliveryDocumentItem                                                                                                 = _FldLogsWarehouseTasks.DeliveryDocumentItem
      )
                                                                                  or  (
                                                                                      $projection.FldLogsSuplrItemUUID                       = _FldLogsWarehouseTasks.FldLogsSuplrItemUUID
                                                                                      and _FldLogsWarehouseTasks.IsHandlingUnitWarehouseTask is not initial
                                                                                      and $projection.FldLogsIsSupplierItem                  is not initial
                                                                                    )

  association [0..1] to C_FldLogsPrdcssrDocRemote     as _Predecessor             on  $projection.PurchasingDocument     = _Predecessor.PurchasingDocument
                                                                                  and $projection.PurchasingDocumentItem = _Predecessor.PurchasingDocumentItem
                                                                                  and $projection.DeliveryDocument       = _Predecessor.DeliveryDocument
                                                                                  and $projection.DeliveryDocumentItem   = _Predecessor.DeliveryDocumentItem
                                                                                  and $projection.FldLogsSuplrItemUUID   = _Predecessor.FldLogsSuplrItemUUID

  association [0..1] to C_FldLogsProcRcptFollowOnDocs as _FollowOnDoc             on  $projection.PurchasingDocument     = _FollowOnDoc.PurchasingDocument
                                                                                  and $projection.PurchasingDocumentItem = _FollowOnDoc.PurchasingDocumentItem
                                                                                  and $projection.DeliveryDocument       = _FollowOnDoc.DeliveryDocument
                                                                                  and $projection.DeliveryDocumentItem   = _FollowOnDoc.DeliveryDocumentItem
                                                                                  and $projection.FldLogsSuplrItmMatlDoc = _FollowOnDoc.MaterialDocument
                                                                                  and $projection.GoodsMovementItem      = _FollowOnDoc.MaterialDocumentItem
                                                                                  and $projection.GoodsMovementYear      = _FollowOnDoc.MaterialDocumentYear
                                                                                  and $projection.FldLogsSuplrItemUUID   = _FollowOnDoc.FldLogsSuplrItemUUID

  //Stock Transport Orders

  association [0..*] to C_FldLogsStockTransportOrder  as _StockTransOrders        on  $projection.PurchasingDocument     = _StockTransOrders.PurchasingDocument
                                                                                  and $projection.PurchasingDocumentItem = _StockTransOrders.PurchasingDocumentItem
                                                                                  and $projection.FldLogsSuplrItmMatlDoc = _StockTransOrders.MaterialDocument
                                                                                  and $projection.GoodsMovementItem      = _StockTransOrders.MaterialDocumentItem
                                                                                  and $projection.GoodsMovementYear      = _StockTransOrders.MaterialDocumentYear
  //                                                                                  and $projection.FldLogsSuplrItemUUID   = _StockTransOrders.FldLogsSuplrItemUUID


  //For Outbound Delivery Facet Detail at Base for Follow on Documents

  association [0..*] to C_FldLogsOutbDelivInfo        as _FldLogsOutbDelivery     on  $projection.PurchasingDocument     = _FldLogsOutbDelivery.PurchasingDocument
                                                                                  and $projection.PurchasingDocumentItem = _FldLogsOutbDelivery.PurchasingDocumentItem
                                                                                  and $projection.DeliveryDocument       = _FldLogsOutbDelivery.DeliveryDocument
                                                                                  and $projection.DeliveryDocumentItem   = _FldLogsOutbDelivery.DeliveryDocumentItem
                                                                                  and $projection.FldLogsSuplrItmMatlDoc = _FldLogsOutbDelivery.MaterialDocument
                                                                                  and $projection.GoodsMovementItem      = _FldLogsOutbDelivery.MaterialDocumentItem
                                                                                  and $projection.GoodsMovementYear      = _FldLogsOutbDelivery.MaterialDocumentYear
                                                                                  and $projection.FldLogsSuplrItemUUID   = _FldLogsOutbDelivery.FldLogsSuplrItemUUID
  //For Outbound Delivery Facet Detail at Remote for Predecessor Documents

  association [0..*] to C_FldLogsOutbDelivAtRmteInfo  as _PredecessorOutbDelivery on  $projection.PurchasingDocument     = _PredecessorOutbDelivery.PurchasingDocument
                                                                                  and $projection.PurchasingDocumentItem = _PredecessorOutbDelivery.PurchasingDocumentItem
                                                                                  and $projection.DeliveryDocument       = _PredecessorOutbDelivery.OutboundDelivery
                                                                                  and $projection.DeliveryDocumentItem   = _PredecessorOutbDelivery.OutboundDeliveryItem
                                                                                  and $projection.FldLogsSuplrItemUUID   = _PredecessorOutbDelivery.FldLogsSuplrItemUUID

  //Non-stock;Rentals; Extensibility structure

  //  association [0..1] to E_FldLogsSupplierItem         as _SuplritemExtension on  $projection.FldLogsSuplrItemUUID = _SuplritemExtension.FldLogsSuplrItemUUID

  association [0..*] to C_FldLogsContainerInfo        as _ContainerInfo           on  (
                $projection.PurchasingDocument                                                                               = _ContainerInfo.PurchasingDocument
                and $projection.PurchasingDocumentItem                                                                       = _ContainerInfo.PurchasingDocumentItem
                and $projection.FldLogsSuplrItmMatlDoc                                                                       = _ContainerInfo.MaterialDocument
                and $projection.GoodsMovementItem                                                                            = _ContainerInfo.MaterialDocumentItem
                and $projection.GoodsMovementYear                                                                            = _ContainerInfo.MaterialDocumentYear
                and _ContainerInfo.DeliveryDocument                                                                          is not initial
              )
                                                                                  or  (
                                                                                      $projection.PurchasingDocument         = _ContainerInfo.PurchasingDocument
                                                                                      and $projection.PurchasingDocumentItem = _ContainerInfo.PurchasingDocumentItem
                                                                                      and $projection.FldLogsSuplrItmMatlDoc is initial
                                                                                      and $projection.GoodsMovementItem      is initial
                                                                                      and $projection.GoodsMovementYear      is initial
                                                                                      and _ContainerInfo.DeliveryDocument    is initial
                                                                                    )

  //  association [0..1] to C_FldLogsProcRcptPurOrdExtn   as _Extensibility         on  $projection.PurchasingDocument     = _Extensibility.PurchasingDocument

  //                                                                                and $projection.PurchasingDocumentItem = _Extensibility.PurchasingDocumentItem

  //

  //  association [0..1] to C_FldLogsProcRcptDelivExtn    as _DelivExtensibility    on  $projection.DeliveryDocument     = _DelivExtensibility.DeliveryDocument

  //                                                                                and $projection.DeliveryDocumentItem = _DelivExtensibility.DeliveryDocumentItem

  //

  association [0..1] to C_FldLogsProcRcptCstmFldExtn  as _Extensibility1          on  $projection.PurchasingDocument     = _Extensibility1.PurchasingDocument
                                                                                  and $projection.PurchasingDocumentItem = _Extensibility1.PurchasingDocumentItem
                                                                                  and $projection.DeliveryDocument       = _Extensibility1.DeliveryDocument
                                                                                  and $projection.DeliveryDocumentItem   = _Extensibility1.DeliveryDocumentItem
                                                                                  and $projection.FldLogsSuplrItemUUID   = _Extensibility1.FldLogsSuplrItemUUID





  //

{
  key PurchasingDocument,
  key PurchasingDocumentItem,
  key DeliveryDocument,
  key DeliveryDocumentItem,
  key MaterialDocument,
  key MaterialDocumentItem,
  key MaterialDocumentYear,
  key FldLogsSuplrItemUUID,
      // Material Doc  as non key field

      FldLogsSuplrItmMatlDoc,
      // Material document number / item

      FldLogsMatlDocItem,
      //      Material DOc item as non key field

      GoodsMovementItem,
      //      Material Doc Year as non key field

      @Semantics.fiscal.year: true
      GoodsMovementYear,
      //      Concatenated Purchase order / Purchase Order item

      FldLogsPurOrdItem,
      //      Concatenated Inbound delivery doc / Inbound delivery doc item

      FldLogsDelivDocItem,
      //      Planned Delivery date

      DeliveryDate,
      //      Delivery status text - Delayed

      FldLogsSuplrItmDelivStatusText,
      //      FldLogsSuplrItemType,

      //      Criticality

      FldLogsSuplrItmDelivCritlty,
      // If Purchase order is completely delivered

      IsCompletelyDelivered,
      Product,
      FldLogsSuplrItemSerialNumber,

      Batch,
      FldLogsProcRecRcvgStsCritlty,
      DeliveryDocumentBySupplier,
      PurchasingDocumentSubtype,

      @ObjectModel : { text.element: ['SupplierName'] }
      Supplier,
      SupplierName,
      @ObjectModel : { text.element: ['MaterialName'] }
      Material,
      MaterialName,
      @ObjectModel : { text.element: ['MaterialGroupName'] }
      MaterialGroup,
      MaterialGroupName,
      @ObjectModel : { text.element: ['PlantName'] }
      Plant,
      PlantName,
      @ObjectModel : { text.element: ['StorageLocationName'] }

      StorageLocation,
      StorageLocationName,
      @ObjectModel : { text.element: ['GenericPriorityDesc'] }
      MaintPriority,
      GenericPriorityDesc,
      @ObjectModel : { text.element: ['StockTypeName'] }
      @VDM.lifecycle.status: #DEPRECATED
      @VDM.lifecycle.successor: 'InventoryUsabilityCode'
      StockType,
      @ObjectModel : { text.element: ['StockTypeName'] }
      InventoryUsabilityCode,
      StockTypeName,
      @ObjectModel : { text.element: ['FldLogsProcRcptRcvgStatusTxt'] }
      FldLogsProcRecRcvgStatus,
      FldLogsProcRcptRcvgStatusTxt,
      @ObjectModel : { text.element: ['FldLogsSuplrItemVislInspText'] }
      FldLogsSuplrItemVislInspCode,
      FldLogsSuplrItemVislInspText,
      @ObjectModel : { text.element: ['InventoryStockTypeName'] }
      InventoryStockType,
      InventoryStockTypeName,
      //Item type text - Stock / Supplier

      @ObjectModel : { text.element: ['FldLogsSuplrItemTypeText'] }
      FldLogsItemType,
      FldLogsSuplrItemTypeText,
      @ObjectModel : { text.element: ['GoodsMovementTypeName'] }
      GoodsMovementType,
      GoodsMovementTypeName,
      GoodsMovementStatus,

      //Material document details

      ReversedMaterialDocument,
      DocumentDate,
      PostingDate, //Goods receipt date

      DocumentReferenceID, //Delivery Note

      InventoryValuationType,
      CreatedByUser,
      ManufactureDate,
      ShelfLifeExpirationDate,
      FldLogsManufactureDate,
      FldLogsShelfLifeExpiryDate,
      FldLogsRvslPostingDate,

      //Warehouse details

      EWMWarehouse,
      FldLogsIsWarehouseMngd,
      //Handling unit details

      @ObjectModel : { text.element: ['PackagingMaterialName'] }
      PackagingMaterial,
      PackagingMaterialName,
      @Semantics.quantity.unitOfMeasure: 'HandlingUnitQuantityUnit'
      FldLogsOpenPackQty,
      @Semantics.quantity.unitOfMeasure: 'HandlingUnitQuantityUnit'
      FldLogsPackQty,
      HandlingUnitQuantityUnit,
      TotalNumberOfHandlingUnits,
      EWMHandlingUnitType,
      //      HandlingUnitExternalID,

      //      HandlingUnitExternalID,

      //      HandlingUnitExternalIdType,


      //Failed receipts - Error log for process receipts

      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'CL_FLOG_PROCRCPT_F_RCPT_ERROR'
      FldLogsMsgTxt,
      FldLogsFailedRcptCritlty,

      //Hold scenario statuses, behind feature toggle

      @ObjectModel : { text.element: ['FldLogsStatusTxt'] }
      @Feature: 'FIELD_LOGISTICS_HOLDONSHORE'
      FldLogsStatus,
      @ObjectModel : { text.element: ['FldLogsStatusFrmEWMInbDelivTxt'] }
      @Feature: 'FIELD_LOGISTICS_HOLDONSHORE' // Status IBD

      FldLogsStatusFrmEWMInbDeliv, //Status IBD

      @Feature: 'FIELD_LOGISTICS_HOLDONSHORE'
      FldLogsStatusTxt,
      @Feature: 'FIELD_LOGISTICS_HOLDONSHORE'
      FldLogsStatusFrmEWMInbDelivTxt,
      @Feature: 'FIELD_LOGISTICS_HOLDONSHORE'
      FldLogsDelivIsHeldOnShore,

      //All Quantity fields for Process Receipts


      // Inbound Delivery quantity when receiving by Inbound Delivery

      // Outbound Delivery quantity when receiving by Outbound Delivery

      @Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
      FldLogsDelivQty,
      // PO Open qty

      @Semantics.quantity.unitOfMeasure: 'POUnitOfMeasure'
      OpenQtyInPurchaseOrderUnit,
      // Material Document confirmed qty

      @Semantics.quantity.unitOfMeasure: 'GoodsMovementEntryUnit'
      FldLogsGRQty,
      // Actual PO qty

      @Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
      FldLogsPOTotalQty,
      // Blocked qty, only applicable when 2-Step GR is performed

      //To darkship 2 step GR, hide this field from the UI

      @Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
      FldLogsBlockedQty,
      // Qty to be delivered in object page Receipt Info - Editable

      @Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
      FldLogsActlDeliveredQuantity,
      @Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
      FldLogsOpenDelivQty,
      // Qty to be delivered in object page Receipt Info - hidden and used to compare retained value for refresh

      FldLogsBeforeGRActlQty,

      FldLogsReversedQty,
      // Purchase order qty unit of measure

      OrderQuantityUnit,
      GoodsMovementEntryUnit,
      POUnitOfMeasure,      
      // Material document qty unit

      MaterialBaseUnit,

      @Semantics.amount.currencyCode: 'DocumentCurrency'
      NetPriceAmount,
      DocumentCurrency,

      //All derived boolean fields for Process Receipts dynamic Visibility of records/fields

      // Flag indicating To be received item

      FldLogsItmIsToBeReceived,
      // Flag indicating Received item

      FldLogsItmIsReceived,
      FldLogsItmIsPreReceived,
      QltyMgmtInProcmtIsActive,
      FldLogsItmIsFailed,
      //serial number

      FldLogsIsAutoSerialization,
      MaterialIsSerialManaged,
      FldLogsSerialSecIsHidden,
      FldLogsSrlSecAggrgnIsHidden,
      IsBatchManagementRequired,
      FldLogsIsSupplierItem,
      FldLogsItmIsAtRemote,
      FldLogsIsContainerHidden,
      FldLogsErrorLogSecIsHidden,
      //      FldLogsFollowOnDocSecIsHidden,

      FldLogsIsVisibleInRcvd,
      FldLogsItmIsToBeDistributed,
      FldLogsCtnInfoSecIsHidden,
      FldLogsHandlingUnitSecIsHidden,
      // Flag indicating the OBD is assigned to a container

      FldLogsOutbDelivIsAssgdToCtn,
      // Flag indicating Print label button is visible in object page

      FldLogsPrintLabelIsVisible,
      FldLogsWhseTskSecIsHidden,
      //Container info for Supplier items

      //@ObjectModel : { text.element: ['FldLogsContainerOwnerName'] }

      //      FldLogsContainerOwner,

      //      //FldLogsContainerOwnerName,

      //      FldLogsSealNumber1,

      //      FldLogsSealNumber2,

      //      FldLogsSealNumber3,

      //      FldLogsSealNumber4,

      //      FldLogsSealNumber5,

      //      @ObjectModel : { text.element: ['FldLogsSuplrItmPackggTypeTxt'] }

      //      FldLogsSuplrItmPackggTypeCode,

      //      FldLogsSuplrItmPackggTypeTxt,


      // Supplier Item HU

      HandlingUnitExternalID,
      HandlingUnitId,
      //flag for putaway quantity

      //PickingStatus,

      IsToBeAcceptedAtOrigin,
      FldLogsGdsMvtTypeIsEditable,
      FldLogsPutawayQty,
      @ObjectModel : { text.element: ['FldLogsEWMStockTypeText'] }
      FldLogsEWMStockType,
      FldLogsEWMStockTypeText,
      FldLogsItmIsEWMMngd,
      FldLogsItmIsNonEWMMngd,
      IsBusinessPurposeCompleted,
      SuplrCoIsBusPrpsCmpltd,
      IsEndOfPurposeBlocked,
      IsBusPrpsCmpltdCustomer,
      @Semantics.text: true
      PurgDocItemCategoryName,
      @ObjectModel : { text.element: ['PurgDocItemCategoryName'] }
      PurgDocExternalItemCategory,
      FldLogsItmIsIssdToMaintOrd,
      FldLogsItemIsAtBase,
      @ObjectModel : { text.element: ['OrderCategoryName'] }
      OrderCategory,
      OrderCategoryName,
      //Associations

      _FailedReceiptError,
      _SerialNumberItem,
      _HandlingUnit,
      _FldLogsWarehouseTasks,
      _Predecessor,
      _FollowOnDoc,
      //Stock Transport Orders

      _StockTransOrders,
      //For Outbound Delivery information in Followon Doc

      _FldLogsOutbDelivery,
      //For Outbound Delivery information in Predecessor Doc

      _PredecessorOutbDelivery,
      _ContainerInfo,
      //_Extensibility,

      _Extensibility1,
      _MaintObjListDelivPO,
      //_DelivExtensibility,

      //      _ContainerInfo,

      //      MORecipientLoc,          //Add by Himanshu Gupta OGFIELDLOGISTICS8-1822

      _DistributionItems : redirected to composition child C_FldLogsDistributionItemsTP
      //      _HandlingUnits     : redirected to composition child C_FldLogsHandlingUnitsTP



      //Coming from Predecessor assoc.

      //       MaintenanceOrder,

      //       PurchaseRequisition,

      //       ReferenceDocument,

      //       FldLogsMatlDocAtRmte,

      //       InboundDelivery,

      //       PurchaseOrder,

      //       FldLogsPickingWrhsTask,

      //       OutboundDelivery,

      //       OutboundDeliveryOrder,


      // Coming from Follow on doc

      //      StockTransportOrder,

      //      WarehouseTask,

      //      InspectionLot,

      //      OutboundDelivery,


      //Currently hidden in the UI and still exposed

      //      Delivery Document header details - currently hidden on the UI

      //      LoadingPoint,

      //      UnloadingPointName,

      //      MaterialDocumentHeaderText, //currently hidden on the UI


}