I_CustProjSlsOrd
Sales Order for Customer Project
I_CustProjSlsOrd is a Composite CDS View that provides data about "Sales Order for Customer Project" in SAP S/4HANA. It reads from 2 data sources (I_CustomerProjectItem, I_SalesOrder) and exposes 31 fields with key field CustomerProject. It has 5 associations to related views.
SAP Help Documentation
| Category | CDS Views for Customer and Internal Project Management |
|---|---|
| Status | Released |
Purpose
This CDS view provides the prerequisites for answering the following business questions: What is the net value of my sales order in my customer project? Which payment terms were defined? Which sales organization was used for my sales order in my customer project?
Prerequisites
Users who want to run reports using this CDS view must have a role based on the Project Manager - Professional Services ( SAP_BR_PROJECT_MANAGER_PROF ) business role template. In this role, the following restrictions must be set to read access: Sales Order Type Division Sales Organization Distribution Channel These restriction types are edited in the Maintain Business Roles app.
Structure
Object types This view is built on the following object types: Sales order Customer project The key field is CustomerProject . Measures and attributes Some important measures and attributes are: Customer project ( CustomerProject ) Sales order ( SalesOrder ) Net value ( TotalNetAmount )
This CDS view provides the prerequisites for answering the following business questions: What is the net value of my sales order in my customer project? Which payment terms were defined? Which sales organization was used for my sales order in my customer project?
Prerequisites
Users who want to run reports using this CDS view must have a role based on the Project Manager - Professional Services ( SAP_BR_PROJECT_MANAGER_PROF ) business role template. In this role, the following restrictions must be set to read access: Sales Order Type Division Sales Organization Distribution Channel These restriction types are edited in the Maintain Business Roles app.
Structure
Object types This view is built on the following object types: Sales order Customer project The key field is CustomerProject . Measures and attributes Some important measures and attributes are: Customer project ( CustomerProject ) Sales order ( SalesOrder ) Net value ( TotalNetAmount )
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| I_CustomerProjectItem | Project | from |
| I_SalesOrder | SalesOrder | inner |
Associations (5)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..*] | I_CustProjSlsOrdItem | _CustProjSlsOrdItem | $projection.SalesOrder = _CustProjSlsOrdItem.SalesOrder |
| [0..*] | I_CustProjSlsOrdPartner | _CustProjSlsOrdPartner | $projection.SalesOrder = _CustProjSlsOrdPartner.SalesOrder |
| [1..1] | I_SalesOrder | _SalesOrder | $projection.SalesOrder = _SalesOrder.SalesOrder |
| [0..1] | I_CustomerProject | _CustomerProject | $projection.CustomerProject = _CustomerProject.CustomerProject |
| [0..1] | E_SalesDocumentBasic | _Extension | $projection.SalesOrder = _Extension.SalesDocument |
Annotations (13)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | ICUSTPROJSO | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| VDM.viewType | #COMPOSITE | view | |
| VDM.lifecycle.contract.type | #PUBLIC_LOCAL_API | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| ObjectModel.representativeKey | CustomerProject | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.usageType.serviceQuality | #B | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| EndUserText.label | Sales Order for Customer Project | view |
Fields (31)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | CustomerProject | I_CustomerProjectItem | CustomerProject | Engmnt Project ID |
| SalesOrder | I_SalesOrder | SalesOrder | SD Document | |
| SalesOrderType | I_SalesOrder | SalesOrderType | Sales Order Type | |
| SoldToParty | I_SalesOrder | SoldToParty | Sold-to Party | |
| TotalNetAmount | I_SalesOrder | TotalNetAmount | Total Net Amount | |
| TransactionCurrency | I_SalesOrder | TransactionCurrency | Transaction Currency | |
| PurchaseOrderByCustomer | I_SalesOrder | PurchaseOrderByCustomer | Purchase Order Number | |
| CustomerPurchaseOrderDate | I_SalesOrder | CustomerPurchaseOrderDate | Purchase Order Date | |
| SalesOrganization | I_SalesOrder | SalesOrganization | Sales Organization | |
| DistributionChannel | I_SalesOrder | DistributionChannel | RefDistCh-Cust/Mat. | |
| OrganizationDivision | I_SalesOrder | OrganizationDivision | Org. Division | |
| SalesOffice | I_SalesOrder | SalesOffice | Sales Office | |
| SalesGroup | I_SalesOrder | SalesGroup | Sales Group | |
| CustomerPaymentTerms | I_SalesOrder | CustomerPaymentTerms | Pyt Terms | |
| PaymentMethod | I_SalesOrder | PaymentMethod | Pymt Meth. | |
| CustomerAccountAssignmentGroup | I_SalesOrder | CustomerAccountAssignmentGroup | AccAssmtGrpCust | |
| HeaderBillingBlockReason | I_SalesOrder | HeaderBillingBlockReason | Billing Block | |
| _CustomerProject | _CustomerProject | |||
| _SalesOrder | _SalesOrder | |||
| _CustProjSlsOrdItem | _CustProjSlsOrdItem | |||
| _CustProjSlsOrdPartner | _CustProjSlsOrdPartner | |||
| _SoldToParty | _SoldToParty | |||
| _TransactionCurrency | _TransactionCurrency | |||
| _SalesOrganization | _SalesOrganization | |||
| _DistributionChannel | _DistributionChannel | |||
| _OrganizationDivision | _OrganizationDivision | |||
| _SalesOffice | _SalesOffice | |||
| _SalesGroup | _SalesGroup | |||
| _CustomerPaymentTerms | _CustomerPaymentTerms | |||
| _CustomerAccountAssgmtGroup | _CustomerAccountAssgmtGroup | |||
| _HeaderBillingBlockReason | _HeaderBillingBlockReason |
Derived SQL interpretation, reconstructed from the parsed view metadata (data sources, associations, and field mappings). SAP annotations are omitted and the structure is reformulated as SQL — this is a functional approximation, not the verbatim SAP source.
-- Derived SQL interpretation of CDS view I_CustProjSlsOrd.
-- Reconstructed from parsed metadata (data sources, associations, fields).
-- SAP annotations are omitted and the structure is reformulated as SQL;
-- this is a functional approximation, not the verbatim SAP source. Some join
-- conditions may be unavailable and a few CDS constructs are kept as-is.
-- SQL view name: ICUSTPROJSO
CREATE VIEW I_CustProjSlsOrd AS
SELECT
Project.CustomerProject AS CustomerProject,
SalesOrder.SalesOrder AS SalesOrder,
SalesOrder.SalesOrderType AS SalesOrderType,
SalesOrder.SoldToParty AS SoldToParty,
SalesOrder.TotalNetAmount AS TotalNetAmount,
SalesOrder.TransactionCurrency AS TransactionCurrency,
SalesOrder.PurchaseOrderByCustomer AS PurchaseOrderByCustomer,
SalesOrder.CustomerPurchaseOrderDate AS CustomerPurchaseOrderDate,
SalesOrder.SalesOrganization AS SalesOrganization,
SalesOrder.DistributionChannel AS DistributionChannel,
SalesOrder.OrganizationDivision AS OrganizationDivision,
SalesOrder.SalesOffice AS SalesOffice,
SalesOrder.SalesGroup AS SalesGroup,
SalesOrder.CustomerPaymentTerms AS CustomerPaymentTerms,
SalesOrder.PaymentMethod AS PaymentMethod,
SalesOrder.CustomerAccountAssignmentGroup AS CustomerAccountAssignmentGroup,
SalesOrder.HeaderBillingBlockReason AS HeaderBillingBlockReason
FROM I_CustomerProjectItem AS Project
INNER JOIN I_SalesOrder AS SalesOrder ON /* join condition not captured in parsed metadata */
LEFT OUTER JOIN I_CustProjSlsOrdItem AS _CustProjSlsOrdItem ON SalesOrder = _CustProjSlsOrdItem.SalesOrder -- association [0..*]
LEFT OUTER JOIN I_CustProjSlsOrdPartner AS _CustProjSlsOrdPartner ON SalesOrder = _CustProjSlsOrdPartner.SalesOrder -- association [0..*]
LEFT OUTER JOIN I_SalesOrder AS _SalesOrder ON SalesOrder = _SalesOrder.SalesOrder -- association [1..1]
LEFT OUTER JOIN I_CustomerProject AS _CustomerProject ON CustomerProject = _CustomerProject.CustomerProject -- association [0..1]
LEFT OUTER JOIN E_SalesDocumentBasic AS _Extension ON SalesOrder = _Extension.SalesDocument -- association [0..1]
;
Learn More
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- CDS View Annotations — A Complete Guide
- What Is a CDS View in SAP S/4HANA?
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- 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
- BSEG to ACDOCA: The Universal Journal Migration
- Business Partner Migration: KNA1/LFA1 to BUT000
- Material Document Migration: MSEG/MKPF to MATDOC
- How to Find the Right CDS View for an SAP Table
- BW Extractor to CDS View Migration Guide
- S/4HANA CDS View Deprecation: What You Need to Know
- ABAP CDS View Tutorial — From Basics to Real-World Examples
- RAP and CDS Views — Building Transactional Apps in SAP S/4HANA
- Sales Document Status Migration: VBUP/VBUK Removal in S/4HANA
- CO Tables in S/4HANA: COEP, COBK, COSS, COSP to ACDOCA