FINOC_RULE_MAT_BASE

DDL: FINOC_RULE_MAT_BASE SQL: FINOC_RULE_MATB Type: view

Orgl Change-Rule: Materials Base

FINOC_RULE_MAT_BASE is a CDS View that provides data about "Orgl Change-Rule: Materials Base" in SAP S/4HANA. It reads from 4 data sources (finoc_orglchg, t001w, marc, t001k) and exposes 7 fields with key fields matnr, werks, orgl_change.

Data Sources (4)

SourceAliasJoin Type
finoc_orglchg oc inner
t001w plant inner
marc product from
t001k valuationArea inner

Annotations (10)

NameValueLevelField
AbapCatalog.sqlViewName FINOC_RULE_MATB view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #NOT_REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
Metadata.ignorePropagatedAnnotations true view
EndUserText.label Orgl Change-Rule: Materials Base view

Fields (7)

KeyFieldSource TableSource FieldDescription
KEY matnr marc matnr
KEY werks marc werks
KEY orgl_change finoc_orglchg orgl_change
kokrs companyCodeToControllingArea kokrs
bukrs t001k bukrs
prctr_old
prctr
@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":""
}
}*/