ACE_ACESOBJ

DDL: ACE_ACESOBJ SQL: ACEV_ACESOBJ Type: view

view ACESOBJ

ACE_ACESOBJ is a CDS View that provides data about "view ACESOBJ" in SAP S/4HANA. It reads from 3 data sources (acedsoh, aceobj, acepsoh) and exposes 12 fields with key fields comp, bukrs, ref_key, ref_subkey.

Data Sources (3)

SourceAliasJoin Type
acedsoh acedsoh inner
aceobj aceobj from
acepsoh acepsoh left_outer

Annotations (9)

NameValueLevelField
AbapCatalog.sqlViewName ACEV_ACESOBJ view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #NOT_REQUIRED view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ClientHandling.algorithm #SESSION_VARIABLE view
Metadata.ignorePropagatedAnnotations true view
EndUserText.label view ACESOBJ view

Fields (12)

KeyFieldSource TableSource FieldDescription
KEY comp aceobj comp
KEY bukrs aceobj bukrs
KEY ref_key aceobj ref_key
KEY ref_subkey acedsoh ref_subkey
objid acedsoh objid
subid acedsoh subid
PREMTRE_FDATE acepsoh deactdate
firstyear acepsoh firstyear
lastyear acepsoh lastyear
ACAC_OBJTYPE
ACAC_OBJNUMBER
clientNULLendasTIMESTMP
@AbapCatalog.sqlViewName: 'ACEV_ACESOBJ'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass:  #TRANSACTIONAL
@ObjectModel.usageType.serviceQuality: #C
@ClientHandling.algorithm: #SESSION_VARIABLE
@Metadata.ignorePropagatedAnnotations: true
@EndUserText.label: 'view ACESOBJ'
define view ACE_ACESOBJ
  as select from    aceobj
    inner join      acedsoh on  acedsoh.comp    = aceobj.comp
                            and acedsoh.bukrs   = aceobj.bukrs
                            and acedsoh.objid   = aceobj.objid
                            and acedsoh.subid   = '00001'
                            and acedsoh.date_to = '99991231'
    left outer join acepsoh on  acepsoh.comp  = aceobj.comp
                            and acepsoh.bukrs = aceobj.bukrs
                            and acepsoh.objid = aceobj.objid
{
  key aceobj.comp,
  key aceobj.bukrs,
  key aceobj.ref_key,
  key acedsoh.ref_subkey,

      acedsoh.objid,
      acedsoh.subid,
      
      case when acepsoh.objid is null then acedsoh.uname
      else acepsoh.uname end                               as uname,

      acepsoh.deactdate                                    as PREMTRE_FDATE,


      /* Life-cycle status of the Accrual Subobject; combined status of ACEOBJ-OBJSTATUS, ACEDSOH-STATUS, ACEPSOH-STATUS
      *Possible values:
      * A)  In Process
      * B)  Stopped
      * C)  Finished Premarturely
      * D)  Finished
      *Sequence of priority, descending by priority:
      * 1.  If ACEOBJ- OBJSTATUS = “To be archived”, then use this one as “Finished”.
      *  1) If ACEPSOH-STATUS = F (Completed) use this one as “Finished Premarturely”.
      *  2).  If ACEPSOH-STATUS = S (Stopped) use this one
      *  3).  Else: Use P “In Process”. */

      /* in the new table SUBSOBJ, there are two fields to represent the life cycle status
      If ACEOBJ- OBJSTATUS = “To be archived”, then the flag fields XARCHIVED will be X
      If ACEPSOH-STATUS = F (Completed), then the status will be F.
      If ACEPSOH-STATUS = S (Stopped), then the status will be S
      Else: Use P “In Process”. */
      cast( case when acedsoh.status = 'F' then 'F'
                 when acedsoh.status = 'P' then 'P'
                 when acepsoh.status = 'S' then 'S'
           end as aceps_header_status preserving type )    as STATUS,

      cast( case when aceobj.objstatus = 'F'
            then 'X'
            else '' end as ace_xarchived preserving type ) as XARCHIVED,

      acepsoh.firstyear,
      acepsoh.lastyear,
      substring(aceobj.ref_key, 1, 10)                     as ACAC_OBJTYPE,
      substring(aceobj.ref_key, 11, 22)                    as ACAC_OBJNUMBER,

      case when acepsoh.objid is null then
      dats_tims_to_tstmp(acedsoh.cpudt,
                          acedsoh.cputm,
                          abap_system_timezone( $session.client,'NULL') ,
                          $session.client, 'NULL' )
      else dats_tims_to_tstmp(acepsoh.cpudt,
                          acepsoh.cputm,
                          abap_system_timezone( $session.client,'NULL') ,
                          $session.client, 'NULL' )
      end                                                  as TIMESTMP

}
where
  acedsoh.date_to = '99991231'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"ACEDSOH",
"ACEOBJ",
"ACEPSOH"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/