I_CUSTPROJSLSORD

CDS View

Sales Order for Customer Project

I_CUSTPROJSLSORD is a CDS View in S/4HANA. Sales Order for Customer Project. It contains 5 fields. 4 CDS views read from this table.

CDS Views using this table (4)

ViewTypeJoinVDMDescription
A_CustProjSlsOrd view from COMPOSITE Sales Order Header
A_CustProjSlsOrdText view inner COMPOSITE Sales Order Header Text
I_CustProjSlsOrdItem view inner COMPOSITE Sales Order Item for Customer Project
I_CustProjSlsOrdPartner view inner COMPOSITE Sales Order Partner for Customer Project

Fields (5)

KeyField CDS FieldsUsed in Views
KEY CustomerProject CustomerProject 3
DistributionChannel DistributionChannel 3
OrganizationDivision OrganizationDivision 3
SalesOrderType SalesOrderType 3
SalesOrganization SalesOrganization 3
@AbapCatalog.sqlViewName: 'ICUSTPROJSO'
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM: {
  viewType: #COMPOSITE,
  lifecycle.contract.type: #PUBLIC_LOCAL_API
}
@AccessControl: {
  authorizationCheck: #CHECK,
  personalData.blocking: #('TRANSACTIONAL_DATA')
}
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true

@ObjectModel: {
   representativeKey: 'CustomerProject',
   usageType: {
     dataClass:      #TRANSACTIONAL,
     serviceQuality: #B,
     sizeCategory:   #L
   },
   supportedCapabilities: [ #CDS_MODELING_ASSOCIATION_TARGET, #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE ]
}
@Metadata.ignorePropagatedAnnotations: true
@EndUserText.label: 'Sales Order for Customer Project'

define view I_CustProjSlsOrd
  as select from I_CustomerProjectItem as Project
    inner join   I_SalesOrder          as SalesOrder on Project.CustomerProjectItem    = SalesOrder.SalesOrder
                                                     and(
                                                       Project.CustomerProjectItemType = '0SOH'
                                                     )


  association [0..*] to I_CustProjSlsOrdItem    as _CustProjSlsOrdItem    on $projection.SalesOrder = _CustProjSlsOrdItem.SalesOrder
  association [0..*] to I_CustProjSlsOrdPartner as _CustProjSlsOrdPartner on $projection.SalesOrder = _CustProjSlsOrdPartner.SalesOrder
  association [1..1] to I_SalesOrder            as _SalesOrder            on $projection.SalesOrder = _SalesOrder.SalesOrder
  association [0..1] to I_CustomerProject       as _CustomerProject       on $projection.CustomerProject = _CustomerProject.CustomerProject

  //Extensibility

  association [0..1] to E_SalesDocumentBasic    as _Extension             on $projection.SalesOrder = _Extension.SalesDocument
{
      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_CustomerProjectVH',
                     element: 'CustomerProject' }
        }]
      @ObjectModel.foreignKey.association: '_CustomerProject'
  key Project.CustomerProject,

      @ObjectModel.foreignKey.association: '_SalesOrder'
      SalesOrder.SalesOrder,

      @Consumption.hidden: true
      SalesOrder.SalesOrderType,

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_Customer_VH',
                     element: 'Customer' }
        }]
      @ObjectModel.foreignKey.association: '_SoldToParty'
      SalesOrder.SoldToParty,

      @DefaultAggregation: #SUM
      @Semantics.amount.currencyCode: 'TransactionCurrency'
      SalesOrder.TotalNetAmount,

      @Semantics.currencyCode: true
      @ObjectModel.foreignKey.association: '_TransactionCurrency'
      SalesOrder.TransactionCurrency,

      SalesOrder.PurchaseOrderByCustomer,

      SalesOrder.CustomerPurchaseOrderDate,

      @ObjectModel.foreignKey.association: '_SalesOrganization'
      SalesOrder.SalesOrganization,

      @ObjectModel.foreignKey.association: '_DistributionChannel'
      SalesOrder.DistributionChannel,

      @ObjectModel.foreignKey.association: '_OrganizationDivision'
      SalesOrder.OrganizationDivision,

      @ObjectModel.foreignKey.association: '_SalesOffice'
      SalesOrder.SalesOffice,

      @ObjectModel.foreignKey.association: '_SalesGroup'
      SalesOrder.SalesGroup,

      @ObjectModel.foreignKey.association: '_CustomerPaymentTerms'
      SalesOrder.CustomerPaymentTerms,
      
      SalesOrder.PaymentMethod,

      @ObjectModel.foreignKey.association: '_CustomerAccountAssgmtGroup'
      SalesOrder.CustomerAccountAssignmentGroup,

      @ObjectModel.foreignKey.association: '_HeaderBillingBlockReason'
      SalesOrder.HeaderBillingBlockReason,

      //Associations

      _CustomerProject,
      _SalesOrder,
      _CustProjSlsOrdItem,
      _CustProjSlsOrdPartner,
      _SoldToParty,
      _TransactionCurrency,
      _SalesOrganization,
      _DistributionChannel,
      _OrganizationDivision,
      _SalesOffice,
      _SalesGroup,
      _CustomerPaymentTerms,
      _CustomerAccountAssgmtGroup,
      _HeaderBillingBlockReason
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CUSTOMERPROJECTITEM",
"I_SALESORDER"
],
"ASSOCIATED":
[
"E_SALESDOCUMENTBASIC",
"I_BILLINGBLOCKREASON",
"I_CURRENCY",
"I_CUSTOMER",
"I_CUSTOMERACCOUNTASSGMTGROUP",
"I_CUSTOMERPAYMENTTERMS",
"I_CUSTOMERPROJECT",
"I_CUSTPROJSLSORDITEM",
"I_CUSTPROJSLSORDPARTNER",
"I_DISTRIBUTIONCHANNEL",
"I_DIVISION",
"I_SALESGROUP",
"I_SALESOFFICE",
"I_SALESORDER",
"I_SALESORGANIZATION"
],
"BASE":
[
"I_SALESORDER"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/