R_BusinessSolutionOrderTP

DDL: R_BUSINESSSOLUTIONORDERTP Type: view_entity TRANSACTIONAL Package: CRMS4_SOLUTION_ORDER_RAP

Business Solution Order - TP

R_BusinessSolutionOrderTP is a Transactional CDS View that provides data about "Business Solution Order - TP" in SAP S/4HANA. It reads from 1 data source (I_ServiceDocumentEnhcd) and exposes 89 fields with key field BusinessSolutionOrder. It has 36 associations to related views. Part of development package CRMS4_SOLUTION_ORDER_RAP.

Data Sources (1)

SourceAliasJoin Type
I_ServiceDocumentEnhcd I_ServiceDocumentEnhcd from

Associations (36)

CardinalityTargetAliasCondition
[0..1] I_CustMgmtExtRefID _ExternalReference $projection.BusinessSolutionOrder = _ExternalReference.CustMgmtDocument and _ExternalReference.CustMgmtObjectType = 'BUS2000172' and _ExternalReference.CustMgmtExtRefIDType = '0012'
[0..*] I_CustMgmtPartner _PersonResponsible $projection.BusinessSolutionOrder = _PersonResponsible.CustMgmtDocument and _PersonResponsible.CustMgmtObjectType = 'BUS2000172' and _PersonResponsible.CustMgmtPartFunctionCategory = '0008'
[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..1] E_ServiceDocument _Extension $projection.ServiceObjectType = _Extension.ServiceCategory and $projection.BusinessSolutionOrder = _Extension.ServiceOrder
[1..1] I_ServiceDocumentEnhcd _ServiceDocumentEnhcd $projection.BusinessSolutionOrder = _ServiceDocumentEnhcd.ServiceDocument and _ServiceDocumentEnhcd.ServiceObjectType = 'BUS2000172'
[1] I_SrvcDocErrorStatusVH _ServiceDocHasError $projection.BusSolnOrdHasError = _ServiceDocHasError.ServiceDocumentHasError
[1] I_BusinessPartner _ServiceDocCreatedBy $projection.ServiceDocumentCreatedByUser = _ServiceDocCreatedBy.BusinessPartner
[1] I_BusinessPartner _ServiceDocChangedBy $projection.ServiceDocumentChangedByUser = _ServiceDocChangedBy.BusinessPartner
[0..1] I_SrvcMgmtBPQuickView_2 _SrvcDocBPSoldToParty $projection.SoldToParty = _SrvcDocBPSoldToParty.BusinessPartner
[0..1] I_SrvcMgmtBPQuickView_2 _SrvcDocBPContactCard $projection.ContactPersonBusinessPartnerId = _SrvcDocBPContactCard.BusinessPartner
[0..1] I_SrvcMgmtBPQuickView_2 _SrvcDocBPRespEmployee $projection.RespEmployeeBusinessPartnerId = _SrvcDocBPRespEmployee.BusinessPartner
[0..1] I_CustMgmtLifecycleUserStsText _CustMgmtLifecycleUserStsText $projection.BusSolnOrdStatus = _CustMgmtLifecycleUserStsText.CustMgmtLifecycleUserStatus and _CustMgmtLifecycleUserStsText.Language = $session.system_language
[0..1] P_BusSolnOrdCstmStsMappgEnhcd _BusSolnOrdCstmStsMappgEnhcd $projection.BusSolnOrdType = _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
[1..*] I_ServiceDocumentTypeText _ServiceDocumentTypeText $projection.BusSolnOrdType = _ServiceDocumentTypeText.ServiceDocumentType
[1..*] I_SrvcDocLifecycleStatusText _SrvcDocLifecycleStatusText $projection.BusSolnOrdStatus = _SrvcDocLifecycleStatusText.ServiceDocumentStatus
[1..*] I_SalesOrganizationText _SalesOrganizationText $projection.SalesOrganization = _SalesOrganizationText.SalesOrganization
[1..*] I_DistributionChannelText _DistributionChannelText $projection.DistributionChannel = _DistributionChannelText.DistributionChannel
[1..*] I_DivisionText _DivisionText $projection.Division = _DivisionText.Division
[1..*] I_SalesOfficeText _SalesOfficeText $projection.SalesOffice = _SalesOfficeText.SalesOffice
[1..*] I_SalesGroupText _SalesGroupText $projection.SalesGroup = _SalesGroupText.SalesGroup
[1..*] I_PaymentTermsText _PaymentTermsText $projection.PaymentTerms = _PaymentTermsText.PaymentTerms
[1..*] I_CurrencyText _CurrencyText $projection.TransactionCurrency = _CurrencyText.Currency
[0..*] R_BusinessSolutionOrderItemTP _BusinessSolutionOrderItemTP
[0..*] R_BusSolnOrdPartnerTP _BusSolnOrdPartnerTP
[0..*] R_BusSolnOrdItemRelationshipTP _BusSolnOrdItemRelationshipTP
[0..*] R_BusSolnOrdFUPSalesOrderTP _BusSolnOrdFUPSalesOrderTP
[0..*] R_BusSolnOrdFUPSrvcOrdTP _BusSolnOrdFUPSrvcOrdTP
[0..*] R_BusSolnOrdFUPSrvcContrTP _BusSolnOrdFUPSrvcContrTP
[0..*] R_BusSolnOrdFUPSubscrpnTP _BusSolnOrdFUPSubscrpnTP
[0..*] R_BusSolnOrdFUPEntProjectTP _BusSolnOrdFUPEntProjectTP
[0..*] R_BusSolnOrdUserStatusTP _BusSolnOrdUserStatusTP
[0..*] R_BSOrdPrdcssrSrvcContrTP _BSOrdPrdcssrSrvcContrTP
[0..*] R_BusSolnOrdPriceElementTP _BusSolnOrdPriceElementTP
[0..*] R_BusSolnOrdLongTextTP _BusSolnOrdLongTextTP
[0..*] R_BusSolnOrdAppointmentTP _BusSolnOrdAppointment

Annotations (10)

NameValueLevelField
AccessControl.authorizationCheck #CHECK view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.sapObjectNodeType.name BusinessSolutionOrder view
ObjectModel.representativeKey BusinessSolutionOrder view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
VDM.viewType #TRANSACTIONAL view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
EndUserText.label Business Solution Order - TP view

Fields (89)

KeyFieldSource TableSource FieldDescription
KEY BusinessSolutionOrder ServiceDocument
BusSolnOrdType ServiceDocumentType
BusinessSolutionOrderUUID ServiceDocumentUUID
ServiceDocumentCharUUID ServiceDocumentCharUUID
BusSolnOrdDescription ServiceDocumentDescription
Language Language
PostingDate PostingDate
ServiceDocCreationDateTime ServiceDocCreationDateTime
ServiceDocChangedDateTime ServiceDocChangedDateTime
ServiceDocumentCreatedByUser ServiceDocumentCreatedByUser
ServiceDocumentChangedByUser ServiceDocumentChangedByUser
BusSolnOrdExtReference _ExternalReference CustMgmtExtRefID
SoldToParty SoldToParty
ShipToParty ShipToParty
BillToParty BillToParty
PayerParty PayerParty
ContactPersonBusinessPartnerId ContactPerson
RespEmployeeBusinessPartnerId ResponsibleEmployee
BusSolnOrdStatus ServiceDocumentStatus
CustomerPurchaseOrderDate CustomerPurchaseOrderDate
TransactionCurrency TransactionCurrency
ServiceDocNetAmount ServiceDocNetAmount
ServiceDocGrossAmount ServiceDocGrossAmount
SalesOrganization SalesOrganization
DistributionChannel DistributionChannel
Division Division
SalesOffice SalesOffice
SalesGroup SalesGroup
BusSolnOrdHasError ServiceDocumentHasError
PaymentTerms PaymentTerms
PurchaseOrderByCustomer PurchaseOrderByCustomer
ContractAccount ContractAccount
SalesOrganizationOrgUnitID SalesOrganizationOrgUnitID
SalesOfficeOrgUnitID SalesOfficeOrgUnitID
SalesGroupOrgUnitID SalesGroupOrgUnitID
ServiceOrganization ServiceOrganization
ServiceObjectType ServiceObjectType
_BusinessSolutionOrderItemTP _BusinessSolutionOrderItemTP
_BusSolnOrdPartnerTP _BusSolnOrdPartnerTP
_BusSolnOrdItemRelationshipTP _BusSolnOrdItemRelationshipTP
_BusSolnOrdFUPSalesOrderTP _BusSolnOrdFUPSalesOrderTP
_BusSolnOrdFUPSrvcOrdTP _BusSolnOrdFUPSrvcOrdTP
_BusSolnOrdFUPSrvcContrTP _BusSolnOrdFUPSrvcContrTP
_BusSolnOrdFUPSubscrpnTP _BusSolnOrdFUPSubscrpnTP
_BusSolnOrdFUPEntProjectTP _BusSolnOrdFUPEntProjectTP
_BusSolnOrdUserStatusTP _BusSolnOrdUserStatusTP
_BSOrdPrdcssrSrvcContrTP _BSOrdPrdcssrSrvcContrTP
_BusSolnOrdPriceElementTP _BusSolnOrdPriceElementTP
_BusSolnOrdLongTextTP _BusSolnOrdLongTextTP
_BusSolnOrdAppointment _BusSolnOrdAppointment
_ContactPerson _ContactPerson
_RespEmployee _RespEmployee
_ServiceObjType _ServiceObjType
_SoldToParty _SoldToParty
_ShipToParty _ShipToParty
_BillToParty _BillToParty
_PayerParty _PayerParty
_PersonResponsible _PersonResponsible
_SalesOrganization _SalesOrganization
_DistributionChannel _DistributionChannel
_Division _Division
_SalesOffice _SalesOffice
_SalesGroup _SalesGroup
_SalesOrganizationOrgUnit_2 _SalesOrganizationOrgUnit_2
_SalesOfficeOrgUnit_2 _SalesOfficeOrgUnit_2
_SalesGroupOrgUnit_2 _SalesGroupOrgUnit_2
_ServiceOrganizationOrgUnit_2 _ServiceOrganizationOrgUnit_2
_TransactionCurrency _TransactionCurrency
_ServiceDocumentEnhcd _ServiceDocumentEnhcd
_ServiceDocHasError _ServiceDocHasError
_SolutionOrderStatus _SolutionOrderStatus
_ServiceDocCreatedBy _ServiceDocCreatedBy
_ServiceDocChangedBy _ServiceDocChangedBy
_ServiceDocumentType _ServiceDocumentType
_SrvcDocBPSoldToParty _SrvcDocBPSoldToParty
_SrvcDocBPContactCard _SrvcDocBPContactCard
_SrvcDocBPRespEmployee _SrvcDocBPRespEmployee
_ServiceDocumentStatus _ServiceDocumentStatus
_SrvcDocLifecycleStatus _SrvcDocLifecycleStatus
_SrvcLifeCycleSystemStatusT _SrvcLifeCycleSystemStatusT
_ServiceDocumentTypeText _ServiceDocumentTypeText
_SrvcDocLifecycleStatusText _SrvcDocLifecycleStatusText
_SalesOrganizationText _SalesOrganizationText
_DistributionChannelText _DistributionChannelText
_DivisionText _DivisionText
_SalesOfficeText _SalesOfficeText
_SalesGroupText _SalesGroupText
_PaymentTermsText _PaymentTermsText
_CurrencyText _CurrencyText
@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'