I_CompanyCodeVH

DDL: I_COMPANYCODEVH Type: view_entity BASIC Package: FIN_COMPANY_CODE_VDM

Company Code

I_CompanyCodeVH is a Basic CDS View that provides data about "Company Code" in SAP S/4HANA. It reads from 1 data source (t001) and exposes 21 fields with key field CompanyCode. It has 8 associations to related views. It is exposed through 1 OData service (UI_BANKACCOUNTREVIEW_MNG). It is used in 1 Fiori application: Manage Bank Account Reviews. Part of development package FIN_COMPANY_CODE_VDM.

Data Sources (1)

SourceAliasJoin Type
t001 t001 from

Associations (8)

CardinalityTargetAliasCondition
[0..1] I_Currency _Currency $projection.Currency = _Currency.Currency
[0..1] I_Country _Country $projection.Country = _Country.Country
[0..1] I_Language _Language $projection.Language = _Language.Language
[0..1] I_ChartOfAccounts _ChartOfAccounts $projection.ChartOfAccounts = _ChartOfAccounts.ChartOfAccounts
[0..1] I_FiscalYearVariant _FiscalYearVariant $projection.FiscalYearVariant = _FiscalYearVariant.FiscalYearVariant
[0..1] I_ChartOfAccounts _CountryChartOfAccounts $projection.CountryChartOfAccounts = _CountryChartOfAccounts.ChartOfAccounts
[0..1] I_ControllingArea _ControllingArea $projection.ControllingArea = _ControllingArea.ControllingArea
[0..1] I_CreditControlArea _CreditControlArea $projection.CreditControlArea = _CreditControlArea.CreditControlArea

Annotations (13)

NameValueLevelField
VDM.viewType #BASIC view
ObjectModel.dataCategory #VALUE_HELP view
ObjectModel.representativeKey CompanyCode view
ObjectModel.usageType.sizeCategory #S view
ObjectModel.usageType.dataClass #ORGANIZATIONAL view
ObjectModel.usageType.serviceQuality #A view
ObjectModel.modelingPattern #VALUE_HELP_PROVIDER view
Analytics.technicalName IFICC__VH1 view
AccessControl.authorizationCheck #NOT_REQUIRED view
Search.searchable true view
Consumption.ranked true view
Metadata.ignorePropagatedAnnotations true view
EndUserText.label Company Code view

OData Services (1)

ServiceBindingVersionContractRelease
UI_BANKACCOUNTREVIEW_MNG UI_BANKACCOUNTREVIEW_MNG V2 C1 NOT_RELEASED

Fiori Apps (1)

App IDApp NameTypeDescription
F7510 Manage Bank Account Reviews Transactional With this app, you can create, start and monitor the bank account review process.

Manage Bank Account Reviews

Business Role: Cash Management Specialist

With this app, you can initiate, monitor, and control your (periodic) bank account reviews to ensure the correctness and completeness of bank account master data. You split the review of the bank accounts for a specific reference date into different review areas tailored to the responsible reviewers. For each review area, you take a snapshot of the bank account master data to be reviewed. This snapshot of bank account data is stored in the app and used during the review. When you start the review for a review area in this app, a workflow assists reviewers in conducting the bank account review for the review area. The reviewers perform the check in their My Inbox - All Items app, but you can monitor the progress of bank account review for the review areas in the Manage Bank Account Reviews app to ensure timely completion and troubleshooting during the review process. When the bank account review is complete, you can set the bank account review to Completed. For more information, see also Advanced Bank Account Review Process.

Key Features: Creation of bank account reviews and the review areas you require. In the review areas, you define the bank account selections and assign the reviewers. For more information, see also Initiate Bank Account Review. Copy bank account reviews Instead of creating a bank account review from scratch, you can also create a bank account review by copying an existing bank account review. The data of the existing bank account review, such as the review areas including the bank account selections and reviewers, are copied. In this way, you only need to enter the header data of the review, such as the review ID, the review description, and the reference date. When the bank account review is created, you can make any necessary changes to the copied data of the bank account review and the review areas. Take a snapshot of the bank account master data to be reviewed for a review area. The snapshot can be deleted all the while the review hasn't been started. Note The snapshot is stored and displayed on the Bank Account Snapshot tab of the review area in the Manage Bank Account Reviews app. When the review is started, the snapshot data is also available in the workflow task of the reviewers in the My Inbox - All Items app (F0862). When the bank account review is completed, the reviewed data is still available, for example, for external auditors. Start and monitor the reviews of the review areas. Note It is possible to stop the review as long as the first reviewer has not yet approved or rejected the bank account data in the My Inbox - All Items app. Set the bank account reviews to Completed when all bank accounts have successfully passed the review process. In this case, the correctness and completeness of the bank account master data is confirmed and the review is completed. Note If reviewers find errors in the master data, they must reject the snapshot data during the review. The review process is stopped, and the review area fails the review. In this case, the errors in the master data need to be corrected. Afterwards, within the bank account review, a new review area is created for these bank accounts, a new snapshot of the corrected bank account master data is taken, and the review process is started again. Overview table of existing bank account reviews SAP delivers a default workflow for the workflow scenario WS48000097 for execution of bank account reviews. The default workflow allows up to five reviewers to be assigned to each review area. The Manage Bank Account Reviews app is updated automatically with the review results, and the Workflow tab in the app allows the initiator to navigate to the status information of the workflow task. The change document object FCLM_BAR is used to log changes to the reviewers in the bank account review areas. The data destruction object allows you to destroy the data of completed bank account reviews after the retention period.

Fields (21)

KeyFieldSource TableSource FieldDescription
KEY CompanyCode t001 bukrs
CompanyCodeName t001 butxt
ControllingArea tka02 kokrs
CityName t001 ort01
Country t001 land1
Currency t001 waers
Language t001 spras
ChartOfAccounts t001 ktopl
FiscalYearVariant t001 periv
Company t001 rcomp
CreditControlArea t001 kkber
CountryChartOfAccounts
FinancialManagementArea t001 fikrs
_ControllingArea _ControllingArea
_Country _Country
_Currency _Currency
_Language _Language
_ChartOfAccounts _ChartOfAccounts
_FiscalYearVariant _FiscalYearVariant
_CreditControlArea _CreditControlArea
_CountryChartOfAccounts _CountryChartOfAccounts
@VDM.viewType: #BASIC

@ObjectModel: { dataCategory: #VALUE_HELP,
                representativeKey: 'CompanyCode',
                usageType.sizeCategory: #S,
                usageType.dataClass: #ORGANIZATIONAL,
                usageType.serviceQuality: #A,
                supportedCapabilities: [#VALUE_HELP_PROVIDER, #SEARCHABLE_ENTITY],
                modelingPattern: #VALUE_HELP_PROVIDER }
@Analytics.technicalName: 'IFICC__VH1'
@AccessControl.authorizationCheck: #NOT_REQUIRED

@Search.searchable: true
@Consumption.ranked: true
@Metadata.ignorePropagatedAnnotations: true

@EndUserText.label: 'Company Code'
define view entity I_CompanyCodeVH as select from t001  // direct select from T001 as field f_obsolete to be used in where condition

left outer to one join tka02 on tka02.bukrs = t001.bukrs
left outer to one join P_UserParameter
//  on t001.mandt = P_UserParameter.mandt 

  on P_UserParameter.UserParameter = 'F_SHOW_OBSOLETE_T001'
  
//  association [0..*] to I_ChartOfAccountsText      as _ChartOfAccountsText on   $projection.ChartOfAccounts = _ChartOfAccountsText.ChartOfAccounts

//  association [0..*] to I_ChartOfAccountsText      as _CountryChartOfAccountsText on   $projection.CountryChartOfAccounts = _CountryChartOfAccountsText.ChartOfAccounts

//  association [0..1] to I_ControllingArea      as _ControllingAreaText on   $projection.ControllingArea = _ControllingAreaText.ControllingArea

//  association [0..*] to I_CreditControlAreaText      as _CreditControlAreaText on   $projection.CreditControlArea = _CreditControlAreaText.CreditControlArea

  // ]--GENERATED

  association [0..1] to I_Currency            as _Currency               on $projection.Currency = _Currency.Currency
  association [0..1] to I_Country             as _Country                on $projection.Country = _Country.Country
//  association [0..1] to I_Address             as _Address                on $projection.addressid = _Address.AddressID

  association [0..1] to I_Language            as _Language               on $projection.Language = _Language.Language
  association [0..1] to I_ChartOfAccounts     as _ChartOfAccounts        on $projection.ChartOfAccounts = _ChartOfAccounts.ChartOfAccounts
  association [0..1] to I_FiscalYearVariant   as _FiscalYearVariant      on $projection.FiscalYearVariant = _FiscalYearVariant.FiscalYearVariant
  association [0..1] to I_ChartOfAccounts     as _CountryChartOfAccounts on $projection.CountryChartOfAccounts = _CountryChartOfAccounts.ChartOfAccounts
  association [0..1] to I_ControllingArea     as _ControllingArea        on $projection.ControllingArea = _ControllingArea.ControllingArea
  association [0..1] to I_CreditControlArea   as _CreditControlArea      on $projection.CreditControlArea = _CreditControlArea.CreditControlArea
//  association [0..1] to I_FieldStatusVariant  as _FieldStatusVariant     on $projection.fieldstatusvariant = _FieldStatusVariant.FieldStatusVariant

//  association [0..1] to I_Globalcompany       as _GlobalCompany          on $projection.Company = _GlobalCompany.Company

//  association [0..*] to I_CompanyCodeHierNode as _CompanyCodeHierNode    on $projection.CompanyCode = _CompanyCodeHierNode.CompanyCode  

 {
  @ObjectModel.text.element: ['CompanyCodeName']
  @Search.defaultSearchElement: true
  @Search.fuzzinessThreshold: 0.8
  @Search.ranking: #HIGH
  key t001.bukrs    as CompanyCode,
  @Semantics.text: true
  @Search: { defaultSearchElement: true, ranking: #LOW }
  @Search.fuzzinessThreshold: 0.8  
  t001.butxt    as CompanyCodeName,
  @ObjectModel.foreignKey.association: '_ControllingArea'
  @Consumption.valueHelpDefinition: [ { entity:  { name:    'I_ControllingAreaStdVH', element: 'ControllingArea' }
                                        }]
  @Search: { defaultSearchElement: true, ranking: #LOW }
  tka02.kokrs   as ControllingArea,
  @Search: { defaultSearchElement: true, ranking: #LOW }
  t001.ort01    as CityName,
  @Search: { defaultSearchElement: true, ranking: #LOW }
  @ObjectModel.foreignKey.association: '_Country'
  t001.land1    as Country,
  @Search: { defaultSearchElement: true, ranking: #LOW }
  @ObjectModel.foreignKey.association: '_Currency'
  t001.waers    as Currency,
  @ObjectModel.foreignKey.association: '_Language'
  t001.spras    as Language,
  @Search: { defaultSearchElement: true, ranking: #LOW }
  @ObjectModel.foreignKey.association: '_ChartOfAccounts'
  t001.ktopl    as ChartOfAccounts,
  @Search: { defaultSearchElement: true, ranking: #LOW }
  @ObjectModel.foreignKey.association: '_FiscalYearVariant'
  t001.periv    as FiscalYearVariant,
  @Search: { defaultSearchElement: true, ranking: #LOW }
  t001.rcomp    as Company,
  @ObjectModel.foreignKey.association: '_CreditControlArea'
  t001.kkber    as CreditControlArea,
  @ObjectModel.foreignKey.association: '_CountryChartOfAccounts'
  cast(t001.ktop2   as fis_ktop2 preserving type) as CountryChartOfAccounts,
  t001.fikrs    as FinancialManagementArea,
 
  @Consumption.hidden: true 
  _ControllingArea,
  @Consumption.hidden: true  
  _Country,
  @Consumption.hidden: true
  _Currency,
  @Consumption.hidden: true
  _Language,
  @Consumption.hidden: true
  _ChartOfAccounts,
  @Consumption.hidden: true
  _FiscalYearVariant,
  @Consumption.hidden: true
  _CreditControlArea,
  @Consumption.hidden: true
  _CountryChartOfAccounts
  
} where P_UserParameter.UserParameterValue = 'X' or t001.f_obsolete <> 'X'