A_CustProjSlsOrd
Sales Order Header
A_CustProjSlsOrd is a Composite CDS View that provides data about "Sales Order Header" in SAP S/4HANA. It reads from 1 data source (I_CustProjSlsOrd) and exposes 20 fields with key field CustomerProject. It has 4 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_CustProjSlsOrd | CustProjSlsOrd | from |
Associations (4)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..*] | A_CustProjSlsOrdItem | _CustProjSlsOrdItem | $projection.SalesOrder = _CustProjSlsOrdItem.SalesOrder |
| [0..*] | A_CustProjSlsOrdPartner | _CustProjSlsOrdPartner | $projection.SalesOrder = _CustProjSlsOrdPartner.SalesOrder |
| [0..*] | A_CustProjSlsOrdText | _CustProjSlsOrdText | $projection.CustomerProject = _CustProjSlsOrdText.CustomerProject |
| [0..1] | E_SalesDocumentBasic | _Extension | $projection.SalesOrder = _Extension.SalesDocument |
Annotations (15)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | ACUSTPROJSO | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| VDM.viewType | #COMPOSITE | view | |
| VDM.lifecycle.contract.type | #PUBLIC_REMOTE_API | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| AbapCatalog.preserveKey | true | view | |
| ObjectModel.representativeKey | CustomerProject | view | |
| ObjectModel.createEnabled | true | view | |
| ObjectModel.updateEnabled | true | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.usageType.serviceQuality | #B | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| EndUserText.label | Sales Order Header | view |
Fields (20)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | CustomerProject | CustomerProject | ||
| SalesOrder | SalesOrder | |||
| SalesOrderType | SalesOrderType | |||
| SoldToParty | SoldToParty | |||
| TotalNetAmount | TotalNetAmount | |||
| TransactionCurrency | TransactionCurrency | |||
| PurchaseOrderByCustomer | PurchaseOrderByCustomer | |||
| CustomerPurchaseOrderDate | CustomerPurchaseOrderDate | |||
| SalesOffice | SalesOffice | |||
| SalesGroup | SalesGroup | |||
| CustomerPaymentTerms | CustomerPaymentTerms | |||
| PaymentMethod | PaymentMethod | |||
| CustomerAccountAssignmentGroup | CustomerAccountAssignmentGroup | |||
| HeaderBillingBlockReason | HeaderBillingBlockReason | |||
| SalesOrganization | SalesOrganization | |||
| DistributionChannel | DistributionChannel | |||
| OrganizationDivision | OrganizationDivision | |||
| _CustProjSlsOrdItem | _CustProjSlsOrdItem | |||
| _CustProjSlsOrdPartner | _CustProjSlsOrdPartner | |||
| _CustProjSlsOrdText | _CustProjSlsOrdText |
@AbapCatalog: {
sqlViewName: 'ACUSTPROJSO',
compiler.compareFilter: true
}
@ClientHandling.algorithm:#SESSION_VARIABLE
@VDM: {
viewType: #COMPOSITE,
lifecycle.contract.type: #PUBLIC_REMOTE_API
}
@AccessControl: {
authorizationCheck: #CHECK,
personalData.blocking: #('TRANSACTIONAL_DATA')
}
@AbapCatalog.preserveKey: true
@ObjectModel: {
representativeKey: 'CustomerProject',
createEnabled: true,
updateEnabled: true,
usageType: {
dataClass: #TRANSACTIONAL,
serviceQuality: #B,
sizeCategory: #L
}
}
@Metadata.ignorePropagatedAnnotations: true
@EndUserText.label: 'Sales Order Header'
define view A_CustProjSlsOrd
as select from I_CustProjSlsOrd as CustProjSlsOrd
association [0..*] to A_CustProjSlsOrdItem as _CustProjSlsOrdItem on $projection.SalesOrder = _CustProjSlsOrdItem.SalesOrder
association [0..*] to A_CustProjSlsOrdPartner as _CustProjSlsOrdPartner on $projection.SalesOrder = _CustProjSlsOrdPartner.SalesOrder
association [0..*] to A_CustProjSlsOrdText as _CustProjSlsOrdText on $projection.CustomerProject = _CustProjSlsOrdText.CustomerProject
//Extensibility
association [0..1] to E_SalesDocumentBasic as _Extension on $projection.SalesOrder = _Extension.SalesDocument
{
//SalesOrder
key CustomerProject,
@ObjectModel.readOnly: true
SalesOrder,
@ObjectModel.readOnly: true
@Consumption.hidden: true
SalesOrderType,
@ObjectModel.readOnly: true
SoldToParty,
@ObjectModel.readOnly: true
@Semantics.amount.currencyCode: 'TransactionCurrency'
TotalNetAmount,
@Semantics.currencyCode: true
TransactionCurrency,
PurchaseOrderByCustomer,
CustomerPurchaseOrderDate,
SalesOffice,
SalesGroup,
CustomerPaymentTerms,
PaymentMethod,
CustomerAccountAssignmentGroup,
HeaderBillingBlockReason,
@ObjectModel.readOnly: true
SalesOrganization,
@ObjectModel.readOnly: true
DistributionChannel,
@ObjectModel.readOnly: true
OrganizationDivision,
/* Associations */
_CustProjSlsOrdItem,
_CustProjSlsOrdPartner,
_CustProjSlsOrdText
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CUSTPROJSLSORD"
],
"ASSOCIATED":
[
"A_CUSTPROJSLSORDITEM",
"A_CUSTPROJSLSORDPARTNER",
"A_CUSTPROJSLSORDTEXT",
"E_SALESDOCUMENTBASIC"
],
"BASE":
[],
"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