Finance&Controlling (FICO)


The Financial Accounting (FI) module is the core module within the financials application. Almost all functionality that resides in the other financial application modules relies on the implementation of at least parts of the FI module. Financial Accounting is designed to provide financial information from an external view. The main FI components offer functionality for the general ledger, accounts receivables and accounts payables, asset management, a special ledger used to meet user specific requirements, funds management, and legal consolidations. The general ledger (G/L) houses the chart of accounts as well as the account balances and line items. The G/L tracks all transactional postings, such as inventory updates, sales revenues, bank accounts, and expenses. Accounts Receivable (AR) and Accounts Payable (AP) are subledgers of the G/L that support the processes involved with the collection of revenues and payments of expenses. Combined AR and AP facilitate maintaining customer or vendor records, account balances and line items, payments, clearing, advice notices, dunning, interest calculations, check releases, and over/underpayment management. The AR/AP information systems support reporting for due date breakdown, payment history, days sales outstanding, overdue items, and currency risk. Asset management is another subledger to the G/L that focuses on the management of the fixed assets in an organization. Asset management maintains the master records for the assets, special valuations, country-specific requirements, and four types of depreciation calculations, one of which is for cost depreciation. The special ledger functionality supports the ability to create other ledgers or subledgers for specific user requirements. Special ledgers can pull information from other modules and can support simplistic allocations. In addition to the ledgers and subledgers, FI contains functionality supporting funds management and legal consolidations. Funds management provides the capabilities to define planned revenues and expenses for the management areas, monitor these transactions as compared to available funds, and prevent exceeding the budget. Once all transactions have been completed, consolidations can be performed. Legal consolidations functionality supports providing consolidated financial information for companies and business areas. Business areas are utilized primarily for external reporting of business segments across companies.


The Controlling (CO) module is the symbiotic counter to the FI module and is designed to provide financial information from an internal managerial accounting view. To support this view of accounting, the CO module offers functionality for cost center accounting, activity-based costing, order and project accounting, product costing, and profitability analysis. Cost center accounting focuses on showing the expenses of the organization from a departmental view for the purpose of supporting responsibility accounting. Cost center accounting also supports the planning, budgeting, controlling, and allocation of departmental expenses. Additionally, many organizations desire to show the expenses of the organization within a process view. This process-oriented view is supported by the activity-based costing component. Within organizations, costs might be incurred to support events and overheadrelated projects. The order and project accounting capabilities of CO support planning, monitoring, capturing, and allocating the expenses related to these events. For production-related organizations, many of the cost centers capture expenses that later will be attributed to products to determine product costs. The product costing component of the CO module focuses on the creation of the standard product cost estimates, charging of overhead to production, capturing actual costs of production, calculating production variances, and settling production expenses to the appropriate profitability market segment. All of the expense objects —cost center, process, event or project, and products—allocate or settle costs to the profitability analysis component, which supports the generation of market profit and loss (P/L) statements at a gross and contribution margin level. The next section provides more details on the CO module components, especially for ABC.


ABAP Introduction

ABAP is a programming language developed by SAP for programming commercial applications in the SAP environment. Since the introduction of SAP NetWeaver, SAP also offers a programming environment for Java.

ABAP and SAP NetWeaver

In SAP NetWeaver, ABAP is the programming interface of the SAP NetWeaver Application Server ABAP. Prerequisite for the use of the ABAP programming language is the installation of an SAP system based on SAP NetWeaver Application Server ABAP. An SAP system of this type is based on a three-tier client-server architecture with presentation, application, and database layers.

  • The presentation layer is distributed on the workstations of individual users and represents the user interface of the ABAP-based SAP system ( SAP GUI or Web browser).
  • The application layer is realized by one or more application servers. The ABAP runtime environment contains the ABAP runtime environment in which ABAP programs are executed.
  • The database layer consists of a database system in which the central dataset of an ABAP-based SAP system is stored.

The main role of ABAP programs in the application layer is the processing and formatting of data from the database layer and its transfer to, and receipt of user input from the presentation layer.

Scope and application areas of ABAP

ABAP is a 4GL language developed specifically for the mass processing of data in commercial applications. It offers the following advantages in comparison to elementary languages in which these functions are stored in libraries:

  • Database access integrated into the language as Open SQL.
  • Performance optimization of database accesses integrated into the ABAP runtime environment through the use of SAP buffering.
  • Internal tables for dynamic storage and processing of tabular mass data in the working memory.
  • Concept of Online Transaction Processing (OLTP) integrated in the ABAP runtime environment, enabling several users to access the central database at the same time using the SAP LUW.
  • The language has an integrated interface to other programming environments via Remote Function Call.
  • The language has an integrated interface to XML.

The integration of these functions into the language is particularly advantageous for the static checkability and the performance of programs. In return, this means that ABAP also contains considerably more language elements than an elementary programming language.

Programming Model

ABAP supports a procedural object-oriented programming model that is based on subrountines and function modules, and from release 6.10, the programming model is based on classes and interfaces. Both models are interoperable.

Multilingual Capability

ABAP programs can be programmed completely independently of language. This is enabled by the extraction of language-specific program components from the source code, which are then reloaded during program execution according to the environment. A text environment determines the precise program behavior, for example the order in which text is sorted, at runtime. ABAP supports code pages, single-byte code, double byte code and from release 6.10, Unicode. For use in a Unicode system, a program must fulfill certain prerequisites and be identified as a Unicode program.