Dear SAP Community Member,
In order to fully benefit from what the SAP Community has to offer, please register at:
Thank you,
The SAP Community team.
Skip to end of metadata
Go to start of metadata

Functional Location in ABAP
If maintenance is to be set up properly at a company, it is necessary to structure the existing technical systems on the basis of technical objects. Functional Location is one of these technical objects used to structure the maintenance system
The functional location is an organizational unit within logistics that structures the maintenance objects of a company according to functional, process-related or spatial criteria. A functional location represents the place at which a maintenance task is to be performed.
Functional locations are elements of a technical structure (for example, functional units within a system). A functional location represents system area at which an object can be installed. The objects that can be installed at functional locations are called pieces of equipment in the R/3 System. You create functional locations hierarchically, and can also structure them based on the following criteria:

  • Functional          : Example: - Pumping Station, Drive Unit.
  • Process-related  : Example: - Polymerization, Condensing etc.
  • Spatial               : Example: - Hall, Location.

Each functional location is managed independently in the system, so that you can:

  • Manage individual data from a maintenance perspective for the object
  • Perform individual maintenance tasks for the object
  • Keep a record of the maintenance tasks performed for the object
  • Collect and evaluate data over a long period of time for the objectReference Functional Location
    A reference functional location is a tool that helps you to enter and manage functional locations. You can use a reference functional location when you have to create and manage several functional locations of the same kind in the system.
    You define and manage reference functional locations in their own master records. However, they do not represent functional locations that actually exist but are assigned to real functional locations as reference locations.
    The master record of a reference functional location contains entries that are valid for the functional locations assigned to it. This means that when you create functional locations using reference functional locations, you only need to enter data afterwards that is specific to each of the individual functional locations.
    You want to represent several similar clarification plants in the system as functional locations. To do this, first create a reference functional location that contains all the data that applies to all the clarification plants. Then create the master records for the individual clarification plants, referring to the reference functional location. You then only need to enter the data that is specific to each individual clarification plant in each master record.
    Structure Indicator
    Before you can create functional locations and reference functional locations in the system, you must define the structure you want to use for them. You do this with the help of structure indicators.
    You define the structure indicator in Customizing for Plant Maintenance under Create structure indicator for ref.funct.locs/funct.locs.
    Using structure indicators, you can:
  • Specify and monitor the generic structure of the functional location label
  • Portray the hierarchy levels within the functional location structure in the functional location label
  • Make use of the system's automatic functions for generating the structure when you create functional locations

The generic structure of the location label enables the system to determine a superior functional location and to copy specific data from it into the new functional location. However, this is only possible if the functional locations have been created strictly according to the top-down principle, in other words starting with the uppermost functional location.
After you have created a functional location, the system no longer determines the location hierarchy of this particular location from its label, but from the entries in the SupFunctLoc. fields of the individual master records.
Labeling Systems 
A functional location is identified by its label. You can assign several labels to each functional location. You define the label that you work with the most as the primary label and all others as alternative labels. In this way you can define a primary and as many alternative labeling systems as you require for a functional location structure.
Primary Labeling System
You should define the labeling system that the majority of users work with as the primary labeling system. When creating or processing functional locations, a user can select a labeling system and save it in his or her own user profile if necessary. If a user has not saved a labeling system in his or her user profile, the system proposes the primary labeling system.
A label must be unique within a labeling system. This means that it can only exist once. You can also define that a label must be unique across all labeling systems.
Structure of the System 
If you want to create, change or display functional locations or reference functional locations, you can display the whole hierarchy, or just parts of it, using the structure overview. This enables you to obtain an overall picture of the structure that you are processing or want to process.
You can find the structure overview:

  • In the initial screen, the PM data screen and the location data screen of the location master record
  • When using a matchcode to help you enter a location

You can select an individual master record for processing from the structure graphic. You can display the location structure in two different ways on the screen:

  • As a structure graphic
  • As a structure list

Structure Graphic
The structure graphic provides you with a graphic overview of the structure, that you can break down further. You can select individually the fields you want to display for the functional locations and reference functional locations.
Structure List
The structure list provides you with a graphic overview of the structure in list form, that you can break down further. You can select individually the fields you want to display for the functional locations and reference functional locations.
Technical Aspect (Using ABAP)
Important Tables
IFLOT    Functional Location (Table).
IFLOTX Functional location: short texts.
IRLOTX Reference functional location: short texts.
TAPL     Allocation of task lists to functional locations.
IFLOS    Important Table used in case of alternative labeling.
 Important Function Modules
BAPI_FUNCLOC_CHANGE: Changes the master data of an individual functional location.                                                                                                                
BAPI_FUNCLOC_CREATE: Enables you to create an individual functional location.
                                                                                      BAPI_FUNCLOC_GETDETAIL: Read the master data of an individual functional location.                                                                                              
BAPI_FUNCLOC_GETLIST: This BAPI enables you to read all functional locations that meet the selection conditions using the selection criteria
BAPI_FUNCLOC_GETSTATUS: Fetches the system and user status of an existing functional location.
BAPI_ALM_NOTIF_LIST_FUNCLOC:  Gives the list of the functional Location which is assigned to a notification.
BAPI_EQUI_DISMANTLE: To install a Piece of equipment at a functional location or superior equipment.
BAPI_EQUI_INSTALL: Installing a piece of equipment at a functional location or superior equipment.
 Available User Exits
ILOM0001:  Additional checks before saving a functional location.
ILOM0002:  User exit when checking structure of location numbers.             IEQM0001:  Checks for equipment installation at functional locations.