R_BUSINESSSOLUTIONORDERTP

CDS View

Business Solution Order - TP

R_BUSINESSSOLUTIONORDERTP is a CDS View in S/4HANA. Business Solution Order - TP. It contains 1 fields. 4 CDS views read from this table.

CDS Views using this table (4)

ViewTypeJoinVDMDescription
A_BusinessSolutionOrder_2 view_entity projection CONSUMPTION Solution Order Header
C_BusSolnOrdListRptAndObjPg view_entity projection CONSUMPTION Projection: Solution Order
I_BusinessSolutionOrderTP view_entity projection TRANSACTIONAL Business Solution Order - TP
R_BusSolnOrdAppointmentTP view_entity inner TRANSACTIONAL Business Solution Order Appointment - TP

Fields (1)

KeyField CDS FieldsUsed in Views
KEY BusinessSolutionOrder BusinessSolutionOrder 1
@AccessControl: {
  authorizationCheck: #CHECK,
  personalData.blocking: #('TRANSACTIONAL_DATA')
}

@Metadata.ignorePropagatedAnnotations: true

@ObjectModel.sapObjectNodeType.name: 'BusinessSolutionOrder'

@ObjectModel: {
  semanticKey: ['BusinessSolutionOrder'],
  representativeKey: 'BusinessSolutionOrder',
  usageType:{
    dataClass:      #TRANSACTIONAL,
    serviceQuality: #C,
    sizeCategory:   #L
  }
}

@VDM: {
  viewType: #TRANSACTIONAL,
  lifecycle.contract.type: #SAP_INTERNAL_API
}

@EndUserText.label: 'Business Solution Order - TP'

define root view entity R_BusinessSolutionOrderTP
  as select from I_ServiceDocumentEnhcd

  association [0..1] to I_CustMgmtExtRefID             as _ExternalReference            on  $projection.BusinessSolutionOrder       = _ExternalReference.CustMgmtDocument
                                                                                        and _ExternalReference.CustMgmtObjectType   = 'BUS2000172'
                                                                                        and _ExternalReference.CustMgmtExtRefIDType = '0012'

  association [0..*] to I_CustMgmtPartner              as _PersonResponsible            on  $projection.BusinessSolutionOrder               = _PersonResponsible.CustMgmtDocument
                                                                                        and _PersonResponsible.CustMgmtObjectType           = 'BUS2000172'
                                                                                        and _PersonResponsible.CustMgmtPartFunctionCategory = '0008'

  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..1] to E_ServiceDocument              as _Extension                    on  $projection.ServiceObjectType     = _Extension.ServiceCategory
                                                                                        and $projection.BusinessSolutionOrder = _Extension.ServiceOrder


  // Added Associations for C_BusSolnOrdListRptAndObjPg

  association [1..1] to I_ServiceDocumentEnhcd         as _ServiceDocumentEnhcd         on  $projection.BusinessSolutionOrder       = _ServiceDocumentEnhcd.ServiceDocument
                                                                                        and _ServiceDocumentEnhcd.ServiceObjectType = 'BUS2000172'

  association [1]    to I_SrvcDocErrorStatusVH         as _ServiceDocHasError           on  $projection.BusSolnOrdHasError = _ServiceDocHasError.ServiceDocumentHasError


  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_SrvcMgmtBPQuickView_2        as _SrvcDocBPSoldToParty         on  $projection.SoldToParty = _SrvcDocBPSoldToParty.BusinessPartner
  association [0..1] to I_SrvcMgmtBPQuickView_2        as _SrvcDocBPContactCard         on  $projection.ContactPersonBusinessPartnerId = _SrvcDocBPContactCard.BusinessPartner
  association [0..1] to I_SrvcMgmtBPQuickView_2        as _SrvcDocBPRespEmployee        on  $projection.RespEmployeeBusinessPartnerId = _SrvcDocBPRespEmployee.BusinessPartner

  association [0..1] to I_CustMgmtLifecycleUserStsText as _CustMgmtLifecycleUserStsText on  $projection.BusSolnOrdStatus           = _CustMgmtLifecycleUserStsText.CustMgmtLifecycleUserStatus
                                                                                        and _CustMgmtLifecycleUserStsText.Language = $session.system_language

  association [0..1] to P_BusSolnOrdCstmStsMappgEnhcd  as _BusSolnOrdCstmStsMappgEnhcd  on  $projection.BusSolnOrdType            = _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 [0..1] to I_ServiceDocumentPredecessor   as _CPQQuotation            on  $projection.BusinessSolutionOrderUUID     = _CPQQuotation.ServiceDocumentUUID

//                                                                                   and _CPQQuotation.ServiceDocPrdcssrBusObjType = 'CPQQUOTH'

//  

//  association [0..1] to I_ServiceDocumentType        as _ServiceDocumentType           on  $projection.BusSolnOrdType = _ServiceDocumentType.ServiceDocumentType

  association [1..*] to I_ServiceDocumentTypeText      as _ServiceDocumentTypeText  on $projection.BusSolnOrdType = _ServiceDocumentTypeText.ServiceDocumentType
  
  association [1..*] to I_SrvcDocLifecycleStatusText   as _SrvcDocLifecycleStatusText on $projection.BusSolnOrdStatus = _SrvcDocLifecycleStatusText.ServiceDocumentStatus
  
  association [1..*] to I_SalesOrganizationText    as _SalesOrganizationText  on $projection.SalesOrganization = _SalesOrganizationText.SalesOrganization
  
  association [1..*] to I_DistributionChannelText    as _DistributionChannelText  on $projection.DistributionChannel = _DistributionChannelText.DistributionChannel
  
  association [1..*] to I_DivisionText    as _DivisionText  on $projection.Division = _DivisionText.Division
  
  association [1..*] to I_SalesOfficeText    as _SalesOfficeText  on $projection.SalesOffice = _SalesOfficeText.SalesOffice
  
  association [1..*] to I_SalesGroupText    as _SalesGroupText  on $projection.SalesGroup = _SalesGroupText.SalesGroup
  
  association [1..*] to I_PaymentTermsText  as _PaymentTermsText on $projection.PaymentTerms = _PaymentTermsText.PaymentTerms
  
  association [1..*] to I_CurrencyText   as _CurrencyText on $projection.TransactionCurrency = _CurrencyText.Currency
   
  composition [0..*] of R_BusinessSolutionOrderItemTP  as _BusinessSolutionOrderItemTP
  composition [0..*] of R_BusSolnOrdPartnerTP          as _BusSolnOrdPartnerTP
  composition [0..*] of R_BusSolnOrdItemRelationshipTP as _BusSolnOrdItemRelationshipTP
  composition [0..*] of R_BusSolnOrdFUPSalesOrderTP    as _BusSolnOrdFUPSalesOrderTP
  composition [0..*] of R_BusSolnOrdFUPSrvcOrdTP       as _BusSolnOrdFUPSrvcOrdTP
  composition [0..*] of R_BusSolnOrdFUPSrvcContrTP     as _BusSolnOrdFUPSrvcContrTP
  composition [0..*] of R_BusSolnOrdFUPSubscrpnTP      as _BusSolnOrdFUPSubscrpnTP
  composition [0..*] of R_BusSolnOrdFUPEntProjectTP    as _BusSolnOrdFUPEntProjectTP
  composition [0..*] of R_BusSolnOrdUserStatusTP       as _BusSolnOrdUserStatusTP
  composition [0..*] of R_BSOrdPrdcssrSrvcContrTP      as _BSOrdPrdcssrSrvcContrTP
  composition [0..*] of R_BusSolnOrdPriceElementTP     as _BusSolnOrdPriceElementTP
  composition [0..*] of R_BusSolnOrdLongTextTP         as _BusSolnOrdLongTextTP
  composition [0..*] of R_BusSolnOrdAppointmentTP      as _BusSolnOrdAppointment
{
      // Administrative

  key ServiceDocument                                  as BusinessSolutionOrder,

      @ObjectModel.foreignKey.association: '_ServiceDocumentType'
      @ObjectModel.text.association: '_ServiceDocumentTypeText'
//      @Consumption.valueHelpDefinition: [{association:'_ServiceDocumentType'}]

      ServiceDocumentType                              as BusSolnOrdType,
      @Semantics.uuid: true
      ServiceDocumentUUID                              as BusinessSolutionOrderUUID,

      @Semantics.uuid: true
      ServiceDocumentCharUUID,
      ServiceDocumentDescription                       as BusSolnOrdDescription,
      Language,
      PostingDate,
      ServiceDocCreationDateTime,
      ServiceDocChangedDateTime,
      ServiceDocumentCreatedByUser,
      ServiceDocumentChangedByUser,
      _ExternalReference.CustMgmtExtRefID              as BusSolnOrdExtReference,


      // Partners

      @ObjectModel.foreignKey.association: '_SoldToParty'
      SoldToParty,

      @ObjectModel.foreignKey.association: '_ShipToParty'
      ShipToParty,

      @ObjectModel.foreignKey.association: '_BillToParty'
      BillToParty,

      @ObjectModel.foreignKey.association: '_PayerParty'
      PayerParty,

      @ObjectModel.foreignKey.association: '_ContactPerson'
      ContactPerson                                    as ContactPersonBusinessPartnerId,

      @ObjectModel.foreignKey.association: '_RespEmployee'
      ResponsibleEmployee                              as RespEmployeeBusinessPartnerId,


      // Status

      cast(case _SolutionOrderStatus.SrvcMgmtObjectStatus
      when 'I1002' then 'X'
      else ' '
      end                  as   xfeld preserving type) as BusSolnOrdIsNew,

      cast(case _SolutionOrderStatus.SrvcMgmtObjectStatus
      when 'I1003' then 'X'
      else ' '
      end                  as   xfeld preserving type) as BusSolnOrdIsInProcess,

      cast(case _SolutionOrderStatus.SrvcMgmtObjectStatus
      when 'I1004' then 'X'
      else ' '
      end                  as   xfeld preserving type) as BusSolnOrdIsReleased,

      cast(case _SolutionOrderStatus.SrvcMgmtObjectStatus
      when 'I1005' then 'X'
      else ' '
      end                  as   xfeld preserving type) as BusSolnOrdIsCompleted,
      
//      cast(case _SolutionOrderStatus.SrvcMgmtObjectStatus

//      when 'I1075' then 'C'

//      else ' '

//      end                  as   xfeld preserving type) as ServiceDocOvrlBillgBlkSts,

//

      @ObjectModel.text.association: '_SrvcDocLifecycleStatusText'
      ServiceDocumentStatus                            as BusSolnOrdStatus,

      case _ServiceDocumentType.StatusProfile
      when ''
        then _SrvcLifeCycleSystemStatusT.SrvcLifeCycleSystemStatusName
      else
         case _BusSolnOrdCstmStsMappgEnhcd.ServiceDocumentStatus
         when ''
          then _SrvcLifeCycleSystemStatusT.SrvcLifeCycleSystemStatusName
          else _BusSolnOrdCstmStsMappgEnhcd.StatusDescription
         end
       end                                             as ServiceDocumentStatusName,

      // Dates and Durations

      CustomerPurchaseOrderDate,


      // Pricing

      @ObjectModel.foreignKey.association: '_TransactionCurrency'
      @ObjectModel.text.association: '_CurrencyText'
      TransactionCurrency,

      @Semantics.amount.currencyCode: 'TransactionCurrency'
      ServiceDocNetAmount,

      @Semantics.amount.currencyCode: 'TransactionCurrency'
      ServiceDocGrossAmount,

      // Organization

      @ObjectModel.foreignKey.association: '_SalesOrganization'
      @ObjectModel.text.association: '_SalesOrganizationText'
      SalesOrganization,

      @ObjectModel.foreignKey.association: '_DistributionChannel'
      @ObjectModel.text.association: '_DistributionChannelText'
      DistributionChannel,

      @ObjectModel.foreignKey.association: '_Division'
      @ObjectModel.text.association: '_DivisionText'
      Division,

      @ObjectModel.foreignKey.association: '_SalesOffice'
      @ObjectModel.text.association: '_SalesOfficeText'
      SalesOffice,

      @ObjectModel.foreignKey.association: '_SalesGroup'
      @ObjectModel.text.association: '_SalesGroupText'
      SalesGroup,


      // Others

      @Semantics.booleanIndicator
      ServiceDocumentHasError                          as BusSolnOrdHasError,
      @ObjectModel.text.association: '_PaymentTermsText'
      PaymentTerms,
      PurchaseOrderByCustomer,
      
      // Contract Account

      ContractAccount,

      // For Authorization

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

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

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

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

      @ObjectModel.foreignKey.association: '_ServiceObjType'
      ServiceObjectType,
      
       /* CPQ Quotation Reference*/
      // cast ( _CPQQuotation.CustMgmtPrdcssrTransactionKey as abap.char( 10 ) ) as CPQQuotation,



      // Compositions

      _BusinessSolutionOrderItemTP,
      _BusSolnOrdPartnerTP,
      _BusSolnOrdItemRelationshipTP,
      @Semantics.valueRange.maximum: '1'
      _BusSolnOrdFUPSalesOrderTP,
      _BusSolnOrdFUPSrvcOrdTP,
      _BusSolnOrdFUPSrvcContrTP,
      _BusSolnOrdFUPSubscrpnTP,
      _BusSolnOrdFUPEntProjectTP,
      @Semantics.valueRange.maximum: '1'
      _BusSolnOrdUserStatusTP,
      _BSOrdPrdcssrSrvcContrTP,
      _BusSolnOrdPriceElementTP,
      _BusSolnOrdLongTextTP, 
      _BusSolnOrdAppointment,      


      // Associations

      _ContactPerson,
      _RespEmployee,
      _ServiceObjType,
      _SoldToParty,
      _ShipToParty,
      _BillToParty,
      _PayerParty,
      _PersonResponsible,

      _SalesOrganization,
      _DistributionChannel,
      _Division,
      _SalesOffice,
      _SalesGroup,

      _SalesOrganizationOrgUnit_2,
      _SalesOfficeOrgUnit_2,
      _SalesGroupOrgUnit_2,
      _ServiceOrganizationOrgUnit_2,

      _TransactionCurrency,


      // Associations for C_BusSolnListRptAndObjPg

      _ServiceDocumentEnhcd,
      _ServiceDocHasError,
      _SolutionOrderStatus,
      _ServiceDocCreatedBy,
      _ServiceDocChangedBy,
      _ServiceDocumentType,
      _SrvcDocBPSoldToParty,
      _SrvcDocBPContactCard,
      _SrvcDocBPRespEmployee,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: '_SrvcDocLifecycleStatus'
      _ServiceDocumentStatus,
      _SrvcDocLifecycleStatus,
      _SrvcLifeCycleSystemStatusT,
      _ServiceDocumentTypeText,
      _SrvcDocLifecycleStatusText,
      _SalesOrganizationText,
      _DistributionChannelText,
      _DivisionText,
      _SalesOfficeText,
      _SalesGroupText,
      _PaymentTermsText,
      _CurrencyText
      
      //Associations needed in OData V4

     // _CPQQuotation

}
where
  ServiceObjectType = 'BUS2000172'