R_FLDLOGSPROCESSRECEIPTSTP

CDS View

Field Logistics : Process Receipts

R_FLDLOGSPROCESSRECEIPTSTP is a CDS View in S/4HANA. Field Logistics : Process Receipts. 2 CDS views read from this table.

CDS Views using this table (2)

ViewTypeJoinVDMDescription
C_FldLogsProcessReceiptsTP view_entity projection CONSUMPTION Field Logistics : Process Receipts
C_FldLogsRcptsRetsOverviewTP view_entity projection CONSUMPTION Projection View for Receipts and Returns Overview
//@AbapCatalog.sqlViewName: 'RFLPRTP'

//@AbapCatalog.compiler.compareFilter: true

//@AbapCatalog.preserveKey: true

@VDM.viewType: #TRANSACTIONAL
@AccessControl: {
authorizationCheck: #CHECK,
personalData.blocking: #REQUIRED,
personalData.blockingIndicator: ['IsBusinessPurposeCompleted']
}

@VDM.lifecycle.contract.type: #SAP_INTERNAL_API
@ObjectModel.usageType: {
serviceQuality: #D,
dataClass: #TRANSACTIONAL,
sizeCategory: #L
}
@Consumption.dbHints: [ '&PREFER_JOIN_WITH_FDA 0&', 'USE_HEX_PLAN' ]
//@ClientHandling.algorithm: #SESSION_VARIABLE

@EndUserText.label: 'Field Logistics : Process Receipts'
@ObjectModel.sapObjectNodeType.name: 'FieldLogisticsProcReceiptItem'


define root view entity R_FldLogsProcessReceiptsTP
  // Process Receipts

  as select from I_FldLogsProcessReceiptsTP as FldLogsIProcRcpt
  composition [0..*] of I_FldLogsDistributionItemsTP as _DistributionItems
  //Non-stock;Rentals; Extensibility structure

  association [0..1] to E_FldLogsSupplierItem        as _SuplritemExtension  on  $projection.FldLogsSuplrItemUUID = _SuplritemExtension.FldLogsSuplrItemUUID
  //PurchaseOrder Item; Extensibility structure

  association [0..1] to E_PurchasingDocumentItem     as _PurDocItemExtension on  $projection.PurchasingDocument     = _PurDocItemExtension.PurchasingDocument
                                                                             and $projection.PurchasingDocumentItem = _PurDocItemExtension.PurchasingDocumentItem
  //PurchaseOrder Header; Extensibility structure

  //  association [0..1] to E_PurchasingDocument         as _PurDocHeaderExtension on  $projection.PurchasingDocument = _PurDocHeaderExtension.PurchasingDocument

  //Delivery Document item; Extensibility structure

  //  association [0..1] to E_DeliveryDocumentItem       as _DeliveryItemExtension on  $projection.DeliveryDocument     = _DeliveryItemExtension.DeliveryDocument

  //                                                                               and $projection.DeliveryDocumentItem = _DeliveryItemExtension.DeliveryDocumentItem

{
  key  PurchasingDocument,
  key  PurchasingDocumentItem,
       //  key  ltrim(DeliveryDocument, '0') as DeliveryDocument,

  key  ltrim( DeliveryDocument, '0' )                 as DeliveryDocument,
  key  DeliveryDocumentItem,
  key  MaterialDocument,
  key  MaterialDocumentItem,
  key  MaterialDocumentYear,
  key  FldLogsSuplrItemUUID,
       FldLogsSuplrItmMatlDoc,
       GoodsMovementItem,
       GoodsMovementYear,
       FldLogsPurOrdItem,
       FldLogsDelivDocItem,

       DeliveryDate,

       @ObjectModel.virtualElement: true
       @ObjectModel.virtualElementCalculatedBy: 'CL_FLOG_PROCRCPT_DLVSTATUS_TXT'
       cast('' as abap.char(20))                      as FldLogsSuplrItmDelivStatusText,
       FldLogsSuplrItemTypeText,
       //       FldLogsSuplrItemType,


       case
        when  DeliveryDate = $session.system_date then 3
        when  DeliveryDate < $session.system_date then 1
        else 0
        end                                           as FldLogsSuplrItmDelivCritlty,

       IsCompletelyDelivered,
       Supplier,
       SupplierName,

       Material,
       Plant,
       FldLogsRemotePlant,
       PlantName,
       //// Delivery qty

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

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

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

       @Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
       FldLogsPOTotalQty,
       //// Blocked qty

       @Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
       FldLogsBlockedQty,
       //// Actual Delivered Qty in object page Receipt Info

       @Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
       FldLogsActlDeliveredQuantity,

       FldLogsActlDeliveredQuantity                   as FldLogsBeforeGRActlQty, //To retain the qty before doing GR


       OrderQuantityUnit,
       MaterialBaseUnit,
       FldLogsItmIsToBeReceived,
       FldLogsItmIsReceived,
       //failed receipts

       //for supplier items to fall in failed recipts

       FldLogsItmIsFailed,
       FldLogsItmIsPreReceived,
       StorageLocation,
       @Semantics.text: true
       StorageLocationName,
       DocumentCurrency,
       @Semantics.amount.currencyCode: 'DocumentCurrency'
       NetPriceAmount,
       MaterialName,
       MaintPriority,
       GenericPriorityDesc,
       FldLogsDelivIsHeldOnShore,
       QltyMgmtInProcmtIsActive,

       EWMWarehouse,
       FldLogsIsWarehouseMngd,
       //Commented as part of Decommissioning of Storage Type and EWM Storage Bin

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

       //       FldLogsStorageType,

       //       StorageTypeName,

       //       EWMStorageBin,

       FldLogsProcRecRcvgStsCritlty,
       FldLogsProcRecRcvgStatus,
       FldLogsProcRcptRcvgStatusTxt,

       //Material document details

       PostingDate, //Goods receipt date

       DocumentDate,
       DocumentReferenceID, //Delivery Note

       GoodsMovementStatus,
       GoodsMovementType,
       InventoryValuationType,

       StockType,
       StockTypeName,
       DeliveryDocumentBySupplier,

       //       @Semantics.quantity.unitOfMeasure: 'ItemWeightUnit'

       //       ItemGrossWeight,

       //       ItemWeightUnit,


       //Delivery Document header

       LoadingPoint,
       UnloadingPointName,
       FldLogsSuplrItemVislInspCode,
       FldLogsSuplrItemVislInspText,
       ReversedMaterialDocument,

       //failed receipts

       cast('' as msgtxt)                             as FldLogsMsgTxt,
       FldLogsFailedRcptCritlty,

       //received tab

       Batch,
//       ManufactureDate,

//       ShelfLifeExpirationDate,

       _Batch.ManufactureDate,
       _Batch.ShelfLifeExpirationDate,
       CreatedByUser,
       //serial number

       MaterialIsSerialManaged,
       FldLogsSerialSecIsHidden,
       FldLogsSrlSecAggrgnIsHidden,
       FldLogsIsAutoSerialization,
       //batch managed

       IsBatchManagementRequired,

       FldLogsIsSupplierItem,

       //_SerialNumberItems,

       //material document number / item

       FldLogsMatlDocItem,
       MaterialDocumentHeaderText,
       InventoryStockType,
       InventoryStockTypeName,
       FldLogsRvslPostingDate,
       FldLogsIsValnType,
       Product,
       FldLogsSuplrItemSerialNumber,
       FldLogsManufactureDate,
       FldLogsShelfLifeExpiryDate,
       FldLogsItemType,
       FldLogsItmIsAtRemote,
       FldLogsIsContainerHidden,
       FldLogsErrorLogSecIsHidden,
       //       FldLogsFollowOnDocSecIsHidden,

       //Reversed Condition compared to the field name

       //when X, will be hidden when status is not received

       //When '', visible when status is received

       FldLogsIsVisibleInRcvd,
       //Reversed condition for whether an item can be distributed as it is used to hide the section.

       //Hidden: FldLogsItmIsToBeDistributed (X when you want it hidden)

       case
       when
        (FldLogsItmIsToBeReceived is not initial or
       //         FldLogsItmIsPreReceived is not initial or

         FldLogsItmIsFailed is not initial) and
        FldLogsIsWarehouseMngd is initial
        then cast ('' as boolean)
        else
        cast('X' as boolean) end                      as FldLogsItmIsToBeDistributed,
       FldLogsIProcRcpt.GoodsMovementTypeName,
       PurchasingDocumentSubtype,
       @Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
       FldLogsReversedQty,
       PackagingMaterial,
       PackagingMaterialName,
       @Semantics.quantity.unitOfMeasure: 'HandlingUnitQuantityUnit'
       FldLogsOpenPackQty,
       @Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
       FldLogsOpenPackQty                             as FldLogsPackQty,
       HandlingUnitQuantityUnit,
       cast(0 as int4)                                as TotalNumberOfHandlingUnits,
       cast('' as cifhutyp)                           as EWMHandlingUnitType,
       //       cast('' as char20) as HandlingUnitExternalID,

       FldLogsStatus,
       FldLogsStatusFrmEWMInbDeliv, // Status IDB

       FldLogsStatusTxt,
       FldLogsStatusFrmEWMInbDelivTxt,
       MaterialGroup,
       @Semantics.text: true
       MaterialGroupName,
       //Container Info for Supplier Items

       //       FldLogsContainerOwner,

       //       FldLogsSealNumber1,

       //       FldLogsSealNumber2,

       //       FldLogsSealNumber3,

       //       FldLogsSealNumber4,

       //       FldLogsSealNumber5,

       //       FldLogsSuplrItmPackggTypeCode,

       //       FldLogsSuplrItmPackggTypeTxt,

       FldLogsCtnInfoSecIsHidden,
       FldLogsHandlingUnitSecIsHidden,
       FldLogsPrintLabelIsVisible,

       // Supplier Item HU

       HandlingUnitExternalID,
       HandlingUnitId,
       //FldLogsContainerOwnerName,

       FldLogsOutbDelivIsAssgdToCtn,
       //PickingStatus,

       IsToBeAcceptedAtOrigin,
       FldLogsGdsMvtTypeIsEditable,
       @Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
       FldLogsPutawayQty,
       FldLogsEWMStockType,
       @Semantics.text: true
       FldLogsEWMStockTypeText,
       //hide EWM stock type for variant 2 & 3

       case when
       FldLogsItmIsReceived is  initial  and
        EWMWarehouse is not initial
        then cast ('' as boolean)
        else
        cast('X' as boolean) end                      as FldLogsItmIsEWMMngd,
       //hide stock type for variant 1

       case when
       FldLogsItmIsReceived is  initial  and
       EWMWarehouse is null
       then cast ('' as boolean)
       else
       cast('X' as boolean) end                       as FldLogsItmIsNonEWMMngd,
       FldLogsOpenDelivQty,
       @Semantics.booleanIndicator: true
       IsBusinessPurposeCompleted,
       @Semantics.booleanIndicator: true
       SuplrCoIsBusPrpsCmpltd,
       @Semantics.booleanIndicator: true
       IsEndOfPurposeBlocked,
       @Semantics.booleanIndicator: true
       IsBusPrpsCmpltdCustomer,
       @Semantics.text: true
       PurgDocItemCategoryName,
       PurgDocExternalItemCategory,

       //Extensibility indicator for the case where Subview contains Unions

       FldLogsProcRcptExtUnionID,
       //flag for non-stock and rental items at remote to issue to maint. order

       case when FldLogsIsSupplierItem is not initial and FldLogsItmIsAtRemote is not initial
       then cast('X' as boolean)
       else cast('' as boolean)                   end as FldLogsItmIsIssdToMaintOrd,
       //flag for items at base

       case when FldLogsItmIsAtRemote is initial then
       cast('X' as boolean  preserving type  ) else
       cast('' as boolean  preserving type  )end      as FldLogsItemIsAtBase,
       //flag to show WHT for non-stock/rental items when they are received at base 

       //flag to hide warehouse task facet for var2 and var3 at base in received tab

       //flag to hide warehouse task facet for var 2 and 3 at remote in to be recieved tab      

       case when ((FldLogsItmIsReceived is not initial and FldLogsItmIsAtRemote is initial and (EWMWarehouse is not initial or PackagingMaterial is not initial) )
        or(FldLogsItmIsReceived is initial and FldLogsItmIsAtRemote is not initial and EWMWarehouse is not initial ))
       then cast('' as boolean  preserving type  ) else
       cast('X' as boolean  preserving type  )end     as FldLogsWhseTskSecIsHidden,
       _DistributionItems

}