I_MakeBankTransferTemplateTP

DDL: I_MAKEBANKTRANSFERTEMPLATETP SQL: IMBKWITHTMPL Type: view TRANSACTIONAL Package: ODATA_BANKTRANSFER

BOPF View for Repetitive Code

I_MakeBankTransferTemplateTP is a Transactional CDS View that provides data about "BOPF View for Repetitive Code" in SAP S/4HANA. It reads from 2 data sources (P_MakeBankTransferTemplate, I_CompanyCode) and exposes 27 fields with key field RepetitiveCodeFlowID. It has 3 associations to related views. Part of development package ODATA_BANKTRANSFER.

Data Sources (2)

SourceAliasJoin Type
P_MakeBankTransferTemplate a from
I_CompanyCode c inner

Associations (3)

CardinalityTargetAliasCondition
[1..1] I_CompanyCode _PayingCompanyCode $projection.PayingCompanyCode = _PayingCompanyCode.CompanyCode
[1..1] I_CompanyCode _PayeeCompanyCode $projection.PayeeCompanyCode = _PayeeCompanyCode.CompanyCode
[0..1] I_PaymentMethod _PaymentMethod $projection.Country = _PaymentMethod.Country and $projection.PaymentMethod = _PaymentMethod.PaymentMethod

Annotations (21)

NameValueLevelField
AbapCatalog.sqlViewName IMBKWITHTMPL view
AbapCatalog.compiler.compareFilter true view
VDM.viewType #TRANSACTIONAL view
AccessControl.personalData.blocking #REQUIRED view
ObjectModel.compositionRoot true view
ObjectModel.modelCategory #BUSINESS_OBJECT view
ObjectModel.transactionalProcessingEnabled true view
ObjectModel.writeDraftPersistence IMBKWITHTMPLDF view
ObjectModel.draftEnabled true view
ObjectModel.createEnabled true view
ObjectModel.updateEnabled EXTERNAL_CALCULATION view
ObjectModel.deleteEnabled EXTERNAL_CALCULATION view
ObjectModel.representativeKey RepetitiveCodeFlowID view
ObjectModel.usageType.sizeCategory #M view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.dataClass #ORGANIZATIONAL view
Search.searchable true view
ClientHandling.algorithm #SESSION_VARIABLE view
AccessControl.authorizationCheck #NOT_REQUIRED view
Metadata.allowExtensions true view
EndUserText.label BOPF View for Repetitive Code view

Fields (27)

KeyFieldSource TableSource FieldDescription
KEY RepetitiveCodeFlowID RepetitiveCodeFlowID
RepetitiveCode P_MakeBankTransferTemplate RepetitiveCode
PayingCompanyCode P_MakeBankTransferTemplate PayingCompanyCode
PayingBankAccount _PayingBankAccount BankAccountNumber
PayingBankAccountInternalID _PayingHouseBank BankAccountInternalID
PayingBankAccountDescription _PayingHouseBank BankAccountDescription
PayeeCompanyCode P_MakeBankTransferTemplate PayeeCompanyCode
PayeeBankAccount _PayeeBankAccount BankAccountNumber
PayeeBankAccountInternalID _PayeeHouseBank BankAccountInternalID
PayeeBankAccountDescription _PayeeHouseBank BankAccountDescription
PaymentMethod P_MakeBankTransferTemplate PaymentMethod
Currency P_MakeBankTransferTemplate Currency
RepetitiveCodeReferenceText P_MakeBankTransferTemplate RepetitiveCodeReferenceText
HouseBank P_MakeBankTransferTemplate HouseBank
PayingHouseBank P_MakeBankTransferTemplate PayingHouseBank
PayingHouseBankAccount P_MakeBankTransferTemplate PayingHouseBankAccount
BankCountry _PayingBankAccount BankCountry
PayingBankKey _PayingBankAccount Bank
PayeeBankKey _PayeeBankAccount Bank
PayeeBankCountry _PayeeBankAccount BankCountry
PayeeHouseBank P_MakeBankTransferTemplate PayeeHouseBank
PayeeHouseBankAccount P_MakeBankTransferTemplate PayeeHouseBankAccount
HouseBankAccount P_MakeBankTransferTemplate HouseBankAccount
Country I_CompanyCode Country
_PayingCompanyCode _PayingCompanyCode
_PayeeCompanyCode _PayeeCompanyCode
_PaymentMethod _PaymentMethod
@AbapCatalog.sqlViewName: 'IMBKWITHTMPL'
@AbapCatalog.compiler.compareFilter: true
@VDM.viewType: #TRANSACTIONAL
@AccessControl.personalData.blocking: #REQUIRED
@ObjectModel: {
    compositionRoot: true,
    modelCategory: #BUSINESS_OBJECT,
    transactionalProcessingEnabled: true,
    writeDraftPersistence: 'IMBKWITHTMPLDF',
    draftEnabled: true,
    createEnabled: true,
    updateEnabled: 'EXTERNAL_CALCULATION',
    deleteEnabled: 'EXTERNAL_CALCULATION',
    semanticKey: [ 'RepetitiveCodeFlowID'],
    representativeKey: 'RepetitiveCodeFlowID',
    usageType: {
        sizeCategory: #M,
        serviceQuality: #C,
        dataClass: #ORGANIZATIONAL
    }
}
@Search.searchable: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.authorizationCheck: #NOT_REQUIRED
@Metadata.allowExtensions: true
@EndUserText.label: 'BOPF View for Repetitive Code'
define view I_MakeBankTransferTemplateTP as select from P_MakeBankTransferTemplate as a
 inner join I_CompanyCode   as c  on  a.PayingCompanyCode = c.CompanyCode

  left outer to one join I_HouseBankAccountLinkage as _PayingHouseBank on a.PayingCompanyCode = _PayingHouseBank.CompanyCode
                                                            and a.PayingHouseBank = _PayingHouseBank.HouseBank
                                                            and a.PayingHouseBankAccount = _PayingHouseBank.HouseBankAccount
                                                                                               

  left outer to one join I_BankAccount as _PayingBankAccount  on _PayingHouseBank.BankAccountInternalID = _PayingBankAccount.BankAccountInternalID
                                                              

  left outer to one join I_HouseBankAccountLinkage as _PayeeHouseBank on a.PayeeCompanyCode = _PayeeHouseBank.CompanyCode
                                                            and a.HouseBank = _PayeeHouseBank.HouseBank
                                                            and a.HouseBankAccount = _PayeeHouseBank.HouseBankAccount                                                           

  left outer to one join I_BankAccount as _PayeeBankAccount  on _PayeeHouseBank.BankAccountInternalID = _PayeeBankAccount.BankAccountInternalID                                                           
                                                                                                                   
  
  association [1..1] to I_CompanyCode   as _PayingCompanyCode  on  $projection.PayingCompanyCode = _PayingCompanyCode.CompanyCode
  association [1..1] to I_CompanyCode   as _PayeeCompanyCode   on  $projection.PayeeCompanyCode  = _PayeeCompanyCode.CompanyCode
  association [0..1] to I_PaymentMethod as _PaymentMethod      on  $projection.Country   = _PaymentMethod.Country
                                                               and $projection.PaymentMethod = _PaymentMethod.PaymentMethod

{

   key RepetitiveCodeFlowID,
  
   @Search.defaultSearchElement: true
   a.RepetitiveCode,
    @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
    }  
   @Search.defaultSearchElement: true
   a.PayingCompanyCode,
   
   @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
    }
    
    @Search.defaultSearchElement: true
    _PayingBankAccount.BankAccountNumber as PayingBankAccount,
   
    @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
    }
    @Search.defaultSearchElement: true
    _PayingHouseBank.BankAccountInternalID as PayingBankAccountInternalID,
   
    @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
    }  
//     _PayingAccount.description as PayingBankAccountDescription,

    _PayingHouseBank.BankAccountDescription as PayingBankAccountDescription,

   @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
    }
    @Search.defaultSearchElement: true
    a.PayeeCompanyCode,
   @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
    }    
    @Search.defaultSearchElement: true
    _PayeeBankAccount.BankAccountNumber as PayeeBankAccount,
    
    @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
    }  
    _PayeeHouseBank.BankAccountInternalID as PayeeBankAccountInternalID,
    
    @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
    }   
    _PayeeHouseBank.BankAccountDescription as PayeeBankAccountDescription,   
    @ObjectModel.mandatory: true 
    @Search.defaultSearchElement: true
    a.PaymentMethod,
    
    @ObjectModel.mandatory: true  
    @Search.defaultSearchElement: true
    a.Currency,
   
    a.RepetitiveCodeReferenceText, 

    a.HouseBank,
    @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
    } 
    a.PayingHouseBank as PayingHouseBank,
    
    @ObjectModel: {
        enabled: 'EXTERNAL_CALCULATION',
        readOnly:  'EXTERNAL_CALCULATION',
        mandatory: 'EXTERNAL_CALCULATION'
    }
    a.PayingHouseBankAccount, 
    _PayingBankAccount.BankCountry as BankCountry,
    _PayingBankAccount.Bank as PayingBankKey,
   
    _PayeeBankAccount.Bank as PayeeBankKey,
    _PayeeBankAccount.BankCountry as PayeeBankCountry,

    a.PayeeHouseBank,   
    a.PayeeHouseBankAccount,    
    a.HouseBankAccount,
    c.Country,
    _PayingCompanyCode,
    _PayeeCompanyCode,
    _PaymentMethod
     
}