FINOC_RULE_MAT_BASE

CDS View

Orgl Change-Rule: Materials Base

FINOC_RULE_MAT_BASE is a CDS View in S/4HANA. Orgl Change-Rule: Materials Base. It contains 7 fields. 3 CDS views read from this table.

CDS Views using this table (3)

ViewTypeJoinVDMDescription
FINOC_RULE_MAT_DEFAULT view from Orgl-Change: Default Rule for Materials
FINOC_RULE_MAT_EXAMPLE view from Organizational Change: Customer Rule MAT
finoc_rule_mat_mock view from Organizational Change Test : Domain Tests - Helper CDS View

Fields (7)

KeyField CDS FieldsUsed in Views
KEY matnr matnr 1
KEY orgl_change orgl_change 1
KEY werks werks 1
bukrs bukrs 1
kokrs kokrs 1
prctr_drvtn_source_type prctr_drvtn_source_type 1
prctr_old prctr_old 1
@AbapCatalog.sqlViewName: 'FINOC_RULE_MATB'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #L
@Metadata.ignorePropagatedAnnotations: true
@EndUserText.label: 'Orgl Change-Rule: Materials Base'
// This view returns all materials. A cross-join with all non-completed org changes is used to determine the

// profit center old, i.e. the profit center the material had before org change processing.

// Nevertheless, the org change runtime engine will always call the view with a restiction to orgl change, so that

// it won't return more than one org change per product / material.  

define view FINOC_RULE_MAT_BASE
  as select from           marc          as product
    inner join             t001w         as plant                        on plant.werks = product.werks
    inner join             t001k         as valuationArea                on valuationArea.bwkey = plant.bwkey
    inner join             finoc_orglchg as oc                           on oc.processing_status <> 'CMP'
    left outer to one join tka02         as companyCodeToControllingArea on companyCodeToControllingArea.bukrs = valuationArea.bukrs
    left outer to one join finoc_rt_mat  as rt                           on  rt.matnr           = product.matnr
                                                                         and rt.werks           = product.werks
                                                                         and rt.orgl_change     = oc.orgl_change
                                                                         and rt.reassgmt_status = 'DONE'
{
  key product.matnr,
  key product.werks,
  key oc.orgl_change,
      companyCodeToControllingArea.kokrs,
      valuationArea.bukrs,
      coalesce(rt.prctr_old, product.prctr)                       as prctr_old,
      cast( '          ' as finoc_prctr_new preserving type )     as prctr,
      cast('  ' as finoc_prctr_drvtn_source_type preserving type) as prctr_drvtn_source_type // space = this is the root object

}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"FINOC_ORGLCHG",
"FINOC_RT_MAT",
"MARC",
"T001K",
"T001W",
"TKA02"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/