R_FLDLOGSPROCESSRECEIPTSTP
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)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| 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
}