I_AdvncdReturnsMgmtProcessStep

DDL: I_ADVNCDRETURNSMGMTPROCESSSTEP Type: view COMPOSITE

Advanced Returns Management Process Step

I_AdvncdReturnsMgmtProcessStep is a Composite CDS View that provides data about "Advanced Returns Management Process Step" in SAP S/4HANA. It reads from 3 data sources (I_AdvncdRetsMgmtProcExecuted, I_AdvncdRetsMgmtProcNextPlants, I_AdvncdRetsMgmtProcExecStatus) and exposes 42 fields with key fields RetsMgmtProcess, RetsMgmtProcessItem, RetsMgmtProcItmQtySplit, RetsMgmtProcessStep, ReturnsDocumentType.

Data Sources (3)

SourceAliasJoin Type
I_AdvncdRetsMgmtProcExecuted Executed from
I_AdvncdRetsMgmtProcNextPlants NextPlants left_outer
I_AdvncdRetsMgmtProcExecStatus ProcgStatus left_outer

Annotations (12)

NameValueLevelField
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Advanced Returns Management Process Step view
VDM.viewType #COMPOSITE view
Analytics.dataExtraction.enabled false view
AccessControl.authorizationCheck #CHECK view
AbapCatalog.sqlViewName IARMPROCSTEP view
AbapCatalog.preserveKey true view
AbapCatalog.compiler.compareFilter true view
ObjectModel.representativeKey RetsMgmtProcessStep view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view

Fields (42)

KeyFieldSource TableSource FieldDescription
KEY RetsMgmtProcess I_AdvncdRetsMgmtProcExecuted RetsMgmtProcess
KEY RetsMgmtProcessItem I_AdvncdRetsMgmtProcExecuted RetsMgmtProcessItem
KEY RetsMgmtProcItmQtySplit I_AdvncdRetsMgmtProcExecuted RetsMgmtProcItmQtySplit
KEY RetsMgmtProcessStep I_AdvncdRetsMgmtProcExecuted RetsMgmtProcessStep
KEY ReturnsDocumentType I_AdvncdRetsMgmtProcExecuted ReturnsDocumentType
KEY ReturnsDocument I_AdvncdRetsMgmtProcExecuted ReturnsDocument
KEY ReturnsDocumentItem I_AdvncdRetsMgmtProcExecuted ReturnsDocumentItem
ReturnsReferenceDocumentType I_AdvncdRetsMgmtProcExecuted ReturnsReferenceDocumentType
ReturnsReferenceDocument I_AdvncdRetsMgmtProcExecuted ReturnsReferenceDocument
ReturnsReferenceDocumentItem I_AdvncdRetsMgmtProcExecuted ReturnsReferenceDocumentItem
ReturnsDocumentStatus I_AdvncdRetsMgmtProcExecuted ReturnsDocumentStatus
ReturnsDocumentApprovalStatus I_AdvncdRetsMgmtProcExecuted ReturnsDocumentApprovalStatus
RetsMgmtProcItmExectdSequence I_AdvncdRetsMgmtProcExecuted RetsMgmtProcItmExectdSequence
CustRetItmChainID I_AdvncdRetsMgmtProcExecuted CustRetItmChainID
CustRetItmFollowUpActivity Chain CustRetItmFollowUpActivity
ReturnsMaterialHasBeenReceived Chain ReturnsMaterialHasBeenReceived
NextPlantForFollowUpActivity I_AdvncdRetsMgmtProcNextPlants NextPlantForFollowUpActivity
ReturnsTransshipmentPlant I_AdvncdRetsMgmtProcNextPlants ReturnsTransshipmentPlant
ReturnsRefundType I_AdvncdRetsMgmtProcExecuted ReturnsRefundType
ReturnsRefundProcgMode I_AdvncdRetsMgmtProcExecuted ReturnsRefundProcgMode
PrelimRefundIsDetermined I_AdvncdRetsMgmtProcExecuted PrelimRefundIsDetermined
ReplacementMaterial I_AdvncdRetsMgmtProcExecuted ReplacementMaterial
ReplacementMaterialQuantity I_AdvncdRetsMgmtProcExecuted ReplacementMaterialQuantity
ReplacementMaterialQtyUnit I_AdvncdRetsMgmtProcExecuted ReplacementMaterialQtyUnit
ReplacementMaterialIsRequested I_AdvncdRetsMgmtProcExecuted ReplacementMaterialIsRequested
ReplacementMatlSupplyingPlant I_AdvncdRetsMgmtProcExecuted ReplacementMatlSupplyingPlant
Supplier I_AdvncdRetsMgmtProcExecuted Supplier
AddressID I_AdvncdRetsMgmtProcExecuted AddressID
SupplierRetMatlAuthzn I_AdvncdRetsMgmtProcExecuted SupplierRetMatlAuthzn
SuplrRetMatlAuthznIsRequired I_AdvncdRetsMgmtProcExecuted SuplrRetMatlAuthznIsRequired
RetMatlInspResultCode I_AdvncdRetsMgmtProcExecuted RetMatlInspResultCode
char1asProductIsInspectedAtCustSite
_AdvncdRetsMgmtProcess I_AdvncdRetsMgmtProcExecuted _AdvncdRetsMgmtProcess
_AdvncdRetsMgmtProcessItem I_AdvncdRetsMgmtProcExecuted _AdvncdRetsMgmtProcessItem
_ReturnsReferenceDocumentType I_AdvncdRetsMgmtProcExecuted _ReturnsReferenceDocumentType
_ReturnsRefundType I_AdvncdRetsMgmtProcExecuted _ReturnsRefundType
_ReturnsRefundProcgMode I_AdvncdRetsMgmtProcExecuted _ReturnsRefundProcgMode
_ReplacementMaterialQtyUnit I_AdvncdRetsMgmtProcExecuted _ReplacementMaterialQtyUnit
_Supplier I_AdvncdRetsMgmtProcExecuted _Supplier
_Address I_AdvncdRetsMgmtProcExecuted _Address
_DfltAddrRprstn I_AdvncdRetsMgmtProcExecuted _DfltAddrRprstn
_RetMatlInspResultCode I_AdvncdRetsMgmtProcExecuted _RetMatlInspResultCode
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Advanced Returns Management Process Step'

@VDM.viewType: #COMPOSITE
@Analytics.dataExtraction.enabled: false

@AccessControl: {
  authorizationCheck: #CHECK,
  personalData.blocking: #('TRANSACTIONAL_DATA'),
  privilegedAssociations: [ '_Address', '_DfltAddrRprstn' ]
}

@AbapCatalog: {
  sqlViewName: 'IARMPROCSTEP',
  preserveKey: true,
  compiler.compareFilter: true
}

@ObjectModel: {
  representativeKey: 'RetsMgmtProcessStep',
  usageType: {
    dataClass:      #MIXED,
    serviceQuality: #C,
    sizeCategory:   #L
  }
}

define view I_AdvncdReturnsMgmtProcessStep
  as select from           I_AdvncdRetsMgmtProcExecuted   as Executed
  
    left outer to one join I_AdvncdReturnsMgmtProcChain   as Chain       on Executed.CustRetItmChainID = Chain.CustRetItmChainID
    
    left outer join        I_AdvncdRetsMgmtProcNextPlants as NextPlants  on  Executed.RetsMgmtProcess         = NextPlants.RetsMgmtProcess
                                                                         and Executed.RetsMgmtProcessItem     = NextPlants.RetsMgmtProcessItem
                                                                         and Executed.RetsMgmtProcItmQtySplit = NextPlants.RetsMgmtProcItmQtySplit
                                                                         and Executed.RetsMgmtProcessStep     = NextPlants.RetsMgmtProcessStep

    left outer join        I_AdvncdRetsMgmtProcExecStatus as ProcgStatus on  Executed.RetsMgmtProcess                     = ProcgStatus.RetsMgmtProcess
                                                                         and Executed.RetsMgmtProcessItem                 = ProcgStatus.RetsMgmtProcessItem
                                                                         and Executed.RetsMgmtProcItmQtySplit             = ProcgStatus.RetsMgmtProcItmQtySplit
                                                                         and Executed.RetsMgmtProcessStep                 = ProcgStatus.RetsMgmtProcessStep
                                                                         and Executed.ReturnsDocumentStatus               = ''
                                                                         and ( ( ProcgStatus.ReturnsReferenceDocument     = Executed.ReturnsDocument
                                                                             and ProcgStatus.ReturnsReferenceDocumentItem = Executed.ReturnsDocumentItem )
                                                                             or ProcgStatus.ReturnsReferenceDocument      = ''
                                                                             )

{
      //Key

  key Executed.RetsMgmtProcess,
  key Executed.RetsMgmtProcessItem,

  key Executed.RetsMgmtProcItmQtySplit,
  key Executed.RetsMgmtProcessStep,

  key Executed.ReturnsDocumentType,
  key Executed.ReturnsDocument,
  key Executed.ReturnsDocumentItem,


      //Reference Document

      Executed.ReturnsReferenceDocumentType,
      Executed.ReturnsReferenceDocument,
      Executed.ReturnsReferenceDocumentItem,

      //Returns Document Status

      Executed.ReturnsDocumentStatus,
      Executed.ReturnsDocumentApprovalStatus,

      Executed.RetsMgmtProcItmExectdSequence,
      Executed.CustRetItmChainID,

      Chain.CustRetItmFollowUpActivity,
      Chain.ReturnsMaterialHasBeenReceived,

      NextPlants.NextPlantForFollowUpActivity,
      NextPlants.ReturnsTransshipmentPlant,

      //Refunding

      Executed.ReturnsRefundType,
      Executed.ReturnsRefundProcgMode,
      Executed.PrelimRefundIsDetermined,

      //Replacement

      Executed.ReplacementMaterial,
      Executed.ReplacementMaterialQuantity,
      Executed.ReplacementMaterialQtyUnit,
      Executed.ReplacementMaterialIsRequested,
      Executed.ReplacementMatlSupplyingPlant,

      Executed.Supplier,
      Executed.AddressID,
      Executed.SupplierRetMatlAuthzn,
      Executed.SuplrRetMatlAuthznIsRequired,

      //Inspection

      Executed.RetMatlInspResultCode,

      cast (case when Executed.ReturnsDocumentType = '00' and Executed.RetMatlInspResultCode <> ''
        then
          'X' --  ->'Product is inspected at customer site'
      // else

      // ''  --  ->'Product is not inspected at customer site'

       end as abap.char(1))        as ProductIsInspectedAtCustSite,

      //Processing Status

      cast ( case when  ProcgStatus.RetsMgmtProcessStep <> ''
        then
          case when ProcgStatus.RetsMgmtProcStepExecStatus = '2'
            then
              '2' -- ->'with errors'
            else
              '0' -- ->'open'
          end
        else
          '1' -- ->'complete'
      end as msr_exec_step_status) as RetsMgmtProcStepExecStatus,

      //Associations

      @ObjectModel.association.type: [#TO_COMPOSITION_ROOT]
      Executed._AdvncdRetsMgmtProcess,
      @ObjectModel.association.type: [#TO_COMPOSITION_PARENT]
      Executed._AdvncdRetsMgmtProcessItem,
      Executed._ReturnsReferenceDocumentType,
      Executed._ReturnsRefundType,
      Executed._ReturnsRefundProcgMode,
      Executed._ReplacementMaterialQtyUnit,
      Executed._Supplier,
      Executed._Address,
      Executed._DfltAddrRprstn,
      Executed._RetMatlInspResultCode
}