FAC_CDS_UH_HD_ATTR_VAL_JSON

DDL: FAC_CDS_UH_HD_ATTR_VAL_JSON SQL: FACV_UH_HATTRVAL Type: view

Header Attribute Value

FAC_CDS_UH_HD_ATTR_VAL_JSON is a CDS View that provides data about "Header Attribute Value" in SAP S/4HANA. It reads from 10 data sources and exposes 11 fields. It has 1 association to related views.

Data Sources (10)

SourceAliasJoin Type
uhdt_hatr atrdef inner
uhdt_hatr atrdef inner
uhdt_hattrvals atrval from
uhdt_hattrvals atrval union
uhdt_havt ftxt left_outer
uhdt_havt ftxt left_outer
uhdt_hattrvalst text left_outer
uhdt_hattrvalst text left_outer
uhdt_vrsn ver inner
uhdt_vrsn ver inner

Associations (1)

CardinalityTargetAliasCondition
[1..1] fac_cds_uh_category to_category $projection.hier_catg = to_category.CategoryKey

Annotations (8)

NameValueLevelField
AbapCatalog.sqlViewName FACV_UH_HATTRVAL view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Header Attribute Value view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #M view

Fields (11)

KeyFieldSource TableSource FieldDescription
client uhdt_hattrvals client
hier_catg uhdt_hattrvals hier_catg
ver_id uhdt_hattrvals ver_id
attr_name uhdt_hattrvals attr_name
hval_txtATTR_UXFCendendasattr_val
client
hier_catg uhdt_hattrvals hier_catg
ver_id uhdt_vrsn ver_id
attr_name uhdt_hattrvals attr_name
hval_txtATTR_UXFCendendasattr_val
to_category to_category
@AbapCatalog.sqlViewName: 'FACV_UH_HATTRVAL'
//@AbapCatalog.compiler.compareFilter: true

@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Header Attribute Value'
@AbapCatalog.compiler.compareFilter:true
@AbapCatalog.preserveKey:true
@ObjectModel.usageType: {
  dataClass: #MASTER,
  serviceQuality: #C,
  sizeCategory: #M
}
define view FAC_CDS_UH_HD_ATTR_VAL_JSON
  as select from uhdt_hattrvals as atrval 
  inner join uhdt_hatr as atrdef on atrval.attr_name = atrdef.attr_name and atrval.hier_catg = atrdef.hier_catg
  inner join uhdt_vrsn as ver on atrval.ver_id = ver.ver_id
  left outer join uhdt_hattrvalst as text on atrval.attr_name = text.attr_name and atrval.attr_lval = text.attr_lval and
  atrval.attr_hval = text.attr_hval and atrval.hier_catg = text.hier_catg and atrval.hier_id = text.hier_id and atrval.ver_id = text.ver_id and text.lang = $session.system_language
  left outer join uhdt_havt as ftxt on atrval.attr_name = ftxt.attr_name and atrval.attr_lval = ftxt.attr_valu and
  atrval.hier_catg = ftxt.hier_catg and ftxt.valu_lang = $session.system_language
  association [1..1] to fac_cds_uh_category   as to_category   on $projection.hier_catg = to_category.CategoryKey   
{
  atrval.client,
  atrval.hier_catg,
  atrval.ver_id,
  atrval.attr_name,
  case atrdef.attr_type
   when 'S'  then 
       case 
        when ftxt.valu_text is null
        then  concat( concat( concat(concat('{ "ATTR_NAME": "', atrval.attr_name), '",' ), concat('"ATTR_LVAL":"', concat(replace(atrval.attr_lval,'"','\"'), '",'))), concat('"LVAL_TXT":"', concat('', '","ATTR_UXFC":""}')))
        else  
         concat( concat( concat(concat('{ "ATTR_NAME": "', atrval.attr_name), '",' ), concat('"ATTR_LVAL":"', concat(replace(atrval.attr_lval,'"','\"'), '",'))), concat('"LVAL_TXT":"', concat(replace(ftxt.valu_text,'"','\"'), '","ATTR_UXFC":""}')))
        end
   when 'M' then
       case 
        when ftxt.valu_text is null
        then  concat( concat( concat(concat('{ "ATTR_NAME": "', atrval.attr_name), '",' ), concat('"ATTR_LVAL":"', concat(replace(atrval.attr_lval,'"','\"'), '",'))), concat('"LVAL_TXT":"', concat('', '","ATTR_UXFC":""}')))
        else  
         concat( concat( concat(concat('{ "ATTR_NAME": "', atrval.attr_name), '",' ), concat('"ATTR_LVAL":"', concat(replace(atrval.attr_lval,'"','\"'), '",'))), concat('"LVAL_TXT":"', concat(replace(ftxt.valu_text,'"','\"'), '","ATTR_UXFC":""}')))
        end
   else 
      case 
        when ( atrval.attr_hval is null or atrval.attr_hval = '' ) and text.lval_txt is null
        then  concat( concat( concat(concat('{ "ATTR_NAME": "', atrval.attr_name), '",' ), concat('"ATTR_LVAL":"', concat(replace(atrval.attr_lval,'"','\"'), '",'))), concat('"LVAL_TXT":"', concat('', '","ATTR_UXFC":""}')))
        when ( atrval.attr_hval is null or atrval.attr_hval = '' ) and text.lval_txt is not null    
        then  concat( concat( concat(concat('{ "ATTR_NAME": "', atrval.attr_name), '",' ), concat('"ATTR_LVAL":"', concat(replace(atrval.attr_lval,'"','\"'), '",'))), concat('"LVAL_TXT":"', concat(replace(text.lval_txt,'"','\"'), '","ATTR_UXFC":""}')))
        when ( atrval.attr_hval is not null and atrval.attr_hval <> '') and ( text.lval_txt is null or text.hval_txt is null )
        then concat( concat(concat('{ "ATTR_NAME": "', atrval.attr_name), '",' ), concat(concat('"ATTR_LVAL":"', concat(replace(atrval.attr_lval,'"','\"'), concat( '","LVAL_TXT":"', concat('', '",')))),concat('"ATTR_HVAL":"', concat(replace(atrval.attr_hval,'"','\"'), concat( '","HVAL_TXT":"', concat('', '","ATTR_UXFC":""}'))))))
        else concat( concat(concat('{ "ATTR_NAME": "', atrval.attr_name), '",' ), concat(concat('"ATTR_LVAL":"', concat(replace(atrval.attr_lval,'"','\"'), concat( '","LVAL_TXT":"', concat(replace(text.lval_txt,'"','\"'), '",')))),concat('"ATTR_HVAL":"', concat(replace(atrval.attr_hval,'"','\"'), concat( '","HVAL_TXT":"', concat(replace(text.hval_txt,'"','\"'), '","ATTR_UXFC":""}')))))) 
      end 
  end as attr_val,
  to_category
} 
where atrdef.attr_technical <> 'X'

union
select from uhdt_hattrvals as atrval 
  inner join uhdt_hatr as atrdef on atrval.attr_name = atrdef.attr_name and atrval.hier_catg = atrdef.hier_catg
  inner join uhdt_vrsn as ver on atrval.hier_catg = ver.hier_catg and atrval.hier_id = ver.hier_hid and atrval.ver_id is initial
  left outer join uhdt_hattrvalst as text on atrval.attr_name = text.attr_name and atrval.attr_lval = text.attr_lval and
  atrval.attr_hval = text.attr_hval and atrval.hier_catg = text.hier_catg and atrval.hier_id = text.hier_id and atrval.ver_id = text.ver_id and text.lang = $session.system_language
 left outer join uhdt_havt as ftxt on atrval.attr_name = ftxt.attr_name and atrval.attr_lval = ftxt.attr_valu and
  atrval.hier_catg = ftxt.hier_catg and ftxt.valu_lang = $session.system_language
  association [1..1] to fac_cds_uh_category   as to_category   on $projection.hier_catg = to_category.CategoryKey   
{
  atrval.client,
  atrval.hier_catg,
  ver.ver_id,
  atrval.attr_name,
  case atrdef.attr_type
   when 'S'  then 
       case 
        when ftxt.valu_text is null
        then  concat( concat( concat(concat('{ "ATTR_NAME": "', atrval.attr_name), '",' ), concat('"ATTR_LVAL":"', concat(replace(atrval.attr_lval,'"','\"'), '",'))), concat('"LVAL_TXT":"', concat('', '","ATTR_UXFC":""}')))
        else  
         concat( concat( concat(concat('{ "ATTR_NAME": "', atrval.attr_name), '",' ), concat('"ATTR_LVAL":"', concat(replace(atrval.attr_lval,'"','\"'), '",'))), concat('"LVAL_TXT":"', concat(replace(ftxt.valu_text,'"','\"'), '","ATTR_UXFC":""}')))
        end
   when 'M' then
       case 
        when ftxt.valu_text is null
        then  concat( concat( concat(concat('{ "ATTR_NAME": "', atrval.attr_name), '",' ), concat('"ATTR_LVAL":"', concat(replace(atrval.attr_lval,'"','\"'), '",'))), concat('"LVAL_TXT":"', concat('', '","ATTR_UXFC":""}')))
        else  
         concat( concat( concat(concat('{ "ATTR_NAME": "', atrval.attr_name), '",' ), concat('"ATTR_LVAL":"', concat(replace(atrval.attr_lval,'"','\"'), '",'))), concat('"LVAL_TXT":"', concat(replace(ftxt.valu_text,'"','\"'), '","ATTR_UXFC":""}')))
        end
   else 
      case 
        when ( atrval.attr_hval is null or atrval.attr_hval = '' ) and text.lval_txt is null
        then  concat( concat( concat(concat('{ "ATTR_NAME": "', atrval.attr_name), '",' ), concat('"ATTR_LVAL":"', concat(replace(atrval.attr_lval,'"','\"'), '",'))), concat('"LVAL_TXT":"', concat('', '","ATTR_UXFC":""}')))
        when ( atrval.attr_hval is null or atrval.attr_hval = '' ) and text.lval_txt is not null    
        then  concat( concat( concat(concat('{ "ATTR_NAME": "', atrval.attr_name), '",' ), concat('"ATTR_LVAL":"', concat(replace(atrval.attr_lval,'"','\"'), '",'))), concat('"LVAL_TXT":"', concat(replace(text.lval_txt,'"','\"'), '","ATTR_UXFC":""}')))
        when ( atrval.attr_hval is not null and atrval.attr_hval <> '') and ( text.lval_txt is null or text.hval_txt is null )
        then concat( concat(concat('{ "ATTR_NAME": "', atrval.attr_name), '",' ), concat(concat('"ATTR_LVAL":"', concat(replace(atrval.attr_lval,'"','\"'), concat( '","LVAL_TXT":"', concat('', '",')))),concat('"ATTR_HVAL":"', concat(replace(atrval.attr_hval,'"','\"'), concat( '","HVAL_TXT":"', concat('', '","ATTR_UXFC":""}'))))))
        else concat( concat(concat('{ "ATTR_NAME": "', atrval.attr_name), '",' ), concat(concat('"ATTR_LVAL":"', concat(replace(atrval.attr_lval,'"','\"'), concat( '","LVAL_TXT":"', concat(replace(text.lval_txt,'"','\"'), '",')))),concat('"ATTR_HVAL":"', concat(atrval.attr_hval, concat( '","HVAL_TXT":"', concat(replace(text.hval_txt,'"','\"'), '","ATTR_UXFC":""}')))))) 
      end
  end as attr_val,
  to_category
} where ver.ver_status <> 'T'
and ver.ver_status <> 'B' 
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"UHDT_HATR",
"UHDT_HATTRVALS",
"UHDT_HATTRVALST",
"UHDT_HAVT",
"UHDT_VRSN"
],
"ASSOCIATED":
[
"FAC_CDS_UH_CATEGORY"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/