I_PurchaseOrderItemPurgIssue
SOFM Purchase Order Item Purchasing Issue
I_PurchaseOrderItemPurgIssue is a Composite CDS View that provides data about "SOFM Purchase Order Item Purchasing Issue" in SAP S/4HANA. It reads from 3 data sources (I_SalesOrderInSupplyPurgIssue, I_PurchasingDocumentItem, I_SalesDocumentItem) and exposes 27 fields with key fields PurchasingDocument, PurchasingDocumentItem.
Data Sources (3)
| Source | Alias | Join Type |
|---|---|---|
| I_SalesOrderInSupplyPurgIssue | ISSUE_SU01 | from |
| I_PurchasingDocumentItem | POI | inner |
| I_SalesDocumentItem | SOI | inner |
Parameters (1)
| Name | Type | Default |
|---|---|---|
| P_ReferenceDate | sydate |
Annotations (9)
| Name | Value | Level | Field |
|---|---|---|---|
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.usageType.serviceQuality | #D | view | |
| ObjectModel.usageType.sizeCategory | #S | view | |
| EndUserText.label | SOFM Purchase Order Item Purchasing Issue | view | |
| VDM.viewType | #COMPOSITE | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| AbapCatalog.preserveKey | true | view | |
| AbapCatalog.sqlViewName | IPURORDITMSU01 | view |
Fields (27)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | PurchasingDocument | I_PurchasingDocumentItem | PurchasingDocument | |
| KEY | PurchasingDocumentItem | I_PurchasingDocumentItem | PurchasingDocumentItem | |
| DueDays | I_SalesOrderInSupplyPurgIssue | DueDays | ||
| DueDate | I_SalesOrderInSupplyPurgIssue | DueDate | ||
| SalesOrder | I_SalesOrderInSupplyPurgIssue | SalesOrder | ||
| SalesOrderItem | I_SalesOrderInSupplyPurgIssue | SalesOrderItem | ||
| SalesOrderType | ||||
| SalesOrderItemCategory | I_SalesDocumentItem | SalesDocumentItemCategory | ||
| _ItemCategory | _ItemCategory | |||
| SalesOrganization | ||||
| DistributionChannel | ||||
| OrganizationDivision | ||||
| OrderQuantity | I_SalesDocumentItem | OrderQuantity | ||
| OrderQuantityUnit | I_SalesDocumentItem | OrderQuantityUnit | ||
| NetAmount | I_SalesDocumentItem | NetAmount | ||
| TransactionCurrency | I_SalesDocumentItem | TransactionCurrency | ||
| PurchasingDocumentItemText | I_PurchasingDocumentItem | PurchasingDocumentItemText | ||
| Material | I_PurchasingDocumentItem | Material | ||
| Plant | I_PurchasingDocumentItem | Plant | ||
| PlantName | ||||
| PurchasingDocumentOrderQty | I_PurchasingDocumentItem | OrderQuantity | ||
| PurgDocOrderQuantityUnit | I_PurchasingDocumentItem | OrderQuantityUnit | ||
| IsCompletelyDelivered | I_PurchasingDocumentItem | IsCompletelyDelivered | ||
| IsFinallyInvoiced | I_PurchasingDocumentItem | IsFinallyInvoiced | ||
| DeliveryDate | I_SalesOrderInSupplyPurgIssue | DeliveryDate | ||
| _TransactionCurrency | I_SalesDocumentItem | _TransactionCurrency | ||
| _OrderQuantityUnit | I_SalesDocumentItem | _OrderQuantityUnit |
@ClientHandling.algorithm: #SESSION_VARIABLE //Inserted by VDM CDS Suite Plugin
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #S
@EndUserText.label: 'SOFM Purchase Order Item Purchasing Issue'
@VDM.viewType: #COMPOSITE
@AccessControl.authorizationCheck: #CHECK
@AbapCatalog.preserveKey: true
@AbapCatalog.sqlViewName: 'IPURORDITMSU01'
define view I_PurchaseOrderItemPurgIssue
with parameters
@Consumption.hidden: true
@Environment.systemField: #SYSTEM_DATE
P_ReferenceDate : sydate
as select from I_SalesOrderInSupplyPurgIssue as ISSUE_SU01 --(P_ReferenceDate: $parameters.P_ReferenceDate) as ISSUE_SU01
inner join I_PurchasingDocumentItem as POI
on ISSUE_SU01.PurchasingDocument = POI.PurchasingDocument
and ISSUE_SU01.PurchasingDocumentItem = POI.PurchasingDocumentItem
and POI.IsEndOfPurposeBlocked = '' -- AT20.11.2017 Mitigation Removal DPP filter in PurchasingDocument Views
inner join I_SalesDocumentItem as SOI
on ISSUE_SU01.SalesOrder = SOI.SalesDocument
and ISSUE_SU01.SalesOrderItem = SOI.SalesDocumentItem
left outer to one join I_PurgDocSupplierConfirmation as PO_CO
on POI.PurchasingDocument = PO_CO.PurchasingDocument
and POI.PurchasingDocumentItem = PO_CO.PurchasingDocumentItem
--and PO_CO._PurchasingDocument.IsEndOfPurposeBlocked = '' -- AT20.11.2017 Mitigation: not possible here, but also not needed ! Filter above should be sufficient !
{
// Key
key POI.PurchasingDocument,
key POI.PurchasingDocumentItem,
//DueDays
@DefaultAggregation: #MIN
ISSUE_SU01.DueDays,
@DefaultAggregation: #MIN
ISSUE_SU01.DueDate,
// Sales Order
ISSUE_SU01.SalesOrder,
ISSUE_SU01.SalesOrderItem,
// Category Sales Order
SOI._SalesDocument.SalesDocumentType as SalesOrderType,
@ObjectModel.foreignKey.association: '_ItemCategory'
SOI.SalesDocumentItemCategory as SalesOrderItemCategory,
_ItemCategory,
// Organization Sales Order
SOI._SalesDocument.SalesOrganization,
SOI._SalesDocument.DistributionChannel,
SOI._SalesDocument.OrganizationDivision,
// Quantity Sales Order Item
@DefaultAggregation: #SUM
@Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
SOI.OrderQuantity,
@Semantics.unitOfMeasure: true
@ObjectModel.foreignKey.association: '_OrderQuantityUnit'
SOI.OrderQuantityUnit,
// Pricing Sales Order Item
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'TransactionCurrency'
SOI.NetAmount,
@Semantics.currencyCode: true
@ObjectModel.foreignKey.association: '_TransactionCurrency'
SOI.TransactionCurrency,
// Text Purchasing Order Item
POI.PurchasingDocumentItemText,
// Product Purchasing Order Item
POI.Material,
@ObjectModel.text.element: [ 'PlantName' ]
POI.Plant,
@Semantics.text: true
POI._Plant.PlantName,
// Quantity Purchasing Order Item
@DefaultAggregation:#SUM
@Semantics.quantity.unitOfMeasure: 'PurgDocOrderQuantityUnit'
POI.OrderQuantity as PurchasingDocumentOrderQty,
@Semantics.unitOfMeasure: true
POI.OrderQuantityUnit as PurgDocOrderQuantityUnit,
// Status Purchasing Order Item
POI.IsCompletelyDelivered,
POI.IsFinallyInvoiced,
case when (POI.SupplierConfirmationControlKey != '' and PO_CO.SequentialNmbrOfSuplrConf is null )
then 'X' else ''
end as SuplrConfIsPending,
// Date
ISSUE_SU01.DeliveryDate,
SOI._TransactionCurrency,
SOI._OrderQuantityUnit
}
where POI.PurchasingDocumentCategory = #BSTYP.'F'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PLANT",
"I_PURCHASINGDOCUMENTITEM",
"I_PURGDOCSUPPLIERCONFIRMATION",
"I_SALESDOCUMENT",
"I_SALESDOCUMENTITEM",
"I_SALESORDERINSUPPLYPURGISSUE"
],
"ASSOCIATED":
[
"I_CURRENCY",
"I_SALESDOCUMENTITEMCATEGORY",
"I_UNITOFMEASURE"
],
"BASE":
[
"I_SALESDOCUMENTITEM"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA