C_Customer360SolutionOrder
Solution Orders for customer 360
C_Customer360SolutionOrder is a Consumption CDS View that provides data about "Solution Orders for customer 360" in SAP S/4HANA. It reads from 2 data sources (I_Customer360BusDocSetting, I_ServiceDocumentEnhcd) and exposes 48 fields with key field BusinessSolutionOrder. It has 4 associations to related views. It is exposed through 1 OData service (SD_ADVNCD_CUSTOMER360). Part of development package ODATA_SD_ADVNCD_CUSTOMER360.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| I_Customer360BusDocSetting | Customer360BusDocSetting | inner |
| I_ServiceDocumentEnhcd | SolutionOrder | from |
Associations (4)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | P_BusSolnOrdCstmStsMappgEnhcd | _BusSolnOrdCstmStsMappgEnhcd | $projection.ServiceDocumentType = _BusSolnOrdCstmStsMappgEnhcd.ServiceDocumentType and $projection.BusSolnOrdStatus = _BusSolnOrdCstmStsMappgEnhcd.ServiceDocumentStatus and _BusSolnOrdCstmStsMappgEnhcd.Language = $session.system_language |
| [0..1] | I_SrvcLifeCycleSystemStatusT | _SrvcLifeCycleSystemStatusT | $projection.BusSolnOrdStatus = _SrvcLifeCycleSystemStatusT.SrvcLifeCycleSystemStatus and _SrvcLifeCycleSystemStatusT.Language = $session.system_language |
| [0..1] | I_SrvcMgmtObjectStatus | _SolutionOrderStatus | $projection.BusinessSolutionOrderUUID = _SolutionOrderStatus.SrvcMgmtObjectUUID and ( _SolutionOrderStatus.SrvcMgmtObjectStatus = 'I1002' or _SolutionOrderStatus.SrvcMgmtObjectStatus = 'I1003' or _SolutionOrderStatus.SrvcMgmtObjectStatus = 'I1004' or _SolutionOrderStatus.SrvcMgmtObjectStatus = 'I1005' ) and _SolutionOrderStatus.SrvcMgmtObjectStatusIsInactive = '' |
| [0..*] | I_CustMgmtPartner | _PersonResponsible | $projection.BusinessSolutionOrder = _PersonResponsible.CustMgmtDocument and _PersonResponsible.CustMgmtObjectType = 'BUS2000172' and _PersonResponsible.CustMgmtPartFunctionCategory = '0008' |
Annotations (9)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #MANDATORY | view | |
| EndUserText.label | Solution Orders for customer 360 | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| Search.searchable | true | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #XXL | view | |
| VDM.viewType | #CONSUMPTION | view | |
| Metadata.allowExtensions | true | view |
OData Services (1)
| Service | Binding | Version | Contract | Release |
|---|---|---|---|---|
| SD_ADVNCD_CUSTOMER360 | SD_ADVNCD_CUSTOMER360 | V4 | C1 | NOT_RELEASED |
Fields (48)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | BusinessSolutionOrder | I_ServiceDocumentEnhcd | ServiceDocument | |
| BusSolnOrdDescription | I_ServiceDocumentEnhcd | ServiceDocumentDescription | ||
| RespEmployeeBusinessPartnerId | I_ServiceDocumentEnhcd | ResponsibleEmployee | ||
| SoldToParty | I_ServiceDocumentEnhcd | SoldToParty | ||
| ContactPersonBusinessPartnerId | I_ServiceDocumentEnhcd | ContactPerson | ||
| TransactionCurrency | I_ServiceDocumentEnhcd | TransactionCurrency | ||
| BusSolnOrdNetAmount | I_ServiceDocumentEnhcd | ServiceDocNetAmount | ||
| BusSolnOrdGrossAmount | I_ServiceDocumentEnhcd | ServiceDocGrossAmount | ||
| BusSolnOrdStatus | I_ServiceDocumentEnhcd | ServiceDocumentStatus | ||
| BusSolnOrdHasError | I_ServiceDocumentEnhcd | ServiceDocumentHasError | ||
| ServiceDocumentHasErrorName | ||||
| CreationDate | I_ServiceDocumentEnhcd | ServiceDocumentCreationDate | ||
| ServiceDocumentChangedByUser | I_ServiceDocumentEnhcd | ServiceDocumentChangedByUser | ||
| PostingDate | I_ServiceDocumentEnhcd | PostingDate | ||
| LastChangedDate | I_ServiceDocumentEnhcd | ServiceDocumentChangedDate | ||
| ServiceDocumentCreatedByUser | I_ServiceDocumentEnhcd | ServiceDocumentCreatedByUser | ||
| SystemStatus | _SolutionOrderStatus | SrvcMgmtObjectStatus | ||
| StatusProfile | ||||
| PurchaseOrderByCustomer | I_ServiceDocumentEnhcd | PurchaseOrderByCustomer | External Reference | |
| SalesOrganization | I_ServiceDocumentEnhcd | SalesOrganization | ||
| SalesOrganizationName | ||||
| DistributionChannel | I_ServiceDocumentEnhcd | DistributionChannel | ||
| DistributionChannelName | ||||
| Division | I_ServiceDocumentEnhcd | Division | ||
| DivisionName | ||||
| SalesOffice | I_ServiceDocumentEnhcd | SalesOffice | ||
| SalesOfficeName | ||||
| SalesGroup | I_ServiceDocumentEnhcd | SalesGroup | ||
| SalesGroupName | ||||
| BusinessSolutionOrderUUID | I_ServiceDocumentEnhcd | ServiceDocumentUUID | ||
| ServiceDocumentType | I_ServiceDocumentEnhcd | ServiceDocumentType | ||
| RespEmployeeAtPartnerName | ||||
| SoldToPartyName | ||||
| CompanyContactPersonFullName | ||||
| _ContactPerson | I_ServiceDocumentEnhcd | _ContactPerson | ||
| _RespEmployee | I_ServiceDocumentEnhcd | _RespEmployee | ||
| _SoldToParty | I_ServiceDocumentEnhcd | _SoldToParty | ||
| _PersonResponsible | _PersonResponsible | |||
| _SalesOrganization | I_ServiceDocumentEnhcd | _SalesOrganization | ||
| _DistributionChannel | I_ServiceDocumentEnhcd | _DistributionChannel | ||
| _Division | I_ServiceDocumentEnhcd | _Division | ||
| _SalesOffice | I_ServiceDocumentEnhcd | _SalesOffice | ||
| _SalesGroup | I_ServiceDocumentEnhcd | _SalesGroup | ||
| SalesOrganizationOrgUnitID | I_ServiceDocumentEnhcd | SalesOrganizationOrgUnitID | ||
| SalesOfficeOrgUnitID | I_ServiceDocumentEnhcd | SalesOfficeOrgUnitID | ||
| SalesGroupOrgUnitID | I_ServiceDocumentEnhcd | SalesGroupOrgUnitID | ||
| ServiceOrganization | I_ServiceDocumentEnhcd | ServiceOrganization | ||
| ServiceObjectType | I_ServiceDocumentEnhcd | ServiceObjectType |
@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.personalData.blocking: #('TRANSACTIONAL_DATA')
@EndUserText.label: 'Solution Orders for customer 360'
@Metadata.ignorePropagatedAnnotations: true
@Search.searchable: true
@ObjectModel: {
usageType: {
dataClass: #MIXED,
serviceQuality: #C,
sizeCategory: #XXL
}
}
@VDM.viewType: #CONSUMPTION
@Metadata.allowExtensions: true
define view entity C_Customer360SolutionOrder
as select from I_ServiceDocumentEnhcd as SolutionOrder
inner join I_Customer360BusDocSetting as Customer360BusDocSetting on Customer360BusDocSetting.Cust360BusDocCategory = 'SOLO'
and Customer360BusDocSetting.BusinessDocumentIsEnabled = 'X'
association [0..1] to P_BusSolnOrdCstmStsMappgEnhcd as _BusSolnOrdCstmStsMappgEnhcd on $projection.ServiceDocumentType = _BusSolnOrdCstmStsMappgEnhcd.ServiceDocumentType
and $projection.BusSolnOrdStatus = _BusSolnOrdCstmStsMappgEnhcd.ServiceDocumentStatus
and _BusSolnOrdCstmStsMappgEnhcd.Language = $session.system_language
association [0..1] to I_SrvcLifeCycleSystemStatusT as _SrvcLifeCycleSystemStatusT on $projection.BusSolnOrdStatus = _SrvcLifeCycleSystemStatusT.SrvcLifeCycleSystemStatus
and _SrvcLifeCycleSystemStatusT.Language = $session.system_language
// association [1] to I_BusinessPartner as _ServiceDocCreatedBy on $projection.ServiceDocumentCreatedByUser = _ServiceDocCreatedBy.BusinessPartner
// association [1] to I_BusinessPartner as _ServiceDocChangedBy on $projection.ServiceDocumentChangedByUser = _ServiceDocChangedBy.BusinessPartner
association [0..1] to I_SrvcMgmtObjectStatus as _SolutionOrderStatus on $projection.BusinessSolutionOrderUUID = _SolutionOrderStatus.SrvcMgmtObjectUUID
and (
_SolutionOrderStatus.SrvcMgmtObjectStatus = 'I1002'
or _SolutionOrderStatus.SrvcMgmtObjectStatus = 'I1003'
or _SolutionOrderStatus.SrvcMgmtObjectStatus = 'I1004'
or _SolutionOrderStatus.SrvcMgmtObjectStatus = 'I1005'
)
and _SolutionOrderStatus.SrvcMgmtObjectStatusIsInactive = ''
association [0..*] to I_CustMgmtPartner as _PersonResponsible on $projection.BusinessSolutionOrder = _PersonResponsible.CustMgmtDocument
and _PersonResponsible.CustMgmtObjectType = 'BUS2000172'
and _PersonResponsible.CustMgmtPartFunctionCategory = '0008'
{
@ObjectModel.readOnly: true
@Consumption.semanticObject: 'BusinessSolutionOrder'
@Search: {
defaultSearchElement: true,
ranking: #HIGH,
fuzzinessThreshold: 1.0 }
key SolutionOrder.ServiceDocument as BusinessSolutionOrder,
@Search: {
defaultSearchElement: true,
ranking: #HIGH,
fuzzinessThreshold: 0.8 }
SolutionOrder.ServiceDocumentDescription as BusSolnOrdDescription,
// Partners
@ObjectModel.text.element: [ 'RespEmployeeAtPartnerName' ]
SolutionOrder.ResponsibleEmployee as RespEmployeeBusinessPartnerId,
@UI.hidden: true
@ObjectModel.text.element: [ 'SoldToPartyName' ]
@Search: {
defaultSearchElement: true,
ranking: #MEDIUM,
fuzzinessThreshold: 0.9 }
SolutionOrder.SoldToParty,
@ObjectModel.text.element: [ 'CompanyContactPersonFullName' ]
SolutionOrder.ContactPerson as ContactPersonBusinessPartnerId, // ContactPerson,
@UI.hidden: true
SolutionOrder.TransactionCurrency,
@Consumption.filter.hidden: true
@Semantics: { amount : { currencyCode: 'TransactionCurrency' } }
SolutionOrder.ServiceDocNetAmount as BusSolnOrdNetAmount,
@Consumption.filter.hidden: true
@Semantics: { amount : { currencyCode: 'TransactionCurrency' } }
SolutionOrder.ServiceDocGrossAmount as BusSolnOrdGrossAmount,
@ObjectModel.text.element: ['ServiceDocumentStatusName']
@Semantics.text: true
SolutionOrder.ServiceDocumentStatus as BusSolnOrdStatus,
@UI.hidden: true
case SolutionOrder._ServiceDocumentType.StatusProfile
when ''
then _SrvcLifeCycleSystemStatusT.SrvcLifeCycleSystemStatusName
else
case _BusSolnOrdCstmStsMappgEnhcd.ServiceDocumentStatus
when ''
then _SrvcLifeCycleSystemStatusT.SrvcLifeCycleSystemStatusName
else _BusSolnOrdCstmStsMappgEnhcd.StatusDescription
end
end as ServiceDocumentStatusName,
@ObjectModel.text.element: ['ServiceDocumentHasErrorName']
@Semantics.booleanIndicator
SolutionOrder.ServiceDocumentHasError as BusSolnOrdHasError,
@Semantics.text: true
@UI.hidden: true
SolutionOrder._ServiceDocHasError._ServiceDocHasErrorText[1:Language = $session.system_language].ServiceDocumentHasErrorName as ServiceDocumentHasErrorName,
// Admin fields for Solution Orders
@Semantics.businessDate.at: true
SolutionOrder.ServiceDocumentCreationDate as CreationDate,
@Consumption.filter.hidden: true
SolutionOrder.ServiceDocumentChangedByUser,
SolutionOrder.PostingDate,
@Consumption.filter.hidden: true
SolutionOrder.ServiceDocumentChangedDate as LastChangedDate,
@Consumption.filter.hidden: true
// @ObjectModel.text.element: [ 'BusinessPartnerFullName' ]
SolutionOrder.ServiceDocumentCreatedByUser,
// @UI.hidden: true
// _ServiceDocCreatedBy.BusinessPartnerFullName as BusinessPartnerFullName,
// @UI.hidden: true
// _ServiceDocChangedBy.BusinessPartnerFullName as LastChangedByUserName,
@UI.hidden: true
_SolutionOrderStatus.SrvcMgmtObjectStatus as SystemStatus,
SolutionOrder._ServiceDocumentType.StatusProfile,
@EndUserText.label: 'External Reference'
@Search: {
defaultSearchElement: true,
ranking: #MEDIUM,
fuzzinessThreshold: 0.8 }
SolutionOrder.PurchaseOrderByCustomer,
@ObjectModel.text.element: [ 'SalesOrganizationName' ]
SolutionOrder.SalesOrganization,
@Semantics.text: true
@UI.hidden: true
SolutionOrder._SalesOrganization._Text[1:Language = $session.system_language ].SalesOrganizationName,
@ObjectModel.text.element: [ 'DistributionChannelName' ]
SolutionOrder.DistributionChannel,
@Semantics.text: true
@UI.hidden: true
SolutionOrder._DistributionChannel._Text[1:Language = $session.system_language ].DistributionChannelName,
@ObjectModel.text.element: [ 'DivisionName' ]
SolutionOrder.Division,
@Semantics.text: true
@UI.hidden: true
SolutionOrder._Division._Text[1:Language = $session.system_language ].DivisionName,
@ObjectModel.text.element: [ 'SalesOfficeName' ]
SolutionOrder.SalesOffice,
@Semantics.text: true
@UI.hidden: true
SolutionOrder._SalesOffice._Text[1:Language = $session.system_language ].SalesOfficeName,
@ObjectModel.text.element: [ 'SalesGroupName' ]
SolutionOrder.SalesGroup,
@Semantics.text: true
@UI.hidden: true
SolutionOrder._SalesGroup._Text[1:Language = $session.system_language ].SalesGroupName,
@UI.hidden: true
SolutionOrder.ServiceDocumentUUID as BusinessSolutionOrderUUID,
@UI.hidden: true
SolutionOrder.ServiceDocumentType,
@UI.hidden: true
SolutionOrder._RespEmployee.BusinessPartnerFullName as RespEmployeeAtPartnerName,
@UI.hidden: true
SolutionOrder._SoldToParty.BusinessPartnerFullName as SoldToPartyName,
@UI.hidden: true
SolutionOrder._ContactPerson.BusinessPartnerFullName as CompanyContactPersonFullName,
// Associations
@UI.hidden: true
SolutionOrder._ContactPerson,
@UI.hidden: true
SolutionOrder._RespEmployee,
@UI.hidden: true
SolutionOrder._SoldToParty,
@UI.hidden: true
_PersonResponsible,
@UI.hidden: true
SolutionOrder._SalesOrganization,
@UI.hidden: true
SolutionOrder._DistributionChannel,
@UI.hidden: true
SolutionOrder._Division,
@UI.hidden: true
SolutionOrder._SalesOffice,
@UI.hidden: true
SolutionOrder._SalesGroup,
// DCL Fields
@UI.hidden: true
SolutionOrder.SalesOrganizationOrgUnitID,
@UI.hidden: true
SolutionOrder.SalesOfficeOrgUnitID,
@UI.hidden: true
SolutionOrder.SalesGroupOrgUnitID,
@UI.hidden: true
SolutionOrder.ServiceOrganization,
@UI.hidden: true
SolutionOrder.ServiceObjectType
}
where
SolutionOrder.ServiceObjectType = 'BUS2000172'
and SolutionOrder.ServiceDocumentTemplateType = ''
and SolutionOrder.ServiceDocCreationDateTime > dats_tims_to_tstmp(dats_add_days( tstmp_to_dats(tstmp_current_utctimestamp(), abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL'), - Customer360BusDocSetting.BusDocumentDurationInDays, 'INITIAL'), tstmp_to_tims(tstmp_current_utctimestamp(), abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL'), abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL')
and SolutionOrder.ServiceDocCreationDateTime <= tstmp_current_utctimestamp()
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