The Implementation Guide (IMG) - SAP PM

The SAP R/3 Implementation Guide, often referred to as the IMG, is where the R/3 system is configured for the requirements of a company. There are two possible “levels” of the IMG:

SAP Reference IMG
The SAP Reference IMG provides all of the possible configuration steps provided by SAP, regardless of whether they are required or desired. The Plant Maintenance module could, in fact, be configured in two to three days, but without regard to any requirements or integration with other modules, and by accepting many of default settings provided by SAP, whether suitable or not.

Project IMG
One or more Project IMG's can be created as subsets of the Reference IMG. It is sometimes preferable to minimize the number of Project IMG's in order to centralize management and documentation of the projects. However, as discussed later, it may be preferable to create separate Project IMG's to provide a more thorough checklist for each configuration team.

Enterprise IMG
The Enterprise IMG, which provided an intermediate reduction of the IMG, was removed as of SAP R/3 version 4.6. While it is possible to configure the system through the SAP Reference IMG, it is not advisable to do so during an implementation project, since a Project IMG allows for some project management, documentation, and control over the configuration process. Once the initial implementation project has been completed, minor changes are better suited to the SAP Reference IMG.

It may be beneficial to create a separate project for a Plant Maintenance implementation in the project area of the Implementation Guide (IMG). Having the R/3 system generate a project specifically for PM will provide a thorough checklist of all of the configuration points that affect Plant Maintenance, including configuration steps outside of the Plant Maintenance section of the IMG. Some of the resulting steps may be configured already, may be configured by another module’s configuration team, or they may still need to be configured. However, having all of the relevant configuration steps in the list makes it less likely that any will be overlooked and may help with some of the integration points with other modules.

Before attempting to create a Project IMG, determine whether one has already been created for that purpose. There may be reasons at a project management level for not creating a Project IMG, so obtain agreement from the project manager(s) before attempting to create one.

If a Project IMG is created for Plant Maintenance, it will include configuration steps that are outside of the Plant Maintenance module. Some of those configuration steps are normally the responsibility of others and should remain so. They are included primarily to indicate that those configuration steps affect the Plant Maintenance module in some way. Depending on other modules that have been configured, are being configured, or are about to be configured, there are few steps outside of the Plant Maintenance module itself that need to be configured by the Plant Maintenance team.

The Implementation Guide (IMG) can be found through transaction code SPRO or by following the menu path Tools Customizing IMG Edit Project.

The Menu Path to the Implementation Guide (IMG)

The Menu Path to the Implementation Guide (IMG)

Note that the menu path displayed aboveshows the transaction codes as well as the description of each transaction. For example, the transaction code “SPRO” is displayed next to the description “Edit Project.” The display of the transaction codes can be turned on or off through the menus at the top of the screen (not shown in Figure above). To do so, follow the menu Extras Setting sand check or uncheck the Display technical names checkbox. The first two other options in the Settings window are self-explanatory; while the option Do not display screen simply removes the “picture” that may be displayed alongside the menu. Checking this box is not recommended in cases where the “picture” may also contain information (the picture image can be changed and, in some cases, it may be used to provide information regarding the system).

Once in the transaction code (SPRO or Edit Project) mentioned above (or following the menu path shown in Figure 1), to create a Project IMG, follow the further menu path Go to Project Management. When in the “Customizing: Project Administration” screen, click on the “Create Project”button (on the left) and, when prompted, provide an ID for the project. On the following screen, provide a name for the project. Depending on the level of actual project management to be performed with this functionality, there are additional options available in the tabs on this screen. For example, the ability to define status codes that can be used to indicate the status of each step of the project can be defined here. Save the project. On the “Scope” tab, although there is an option to specify the IMG steps to include if desired, click the “Generate Project IMG” button at the bottom of the screen.

A project IMG would be used primarily to ensure that each required step has been addressed, has been documented, and the status of each step is maintained and tracked. The project IMG provides a measure of tracking and control. The Reference IMG would be used when there is no need to plan, control and track which steps are to be configured or have been configured. For example, there is no need to record the steps’ status, or to document the steps configured within the SAP R/3 system itself.

Although time-consuming, it is often a good idea to keep a log, outside of the SAP system, regarding which IMG steps have been configured and how, particularly during an implementation project. The initial configuration of a system is often performed first in a “sandbox” system (client), so that different types of configuration can be tested. Record in the log the “final” configuration performed. Once the intended final configuration is determined, the configuration is then repeated manually, with the assistance of previously recorded log, in the “clean” client as previously discussed. This client becomes the source from which to transport the “good” configuration to the production/productive client. The benefits of having created such a log willmore apparent in time.

Transports and Change Requests
As discussed earlier, SAP “systems” are organized into “instances, ” each of which contains one or more “clients.” Examples of instances are DEV (for development and configuration), QAS (for quality assurance) and PRD (for the productive system). There may be more instances, but rarely less.

Each instance (DEV, QAS, PRD, etc.) may consist of more than one client. The clients are typically identified by a three-digit number, such as 100, 110, 120, 200, etc. Each client within an instance can share SAP R/3 programs, but will have its own transactional data. Some configuration will affect all of the clients in an instance, but some configuration will only affect the client in which it has been performed.

Each unique combination of instance and client is identified as “DEV100, ” “DEV 120” and “QAS100, ” for example. Since the productive/production instance normally contains only one (accessible) client, it is often referred to simply as “PRD.” Instances and clients will be discussed again later.

In order to transport configuration changes to another SAP instance, the changes must be included in a “change request.” One or more configuration changes can be included in the same change request, or each configuration change can have its own change request. Consult with the project team and/or the basis team to determine the best approach for transporting change requests. If each configuration change generates its own change request, many change requests can be time consuming for the basis team (or the person/ group responsible for the correction and transport system (CTS)) to transport. However, many configuration changes included in the same change request can make it difficult or impossible to exclude a portion of the change request if later required.

Once a configuration step has been completed, when attempting to save the changes, a prompt, “Prompt for Customizing request, ” will appear. This prompt provides the opportunity to include the configuration change in an existing change request or to create a new change request for the change. To create a new change request, click on the “Create request” button and provide a description of the change. Of course, if the change request will include more than one configuration change, the description should reflect that. It is a good idea to prefix the description with the two character designation of the module being configured. For example, begin the change request description with “PM ” and continue with a description of the configuration change(s) . It is not helpful to anyone if the description is “Change request, ” for example.

The “Create Request” window.

The “Create Request” window.

NOTE: In some instances, the “Prompt for Customizing Request” window will not appear. This can happen if a change request has already been created for this step in the same session, if the object is not transportable, or if a change request must be manually created. If it is necessary, to manually create a change request, use the menu path Table View → Transport from the appropriate configuration screen.

Depending on the project, it may also be necessary to provide a “Target” system/ client in the “Create Request” window. If not instructed to do so, leave the “Target” field blank.When the change request is saved, record the change request number (assigned automatically after clicking the “Save” button) along with the description. Since the first transport of the change request will usually be to a test client, the change request will be required to be transported again to a different client. A list of change requests may be useful for this purpose.

Now that the configuration change is included in a change request, the change request must be released before it can be transported. Since this function is sometimes regarded as a security function, the responsibility of releasing change requests, and the tasks within them, may be assigned to the person who performed the configuration or someone else. Determine the proper procedure.

Releasing change requests and the tasks within them can be performed outside the IMG by using the transaction SE10 or by following the menu path (outside of the IMG) Tools Customizing IMG Transport Organizer (Extended View). For normal configuration steps not yet released that have been performed by the same person, the default settings on the screen are usually adequate. Click the “Display” button at the bottom of the options. The list of change requests created by this user will be displayed.

Although as noted previously, changes to the default setting are not usually required in order to view change requests that have not yet been transported. However, in order to view change requests that have already been transported to at least one other instance, the “Released” checkbox must be checked.

The “Transport Organizer” window.

The “Transport Organizer” window.

The “Transport Organizer: Requests” window.

The “Transport Organizer: Requests” window.

Before the change request can be released, each task within the change request must be released. Click the plus sign (+) to the left of the appropriate change request to expand the folder and display the tasks within the change change request where the plus sign (+) has been clicked and the task is now displayed. It is not necessary to click any further plus signs unless viewing the configuration data changed is desired. Click once on the task (it will say “Customizing Task” to the right) to be released.

Click the “Release” button on the button bar near the top of the screen. Depending on how the Correction and Transport System is defined, it may be necessary to save any required comments/reasons on a text screen, saving the text and exiting from the text screen before continuing. The task (not the change request itself ) should now display a check mark beside it.

Back on the screen as displayed,click once on the change request itself (it will have the description previously entered beside it ,the change request with the task displayed is “PM Created authorization key for user statuses.”). Click the “Release” button again.

Once again, the above steps may or may not be accessible, depending on whose role it is to release tasks and change requests. In some cases, the task may have to be released by someone with authorization to do so, while in other cases the task can be released by the owner, but the change request itself may have to be released by someone with the authorization to do so. In still other cases, the owner of the change request /task(s) may have the authorization to release both.

When the above steps have been completed, the change request(s) can then be transported to another system (instance). This is most often the responsibility of the basis team and there is often an approval process before the basis team can perform the transport, particularly into a productive/production client. Note that transports are not reversible and cannot be “undone, ” except by changing the configuration once again in the original system, creating a change request, and transporting the change request to the target system.

Usually, change requests are transported to a quality assurance type of environment (instance) initially. After the appropriate testing, including integration testing, has been satisfactorily performed in that instance, the same change request can then be transported to the production instance and any other instances and clients in which it is required.

For example, if the configuration/development instance is named DEV and the client for the source of “clean” configuration is 100, change requests will be transported from DEV100. The first transport of the change request might be to QAS100 (the quality assurance instance) for testing (as discussed before, if the change was client independent or cross-client, it will be transported to all of the clients in QAS). After successful testing, the change request can then be transported to the PRD instance (PRD100, for example). It is recommended at this point that the change request also be transported to any other instances and clients in order to maintain consistency. By doing so, it is more certain that if a test is performed acceptably in one instance/ client, it will be performed acceptably in the other instances/clients.

In summary:

  • Determine what configuration works in a “sandbox” instance/client (DEV200, for example)
  • “Good” configuration is performed again in a “clean” instance/client (with little or no data. DEV100, for example).
  • Configuration is transported from the “clean” instance/client(DEV100) to a “test/quality assurance” instance/client (containing. QAS100, for example). Changes are made to the“sandbox” (DEV200) and “clean” (DEV100) clients if required,transported to the “test” client (QAS100) and re-tested.
  • Configuration is transported from the “clean” instance/client (DEV100) to the “productive” client (PRD100, for example).
  • Transports should not be performed from the “test” (quality assurance) instance/client to the “productive” instance/client.
  • Direct changes to configuration should not be permitted in either the “test” (QAS100) or the “productive” (PRD100) instances/clients. All configuration changes to these instances/ clients should be performed through transports from the “clean” (DEV100) instance/client. If configuration changes are permitted in QAS100 or PRD100, inconsistencies (which lead to more serious problems) are sure to occur.

Back to the Implementation Guide PlantMaintenance Configuration
For the Plant Maintenance focus of this discussion, although the company structure, controlling area(s), chart of accounts, and so on must be configured and set up before the PM module can be used properly, those items will not be covered here. Before embarking on Plant Maintenance-specific configuration in the IMG, there are some other configuration items that must be configured and/or checked first:

One or more plants appropriate for a company’s operations must be defined. In the Plant Maintenance module, these plants are often referred to as Maintenance Plants. It is best to work with those configuring other modules to determine what plants must be defined in R/3. For Plant Maintenance purposes, a plant can be any, usually static, location where maintenance can be performed. Groups of buildings at one facility are usually together referred to as one plant, but there may be exceptions.

Planning Plants
In the Plant Maintenance module, these plants may also be referred to as Maintenance Planning Plants. Planning Plants are “chosen” from the list of Plants defined previously as a plant where maintenance planning is carried out. If maintenance planning, including materials planning, is performed at every plant, then every plant will be also be defined as a Planning Plant. In some cases, more centralized planning for several plants will be performed at one plant. In this case, the plant where maintenance planning is performed will be defined as a Planning Plant, but those plants where maintenance planning is not performed will not be defined as Planning Plants.

Assignment of Planning Plants
Once the plants and planning plants have been defined, the assignment of maintenance plants to planning plants must be done. Beside each maintenance plant listed in the configuration step in the IMG, the appropriate planning plant is entered or chosen. In the case where each plant performs its own planning, the same planning plant number will be entered next to each maintenance plant number. In the case of centralized planning, the appropriate planning plant number must be entered for every maintenance plant.

Security: Authorizations and Roles
The responsibility for security, both setup and maintenance, in the SAP R/3 system is usually assigned to one or more individuals whose sole responsibility is security. If this is the case, those individuals will not likely be familiar with the Plant Maintenance module and will require some information in order to set up security for the Plant Maintenance module. It is not common for those responsible for configuring or using a particular module to also set up security for that module or other modules. Some of the terminology used in SAP R/3 security includes:

Transaction Codes
There is a transaction code associated with each screen in the R/3 system. Some screens may share the same transaction code and there are some screens that are not accessible by menu paths, in which case the transaction codes must be used to access the screens. The transaction code for a particular screen may be found, in versions prior to 4.5, from the menu path System Status, while later versions also make it available by right clicking with the mouse on the status bar near the bottom of the screen. Also in later versions, the transaction code may be displayed by default on the status bar.

An authorization is comprised of one or more transaction codes. It may be useful to consider the job requirements of a particular position when defining authorizations. For Plant Maintenance purposes, an operator may require access to, and be restricted from, different transactions than a maintenance planner, for example. Grouping transaction codes into authorizations by job responsibility seems to make sense in most cases.

A role will consist of one or more authorizations, giving some measure of flexibility in building an authorization/group hierarchy, as desired. It is possible to include all of the operators’ transaction codes in the authorization intended for maintenance planners, and then add the additional functions required, for example. It is also possible to make the transactions in the maintenance planners’ authorization mutually exclusive from the transactions in the operators’ authorization, and then assign both authorizations to an activity group intended for maintenance planners. In addition, composite roles can be defined, which consist of authorizations contained in other roles. In SAP versions prior to 4.5, profiles are used in a similar fashion to roles.

While there is plenty of room for flexibility in setting up security, it requires some planning. It may help to use a spreadsheet with Plant Maintenance-related transaction codes down the left side (because there will be many more transaction codes than roles) and job responsibilities (roles) across the top. The matrix can be used to determine which role requires access to which transactions. The ASAP methodology provides an excellent start to the creation of this matrix through the functionality of the BPML (Business Process Master List). Keep in mind, while creating the matrix, that some people will require access to change data in a transaction and other people will require “read only” access to the data. Specify in the matrix which type of access each role requires for each transaction.

Another matrix that will be helpful is one that represents which users will be assigned to which roles. Through the two matrices, a basis is formed for determining exactly which users have access to which SAP transactions. In a multi-plant environment, discuss which, if any, roles require access to another plant’s data. In addition, it is possible to impose security below the plant level. For example, data relevant to one maintenance planner may not be accessed by another maintenance planner. In addition, security can even be set at the status level. For example, if a piece of equipment has user status indicating that it has been scrapped, only specific people may then change that equipment master record. Determine whether the effort required to maintain security at the more granular levels is worth the benefit. If so, determine at what levels, including plants and planner groups, authorizations will be defined.

When the matrix is satisfactory, it can be used as a starting point to create authorizations and profiles for Plant Maintenance by those responsible for security. The more complicated the authorization and role hierarchy, the more effort will be required to maintain security. Authorizations and roles should be kept as simple as possible while meeting the security requirements for a particular implementation.

When those responsible for security have completed the authorization setup for the Plant Maintenance module, testing must be performed to ensure that the authorizations have been defined properly. Ideally, test accounts can be provided, one for each defined role. Testers would log on to those accounts and determine whether they can access transactions that the role should be able to access as well as whether they can access transactions that the role should not be able to access. If authorizations are defined for plant-level security, planner group security, or any other authorization level, additional testing is required at the appropriate levels. For example, can a planner from one plant gain access to another plant’s work orders? Properly testing security can be a time-consuming task. Plan ahead for the required time or accept the risk associated with incomplete testing.

While the security-related information above can assist with the planning of authorizations and roles, the actual definition of such authorizations and roles can be found in other publications such as SAP Authorization System by IBM Business Consulting GM, Go to the SAP Knowledge Shop and find it in the Books section.

Engineering Change Management
Engineering change management provides a more formal method of reference to changes made, or changes that will be made, to materials, bills of materials, documents, or task lists. Although there are other object types to which engineering change management applies, such as classification objects, the same principles apply. This functionality is available to the various SAP R/3 Logistics modules, so co-ordination with the other logistics modules is recommended if this functionality is to be implemented.

While engineering change management is not required for a basic Plant Maintenance implementation, the importance of formal change tracking forma particular implementation should be considered. When the engineering change management functionality is used, change master records are used in the system. Change master records include such data as the type of object, possibly the date of the change, and the reason for the change. The definition and assignment of revision levels and sequences may be made. Engineering change management can be further formalized with the use of engineering change requests and/or engineering change orders. The SAP R/3 Online Documentation provides further information.

Number Ranges
Throughout the SAP R/3 system, there are many number ranges. Some of the defaults may be acceptable as SAP has provided, while other number ranges will need to be defined or adjusted.

A number range defines limits for the unique identifier for each item. In Plant Maintenance, for example, each piece of equipment (among other items) has a unique identifier, called Equipment Number. A number range for equipment numbers must be defined in order to identify valid equipment numbers. A number range in SAP R/3 can be defined as an internal number range or an external number range.

Internal Number Range
An internal number range is numeric only, characters are not permitted, starting from a specific number and ending at a specific number. Internal numbers, when used, are assigned to an item automatically by the system. The next available number is always used and no selection of numbers is possible by the system users. Note that there are technical conditions under which the next number(s) in sequence may be skipped, based on buffer settings. Basis personnel may need to adjust buffer settings if this may be a problem for a particular implementation.

External Number Range
An external number range can be numeric, alphabetic, alphanumeric, and may contain certain special characters (consult the SAP documentation). This can be useful in cases where specific values need to be assigned to items. However, there is no provision for displaying the next available “number, ” and some planning may be required for each location to have its own range. In general, this method of “smart numbering” is discouraged, since there are many other methods of finding objects in the SAP R/3 system. In some cases, however, it may be required.

Mixed Number Range
A mixed number range is available in some rare cases such as document management. This type of number range, when available, permits the user to provide a prefix in the number field, after which the system assigns a sequential number. If there is an inclination to use external (user specified) numbering, try to restrict it to more static data, such as equipment. For transaction-related data, such as work orders, it is often more beneficial to allow the system to assign the numbers.

Both internal and external number ranges can sometimes be active for the same items at the same time. In fact, it is possible, and in some cases preferable, to have more than one of each type of number range active at the same time, although it is not necessarily preferable to define internal and external number ranges for the same item. For example, different equipment categories can be assigned different number ranges. Alternatively, the equipment categories could share the same number range or a combination could be defined where some equipment categories share a number range and others are assigned their own number range. Multiple number ranges could be used if there is a reliance on “smart” numbering where the number of an object shows the type/category of the object. As discussed in more detail below, the more number ranges that are defined, the more consideration must be taken to avoid running out of numbers in any of the ranges.

When planning a number range, take into consideration all possible scenarios that could affect the future demands on the number range. When defining a number range for work orders, for example, consider how many work orders are used at each location, how much the number of work orders is expected to increase, whether work orders will be used for new types of work, whether other locations will be added through expansion or acquisition, and so on. Define the number range to be large enough to accommodate any foreseeable circumstances.

When naming a number range, make the description as meaningful as possible, given the space available for the description, especially in the case of number ranges that are shared between modules, such as the order number range. It can also be helpful, if space is available in the description, to include the “from” and “to” numbers of that range. This makes it a little easier to see at a glance what number ranges have been set up.

Some number ranges are “shared” by more than one module and should be configured in co-operation with other modules. The most notable shared number range table is the number ranges for orders. While used in Plant Maintenance for work orders, the same number range table is also used by other modules, for example, CO (Controlling) for internal orders, SD (Sales and Distribution) for sales orders, PP for production orders, and so on. Do not delete or make adjustments to shared number ranges without knowing the effect on other modules.

While it is possible to transport number ranges to other instances (systems), it is not easy to do so and it is strongly discouraged. When changes to a number range are made, a warning to that effect normally appears. The main reason is that internal number range configuration also includes a current number, which enables the system to determine the next available number. One potential problem is that the current number on the source system (transporting from) is lower than the corresponding current number on the target system (transporting to). When the lower current number is transported, the system will then attempt to assign a “next” number that has already been used, with the possibility of corrupting the data. Number ranges should be configured manually on each instance (system).

Refer to the SAP documentation regarding the definition of each type of number range, paying particular attention to the reasons for creating additional number ranges. For example, it is generally not a good idea to create different work order number ranges for different plants.

The steps usually involved in defining number ranges are:

  1. Determine whether the number range is specific to Plant Maintenance or shared with other modules. Be considerate of other modules’ requirements, current and future, when a number range, such as that for orders, is shared.
  2. Determine the groups (separate number ranges) that will be required.
  3. Determine whether internal (system-assigned) or external (user assigned) number ranges will be required.
  4. Determine the ranges that are available for numbering and plan for the ranges to be defined.
  5. Determine the quantity of numbers required for each number range.
    Allow for that quantity and then add a substantial quantity more.
  6. Determine whether the types of objects should each have their own number range or whether they should share a number range. For example, does each equipment category require its own number range or can equipment categories share number ranges?
  7. Define the group(s) required to contain the number range(s).
  8. Define the number ranges, if more than one, non-consecutively. That is, leave space between each number range to accommodate the extension of a number range, if required in the future. If exceptionally good planning was used in determining the number ranges, of course leaving such space is optional.
  9. Assign the object types (equipment category, for example, if defining number ranges for equipment) to the appropriate group(s). This can be performed by double-clicking on the object type(s) (their color will change), checking the box beside the appropriate group, and then clicking on the Element/ Group button . Note that the object type equipment category code, for example will appear at first at the bottom of the screen (scrolling down may be required) in a “group” that may have the title “Not Assigned.”
  10. When saving number range configuration, a window will appear, containing information that number range configuration will not be transported automatically. As previously discussed, it is generally not a good idea to transport number ranges, although a transport can be initiated manually. If number ranges are transported, be completely aware of the numbering, particularly “current numbers, ” that will be affected by the transport.

As discussed previously, numbers may or may not be “buffered.” Buffering numbers causes several numbers, the exact number depending on the buffer settings, to be retrieved from the database in advance. Doing so can save some time in the long run, since the system does not have to access the database each time a number is required. It can also, in some cases, help to avoid delays caused by “locks” when people or programs attempt to access the same numbers at the same time. On the other hand, if numbers are buffered, they may be lost if the system stops running unexpectedly. For example, if the equipment number range is buffered to retrieve 10 numbers at once and the system stops unexpectedly after the first two pieces of equipment, numbered1 and 2, are saved, the next piece of equipment, when the system recovers, may be saved with the number 11.

If it is critical that numbers be sequential without gaps, ensure that buffering for that number range is turned off. If it is not critical that numbers be sequential without gaps, it may be beneficial to allow buffering. Buffering number ranges or turning buffering off is usually performed by the Basis team.

All rights reserved © 2020 Wisdom IT Services India Pvt. Ltd Protection Status

SAP PM Topics