FACRA_RUN_PROGRAM

DDL: FACRA_RUN_PROGRAM SQL: FACRARUN Type: view Package: ACE_S4_COMMON

Derive actual and planned item type information

FACRA_RUN_PROGRAM is a CDS View that provides data about "Derive actual and planned item type information" in SAP S/4HANA. It reads from 6 data sources and exposes 8 fields with key fields comp, logsys, bukrs, itemtype, ref_key. Part of development package ACE_S4_COMMON.

Data Sources (6)

SourceAliasJoin Type
acesobj _accrual left_outer
P_ACCRUALITEMTYPE _accrualItemtype from
tace_itemtypec _accrualReview left_outer
acesobj_item _item left_outer
I_AccrItemTypeForLedgerGroup _itemtypel left_outer
tace_itemtypec _plannedReview left_outer

Annotations (9)

NameValueLevelField
AbapCatalog.sqlViewName FACRARUN view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #NOT_REQUIRED view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view
ClientHandling.algorithm #SESSION_VARIABLE view
AccessControl.personalData.blocking #NOT_REQUIRED view
AbapCatalog.preserveKey true view

Fields (8)

KeyFieldSource TableSource FieldDescription
KEY comp P_ACCRUALITEMTYPE comp
KEY logsys acesobj_item logsys
KEY bukrs acesobj_item bukrs
KEY itemtype P_ACCRUALITEMTYPE itemtype
KEY ref_key acesobj_item ref_key
KEY ref_subkey acesobj_item ref_subkey
KEY rldnr acesobj_item rldnr
KEY ldgrp I_AccrItemTypeForLedgerGroup LedgerGroup
@AbapCatalog.sqlViewName: 'FACRARUN'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #MIXED
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.personalData.blocking: #NOT_REQUIRED
@AbapCatalog.preserveKey:true
define view FACRA_RUN_PROGRAM
  as select from    P_ACCRUALITEMTYPE            as _accrualItemtype
    left outer join acesobj_item                 as _item          on  _item.comp     = _accrualItemtype.comp
                                                                   and _item.itemtype = _accrualItemtype.itemtype
                                                                   and _item.date_to  = '99991231'
    left outer join acesobj                      as _accrual       on  _item.comp       = _accrual.comp
                                                                   and _item.logsys     = _accrual.logsys
                                                                   and _item.bukrs      = _accrual.bukrs
                                                                   and _item.ref_key    = _accrual.ref_key
                                                                   and _item.ref_subkey = _accrual.ref_subkey
    left outer join tace_itemtypec               as _accrualReview on  _accrualItemtype.comp     = _accrualReview.comp
                                                                   and _accrualItemtype.itemtype = _accrualReview.itemtype
                                                                   and _item.bukrs               = _accrualReview.bukrs
                                                                   and _item.rldnr               = _accrualReview.rldnr
                                                                   and _accrualReview.curtyp     = '00'
    left outer join tace_itemtypec               as _plannedReview on  _accrualItemtype.comp             = _plannedReview.comp
                                                                   and _accrualItemtype.planned_itemtype = _plannedReview.itemtype
                                                                   and _item.bukrs                       = _plannedReview.bukrs
                                                                   and _item.rldnr                       = _plannedReview.rldnr
                                                                   and _plannedReview.curtyp             = '00'
    left outer join I_AccrItemTypeForLedgerGroup as _itemtypel     on  _accrualItemtype.comp     = _itemtypel.AccrualEngineApplication
                                                                   and _accrualItemtype.itemtype = _itemtypel.AccrualItemType
                                                                   and _item.bukrs    = _itemtypel.CompanyCode
                                                                   and _item.rldnr    = _itemtypel.Ledger

{
  key    _accrualItemtype.comp,
  key    _item.logsys,
  key    _item.bukrs,
  key    _accrualItemtype.itemtype,
  key    _item.ref_key,
  key    _item.ref_subkey,
  key    _item.rldnr,
  key    _itemtypel.LedgerGroup                 as ldgrp,
        
        _accrual.bus_compltn_date,
        
         case when _accrualReview.xreview = 'X' then _accrualReview.itemtype
              when _plannedReview.xreview = 'X' then _plannedReview.itemtype
              else ''
         end                                    as review_itemtype,
         /*cast ( case when _accrual.xarchived = 'X'
                then 'A'
                else _accrual.status  end as ace_subobject_lifecycle_status ) as status*/
         cast(case  
           when _accrual.xarchived = 'X' then 'A'
           when _accrual.xarchived = '' and _accrual.bus_compltn_date is not initial then 'C'
           else _accrual.status end as ace_subobject_lifecycle_status preserving type)     as status
                
}
where
  _accrualReview.xinactive = '' or _accrualReview.xinactive is null