A_BusSolnOrdEntProjectItem
Enterprise Project Item
A_BusSolnOrdEntProjectItem is a Composite CDS View that provides data about "Enterprise Project Item" in SAP S/4HANA. It reads from 1 data source (I_ServiceDocumentItemEnhcd) and exposes 30 fields with key fields BusinessSolutionOrder, BusinessSolutionOrderItem. It has 10 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_ServiceDocumentItemEnhcd | I_ServiceDocumentItemEnhcd | from |
Associations (10)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | A_BusinessSolutionOrder | _BusinessSolutionOrder | $projection.BusinessSolutionOrder = _BusinessSolutionOrder.BusinessSolutionOrder |
| [0..1] | A_BusSolnOrdItmFUPEntProject | _EnterpriseProject | $projection.BusinessSolutionOrder = _EnterpriseProject.BusinessSolutionOrder and $projection.BusinessSolutionOrderItem = _EnterpriseProject.BusinessSolutionOrderItem |
| [0..*] | I_SrvcDocAppointment | _EnterpriseProjectDates | $projection.BusinessSolutionOrderItemUUID = _EnterpriseProjectDates.SrvcMgmtObjectUUID |
| [0..1] | I_CustMgmtPartner | _ProjectManager | $projection.BusinessSolutionOrder = _ProjectManager.CustMgmtDocument and $projection.BusinessSolutionOrderItem = _ProjectManager.CustMgmtDocumentItem and _ProjectManager.CustMgmtPartFunctionCategory = '0093' and _ProjectManager.CustMgmtObjectType = 'BUS2000172' |
| [0..*] | A_BusSolutionOrderItemText | _Text | $projection.BusinessSolutionOrder = _Text.BusinessSolutionOrder and $projection.BusinessSolutionOrderItem = _Text.BusinessSolutionOrderItem |
| [0..1] | I_CustMgmtExtRefID | _ExternalReference | $projection.BusinessSolutionOrder = _ExternalReference.CustMgmtDocument and _ExternalReference.CustMgmtObjectType = 'BUS2000172' and $projection.BusinessSolutionOrderItem = _ExternalReference.CustMgmtDocumentItem and _ExternalReference.CustMgmtExtRefIDType = '0013' |
| [0..1] | E_ServiceDocumentItem | _Extension | _Extension.ServiceCategory = 'BUS2000172' and $projection.BusinessSolutionOrder = _Extension.ServiceOrderItem and $projection.BusinessSolutionOrderItem = _Extension.ServiceLineExternalID |
| [0..*] | A_BusSolnOrdItmUserStatus | _UserStatus | $projection.BusinessSolutionOrder = _UserStatus.BusinessSolutionOrder and $projection.BusinessSolutionOrderItem = _UserStatus.BusinessSolutionOrderItem |
| [0..1] | I_ServiceDocumentItemSuccssr_3 | _ProjectLinkage | _ProjectLinkage.ServiceDocumentItmRelationType = 'SOL1' and _ProjectLinkage.ServiceDocItmSuccssrBusObjType = 'CPMPROJI' and $projection.ServiceDocumentItemCharUUID = _ProjectLinkage.ServiceDocumentItemCharUUID |
| [0..1] | I_UnitOfMeasure | _QuantityUnit | $projection.QuantityUnit = _QuantityUnit.UnitOfMeasure |
Annotations (15)
| Name | Value | Level | Field |
|---|---|---|---|
| EndUserText.label | Enterprise Project Item | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| VDM.viewType | #COMPOSITE | view | |
| VDM.lifecycle.contract.type | #PUBLIC_REMOTE_API | view | |
| AbapCatalog.sqlViewName | ABSOENTPROJITM | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| ObjectModel.createEnabled | true | view | |
| ObjectModel.updateEnabled | true | view | |
| ObjectModel.deleteEnabled | true | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| Metadata.ignorePropagatedAnnotations | true | view |
Fields (30)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | BusinessSolutionOrder | ServiceDocument | ||
| KEY | BusinessSolutionOrderItem | ServiceDocumentItem | ||
| BusinessSolutionOrderItemUUID | ServiceDocumentItemUUID | |||
| BusSolnOrdItmCategory | ServiceDocItemCategory | |||
| Product | Product | |||
| Quantity | ServiceDocumentItemQuantity | |||
| QuantityUnit | ServiceDocItemQuantityUnit | |||
| BusSolnOrdItmQtyUnitSAPCode | ||||
| BusSolnOrdItmQtyUnitISOCode | ||||
| BusSolnOrdItmDescription | ServiceDocumentItemDescription | |||
| ServiceDocumentItemNetAmount | ServiceDocumentItemNetAmount | |||
| TransactionCurrency | TransactionCurrency | |||
| BusSolnOrdItmExtReference | _ExternalReference | CustMgmtExtRefID | ||
| ParentServiceDocumentItemUUID | ParentServiceDocumentItemUUID | |||
| ParentBusSolnOrdItem | _ParentServiceDocItem | ServiceDocumentItem | ||
| BusSolnOrdItmIsReleased | ServiceDocumentItemIsReleased | |||
| SoldToParty | SoldToParty | |||
| ProjectManager | _ProjectManager | CustMgmtBusinessPartner | ||
| PersonResponsible | ||||
| clientNULLasProjectStartDate | ||||
| clientNULLasProjectEndDate | ||||
| ResponsibleCostCenter | ResponsibleCostCenter | |||
| ProfitCenter | ProfitCenter | |||
| EnterpriseProjectServiceOrg | EnterpriseProjectServiceOrg | |||
| ServiceDocumentItemCharUUID | ServiceDocumentItemCharUUID | |||
| ProjectelseendasLinkedProject | ||||
| _BusinessSolutionOrder | _BusinessSolutionOrder | |||
| _EnterpriseProject | _EnterpriseProject | |||
| _Text | _Text | |||
| _UserStatus | _UserStatus |
@EndUserText.label: 'Enterprise Project Item'
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM: {
viewType: #COMPOSITE,
lifecycle.contract.type: #PUBLIC_REMOTE_API
}
@AbapCatalog: {
sqlViewName: 'ABSOENTPROJITM',
compiler.compareFilter: true,
preserveKey: true
}
@AccessControl: {
authorizationCheck: #CHECK,
personalData.blocking: #('TRANSACTIONAL_DATA')
}
@ObjectModel: {
createEnabled: true,
updateEnabled: true,
deleteEnabled: true,
usageType: {
dataClass: #TRANSACTIONAL,
serviceQuality: #C,
sizeCategory: #L
}
}
@Metadata.ignorePropagatedAnnotations: true
define view A_BusSolnOrdEntProjectItem
as select from I_ServiceDocumentItemEnhcd
association [1..1] to A_BusinessSolutionOrder as _BusinessSolutionOrder on $projection.BusinessSolutionOrder = _BusinessSolutionOrder.BusinessSolutionOrder
association [0..1] to A_BusSolnOrdItmFUPEntProject as _EnterpriseProject on $projection.BusinessSolutionOrder = _EnterpriseProject.BusinessSolutionOrder
and $projection.BusinessSolutionOrderItem = _EnterpriseProject.BusinessSolutionOrderItem
association [0..*] to I_SrvcDocAppointment as _EnterpriseProjectDates on $projection.BusinessSolutionOrderItemUUID = _EnterpriseProjectDates.SrvcMgmtObjectUUID
association [0..1] to I_CustMgmtPartner as _ProjectManager on $projection.BusinessSolutionOrder = _ProjectManager.CustMgmtDocument
and $projection.BusinessSolutionOrderItem = _ProjectManager.CustMgmtDocumentItem
and _ProjectManager.CustMgmtPartFunctionCategory = '0093'
and _ProjectManager.CustMgmtObjectType = 'BUS2000172'
association [0..*] to A_BusSolutionOrderItemText as _Text on $projection.BusinessSolutionOrder = _Text.BusinessSolutionOrder
and $projection.BusinessSolutionOrderItem = _Text.BusinessSolutionOrderItem
association [0..1] to I_CustMgmtExtRefID as _ExternalReference on $projection.BusinessSolutionOrder = _ExternalReference.CustMgmtDocument
and _ExternalReference.CustMgmtObjectType = 'BUS2000172'
and $projection.BusinessSolutionOrderItem = _ExternalReference.CustMgmtDocumentItem
and _ExternalReference.CustMgmtExtRefIDType = '0013'
association [0..1] to E_ServiceDocumentItem as _Extension on _Extension.ServiceCategory = 'BUS2000172'
and $projection.BusinessSolutionOrder = _Extension.ServiceOrderItem
and $projection.BusinessSolutionOrderItem = _Extension.ServiceLineExternalID
association [0..*] to A_BusSolnOrdItmUserStatus as _UserStatus on $projection.BusinessSolutionOrder = _UserStatus.BusinessSolutionOrder
and $projection.BusinessSolutionOrderItem = _UserStatus.BusinessSolutionOrderItem
association [0..1] to I_ServiceDocumentItemSuccssr_3 as _ProjectLinkage on _ProjectLinkage.ServiceDocumentItmRelationType = 'SOL1'
and _ProjectLinkage.ServiceDocItmSuccssrBusObjType = 'CPMPROJI'
and $projection.ServiceDocumentItemCharUUID = _ProjectLinkage.ServiceDocumentItemCharUUID
association [0..1] to I_UnitOfMeasure as _QuantityUnit on $projection.QuantityUnit = _QuantityUnit.UnitOfMeasure
{
key ServiceDocument as BusinessSolutionOrder,
key ServiceDocumentItem as BusinessSolutionOrderItem,
@ObjectModel.readOnly: true
ServiceDocumentItemUUID as BusinessSolutionOrderItemUUID,
@ObjectModel.sapObjectNodeTypeReference: 'ServiceDocumentItemCategory'
ServiceDocItemCategory as BusSolnOrdItmCategory,
Product,
@Semantics.quantity.unitOfMeasure: 'QuantityUnit'
@Semantics.quantity.unitOfMeasureSapCode: 'BusSolnOrdItmQtyUnitSAPCode'
@Semantics.quantity.unitOfMeasureIsoCode: 'BusSolnOrdItmQtyUnitISOCode'
ServiceDocumentItemQuantity as Quantity,
@Semantics.unitOfMeasure: true
ServiceDocItemQuantityUnit as QuantityUnit,
cast(_QuantityUnit.UnitOfMeasureSAPCode as sd_ord_qty_sapunit preserving type) as BusSolnOrdItmQtyUnitSAPCode,
cast(_QuantityUnit.UnitOfMeasureISOCode as sd_ord_qty_isounit preserving type) as BusSolnOrdItmQtyUnitISOCode,
ServiceDocumentItemDescription as BusSolnOrdItmDescription,
@Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
@ObjectModel.readOnly: true
ServiceDocumentItemNetAmount,
@ObjectModel.sapObjectNodeTypeReference: 'Currency'
TransactionCurrency,
_ExternalReference.CustMgmtExtRefID as BusSolnOrdItmExtReference,
@ObjectModel.readOnly: true
ParentServiceDocumentItemUUID,
@ObjectModel.readOnly: true
_ParentServiceDocItem.ServiceDocumentItem as ParentBusSolnOrdItem,
/* STATUS */
ServiceDocumentItemIsReleased as BusSolnOrdItmIsReleased,
case ServiceDocumentItemStatus
when 'C' then 'X'
else ''
end as BusSolnOrdItmIsCompleted,
/* PARTNERS */
SoldToParty,
_ProjectManager.CustMgmtBusinessPartner as ProjectManager,
cast(ResponsibleEmployee as abap.char( 12 ) ) as PersonResponsible,
/*DATES */
tstmp_to_dats( _EnterpriseProjectDates[1:SrvcDocAppointmentType = 'PROJSTART'].SrvcDocApptStartDateTime,
abap_system_timezone( $session.client,'NULL' ),
$session.client,'NULL' ) as ProjectStartDate,
tstmp_to_dats( _EnterpriseProjectDates[1:SrvcDocAppointmentType = 'PROJEND'].SrvcDocApptStartDateTime,
abap_system_timezone( $session.client,'NULL' ),
$session.client,'NULL' ) as ProjectEndDate,
ResponsibleCostCenter,
ProfitCenter,
EnterpriseProjectServiceOrg,
@ObjectModel.readOnly: true
@Semantics.uuid: true
ServiceDocumentItemCharUUID,
case _ProjectLinkage.ServiceDocumentItmRelationType
when 'SOL1' then _EnterpriseProject.Project
else ''
end as LinkedProject,
_BusinessSolutionOrder,
_EnterpriseProject,
_Text,
_UserStatus
}
where
ServiceObjectType = 'BUS2000172'
and ServiceDocumentItemObjectType = 'BUS2000193'
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