C_MassChgCustomerReturn

DDL: C_MASSCHGCUSTOMERRETURN Type: view CONSUMPTION

Mass Change of Customer Returns

C_MassChgCustomerReturn is a Consumption CDS View that provides data about "Mass Change of Customer Returns" in SAP S/4HANA. It reads from 1 data source (I_SalesDocument) and exposes 94 fields with key field CustomerReturn. It has 13 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_SalesDocument _CustomerReturn from

Associations (13)

CardinalityTargetAliasCondition
[0..1] I_SDDocStandardPartner _StandardPartner $projection.CustomerReturn = _StandardPartner.SDDocument
[0..*] I_SlsDocNonStdPartner _NonStdPartner $projection.CustomerReturn = _NonStdPartner.SDDocument
[1..*] I_SDDocumentPartner _SDDocumentPartner $projection.CustomerReturn = _SDDocumentPartner.SDDocument
[0..*] I_SalesDocumentItem _CustomerReturnItem $projection.CustomerReturn = _CustomerReturnItem.SalesDocument
[0..*] C_SalesDocumentItemWl _SalesDocumentItem $projection.CustomerReturn = _SalesDocumentItem.SalesDocument
[0..*] C_MassChgSalesDocumentItemWl _MassChgSalesDocumentItemWL $projection.CustomerReturn = _MassChgSalesDocumentItemWL.SalesDocument
[0..1] I_CustReturnSubsqntProcgSts _ReldForSubsqntProcgStatus $projection.CustomerReturn = _ReldForSubsqntProcgStatus.CustomerReturn
[0..1] I_CustRetReleaseStatus _ReleaseStatus $projection.OvrlReldForSubsqntProcgSts = _ReleaseStatus.CustRetReleaseStatus
[0..1] I_CustRetReleaseStatusText _ReleaseStatusText $projection.OvrlReldForSubsqntProcgSts = _ReleaseStatusText.CustRetReleaseStatus and _ReleaseStatusText.Language = $session.system_language
[0..1] P_ReturnReasonCount _ReturnReasonCount $projection.CustomerReturn = _ReturnReasonCount.CustomerReturnCount
[0..1] E_SalesDocumentBasic _Extension $projection.CustomerReturn = _Extension.SalesDocument
[0..*] I_CostCenterText _CostCenterText $projection.CostCenter = _CostCenterText.CostCenter and $projection.ControllingArea = _CostCenterText.ControllingArea and _CostCenterText.ValidityEndDate >= $session.system_date and _CostCenterText.Language = $session.system_language
[0..1] C_SalesDocumentUserVH _CreatedByUser $projection.CreatedByUser = _CreatedByUser.UserID

Annotations (19)

NameValueLevelField
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Mass Change of Customer Returns view
VDM.viewType #CONSUMPTION view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #REQUIRED view
AbapCatalog.preserveKey true view
AbapCatalog.sqlViewName CSDMCCUSTRET view
AbapCatalog.compiler.compareFilter true view
ObjectModel.compositionRoot true view
ObjectModel.representativeKey CustomerReturn view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
OData.entitySet.name CustRet view
Metadata.ignorePropagatedAnnotations true view
Analytics.internalName #LOCAL view
Search.searchable true view
Metadata.allowExtensions true view

Fields (94)

KeyFieldSource TableSource FieldDescription
KEY CustomerReturn
SoldToParty SoldToParty
ShipToParty _StandardPartner ShipToParty
PurchaseOrderByCustomer PurchaseOrderByCustomer
SalesOrganization SalesOrganization
DistributionChannel DistributionChannel
OverallSDProcessStatus OverallSDProcessStatus
OverallTotalDeliveryStatusDesc
OverallTotalDeliveryStatus OverallTotalDeliveryStatus
CreationDate CreationDate
CreatedByUser CreatedByUser
CustomerReturnType
SDDocumentReason
CustomerPurchaseOrderDate CustomerPurchaseOrderDate
CustomerGroup CustomerGroup
AdditionalCustomerGroup1 AdditionalCustomerGroup1
AdditionalCustomerGroup2 AdditionalCustomerGroup2
AdditionalCustomerGroup3 AdditionalCustomerGroup3
AdditionalCustomerGroup4 AdditionalCustomerGroup4
AdditionalCustomerGroup5 AdditionalCustomerGroup5
OrderID OrderID
OrganizationDivision
SalesGroup SalesGroup
SalesOffice SalesOffice
SalesDistrict SalesDistrict
BusinessArea BusinessArea
CostCenter CostCenter
CostCenterDescription _CostCenterText CostCenterDescription
ControllingArea ControllingArea
BillingCompanyCode BillingCompanyCode
CreditControlArea CreditControlArea
OverallDeliveryStatusDesc
OverallDeliveryStatus
OverallSDDocumentRejectionSts
TotalBlockStatus TotalBlockStatus
OverallDeliveryBlockStatus
OverallBillingBlockStatus
HdrGeneralIncompletionStatus
HeaderBillgIncompletionStatus
OverallPricingIncompletionSts
HeaderDelivIncompletionStatus
OverallDangerousGoodsStatus
OverallSafetyDataSheetStatus
OvrlReldForSubsqntProcgSts
SalesDocApprovalStatus SalesDocApprovalStatus
PayerParty _StandardPartner PayerParty
BillToParty _StandardPartner BillToParty
ResponsibleEmployee _StandardPartner ResponsibleEmployee
SalesEmployee _StandardPartner SalesEmployee
ShipToPartyName
SoldToPartyName
BillToPartyName
PayerPartyName
ResponsibleEmployeeName
SalesEmployeeName
AdditionalPartnerName
PartnerFunction
Customer
Supplier
Personnel
ContactPerson
CustomerReturnDate SalesDocumentDate
BillingDocumentDate BillingDocumentDate
PricingDate PricingDate
ShippingCondition ShippingCondition
ShippingType ShippingType
DeliveryBlockReason
TotalNetAmount TotalNetAmount
TransactionCurrency TransactionCurrency
HeaderBillingBlockReason
CustomerReturnApprovalReason
OrganizationBPName1 _SoldToParty OrganizationBPName1
OrganizationBPName2 _SoldToParty OrganizationBPName2
Product
Batch
WBSElementExternalID
ItemIsDeliveryRelevant
Plant
Division
SalesDocumentItemCategory
ReturnReason
SalesContractFollowUpAction
SDProcessStatus
SDDocumentRejectionStatus
DeliveryBlockStatus
BillingBlockStatus
ItemGeneralIncompletionStatus
ItemBillingIncompletionStatus
PricingIncompletionStatus
ItemDeliveryIncompletionStatus
SDDocReferenceStatus
TotalSDDocReferenceStatus
DangerousGoodsStatus
SafetyDataSheetStatus
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Mass Change of Customer Returns'
@VDM: {
  viewType: #CONSUMPTION,
  lifecycle.contract.type: #PUBLIC_LOCAL_API
}
@AccessControl: {
  authorizationCheck: #CHECK,
  personalData.blocking: #REQUIRED
//  privilegedAssociations: [ '_CreatedByUser', '_LastChangedByUser', '_BusinessAreaText','_CostCenterBusinessAreaText','_CreditControlAreaText' ]

}
@AbapCatalog: {
  preserveKey: true,
  sqlViewName: 'CSDMCCUSTRET',
  compiler.compareFilter: true
}
@ObjectModel: {
   compositionRoot:   true,
   representativeKey: 'CustomerReturn',
   usageType: {
     dataClass:      #MIXED,
     serviceQuality: #C,
     sizeCategory:   #L
   }
}
@OData.entitySet.name:'CustRet'
@Metadata.ignorePropagatedAnnotations: true
@Analytics.internalName: #LOCAL
@Search.searchable: true
@Metadata.allowExtensions:true

define view C_MassChgCustomerReturn
  as select from I_SalesDocument as _CustomerReturn
  association [0..1] to I_SDDocStandardPartner       as _StandardPartner            on  $projection.CustomerReturn = _StandardPartner.SDDocument
  association [0..*] to I_SlsDocNonStdPartner        as _NonStdPartner              on  $projection.CustomerReturn = _NonStdPartner.SDDocument
  association [1..*] to I_SDDocumentPartner          as _SDDocumentPartner          on  $projection.CustomerReturn = _SDDocumentPartner.SDDocument
  association [0..*] to I_SalesDocumentItem          as _CustomerReturnItem         on  $projection.CustomerReturn = _CustomerReturnItem.SalesDocument
  association [0..*] to C_SalesDocumentItemWl        as _SalesDocumentItem          on  $projection.CustomerReturn = _SalesDocumentItem.SalesDocument
  association [0..*] to C_MassChgSalesDocumentItemWl as _MassChgSalesDocumentItemWL on  $projection.CustomerReturn = _MassChgSalesDocumentItemWL.SalesDocument
  association [0..1] to I_CustReturnSubsqntProcgSts  as _ReldForSubsqntProcgStatus  on  $projection.CustomerReturn = _ReldForSubsqntProcgStatus.CustomerReturn
  association [0..1] to I_CustRetReleaseStatus       as _ReleaseStatus              on  $projection.OvrlReldForSubsqntProcgSts = _ReleaseStatus.CustRetReleaseStatus
  association [0..1] to I_CustRetReleaseStatusText   as _ReleaseStatusText          on  $projection.OvrlReldForSubsqntProcgSts = _ReleaseStatusText.CustRetReleaseStatus
                                                                                    and _ReleaseStatusText.Language            = $session.system_language
  association [0..1] to P_ReturnReasonCount          as _ReturnReasonCount          on  $projection.CustomerReturn = _ReturnReasonCount.CustomerReturnCount

  association [0..1] to E_SalesDocumentBasic         as _Extension                  on  $projection.CustomerReturn = _Extension.SalesDocument
  association [0..*] to I_CostCenterText             as _CostCenterText             on  $projection.CostCenter          = _CostCenterText.CostCenter
                                                                                    and $projection.ControllingArea     = _CostCenterText.ControllingArea
                                                                                    and _CostCenterText.ValidityEndDate >= $session.system_date
                                                                                    and _CostCenterText.Language        = $session.system_language
  association [0..1] to C_SalesDocumentUserVH     as _CreatedByUser           on  $projection.CreatedByUser = _CreatedByUser.UserID                                                                           
  

{
      /**********Basic**********/
  key cast(SalesDocument as vdm_customer_return preserving type)                                                as CustomerReturn,

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

      @ObjectModel: {foreignKey.association: '_ShipToParty',text.element: ['ShipToPartyName']}
      _StandardPartner.ShipToParty                                                                              as ShipToParty,

      PurchaseOrderByCustomer,

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

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

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

      @Semantics.text: true
      _OverallTotalDeliveryStatus._Text[1:Language =  $session.system_language ].OverallTotalDeliveryStatusDesc as OverallTotalDeliveryStatusDesc,

      @ObjectModel.foreignKey.association: '_OverallTotalDeliveryStatus'
      @ObjectModel.text.element: 'OverallTotalDeliveryStatusDesc'
      OverallTotalDeliveryStatus,

      /**********Header Basic Data**********/

      @Semantics.systemDate.createdAt: true
      CreationDate,

      @ObjectModel.foreignKey.association: '_CreatedByUser'
      CreatedByUser,

      @ObjectModel.foreignKey.association: '_SalesDocumentType'
      //@ObjectModel.text.element: 'SalesDocumentTypeName'

      cast( SalesDocumentType as vdm_customer_return_type preserving type )                                     as CustomerReturnType,
      //       @Consumption.filter.hidden: true

      //      _CustomerReturn._SalesDocumentType._Text[1: Language=$session.system_language].SalesDocumentTypeName,


      @ObjectModel.foreignKey.association: '_SDDocumentReason'
      cast( _CustomerReturn.SDDocumentReason as returns_order_reason preserving type )                          as SDDocumentReason,
      //SDDocumentReason,


      CustomerPurchaseOrderDate,

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

      @ObjectModel.foreignKey.association: '_AdditionalCustomerGroup1'
      AdditionalCustomerGroup1,

      @ObjectModel.foreignKey.association: '_AdditionalCustomerGroup2'
      AdditionalCustomerGroup2,

      @ObjectModel.foreignKey.association: '_AdditionalCustomerGroup3'
      AdditionalCustomerGroup3,

      @ObjectModel.foreignKey.association: '_AdditionalCustomerGroup4'
      AdditionalCustomerGroup4,

      @ObjectModel.foreignKey.association: '_AdditionalCustomerGroup5'
      AdditionalCustomerGroup5,

      //@UI.hidden: true

      OrderID,

      /**********Item Basic Data**********/


      /**********Organization**********/

      @ObjectModel.foreignKey.association: '_OrganizationDivision'
      cast(OrganizationDivision as organization_division preserving type )                                      as OrganizationDivision,

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

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

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

      @ObjectModel.foreignKey.association: '_BusinessArea'
      BusinessArea,
@ObjectModel:{ foreignKey.association: '_CostCenter', text.element: ['CostCenterDescription']}
       CostCenter,
       @UI.hidden: true
       _CostCenterText.CostCenterDescription                                                  as CostCenterDescription,

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

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

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

      /**********Header status and Block**********/

      @Semantics.text: true
      _OverallDeliveryStatus._Text[1:Language =  $session.system_language ].OverallDeliveryStatusDesc           as OverallDeliveryStatusDesc,


      @ObjectModel.foreignKey.association: '_OverallDeliveryStatus'
      @ObjectModel.text.element: 'OverallDeliveryStatusDesc'
      cast(_CustomerReturn.OverallDeliveryStatus as overall_delivery_status preserving type )                   as OverallDeliveryStatus,

      @ObjectModel.foreignKey.association: '_OverallSDDocumentRejectionSts'
      cast(_CustomerReturn.OverallSDDocumentRejectionSts as ovrl_sd_doc_rejection_status preserving type )      as OverallSDDocumentRejectionSts,

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

      @ObjectModel.foreignKey.association: '_OverallDeliveryBlockStatus'
      cast(_CustomerReturn.OverallDeliveryBlockStatus as overall_delivery_block_status preserving type )        as OverallDeliveryBlockStatus,

      @ObjectModel.foreignKey.association: '_OverallBillingBlockStatus'
      cast(_CustomerReturn.OverallBillingBlockStatus as overall_billing_block_status preserving type )          as OverallBillingBlockStatus,

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

      @ObjectModel.foreignKey.association: '_HeaderBillgIncompletionStatus'
      cast(_CustomerReturn.HeaderBillgIncompletionStatus as hdrbillgincompletionstatus preserving type)         as HeaderBillgIncompletionStatus,

      @UI.textArrangement: #TEXT_ONLY
      @ObjectModel.foreignKey.association: '_OverallPricingIncompletionSts'
      cast(_CustomerReturn.OverallPricingIncompletionSts as ovrl_pricing_incompletion_sts preserving type )     as OverallPricingIncompletionSts,

      @ObjectModel.foreignKey.association: '_HeaderDelivIncompletionStatus'
      cast(_CustomerReturn.HeaderDelivIncompletionStatus as hdrdelivincompletionstatus preserving type)         as HeaderDelivIncompletionStatus,

      @ObjectModel.foreignKey.association: '_OverallDangerousGoodsStatus'
      cast(_CustomerReturn.OverallDangerousGoodsStatus as overall_dangerous_goods_status preserving type )      as OverallDangerousGoodsStatus,

      @ObjectModel.foreignKey.association: '_OvrlSftyDataSheetSts'
      cast(_CustomerReturn.OverallSafetyDataSheetStatus as ovrl_safety_data_sheet_sts preserving type )         as OverallSafetyDataSheetStatus,

      @Consumption.filter.hidden: true
      @ObjectModel.foreignKey.association: '_ReleaseStatus'
      cast(_ReldForSubsqntProcgStatus.OvrlReldForSubsqntProcgSts as cust_ret_rel_status)                        as OvrlReldForSubsqntProcgSts,

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

      /**********Partners**********/

      @ObjectModel: {foreignKey.association: '_PayerParty',text.element: ['PayerPartyName']}
      _StandardPartner.PayerParty                                                                               as PayerParty,
      @ObjectModel: {foreignKey.association: '_BillToParty',text.element: ['BillToPartyName']}
      _StandardPartner.BillToParty                                                                              as BillToParty,
      @ObjectModel: {foreignKey.association: '_ResponsibleEmployee',text.element: ['ResponsibleEmployeeName']}
      _StandardPartner.ResponsibleEmployee,
      @ObjectModel: {foreignKey.association: '_SalesEmployee',text.element: ['SalesEmployeeName']}
      _StandardPartner.SalesEmployee,

      @Semantics.text:true
      @Consumption.filter.hidden: true
      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_CUSTRET_UI_PARTNER_UTIL'
      cast('' as ad_namtext )                                                                                   as ShipToPartyName,

      @Semantics.text:true
      @Consumption.filter.hidden: true
      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_CUSTRET_UI_PARTNER_UTIL'
      cast('' as ad_namtext )                                                                                   as SoldToPartyName,

      @Semantics.text:true
      @Consumption.filter.hidden: true
      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_CUSTRET_UI_PARTNER_UTIL'
      cast('' as ad_namtext )                                                                                   as BillToPartyName,

      @Semantics.text:true
      @Consumption.filter.hidden: true
      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_CUSTRET_UI_PARTNER_UTIL'
      cast('' as ad_namtext )                                                                                   as PayerPartyName,

      @Semantics.text:true
      @Consumption.filter.hidden: true
      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_CUSTRET_UI_PARTNER_UTIL'
      cast('' as ad_namtext )                                                                                   as ResponsibleEmployeeName,

      @Semantics.text:true
      @Consumption.filter.hidden: true
      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_CUSTRET_UI_PARTNER_UTIL'
      cast('' as ad_namtext )                                                                                   as SalesEmployeeName,

      /**********Additional Partners**********/

      @ObjectModel.sort.enabled: false
      @Consumption.filter.hidden: true
      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MCC_SLS_DOC_VE'
      cast( ' ' as abap.char( 100 ))                                                                            as AdditionalPartnerName,

      @ObjectModel.virtualElement:true
      @ObjectModel.filter.transformedBy: 'ABAP:CL_MCC_CR_FILTER_TRANSFORM'
      cast( '  ' as parvw_unv )                                                                                 as PartnerFunction,

      @ObjectModel.virtualElement:true
      @ObjectModel.filter.transformedBy: 'ABAP:CL_MCC_CR_FILTER_TRANSFORM'
      cast( ' ' as kunnr )                                                                                      as Customer,

      @ObjectModel.virtualElement:true
      @ObjectModel.filter.transformedBy: 'ABAP:CL_MCC_CR_FILTER_TRANSFORM'
      cast( ' ' as lifnr)                                                                                       as Supplier,

      @ObjectModel.virtualElement:true
      @ObjectModel.filter.transformedBy: 'ABAP:CL_MCC_CR_FILTER_TRANSFORM'
      cast( '00000000' as  pernr_d)                                                                             as Personnel,

      @ObjectModel.virtualElement:true
      @ObjectModel.filter.transformedBy: 'ABAP:CL_MCC_CR_FILTER_TRANSFORM'
      cast( '0000000000' as parnr)                                                                              as ContactPerson,


      /**********Dates**********/

      SalesDocumentDate                                                                                         as CustomerReturnDate,

      /**********Item Dates**********/

      BillingDocumentDate,

      PricingDate,

      /**********Shipping**********/

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

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


      /**********Terms and Conditions**********/
      //not available for customer returns


      /**********Item Terms and Conditions**********/
      //not available for customer returns


      /**********Additional fields**********/

      @ObjectModel.foreignKey.association: '_DeliveryBlockReason'
      cast( DeliveryBlockReason as header_delivery_block_reason preserving type )                               as DeliveryBlockReason,

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

      @Semantics.currencyCode: true
      @ObjectModel.foreignKey.association: '_TransactionCurrency'
      TransactionCurrency,

      @ObjectModel.foreignKey.association: '_HeaderBillingBlockReason'
      cast(HeaderBillingBlockReason  as header_billing_block_reason preserving type )                           as HeaderBillingBlockReason,
      @ObjectModel.foreignKey.association: '_SalesDocApprovalReason'
      cast(_CustomerReturn.SalesDocApprovalReason  as sd_apm_approval_reason_vdm preserving type )                              as CustomerReturnApprovalReason,

      @UI.hidden: true
      _SoldToParty.OrganizationBPName1,

      @UI.hidden: true
      _SoldToParty.OrganizationBPName2,

      /**********Virtual Elements**********/

      // ------- Item Basic Data ------- //



      //virtual Element

      @ObjectModel.virtualElement: true
      @ObjectModel.filter.transformedBy : 'ABAP:CL_MCC_CR_FILTER_TRANSFORM'
      //@ObjectModel.foreignKey.association: '_Product'

      cast( ' ' as productnumber)                                                                               as Product,

      @ObjectModel.virtualElement:true
      @ObjectModel.filter.transformedBy: 'ABAP:CL_MCC_CR_FILTER_TRANSFORM'
      cast( ' ' as charg_d )                                                                                    as Batch,

      // ------- WBS Element External ID------- //

      @ObjectModel.virtualElement:true
      @ObjectModel.filter.transformedBy: 'ABAP:CL_MCC_CR_FILTER_TRANSFORM'
      cast( ' ' as ps_posid_edit )                                                                              as WBSElementExternalID,

      // ------- Item Shipping Data ------- //



      @ObjectModel.virtualElement:true
      @ObjectModel.filter.transformedBy: 'ABAP:CL_MCC_CR_FILTER_TRANSFORM'
      cast( ' ' as lfrel preserving type)                                                                       as ItemIsDeliveryRelevant,

      @ObjectModel.virtualElement:true
      @ObjectModel.filter.transformedBy: 'ABAP:CL_MCC_CR_FILTER_TRANSFORM'
      cast( ' ' as werks_ext)                                                                                   as Plant,

      @ObjectModel.virtualElement:true
      @ObjectModel.filter.transformedBy: 'ABAP:CL_MCC_CR_FILTER_TRANSFORM'
      cast( ' ' as spart )                                                                                      as Division,


      @ObjectModel.virtualElement:true
      @ObjectModel.filter.transformedBy: 'ABAP:CL_MCC_CR_FILTER_TRANSFORM'
      cast( ' ' as pstyv)                                                                                       as SalesDocumentItemCategory,

      @ObjectModel.virtualElement:true
      @ObjectModel.filter.transformedBy: 'ABAP:CL_MCC_CR_FILTER_TRANSFORM'
      cast( ' ' as msr_returns_reason)                                                                          as ReturnReason,

      @ObjectModel.virtualElement:true
      @ObjectModel.filter.transformedBy: 'ABAP:CL_MCC_CR_FILTER_TRANSFORM'
      cast( ' ' as vasch_veda)                                                                                  as SalesContractFollowUpAction,




      // ------- Item Status Data ------- //


      @ObjectModel.virtualElement:true
      @ObjectModel.filter.transformedBy: 'ABAP:CL_MCC_CR_FILTER_TRANSFORM'
      cast( '' as gbsta preserving type)                                                                        as SDProcessStatus,

      @ObjectModel.virtualElement:true
      @ObjectModel.filter.transformedBy: 'ABAP:CL_MCC_CR_FILTER_TRANSFORM'
      cast( ' ' as absta_vb preserving type  )                                                                  as SDDocumentRejectionStatus,

      @ObjectModel.virtualElement:true
      @ObjectModel.filter.transformedBy: 'ABAP:CL_MCC_CR_FILTER_TRANSFORM'
      cast( ' ' as delivery_block_status preserving type )                                                      as DeliveryBlockStatus,

      @ObjectModel.virtualElement:true
      @ObjectModel.filter.transformedBy: 'ABAP:CL_MCC_CR_FILTER_TRANSFORM'
      cast( ' ' as fssta preserving type )                                                                      as BillingBlockStatus,

      @ObjectModel.virtualElement:true
      @ObjectModel.filter.transformedBy: 'ABAP:CL_MCC_CR_FILTER_TRANSFORM'
      cast( ' ' as uvall_up preserving type )                                                                   as ItemGeneralIncompletionStatus,

      @ObjectModel.virtualElement:true
      @ObjectModel.filter.transformedBy: 'ABAP:CL_MCC_CR_FILTER_TRANSFORM'
      cast( ' ' as uvfak_up preserving type )                                                                   as ItemBillingIncompletionStatus,

      @ObjectModel.virtualElement:true
      @ObjectModel.filter.transformedBy: 'ABAP:CL_MCC_CR_FILTER_TRANSFORM'
      cast( ' ' as uvprs_up preserving type )                                                                   as PricingIncompletionStatus,

      @ObjectModel.virtualElement:true
      @ObjectModel.filter.transformedBy: 'ABAP:CL_MCC_CR_FILTER_TRANSFORM'
      cast('' as uvvlk_up preserving type )                                                                     as ItemDeliveryIncompletionStatus,

      @ObjectModel.virtualElement:true
      @ObjectModel.filter.transformedBy: 'ABAP:CL_MCC_CR_FILTER_TRANSFORM'
      cast('' as mon_tdd_dgsta preserving type )                                                                as SDDocReferenceStatus,

      @ObjectModel.virtualElement:true
      @ObjectModel.filter.transformedBy: 'ABAP:CL_MCC_CR_FILTER_TRANSFORM'
      cast( ' ' as rfgsa preserving type )                                                                      as TotalSDDocReferenceStatus,

      @ObjectModel.virtualElement:true
      @ObjectModel.filter.transformedBy: 'ABAP:CL_MCC_CR_FILTER_TRANSFORM'
      cast('' as mon_tdd_dgsta preserving type )                                                                as DangerousGoodsStatus,

      @ObjectModel.virtualElement:true
      @ObjectModel.filter.transformedBy: 'ABAP:CL_MCC_CR_FILTER_TRANSFORM'
      cast('' as mon_tdd_sdssta preserving type  )                                                              as SafetyDataSheetStatus,


      @ObjectModel.virtualElement:true
      @ObjectModel: { readOnly: true }
      @Consumption.hidden: true
      hextobin( '00000000000000000000000000000000' )                                                            as SlsDocMassChangeRequestUUID,

      cast ('H' as sd_mcc_entity_level)                                                                         as SlsDocMassChgEntityLevel,

      @ObjectModel.virtualElement:true
      @ObjectModel.filter.transformedBy: 'ABAP:CL_MCC_CR_FILTER_TRANSFORM'
      cast( '' as abap.char(4) )                                                                                as CustomerReturnItemCategory,

      @ObjectModel.virtualElement: true
      @ObjectModel.filter.transformedBy: 'ABAP:CL_MCC_CR_FILTER_TRANSFORM'
      cast( '  ' as abgru_va preserving type )                                                                  as SalesDocumentRjcnReason,

      @ObjectModel.virtualElement:true
      @ObjectModel.filter.transformedBy: 'ABAP:CL_MCC_CR_FILTER_TRANSFORM'
      cast( ' ' as prctr )                                                                                      as ProfitCenter,

      /* For DCL  */
      @Consumption.hidden: true
      @UI.hidden: true
      SalesDocumentType,
      @Consumption.filter.hidden: true
      @UI.hidden: true
      @ObjectModel.foreignKey.association: '_SDDocumentCategory'
      SDDocumentCategory,

      // CFD - BP Adoption Changes //

      //      @EndUserText.label: 'Bill-to Party Address'

      //

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

      //      @UI.textArrangement: #TEXT_ONLY

      //      _SDDocumentPartner[1:PartnerFunction = 'RE'].AddressID as BillToPartyAddressID,

      //

      //      @Semantics.text:true

      //      @Consumption.filter.hidden: true

      //      @ObjectModel.virtualElement: true

      //      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MCC_SLS_DOC_VE'

      //      cast(' ' as ad_line_s )                                                                                         as BillToPartyAddressText,

      //

      //      @EndUserText.label: 'Sold-to Party Address'

      //      @Consumption.filter.hidden: true

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

      //      @UI.textArrangement: #TEXT_ONLY

      //      _SDDocumentPartner[1:PartnerFunction = 'AG'].AddressID as SoldToPartyAddressID,

      //

      //      @Semantics.text:true

      //      @Consumption.filter.hidden: true

      //      @ObjectModel.virtualElement: true

      //      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MCC_SLS_DOC_VE'

      //      cast(' ' as ad_line_s )                                                                                         as SoldToPartyAddressText,

      //

      //      @EndUserText.label: 'Ship-to Party Address'

      //      @Consumption.filter.hidden: true

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

      //      @UI.textArrangement: #TEXT_ONLY

      //      _SDDocumentPartner[1:PartnerFunction = 'WE'].AddressID as ShipToPartyAddressID,

      //

      //      @Semantics.text:true

      //      @Consumption.filter.hidden: true

      //      @ObjectModel.virtualElement: true

      //      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MCC_SLS_DOC_VE'

      //      cast(' ' as ad_line_s )                                                                                         as ShipToPartyAddressText,

      //

      //      @EndUserText.label: 'Payer Party Address'

      //      @Consumption.filter.hidden: true

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

      //      @UI.textArrangement: #TEXT_ONLY

      //      _SDDocumentPartner[1:PartnerFunction = 'RG'].AddressID as PayerPartyAddressID,

      //

      //      @Semantics.text:true

      //      @Consumption.filter.hidden: true

      //      @ObjectModel.virtualElement: true

      //      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MCC_SLS_DOC_VE'

      //      cast(' ' as ad_line_s )                                                                                         as PayerPartyAddressText,

      //

      //      @EndUserText.label: 'Sales Employee Address'

      //      @Consumption.filter.hidden: true

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

      //      @UI.textArrangement: #TEXT_ONLY

      //      _SDDocumentPartner[1:PartnerFunction = 'VE'].AddressID as SalesEmployeeAddressID,

      //

      //      @Semantics.text:true

      //      @Consumption.filter.hidden: true

      //      @ObjectModel.virtualElement: true

      //      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MCC_SLS_DOC_VE'

      //      cast(' ' as ad_line_s )                                                                                         as SalesEmployeeAddressText,

      //

      //      @EndUserText.label: 'Responsible Employee Address'

      //      @Consumption.filter.hidden: true

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

      //      @UI.textArrangement: #TEXT_ONLY

      //      _SDDocumentPartner[1:PartnerFunction = 'ER'].AddressID as RespEmployeeAddressID,

      //

      //      @Semantics.text:true

      //      @Consumption.filter.hidden: true

      //      @ObjectModel.virtualElement: true

      //      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_MCC_SLS_DOC_VE'

      //      cast(' ' as ad_line_s )                                                                                         as RespEmployeeAddressText,

      // END-CFD - BP Adoption Changes //


      /**********Associations**********/

      @Consumption.filter.hidden: true
      _CustomerReturnItem,
      _DistributionChannel,
      _OrganizationDivision,
      _SalesGroup,
      _SalesOffice,
      _CustomerGroup,
      _AdditionalCustomerGroup1,
      _AdditionalCustomerGroup2,
      _AdditionalCustomerGroup3,
      _AdditionalCustomerGroup4,
      _AdditionalCustomerGroup5,
      _CreditControlArea,
      _SalesDistrict,
      @Consumption.filter.hidden: true
      _TransactionCurrency,
      _ShippingType,
      _ShippingCondition,
      @Consumption.filter.hidden: true
      _DeliveryBlockReason,
      @Consumption.filter.hidden: true
      _BillingCompanyCode,
      @Consumption.filter.hidden: true
      _HeaderBillingBlockReason,
      @Consumption.filter.hidden: true
      _BusinessArea,
      _CostCenter,
      @Consumption.filter.hidden: true
      _ControllingArea,
      _OverallSDProcessStatus,
      _OverallSDDocumentRejectionSts,
      _TotalBlockStatus,
      _ReleaseStatus,
      _ReleaseStatusText,
      _ReldForSubsqntProcgStatus,
      _OverallTotalDeliveryStatus,
      _OverallDeliveryStatus,
      _OverallDeliveryBlockStatus,
      _OverallBillingBlockStatus,
      _HdrGeneralIncompletionStatus,
      //@Consumption.filter.hidden: true

      _OverallPricingIncompletionSts,
      _HeaderDelivIncompletionStatus,
      _HeaderBillgIncompletionStatus,
      _OverallDangerousGoodsStatus,
      _SalesDocApprovalStatus,
      _OvrlSftyDataSheetSts,
      @Consumption.filter.hidden: true
      _NonStdPartner,
      _SoldToParty,
      _StandardPartner._ShipToParty                                                                             as _ShipToParty,
      _StandardPartner._PayerParty                                                                              as _PayerParty,
      _StandardPartner._BillToParty                                                                             as _BillToParty,
      _StandardPartner._ResponsibleEmployee                                                                     as _ResponsibleEmployee,
      _StandardPartner._SalesEmployee                                                                           as _SalesEmployee,
      @Consumption.filter.hidden: true
      _CustomerReturn._SDDocumentReason                                                                         as _SDDocumentReason,
      @Consumption.filter.hidden: true
      @Search.defaultSearchElement: true
      _SalesDocumentItem,
      @Consumption.filter.hidden: true
      _MassChgSalesDocumentItemWL,
      _SDDocumentCategory,
       @Consumption.filter.hidden: true
      _CostCenterText,
      _SalesOrganization                                                                                        as _SalesOrganization,
      @Consumption.filter.hidden: true
      _SDDocumentPartner,
      @Consumption.filter.hidden: true
      _CustomerReturn._SalesDocApprovalReason,
      @Consumption.filter.hidden: true
      _SalesDocumentType,
      @Consumption.filter.hidden: true
      _CreatedByUser

}
where
  _CustomerReturn.SDDocumentCategory = 'H'