You are on page 1of 19

User Exits For Plant Maintenance and Service Managemant Page: 1

Menu Path: Tools>ABAP/4 Workbench>Utilities>Enhancements>Definition (Transaction SMOD)

Table Of Contents:
1. BATCH INPUT FOR PM (IBIP1).........................................................................................................................
1.1 BATCH-INPUT PLANT MAINTAINANCE:..............................................................................................................
2. CUSTOMER SERVICE (ICSV)............................................................................................................................
2.1 ICSV0001 DISPLAY OF GEOGRAPHIC LOCATION DATA.......................................................................................
2.2 ICSV0002 SM NOTIFICATION: AUTOMATIC TASK DETERMINATION FOR SERVICE NOTIFICATIONS.....................
2.3 ICSV0003 NOTIFICATION: PARTNER SELECTION...............................................................................................
2.4 ICSV0004 CHECK PM OBJECT AND DISPLAY OBJECT INFORMATION................................................................
2.5 ICSV0005 SM: WARRANTY CLAIM REASON FOR REJECTION (RESOURCE RELATE BILLING)............................
2.6 V45W0001 SM: FORWARD CONTRACT DATA TO ITEM (VA)...........................................................................
3. EQUIPMENT MANAGEMENT (IEQM)............................................................................................................
3.1 IEQM0001 EQUIPMENT: INSTALLATION OF EQUIPMENT AT FUNCTIONAL LOCATION.........................................
3.2 IEQM0002 EQUIPMENT: HIERARCHY ASSIGNMENTS.........................................................................................
3.3 IEQM0003 EQUIPMENT: CHECKS AT EQUIPMENT SAVE.....................................................................................
4. PLANT MAINTENANCE ORDER PROCESSING (IWO1).............................................................................
4.1 CNEX0013 PM ORDER: DEFAULT ITEM CATEGORY COMPONENT/MATERIAL.................................................
4.2 IWO10001 PM ORDER: CREATE A PM SUB-ORDER...........................................................................................
4.3 IWO10002 PM ORDER: CHECKS FOR ORDER RELEASE......................................................................................
4.4 IWO10004 PM ORDER: CHECK AT TECHNICAL COMPLETION............................................................................
4.5 IWO10005 PM ORDER: PROFIT CENTRE DETERMINATION.................................................................................
4.6 IWO10006 PM ORDER: DEACTIVATION OF MENU FUNCTIONS...........................................................................
4.7 IWO10007 PM ORDER: PERMIT EXPANSION......................................................................................................
4.8 IWO10008 PM ORDER: DETERMINE TAX JURISDICTION....................................................................................
4.9 IWO10009 PM ORDER: CHECK AT TIME 'SAVE'.................................................................................................
4.10 IWO10010 PM ORDER: DETERMINATION OF WBS...........................................................................................
4.11 IWO10011 PM ORDER: COMPONENT SELECTION..............................................................................................
5. MAINTENANCE ORDER HISTORY (IWO2)...................................................................................................
5.1 IWO10012 PM ORDER: DATE DETERMINATION WHEN SETTING/CHANGING PRIORITY......................................
5.2 IWO20001 PM ORDER: USER SELECTION OPTIONS FOR TASK LISTS..................................................................
6. WORK ORDER CYCLE (IWOC).....................................................................................................................
6.1 IWOC0001 CREATE PM/SM NOTIFICATION: DETERMINE REFERENCE OBJECT...............................................
7. NOTIFICATION (QQM).....................................................................................................................................
7.1 QQMA0001 PM NOTIFICATION: ADDITIONAL HEADER DETAIL.......................................................................
7.2 QQMA0002 PM NOTIFICATION: ADDITIONAL AUTHORIZATION CHECKS.........................................................
7.3 QQMA0003 PM NOTIFICATION: "USER DATA" FUNCTION IN "GOTO" MENU...................................................
7.4 QQMA0004 PM NOTIFICATION: "USER DATA" FUNCTION IN "GOTO > ITEM" MENU....................................
7.5 QQMA0005 PM NOTIFICATION: AUTHORISATION CHECK ON STATUS CHANGE...............................................
7.6 QQMA0006 PM NOTIFICATION: AUTOMATIC TASK DETERMINATION..............................................................
7.7 QQMA0007 PM NOTIFICATION: DEFINE DEFAULT VALUES ON CREATION.......................................................
7.8 QQMA0008 PM NOTIFICATION: ADDITIONAL ITEM DETAIL........................................................................
7.9 QQMA0009 PM NOTIFICATION: INFLUENCE ORDER PARAMETERS PRIOR TO NOTIFICATION CREATION..........
7.10 QQMA0010 PM NOTIFICATION: ADDITIONAL CAUSE DETAIL.....................................................................
7.11 QQMA0011 PM NOTIFICATION: ADDITIONAL TASK DETAIL.......................................................................
7.12 QQMA0012 PM NOTIFICATION: ADDITIONAL ACTIVITY DETAIL................................................................
7.13 QQMA0013 PM NOTIFICATION: DEFAULT VALUES FOR TASK SCREEN........................................................
7.14 QQMA0014 PM NOTIFICATION: VALIDITYE CHECKS DURING SAVE................................................................
8. LOGISTICS INFORMATION SYSTEM (MCR).............................................................................................
8.1 FUNCTION EXIT FOR THE AUTHORIZATION CHECK IN THE LIS STANDARD ANALYSES:....................................
8.2 FUNCTION EXIT FOR CHANGING KEY FIGURE TEXTS IN STANDARD ANALYSES:...............................................
8.3 FUNCTION EXIT FOR DETERMINING CHARACTERISTIC TEXTS IN LIS ANALYSES:.............................................
9. RESOURCE RELATED BILLING (KSDI).......................................................................................................
9.1 FUNCTION EXITS FOR RESOURCE RELATED BILLING:......................................................................................
User Exits For Plant Maintenance and Service Managemant Page: 2

10. SERVICE CONTRACT CHECKS (VA)........................................................................................................


10.1 FUNCTION EXITS FOR SD SERVICE MANAGEMENT: CONTRACT DATA CHECKS..................................................
11. EQUIPMENT MANAGEMENT (IEQM)......................................................................................................
11.1 FUNCTION AT INSTALLATION OF EQUIPMENT...................................................................................................
11.2 FUNCTION AT INSTALLATION OF EQUIPMENT...................................................................................................
11.3 FUNCTION AT INSTALLATION OF EQUIPMENT...................................................................................................
12. CONFIRMATION (CORU).............................................................................................................................
12.1 FUNCTION TO HIDE FUNCTION CODES (MENU ITEMS) IN CONFIRMATION SCREENS..........................................
User Exits For Plant Maintenance and Service Managemant Page: 3

1. Batch Input for PM (IBIP1)

1.1 Batch-Input Plant Maintainance:


Function exits:
EXIT_SAPLIBIP_001

This extension allows you to develop your own data transfer.

The advantage of the user exit over an internal ABAP is that error handling, remote function call and test data
functions are available to you. This extension is called up using transactions IBIP, IBI2 and the ABAP RIIBIP00.

How it works:

Fill out internal table BDCDATA[ ] (for further information see ABAP (LXPMZU01).

BDCDATA[ ] is a table with batch input details. It defines which screens and which fields should be filled with
which values.

The source from which these field are filled is in INT_TAB[ ].

Note:
The interface is shifted immediately to the standard work fields.
The interface data is moved automatically to other work fields.

Logical interface:
You need:
- tables INT_TAB[ ] <===== INPUT
CURR_TRAN[ ] <===== INPUT
- field string (record) INT_TAB <===== INPUT
to fill the table BDCDATA[ ] =====> OUTPUT

2. Customer Service (ICSV)

2.1 ICSV0001 Display of geographic location data


Menu entries:
RIAUFK20+LOC Loc.info...
RIEQUI20+LOC Loc.info...
RIIFLO20+LOC Loc.info...
IQMEL20+LOC Loc.info...
SAPLIPAR+LOCLoc.info...
Function exits:
EXIT_SAPLICUS_001 Display Location Information

The suggested enhancement enables you to display location information from the SAP system. The function can
be called up from within Maintenance function for partner data and from various lists in PM/SM.

2.2 ICSV0002 SM notification: automatic task determination for service notifications


Function exits:
EXIT_SAPMIWO0_003

Within the framework of notification processing, it is possible to determine tasks automatically. In standard SAP
these tasks are decided on the basis of response time and service profile. These are determined by notification
type or by service contract.

In addition to this standard functionality, you also have the option of carrying out your own determination of
tasks. For this, you will be provided with complete current notification data as a basis for information. You are
able to deduce your tasks from this. These derived tasks will be transferred into the notification accordingly. You
may also specify whether or not the standard SAP functionality should run.
User Exits For Plant Maintenance and Service Managemant Page: 4

2.3 ICSV0003 Notification: partner selection


Menu entries:
SAPLIPAR+PAE Partn.Sel.for Equip.
SAPLIPAR+PAF Partn.Sel.f.FunctLoc
SAPLIPAR+PAO Partn.Sel.for Order
SAPLIPAR+PAR Partner selection
Function exits:
EXIT_SAPLIPAR_002 Selection of Notification Partners

This enhancement enables you to add your own partner selection for functional locations, equipment,
notifications and maintenance orders.

When you create such an object, or if you change the reference object in the notification or in the order, this
function module is automatically called up. It can also be called up on the partner overview screen, accessed via
the Goto menu option.

2.4 ICSV0004 Check PM object and display object information


Function exits:
EXIT_SAPLIWO1_003 Check PM Object and Display Object Information

This function module is called up directly each time a PM object is changed in the service and maintenance
notification. Accordingly, you have the option of making the user aware of particular characteristics of the object
or of data relating to it, for example, open notifications. The user is also able to call up this function explicitly.
Calling up the function is achieved by first calling up standard SAP object information.

2.5 ICSV0005 SM: Warranty claim reason for rejection (Resource Relate Billing)
Function exits:
EXIT_SAPLISDI_001

Using this enhancement, it is possible to determine a reason for rejection due to an existing warranty claim and
forward it to the billing request.

This enhancement is called up in the resource-related billing (transaction VA90, program SAPLV45H) after the
warranty check of the reference object, in case a warranty request was established on the part
of the customer.

The reason for rejection can be determined with the help of the transferred data (equipment number, master
warranty number, service order number and result of the warranty check).

2.6 V45W0001 SM: Forward Contract Data To Item (VA)


Function exits:
EXIT_SAPLV45W_001 Default values when creating a task

The user exit for copying contract data has the following prerequisites:

The indicator Y is set in the Contract data allowed field in the activity Define sales document types.
The contract items contain data which differs from the data in the contract header.

The user exit for copying contract data enables you to:

Define additional checks which are performed after the checks defined in the standard R/3 system have been
completed
Define checks which override the checks defined in the standard R/3 system
Influence the information which is displayed in the action log

The following tables are provided for user-defined checks:

PVEDA_POSNR Number of the current item


KVEDA_NEW Contract data at header level
KVEDA_OLD Contract data at header level before header data is changed
PVEDA_NEW Contract data at item level
PVEDA_OLD Contract data at item level before header data is changed
User Exits For Plant Maintenance and Service Managemant Page: 5

PVEDA_PROT Messages for the action log

3. Equipment Management (IEQM)

3.1 IEQM0001 Equipment: installation of equipment at functional location


Function exits:
EXIT_SAPLIEL2_002

The function module EXIT_SAPLCOIH_002 mentioned in this enhancement is called up when you want to
install a piece of equipment at a functional location.

You can arrange for additional functional and logical checks to be carried out at this location, before the
equipment is installed on the functional location.

The indicator INSTALLATION_NOT_ALLOWED on 1 (= Installation not allowed) or <blank> (= Installation


allowed) is set after the checks have been carried out.

If the installation of equipment was not allowed, the system informs the user of this with dialog message IA051.

3.2 IEQM0002 Equipment: hierarchy assignments


Function exits:
EXIT_SAPLIEL2_001

The function module EXIT_SAPLIEL2_001 mentioned in this enhancement is called up when you define
equipment hierarchies, therefore, during the following activities:

when you assign sub-equipments to a superior equipment


when you exchange one sub-equipment for another
when you delete the superior equipment for a sub-equipment and/or define a new superior equipment
when you change the position of a sub-equipment

You can arrange for additional functional and logical checks to be carried out before the data changes are
authorized.

After the checks have been carried out, the indicator IND_EQ_SELECT on (= Equipment hierarchies not
allowed) or <blank> (= Equipment hierarchy allowed) is set.

If the equipment hierarchy was not allowed, the system informs the user of this with the dialog message IE061.

3.3 IEQM0003 Equipment: checks at equipment save


Function exits:
EXIT_SAPMIEQ0_001

The function module EXIT_SAPMIEQ0_001 that is used in this enhancement is called up if the user wants to
save the data for a piece of equipment.

At this stage, you can arrange for addtional factual and logical checks to be performed, before the piece of
equipment can be saved.

The data can only be saved if the module does not generate any error conditions (in the form of the exception
POSTING_NOT_ALLOWED). If an error condition is generated, the data is not saved and an appropriate
message is displayed.

The message that is displayed depends on whether a separate message is required. For this, the export parameter
OWN_MSG should have a value that is not equal to ' ', - the exception should be generated with MESSAGE
xnnn RAISING.

In this case, the message that is displayed is the one that was specified in the statement (as xnnn). Otherwise the
standard message IS200 is displayed.
User Exits For Plant Maintenance and Service Managemant Page: 6

4. Plant Maintenance Order Processing (IWO1)

4.1 CNEX0013 PM order: Default item category component/material


Function exits:
EXIT_SAPLCOMK_004

By using this customer enhancement, you can carry out your own determination of the item category with the
component assignment in the order.

The enhancement only runs with the creation of a component in the component list.

The entire dialog structure of a component from the system is available as a parameter. The enhancement simply
returns the item category. This is then checked by the system.

4.2 IWO10001 PM order: create a PM sub-order


Function exits:
EXIT_SAPLCOIH_001

In this function module, customer-specific supplements can be performed when creating a PM sub-order.
Supplements refer exclusively to the PM sub-order header.

4.3 IWO10002 PM order: checks for order release


Function exits:
EXIT_SAPLCOIH_002

The function module EXIT_SAPLCOIH_002 listed in this enhancement is called up when you want to release a
PM order.

You can specify at this point that the PM order must be subject to further checks (e.g. an additional budget
check) before it can be released. Using this enhancement, you can perform one check on all data entered in the
order header.

In this enhancement, the indicator no_release is set to x (= no release) or <blank> (= release allowed) once
checks have been carried out.

If the release of the order is refused, the system informs the user with dialog message IW555.

4.4 IWO10004 PM order: check at technical completion


Function exits:
EXIT_SAPLCOIH_004

In this customer expansion, checks can be carried out at the time of the technical completion.

If the customer check shows that technical completion should not be carried out, the function module can be
left, with the exception of completion_rejected.

Technical completion will not be performed.

The example of checking the order header status finally completed is given here. If the status is not set,
technical completion is not performed.

4.5 IWO10005 PM order: profit centre determination


Function exits:
EXIT_SAPLCOIH_005

This extension allows you to perform customer-specific determination of the profit center.

In the SAP standard, the system determines the profit center from the cost center of the main work center.
User Exits For Plant Maintenance and Service Managemant Page: 7

However, if you want to represent the point of receipt in the profit center, you can use the following coding as a
reference. In this example the cost center of the PM object (functional location or equipment) is used for profit
center determination.

If no profit center determination is required, the exception NO_PC_DETERMINATION can be set.

Also, no profit center determination will be carried out if the customer extension returns a profit center.

4.6 IWO10006 PM order: deactivation of menu functions


Function exits:
EXIT_SAPLCOIH_006 PM Order: Customer Enhancement for Exclustion of Function Co

Menu functions can be deactivated with this customer enhancement.

In the Menu Painter, the names of the functions can be determined via the function list for program
SAPLCOIH.

Functions which recall the customer expansion are deactivated.

4.7 IWO10007 PM order: permit expansion


Function exits:
EXIT_SAPLCOIH_007 PM Order: Customer Enhancement for Permits

The customer expansion is called in the case of order release and of technical completion. It is used to place
expansions in conjunction with permits.

4.8 IWO10008 PM order: determine tax jurisdiction


Function exits:
EXIT_SAPLCOIH_008 PM order: Customer enhancement to determine Tax Jurisdiction

This customer exit enables you to determine a tax jurisdiction code according to your own requirements.

To determine this, the SAP System makes available collective header data of the maintenance order or service
order.

The customer exit determines the tax jurisdiction code each time the order is saved.

4.9 IWO10009 PM order: check at time 'save'


Function exits:
EXIT_SAPLCOIH_009 PM order: Customer check at time 'Save'

This customer enhancement includes the possibility of performing customer-specific checks.

If the customer enhancement is left with an exception, the order can not be saved.

Messages must be dealt with starting from the customer enhancement.


Example 1: A customer wants the order to always include a long text. If the order does not have a long text,
an exception is sent and the order can not be saved as a result.
Example 2: A customer wants only certain people to be authorized to set certain priorities.
Example 3: A customer does not authorize certain people to change certain fields. The original status must
be determined within the customer enhancement to do this. This can be carried out by using the following
function module: function co_bt_caufv_old_read_with_key

4.10 IWO10010 PM order: determination of WBS


Function exits:
EXIT_SAPLCOIH_010 PM Order: Customer Enhancement for Determination of WBS Element

By using this enhancement, you can carry out your own determination of the PSP element.

The customer enhancement runs when the order is created and each time the maintenance object is changed.
User Exits For Plant Maintenance and Service Managemant Page: 8

The entire dialog structure of the order header is available as a parameter. Depending on the customizing
setting, the PSP element of the object may already be available here.

Where changes are being made, the 'old' work area is also available.

The customer enhancement simply returns the PSP element. This is then checked.

Warning: As soon as the customer enhancement is activated, the PSP element which is possibly already
available must be returned to the export parameter 'PSPEL', in case no determination is made.

4.11 IWO10011 PM order: component selection


Menu entries:
SAPLCOIH+MSF @3M@ Externes Sys
Function exits:
EXIT_SAPLCOMK_003 PM Order: Customer Enhancement for Component Selection

By using this customer enhancement, you can transfer data records that are stored in a local file as components
in the list of component assignments to the maintenance order. The data records in the local file are generated or
stored there by a non-SAP system.

If the enhancement is active, it calls up the function module EXIT_SAPLCOMK_003. The Include LXWocF08
is defined in this module.

Within this Include you must define the following:


the files with a different format that should be imported from outside
the record structures of the files that are imported via the table ZCOM_TAB
the assignment by field of the imported data records to the fields provided by SAP in the structure
RIHFCOM. These are then imported record for record into the table ZCOM_TAB and transferred, clearly
defined, into the component list.

Within this Include you can also define the following:


the local file location of the file in your system. This optional information serves as a default value.
with which item category the components in the component list are transferred. If nothing is specified in the
enhancement, 'T', meaning text item, is set as the default.
default values for quantity and unit of measure

NOTE:

Change in environment

If your environment changes, you must extend the example program LXWocF08 accordingly to the places
described above. You must do this, for example, in the following cases:
if you would like to consider further external systems for the component transfer
for a structure already in existence, if you would like to transfer further fields from the imported table into
the component list for the maintenance order, clearly defined by using the table FCOM_TAB or the structure
RIHFCOM assigned to it

Materials kept in stock

There are currently no plans to transfer materials kept in stock.

Dialog message

You can activate the dialog message provided in the Include LXWocFO8 as required. In this case, you must
create the message in a message class (for example, Y9) that you have defined for yourself as a user. For
example, the message "900" could read as follows:

Short text:
The assignment by field from upload to transfer structure is not defined

Long text:
Diagnosis
User Exits For Plant Maintenance and Service Managemant Page: 9

In the program LXWocF08 (function module EXIT_SAPLCOMK_003), an upload was implemented of a file
that was specified by you. However, as yet no assignment by field of the imported file structure (ZCOM_T*) to
the transfer structure (FCOM_TAB) has been defined for this file.

5. Maintenance Order History (IWO2)

5.1 IWO10012 PM order: date determination when setting/changing priority


Function exits:
EXIT_SAPLCOIH_0012

On the basis of a priority or change entry, a customer defined basic date determination can be made using this
enhancement.

The customer enhancement runs on the screen SAPLCOIH-0120 (central header) for each priority entry/change
(also when overwritten with the same priority)

5.2 IWO20001 PM order: user selection options for task lists


Menu entries:
SAPLCOIH+PLS User selection
Function exits:
EXIT_SAPLCOIH_003

This extension allows you to create your own selection options. This option is in addition to the existing SAP
options for selecting maintenance task lists that you want to copy to the order.

Using the data from the SAP order header, you can determine the task lists that you require. The determined
task list headers are then copied to the SAP system.

You can also disable the operation selection.

The following selection options for task lists are feasible:

Selection via
notifications for the order
task codes in the notification
damage in the notification
work center in the notification/order header
maintenance planner group in the notification/order header
maintenance planning plant in the notification/order header

As there are no equivalent fields for damage or task codes in the task list, you should use the classification of the
task list to represent these fields.

If one task list per notification item is sufficient, the task list can be based on the classification of the notification
item key fields task list type, task list group and group counter. This would mean that the user would no longer
need to read the task list tables.

6. Work Order Cycle (IWOC)

6.1 IWOC0001 Create PM/SM Notification: determine reference object


Function exits:
EXIT_SAPMIWO0_008

In this function module, you can perform customer-specific extensions when creating a maintenance or service
notification. The extensions refer only to the PM/SM notification.

7. Notification (QQM)

7.1 QQMA0001 PM notification: additional header detail


Function exits:
User Exits For Plant Maintenance and Service Managemant Page: 10

EXIT_SAPMIWO0_008
EXIT_SAPMIWO0_009
Screen areas:
SAPMIWO05000_USER0001_SAPLXQQM0100 Subscreen w/o fields (default)
SAPMIWO05000_USER0001_SAPLXQQM0101 Subscreen w/o fields (default)
SAPMIWO05000_USER0001_SAPLXQQM0102 Subscreen w/o fields (default)
SAPMIWO05000_USER0001_SAPLXQQM0103 Subscreen w/o fields (default)
SAPMIWO05000_USER0001_SAPLXQQM0104 Subscreen w/o fields (default)
SAPMIWO05000_USER0001_SAPLXQQM0105 Subscreen w/o fields (default)

With this user exit, you can display additional data in the notification header screen (screen SAPMIO0 5000).
The notification header data is transferred to the function group via user exits for this purpose. You can then
include the data on the customer-specific screen.

You can change the data. Make sure, however, that the structure VIQMEL is transferred back to the export
structure E_VIQMEL before you leave the user exit. Only in this way, will the fields that you did not change be
transferred back properly.

Note:
If the field TQ80-USERSCR1 (which can be maintained in the Customizing application) receives a screen
number, this screen will be called up as a subscreen; otherwise screen 0100 will be used. It is important that the
screens for program SAPLXQQM are defined.

Make sure you also refer to the documentation for the individual components of this user exit:
user exit
screen

7.2 QQMA0002 PM notification: additional authorization checks


Function exits:
EXIT_SAPLQAUT_001 Customer exit: Authorization check for notification transact

This user exit allows you to carry out an individual authorization check when you call up a quality notification.

The system calls up the user exit after the authorization object Q_QMEL has been subjected to the standard SAP
check.

Make sure you also refer to the documentation for user exit EXIT_SAPLQAUT_001.

7.3 QQMA0003 PM notification: "user data" function in "Goto" menu


Menu entries:
SAPLQM00+US1 User data
Function exits:
EXIT_SAPMIWO0_004 Function code "+US1" in menu "Goto" during notification procedure

With this user exit, you can activate your own function code for the processing or display functions for quality
notifications. For example, you can use this code to call up a customer-specific screen. The function code is
included in the Goto menu option.

Make sure you also refer to the documentation for the individual components of this user exit:
user exit
function code

7.4 QQMA0004 PM notification: "user data" function in "Goto > Item" menu
Menu entries:
SAPLQM00+US2 User data
Function exits:
EXIT_SAPMIWO0_005 Function code "+US2" in menu "Goto/Item" during notification

With this user exit, you can activate your own function code for the processing or display functions for quality
notifications. For example, you can use this code to call up a customer-specific screen for a notification item.

The function code is included in the Goto -> Item menu option.
User Exits For Plant Maintenance and Service Managemant Page: 11

Make sure you also refer to the documentation for the individual components of this user exit:
user exit
function code

7.5 QQMA0005 PM notification: authorisation check on status change


Function exits:
EXIT_SAPMIWO0_006 User exit "Check permissibility of status change"

With this user exit, you can carry out individual authorization checks in addition to the authorization checks
carried out in the standard SAP system.

Make sure you also refer to the documentation for the user exit EXIT_SAPMIWO0_006.

7.6 QQMA0006 PM notification: automatic task determination


Function exits:
EXIT_SAPMIWO0_007

When you process the notifications, you can have the system determine the tasks automatically. In the standard
system, the system determines the tasks on the basis of the response time and service profile, which are assigned
to the notification type.

In addition to this standard function, you can also determine the tasks yourself. The system provides you with all
of the latest notification data as a source of information. On the basis of this information, you can create your
own algorithms to determine the tasks. These tasks will be copied into the notification.

You can also specify whether or not the standard SAP function will be executed.

Make sure you also refer to the documentation for the user exit EXIT_SAPMIWO0_007.

7.7 QQMA0007 PM notification: define default values on creation


Function exits:
EXIT_SAPMIWO0_001 Default values when creating a notification

This user exit allows you to define default values when you create a quality notification.

Time of call-up: On the initial screen (program SAPMIWO0, screen 0200) after the possible call-up of an initial
screen.

Make sure you also refer to the documentation for user exit EXIT_SAPMIWO0_001.

7.8 QQMA0008 PM notification: additional Item detail


Function exits:
EXIT_SAPMIWO0_010
EXIT_SAPMIWO0_011
Screen areas:
SAPMIWO03030_USER0002_SAPLXQQM0100 Subscreen w/o fields (default)
SAPMIWO03030_USER0002_SAPLXQQM0210 Subscreen w/o fields (default)
SAPMIWO03030_USER0002_SAPLXQQM0211 Subscreen w/o fields (default)
SAPMIWO03030_USER0002_SAPLXQQM0212 Subscreen w/o fields (default)
SAPMIWO03030_USER0002_SAPLXQQM0213 Subscreen w/o fields (default)
SAPMIWO03030_USER0002_SAPLXQQM0214 Subscreen w/o fields (default)
SAPMIWO03030_USER0002_SAPLXQQM0215 Subscreen w/o fields (default)
SAPMIWO03030_USER0002_SAPLXQQM0220 Subscreen w/o fields (default)
SAPMIWO03030_USER0002_SAPLXQQM0221 Subscreen w/o fields (default)
SAPMIWO03030_USER0002_SAPLXQQM0222 Subscreen w/o fields (default)
SAPMIWO03030_USER0002_SAPLXQQM0223 Subscreen w/o fields (default)
SAPMIWO03030_USER0002_SAPLXQQM0224 Subscreen w/o fields (default)
SAPMIWO03030_USER0002_SAPLXQQM0225 Subscreen w/o fields (default)
SAPMIWO03030_USER0002_SAPLXQQM0230 Subscreen w/o fields (default)
SAPMIWO03030_USER0002_SAPLXQQM0231 Subscreen w/o fields (default)
SAPMIWO03030_USER0002_SAPLXQQM0232 Subscreen w/o fields (default)
User Exits For Plant Maintenance and Service Managemant Page: 12

SAPMIWO03030_USER0002_SAPLXQQM0233 Subscreen w/o fields (default)


SAPMIWO03030_USER0002_SAPLXQQM0234 Subscreen w/o fields (default)
SAPMIWO03030_USER0002_SAPLXQQM0235 Subscreen w/o fields (default)

With this user exit, you can enter additional data on the detail screen for the notification item (screen
SAPMIWO0 3030).

The notification header data and item data are transferred to the function group for this purpose. You can then
include this data on the customer-specific subscreen.

You can change the data. Make sure you transfer the structure VIQMFE to the export structure E_VIQMFE,
before you leave the user exit. Only in this way, will the fields that you did not change be transferred back
properly.

Note
If field TQ80-USERSCR2 (which can be maintained in the Customizing application) contains a screen number,
this screen will be called up as a subscreen; otherwise screen 0100 will be used. It is important that the screens
for program SAPLXQQM are defined.

Also refer to the documentation for the individual components of this enhancement:
user exit
screen

7.9 QQMA0009 PM notification: influence order parameters prior to notification creation


Function exits:
EXIT_SAPMIWO0_012

With this user exit, you can influence the order parameters individually before you create a QM order.

Among other items, you can change the settlement rule (for example, when you a settle a WBS element).

7.10 QQMA0010 PM notification: additional Cause detail


Function exits:
EXIT_SAPMIWO0_013
EXIT_SAPMIWO0_014
Screen areas:
SAPMIWO03030_USER0003_SAPLXQQM0100 Subscreen w/o fields (default)
SAPMIWO03030_USER0003_SAPLXQQM0310 Subscreen w/o fields (default)
SAPMIWO03030_USER0003_SAPLXQQM0311 Subscreen w/o fields (default)
SAPMIWO03030_USER0003_SAPLXQQM0312 Subscreen w/o fields (default)
SAPMIWO03030_USER0003_SAPLXQQM0313 Subscreen w/o fields (default)
SAPMIWO03030_USER0003_SAPLXQQM0314 Subscreen w/o fields (default)
SAPMIWO03030_USER0003_SAPLXQQM0315 Subscreen w/o fields (default)
SAPMIWO03030_USER0003_SAPLXQQM0320 Subscreen w/o fields (default)
SAPMIWO03030_USER0003_SAPLXQQM0321 Subscreen w/o fields (default)
SAPMIWO03030_USER0003_SAPLXQQM0322 Subscreen w/o fields (default)
SAPMIWO03030_USER0003_SAPLXQQM0323 Subscreen w/o fields (default)
SAPMIWO03030_USER0003_SAPLXQQM0324 Subscreen w/o fields (default)
SAPMIWO03030_USER0003_SAPLXQQM0325 Subscreen w/o fields (default)
SAPMIWO03030_USER0003_SAPLXQQM0330 Subscreen w/o fields (default)
SAPMIWO03030_USER0003_SAPLXQQM0331 Subscreen w/o fields (default)
SAPMIWO03030_USER0003_SAPLXQQM0332 Subscreen w/o fields (default)
SAPMIWO03030_USER0003_SAPLXQQM0333 Subscreen w/o fields (default)
SAPMIWO03030_USER0003_SAPLXQQM0334 Subscreen w/o fields (default)
SAPMIWO03030_USER0003_SAPLXQQM0335 Subscreen w/o fields (default)

With this user exit, you can include additional data on the CAUSE detail screen for notification item (screen
SAPMIWO0 3030). For this purpose, the data for the notification header, item and cause data are transferred to
the function group via the user exit. You can then include this data on the customer-specific subscreen.

It is possible to change the data. Make sure the structure VIQMUR is transferred to the export structure
E_VIQMUR before you leave the user exit. Only then will the unchanged fields be transferred back properly.
User Exits For Plant Maintenance and Service Managemant Page: 13

Note
If field TQ80-USERSCR3 (maintained in Customizing) contains a screen number, this screen will be called up
as a subscreen. Otherwise, screen 0100 will be used. It is important that the screens for program SAPLXQQM
are defined.

Also refer to the documentation for the individual components of this user exit:
User exit
Screen

7.11 QQMA0011 PM notification: additional Task detail


Function exits:
EXIT_SAPMIWO0_015
EXIT_SAPMIWO0_016
Screen areas:
SAPMIWO04010_USER0004_SAPLXQQM0100 Subscreen w/o fields (default)
SAPMIWO04010_USER0004_SAPLXQQM0410 Subscreen w/o fields (default)
SAPMIWO04010_USER0004_SAPLXQQM0411 Subscreen w/o fields (default)
SAPMIWO04010_USER0004_SAPLXQQM0412 Subscreen w/o fields (default)
SAPMIWO04010_USER0004_SAPLXQQM0413 Subscreen w/o fields (default)
SAPMIWO04010_USER0004_SAPLXQQM0414 Subscreen w/o fields (default)
SAPMIWO04010_USER0004_SAPLXQQM0415 Subscreen w/o fields (default)
SAPMIWO04010_USER0004_SAPLXQQM0420 Subscreen w/o fields (default)
SAPMIWO04010_USER0004_SAPLXQQM0421 Subscreen w/o fields (default)
SAPMIWO04010_USER0004_SAPLXQQM0422 Subscreen w/o fields (default)
SAPMIWO04010_USER0004_SAPLXQQM0423 Subscreen w/o fields (default)
SAPMIWO04010_USER0004_SAPLXQQM0424 Subscreen w/o fields (default)
SAPMIWO04010_USER0004_SAPLXQQM0425 Subscreen w/o fields (default)
SAPMIWO04010_USER0004_SAPLXQQM0430 Subscreen w/o fields (default)
SAPMIWO04010_USER0004_SAPLXQQM0431 Subscreen w/o fields (default)
SAPMIWO04010_USER0004_SAPLXQQM0432 Subscreen w/o fields (default)
SAPMIWO04010_USER0004_SAPLXQQM0433 Subscreen w/o fields (default)
SAPMIWO04010_USER0004_SAPLXQQM0434 Subscreen w/o fields (default)
SAPMIWO04010_USER0004_SAPLXQQM0435 Subscreen w/o fields (default)
SAPMIWO04100_USER0004_SAPLXQQM0100 Subscreen w/o fields (default)
SAPMIWO04100_USER0004_SAPLXQQM0410 Subscreen w/o fields (default)
SAPMIWO04100_USER0004_SAPLXQQM0411 Subscreen w/o fields (default)
SAPMIWO04100_USER0004_SAPLXQQM0412 Subscreen w/o fields (default)
SAPMIWO04100_USER0004_SAPLXQQM0413 Subscreen w/o fields (default)
SAPMIWO04100_USER0004_SAPLXQQM0414 Subscreen w/o fields (default)
SAPMIWO04100_USER0004_SAPLXQQM0415 Subscreen w/o fields (default)
SAPMIWO04100_USER0004_SAPLXQQM0421 Subscreen w/o fields (default)
SAPMIWO04100_USER0004_SAPLXQQM0422 Subscreen w/o fields (default)
SAPMIWO04100_USER0004_SAPLXQQM0423 Subscreen w/o fields (default)
SAPMIWO04100_USER0004_SAPLXQQM0423 Subscreen w/o fields (default)
SAPMIWO04100_USER0004_SAPLXQQM0424 Subscreen w/o fields (default)
SAPMIWO04100_USER0004_SAPLXQQM0425 Subscreen w/o fields (default)
SAPMIWO04100_USER0004_SAPLXQQM0430 Subscreen w/o fields (default)
SAPMIWO04100_USER0004_SAPLXQQM0431 Subscreen w/o fields (default)
SAPMIWO04100_USER0004_SAPLXQQM0432 Subscreen w/o fields (default)
SAPMIWO04100_USER0004_SAPLXQQM0433 Subscreen w/o fields (default)
SAPMIWO04100_USER0004_SAPLXQQM0434 Subscreen w/o fields (default)
SAPMIWO04100_USER0004_SAPLXQQM0435 Subscreen w/o fields (default)

With this user exit, you can include additional data on the task detail screen (SAPMIWO0 4010 and 4100). For
this purpose, the notification header data, item data and task data are transferred to the function group via the
user exit. You can then include this data on the customer-specific subscreen.

It is possible to change the data. Make sure the structure VIQMSM is transferred to the export structure
E_VIQMSM before you leave the user exit. Only then will the unchanged fields be transferred back properly.

Note
User Exits For Plant Maintenance and Service Managemant Page: 14

If field TQ80-USERSCR4 (maintained in Customizing) contains a screen number, this screen will be called up
as a subscreen. Otherwise, screen 0100 will be used. It is important that the screens for program SAPLXQQM
are defined.

Also refer to the documentation for the individual components of this user exit:
User exit
Screen

7.12 QQMA0012 PM notification: additional Activity detail


Function exits:
EXIT_SAPMIWO0_017
EXIT_SAPMIWO0_018
Screen areas:
SAPMIWO05010_USER0005_SAPLXQQM0100 Subscreen w/o fields (default)
SAPMIWO05010_USER0005_SAPLXQQM0510 Subscreen w/o fields (default)
SAPMIWO05010_USER0005_SAPLXQQM0511 Subscreen w/o fields (default)
SAPMIWO05010_USER0005_SAPLXQQM0512 Subscreen w/o fields (default)
SAPMIWO05010_USER0005_SAPLXQQM0513 Subscreen w/o fields (default)
SAPMIWO05010_USER0005_SAPLXQQM0514 Subscreen w/o fields (default)
SAPMIWO05010_USER0005_SAPLXQQM0515 Subscreen w/o fields (default)
SAPMIWO05010_USER0005_SAPLXQQM0520 Subscreen w/o fields (default)
SAPMIWO05010_USER0005_SAPLXQQM0521 Subscreen w/o fields (default)
SAPMIWO05010_USER0005_SAPLXQQM0522 Subscreen w/o fields (default)
SAPMIWO05010_USER0005_SAPLXQQM0523 Subscreen w/o fields (default)
SAPMIWO05010_USER0005_SAPLXQQM0524 Subscreen w/o fields (default)
SAPMIWO05010_USER0005_SAPLXQQM0525 Subscreen w/o fields (default)
SAPMIWO05010_USER0005_SAPLXQQM0530 Subscreen w/o fields (default)
SAPMIWO05010_USER0005_SAPLXQQM0531 Subscreen w/o fields (default)
SAPMIWO05010_USER0005_SAPLXQQM0532 Subscreen w/o fields (default)
SAPMIWO05010_USER0005_SAPLXQQM0533 Subscreen w/o fields (default)
SAPMIWO05010_USER0005_SAPLXQQM0534 Subscreen w/o fields (default)
SAPMIWO05010_USER0005_SAPLXQQM0535 Subscreen w/o fields (default)

With this user exit, you can include additional data on the activity detail screen (SAPMIWO0 5010). For this
purpose, the notification header data, item data and activity data are transferred to the function group via the
user exit. You can then include this data on the customer-specific subscreen.

It is possible to change the data. Make sure the structure VIQMMA is transferred to the export structure
E_VIQMMA before you leave the user exit. Only then will the unchanged fields be transferred back properly.

Note
If field TQ80-USERSCR5 (maintained in Customizing) contains a screen number, this screen will be called up
as a subscreen. Otherwise, screen 0100 will be used. It is important that the screens for program SAPLXQQM
are defined.

Also refer to the documentation for the individual components of this user exit:
User exit
Screen

7.13 QQMA0013 PM notification: default values for Task screen


Function exits:
EXIT_SAPMIWO0_019 Default values when creating a task

This user exit allows you to enter default values when you create a task.

The system calls up the user exit at one of the following times:
after you have entered the task
after you have selected the function for the automatic determination of tasks

Make sure you also refer to the documentation for the user exit EXIT_SAPMIWO0_019.
User Exits For Plant Maintenance and Service Managemant Page: 15

7.14 QQMA0014 PM notification: validitye checks during save


Function exits:
EXIT_SAPMIWO0_020 Customer exit: checks before saving message

When saving notifications, this customer enhancement allows you to carry out inspections and to supplement
missing values.

Whenever you call the F11 save function in the notification transaction, a subroutine is run. The enhancement is
called up from this subroutine. The call up takes place after the mandatory partner check and before the number
assignment, the update of the logistics information system and the start of subsequent functions for tasks.

See also the following documentation for the function module exit: EXIT_SAPMIWO0_020.

8. Logistics Information System (MCR)

8.1 Function exit for the authorization check in the LIS standard analyses:
Function exits:
EXIT_RMCREPAU_001

Before the standard analysis is carried out, an authorization check is made on certain characteristics of an
information structure. This check ia based on the authorization objects in the standard R/3 system.
In addition, you can use the enhancement MCR00001 to perform a user-defined authorization check.

The function exit has the following parameters:

1. Import parameters

a) I_MCINF: Info structure designed to identify the respective analysis

b) I_DOMNAME: Domain for the corresponding selection criterion

c) I_ROLLNAME: Data element for the corresponding selection criterion

2. Changing parameter

a) C_END_CHECK: Flag which helps you to control whether the standard authorization check should be
carried out via the SAP authorization objects in addition to the authorization check using the enhancement
MCR00001. This parameter is only relevant in those cases where the characteristics have a standard
authorization object.

The parameter has the value ' ' when called up. If you set the parameter to 'X' in the enhancement, there will be
no further authorization check in the standard analysis for the current characteristic.

3. Table parameters

a) T_SEL_OPTION: Table with the restrictions for a characteristic. When you call up the enhancement, the
table will contain therestrictions that the user specified in the selection screen in the selection criterion for the
corresponding characteristic.

Example: Selection criterion for plant (name 'SL_0001'). The user wants to select the plants '0001' to '0003' and
also plant '0005'.

In this case, the table contains the following entries:


SELNAME KIND SIGN OPTION HIGH LOW
SL_0001 S I BT 0001 0003
SL_0001 S I EQ 0005

These entries in the table allow the authorization check to take place in the enhancement MCR00001. This
means that the characteristic values for which the user has no authorization must be attached to the table by
filling the field SIGN with the value 'E' (for Exclude).

Example: The user does not have any authorization for the plant '0002'. When leaving the enhancement, the
table must contain the following:
User Exits For Plant Maintenance and Service Managemant Page: 16

SELNAME KIND SIGN OPTION HIGH LOW


SL_0001 S I BT 0001 0003
SL_0001 S I EQ 0005
SL_0001 S E EQ 0002 new line

The program will comsequently issue the message: "Authorization check: Selection '&3' was restricted".

4. Exceptions: None

8.2 Function exit for Changing key figure texts in standard analyses:
Function exits:
EXIT_SAPLMCS2_001

This SAP enhancement enables you to do the following in the standard analysis of the Logistics Information
System:

Define the preset key figures depending on the drill-down level.


Change the text (= column heading) for individual key figures. The standard analysis usually gets the
heading for a key figure from the Data Dictionary. (The system reads a text (= field label) which is assigned
to the respective data element in the Dictionary). The above SAP enhancement allows you to make your own
column headings which differ from data element field labels of the respective key figure.

See User-Exit documentation for further details.

8.3 Function exit for determining characteristic texts in LIS analyses:


Function exits:
EXIT_RMCSTEXT_001

When you call up a standard analysis or a flexible analysis in the Logistics Information System (LIS), texts for a
characteristic value are determined at runtime.

Here, the domains are determined for a field in the information or evaluation structure, which is evaluated in the
analysis. The text for the respective characteristic value is read with this domain in program RMCSTEXT in the
routine TEXT_SEARCH_DOM. This routine contains the enhancement RMCSTEXT. If a text for the
characteristic value cannot be determined by the routine TEXT_SEARCH_DOM (because you included the field
in an LIS communication structure, for example) the system calls up the function exit. In this case, you can
determine the text by looking it up in a separate table, for example.

In addition, it is possible to change the standard procedure for determining texts, i.e. you can define a new text
determination for domains for which a text has already been determined by program RMCSTEXT in the
standard system.

See User-Exit documentation for further details.

9. Resource Related Billing (KSDI)

9.1 KSDIEX01 Function exits for Resource Related Billing:


Function exits:
EXIT_SAPLEBBS_001 Determine Items for New Documents
EXIT_SAPLEBBS_002 Read Items for Existing Documents
EXIT_SAPLEBBS_003 Record Document Flow

Overview
User Exits For Plant Maintenance and Service Managemant Page: 17

In expense-related billing, individual expense items are generated from cost information. In the process,
activity numbers (material numbers) are determined for use in identifying the individual items in the billing
document.

The complexity of billing item selection and activity number determination means that it is not possible to cover
all options in the standard SAP system.

Enhancement KSDIEX01 has been added to permit inclusion of customer-specific requirements for the transfer
of item information to SD documents, by building on the standard functionality. Currently, the enhancement is
only addressed as part of resource-related billing, but has been prepared with future functions involving transfer
of information to SD documents in mind.

In detail, you can carry out the following functions with this enhancement:

Filtering of the items selected with the standard functionality, using a customer-specific logic
Addition of items not selected in the standard
Customer-specific additions to items selected in the standard
Influence on document flow update

Components in the Enhancement

Enhancement KSDIEX01 contains the following components (function exits):

EXIT_SAPLEBBS_001: Determining items for new documents. This function exit is accessed when you
create a new SD document.
EXIT_SAPLEBBS_002: Reading items for existing documents. This function exit is accessed when during
editing of an existing document.
EXIT_SAPLEBBS_003: Document flow update. This function exit is access when the document flow for an
SD document is being read.

A detailed description of the function exits and their interfaces can be found in the documentation to the
EXIT_SAPLEBBS_xxx function modules.

General Technical Information

ID for Document Flow Processing

When an SD document is created, a document flow is recorded for the items, including those created within the
framework of this enhancement. So that you can edit these items, it is necessary to assign each one a
unique, reproduceable 22-character ID. IDs relating to items created in this enhancement must begin with "Y"
or
"Z.

So that you can read the items selected in the standard, their IDs must first be decoded. You can use the
standard function module EBBS_ITEM_KEY_GET for this.

Performance Aspects

If you want to evaluate the standard item selection again in this enhancement, you do not need to read the items
again from the database. You can access the standard function module EBBS_BUFFERED_TABLES_GET to
read the item information from a buffer.

Procedure

For a description of the procedure for using enhancements, read the system documentation or the online
documentation for transaction CMOD (project management of SAP enhancements, function exits).

10. Service Contract Checks (VA)

10.1 Function exits for SD service management: contract data checks


Function exits:
EXIT_SAPLV45W_001
User Exits For Plant Maintenance and Service Managemant Page: 18

Requirements

The user exit for copying contract data has the following prerequisites:

The indicator Y is set in the Contract data allowed field in the activity Define sales document types.
The contract items contain data which differs from the data in the contract header.

Use

The user exit for copying contract data enables you to:

Define additional checks which are performed after the checks defined in the standard R/3 system have been
completed
Define checks which override the checks defined in the standard R/3 system
Influence the information which is displayed in the action log

The following tables are provided for user-defined checks:

PVEDA_POSNR Number of the current item

KVEDA_NEW Contract data at header level

KVEDA_OLD Contract data at header level before header data is changed

PVEDA_NEW Contract data at item level

PVEDA_OLD Contract data at item level before header data is changed

PVEDA_PROT Messages for the action log

11. Equipment Management (IEQM)

11.1 Function at installation of Equipment


EXIT_SAPLIEL2_002

The function module EXIT_SAPLCOIH_002 mentioned in this enhancement is called up when you want to
install a piece of equipment at a functional location.

You can arrange for additional functional and logical checks to be carried out at this location, before the
equipment is installed on the functional location.

The indicator INSTALLATION_NOT_ALLOWED on 1 (= Installation not allowed) or <blank> (= Installation


allowed) is set after the checks have been carried out.

If the installation of equipment was not allowed, the system informs the user of this with dialog message IA051.

11.2 Function at installation of Equipment


EXIT_SAPLIEL2_001

The function module EXIT_SAPLIEL2_001 mentioned in this enhancement is called up when you define
equipment hierarchies, therefore, during the following activities:

when you assign sub-equipments to a superior equipment


when you exchange one sub-equipment for another
when you delete the superior equipment for a sub-equipment and/or define a new superior equipment
when you change the position of a sub-equipment
User Exits For Plant Maintenance and Service Managemant Page: 19

You can arrange for additional functional and logical checks to be carried out before the data changes are
authorized.

After the checks have been carried out, the indicator IND_EQ_SELECT on (= Equipment hierarchies not
allowed) or <blank> (= Equipment hierarchy allowed) is set.

If the equipment hierarchy was not allowed, the system informs the user of this with the dialog message IE061.

11.3 Function at installation of Equipment


EXIT_SAPMIEQ0_001

The function module EXIT_SAPMIEQ0_001 that is used in this enhancement is called up if the user wants to
save the data for a piece of equipment.

At this stage, you can arrange for addtional factual and logical checks to be performed, before the piece of
equipment can be saved.

The data can only be saved if the module does not generate any error conditions (in the form of the exception
POSTING_NOT_ALLOWED). If an error condition is generated, the data is not saved and an appropriate
message is displayed.

The message that is displayed depends on whether a separate message is required. For this,
- the export parameter OWN_MSG should have a value that is not equal to ' ',
- the exception should be generated with MESSAGE xnnn RAISING

In this case, the message that is displayed is the one that was specified in the statement (as xnnn). Otherwise the
standard message IS200 is displayed.

12. Confirmation (CORU)

12.1 Function to hide function codes (menu items) in Confirmation screens


EXIT_SAPLCORU_001

You can use this customer enhancement to hide function codes in confirmation transactions.

The complete order-/network header (CAUFVD) is transferred to the interface along with the order-/network
operation (AFVGD).

You can extend the table T_CUAFC using function codes (with or without the use of the information
transferred). These function codes are then deactivated in the CUA interface.

You can find out what the function codes are called using transaction SE41 (maintain CUA interface). The
program name for the confirmation is SAPLCORU. You can use the new function status list to get an overview
of all the statuses that belong to this program. When you select a status from this list you find the internal names
for the function codes in the detailed processing of the status.

You might also like