C_Customer360SalesOrder

DDL: C_CUSTOMER360SALESORDER Type: view_entity CONSUMPTION Package: ODATA_SD_ADVNCD_CUSTOMER360

Customer 360 Sales Order

C_Customer360SalesOrder is a Consumption CDS View that provides data about "Customer 360 Sales Order" in SAP S/4HANA. It reads from 2 data sources (I_Customer360BusDocSetting, I_SalesOrder) and exposes 97 fields with key field SalesOrder. It has 9 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)

SourceAliasJoin Type
I_Customer360BusDocSetting Customer360BusDocSetting inner
I_SalesOrder SalesOrder from

Associations (9)

CardinalityTargetAliasCondition
[0..1] C_SoldToValueHelp _SoldToPartyVH $projection.SoldToParty = _SoldToPartyVH.Customer
[0..1] C_Dischannelvaluehelp _DistributionChannel $projection.SalesOrganization = _DistributionChannel.SalesOrganization and $projection.DistributionChannel = _DistributionChannel.DistributionChannel
[0..1] C_OrgDivisionValueHelp _Division $projection.SalesOrganization = _Division.SalesOrganization and $projection.DistributionChannel = _Division.DistributionChannel and $projection.OrganizationDivision = _Division.Division
[0..1] C_SalesOfficeValueHelp _SalesOffice $projection.SalesOrganization = _SalesOffice.SalesOrganization and $projection.DistributionChannel = _SalesOffice.DistributionChannel and $projection.OrganizationDivision = _SalesOffice.OrganizationDivision and $projection.SalesOffice = _SalesOffice.SalesOffice
[0..1] C_SalesGroupValueHelp _SalesGroup $projection.SalesOffice = _SalesGroup.SalesOffice and $projection.SalesGroup = _SalesGroup.SalesGroup
[0..1] C_SalesOrderTypeVH_F1873 _SalesDocumentType $projection.SalesOrderType = _SalesDocumentType.SalesOrderType
[0..1] C_SalesDocumentUserVH _CreatedByUser $projection.CreatedByUser = _CreatedByUser.UserID
[0..1] C_SalesDocumentUserVH _LastChangedByUser $projection.LastChangedByUser = _LastChangedByUser.UserID
[1] E_SalesDocumentBasic _Extension $projection.SalesOrder = _Extension.SalesDocument

Annotations (8)

NameValueLevelField
AccessControl.authorizationCheck #CHECK view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
EndUserText.label Customer 360 Sales Order view
Metadata.allowExtensions true view
VDM.viewType #CONSUMPTION view
Search.searchable true view

OData Services (1)

ServiceBindingVersionContractRelease
SD_ADVNCD_CUSTOMER360 SD_ADVNCD_CUSTOMER360 V4 C1 NOT_RELEASED

Fields (97)

KeyFieldSource TableSource FieldDescription
KEY SalesOrder I_SalesOrder SalesOrder
SoldToParty I_SalesOrder SoldToParty
SoldToPartyName
ShipToParty
ShipToPartyName
PayerParty
PayerPartyName
BillToParty
BillToPartyName
SalesEmployee
SalesEmployeeName
ResponsibleEmployee
ResponsibleEmployeeName
PurchaseOrderByCustomer I_SalesOrder PurchaseOrderByCustomer
RequestedDeliveryDate I_SalesOrder RequestedDeliveryDate
OverallSDProcessStatus I_SalesOrder OverallSDProcessStatus
OverallSDProcessStatusDesc
OverallSDDocumentRejectionSts I_SalesOrder OverallSDDocumentRejectionSts
OvrlSDDocumentRejectionStsDesc
SalesOrderDownPaymentStatus I_SalesOrder SalesOrderDownPaymentStatus
ContractDownPaymentStatusDesc
OverallBillingBlockStatus I_SalesOrder OverallBillingBlockStatus
OverallBillingBlockStatusDesc
SalesDocApprovalStatus I_SalesOrder SalesDocApprovalStatus
SalesDocApprovalStatusDesc
OverallChmlCmplncStatus I_SalesOrder OverallChmlCmplncStatus
OverallChmlCmplncStatusDesc
OverallDangerousGoodsStatus I_SalesOrder OverallDangerousGoodsStatus
OverallDangerousGoodsStsDesc
OverallSafetyDataSheetStatus I_SalesOrder OverallSafetyDataSheetStatus
OverallSafetyDataSheetStsDesc
OverallTrdCmplncEmbargoSts
OverallTrdCmplncEmbargoStsDesc
OvrlTrdCmplncSnctndListChkSts
OvrlTrdCmplncSnctndListStsDesc
OvrlTrdCmplncLegalCtrlChkSts
OvrlTrdCmplncLglCtrlChkStsDesc
BusinessSolutionOrder
TransactionCurrency I_SalesOrder TransactionCurrency
CurrencyName
TotalNetAmount I_SalesOrder TotalNetAmount
SalesOrderDate I_SalesOrder SalesOrderDate
SalesOrderType I_SalesOrder SalesOrderType
SalesDocumentTypeName
CreationDate I_SalesOrder CreationDate
LastChangeDate I_SalesOrder LastChangeDate
CreatedByUser I_SalesOrder CreatedByUser
CreatedByUserDescription
LastChangedByUser I_SalesOrder LastChangedByUser
LastChangedByUserDescription
SalesOrganization I_SalesOrder SalesOrganization
SalesOrganizationName
DistributionChannel I_SalesOrder DistributionChannel
DistributionChannelName
OrganizationDivision I_SalesOrder OrganizationDivision
DivisionName
SalesOffice I_SalesOrder SalesOffice
SalesOfficeName
SalesGroup I_SalesOrder SalesGroup
SalesGroupName
ReferenceSDDocument I_SalesOrder ReferenceSDDocument
SDDocumentReason I_SalesOrder SDDocumentReason
SDDocumentReasonText
DeliveryBlockReason I_SalesOrder DeliveryBlockReason
DeliveryBlockReasonText
HeaderBillingBlockReason I_SalesOrder HeaderBillingBlockReason
BillingBlockReasonDescription
int1asSlsOrdApprovalStsCriticality
OmniChnlSalesPromotionStatus
OmniChnlSalesPromotionStsText
_TransactionCurrency I_SalesOrder _TransactionCurrency
_OverallSDProcessStatus I_SalesOrder _OverallSDProcessStatus
_OverallSDDocumentRejectionSts I_SalesOrder _OverallSDDocumentRejectionSts
_DownPaymentStatus I_SalesOrder _DownPaymentStatus
_SoldToPartyVH _SoldToPartyVH
_SalesDocumentType _SalesDocumentType
_SalesOrganization I_SalesOrder _SalesOrganization
_DistributionChannel _DistributionChannel
_Division _Division
_OrganizationDivision I_SalesOrder _OrganizationDivision
_SalesOffice _SalesOffice
_SalesGroup _SalesGroup
_DeliveryBlockReason I_SalesOrder _DeliveryBlockReason
_HeaderBillingBlockReason I_SalesOrder _HeaderBillingBlockReason
_CreatedByUser _CreatedByUser
_LastChangedByUser _LastChangedByUser
_SDDocumentReason I_SalesOrder _SDDocumentReason
_OverallBillingBlockStatus I_SalesOrder _OverallBillingBlockStatus
_SalesDocApprovalStatus I_SalesOrder _SalesDocApprovalStatus
_OverallChmlCmplncStatus I_SalesOrder _OverallChmlCmplncStatus
_OverallDangerousGoodsStatus I_SalesOrder _OverallDangerousGoodsStatus
_OvrlSftyDataSheetSts I_SalesOrder _OvrlSftyDataSheetSts
_SolutionOrder I_SalesOrder _SolutionOrder
_OvrlTradeCmplncEmbargoStatus I_SalesOrder _OvrlTradeCmplncEmbargoStatus
_OvTrdCmplncSnctndListChkSts I_SalesOrder _OvTrdCmplncSnctndListChkSts
_OvrlTrdCmplncLegalCtrlChkSts I_SalesOrder _OvrlTrdCmplncLegalCtrlChkSts
_OmniChnlSalesPromotionStatus I_SalesOrder _OmniChnlSalesPromotionStatus
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #('TRANSACTIONAL_DATA')
@ObjectModel: {
 //  representativeKey: 'SoldToParty',

   usageType: {
     dataClass:      #TRANSACTIONAL,
     serviceQuality: #C,
     sizeCategory:   #XL
     }
   }
@EndUserText.label: 'Customer 360 Sales Order'
@Metadata.allowExtensions: true
@VDM.viewType: #CONSUMPTION
@Search.searchable: true

@Consumption.dbHints: ['USE_HEX_PLAN']

define view entity C_Customer360SalesOrder
  as select from I_SalesOrder               as SalesOrder
    inner join   I_Customer360BusDocSetting as Customer360BusDocSetting on Customer360BusDocSetting.Cust360BusDocCategory     = 'C'
                                                                        and Customer360BusDocSetting.BusinessDocumentIsEnabled = 'X'

  association [0..1] to C_SoldToValueHelp        as _SoldToPartyVH       on  $projection.SoldToParty = _SoldToPartyVH.Customer

  association [0..1] to C_Dischannelvaluehelp    as _DistributionChannel on  $projection.SalesOrganization   = _DistributionChannel.SalesOrganization
                                                                         and $projection.DistributionChannel = _DistributionChannel.DistributionChannel

  association [0..1] to C_OrgDivisionValueHelp   as _Division            on  $projection.SalesOrganization    = _Division.SalesOrganization
                                                                         and $projection.DistributionChannel  = _Division.DistributionChannel
                                                                         and $projection.OrganizationDivision = _Division.Division

  association [0..1] to C_SalesOfficeValueHelp   as _SalesOffice         on  $projection.SalesOrganization    = _SalesOffice.SalesOrganization
                                                                         and $projection.DistributionChannel  = _SalesOffice.DistributionChannel
                                                                         and $projection.OrganizationDivision = _SalesOffice.OrganizationDivision
                                                                         and $projection.SalesOffice          = _SalesOffice.SalesOffice

  association [0..1] to C_SalesGroupValueHelp    as _SalesGroup          on  $projection.SalesOffice = _SalesGroup.SalesOffice
                                                                         and $projection.SalesGroup  = _SalesGroup.SalesGroup

  association [0..1] to C_SalesOrderTypeVH_F1873 as _SalesDocumentType   on  $projection.SalesOrderType = _SalesDocumentType.SalesOrderType

  //association [0..1] to I_SalesDocumentRjcnReason as _SalesDocumentRjcnReason on  $projection.SalesDocumentRjcnReason = _SalesDocumentRjcnReason.SalesDocumentRjcnReason


  association [0..1] to C_SalesDocumentUserVH    as _CreatedByUser       on  $projection.CreatedByUser = _CreatedByUser.UserID

  association [0..1] to C_SalesDocumentUserVH    as _LastChangedByUser   on  $projection.LastChangedByUser = _LastChangedByUser.UserID

  //  association [0..*] to C_SalesDocumentItemWl     as _SalesDocumentItemWl     on  $projection.SalesOrder = _SalesDocumentItemWl.SalesDocument


  //Extension Association

  association [1]    to E_SalesDocumentBasic     as _Extension           on  $projection.SalesOrder = _Extension.SalesDocument

{

      @Search.defaultSearchElement: true
      @Search.fuzzinessThreshold: 0.8
      @Search.ranking: #HIGH
      @Consumption.semanticObject: 'SalesOrder'
  key SalesOrder.SalesOrder                                                                                                 as SalesOrder,

      //      @Search.defaultSearchElement: true

      //      @Search.fuzzinessThreshold: 0.8


      @ObjectModel: {
        foreignKey.association: '_SoldToPartyVH',
          text.element: ['SoldToPartyName']
      }
      SalesOrder.SoldToParty,

      @Semantics.text:true
      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SLSORD_UI_PARTNER_UTIL'
      cast('' as ad_namtext )                                                                                               as SoldToPartyName,
      @ObjectModel: {
        text.element: ['ShipToPartyName']
      }
      @Consumption.semanticObject: 'Customer'
      cast( SalesOrder._Partner[ PartnerFunction = 'WE' ].Customer as kunwe preserving type )                               as ShipToParty,

      @Semantics.text:true
      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SLSORD_UI_PARTNER_UTIL'
      cast('' as ad_namtext )                                                                                               as ShipToPartyName,


      @Consumption.semanticObject: 'Customer'
      @ObjectModel: {
        text.element: ['PayerPartyName']
      }
      cast( SalesOrder._Partner[ PartnerFunction = 'RG' ].Customer as kunrg preserving type )                               as PayerParty,

      @Semantics.text:true
      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SLSORD_UI_PARTNER_UTIL'
      cast('' as ad_namtext )                                                                                               as PayerPartyName,

      @ObjectModel: {
        text.element: ['BillToPartyName']
      }
      @Consumption.semanticObject: 'Customer'
      cast( SalesOrder._Partner[ PartnerFunction = 'RE' ].Customer as kunre preserving type )                               as BillToParty,

      @Semantics.text:true
      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SLSORD_UI_PARTNER_UTIL'
      cast('' as ad_namtext )                                                                                               as BillToPartyName,

      @ObjectModel: {
        text.element: ['SalesEmployeeName']
      }
      @Consumption.semanticObject: 'Employee'
      cast( SalesOrder._Partner[ PartnerFunction = 'VE' ].Personnel as sales_empl preserving type )                         as SalesEmployee,

      @Semantics.text:true
      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SLSORD_UI_PARTNER_UTIL'
      cast('' as ad_namtext )                                                                                               as SalesEmployeeName,

      @Consumption.semanticObject: 'Employee'
      @ObjectModel: {
        text.element: ['ResponsibleEmployeeName']
      }
      cast( SalesOrder._Partner[ PartnerFunction = 'ZM' ].Personnel as resp_empl preserving type )                          as ResponsibleEmployee,

      @Semantics.text: true
      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SLSORD_UI_PARTNER_UTIL'
      cast('' as ad_namtext )                                                                                               as ResponsibleEmployeeName,

      @Search.defaultSearchElement: true
      @Search.fuzzinessThreshold: 0.8
      //      @ObjectModel.text.element: []

      SalesOrder.PurchaseOrderByCustomer,
      //      SalesOrder._Purcha


      @Semantics.businessDate.at: true
      SalesOrder.RequestedDeliveryDate,

      @ObjectModel.text.element: ['OverallSDProcessStatusDesc']
      SalesOrder.OverallSDProcessStatus,
      SalesOrder._OverallSDProcessStatus._Text[1:Language = $session.system_language].OverallSDProcessStatusDesc            as OverallSDProcessStatusDesc,

      @ObjectModel.text.element: ['OvrlSDDocumentRejectionStsDesc']
      SalesOrder.OverallSDDocumentRejectionSts,
      SalesOrder._OverallSDDocumentRejectionSts._Text[1:Language = $session.system_language].OvrlSDDocumentRejectionStsDesc as OvrlSDDocumentRejectionStsDesc,

      @ObjectModel.text.element: ['ContractDownPaymentStatusDesc']
      SalesOrder.SalesOrderDownPaymentStatus,
      @UI.hidden: true
      SalesOrder._DownPaymentStatus._Text[1:Language = $session.system_language].ContractDownPaymentStatusDesc              as ContractDownPaymentStatusDesc,

      @ObjectModel.text.element: ['OverallBillingBlockStatusDesc']
      SalesOrder.OverallBillingBlockStatus,
      SalesOrder._OverallBillingBlockStatus._Text[1:Language = $session.system_language].OverallBillingBlockStatusDesc      as OverallBillingBlockStatusDesc,

      @ObjectModel.text.element: ['SalesDocApprovalStatusDesc']
      SalesOrder.SalesDocApprovalStatus,
      SalesOrder._SalesDocApprovalStatus._Text[1:Language = $session.system_language].SalesDocApprovalStatusDesc            as SalesDocApprovalStatusDesc,

      @ObjectModel.foreignKey.association: '_OverallChmlCmplncStatus'
      @ObjectModel.text.element: ['OverallChmlCmplncStatusDesc']
      SalesOrder.OverallChmlCmplncStatus,
      SalesOrder._OverallChmlCmplncStatus._Text[1:Language = $session.system_language].OverallChmlCmplncStatusDesc          as OverallChmlCmplncStatusDesc,

      @ObjectModel.foreignKey.association: '_OverallDangerousGoodsStatus'
      @ObjectModel.text.element: ['OverallDangerousGoodsStsDesc']
      SalesOrder.OverallDangerousGoodsStatus,
      SalesOrder._OverallDangerousGoodsStatus._Text[1:Language = $session.system_language].OverallDangerousGoodsStsDesc     as OverallDangerousGoodsStsDesc,

      @ObjectModel.foreignKey.association: '_OvrlSftyDataSheetSts'
      @ObjectModel.text.element: ['OverallSafetyDataSheetStsDesc']
      SalesOrder.OverallSafetyDataSheetStatus,
      SalesOrder._OvrlSftyDataSheetSts._Text[1:Language = $session.system_language].OverallSafetyDataSheetStsDesc           as OverallSafetyDataSheetStsDesc,

      @ObjectModel.foreignKey.association: '_OvrlTradeCmplncEmbargoStatus'
      @ObjectModel.text.element: ['OverallTrdCmplncEmbargoStsDesc']
      cast(SalesOrder.OverallTrdCmplncEmbargoSts as totembargochksts preserving type)                                       as OverallTrdCmplncEmbargoSts,
      SalesOrder._OvrlTradeCmplncEmbargoStatus._Text[1: Language=$session.system_language].OverallTrdCmplncEmbargoStsDesc,

      @ObjectModel.foreignKey.association: '_OvTrdCmplncSnctndListChkSts'
      @ObjectModel.text.element: ['OvrlTrdCmplncSnctndListStsDesc']
      cast(SalesOrder.OvrlTrdCmplncSnctndListChkSts as totwatchlistscrngchksts preserving type)                             as OvrlTrdCmplncSnctndListChkSts,
      SalesOrder._OvTrdCmplncSnctndListChkSts._Text[1: Language=$session.system_language].OvrlTrdCmplncSnctndListStsDesc,

      @ObjectModel.foreignKey.association: '_OvrlTrdCmplncLegalCtrlChkSts'
      @ObjectModel.text.element: ['OvrlTrdCmplncLglCtrlChkStsDesc']
      cast(SalesOrder.OvrlTrdCmplncLegalCtrlChkSts as totlglctrlchksts preserving type)                                     as OvrlTrdCmplncLegalCtrlChkSts,
      SalesOrder._OvrlTrdCmplncLegalCtrlChkSts._Text[1: Language=$session.system_language].OvrlTrdCmplncLglCtrlChkStsDesc,

      @ObjectModel.foreignKey.association: '_SolutionOrder'
      cast(SalesOrder.BusinessSolutionOrder as crms4_solo_object_id preserving type )                                       as BusinessSolutionOrder,



      //@Semantics.currencyCode: true

      @ObjectModel.text.element: ['CurrencyName']
      SalesOrder.TransactionCurrency,
      SalesOrder._TransactionCurrency._Text[1:Language = $session.system_language].CurrencyName                             as CurrencyName,

      @Semantics.amount.currencyCode: 'TransactionCurrency'
      SalesOrder.TotalNetAmount,

      SalesOrder.SalesOrderDate,

      @ObjectModel.foreignKey.association: '_SalesDocumentType'
      @ObjectModel.text.element: ['SalesDocumentTypeName']
      SalesOrder.SalesOrderType,
      SalesOrder._SalesOrderType._Text[1:Language = $session.system_language].SalesDocumentTypeName                         as SalesDocumentTypeName,

      SalesOrder.CreationDate,

      SalesOrder.LastChangeDate,

      @Search.defaultSearchElement: true
      @Search.fuzzinessThreshold: 0.9
      @Search.ranking: #HIGH
      @ObjectModel.foreignKey.association: '_CreatedByUser'
      @ObjectModel.text.element: ['CreatedByUserDescription']
      SalesOrder.CreatedByUser,
      @Search.defaultSearchElement: true
      @Search.fuzzinessThreshold: 0.9
      @Search.ranking: #HIGH
      SalesOrder._CreatedByUser.UserDescription                                                                             as CreatedByUserDescription,

      @ObjectModel.foreignKey.association: '_LastChangedByUser'
      @ObjectModel.text.element: ['LastChangedByUserDescription']
      SalesOrder.LastChangedByUser,
      SalesOrder._LastChangedByUser.UserDescription                                                                         as LastChangedByUserDescription,

      @ObjectModel.text.element: ['SalesOrganizationName']
      SalesOrder.SalesOrganization,
      SalesOrder._SalesOrganization._Text[1:Language = $session.system_language].SalesOrganizationName                      as SalesOrganizationName,

      @ObjectModel.text.element: ['DistributionChannelName']
      SalesOrder.DistributionChannel,
      SalesOrder._DistributionChannel._Text[1:Language = $session.system_language].DistributionChannelName                  as DistributionChannelName,

      @ObjectModel.text.element: ['DivisionName']
      SalesOrder.OrganizationDivision,
      SalesOrder._OrganizationDivision._Text[1:Language = $session.system_language].DivisionName                            as DivisionName,

      @ObjectModel.text.element: ['SalesOfficeName']
      SalesOrder.SalesOffice,
      SalesOrder._SalesOffice._Text[1:Language = $session.system_language].SalesOfficeName                                  as SalesOfficeName,

      @ObjectModel.text.element: ['SalesGroupName']
      SalesOrder.SalesGroup,
      SalesOrder._SalesGroup._Text[1:Language = $session.system_language].SalesGroupName                                    as SalesGroupName,

      SalesOrder.ReferenceSDDocument,

      @ObjectModel.text.element: ['SDDocumentReasonText']
      SalesOrder.SDDocumentReason,
      SalesOrder._SDDocumentReason._Text[1:Language = $session.system_language].SDDocumentReasonText                        as SDDocumentReasonText,

      @ObjectModel.text.element: ['DeliveryBlockReasonText']
      SalesOrder.DeliveryBlockReason,
      SalesOrder._DeliveryBlockReason._Text[1:Language = $session.system_language].DeliveryBlockReasonText                  as DeliveryBlockReasonText,

      @ObjectModel.text.element: ['BillingBlockReasonDescription']
      SalesOrder.HeaderBillingBlockReason,
      SalesOrder._HeaderBillingBlockReason._Text[1:Language = $session.system_language].BillingBlockReasonDescription       as BillingBlockReasonDescription,

      //      @ObjectModel.foreignKey.association: '_SalesDocumentRjcnReason'

      //      //@ObjectModel.text.element: ['SalesDocumentRjcnReasonName']

      //      cast( '  ' as abgru_va)                                                                                               as SalesDocumentRjcnReason,

      //     // SalesOrder._SalesDocumentRjcnReason._Text[1:Language = $session.system_language].SalesDocumentRjcnReasonName,


      cast(
        case
          when SalesOrder.SalesDocApprovalStatus  = 'A' then  2 -- | 2: yellow colour
          when SalesOrder.SalesDocApprovalStatus  = 'B' then  3 -- | 3: green colour
          when SalesOrder.SalesDocApprovalStatus  = 'C' then  1 -- | 1: red colour
          when SalesOrder.SalesDocApprovalStatus  = 'D' then  2 -- | 2: yellow colour
       else  0 -- | 0: neutral
      end  as abap.int1
          )                                                                                                                 as SlsOrdApprovalStsCriticality,

      @ObjectModel.foreignKey.association: '_OmniChnlSalesPromotionStatus'
      @Feature: 'SW:Q2C_OMNICHANNEL_SALESPROMOTION'
      @ObjectModel.text.element: ['OmniChnlSalesPromotionStsText']
      cast ( SalesOrder.OmniChnlSalesPromotionStatus as sd_so_bob_status preserving type )                                  as OmniChnlSalesPromotionStatus,
      SalesOrder._OmniChnlSalesPromotionStatus._Text[1:Language = $session.system_language].OmniChnlSalesPromotionStsText   as OmniChnlSalesPromotionStsText,


      SalesOrder._TransactionCurrency,
      SalesOrder._OverallSDProcessStatus,
      SalesOrder._OverallSDDocumentRejectionSts,

      SalesOrder._DownPaymentStatus,

      _SoldToPartyVH,
      _SalesDocumentType,
      SalesOrder._SalesOrganization,
      _DistributionChannel,
      _Division,
      SalesOrder._OrganizationDivision,
      _SalesOffice,
      _SalesGroup,
      SalesOrder._DeliveryBlockReason,
      SalesOrder._HeaderBillingBlockReason,
      _CreatedByUser,
      _LastChangedByUser,
      SalesOrder._SDDocumentReason,

      SalesOrder._OverallBillingBlockStatus,

      SalesOrder._SalesDocApprovalStatus,

      SalesOrder._OverallChmlCmplncStatus,

      SalesOrder._OverallDangerousGoodsStatus,

      SalesOrder._OvrlSftyDataSheetSts,

      SalesOrder._SolutionOrder,

      SalesOrder._OvrlTradeCmplncEmbargoStatus,

      SalesOrder._OvTrdCmplncSnctndListChkSts,

      SalesOrder._OvrlTrdCmplncLegalCtrlChkSts,

      @Feature: 'SW:Q2C_OMNICHANNEL_SALESPROMOTION'
      SalesOrder._OmniChnlSalesPromotionStatus

}
where
      SalesOrder.CreationDate > dats_add_days( tstmp_to_dats(tstmp_current_utctimestamp(), abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL'), -Customer360BusDocSetting.BusDocumentDurationInDays, 'INITIAL')
  and SalesOrder.CreationDate <= $session.system_date