R_SalesOrderTP

DDL: R_SALESORDERTP Type: view_entity TRANSACTIONAL Package: RAP_SD_SLS_SO

Sales Order - TP

R_SalesOrderTP is a Transactional CDS View that provides data about "Sales Order - TP" in SAP S/4HANA. It reads from 1 data source (I_SalesOrder) and exposes 170 fields with key field SalesOrder. It has 10 associations to related views. Part of development package RAP_SD_SLS_SO.

Data Sources (1)

SourceAliasJoin Type
I_SalesOrder SalesOrder from

Associations (10)

CardinalityTargetAliasCondition
[0..1] R_OutputRequestTP _OutputRequest $projection.OutputRequestUUID = _OutputRequest.OutputRequestUUID
[0..1] I_SalesOrderPartner _SoldToParty $projection.SalesOrder = _SoldToParty.SalesOrder and _SoldToParty.PartnerFunction = 'AG'
[0..1] I_SlsOrganizationDistrChnl _SlsOrganizationDistrChnl $projection.SalesOrganization = _SlsOrganizationDistrChnl.SalesOrganization and $projection.DistributionChannel = _SlsOrganizationDistrChnl.DistributionChannel
[1] E_SalesDocumentBasic _Extension $projection.SalesOrder = _Extension.SalesDocument
[0..*] R_SalesOrderItemTP _Item
[0..*] R_SalesOrderTextTP _Text
[0..*] R_SalesOrderPartnerTP _Partner
[0..*] R_SalesOrderPricingElementTP _PricingElement
[0..1] R_SalesOrderBillingPlanTP _BillingPlan
[0..1] R_SalesOrderShipToPartyTP _ShipToParty

Annotations (13)

NameValueLevelField
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
VDM.viewType #TRANSACTIONAL view
AccessControl.authorizationCheck #CHECK view
ObjectModel.sapObjectNodeType.name SalesOrder view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
AbapCatalog.extensibility.extensible true view
AbapCatalog.extensibility.elementSuffix SDH view
AbapCatalog.extensibility.quota.maximumFields 204 view
AbapCatalog.extensibility.quota.maximumBytes 100000 view
Metadata.ignorePropagatedAnnotations true view
EndUserText.label Sales Order - TP view

Fields (170)

KeyFieldSource TableSource FieldDescription
KEY SalesOrder I_SalesOrder SalesOrder
SalesOrderForEdit I_SalesOrder SalesOrder
SalesOrderType I_SalesOrder SalesOrderType
SoldToParty I_SalesOrder SoldToParty
CustomerName _SoldToParty FullName
SoldToPartyAddressID _SoldToParty AddressID
SalesOrganization I_SalesOrder SalesOrganization
DistributionChannel I_SalesOrder DistributionChannel
ReferenceDistributionChannel _SlsOrganizationDistrChnl ReferenceDistributionChannel
OrganizationDivision I_SalesOrder OrganizationDivision
SalesOffice I_SalesOrder SalesOffice
SalesGroup I_SalesOrder SalesGroup
SalesDistrict I_SalesOrder SalesDistrict
PurchaseOrderByCustomer I_SalesOrder PurchaseOrderByCustomer
CustomerPurchaseOrderType I_SalesOrder CustomerPurchaseOrderType
CustomerPurchaseOrderDate I_SalesOrder CustomerPurchaseOrderDate
PurchaseOrderByShipToParty I_SalesOrder PurchaseOrderByShipToParty
CorrespncExternalReference I_SalesOrder CorrespncExternalReference
CorrespncExtRefByShipToParty I_SalesOrder CorrespncExtRefByShipToParty
CustomerGroup I_SalesOrder CustomerGroup
AdditionalCustomerGroup1 I_SalesOrder AdditionalCustomerGroup1
AdditionalCustomerGroup2 I_SalesOrder AdditionalCustomerGroup2
AdditionalCustomerGroup3 I_SalesOrder AdditionalCustomerGroup3
AdditionalCustomerGroup4 I_SalesOrder AdditionalCustomerGroup4
AdditionalCustomerGroup5 I_SalesOrder AdditionalCustomerGroup5
SDDocumentReason I_SalesOrder SDDocumentReason
PricingDate I_SalesOrder PricingDate
ServicesRenderedDate I_SalesOrder ServicesRenderedDate
BillingDocumentDate I_SalesOrder BillingDocumentDate
SDPricingProcedure I_SalesOrder SDPricingProcedure
CustomerPriceGroup I_SalesOrder CustomerPriceGroup
PriceListType I_SalesOrder PriceListType
RequestedDeliveryDate I_SalesOrder RequestedDeliveryDate
DeliveryDateTypeRule I_SalesOrder DeliveryDateTypeRule
ShippingCondition I_SalesOrder ShippingCondition
CompleteDeliveryIsDefined I_SalesOrder CompleteDeliveryIsDefined
OrderCombinationIsAllowed I_SalesOrder OrderCombinationIsAllowed
SlsDocIsRlvtForProofOfDeliv I_SalesOrder SlsDocIsRlvtForProofOfDeliv
ShippingType I_SalesOrder ShippingType
ReceivingPoint I_SalesOrder ReceivingPoint
IncotermsClassification I_SalesOrder IncotermsClassification
IncotermsVersion I_SalesOrder IncotermsVersion
IncotermsLocation1 I_SalesOrder IncotermsLocation1
IncotermsLocation2 I_SalesOrder IncotermsLocation2
FixedValueDate I_SalesOrder FixedValueDate
TaxDepartureCountry I_SalesOrder TaxDepartureCountry
VATRegistrationCountry I_SalesOrder VATRegistrationCountry
CustomerTaxClassification1 I_SalesOrder CustomerTaxClassification1
CustomerTaxClassification2 I_SalesOrder CustomerTaxClassification2
CustomerTaxClassification3 I_SalesOrder CustomerTaxClassification3
CustomerTaxClassification4 I_SalesOrder CustomerTaxClassification4
CustomerTaxClassification5 I_SalesOrder CustomerTaxClassification5
CustomerTaxClassification6 I_SalesOrder CustomerTaxClassification6
CustomerTaxClassification7 I_SalesOrder CustomerTaxClassification7
CustomerTaxClassification8 I_SalesOrder CustomerTaxClassification8
CustomerTaxClassification9 I_SalesOrder CustomerTaxClassification9
HeaderBillingBlockReason I_SalesOrder HeaderBillingBlockReason
DeliveryBlockReason I_SalesOrder DeliveryBlockReason
SalesOrderApprovalReason I_SalesOrder SalesOrderApprovalReason
CustomerPaymentTerms I_SalesOrder CustomerPaymentTerms
BillingCompanyCode I_SalesOrder BillingCompanyCode
BillingPlan I_SalesOrder BillingPlan
PaymentMethod I_SalesOrder PaymentMethod
CustomerAccountAssignmentGroup I_SalesOrder CustomerAccountAssignmentGroup
AssignmentReference I_SalesOrder AssignmentReference
AccountingDocExternalReference I_SalesOrder AccountingDocExternalReference
TotalNetAmount I_SalesOrder TotalNetAmount
TransactionCurrency I_SalesOrder TransactionCurrency
ReferenceSDDocument I_SalesOrder ReferenceSDDocument
ReferenceSDDocumentCategory I_SalesOrder ReferenceSDDocumentCategory
CustomerCreditAccount I_SalesOrder CustomerCreditAccount
CreditControlArea I_SalesOrder CreditControlArea
OverallSDProcessStatus I_SalesOrder OverallSDProcessStatus
OverallPurchaseConfStatus I_SalesOrder OverallPurchaseConfStatus
OverallDeliveryBlockStatus I_SalesOrder OverallDeliveryBlockStatus
OverallBillingBlockStatus I_SalesOrder OverallBillingBlockStatus
OverallDeliveryStatus I_SalesOrder OverallDeliveryStatus
TotalCreditCheckStatus I_SalesOrder TotalCreditCheckStatus
OverallSDDocumentRejectionSts I_SalesOrder OverallSDDocumentRejectionSts
TotalBlockStatus I_SalesOrder TotalBlockStatus
HdrGeneralIncompletionStatus
OvrlItmGeneralIncompletionSts
OverallSDDocReferenceStatus I_SalesOrder OverallSDDocReferenceStatus
SalesDocApprovalStatus I_SalesOrder SalesDocApprovalStatus
OverallChmlCmplncStatus I_SalesOrder OverallChmlCmplncStatus
OverallDangerousGoodsStatus I_SalesOrder OverallDangerousGoodsStatus
OverallSafetyDataSheetStatus I_SalesOrder OverallSafetyDataSheetStatus
OverallTrdCmplncEmbargoSts I_SalesOrder OverallTrdCmplncEmbargoSts
OvrlTrdCmplncSnctndListChkSts
OvrlTrdCmplncLegalCtrlChkSts I_SalesOrder OvrlTrdCmplncLegalCtrlChkSts
SalesOrderDownPaymentStatus I_SalesOrder SalesOrderDownPaymentStatus
OverallOrdReltdBillgStatus I_SalesOrder OverallOrdReltdBillgStatus
BusinessSolutionOrder I_SalesOrder BusinessSolutionOrder
SlsContrAutoAssgmtIDForSlsOrd I_SalesOrder SlsContrAutoAssgmtIDForSlsOrd
SalesOrderDate I_SalesOrder SalesOrderDate
SalesOrderProcessingType I_SalesOrder SalesOrderProcessingType
ControllingArea I_SalesOrder ControllingArea
CreatedByUser I_SalesOrder CreatedByUser
CreationDate I_SalesOrder CreationDate
CreationTime I_SalesOrder CreationTime
LastChangedByUser I_SalesOrder LastChangedByUser
LastChangeDate I_SalesOrder LastChangeDate
IsEUTriangularDeal I_SalesOrder IsEUTriangularDeal
EntProjTypeCustomerProject
OutputRequestUUID OutputRequest OutputRequestUUID
_Item _Item
_Text _Text
_Partner _Partner
_ShipToParty _ShipToParty
_PricingElement _PricingElement
_BillingPlan _BillingPlan
_OutputRequest _OutputRequest
_SalesOrderType I_SalesOrder _SalesOrderType
_SalesOrganization I_SalesOrder _SalesOrganization
_DistributionChannel I_SalesOrder _DistributionChannel
_OrganizationDivision I_SalesOrder _OrganizationDivision
_SalesGroup I_SalesOrder _SalesGroup
_SalesOffice I_SalesOrder _SalesOffice
_SalesDistrict I_SalesOrder _SalesDistrict
_SDPricingProcedure I_SalesOrder _SDPricingProcedure
_CreatedByUser I_SalesOrder _CreatedByUser
_CustomerPriceGroup I_SalesOrder _CustomerPriceGroup
_PriceListType I_SalesOrder _PriceListType
_CustomerPurchaseOrderType I_SalesOrder _CustomerPurchaseOrderType
_CustomerGroup I_SalesOrder _CustomerGroup
_LastChangedByUser I_SalesOrder _LastChangedByUser
_SDDocumentReason I_SalesOrder _SDDocumentReason
_TransactionCurrency I_SalesOrder _TransactionCurrency
_ShippingType I_SalesOrder _ShippingType
_ShippingCondition I_SalesOrder _ShippingCondition
_DeliveryDateTypeRule I_SalesOrder _DeliveryDateTypeRule
_IncotermsClassification I_SalesOrder _IncotermsClassification
_IncotermsVersion I_SalesOrder _IncotermsVersion
_CustomerPaymentTerms I_SalesOrder _CustomerPaymentTerms
_BillingCompanyCode I_SalesOrder _BillingCompanyCode
_HeaderBillingBlockReason I_SalesOrder _HeaderBillingBlockReason
_DeliveryBlockReason I_SalesOrder _DeliveryBlockReason
_CustomerCreditAccount I_SalesOrder _CustomerCreditAccount
_CreditControlArea I_SalesOrder _CreditControlArea
_OverallSDProcessStatus I_SalesOrder _OverallSDProcessStatus
_OverallPurchaseConfStatus I_SalesOrder _OverallPurchaseConfStatus
_OverallBillingBlockStatus I_SalesOrder _OverallBillingBlockStatus
_OverallDeliveryBlockStatus I_SalesOrder _OverallDeliveryBlockStatus
_OverallDeliveryStatus I_SalesOrder _OverallDeliveryStatus
_TotalCreditCheckStatus I_SalesOrder _TotalCreditCheckStatus
_SalesDocApprovalStatus I_SalesOrder _SalesDocApprovalStatus
_SalesOrderApprovalReason I_SalesOrder _SalesOrderApprovalReason
_OverallChmlCmplncStatus I_SalesOrder _OverallChmlCmplncStatus
_OverallDangerousGoodsStatus I_SalesOrder _OverallDangerousGoodsStatus
_OvrlSftyDataSheetSts I_SalesOrder _OvrlSftyDataSheetSts
_OverallSDDocumentRejectionSts I_SalesOrder _OverallSDDocumentRejectionSts
_TotalBlockStatus I_SalesOrder _TotalBlockStatus
_HdrGeneralIncompletionStatus I_SalesOrder _HdrGeneralIncompletionStatus
_OvrlItmGeneralIncompletionSts I_SalesOrder _OvrlItmGeneralIncompletionSts
_OverallSDDocReferenceStatus I_SalesOrder _OverallSDDocReferenceStatus
_OvTrdCmplncSnctndListChkSts I_SalesOrder _OvTrdCmplncSnctndListChkSts
_OvrlTradeCmplncEmbargoStatus I_SalesOrder _OvrlTradeCmplncEmbargoStatus
_OvrlTrdCmplncLegalCtrlChkSts I_SalesOrder _OvrlTrdCmplncLegalCtrlChkSts
_DownPaymentStatus I_SalesOrder _DownPaymentStatus
_OverallOrdReltdBillgStatus I_SalesOrder _OverallOrdReltdBillgStatus
_ControllingArea I_SalesOrder _ControllingArea
_TaxDepartureCountry I_SalesOrder _TaxDepartureCountry
_VATRegistrationCountry I_SalesOrder _VATRegistrationCountry
_CustomerAccountAssgmtGroup I_SalesOrder _CustomerAccountAssgmtGroup
_AdditionalCustomerGroup1 I_SalesOrder _AdditionalCustomerGroup1
_AdditionalCustomerGroup2 I_SalesOrder _AdditionalCustomerGroup2
_AdditionalCustomerGroup3 I_SalesOrder _AdditionalCustomerGroup3
_AdditionalCustomerGroup4 I_SalesOrder _AdditionalCustomerGroup4
_AdditionalCustomerGroup5 I_SalesOrder _AdditionalCustomerGroup5
_ReferenceSDDocumentCategory I_SalesOrder _ReferenceSDDocumentCategory
@VDM: {
  lifecycle.contract.type: #SAP_INTERNAL_API,
  viewType: #TRANSACTIONAL
}

@AccessControl: {
  authorizationCheck:    #CHECK,
  personalData.blocking: #('TRANSACTIONAL_DATA'),
  privilegedAssociations: [ '_OutputRequest', '_CreatedByUser', '_LastChangedByUser'] }


@ObjectModel: {
    sapObjectNodeType:{
        name: 'SalesOrder'
    },
    usageType: {
        dataClass:      #TRANSACTIONAL,
        serviceQuality: #C,
        sizeCategory:   #L
    },
    semanticKey: ['SalesOrder']
}
@AbapCatalog.extensibility: {
  extensible: true,
  dataSources: ['_Extension'],
  elementSuffix: 'SDH',
  quota: {
    maximumFields: 204,
    maximumBytes: 100000
  }
}

@Metadata.ignorePropagatedAnnotations: true

@EndUserText.label: 'Sales Order - TP'

define root view entity R_SalesOrderTP
  as select from           I_SalesOrder    as SalesOrder
    left outer to one join I_OutputRequest as OutputRequest on  OutputRequest.OutputControlApplicationObject = SalesOrder.SalesOrder
                                                            and OutputRequest.OutputControlApplObjectType    = 'SALES_DOCUMENT'

  composition [0..*] of R_SalesOrderItemTP           as _Item
  composition [0..*] of R_SalesOrderTextTP           as _Text
  composition [0..*] of R_SalesOrderPartnerTP        as _Partner
  composition [0..*] of R_SalesOrderPricingElementTP as _PricingElement
  composition [0..1] of R_SalesOrderBillingPlanTP    as _BillingPlan
  composition [0..1] of R_SalesOrderShipToPartyTP    as _ShipToParty
  association [0..1] to R_OutputRequestTP            as _OutputRequest            on  $projection.OutputRequestUUID = _OutputRequest.OutputRequestUUID
  association [0..1] to I_SalesOrderPartner          as _SoldToParty              on  $projection.SalesOrder       = _SoldToParty.SalesOrder
                                                                                  and _SoldToParty.PartnerFunction = 'AG'
  association [0..1] to I_SlsOrganizationDistrChnl   as _SlsOrganizationDistrChnl on  $projection.SalesOrganization   = _SlsOrganizationDistrChnl.SalesOrganization
                                                                                  and $projection.DistributionChannel = _SlsOrganizationDistrChnl.DistributionChannel

  //Extension Association

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


{
  key SalesOrder.SalesOrder,
      
      @ObjectModel.editableFieldFor: 'SalesOrder'
      SalesOrder.SalesOrder as SalesOrderForEdit,
      
      @ObjectModel.foreignKey.association: '_SalesOrderType'
      SalesOrder.SalesOrderType,

      @ObjectModel.text.element: ['CustomerName']
      SalesOrder.SoldToParty,
      @Semantics.text:true
      _SoldToParty.FullName                                                                            as CustomerName,

      _SoldToParty.AddressID                                                                           as SoldToPartyAddressID,

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

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

      _SlsOrganizationDistrChnl.ReferenceDistributionChannel,

      @ObjectModel.foreignKey.association: '_OrganizationDivision'

      SalesOrder.OrganizationDivision,

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

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

      @ObjectModel.foreignKey.association: '_SalesDistrict'
      SalesOrder.SalesDistrict,

      SalesOrder.PurchaseOrderByCustomer,

      @ObjectModel.foreignKey.association: '_CustomerPurchaseOrderType'
      SalesOrder.CustomerPurchaseOrderType,

      SalesOrder.CustomerPurchaseOrderDate,

      SalesOrder.PurchaseOrderByShipToParty,
      
      SalesOrder.CorrespncExternalReference,
      
      SalesOrder.CorrespncExtRefByShipToParty,

      @ObjectModel.foreignKey.association: '_CustomerGroup'
      SalesOrder.CustomerGroup,

      @ObjectModel.foreignKey.association: '_AdditionalCustomerGroup1'
      SalesOrder.AdditionalCustomerGroup1,
      @ObjectModel.foreignKey.association: '_AdditionalCustomerGroup2'
      SalesOrder.AdditionalCustomerGroup2,
      @ObjectModel.foreignKey.association: '_AdditionalCustomerGroup3'
      SalesOrder.AdditionalCustomerGroup3,
      @ObjectModel.foreignKey.association: '_AdditionalCustomerGroup4'
      SalesOrder.AdditionalCustomerGroup4,
      @ObjectModel.foreignKey.association: '_AdditionalCustomerGroup5'
      SalesOrder.AdditionalCustomerGroup5,

      @ObjectModel.foreignKey.association: '_SDDocumentReason'
      SalesOrder.SDDocumentReason,

      SalesOrder.PricingDate,
      SalesOrder.ServicesRenderedDate,

      SalesOrder.BillingDocumentDate,

      @ObjectModel.foreignKey.association: '_SDPricingProcedure'
      SalesOrder.SDPricingProcedure,

      @ObjectModel.foreignKey.association: '_CustomerPriceGroup'
      SalesOrder.CustomerPriceGroup,

      @ObjectModel.foreignKey.association: '_PriceListType'
      SalesOrder.PriceListType,

      SalesOrder.RequestedDeliveryDate,

      @ObjectModel.foreignKey.association: '_DeliveryDateTypeRule'
      SalesOrder.DeliveryDateTypeRule,

      @ObjectModel.foreignKey.association: '_ShippingCondition'
      SalesOrder.ShippingCondition,

      SalesOrder.CompleteDeliveryIsDefined,
      SalesOrder.OrderCombinationIsAllowed,
      SalesOrder.SlsDocIsRlvtForProofOfDeliv,

      @ObjectModel.foreignKey.association: '_ShippingType'
      SalesOrder.ShippingType,

      SalesOrder.ReceivingPoint,

      @ObjectModel.foreignKey.association: '_IncotermsClassification'
      SalesOrder.IncotermsClassification,

      @ObjectModel.foreignKey.association: '_IncotermsVersion'
      SalesOrder.IncotermsVersion,

      SalesOrder.IncotermsLocation1,

      SalesOrder.IncotermsLocation2,

      SalesOrder.FixedValueDate,

      @ObjectModel.foreignKey.association: '_TaxDepartureCountry'
      SalesOrder.TaxDepartureCountry,
      @ObjectModel.foreignKey.association: '_VATRegistrationCountry'
      SalesOrder.VATRegistrationCountry,

      SalesOrder.CustomerTaxClassification1,
      SalesOrder.CustomerTaxClassification2,
      SalesOrder.CustomerTaxClassification3,
      SalesOrder.CustomerTaxClassification4,
      SalesOrder.CustomerTaxClassification5,
      SalesOrder.CustomerTaxClassification6,
      SalesOrder.CustomerTaxClassification7,
      SalesOrder.CustomerTaxClassification8,
      SalesOrder.CustomerTaxClassification9,

      @ObjectModel.foreignKey.association: '_HeaderBillingBlockReason'
      SalesOrder.HeaderBillingBlockReason,

      @ObjectModel.foreignKey.association: '_DeliveryBlockReason'
      SalesOrder.DeliveryBlockReason,

      @ObjectModel.foreignKey.association: '_SalesOrderApprovalReason'
      SalesOrder.SalesOrderApprovalReason,

      @ObjectModel.foreignKey.association: '_CustomerPaymentTerms'
      SalesOrder.CustomerPaymentTerms,

      @ObjectModel.foreignKey.association: '_BillingCompanyCode'
      SalesOrder.BillingCompanyCode,

      SalesOrder.BillingPlan,

      SalesOrder.PaymentMethod,

      @ObjectModel.foreignKey.association: '_CustomerAccountAssgmtGroup'
      SalesOrder.CustomerAccountAssignmentGroup,
      SalesOrder.AssignmentReference,
      SalesOrder.AccountingDocExternalReference,

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

      @ObjectModel.foreignKey.association: '_TransactionCurrency'
      SalesOrder.TransactionCurrency,

      SalesOrder.ReferenceSDDocument,

      @ObjectModel.foreignKey.association: '_ReferenceSDDocumentCategory'
      SalesOrder.ReferenceSDDocumentCategory,

      @ObjectModel.foreignKey.association: '_CustomerCreditAccount'
      SalesOrder.CustomerCreditAccount,

      @ObjectModel.foreignKey.association: '_CreditControlArea'
      SalesOrder.CreditControlArea,

      @ObjectModel.foreignKey.association: '_OverallSDProcessStatus'
      SalesOrder.OverallSDProcessStatus,

      @ObjectModel.foreignKey.association: '_OverallPurchaseConfStatus'
      SalesOrder.OverallPurchaseConfStatus,
           
      @ObjectModel.foreignKey.association: '_OverallDeliveryBlockStatus'
      SalesOrder.OverallDeliveryBlockStatus,

      @ObjectModel.foreignKey.association: '_OverallBillingBlockStatus'
      SalesOrder.OverallBillingBlockStatus,

      @ObjectModel.foreignKey.association: '_OverallDeliveryStatus'
      SalesOrder.OverallDeliveryStatus,

      @ObjectModel.foreignKey.association: '_TotalCreditCheckStatus'
      SalesOrder.TotalCreditCheckStatus,

      @ObjectModel.foreignKey.association: '_OverallSDDocumentRejectionSts'
      SalesOrder.OverallSDDocumentRejectionSts,

      @ObjectModel.foreignKey.association: '_TotalBlockStatus'
      SalesOrder.TotalBlockStatus,

      @ObjectModel.foreignKey.association: '_HdrGeneralIncompletionStatus'
      cast(SalesOrder.HdrGeneralIncompletionStatus as hdr_general_incompltn_status preserving type )   as HdrGeneralIncompletionStatus,

      @ObjectModel.foreignKey.association: '_OvrlItmGeneralIncompletionSts'
      cast(SalesOrder.OvrlItmGeneralIncompletionSts as itms_ovrl_incompletion_status preserving type ) as OvrlItmGeneralIncompletionSts,

      @ObjectModel.foreignKey.association: '_OverallSDDocReferenceStatus'
      SalesOrder.OverallSDDocReferenceStatus,

      @ObjectModel.foreignKey.association: '_SalesDocApprovalStatus'
      SalesOrder.SalesDocApprovalStatus,

      @ObjectModel.foreignKey.association: '_OverallChmlCmplncStatus'
      SalesOrder.OverallChmlCmplncStatus,

      @ObjectModel.foreignKey.association: '_OverallDangerousGoodsStatus'
      SalesOrder.OverallDangerousGoodsStatus,

      @ObjectModel.foreignKey.association: '_OvrlSftyDataSheetSts'
      SalesOrder.OverallSafetyDataSheetStatus,

      @ObjectModel.foreignKey.association: '_OvrlTradeCmplncEmbargoStatus'
      SalesOrder.OverallTrdCmplncEmbargoSts,

      @ObjectModel.foreignKey.association: '_OvTrdCmplncSnctndListChkSts'
      cast(SalesOrder.OvrlTrdCmplncSnctndListChkSts as totwatchlistscrngchksts preserving type )       as OvrlTrdCmplncSnctndListChkSts,

      @ObjectModel.foreignKey.association: '_OvrlTrdCmplncLegalCtrlChkSts'
      SalesOrder.OvrlTrdCmplncLegalCtrlChkSts,

      @ObjectModel.foreignKey.association: '_DownPaymentStatus'
      SalesOrder.SalesOrderDownPaymentStatus,

      @ObjectModel.foreignKey.association: '_OverallOrdReltdBillgStatus'
      SalesOrder.OverallOrdReltdBillgStatus,

      SalesOrder.BusinessSolutionOrder,

      SalesOrder.SlsContrAutoAssgmtIDForSlsOrd,

      case tstmp_is_valid(cast(SalesOrder.LastChangeDateTime as abap.dec(15,0)))
        when 0 then cast( dats_tims_to_tstmp( SalesOrder.CreationDate, SalesOrder.CreationTime, 'UTC', $session.client, 'NULL' ) as last_changed_date_time )
        else cast( SalesOrder.LastChangeDateTime as last_changed_date_time )
      end                                                                                              as LastChangeDateTime,

      SalesOrder.SalesOrderDate,

      SalesOrder.SalesOrderProcessingType,

      @ObjectModel.foreignKey.association: '_ControllingArea'
      SalesOrder.ControllingArea,

      @ObjectModel.foreignKey.association: '_CreatedByUser'
      SalesOrder.CreatedByUser,
      SalesOrder.CreationDate,
      SalesOrder.CreationTime,

      cast( dats_tims_to_tstmp( SalesOrder.CreationDate, SalesOrder.CreationTime, abap_system_timezone( $session.client, 'NULL' ),
        $session.client, 'NULL' ) as creation_date_time )                                              as SalesDocumentCreationDateTime,

      @ObjectModel.foreignKey.association: '_LastChangedByUser'
      SalesOrder.LastChangedByUser,
      SalesOrder.LastChangeDate,

      SalesOrder.IsEUTriangularDeal,

      //    DO NOT expose this field in the consumption layers or in CDS stack above

      cast ( '' as /s4ppm/cust_proj_id )                                                               as EntProjTypeCustomerProject,

      OutputRequest.OutputRequestUUID,

      //Compositions

      _Item,
      _Text,
      _Partner,
      _ShipToParty,
      _PricingElement,
      _BillingPlan,

      //Re-use RAP associations

      _OutputRequest,

      //Associations

      SalesOrder._SalesOrderType,
      SalesOrder._SalesOrganization,
      SalesOrder._DistributionChannel,
      SalesOrder._OrganizationDivision,
      SalesOrder._SalesGroup,
      SalesOrder._SalesOffice,
      SalesOrder._SalesDistrict,
      SalesOrder._SDPricingProcedure,
      SalesOrder._CreatedByUser,
      SalesOrder._CustomerPriceGroup,
      SalesOrder._PriceListType,
      SalesOrder._CustomerPurchaseOrderType,
      SalesOrder._CustomerGroup,
      SalesOrder._LastChangedByUser,
      SalesOrder._SDDocumentReason,
      SalesOrder._TransactionCurrency,
      SalesOrder._ShippingType,
      SalesOrder._ShippingCondition,
      SalesOrder._DeliveryDateTypeRule,
      SalesOrder._IncotermsClassification,
      SalesOrder._IncotermsVersion,
      SalesOrder._CustomerPaymentTerms,
      SalesOrder._BillingCompanyCode,
      SalesOrder._HeaderBillingBlockReason,
      SalesOrder._DeliveryBlockReason,
      SalesOrder._CustomerCreditAccount,
      SalesOrder._CreditControlArea,
      SalesOrder._OverallSDProcessStatus,
      SalesOrder._OverallPurchaseConfStatus,
      SalesOrder._OverallBillingBlockStatus,
      SalesOrder._OverallDeliveryBlockStatus,
      SalesOrder._OverallDeliveryStatus,
      SalesOrder._TotalCreditCheckStatus,
      SalesOrder._SalesDocApprovalStatus,
      SalesOrder._SalesOrderApprovalReason,
      SalesOrder._OverallChmlCmplncStatus,
      SalesOrder._OverallDangerousGoodsStatus,
      SalesOrder._OvrlSftyDataSheetSts,
      SalesOrder._OverallSDDocumentRejectionSts,
      SalesOrder._TotalBlockStatus,
      SalesOrder._HdrGeneralIncompletionStatus,
      SalesOrder._OvrlItmGeneralIncompletionSts,
      SalesOrder._OverallSDDocReferenceStatus,
      SalesOrder._OvTrdCmplncSnctndListChkSts,
      SalesOrder._OvrlTradeCmplncEmbargoStatus,
      SalesOrder._OvrlTrdCmplncLegalCtrlChkSts,
      SalesOrder._DownPaymentStatus,
      SalesOrder._OverallOrdReltdBillgStatus,
      SalesOrder._ControllingArea,
      SalesOrder._TaxDepartureCountry,
      SalesOrder._VATRegistrationCountry,
      SalesOrder._CustomerAccountAssgmtGroup,
      SalesOrder._AdditionalCustomerGroup1,
      SalesOrder._AdditionalCustomerGroup2,
      SalesOrder._AdditionalCustomerGroup3,
      SalesOrder._AdditionalCustomerGroup4,
      SalesOrder._AdditionalCustomerGroup5,
      SalesOrder._ReferenceSDDocumentCategory
}