SAIS_SIMG

DDL: SAIS_SIMG SQL: SAIS_GET_SIMG Type: view

Get One SIMG-Entry for Data Object

SAIS_SIMG is a CDS View that provides data about "Get One SIMG-Entry for Data Object" in SAP S/4HANA. It reads from 3 data sources (cus_imgach, objh, objs) and exposes 13 fields with key fields tabname, objectname, objecttype. It has 3 associations to related views.

Data Sources (3)

SourceAliasJoin Type
cus_imgach imgach inner
objh objh from
objs objs left_outer

Associations (3)

CardinalityTargetAliasCondition
[0..1] cus_imgact tx ( tx.spras = $session.system_language and tx.activity = imgach.activity )
[0..1] cus_imgact tx_e ( tx_e.spras ='E' and tx_e.activity = imgach.activity )
[0..1] SAIS_WBO wbo ( wbo.object = 'CUS0' and wbo.obj_name = imgach.activity )

Annotations (5)

NameValueLevelField
AbapCatalog.sqlViewName SAIS_GET_SIMG view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #NOT_REQUIRED view
EndUserText.label Get One SIMG-Entry for Data Object view

Fields (13)

KeyFieldSource TableSource FieldDescription
KEY tabname objs tabname
KEY objectname objs objectname
KEY objecttype objs objecttype
cursetting objh cursetting
cursettingXthenelseendascursetting_i
activity cus_imgach activity
tcode cus_imgach tcode
text
devc
ps_posid
doc_outl objsub doc_outl
doc_cls objsub doc_cls
doc_obj objsub doc_obj
@AbapCatalog.sqlViewName: 'SAIS_GET_SIMG'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Get One SIMG-Entry for Data Object'
define view SAIS_SIMG
//

// SAP Note 3249551 - replace LEFT OUTER JOIN on CUS_IMGACT + OBJSUB by ASSOCIATION for better performance + output quality

//

  as select from objh as objh
    left outer join objs as objs on( objs.objectname  = objh.objectname   and objs.objecttype = objh.objecttype   )
    left outer to one    join  objsub as objsub  on( objs.objectname  = objsub.objectname and objs.objecttype = objsub.objecttype  )   
    inner join cus_imgach as imgach on ( imgach.c_activity = objsub.doc_obj )
    
    association [0..1] to cus_imgact as tx      on ( tx.spras   = $session.system_language  and tx.activity = imgach.activity )
    association [0..1] to cus_imgact as tx_e    on ( tx_e.spras ='E'                        and tx_e.activity = imgach.activity )
    association [0..1] to SAIS_WBO   as wbo     on ( wbo.object = 'CUS0' and wbo.obj_name = imgach.activity )
{
  key  objs.tabname    as tabname,
  key  objs.objectname as objectname,
  key  objs.objecttype as objecttype,
       objh.cursetting as cursetting,
       case when objh.cursetting = 'X' then '@8X@'  // ICON_ALLOW

           else '@8Y@'                              // ICON_REJECT

       end as cursetting_i,
       
       imgach.activity as activity,
       imgach.tcode    as tcode,
       coalesce( coalesce( tx.text , tx_e.text ) , '' )     as text,
       coalesce( wbo.devclass , '' )  as devc,
       coalesce( wbo.ps_posid , '' )  as ps_posid,
       
       objsub.doc_outl as doc_outl,
       objsub.doc_cls  as doc_cls,
       objsub.doc_obj  as doc_obj
}
where objsub.doc_obj > ''
      
      
      
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"SAIS_WBO",
"CUS_IMGACH",
"CUS_IMGACT",
"OBJH",
"OBJS",
"OBJSUB"
],
"ASSOCIATED":
[
"SAIS_WBO",
"CUS_IMGACT"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/