I_ActiveGLAcctInCOAListItem

DDL: I_ACTIVEGLACCTINCOALISTITEM Type: view_entity COMPOSITE Package: ODATA_MANAGE_GLACCOUNT

active GL in COA with draft information

I_ActiveGLAcctInCOAListItem is a Composite CDS View that provides data about "active GL in COA with draft information" in SAP S/4HANA. It reads from 2 data sources (I_GLAccountInChartOfAccounts, I_DraftAdministrativeData) and exposes 56 fields with key fields ChartOfAccounts, GLAccount. It has 20 associations to related views. Part of development package ODATA_MANAGE_GLACCOUNT.

Data Sources (2)

SourceAliasJoin Type
I_GLAccountInChartOfAccounts ActiveDocument from
I_DraftAdministrativeData DraftAdmin left_outer

Associations (20)

CardinalityTargetAliasCondition
[0..1] I_ChartOfAccounts _ChartOfAccounts $projection.ChartOfAccounts = _ChartOfAccounts.ChartOfAccounts
[0..*] I_GLAcctInDefaultLanguageText _Text $projection.ChartOfAccounts = _Text.ChartOfAccounts and $projection.GLAccount = _Text.GLAccount
[0..*] I_GLAcctInDefaultLanguageText _BankRecnclnText $projection.ChartOfAccounts = _BankRecnclnText.ChartOfAccounts and $projection.BankReconciliationAccount = _BankRecnclnText.GLAccount
[1..1] I_User _User $projection.CreatedByUser = _User.UserID
[0..1] I_GLAccountType _Glaccounttype $projection.GLAccountType = _Glaccounttype.GLAccountType
[0..1] I_GLAccountSubtype _GLAccountSubtype $projection.GLAccountSubtype = _GLAccountSubtype.GLAccountSubtype
[0..1] I_BankRecnclnAccount _BankRecnclnAcct $projection.ChartOfAccounts = _BankRecnclnAcct.ChartOfAccounts and $projection.BankReconciliationAccount = _BankRecnclnAcct.BankReconciliationAccount
[0..1] I_RetainedEarningsGLAccount _RetainedEarningsGLAccount $projection.ChartOfAccounts = _RetainedEarningsGLAccount.ChartOfAccounts and $projection.ProfitLossAccountType = _RetainedEarningsGLAccount.ProfitLossAccountType
[0..1] I_GLAccountGroup _Glaccountgroup $projection.GLAccountGroup = _Glaccountgroup.GLAccountGroup and $projection.ChartOfAccounts = _Glaccountgroup.ChartOfAccounts
[0..1] I_FunctionalArea _FunctionalArea $projection.FunctionalArea = _FunctionalArea.FunctionalArea
[0..1] I_GLAcctTxtInMaintLang _GLAcctTxtInMaintLang $projection.ChartOfAccounts = _GLAcctTxtInMaintLang.ChartOfAccounts and $projection.GLAccount = _GLAcctTxtInMaintLang.GLAccount
[0..1] I_GLAcctTxtInMaintLang _BankRecnclnMaintLang $projection.ChartOfAccounts = _BankRecnclnMaintLang.ChartOfAccounts and $projection.BankReconciliationAccount = _BankRecnclnMaintLang.GLAccount
[0..1] I_ProfitLossAccountType_Vh _ProfitLossAccountType_Vh $projection.ChartOfAccounts = _ProfitLossAccountType_Vh.ChartOfAccounts and $projection.ProfitLossAccountType = _ProfitLossAccountType_Vh.ProfitLossAccountType
[0..1] I_GLAccountInChartOfAccounts _CorporateGroupAccount $projection.ChartOfAccounts = _CorporateGroupAccount.ChartOfAccounts and $projection.CorporateGroupAccount = _CorporateGroupAccount.GLAccount
[0..1] I_GLAccountInChartOfAccounts _PubSecBdgtAcctCarryFwdTo $projection.ChartOfAccounts = _PubSecBdgtAcctCarryFwdTo.ChartOfAccounts and $projection.pubsecbdgtacctcarryfwdto = _PubSecBdgtAcctCarryFwdTo.GLAccount
[0..1] I_GLAccountInChartOfAccounts _CashLedgerAccount $projection.ChartOfAccounts = _CashLedgerAccount.ChartOfAccounts and $projection.cashledgeraccount = _CashLedgerAccount.GLAccount
[0..*] I_PubSecBdgtCnsmpnTypeText _BudgetCnsmpnTypeText $projection.pubsecbudgetcnsmpntype = _BudgetCnsmpnTypeText.PubSecBudgetCnsmpnType
[0..*] I_PubSecBdgtAcctRevnExpnText _BdgtAcctRevnExpnText $projection.pubsecbdgtacctrevnexpncode = _BdgtAcctRevnExpnText.PubSecBdgtAcctRevnExpnCode
[0..*] I_GLAcctInDefaultLanguageText _CashLedgerAccountText $projection.ChartOfAccounts = _CashLedgerAccountText.ChartOfAccounts and $projection.cashledgeraccount = _CashLedgerAccountText.GLAccount
[0..*] I_GLAcctInDefaultLanguageText _BdgtAcctCarryFwdToText $projection.ChartOfAccounts = _BdgtAcctCarryFwdToText.ChartOfAccounts and $projection.pubsecbdgtacctcarryfwdto = _BdgtAcctCarryFwdToText.GLAccount

Annotations (9)

NameValueLevelField
Metadata.ignorePropagatedAnnotations true view
EndUserText.label active GL in COA with draft information view
VDM.viewType #COMPOSITE view
AccessControl.authorizationCheck #NOT_REQUIRED view
ObjectModel.representativeKey GLAccount view
Analytics.technicalName IFIGLCOALIST view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MIXED view

Fields (56)

KeyFieldSource TableSource FieldDescription
KEY ChartOfAccounts I_GLAccountInChartOfAccounts ChartOfAccounts
KEY GLAccount I_GLAccountInChartOfAccounts GLAccount
GLAccountExternal I_GLAccountInChartOfAccounts GLAccountExternal
IsBalanceSheetAccount I_GLAccountInChartOfAccounts IsBalanceSheetAccount
GLAccountGroup I_GLAccountInChartOfAccounts GLAccountGroup
CorporateGroupAccount I_GLAccountInChartOfAccounts CorporateGroupAccount
ProfitLossAccountType I_GLAccountInChartOfAccounts ProfitLossAccountType
SampleGLAccount I_GLAccountInChartOfAccounts SampleGLAccount
AccountIsMarkedForDeletion I_GLAccountInChartOfAccounts AccountIsMarkedForDeletion
AccountIsBlockedForCreation I_GLAccountInChartOfAccounts AccountIsBlockedForCreation
AccountIsBlockedForPosting I_GLAccountInChartOfAccounts AccountIsBlockedForPosting
AccountIsBlockedForPlanning I_GLAccountInChartOfAccounts AccountIsBlockedForPlanning
PartnerCompany I_GLAccountInChartOfAccounts PartnerCompany
FunctionalArea I_GLAccountInChartOfAccounts FunctionalArea
CreationDate I_GLAccountInChartOfAccounts CreationDate
CreatedByUser I_GLAccountInChartOfAccounts CreatedByUser
GLAccountType I_GLAccountInChartOfAccounts GLAccountType
GLAccountSubtype I_GLAccountInChartOfAccounts GLAccountSubtype
BankReconciliationAccount I_GLAccountInChartOfAccounts BankReconciliationAccount
IsProfitLossAccount I_GLAccountInChartOfAccounts IsProfitLossAccount
PubSecBudgetCnsmpnType
PubSecBdgtAcctRevnExpnCode
PubSecBudgetIsRelevant
PubSecBdgtAcctIsPostgAllowed
PubSecBdgtAcctIsBdgtAllowed
PubSecBdgtAcctIsCarryFwd
PubSecBdgtAcctCarryFwdTo
CashLedgerAccount
SponsoredClass
_PubSecBdgtCnsmpnType
_PubSecBdgtAcctRevnExpnCode
CorporateGroupChartOfAccounts _ChartOfAccounts CorporateGroupChartOfAccounts
DraftIsProcessedByMe I_DraftAdministrativeData DraftIsProcessedByMe
InProcessByUser I_DraftAdministrativeData InProcessByUser
InProcessByUserDescription I_DraftAdministrativeData InProcessByUserDescription
LastChangeDateTime I_GLAccountInChartOfAccounts LastChangeDateTime
_ChartOfAccounts _ChartOfAccounts
_Text _Text
_BankRecnclnText _BankRecnclnText
_Glaccountgroup _Glaccountgroup
_FunctionalArea _FunctionalArea
_User _User
_Glaccounttype _Glaccounttype
_GLAccountSubtype _GLAccountSubtype
_BankRecnclnAcct _BankRecnclnAcct
_GLAcctTxtInMaintLang _GLAcctTxtInMaintLang
_BankRecnclnMaintLang _BankRecnclnMaintLang
_ProfitLossAccountType_Vh _ProfitLossAccountType_Vh
_CorporateGroupAccount _CorporateGroupAccount
_RetainedEarningsGLAccount _RetainedEarningsGLAccount
_PubSecBdgtAcctCarryFwdTo _PubSecBdgtAcctCarryFwdTo
_CashLedgerAccount _CashLedgerAccount
_BudgetCnsmpnTypeText _BudgetCnsmpnTypeText
_BdgtAcctRevnExpnText _BdgtAcctRevnExpnText
_CashLedgerAccountText _CashLedgerAccountText
_BdgtAcctCarryFwdToText _BdgtAcctCarryFwdToText
@Metadata.ignorePropagatedAnnotations: true
@EndUserText.label: 'active GL in COA with draft information'
//@Analytics.dataCategory: #DIMENSION

@VDM.viewType: #COMPOSITE
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ObjectModel.representativeKey: 'GLAccount'
@Analytics.technicalName: 'IFIGLCOALIST'
@ObjectModel.usageType: {
  serviceQuality: #C,
  sizeCategory: #L,
  dataClass: #MIXED 
}
define view entity I_ActiveGLAcctInCOAListItem
  as select from           I_GLAccountInChartOfAccounts as ActiveDocument
  //Migrate to draft 2.0

  left outer to one join I_GLAcctDraft                as DraftDocument             on  ActiveDocument.ChartOfAccounts = DraftDocument.ActiveChartOfAccounts
                                                                                   and ActiveDocument.GLAccount       = DraftDocument.ActiveGLAccount
                                                                                   and DraftDocument.HasActiveEntity  = 'X'
  left outer join        I_DraftAdministrativeData    as DraftAdmin                on DraftDocument.GLAcctInChartOfAcctsDraftUUID = DraftAdmin.DraftUUID

  association [0..1] to I_ChartOfAccounts            as _ChartOfAccounts           on  $projection.ChartOfAccounts = _ChartOfAccounts.ChartOfAccounts
  association [0..*] to I_GLAcctInDefaultLanguageText as _Text                      on  $projection.ChartOfAccounts = _Text.ChartOfAccounts //I_GLAccountText  

                                                                                   and $projection.GLAccount       = _Text.GLAccount
  association [0..*] to I_GLAcctInDefaultLanguageText as _BankRecnclnText           on  $projection.ChartOfAccounts = _BankRecnclnText.ChartOfAccounts // I_GLAccountText

                                                                                   and $projection.BankReconciliationAccount    = _BankRecnclnText.GLAccount
  
  association [1..1] to I_User                       as _User                      on  $projection.CreatedByUser = _User.UserID
  association [0..1] to I_GLAccountType              as _Glaccounttype             on  $projection.GLAccountType = _Glaccounttype.GLAccountType
  association [0..1] to I_GLAccountSubtype          as _GLAccountSubtype          on  $projection.GLAccountSubtype = _GLAccountSubtype.GLAccountSubtype
  
  association [0..1] to I_BankRecnclnAccount         as _BankRecnclnAcct          on  $projection.ChartOfAccounts    = _BankRecnclnAcct.ChartOfAccounts
                                                                                  and $projection.BankReconciliationAccount = _BankRecnclnAcct.BankReconciliationAccount  
  association [0..1] to I_RetainedEarningsGLAccount  as _RetainedEarningsGLAccount on  $projection.ChartOfAccounts       = _RetainedEarningsGLAccount.ChartOfAccounts
                                                                                   and $projection.ProfitLossAccountType = _RetainedEarningsGLAccount.ProfitLossAccountType
  association [0..1] to I_GLAccountGroup             as _Glaccountgroup            on  $projection.GLAccountGroup  = _Glaccountgroup.GLAccountGroup
                                                                                   and $projection.ChartOfAccounts = _Glaccountgroup.ChartOfAccounts
  association [0..1] to I_FunctionalArea             as _FunctionalArea            on  $projection.FunctionalArea = _FunctionalArea.FunctionalArea
  association [0..1] to I_GLAcctTxtInMaintLang       as _GLAcctTxtInMaintLang      on  $projection.ChartOfAccounts = _GLAcctTxtInMaintLang.ChartOfAccounts
                                                                                   and $projection.GLAccount       = _GLAcctTxtInMaintLang.GLAccount
  association [0..1] to I_GLAcctTxtInMaintLang       as _BankRecnclnMaintLang      on  $projection.ChartOfAccounts = _BankRecnclnMaintLang.ChartOfAccounts
                                                                                   and $projection.BankReconciliationAccount       = _BankRecnclnMaintLang.GLAccount

  association [0..1] to I_ProfitLossAccountType_Vh   as _ProfitLossAccountType_Vh  on  $projection.ChartOfAccounts       = _ProfitLossAccountType_Vh.ChartOfAccounts
                                                                                   and $projection.ProfitLossAccountType = _ProfitLossAccountType_Vh.ProfitLossAccountType
  association [0..1] to I_GLAccountInChartOfAccounts as _CorporateGroupAccount     on  $projection.ChartOfAccounts       = _CorporateGroupAccount.ChartOfAccounts
                                                                                   and $projection.CorporateGroupAccount = _CorporateGroupAccount.GLAccount
  association [0..1] to I_GLAccountInChartOfAccounts as _PubSecBdgtAcctCarryFwdTo   on  $projection.ChartOfAccounts          = _PubSecBdgtAcctCarryFwdTo.ChartOfAccounts
                                                                                    and $projection.pubsecbdgtacctcarryfwdto = _PubSecBdgtAcctCarryFwdTo.GLAccount
  association [0..1] to I_GLAccountInChartOfAccounts as _CashLedgerAccount          on  $projection.ChartOfAccounts   = _CashLedgerAccount.ChartOfAccounts
                                                                                    and $projection.cashledgeraccount = _CashLedgerAccount.GLAccount                                                                                 
  association [0..*] to I_PubSecBdgtCnsmpnTypeText   as _BudgetCnsmpnTypeText      on  $projection.pubsecbudgetcnsmpntype = _BudgetCnsmpnTypeText.PubSecBudgetCnsmpnType
  association [0..*] to I_PubSecBdgtAcctRevnExpnText as _BdgtAcctRevnExpnText      on  $projection.pubsecbdgtacctrevnexpncode = _BdgtAcctRevnExpnText.PubSecBdgtAcctRevnExpnCode
  association [0..*] to I_GLAcctInDefaultLanguageText as _CashLedgerAccountText     on  $projection.ChartOfAccounts   = _CashLedgerAccountText.ChartOfAccounts //I_GLAccountText 

                                                                                   and $projection.cashledgeraccount = _CashLedgerAccountText.GLAccount
  association [0..*] to I_GLAcctInDefaultLanguageText as _BdgtAcctCarryFwdToText    on  $projection.ChartOfAccounts          = _BdgtAcctCarryFwdToText.ChartOfAccounts //I_GLAccountText 

                                                                                   and $projection.pubsecbdgtacctcarryfwdto = _BdgtAcctCarryFwdToText.GLAccount
{
      @ObjectModel.foreignKey.association: '_ChartOfAccounts'
  key ActiveDocument.ChartOfAccounts,
      @ObjectModel.text.association: '_Text'
  key ActiveDocument.GLAccount,
      @ObjectModel.readOnly: true
      ActiveDocument.GLAccountExternal,
      @ObjectModel.mandatory: #('EXTERNAL_CALCULATION')
      ActiveDocument.IsBalanceSheetAccount,
      @ObjectModel.mandatory: #('EXTERNAL_CALCULATION')
      @ObjectModel.foreignKey.association: '_Glaccountgroup'
      ActiveDocument.GLAccountGroup,
      @ObjectModel.mandatory: #('EXTERNAL_CALCULATION')
      @ObjectModel.foreignKey.association: '_CorporateGroupAccount'
      ActiveDocument.CorporateGroupAccount,
      @Consumption.valueHelp: '_ProfitLossAccountType_Vh'
      @ObjectModel.mandatory: #('EXTERNAL_CALCULATION')
      ActiveDocument.ProfitLossAccountType,
      @ObjectModel.mandatory: #('EXTERNAL_CALCULATION')
      ActiveDocument.SampleGLAccount,
      @ObjectModel.mandatory: #('EXTERNAL_CALCULATION')
      ActiveDocument.AccountIsMarkedForDeletion,
      @ObjectModel.mandatory: #('EXTERNAL_CALCULATION')
      ActiveDocument.AccountIsBlockedForCreation,
      @ObjectModel.mandatory: #('EXTERNAL_CALCULATION')
      ActiveDocument.AccountIsBlockedForPosting,
      @ObjectModel.mandatory: #('EXTERNAL_CALCULATION')
      ActiveDocument.AccountIsBlockedForPlanning,
      @ObjectModel.mandatory: #('EXTERNAL_CALCULATION')
      ActiveDocument.PartnerCompany,
      @ObjectModel.readOnly: #('EXTERNAL_CALCULATION')
      @ObjectModel.foreignKey.association: '_FunctionalArea'
      ActiveDocument.FunctionalArea,
      @ObjectModel.readOnly: true
      ActiveDocument.CreationDate,
      @ObjectModel.readOnly: true
      ActiveDocument.CreatedByUser,
      @ObjectModel.readOnly: true
      @ObjectModel.foreignKey.association: '_Glaccounttype'
      ActiveDocument.GLAccountType,
      @ObjectModel.readOnly: true
      @ObjectModel.foreignKey.association: '_GLAccountSubtype'
      ActiveDocument.GLAccountSubtype,
      @ObjectModel.readOnly: true
       @ObjectModel.foreignKey.association: '_BankRecnclnAcct'
      ActiveDocument.BankReconciliationAccount,
      
      @ObjectModel.mandatory: #('EXTERNAL_CALCULATION')
      ActiveDocument.IsProfitLossAccount,
      @ObjectModel.readOnly: true
      cast( case ActiveDocument._GLAcctInChartOfAcctsProdn.GLAccountIsNotProdnRelevant
        when 'X' then 'X'
        else '' end as fins_glacct_not_needed ) as GLAccountIsNotProdnRelevant,

      //@ObjectModel.mandatory: 'undefined'

      @ObjectModel.readOnly: true
      //@ObjectModel.text.association: '_GLAcctInChartOfAcctsStatus'

      case 
          when ActiveDocument._GLAcctInChartOfAcctsStatus.GLAcctCOAImplementStatus is null then 
            cast( 'I' as glaccount_imst )    //in process for SAP Delivered Content after Migration

          else 
            ActiveDocument._GLAcctInChartOfAcctsStatus.GLAcctCOAImplementStatus
          end as GLAcctCOAImplementStatus,
       
//      ActiveDocument._GLAcctInChartOfAcctsImst.GLAcctCOAImplementStatus,

      @ObjectModel.readOnly: true
      case 
          when ActiveDocument._GLAcctInChartOfAcctsStatus.GLAcctCOAImplementStatus is null then 
            'X'    //in process for SAP Delivered Content after Migration

          else 
            ActiveDocument._GLAcctInChartOfAcctsStatus.GLAccountCOAIsDeliveredBySAP
          end as GLAccountCOAIsDeliveredBySAP,          
//      ActiveDocument._GLAcctInChartOfAcctsImst.GLAccountCOAIsDeliveredBySAP,

            
      // Public Sector

      @ObjectModel.foreignKey.association: '_PubSecBdgtCnsmpnType'
//      @ObjectModel.readOnly: true

      @ObjectModel.mandatory: #('EXTERNAL_CALCULATION')
      @ObjectModel.text.association: '_BudgetCnsmpnTypeText'
      ActiveDocument._PublicSector.PubSecBudgetCnsmpnType,
      @ObjectModel.foreignKey.association: '_PubSecBdgtAcctRevnExpnCode'
      @ObjectModel.mandatory: #('EXTERNAL_CALCULATION')
      @ObjectModel.text.association: '_BdgtAcctRevnExpnText'
      ActiveDocument._PublicSector.PubSecBdgtAcctRevnExpnCode,
      @ObjectModel.mandatory: #('EXTERNAL_CALCULATION')
      ActiveDocument._PublicSector.PubSecBudgetIsRelevant,
      @ObjectModel.mandatory: #('EXTERNAL_CALCULATION')
      ActiveDocument._PublicSector.PubSecBdgtAcctIsPostgAllowed,
      @ObjectModel.mandatory: #('EXTERNAL_CALCULATION')
      ActiveDocument._PublicSector.PubSecBdgtAcctIsBdgtAllowed,
      @ObjectModel.mandatory: #('EXTERNAL_CALCULATION')
      ActiveDocument._PublicSector.PubSecBdgtAcctIsCarryFwd,
      @ObjectModel.foreignKey.association: '_PubSecBdgtAcctCarryFwdTo'
      @ObjectModel.mandatory: #('EXTERNAL_CALCULATION')
      @ObjectModel.text.association: '_BdgtAcctCarryFwdToText'
      ActiveDocument._PublicSector.PubSecBdgtAcctCarryFwdTo,
      @ObjectModel.foreignKey.association: '_CashLedgerAccount'
      @ObjectModel.mandatory: #('EXTERNAL_CALCULATION')
      @ObjectModel.text.association: '_CashLedgerAccountText'
      ActiveDocument._PublicSector.CashLedgerAccount,
      @ObjectModel.mandatory: #('EXTERNAL_CALCULATION')
      ActiveDocument._PublicSector.SponsoredClass,
      
      ActiveDocument._PublicSector._PubSecBdgtCnsmpnType,
      ActiveDocument._PublicSector._PubSecBdgtAcctRevnExpnCode,
            
      //@ObjectModel.mandatory: 'undefined'

      _ChartOfAccounts.CorporateGroupChartOfAccounts,
      DraftAdmin.DraftIsProcessedByMe,
      DraftAdmin.InProcessByUser,
      DraftAdmin.InProcessByUserDescription,
      cast( case
           when( DraftDocument.GLAcctInChartOfAcctsDraftUUID is null ) then ' '
              else 'X'
            end as sdraft_has_draft )                                         as HasDraftEntity,
      ActiveDocument.LastChangeDateTime, // Etag

      /* Associations */
      _ChartOfAccounts,
      _Text,
      _BankRecnclnText,
      _Glaccountgroup,
      _FunctionalArea,
      _User,
      _Glaccounttype,
      _GLAccountSubtype,
      _BankRecnclnAcct,
      _GLAcctTxtInMaintLang,
      _BankRecnclnMaintLang,
      _ProfitLossAccountType_Vh,
      _CorporateGroupAccount,
      _RetainedEarningsGLAccount,    
      _PubSecBdgtAcctCarryFwdTo,
      _CashLedgerAccount,
      _BudgetCnsmpnTypeText,
      _BdgtAcctRevnExpnText,
      _CashLedgerAccountText,
      _BdgtAcctCarryFwdToText
}