I_BusSolnOrderItemSituation

DDL: I_BUSSOLNORDERITEMSITUATION SQL: ISOLOITEMSITU Type: view COMPOSITE Package: CRMS4_SOLUTIONORDER_FIORI_UI

Solution Order Item Situation View

I_BusSolnOrderItemSituation is a Composite CDS View that provides data about "Solution Order Item Situation View" in SAP S/4HANA. It reads from 1 data source (I_ServiceDocumentItemEnhcd) and exposes 52 fields with key fields ServiceObjectType, BusinessSolutionOrder, BusinessSolutionOrderItem, char10endasSuccessorReferenceDocument. It has 1 association to related views. Part of development package CRMS4_SOLUTIONORDER_FIORI_UI.

Data Sources (1)

SourceAliasJoin Type
I_ServiceDocumentItemEnhcd SolutionOrderItem from

Associations (1)

CardinalityTargetAliasCondition
[0..1] I_BusinessUserBasic _ResponsibleEmployee $projection.ResponsibleEmployee = _ResponsibleEmployee.BusinessPartner

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName ISOLOITEMSITU view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
ClientHandling.algorithm #SESSION_VARIABLE view
VDM.viewType #COMPOSITE view
ObjectModel.representativeKey BusinessSolutionOrder view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XXL view
EndUserText.label Solution Order Item Situation View view

Fields (52)

KeyFieldSource TableSource FieldDescription
KEY ServiceObjectType I_ServiceDocumentItemEnhcd ServiceObjectType
KEY BusinessSolutionOrder I_ServiceDocumentItemEnhcd ServiceDocument
KEY BusinessSolutionOrderItem
KEY char10endasSuccessorReferenceDocument
BusSolnOrderItemCharUUID I_ServiceDocumentItemEnhcd ServiceDocumentItemCharUUID
ServiceDocumentItemObjectType I_ServiceDocumentItemEnhcd ServiceDocumentItemObjectType
ServiceDocItemCategory I_ServiceDocumentItemEnhcd ServiceDocItemCategory
ResponsibleEmployee I_ServiceDocumentItemEnhcd ResponsibleEmployee
ResponsibleEmployeeUserID _ResponsibleEmployee UserID
ServiceDocSuccessorBusObjType ServiceDocuments ServiceObjectType
SubscrpnBillgSubscription Subscription SubscrpnBillgSubscription
SrvcDocItmDeliveryStatus I_ServiceDocumentItemEnhcd SrvcDocItmDeliveryStatus
LtstConfirmedDeliveryDateTime I_ServiceDocumentItemEnhcd LtstConfirmedDeliveryDateTime
RequestedServiceStartDateTime I_ServiceDocumentItemEnhcd RequestedServiceStartDateTime
RequestedServiceStartDate I_ServiceDocumentItemEnhcd RequestedServiceStartDate
ServiceEmployee ServiceDocuments ServiceEmployee
PlannedServiceEndDateTime I_ServiceDocumentItemEnhcd PlannedServiceEndDateTime
PlannedServiceEndDate I_ServiceDocumentItemEnhcd PlannedServiceEndDate
SuccessorProject EnterpriseProject Project
ProjectInternalID EnterpriseProject ProjectInternalID
ProcessingStatus EnterpriseProject ProcessingStatus
ServiceDocumentItemStatus I_ServiceDocumentItemEnhcd ServiceDocumentItemStatus
ServiceDocumentItemUUID I_ServiceDocumentItemEnhcd ServiceDocumentItemUUID
SalesOrganization I_ServiceDocumentItemEnhcd SalesOrganization
DistributionChannel I_ServiceDocumentItemEnhcd DistributionChannel
Division I_ServiceDocumentItemEnhcd Division
SalesOffice I_ServiceDocumentItemEnhcd SalesOffice
SalesGroup I_ServiceDocumentItemEnhcd SalesGroup
SalesOfficeOrgUnitID I_ServiceDocumentItemEnhcd SalesOfficeOrgUnitID
SalesOrganizationOrgUnitID I_ServiceDocumentItemEnhcd SalesOrganizationOrgUnitID
SalesGroupOrgUnitID I_ServiceDocumentItemEnhcd SalesGroupOrgUnitID
ServiceOrganization I_ServiceDocumentItemEnhcd ServiceOrganization
ServiceDocumentType I_ServiceDocumentItemEnhcd ServiceDocumentType
_ResponsibleEmployee _ResponsibleEmployee
_SalesOfficeOrgUnit I_ServiceDocumentItemEnhcd _SalesOfficeOrgUnit
_SalesOfficeOrgUnit_2 I_ServiceDocumentItemEnhcd _SalesOfficeOrgUnit_2
_SalesOrganizationOrgUnit I_ServiceDocumentItemEnhcd _SalesOrganizationOrgUnit
_SalesOrganizationOrgUnit_2 I_ServiceDocumentItemEnhcd _SalesOrganizationOrgUnit_2
_SalesGroupOrgUnit I_ServiceDocumentItemEnhcd _SalesGroupOrgUnit
_SalesGroupOrgUnit_2 I_ServiceDocumentItemEnhcd _SalesGroupOrgUnit_2
_ServiceOrganizationOrgUnit I_ServiceDocumentItemEnhcd _ServiceOrganizationOrgUnit
_ServiceOrganizationOrgUnit_2 I_ServiceDocumentItemEnhcd _ServiceOrganizationOrgUnit_2
_SalesOrganization I_ServiceDocumentItemEnhcd _SalesOrganization
_SalesOffice I_ServiceDocumentItemEnhcd _SalesOffice
_SalesGroup I_ServiceDocumentItemEnhcd _SalesGroup
_DistributionChannel I_ServiceDocumentItemEnhcd _DistributionChannel
_Division I_ServiceDocumentItemEnhcd _Division
_RespEmployee I_ServiceDocumentItemEnhcd _RespEmployee
_ServiceDocumentType I_ServiceDocumentItemEnhcd _ServiceDocumentType
_ServiceDocItemStatus I_ServiceDocumentItemEnhcd _ServiceDocItemStatus
_SrvcDocItmLifecycleStatus I_ServiceDocumentItemEnhcd _SrvcDocItmLifecycleStatus
_ServiceEmployee ServiceDocuments _ServiceEmployee
@AbapCatalog.sqlViewName: 'ISOLOITEMSITU'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl:
       {
         authorizationCheck: #CHECK,
         personalData.blocking: #('TRANSACTIONAL_DATA')
       }


@ClientHandling.algorithm: #SESSION_VARIABLE

@VDM: {
  viewType: #COMPOSITE
}

@ObjectModel:{
 representativeKey: 'BusinessSolutionOrder',
       usageType:
       {
          dataClass: #TRANSACTIONAL,
          serviceQuality: #C,
          sizeCategory: #XXL
       }
}

@ObjectModel.semanticKey: ['BusinessSolutionOrder', 'BusinessSolutionOrderItem']

@EndUserText.label:'Solution Order Item  Situation View'
define view I_BusSolnOrderItemSituation
  as select from           I_ServiceDocumentItemEnhcd     as SolutionOrderItem

    left outer to one join I_ServiceDocumentItemSuccssr_3 as ServiceDocumentFlow   on  SolutionOrderItem.ServiceObjectType           = 'BUS2000172'
                                                                                   and SolutionOrderItem.ServiceDocumentItemCharUUID = ServiceDocumentFlow.ServiceDocumentItemCharUUID

    left outer to one join I_ServiceDocumentItemEnhcd     as ServiceDocuments      on  ServiceDocumentFlow.ServiceDocumentItemSuccessor is not null
                                                                                   and ServiceDocuments.ServiceDocumentItemCharUUID     = ServiceDocumentFlow.ServiceDocumentItemSuccessor

    left outer to one join I_ServiceDocumentSuccessor     as SalesOrder            on ServiceDocumentFlow.ServiceDocumentItmRelationUUID = SalesOrder.ServiceDocumentRelationUUID

    left outer to one join I_BusSolnOrdItmFUPSubscription as SubscriptionItem      on  SubscriptionItem.BusSolnOrderItemCharUUID       = SolutionOrderItem.ServiceDocumentItemCharUUID
                                                                                   and SolutionOrderItem.ServiceDocumentItemObjectType = 'BUS2000189'

    left outer to one join I_BusSolnOrdFUPSubscription    as Subscription          on Subscription.ServiceDocumentRelationUUID = SubscriptionItem.ServiceDocumentItmRelationUUID

    left outer to one join I_BusSolnOrdItmFUPEntProject   as EnterpriseProjectItem on EnterpriseProjectItem.BusSolnOrderItemCharUUID = SolutionOrderItem.ServiceDocumentItemCharUUID

    left outer to one join I_EnterpriseProject            as EnterpriseProject     on EnterpriseProject.ProjectUUID = EnterpriseProjectItem.ProjectUUID

  association [0..1] to I_BusinessUserBasic as _ResponsibleEmployee on $projection.ResponsibleEmployee = _ResponsibleEmployee.BusinessPartner
{
      // Key fields

  key SolutionOrderItem.ServiceObjectType                                      as ServiceObjectType,
  key SolutionOrderItem.ServiceDocument                                        as BusinessSolutionOrder,
  key cast(ltrim(SolutionOrderItem.ServiceDocumentItem, '0') as abap.char(45)) as BusinessSolutionOrderItem,
  key case
      when SolutionOrderItem.ServiceDocumentItemObjectType = 'BUS2000131'
        then cast(ltrim(SalesOrder.ServiceDocSuccessor, '0') as abap.char(10))
      else
        cast(ltrim(ServiceDocuments.ServiceDocument, '0') as abap.char(10))
      end                                                                      as SuccessorReferenceDocument,

      // For authorization and navigation to object page

      @Semantics.uuid: true
      SolutionOrderItem.ServiceDocumentItemCharUUID                            as BusSolnOrderItemCharUUID,
      SolutionOrderItem.ServiceDocumentItemObjectType,
      SolutionOrderItem.ServiceDocItemCategory,
      @ObjectModel.foreignKey.association: '_RespEmployee'
      SolutionOrderItem.ResponsibleEmployee,
      _ResponsibleEmployee.UserID                                              as ResponsibleEmployeeUserID,

      ServiceDocuments.ServiceObjectType                                       as ServiceDocSuccessorBusObjType,
      Subscription.SubscrpnBillgSubscription,

      // Situation: Delivery date is reached, but no or only partial delivery has taken place | Template: SOLN_SOLO_SLSITM_NOT_DLVRD

      SolutionOrderItem.SrvcDocItmDeliveryStatus,
      SolutionOrderItem.LtstConfirmedDeliveryDateTime,

      // Situation: Requested service date of the Solution Order service item is close | Template: SOLN_SOLO_SRVCITM_NOT_SCHEDLD

      SolutionOrderItem.RequestedServiceStartDateTime,
      SolutionOrderItem.RequestedServiceStartDate,
      @ObjectModel.foreignKey.association: '_ServiceEmployee'
      ServiceDocuments.ServiceEmployee,

      // Situation: Planned execution date of the Solution Order service item reached | Template: SOLN_SOLO_SRVCITM_NOT_CMPLTD

      SolutionOrderItem.PlannedServiceEndDateTime,
      SolutionOrderItem.PlannedServiceEndDate,

      // Situation: Project Start date of customer project changed | Template: SOLN_SOLO_PROJITM_DATE_CHGD

      EnterpriseProject.Project                                                as SuccessorProject,
      EnterpriseProject.ProjectInternalID,
      EnterpriseProject.ProcessingStatus,

      @ObjectModel.foreignKey.association: '_SrvcDocItmLifecycleStatus'
      SolutionOrderItem.ServiceDocumentItemStatus,
      SolutionOrderItem.ServiceDocumentItemUUID,

      // Fields required for authorization

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

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

      @ObjectModel.foreignKey.association: '_Division'
      SolutionOrderItem.Division,

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

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

      @ObjectModel.foreignKey.association: '_SalesOfficeOrgUnit_2'
      SolutionOrderItem.SalesOfficeOrgUnitID,

      @ObjectModel.foreignKey.association: '_SalesOrganizationOrgUnit_2'
      SolutionOrderItem.SalesOrganizationOrgUnitID,

      @ObjectModel.foreignKey.association: '_SalesGroupOrgUnit_2'
      SolutionOrderItem.SalesGroupOrgUnitID,

      @ObjectModel.foreignKey.association: '_ServiceOrganizationOrgUnit_2'
      SolutionOrderItem.ServiceOrganization,

      @ObjectModel.foreignKey.association: '_ServiceDocumentType'
      SolutionOrderItem.ServiceDocumentType,


      //Associations

      _ResponsibleEmployee,

      @API.element.releaseState: #DEPRECATED
      @API.element.successor: '_SalesOfficeOrgUnit_2'
      SolutionOrderItem._SalesOfficeOrgUnit,
      SolutionOrderItem._SalesOfficeOrgUnit_2,

      @API.element.releaseState: #DEPRECATED
      @API.element.successor: '_SalesOrganizationOrgUnit_2'
      SolutionOrderItem._SalesOrganizationOrgUnit,
      SolutionOrderItem._SalesOrganizationOrgUnit_2,

      @API.element.releaseState: #DEPRECATED
      @API.element.successor: '_SalesGroupOrgUnit_2'
      SolutionOrderItem._SalesGroupOrgUnit,
      SolutionOrderItem._SalesGroupOrgUnit_2,

      @API.element.releaseState: #DEPRECATED
      @API.element.successor: '_ServiceOrganizationOrgUnit_2'
      SolutionOrderItem._ServiceOrganizationOrgUnit,
      SolutionOrderItem._ServiceOrganizationOrgUnit_2,
      SolutionOrderItem._SalesOrganization,
      SolutionOrderItem._SalesOffice,
      SolutionOrderItem._SalesGroup,
      SolutionOrderItem._DistributionChannel,
      SolutionOrderItem._Division,
      SolutionOrderItem._RespEmployee,
      SolutionOrderItem._ServiceDocumentType,

      @API.element.releaseState: #DEPRECATED
      @API.element.successor: '_SrvcDocItmLifecycleStatus'
      SolutionOrderItem._ServiceDocItemStatus,
      SolutionOrderItem._SrvcDocItmLifecycleStatus,

      ServiceDocuments._ServiceEmployee
}
where
  SolutionOrderItem.ServiceObjectType = 'BUS2000172'