I_BankAccountTP

DDL: I_BANKACCOUNTTP Type: view TRANSACTIONAL

Bank Account BO active and draft

I_BankAccountTP is a Transactional CDS View that provides data about "Bank Account BO active and draft" in SAP S/4HANA. It reads from 1 data source (fclm_bam_amd) and exposes 64 fields with key fields BankAccountInternalID, BankAccountRevision. It has 45 associations to related views.

Data Sources (1)

SourceAliasJoin Type
fclm_bam_amd Account from

Associations (45)

CardinalityTargetAliasCondition
[0..*] I_BankAccHouseBankAccTP _AccountConnectivePath $projection.BankAccountInternalID = _AccountConnectivePath.BankAccountInternalID and $projection.BankAccountRevision = _AccountConnectivePath.BankAccountRevision
[0..*] I_BankAccLimitTP _AccountOverDraftLimit $projection.BankAccountInternalID = _AccountOverDraftLimit.BankAccountInternalID and $projection.BankAccountRevision = _AccountOverDraftLimit.BankAccountRevision
[0..*] I_BankAccSignatureTP _AccountSignature $projection.BankAccountInternalID = _AccountSignature.BankAccountInternalID and $projection.BankAccountRevision = _AccountSignature.BankAccountRevision
[0..*] I_BankAccTextTP _AccountText $projection.BankAccountInternalID = _AccountText.BankAccountInternalID and $projection.BankAccountRevision = _AccountText.BankAccountRevision -- :0..1
[0..1] I_SingleHouseBankAccount _SingleHouseBankAccount $projection.BankAccountInternalID = _SingleHouseBankAccount.BankAccountInternalID and $projection.BankAccountRevision = _SingleHouseBankAccount.BankAccountRevision
[0..1] I_Bank _Bank $projection.BankCountry = _Bank.BankCountry and $projection.Bank = _Bank.BankInternalID
[0..1] I_CompanyCode _CompanyCode $projection.CompanyCode = _CompanyCode.CompanyCode
[0..*] I_ProfitCenterText _ProfitCenterText $projection.ProfitCenter = _ProfitCenterText.ProfitCenter and $projection.ControllingArea = _ProfitCenterText.ControllingArea and _ProfitCenterText.Language = $session.system_language
[0..1] I_ControllingArea _ControllingArea $projection.ControllingArea = _ControllingArea.ControllingArea
[0..1] I_BusinessAreaText _BusinessAreaText $projection.BusinessArea = _BusinessAreaText.BusinessArea and _BusinessAreaText.Language = $session.system_language
[0..1] I_SegmentText _SegmentText $projection.Segment = _SegmentText.Segment and _SegmentText.Language = $session.system_language
[0..1] I_CountryText _BankCountryText $projection.BankCountry = _BankCountryText.Country and _BankCountryText.Language = $session.system_language
[0..*] I_CountryText _CompanyCountryText $projection.CompanyCodeCountry = _CompanyCountryText.Country
[0..*] I_BankAccountTypeText _BankAccountType $projection.BankAccountType = _BankAccountType.BankAccountType
[0..1] I_BankAccountTextRev _AccountTextInCurrentLang $projection.BankAccountInternalID = _AccountTextInCurrentLang.BankAccountInternalID and $projection.BankAccountRevision = _AccountTextInCurrentLang.BankAccountRevision and _AccountTextInCurrentLang.Language = $session.system_language
[0..1] I_BankAccountStatusStdVH _BankAccountStatus $projection.BankAccountStatus = _BankAccountStatus.BankAccountStatus
[0..1] I_BankAccRevision _BankAccountRevision $projection.BankAccountInternalID = _BankAccountRevision.BankAccountInternalID and $projection.BankAccountRevision = _BankAccountRevision.BankAccountRevision -- [Revision status = 02] >= 1
[0..1] I_BankAccHasRev _RevisionForActivating $projection.BankAccountInternalID = _RevisionForActivating.BankAccountInternalID
[0..1] I_BankAccountWithVerification _RevisionForVerify $projection.BankAccountInternalID = _RevisionForVerify.BankAccountInternalID
[0..1] I_BankAccInWorkFlow _BankAccInWorkFlow $projection.BankAccountInternalID = _BankAccInWorkFlow.BankAccountInternalID
[0..1] I_BankAccHasRevText _RevisionForActivatingText $projection.WithToBeActivatedRevision = _RevisionForActivatingText.WithToBeActivatedRevision and _RevisionForActivatingText.Language = $session.system_language
[0..1] I_BankAccHasRevText _RevisionForVerifyText $projection.WithToBeVerifiedRevision = _RevisionForVerifyText.WithToBeActivatedRevision and _RevisionForVerifyText.Language = $session.system_language
[0..1] I_BankAccInWorkflowText _BankAccInWorkFlowText $projection.InWorkflowProcess = _BankAccInWorkFlowText.InWorkflowProcess and _BankAccInWorkFlowText.Language = $session.system_language
[1..1] E_BankAccount _E_BankAccount $projection.BankAccountInternalID = _E_BankAccount.BankAccountInternalID and $projection.BankAccountRevision = _E_BankAccount.BankAccountRevision
[0..1] I_UserContactCard _BankAccountSupervisor $projection.BankAccountSupervisor = _BankAccountSupervisor.ContactCardID
[0..1] I_UserContactCard _CompanyContactPerson $projection.CompanyContactPerson = _CompanyContactPerson.ContactCardID
[0..1] I_UserContactCard _CreatedBy $projection.CreatedByUser = _CreatedBy.ContactCardID
[0..1] I_UserContactCard _OpenedBy $projection.OpenedByUser = _OpenedBy.ContactCardID
[0..1] I_UserContactCard _ClosedBy $projection.ClosedByUser = _ClosedBy.ContactCardID
[0..1] I_UserContactCard _ReviewedBy $projection.ReviewedByUser = _ReviewedBy.ContactCardID
[0..1] I_UserContactCard _LastChangedBy $projection.LastChangedByUser = _LastChangedBy.ContactCardID
[0..1] I_BusinessPartner _GeneralContact $projection.BankContactPerson = _GeneralContact.BusinessPartner
[0..1] I_BusinessPartner _BankRelationshipManager $projection.BankRelationshipManager = _BankRelationshipManager.BusinessPartner
[0..1] I_BusinessPartner _IHBAccountHolder $projection.IHBAccountHolder = _IHBAccountHolder.BusinessPartner
[0..1] I_CashPoolMgmt _LeadingCashPoolMgmt $projection.LeadingCashPoolID = _LeadingCashPoolMgmt.CashPoolName and _LeadingCashPoolMgmt.CashPoolIsDeleted <> 'X'
[0..1] I_CashPoolMgmt _ParticipantCashPoolMgmt $projection.ParticipantCashPoolID = _ParticipantCashPoolMgmt.CashPoolName and _ParticipantCashPoolMgmt.CashPoolIsDeleted <> 'X'
[0..1] I_PaymentMethod _ParticipantPaymentMethod $projection.ParticipantPaymentMethod = _ParticipantPaymentMethod.PaymentMethod and $projection.BankCountry = _ParticipantPaymentMethod.Country
[0..1] I_PaymentMethod _LeadingPaymentMethod $projection.LeadingPaymentMethod = _LeadingPaymentMethod.PaymentMethod and $projection.BankCountry = _LeadingPaymentMethod.Country
[0..1] I_BkAcctPaytSrvcPrvdr _BkAcctPaytSrvcPrvdr $projection.PaymentServiceProvider = _BkAcctPaytSrvcPrvdr.PaymentServiceProvider
[0..1] I_BankAccountLatestReview _SingleAccountReviewLog $projection.BankAccountInternalID = _SingleAccountReviewLog.BankAccountInternalID
[0..1] I_RegionText _RegionText $projection.BankCountry = _RegionText.Country and $projection.Region = _RegionText.Region and _RegionText.Language = $session.system_language
[0..1] I_BankStmntRecnclnGrpText _BankStmntRecnclnGrpText $projection.BankStmntReconciliationGrp = _BankStmntRecnclnGrpText.BankStmntReconciliationGrp and _BankStmntRecnclnGrpText.Language = $session.system_language
[0..1] I_BankAccountSetting _BankAccountSetting $projection.BankAccountInternalID = _BankAccountSetting.BankAccountInternalID
[0..1] I_BankAcctContrTypeVH _ContractType $projection.BankAccountType = _ContractType.BankAccountType
[0..1] I_BankAccountOpeningRequest _BankAccountApplication $projection.OpenNewBankAccountRequest = _BankAccountApplication.BankAccountChangeRequest and _BankAccountApplication.BankAccountOpeningRequestUUID is not null

Annotations (24)

NameValueLevelField
AbapCatalog.sqlViewName IBANKACCOUNTTP view
AbapCatalog.compiler.compareFilter true view
EndUserText.label Bank Account BO active and draft view
VDM.viewType #TRANSACTIONAL view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
ObjectModel.compositionRoot true view
ObjectModel.modelCategory #BUSINESS_OBJECT view
ObjectModel.transactionalProcessingEnabled true view
ObjectModel.writeDraftPersistence BANKACCWD view
ObjectModel.draftEnabled true view
ObjectModel.createEnabled EXTERNAL_CALCULATION view
ObjectModel.updateEnabled EXTERNAL_CALCULATION view
ObjectModel.deleteEnabled EXTERNAL_CALCULATION view
ObjectModel.representativeKey BankAccountInternalID view
ObjectModel.entityChangeStateId LastChangeDate view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.dataClass #ORGANIZATIONAL view
ObjectModel.sapObjectNodeType.name BankAccount view
Search.searchable true view
ClientHandling.algorithm #SESSION_VARIABLE view
AccessControl.authorizationCheck #CHECK view
Metadata.allowExtensions true view
Consumption.semanticObject BankAccount view

Fields (64)

KeyFieldSource TableSource FieldDescription
KEY BankAccountInternalID fclm_bam_amd acc_id
KEY BankAccountRevision fclm_bam_amd revision
BankAccountUniqueID
HouseBank _SingleHouseBankAccount HouseBank
HouseBankAccount _SingleHouseBankAccount HouseBankAccount
GLAccount _SingleHouseBankAccount GLAccount
ChartOfAccounts
ArchObjectNumber fclm_bam_amd objnr
CompanyCode fclm_bam_amd bukrs
BankAccountCurrency fclm_bam_amd waers
BankAccountDescription _AccountTextInCurrentLang BankAccountDescription
BankCountry fclm_bam_amd banks
CountryName _BankCountryText CountryName
Bank fclm_bam_amd bankl
BankNumber _Bank Bank
BankName _Bank BankName
BankGroup _Bank BankGroup
BankNetworkGrouping _Bank BankNetworkGrouping
Region _Bank Region
Branch _Bank Branch
BankBranch _Bank BankBranch
CityName _Bank CityName
ShortCityName _Bank ShortCityName
StreetName _Bank StreetName
ShortStreetName _Bank ShortStreetName
AddressID _Bank AddressID
PostalCode
POBox
HouseNumber
SWIFTCode _Bank SWIFTCode
BankIntraStatRuleExternalID
BankAccount fclm_bam_amd acc_num
BankAccountType fclm_bam_amd acc_type_id
ValidityStartDate fclm_bam_amd valid_from
ValidityEndDate fclm_bam_amd valid_to
IBAN fclm_bam_amd iban
BankAccountStatus fclm_bam_amd status
BankAccountRevisionStatus _BankAccountRevision BankAccountRevisionStatus
CompanyCodeName _CompanyCode CompanyCodeName
CompanyCodeCountry _CompanyCode Country
CompanyCodeCurrency _CompanyCode Currency
ProfitCenter fclm_bam_amd prctr
ControllingArea _CompanyCode ControllingArea
BusinessArea fclm_bam_amd gsber
Segment fclm_bam_amd segment
BankAccountHolderName fclm_bam_amd beneficial
BankContactPerson fclm_bam_amd bank_contact
BankRelationshipManager fclm_bam_amd rel_manager
CompanyContactPerson fclm_bam_amd company_contact
BankAccountSupervisor fclm_bam_amd account_supervisor
CreatedByUser fclm_bam_amd created_by
OpenedByUser fclm_bam_amd opened_by
LastChangedByUser fclm_bam_amd changed_by
ReviewedByUser fclm_bam_amd reviewed_by
ClosedByUser fclm_bam_amd closed_by
IsMarkedForDeletion fclm_bam_amd deleted_flag
DomesticCutOffTime fclm_bam_amd cutoff_time_d
CrossBorderCutOffTime fclm_bam_amd cutoff_time_c
PlannedClosingDate fclm_bam_amd planned_closing_date
CreationDate fclm_bam_amd created_at_dat
CreationTime fclm_bam_amd created_at_tim
OpenedDate fclm_bam_amd opened_at_dat
OpenedTime fclm_bam_amd opened_at_tim
LastChangeDate fclm_bam_amd changed_at_dat
@AbapCatalog: {
    sqlViewName: 'IBANKACCOUNTTP',
    compiler.compareFilter: true
}

@EndUserText.label: 'Bank Account BO active and draft'

@VDM:{
    viewType: #TRANSACTIONAL,
    lifecycle.contract.type:#SAP_INTERNAL_API
}

@ObjectModel: {
    compositionRoot: true,
    modelCategory: #BUSINESS_OBJECT,
    transactionalProcessingEnabled: true,
    writeDraftPersistence: 'BANKACCWD',
    draftEnabled: true,
    createEnabled: 'EXTERNAL_CALCULATION',
    updateEnabled: 'EXTERNAL_CALCULATION',
    deleteEnabled: 'EXTERNAL_CALCULATION',
    semanticKey: [ 'BankAccountInternalID','BankAccountRevision', 'BankAccount'],
    representativeKey: 'BankAccountInternalID',
    entityChangeStateId: 'LastChangeDate',
    usageType: {
        sizeCategory: #XL,
        serviceQuality: #D,
        dataClass: #ORGANIZATIONAL
    },
    sapObjectNodeType.name: 'BankAccount'
}

@Search.searchable: true

@ClientHandling.algorithm: #SESSION_VARIABLE

@AccessControl.authorizationCheck: #CHECK

@Metadata.allowExtensions: true

@Consumption.semanticObject: 'BankAccount'

@AccessControl.privilegedAssociations:  [ '_BankAccountSupervisor','_CompanyContactPerson','_CreatedBy','_OpenedBy','_ClosedBy','_ReviewedBy','_LastChangedBy','_AccountOverDraftLimit', '_AccountTextInCurrentLang' ]

/*+[hideWarning] { "IDS" : [ "CARDINALITY_CHECK" ]  } */
define view I_BankAccountTP
  as select from fclm_bam_amd as Account
  association [0..*] to I_BankAccHouseBankAccTP       as _AccountConnectivePath     on  $projection.BankAccountInternalID = _AccountConnectivePath.BankAccountInternalID
                                                                                    and $projection.BankAccountRevision   = _AccountConnectivePath.BankAccountRevision
  association [0..*] to I_BankAccLimitTP              as _AccountOverDraftLimit     on  $projection.BankAccountInternalID = _AccountOverDraftLimit.BankAccountInternalID
                                                                                    and $projection.BankAccountRevision   = _AccountOverDraftLimit.BankAccountRevision
  association [0..*] to I_BankAccSignatureTP          as _AccountSignature          on  $projection.BankAccountInternalID = _AccountSignature.BankAccountInternalID
                                                                                    and $projection.BankAccountRevision   = _AccountSignature.BankAccountRevision
  association [0..*] to I_BankAccTextTP               as _AccountText               on  $projection.BankAccountInternalID = _AccountText.BankAccountInternalID
                                                                                    and $projection.BankAccountRevision   = _AccountText.BankAccountRevision
  //    Did not supported error checked by SADL runtime                        and _AccountText.LanguageForEdit <> $session.system_language


  -- :0..1 association to the Account text in the current language
  -- also used for SADL text denormalization in order to enforce uniqueness of the associated
  -- text in case of ambiguous user input in the draft texts' language fields
  //  association [0..1] to I_BankAccTextTP          as _AccountTextInCurrentLang on  $projection.BankAccountInternalID         = _AccountTextInCurrentLang.BankAccountInternalID

  //                                                                              and $projection.BankAccountRevision           = _AccountTextInCurrentLang.BankAccountRevision

  //                                                                              and _AccountTextInCurrentLang.LanguageForEdit = $session.system_language

  -- ForeignKey Association
  association [0..1] to I_SingleHouseBankAccount      as _SingleHouseBankAccount    on  $projection.BankAccountInternalID = _SingleHouseBankAccount.BankAccountInternalID
                                                                                    and $projection.BankAccountRevision   = _SingleHouseBankAccount.BankAccountRevision
  association [0..1] to I_Bank                        as _Bank                      on  $projection.BankCountry = _Bank.BankCountry
                                                                                    and $projection.Bank        = _Bank.BankInternalID
  association [0..1] to I_CompanyCode                 as _CompanyCode               on  $projection.CompanyCode = _CompanyCode.CompanyCode

  association [0..*] to I_ProfitCenterText            as _ProfitCenterText          on  $projection.ProfitCenter    = _ProfitCenterText.ProfitCenter
                                                                                    and $projection.ControllingArea = _ProfitCenterText.ControllingArea
                                                                                    and _ProfitCenterText.Language  = $session.system_language
  association [0..1] to I_ControllingArea             as _ControllingArea           on  $projection.ControllingArea = _ControllingArea.ControllingArea
  association [0..1] to I_BusinessAreaText            as _BusinessAreaText          on  $projection.BusinessArea   = _BusinessAreaText.BusinessArea
                                                                                    and _BusinessAreaText.Language = $session.system_language
  association [0..1] to I_SegmentText                 as _SegmentText               on  $projection.Segment   = _SegmentText.Segment
                                                                                    and _SegmentText.Language = $session.system_language

  association [0..1] to I_CountryText                 as _BankCountryText           on  $projection.BankCountry   = _BankCountryText.Country
                                                                                    and _BankCountryText.Language = $session.system_language
  association [0..*] to I_CountryText                 as _CompanyCountryText        on  $projection.CompanyCodeCountry = _CompanyCountryText.Country
  association [0..*] to I_BankAccountTypeText         as _BankAccountType           on  $projection.BankAccountType = _BankAccountType.BankAccountType
  association [0..1] to I_BankAccountTextRev          as _AccountTextInCurrentLang  on  $projection.BankAccountInternalID  = _AccountTextInCurrentLang.BankAccountInternalID
                                                                                    and $projection.BankAccountRevision    = _AccountTextInCurrentLang.BankAccountRevision
                                                                                    and _AccountTextInCurrentLang.Language = $session.system_language
  association [0..1] to I_BankAccountStatusStdVH      as _BankAccountStatus         on  $projection.BankAccountStatus = _BankAccountStatus.BankAccountStatus
  association [0..1] to I_BankAccRevision             as _BankAccountRevision       on  $projection.BankAccountInternalID = _BankAccountRevision.BankAccountInternalID
                                                                                    and $projection.BankAccountRevision   = _BankAccountRevision.BankAccountRevision
  -- [Revision status = 02] >= 1
  association [0..1] to I_BankAccHasRev               as _RevisionForActivating     on  $projection.BankAccountInternalID = _RevisionForActivating.BankAccountInternalID
  association [0..1] to I_BankAccountWithVerification as _RevisionForVerify         on  $projection.BankAccountInternalID = _RevisionForVerify.BankAccountInternalID
  association [0..1] to I_BankAccInWorkFlow           as _BankAccInWorkFlow         on  $projection.BankAccountInternalID = _BankAccInWorkFlow.BankAccountInternalID
  association [0..1] to I_BankAccHasRevText           as _RevisionForActivatingText on  $projection.WithToBeActivatedRevision = _RevisionForActivatingText.WithToBeActivatedRevision
                                                                                    and _RevisionForActivatingText.Language   = $session.system_language
  association [0..1] to I_BankAccHasRevText           as _RevisionForVerifyText     on  $projection.WithToBeVerifiedRevision = _RevisionForVerifyText.WithToBeActivatedRevision
                                                                                    and _RevisionForVerifyText.Language      = $session.system_language
  association [0..1] to I_BankAccInWorkflowText       as _BankAccInWorkFlowText     on  $projection.InWorkflowProcess   = _BankAccInWorkFlowText.InWorkflowProcess
                                                                                    and _BankAccInWorkFlowText.Language = $session.system_language

  //Extention Include

  association [1..1] to E_BankAccount                 as _E_BankAccount             on  $projection.BankAccountInternalID = _E_BankAccount.BankAccountInternalID
                                                                                    and $projection.BankAccountRevision   = _E_BankAccount.BankAccountRevision
  //full name and contact card

  association [0..1] to I_UserContactCard             as _BankAccountSupervisor     on  $projection.BankAccountSupervisor = _BankAccountSupervisor.ContactCardID
  association [0..1] to I_UserContactCard             as _CompanyContactPerson      on  $projection.CompanyContactPerson = _CompanyContactPerson.ContactCardID

  association [0..1] to I_UserContactCard             as _CreatedBy                 on  $projection.CreatedByUser = _CreatedBy.ContactCardID
  association [0..1] to I_UserContactCard             as _OpenedBy                  on  $projection.OpenedByUser = _OpenedBy.ContactCardID
  association [0..1] to I_UserContactCard             as _ClosedBy                  on  $projection.ClosedByUser = _ClosedBy.ContactCardID
  association [0..1] to I_UserContactCard             as _ReviewedBy                on  $projection.ReviewedByUser = _ReviewedBy.ContactCardID
  association [0..1] to I_UserContactCard             as _LastChangedBy             on  $projection.LastChangedByUser = _LastChangedBy.ContactCardID

  association [0..1] to I_BusinessPartner             as _GeneralContact            on  $projection.BankContactPerson = _GeneralContact.BusinessPartner
  association [0..1] to I_BusinessPartner             as _BankRelationshipManager   on  $projection.BankRelationshipManager = _BankRelationshipManager.BusinessPartner
  association [0..1] to I_BusinessPartner             as _IHBAccountHolder          on  $projection.IHBAccountHolder = _IHBAccountHolder.BusinessPartner

  association [0..1] to I_CashPoolMgmt                as _LeadingCashPoolMgmt       on  $projection.LeadingCashPoolID          =  _LeadingCashPoolMgmt.CashPoolName
                                                                                    and _LeadingCashPoolMgmt.CashPoolIsDeleted <> 'X'
  association [0..1] to I_CashPoolMgmt                as _ParticipantCashPoolMgmt   on  $projection.ParticipantCashPoolID          =  _ParticipantCashPoolMgmt.CashPoolName
                                                                                    and _ParticipantCashPoolMgmt.CashPoolIsDeleted <> 'X'

  association [0..1] to I_PaymentMethod               as _ParticipantPaymentMethod  on  $projection.ParticipantPaymentMethod = _ParticipantPaymentMethod.PaymentMethod
                                                                                    and $projection.BankCountry              = _ParticipantPaymentMethod.Country
  association [0..1] to I_PaymentMethod               as _LeadingPaymentMethod      on  $projection.LeadingPaymentMethod = _LeadingPaymentMethod.PaymentMethod
                                                                                    and $projection.BankCountry          = _LeadingPaymentMethod.Country
  association [0..1] to I_BkAcctPaytSrvcPrvdr         as _BkAcctPaytSrvcPrvdr       on  $projection.PaymentServiceProvider = _BkAcctPaytSrvcPrvdr.PaymentServiceProvider

  association [0..1] to I_BankAccountLatestReview     as _SingleAccountReviewLog    on  $projection.BankAccountInternalID = _SingleAccountReviewLog.BankAccountInternalID
  association [0..1] to I_RegionText                  as _RegionText                on  $projection.BankCountry = _RegionText.Country
                                                                                    and $projection.Region      = _RegionText.Region
                                                                                    and _RegionText.Language    = $session.system_language
  association [0..1] to I_BankStmntRecnclnGrpText     as _BankStmntRecnclnGrpText   on  $projection.BankStmntReconciliationGrp = _BankStmntRecnclnGrpText.BankStmntReconciliationGrp
                                                                                    and _BankStmntRecnclnGrpText.Language      = $session.system_language
  association [0..1] to I_BankAccountSetting          as _BankAccountSetting        on  $projection.BankAccountInternalID = _BankAccountSetting.BankAccountInternalID
  association [0..1] to I_BankAcctContrTypeVH         as _ContractType              on  $projection.BankAccountType = _ContractType.BankAccountType
  association [0..1] to I_BankAccountOpeningRequest   as _BankAccountApplication    on  $projection.OpenNewBankAccountRequest                 = _BankAccountApplication.BankAccountChangeRequest
                                                                                    and _BankAccountApplication.BankAccountOpeningRequestUUID is not null
{
      @ObjectModel.readOnly:  true
  key Account.acc_id                                                                        as BankAccountInternalID,

      @ObjectModel: {
          enabled: 'EXTERNAL_CALCULATION',
          readOnly:  'EXTERNAL_CALCULATION',
          mandatory: 'EXTERNAL_CALCULATION',
          foreignKey.association: null
        }
  key Account.revision                                                                      as BankAccountRevision,
      concat( acc_id ,  revision  )                                                         as BankAccountUniqueID,
      @Search.defaultSearchElement: true
      @Search.fuzzinessThreshold: 0.8
      @Search.ranking: #HIGH
      _SingleHouseBankAccount.HouseBank,
      @Search.defaultSearchElement: true
      @Search.fuzzinessThreshold: 0.8
      @Search.ranking: #HIGH
      _SingleHouseBankAccount.HouseBankAccount,
      @Search.defaultSearchElement: true
      @Search.fuzzinessThreshold: 0.8
      @Search.ranking: #MEDIUM
      _SingleHouseBankAccount.GLAccount,
      @ObjectModel.readOnly: true
      _SingleHouseBankAccount._CompanyCode.ChartOfAccounts,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.objnr                                                                         as ArchObjectNumber,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.bukrs                                                                         as CompanyCode,

      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      @Semantics.currencyCode: true
      Account.waers                                                                         as BankAccountCurrency,

      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      _AccountTextInCurrentLang.BankAccountDescription                                      as BankAccountDescription,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.banks                                                                         as BankCountry,
      _BankCountryText.CountryName,
      @Search.defaultSearchElement: true
      @Search.fuzzinessThreshold: 0.8
      @Search.ranking: #HIGH
      @ObjectModel.foreignKey.association: '_Bank'
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.bankl                                                                         as Bank,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      _Bank.Bank                                                                            as BankNumber,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  true,
        mandatory: 'EXTERNAL_CALCULATION'
      }
      _Bank.BankName,

      @ObjectModel.readOnly:  true
      @VDM.lifecycle.status: #DEPRECATED
      @VDM.lifecycle.successor: 'BankNetworkGrouping'
      _Bank.BankGroup,
      @ObjectModel.readOnly: true
      _Bank.BankNetworkGrouping,
      @ObjectModel.readOnly:  true
      _Bank.Region                                                                          as Region,
      @ObjectModel.readOnly:  true
      @VDM.lifecycle.status: #DEPRECATED
      @VDM.lifecycle.successor: 'BankBranch'
      _Bank.Branch                                                                          as Branch,
      @ObjectModel.readOnly: true
      _Bank.BankBranch,
      @ObjectModel.readOnly:  true
      @VDM.lifecycle.status:#DEPRECATED
      @VDM.lifecycle.successor: 'ShortCityName'
      _Bank.CityName                                                                        as CityName,
      @ObjectModel.readOnly: true
      _Bank.ShortCityName,
      @ObjectModel.readOnly:  true
      @VDM.lifecycle.status: #DEPRECATED
      @VDM.lifecycle.successor: 'ShortCityName'
      _Bank.StreetName                                                                      as StreetName,
      @ObjectModel.readOnly: true
      _Bank.ShortStreetName,
      @ObjectModel.readOnly:  true
      @ObjectModel.foreignKey.association: '_Address'
      _Bank.AddressID                                                                       as AddressID,
      @ObjectModel.readOnly: true
      _Bank._Address.PostalCode                                                             as PostalCode,
      @ObjectModel.readOnly: true
      _Bank._Address.POBox                                                                  as POBox,
      @ObjectModel.readOnly: true
      _Bank._Address.HouseNumber                                                            as HouseNumber,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      _Bank.SWIFTCode,

      @ObjectModel: {
      enabled:'EXTERNAL_CALCULATION',
      readOnly:  true
      }
      _Bank._IntradayRule.IntraBkStaRuleExternalID                                          as BankIntraStatRuleExternalID,

      @Search.defaultSearchElement: true
      @Search.fuzzinessThreshold: 0.8
      @Search.ranking: #HIGH
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.acc_num                                                                       as BankAccount,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.acc_type_id                                                                   as BankAccountType,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      cast(   case when open_request_id is not initial
          then  ( case when _BankAccountApplication.BankAccountContractType is null
                  then ' ' else   _BankAccountApplication.BankAccountContractType end )
          else  ( case when _ContractType.BankAccountContractType is null
                  then ' ' else _ContractType.BankAccountContractType  end )
          end  as fclm_bam_contract_type preserving type )                                  as BankAccountContractType,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.valid_from                                                                    as ValidityStartDate,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.valid_to                                                                      as ValidityEndDate,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.iban                                                                          as IBAN,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }

      Account.status                                                                        as BankAccountStatus,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      _BankAccountRevision.BankAccountRevisionStatus                                        as BankAccountRevisionStatus,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      _CompanyCode.CompanyCodeName,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      _CompanyCode.Country                                                                  as CompanyCodeCountry,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      _CompanyCode.Currency                                                                 as CompanyCodeCurrency,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.prctr                                                                         as ProfitCenter,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      _CompanyCode.ControllingArea                                                          as ControllingArea,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.gsber                                                                         as BusinessArea,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.segment                                                                       as Segment,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.beneficial                                                                    as BankAccountHolderName,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.bank_contact                                                                  as BankContactPerson,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'

      }
      Account.rel_manager                                                                   as BankRelationshipManager,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }

      Account.company_contact                                                               as CompanyContactPerson,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      @Semantics.user.id
      Account.account_supervisor                                                            as BankAccountSupervisor,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.created_by                                                                    as CreatedByUser,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.opened_by                                                                     as OpenedByUser,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.changed_by                                                                    as LastChangedByUser,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.reviewed_by                                                                   as ReviewedByUser,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.closed_by                                                                     as ClosedByUser,
      @ObjectModel: {
        enabled: false
      }
      Account.deleted_flag                                                                  as IsMarkedForDeletion,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.cutoff_time_d                                                                 as DomesticCutOffTime,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.cutoff_time_c                                                                 as CrossBorderCutOffTime,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.planned_closing_date                                                          as PlannedClosingDate,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.created_at_dat                                                                as CreationDate,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.created_at_tim                                                                as CreationTime,
      @ObjectModel.readOnly: true
      @Semantics.systemDateTime.createdAt: true
      cast( dats_tims_to_tstmp( Account.created_at_dat ,  Account.created_at_tim, abap_system_timezone($session.client, 'NULL'), $session.client, 'NULL') as timestamp
      )                                                                                     as BankAccountCreatedDateTime,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.opened_at_dat                                                                 as OpenedDate,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.opened_at_tim                                                                 as OpenedTime,
      @ObjectModel.readOnly: true
      cast( dats_tims_to_tstmp( Account.opened_at_dat,  Account.opened_at_tim , abap_system_timezone($session.client, 'NULL'), $session.client, 'NULL') as timestamp
      )                                                                                     as BankAccountOpenedDateTime,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      @Semantics.systemDate.lastChangedAt: true
      Account.changed_at_dat                                                                as LastChangeDate,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      @Semantics.systemTime.lastChangedAt: true
      Account.changed_at_tim                                                                as LastChangeTime,
      @ObjectModel.readOnly: true
      @Semantics.systemTime.lastChangedAt: true
      cast( dats_tims_to_tstmp( Account.changed_at_dat,  Account.changed_at_tim , abap_system_timezone($session.client, 'NULL'), $session.client, 'NULL') as timestamp
      )                                                                                     as BankAccountLastChangedDateTime,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.closed_at_dat                                                                 as ClosedDate,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.closed_at_tim                                                                 as ClosedTime,
      @ObjectModel.readOnly: true
      cast( dats_tims_to_tstmp( Account.closed_at_dat,  Account.closed_at_tim , abap_system_timezone($session.client, 'NULL'), $session.client, 'NULL') as timestamp
      )                                                                                     as BankAccountClosedDateTime,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      _SingleAccountReviewLog.BankAccountLastReviewDate                                     as BankAccountLastReviewDate,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.control_key                                                                   as BankControlKey,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.iban_valid_from                                                               as IBANValidityStartDate,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.bs_upload_time                                                                as BankStatementCheckTime,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.edbsum                                                                        as BankStatementImportMethod,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.idbsum                                                                        as IntraDayBankStateImportMethod,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.importing_channel                                                             as BankStatementImportChannel,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.reconcile_endofday                                                            as EndOfDayIsReconciled,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.upload_bs_flag                                                                as IsUploadOfIntraDayStatement,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.vgtyp                                                                         as PaymentTransactionTypeGroup,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      procstat_act                                                                          as ProcessingStatus,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      balstat_act                                                                           as DifferenceStatus,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      serstat_act                                                                           as SerialNumberStatus,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      reconstat_act                                                                         as ReconciliationStatus,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      exp_number                                                                            as ExpectedInterval,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      exp_rhyth                                                                             as ControlFrequency,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      calendar                                                                              as FactoryCalendar,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      sort_idx                                                                              as DisplayItem,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      amt_diff                                                                              as DifferenceAmount,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.cash_pool_id                                                                  as LeadingCashPoolID,

      @ObjectModel.readOnly: true
      _LeadingCashPoolMgmt.CashPoolType                                                     as LeadingCashPoolType,
      @ObjectModel.readOnly: true
      _LeadingCashPoolMgmt.CashPoolSrvcPrvdr                                                as LeadingCashPoolSrvcPrvdr,
      @ObjectModel.readOnly: true
      _LeadingCashPoolMgmt.CashPoolDesc                                                     as LeadingCashPoolDesc,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.cash_pool_id_participant                                                      as ParticipantCashPoolID,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      @Semantics.amount.currencyCode: 'BankAccountCurrency'
      Account.cash_pool_target_amt_max                                                      as MaxTargetAmount,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      @Semantics.amount.currencyCode: 'BankAccountCurrency'
      Account.cash_pool_target_amt_min                                                      as MinTargetAmount,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      @Semantics.amount.currencyCode: 'BankAccountCurrency'
      Account.cash_pool_transfer_amt_min                                                    as MinTransferAmount,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      @Semantics.amount.currencyCode: 'BankAccountCurrency'
      Account.cash_pool_transfer_amt_max                                                    as MaxTransferAmount,
      @ObjectModel: {
      enabled: 'EXTERNAL_CALCULATION',
      readOnly:  'EXTERNAL_CALCULATION',
      mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.sgtxt                                                                         as Note,

      @ObjectModel.readOnly: true
      _ParticipantCashPoolMgmt.CashPoolType                                                 as ParticipantCashPoolType,
      @ObjectModel.readOnly: true
      _ParticipantCashPoolMgmt.CashPoolSrvcPrvdr                                            as ParticipantCashPoolSrvcPrvdr,
      @ObjectModel.readOnly: true
      _ParticipantCashPoolMgmt.CashPoolDesc                                                 as ParticipantCashPoolDesc,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.payment_method_l                                                              as LeadingPaymentMethod,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.payment_method_p                                                              as ParticipantPaymentMethod,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      payment_service_provider                                                              as PaymentServiceProvider,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.tolerance_group                                                               as CashToleranceGroup,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.reconcile_intraday                                                            as IntradayIsReconciled,

      @ObjectModel: {
      enabled: 'EXTERNAL_CALCULATION',
      readOnly:  'EXTERNAL_CALCULATION',
      mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.ext_rule_id                                                                   as IntraBkStaRuleExternalID,


      @ObjectModel.readOnly: true
      cast(   case when _RevisionForActivating.BankAccountRevisionStatus = '02' then 'X'
            else ' '
         end  as fclm_bam_tba_revision preserving type )                                    as WithToBeActivatedRevision,
      @ObjectModel: {
          readOnly:  true
           }
      cast(   case when _RevisionForVerify.BankAccountInternalID is not null then 'X'
            else ' '
         end  as fclm_bam_tba_revision preserving type )                                    as WithToBeVerifiedRevision,
      @ObjectModel: {
          readOnly:  true
           }
      cast(    case when _BankAccInWorkFlow.BankAccountInternalID is not null then 'X'
            else ' '
         end  as fclm_bam_in_workflow preserving type )                                     as InWorkflowProcess,
      // Display change document for revisoin <> 0

      cast(    case when   Account.revision is not null then 'X'
      else ' '
      end     as fclm_bam_with_workflow preserving type )                                   as RevisionWithWorkflow,

      Account.waers                                                                         as CashPoolCurrency,
      @ObjectModel: {
      enabled: 'EXTERNAL_CALCULATION',
      readOnly:  'EXTERNAL_CALCULATION',
      mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.planning_level                                                                as PlanningLevel,
      @ObjectModel: {
      enabled: 'EXTERNAL_CALCULATION',
      readOnly:  'EXTERNAL_CALCULATION',
      mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.bsr_group                                                                     as BankStmntReconciliationGrp,

      @ObjectModel: {
      enabled: 'EXTERNAL_CALCULATION',
      readOnly:  'EXTERNAL_CALCULATION',
      mandatory: 'EXTERNAL_CALCULATION'
      }
      cast('' as fclm_bam_bankacctworkflownote )                                            as BankAcctWorkflowNote,
      @ObjectModel: {
      enabled: 'EXTERNAL_CALCULATION',
      readOnly:  'EXTERNAL_CALCULATION',
      mandatory: 'EXTERNAL_CALCULATION'
      }
      open_request_id                                                                       as OpenNewBankAccountRequest,
      @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
      }
      Account.ihb_servicer                                                                  as IHBAccountHolder,

      @ObjectModel.readOnly: true
      _BankStmntRecnclnGrpText.BankStmntReconciliationGrpName                               as BankStmntReconciliationGrpName,
      _BankAccountRevision.BankAccountAction                                                as BankAccountAction,
      @ObjectModel.readOnly: true
      _BankAccountSetting.BankStatementPostingType,
      @ObjectModel.readOnly: true
      _BankAccountSetting.BankStatementTransferMode,
      @ObjectModel.readOnly: true
      _BankAccountSetting.BankStatementForwardingType,
      @ObjectModel.readOnly: true
      _BankAccountSetting.IntradayBankStatementPosting,
      @ObjectModel.readOnly: true
      _BankAccountSetting.InternalAPIBalanceIsEnabled,
      @ObjectModel.readOnly: true
      _BankAccountSetting.ExcelImportBalanceIsEnabled,
      @ObjectModel.readOnly: true
      _BankAccountSetting.ManualInputBalanceIsEnabled,


      @ObjectModel:{
      readOnly: true
      }
      cast( '0000' as fclm_bam_activate_sequence preserving type )                          as BankAccountActivatedSequence,

      @ObjectModel:{
        readOnly: true
      }
      cast( 0 as sadl_gw_dynamic_field_property preserving type )                           as BankAcctWorkflowNoteFieldCtrl,
      @ObjectModel:{
        readOnly: true
      }
      cast('' as boolean preserving type )                                                  as BankRelationshipSecIsHidden,
      @ObjectModel:{
        readOnly: true
      }
      cast('' as boolean preserving type )                                                  as CashPoolSecIsHidden,
      @ObjectModel:{
        readOnly: true
      }
      cast('' as boolean preserving type )                                                  as OverdraftLimitSecIsHidden,
      @ObjectModel:{
        readOnly: true
      }
      cast('' as boolean preserving type )                                                  as PaymentApproverSecIsHidden,
      @ObjectModel:{
        readOnly: true
      }
      cast('' as boolean preserving type )                                                  as BkCorrespncSecIsHidden,
      @ObjectModel:{
      readOnly: true
      }
      cast('' as boolean preserving type )                                                  as HsBkAcctConnectivitySctnIsHidn,
      @ObjectModel:{
      readOnly: true
      }
      cast('' as boolean preserving type )                                                  as MultiLanguageDescSecIsHidden,
      @ObjectModel:{
      readOnly: true
      }
      cast('' as boolean preserving type )                                                  as AttachmentSecIsHidden,
      @ObjectModel:{
      readOnly: true
      }
      cast('' as boolean preserving type )                                                  as AccountDocumentSecIsHidden,

      @ObjectModel:{
        readOnly: true
      }
      cast( '' as boolean preserving type )                                                 as ActnActvtRevisionIsEnbld,

      @ObjectModel:{
        readOnly: true
      }
      cast( 0 as sadl_gw_dynamic_field_property preserving type )                           as BankAcctClosingDateFieldCtrl,

      @ObjectModel:{
        readOnly: true
      }
      cast( '' as boolean preserving type )                                                 as ActnRevertClosingInSystIsEnbld,

      @ObjectModel:{
        readOnly: true
      }
      cast( 0 as sadl_gw_dynamic_field_property preserving type )                           as BankAcctPostingBlkDateFldCtrl,

      @ObjectModel:{
        readOnly: true
      }
      cast( '' as boolean preserving type )                                                 as ActnRetToPreviousStatusIsEnbld,
      @ObjectModel:{
        readOnly: true
      }
      cast( 0 as sadl_gw_dynamic_field_property preserving type )                           as BkAcctBackActnNoteFldCtrl,
      @ObjectModel:{
        readOnly: true
      }
      cast( '' as fclm_bam_contype_control)                                                 as BankAccountActionActivation,

      @ObjectModel:{
        readOnly: true
      }
      cast( '' as boolean preserving type )                                                 as ActionRestoreIsEnabled,
      @ObjectModel:{
        readOnly: true
      }
      cast( '' as boolean preserving type )                                                 as BankAccountIsModifyInRestore,
      cast( case when revision = '0000' then ' ' else 'X' end  as boolean preserving type ) as BankAccountRevisionIsNotZero,
      _Bank,
      _Bank._Address                                                                        as _Address,
      _CompanyCode,
      _ProfitCenterText,
      _BusinessAreaText,
      _SegmentText,
      _ControllingArea,
      _BankAccountType,
      _BankAccountStatus,
      _RevisionForActivatingText,
      _RevisionForVerifyText,
      _BankAccInWorkFlowText,
      _BankAccountRevision,
      _AccountTextInCurrentLang,

      _BankAccountSupervisor,

      _CompanyContactPerson,
      _CreatedBy,
      _OpenedBy,
      _ClosedBy,
      _ReviewedBy,
      _LastChangedBy,
      _GeneralContact,
      _BankRelationshipManager,
      _IHBAccountHolder,
      _LeadingCashPoolMgmt,
      _LeadingPaymentMethod,
      _ParticipantCashPoolMgmt,
      _ParticipantPaymentMethod,
      _BkAcctPaytSrvcPrvdr,
      _CompanyCountryText,
      _RegionText,
      _BankAccountSetting,
      _ContractType,
      _BankAccountApplication,
      @ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
      _AccountSignature,
      @ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
      _AccountOverDraftLimit,
      @ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
      _AccountConnectivePath,
      @ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
      _AccountText
}
where
  (
        status          <> '99'
    and revision        =  '0000'
  )
  // bank account applicaiton should show deleted bank account by withdrawing applicaiton

  or(
        status          =  '99'
    and open_request_id is not initial
  )
  or    revision        <> '0000'