You are on page 1of 99

The Ultimate guide to

Customer Enhancements
relevant to PM & CS
(Release 4.6C)

Contents
1.
2.
3.
4.

Enhancement List .................................................................................................................................. 2


BAPI List .............................................................................................................................................. 5
Enhancements in Detail ........................................................................................................................ 6
BAPIs in Detail .................................................................................................................................. 88

1. Enhancement List
Enhancement
IBase
IB020001
IBPP0001
Partner Selection
ICRP0201
ICRP0202
ICRP0203
ICSV0001
ICSV0002
ICSV0003
ICSV0004
ICSV0005
ICSV0007
ICSV0008
Master Data
IBIP
IEQM0001
IEQM0002
IEQM0003
IEQM0004
IEQM0005
IEQM0006
IEQM0007
IHCL0001
ILOM0001
ILOM0002
ITOB0001
ITOB0002
ITOB0003
ITOB0004
Measuring Points/Documents
IMRC0001
IMRC0002
IMRC0003
Maintenance Plans
IPRM0002
IPRM0003
IPRM0004
IPRM0005
Serial Numbers
IQSM0001
IQSM0002
IQSM0003
IQSM0004
IQSM0005
IQSM0007
IQSM0008
IDocs
IWMI0001
Orders
CNEX0013
IWO10001
IWO10002
IWO10004
IWO10005
IWO10006

Description
Filter components
Filter IBase Components When Generating From PP Data
Search Help CS_ORG_02: Authorization Check
Search Help CS_ORG_02: Internally-Programmed Selection
Search Help CS_ORG_02: Propose Task
Display of geographic location data
Automatic task determination for service notifications
Partner selection
Check PM object and display object information
Determining reason for rejection - resource-related billing
Serial Number Partner Transfer on Goods Issue and Returns
Validation of additional partner types
IBIP: Trans. IBIP Data Transfer
Add. checks for equip. installation at functional locations
Additional checks for definition of equipment hierarchies
Additional checks before equipment update
Object is allowed for contract partner (Order->MaintCont.)
Object allowed for SD contract (MaintContract->MaintCont.)
Object allowed for SD contract (Maintain maintenance cont.)
Check/change manufacturer field in equipment master
Create equipment using material template: Classes/chars
Additional checks before saving a functional location
User exit when checking structure of location numbers
PM: Customer include subscreen for technical object master data
ITOB: Field changes to copy model
PM: Customer Include subscreen for fleet object data
PM: Customer Exit fleet identification data: Checks
Measurement Point/Measurement Document: Exit before update (after COMMIT WORK)
Measurement Point: Menu exit for customer-specific function
Measurement Document: Menu exit for customer-specific function
Determine planned date info for maintenance plan
User field: Maintenance plan
Maintenance plan / item: Customer check for time "SAVE"
Determine Offset for Performance-Based Strategy Plans
Automatic serial number assignment
Check when copying object list
Serial numbers, user exit for additional data
Serial numbers, user exit after exiting the serial screen
Serial numbers, user exit in the update
Serial numbers, user exit for goods movements
Serial number character string check
User exits for SM/PM IDOCs
Order: Customer enhancement: Default item category component assignment
Create a PM sub-order
PM maintenance order: Customer check for order release
Maintenance order: Customer check for order completion
Maintenance order: Customer-specif. determination of profit centre
Maintenance order: FCode exclusion through customer enhancement

IWO10007
IWO10008
IWO10009
IWO10010
IWO10011
IWO10012
IWO10015
IWO10016
IWO10017
IWO10018
IWO10020
IWO10021
IWO10022
IWO10023
IWO10024
IWO10025
IWO10026
IWO10027
IWO10029
IWO20001
COOM0001
COZF0001
COZF0002
CY190001
Billing
KSDIEX01
General
IWOC0001
IWOC0002
IWOC0003
IWOC0004
IMSMCOMM
Confirmation
CONF0001
CONFPM01
CONFPM02
CONFPM03
CONFPM04
CONFPM05
CATS
CATS0001
CATS0002
CATS0003
CATS0004
CATS0005
CATS0006
CATS0007
CATS0008
CATS0009
CATS0010
CATS0011
CATS0012
CATSBW01
Notifications
QQMA0001
QQMA0002
QQMA0003
QQMA0004
QQMA0005
QQMA0006

Maintenance order: Customer enhancement - permits in the order


Customer enhancement: Determination of tax jurisdiction code
PM Order: Customer Check for 'Save' Event
Maintenance order: Customer enhancement for determining WBS element
Maintenance order: Customer enhancement for component selection
Maintenance order: Priority handling on central header
Maintenance order: F4 Help for user fields on operation
PM Order: Customer enhancement to check operation user fields
Determine external order number by customer logic
Maintenance order: User fields on order header
Maintenance order: Automatically include task list
Automatic task list transfer when creating order from notification
Determine calendar from user exit
Service order: Change header data for advance shipment doc.
Service order: Changes to items for advance shipment
PM/SM order: Finding responsible cost centre
User check on setting status 'Do not perform'
User exit: Generate user-defined settlement rule
Inclusion of bill of material in PM/SM order
PM order: User exit to pass routing to order
Customer Functions for Overhead Percentages
Change purchase req. for externally processed operation
Change purchase req. for externally procured component
Capacity Planning: Change order operation
Determining expenditures in resource-related billing
Create PM/SM notification: Determine reference object
PM/SM notification: Check whether status change is allowed
PM/SM authorization check of ref. object and planner group
Change single-level list editing PM/QM/SM ALV settings
MSM communication enhancement
Enhancements in order confirmation
PM/SM order conf.: Determine customer specific default values
PM/SM order confirmation: Customer specific input checks 1
PM/SM order conf.: Customer specific check after op. Selection
PM/SM order conf.: Customer specific input check 2
PM/SM order conf.: Customer specific enhancements when saving
CATS: Compile worklist
CATS: Supplement recorded data
CATS: Validate recorded data
CATS: Deactivate functions in the user interface
CATS: Customer field enhancements
CATS: Validate entire time sheet
CATS: Subscreen on initial screen
CATS: Determine workflow recipients for approval
CATS: Customer-Specific Text Fields in Data Entry Section
CATS: Customer-Specific Text Fields in Worklist
CATS: Customer functions
CATS: Subscreen on data entry screen
Customer Exit for Transferring Time Sheets > BW
QM/PM/SM: User subscreen for notification header
QM: Authorization Check for Entry into Notification Transaction
QM: "User data" Function in "Goto" Menu
QM: "User data" Function in "Goto -> Item Menu
QM: Check Validity of Status Change
QM: Automatic Task Determination for Quality Notifications

QQMA0007
QQMA0008
QQMA0009
QQMA0010
QQMA0011
QQMA0012
QQMA0013
QQMA0014
QQMA0015
QQMA0016
QQMA0017
QQMA0018
QQMA0019
QQMA0020
QQMA0021
QQMA0022
QQMA0023
QQMA0024
QQMA0025
QQMA0026
QQMA0027
QQMA0028
QQMA0029
Reporting
MCI10001
MCR00001
MCR00002
RMCAF000
External Services Mgt
INTERFAC
SRV_FRM
SRVDET
SRVEDIT
SRVENTRY
SRVESI
SRVESKN
SRVESLL
SRVESSR
SRVEUSCR
SRVKNTTP
SRVLIMIT
SRVMAIL1
SRVMSTLV
SRVPOWEB
SRVQUOT
SRVREL
SRVSEL

QM: Default Values when Creating a Notification


QM/PM/SM: User Subscreen for Additional Data on Notification Item
QM: Predefine QM Order Parameters
QM/PM/SM: User Subscreen for Additional Data on Cause
QM/PM/SM: User Subscreen for Additional Data on Task
QM/PM/SM: User Subscreen for Additional Data on Activity
QM: Default Values when Creating a Task
QM/PM/SM: Checks before saving a notification
QM/PM/SM: User-Exit before Call-Up of F4 Help on Catalogs
QM/PM/SM: "User data" Function "Goto" > "Task" Menu
QM/PM/SM: "User data" Function "Goto" > "Activity" Menu
QM/PM/SM: Deadline setting based on entered priority
QM/PM/SM: Default Partner when Creating a Notification
QM: Determining BOM Usage at BOM explosion
QM/PM/SM: Function "User data" in "Goto" menu
QM/PM/SM: "User data" function in "Goto -> Causes" menu
QM/PM/SM: "User data" function in "Goto -> Item" menu
QM/PM/SM Deactivate function codes in CUA menu
PM/SM: Default values when adding a notification
PM/SM: Auth. check when accessing notification transaction
PM/SM: Default values when adding a task
QM: Create notification from confirmation of production order
QM/PM/SM: Change Notification Type
MCI1: PMIS/QMIS updating
LIS: Authorization check for standard analyses
Standard analyses: Key figure display
LIS: Import External Data for Copy Management
Interface for data transfer
SRV: Formula calculation (obsolete since 4.0A!)
User screen on tab strip of service detail screen
Service list control (maintenance/display)
Unplanned part of entry sheet (obsolete since Rel. 3.1G)
Data conversion entry sheet interface
Set account assignment in service line
Service line checks
Set entry sheet header data
User screen on entry sheet tabstrip
Setting the account assignment category when reading in, if U
Limit check
Processing of mail before generation of sheet
Conversion of data during importing of standard service cat.
Purchase order for service entry in Web
Service export/import for inquiry/quotations
Changes to comm. structure for release of entry sheet
Service selection from non-SAP systems

Under development
CRM00001

User Exits in Customer Relationship Management

2. BAPI List
BAPI
IQS6
BAPI_SERVNOT_ADD_DATA
BAPI_SERVNOT_CHANGEUSRSTAT
BAPI_SERVNOT_CLOSE
BAPI_SERVNOT_CREATE
BAPI_SERVNOT_DEL_DATA
BAPI_SERVNOT_GET_DETAIL
BAPI_SERVNOT_MODIFY_DATA
BAPI_SERVNOT_POSTPONE
BAPI_SERVNOT_PUTINPROGRESS
BAPI_SERVNOT_SAVE
IQS7
BAPI_SERVNOT_COMPLETE_TASK
BAPI_SERVNOT_RELEASE_TASK
BAPI_SERVNOT_SUCCESSFUL_TASK
ITOB_BAPI_EQ
BAPI_EQUI_CHANGE
BAPI_EQUI_CREATE
BAPI_EQUI_CREATE_BY_REFERENCE
BAPI_EQUI_DISMANTLE
BAPI_EQUI_GETDETAIL
BAPI_EQUI_GETLIST
BAPI_EQUI_INSTALL
ITOB_BAPI_FL
BAPI_FUNCLOC_CHANGE
BAPI_FUNCLOC_CREATE
BAPI_FUNCLOC_GETDETAIL
BAPI_FUNCLOC_GETLIST
BAPI_FUNCLOC_SET_LABEL_SYSTEM
IWWO
BAPI_SERVNOT_GETCATALOGPROFIL
IWWW
BAPI_EQMT_CREATE
BAPI_EQMT_DETAIL
BAPI_EQMT_DISMANTLEFL
BAPI_EQMT_DISMANTLEHR
BAPI_EQMT_GETCATALOGPROFIL
BAPI_EQMT_GETLISTFORCUSTOMER
BAPI_EQMT_INSTALLFL
BAPI_EQMT_INSTALLHR
BAPI_EQMT_MODIFY
BAPI_SERVICENOTIFICAT_CREATE
BAPI_SERVICENOTIFICAT_GETLIST
MLBO
BAPI_ENTRYSHEET_CHECK
BAPI_ENTRYSHEET_CREATE
BAPI_ENTRYSHEET_DELETE
BAPI_ENTRYSHEET_GETDETAIL
BAPI_ENTRYSHEET_GETLIST
BAPI_ENTRYSHEET_GETRELINFO
BAPI_ENTRYSHEET_RELEASE
BAPI_ENTRYSHEET_RESET_RELEASE

Description
CS/SM notifications BAPIs
Added Items, Causes, Activities, Tasks, Partners of the service notification
Change the user status of a service notification
Complete service notification
Create service notification
Delete Items, Causes, Activities, Tasks, Partners of the service notification
Get details about a service notification
Modify a service notification or associated sub-data
Postpone service notification
Put in process a service notification
Save service notification
CS/SM Tasks BAPIs
Complete Notification Task
Release Notification Task
Release Notification Task
PM Equipment: BAPIs
PM BAPI: Change Equipment
PM BAPI: Create Equipment
PM BAPI: Create Equipment with Reference Equipment
PM BAPI: Install Equipment (Functional Location, Superior Equipment)
PM BAPI: Read Equipment

PM BAPI: Install Equipment (Functional Location, Superior Equipment)

BAPIs for Equipment + Service Notifications


Create equipment
Read details for equipment
Dismantle equipment at functional location
Dismantle equipment from equipment hierarchy
Determine catalog profile for equipment
Select customer equipment
Install equipment at functional location
Install equipment in equipment hierarchy
Change equipment
Create service notification
Select service notifications according to customer or contact person
BAPIs for Entry Sheet (BO 2091)
Check Service Entry Sheet
Create Entry Sheet
Delete Entry Sheet
Display Detailed Data on Entry Sheet
List Entry Sheets
Detailed Release Information Relating to Entry Sheet
Release Entry Sheet
Cancel Release of Entry Sheets

3. Enhancements in Detail
IB020001
Filter components
Function exits:
EXIT_SAPLIBSD_001
Filter components
No documentation in English at present.

IBIP
IBIP: Trans. IBIP Data Transfer
Function exits:
EXIT_SAPLIBIP_001
User Exit: Data Transfer Module (IBIP Batch Input)
You can use this enhancement to develop your own data transfer.
The advantage of the user exit over an internal ABAP is that the following functions are available to you:

Error handling

Remote function call

Test data functions


This extension is called up using transactions IBIP, IBI2 and the ABAP RIIBIP00.
User exit EXIT_SAPLIBIP_001
USER EXIT 001: EXIT_SAPLIBIP_001 of expansion IBIP.
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

For more information, see also IBIP Data transfer documentation.


Enter your coding in ZXPMZU01.
ABAP program LXPMZexa contains an example of source code.

Note:
You can use all GLOBAL data and FORM subroutines in the Includes LXPMZU01 or LIBIPTAP.

IBPP0001
Filter IBase Components When Generating From PP Data
Function exits:
EXIT_SAPLIBPP_001
Filter Components
No documentation in English at present.

ICRP0201
Search Help CS_ORG_02: Authorization Check
Function exits:
EXIT_SAPLCS_ORG_02_001
Customer Exit: Reduction of Displayed Records
The system offers you differing search helps depending on the partner role. From Release 4.6C, you can also use tasks to search for
organizational units. After you have entered the task, the system determines the organizational units.
You can use this customer exit to reduce the number of organizational units, for example, if you do not require all organizational units
for a particular notification type in your company. If you do not use this customer exit, the system displays all suitable organizational
units.
The system proposes the following interfaces:
Table P_RECORD_TAB contains all organizational units.
Parameter P_SHLP contains information about the search help.
Parameter P_CALLCONTROL
Note: You can delete or supplement organizational units by adding or deleting data records to or from the table P_RECORD_TAB.
Do not change the parameter P_CALLCONTROL_STEP if you want to use the general search help display function.
If you want to replace the general search help display by your own display, you must change the parameter P_CALLCONTROL_STEP as
follows:
P_CALLCONTROL_STEP = 'EXIT': Search help processing should be cancelled.
P_CALLCONTROL_STEP = 'PRESEL: You can start search help processing from the beginning.
P_CALLCONTROL_STEP ='RETURN'
You have programmed your own search help display, and want the system to transport the selected organizational units to the screen.
Set the parameter P_CALLCONTROL_STEP to 'RETURN', and enter the selected organizational unit in the table P_RECORD_TAB.

ICRP0202
Search Help CS_ORG_02: Internally-Programmed Selection
Function exits:
EXIT_SAPLCS_ORG_02_002
Customer Exit: Selection of Org Units
The system offers you differing search helps depending on the partner role. From Release 4.6C, you can also use tasks to search for
organizational units. After you have entered the task, the system uses the evaluation path A204 in the standard system to determine
which organizational units can fulfil the tasks entered.
You can use this customer exit to define the rules for determining organizational units.
You will find the tasks that have been predefined by SAP in the table SELOPT which is a component of the parameter P_SHLP.
You must enter suitable organizational units in the table P_RECORD_TAB.
Note:

The parameter of this customer exit is the search help P_SHLP.


Change the table P_RECORD_TAB only.
As an example, you can use the SAP program CS_ORG02_STEP_SELECT from the function group CS_ORG_02. You will find
SAP standard coding here.

ICRP0203
Search Help CS_ORG_02: Propose Task
Function exits:
EXIT_SAPLCS_ORG_02_003
Customer Exit: Proposal of Task Profile
You use this customer exit to define the tasks to be used for determining organizational units.
If you have defined the tasks, the system immediately starts the process of determining the organizational units.
The system proposes the table TASKS as an interface. The table is empty, enabling you to enter the tasks of your choice.
The table consists of the following fields:

OBJTY - This field contains the object type of a task and should have the value T

OBJID - Eight-character number of the task

ICSV0001
Display of geographic location data
Menu entries:
RIAUFK20+LOC
External system
RIEQUI20+LOC
External system
RIIFLO20+LOC
External system
RIQMEL20+LOC
External system
RQMELL10+LOC
External system
SAPLIPAR+LOC
External system
Function exits:
EXIT_SAPLICUS_001
Display Location Information
This enhancement enables an external program to be called up and integrated with location data being displayed. The module is called
up from the PM system at various stages with the corresponding location data, for example:

Equipment lists

Functional location lists

Notification lists

Order lists

Partner overviews of equipment, functional locations, notifications and orders


The field key includes a key for each, for example, the equipment number, the field

ICSV0002
Automatic task determination for service notifications
Function exits:
EXIT_SAPMIWO0_003
Automatic determination of tasks for service notifications
Within the framework of notification processing it is possible to determine tasks automatically. In SAP Standard these tasks are
determined on the basis of response time and service window. These are, in turn, determined by the notification type and/or by the
service order.
In addition to this standard functionality you also have the option of carrying out your own determination of tasks. Complete, up-todate notification data is available as a basis for information to enable you do this. You can derive the tasks that you want from it to
create your own notification. You are also able to establish whether or not the SAP Standard Functionality should run.
The structure VIQMEL contains the notification header data.
Necessary customizing information can be contained in the structures TQ80 and RIWO02.
The tables contain the notification positions (I_QMFE), causes (I_QMUR), tasks (I_QMSM) and actions (I_QMMA).
You can export the tasks that you have determined back into the notification in the table E_QMSM.

ICSV0003
Partner selection
Menu entries:
SAPLIPAR+PAE
External system
SAPLIPAR+PAF
External system
SAPLIPAR+PAO
External system
SAPLIPAR+PAR
External system
Function exits:
EXIT_SAPLIPAR_002
Selection of Notification Partners
You can use this enhancement to extend the SAP System to include your own partner selection from the notification and the order.
Equipment and functional location number are available to you as parameters. The corresponding notification number will also be
transferred if specified. In the OBJTYPE (object type) field, you can establish from where the call originated.
SN = Service notification
PN = Maintenance notification
QN = Quality notification
SO = Service order
PO = Maintenance order
The parameter AUTOMATIC shows whether the call was made manually by the user or whether a determination of partners should be
carried out automatically. A determination will then always be attempted if the reference object was changed or re-entered.
The actual partner determination procedure is actually transferred into the parameter PARGR.
Transfer the necessary partner roles and the corresponding partner numbers to the system. The parameter OBJNR contains the
current object number of the status object belonging to the notification or the order.
Make sure that the partner numbers are given in internal format i.e. with zeros at the beginning.
IMPORTANT:
This enhancement will become effective at the same time for all notification categories, for example for quality notifications and
internal maintenance notifications. It is also active for service and functions and the corresponding partner number into the system.
maintenance orders
.
ICSV0004
Check PM object and display object information
Function exits:
EXIT_SAPLIWO1_003
Check PM Object and Display Object Information
Whenever a maintenance object is changed in service and maintenance notifications or in service and maintenance orders this
function module is directly called up. Accordingly, you have the option of making the user aware of particular characteristics of the
object or of data relating to it i.e. open notifications. However, the user is also able to call up this function explicitly. It can be called up
by first calling up SAP Standard Object Information.
The object keys and texts are provided in the corresponding fields. The activity category shows which session the user is working in.
You obtain the key to the parameters for the SAP Standard Object Information in the field INFO_WIND.
You can use the parameter AUTOMATIC_CHECK to find out whether the user explicitly asked for object information or whether the
function was simply called up automatically by the system due to an object being changed.

ICSV0005
Determining reason for rejection - resource-related billing
Function exits:
EXIT_SAPLISDI_001
Customer Exit: Determining Rejection of Billing Document - Warranty
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).

ICSV0007
Serial Number Partner Transfer on Goods Issue and Returns
Function exits:
EXIT_SAPLIPAS_001
Partner Transfer of Serial Numbers for Goods Issue
You can use this customer exit to determine which partners you would like to transfer into the serial number, within the framework of
deliveries when posting goods issues.
In the standard system, the partners transferred from the goods issue are those that are marked in Customizing for Plant Maintenance
with the indicator Copy partner from partner determination procedure under Functions in the determination procedure, and that exist
in the goods issue document.

ICSV0008
Function exits:
EXIT_SAPLIPAR_003
EXIT_SAPLIPAR_004
EXIT_SAPLIPAR_005
EXIT_SAPLIPAR_003

Validation of additional partner types


Customizing partner check
Reading of the additionally supported partner types
F4 Help for additional partner types

This customer exit enables you to use partner types that are not available as standard partner types in the CS, QM and PM
components.
Previously you were able to use the following partner types:

KU Customer

LI Vendor

AP Contact person

O Organizational unit

S Position

US User

PE Personnel number
Example:
partner_art-nrart = ' '.
append partner_art.
Result: You can also create partner functions of partner type " " in the components PM, QM and SM.

EXIT_SAPLIPAR_004
If you support additional partner types using the function module EXIT_SAPLIPAR_003, you need this function module to read the table
entries of the new partner types. Z contains the table entries for the additionally permitted partner type ' '. This table may also be a
customer-defined one.
Example:
tables: z_table.
case nrart.
when ' '.
select single * from z_table where parnr = parnr.
move-corresponding z_table to diadrp_wa.
endcase.
EXIT_SAPLIPAR_005
The F4 function makes available this function module for additionally supported partner types.

IEQM0001
Add. checks for equip. installation at functional locations
Function exits:
EXIT_SAPLIEL2_002
Check of User-Defined Rules on Installation of Equipments at Function Locations
The function module EXIT_SAPLIEL2_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 can be installed at
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.

IEQM0002
Additional checks for definition of equipment hierarchies
Function exits:
EXIT_SAPLIEL2_001
Check of User-Defined Rules When Defining the Equipment Hierarchy
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.

IEQM0003
Additional checks before equipment update
Function exits:
EXIT_SAPMIEQ0_001
Check of Customer-Defined Rules Before Equipment Update
You call up the function module EXIT_SAPMIEQ0_001 mentioned in this customer exit when you update the data of a piece of
equipment and the data of a serial number.
You can initiate additional objective and logical checks by the system before the piece of equipment and the serial number are
updated.
The update of the data can only take place if the module does not generate an error condition (in the form of an exception). If an
exception is created, the system does not perform the update, but simply issues a corresponding message.
Which message this is, depends on whether you want to define a message of your own:

If so, you must create the exception POSTING_NOT_ALLOWED_EXT. Use the instruction MESSAGE xnnn RAISING <exception>
for this. The system issues the message that you specified in the instruction (alsxnnn)
If not, you must create the exception POSTING_NOT_ALLOWED, whereby it is sufficient to use the instruction RAISE
<exception>.
The system issues the standard message IS200.

In the function module it is not just additional checks that can be performed. It is also possible to supply particular fields of the
equipment and serial number master records with customer-specific values.
The following export parameters are available for these values:

UPDATE_DATA_EQ

UPDATE_DATA_EZ
The fields to be interpreted in them must be selected in the corresponding update structures:

UPDATE_FLAGS_EQ

UPDATE_FLAGS_EZ
Example:
If the sort field ILOA-EQFNR is to be filled with the value '4711', the module must return the following values:

UPDATE_DATA_EQ-EQFNR = '4711' and

UPDATE_FLAGS_EQ-EQFNR = 'X'.

IEQM0004
Object is allowed for contract partner (Order->Maintenance Contract)
Function exits:
EXIT_SAPLIPW0_001
Object Permissible for Contract (Copying of Order/Maintenance Order)
You can use this customer exit to check in the maintenance contract when copying a sales order, whether an object (piece of
equipment, functional location, material, assembly) is allowed for the contract partner.
The partners for an object can be read using the corresponding function module in the function group IPAR. The current partners for
the maintenance contract can be read by customer exit form routines, that you can find in the module pool SAPMV45A.
If an object is not allowed for the partner, an exception can and should be generated in this customer exit using the statement
"MESSAGE RAISING".

IEQM0005
Object allowed for SD contract (MaintContract->Maintenance Contract)
Function exits:
EXIT_SAPLIPW0_002
Object Permissible for Order (Copying of Maintenance Order/Maintenance Order)
You can use this customer exit when copying a maintenance contract into the others, to check whether an object (piece of equipment,
functional location, material, assembly) is allowed for the contract partner.
The partners for an object can be read by the corresponding function modules in the function group IPAR. The current partners for the
maintenance contract can be read by customer exit form routines that you find in the module pool SAPMV45A.
If an object is not allowed for partner, an exception can and should be generated in this customer exit using the statement "MESSAGE
RAISING".

IEQM0006
Object allowed for SD contract (Maintain maintenance cont.)
Function exits:
EXIT_SAPLIPW0_003
Object Permissible for Contract (Maintenance of Maintenance Contract)
You can use this customer exit when processing maintenance contracts to check whether an object (piece of equipment, functional
location, material, assembly) is authorized for the contract partner.
The partner for an object can be read with the corresponding function modules in the function group IPAR. The current partners for
the maintenance contract can be read with customer exit form routines, which you can find in the module pool SAPMV45A.
If an object is not authorized for the contract partner, an exception can and should be generated in this customer exit using the
statement "MESSAGE RAISING".

IEQM0007
Check/change manufacturer field in equipment master
Function exits:
EXIT_SAPMIEQ0_002
Customer-Defined Check/Change in Manufacturer Data for Technical Object
This user exit enables you to check and process equipment or serial number master data. It is called up when the master data is saved.
In this way, requirements are made before the actual save procedure takes place. For example,

Perform individual data verification or

Make available data of other applications


Changes cannot however be made to the data to be saved within the exit.

IHCL0001
Create equipment using material template: Classes/chars
Function exits:
EXIT_SAPLIHCL_001
IHCL Customer Include: Default Values for Classes and Characteristics
The system calls up this function module when you create a piece of equipment using a material as a template, provided that the
material classification data should also be copied over. Assignment to classes and valuation of the characteristics can be influenced.
Process:

All assignments to classes as well as valuation of the characteristics will be read in the function module
PM_CL_COPY_CLASSIFICATION_1.

Both will be transferred to the function module EXIT_SAPLIHCL_001. The number of the new piece of equipment as well as
the material will also be transferred. The following changes should be performed here:
Removal of classes and characteristics that are not required
Replacement of the class type of the material classes by the class type for the equipment classes (field KLART). In
the standard SAP system, the class type therefore changes from 001 to 002
Replacement of the number of classes for the material by the number for the corresponding equipment class (field
CLINT). You can find these numbers by using transaction SE16 for table KLAH, for example.
If differing characteristics are used in the classification of material and equipment, the characteristic numbers (field
ATINN) must also be exchanged.
Setting of the export parameter E_IND_CL_COPY_ACTIVE to 'X' if the adjusted data should also be copied.

The tables will be evaluated during processing of the classification module CLFM_OBJECT_CLASSIFICATION.
Sample coding:
data: l_kssk_rec like kssk.
data: l_ausp_rec like ausp.
* Change of class type in the assignments
move: '002' to l_kssk_rec-klart.
modify allocations from l_kssk_rec transporting klart where klart <> '002'.
* Change of class number
move: '0000060414' to l_kssk_rec-clint.
modify allocations from l_kssk_rec transporting clint where clint <> '0000060414'.
* Change of class number during characteristic evaluation
move: '002' to l_ausp_rec-klart.
modify values from l_ausp_rec transporting klart where klart <> '002'.
* Activate the evaluation
move 'X' to e_ind_cl_copy_active.
Notes: Restrictions and comments:

Classes and characteristics for class types 022 and 023 as well as class types for the variant configuration will not be
transferred to the customer exit. Special processing of these class types is not allowed in function modules for copying.
Only the date can be used to restrict the validity. For this reason, the general validity statement cannot be used.
Only classes and valuations for a class type can be reset.
The transfer structures contain the complete record structure of AUSP and KSSK. In this function module, only fields KLART
and CLINT may be modified in the assignment structure. In characteristic evaluations, changes can be made to fields ATINN,
KLART and the internal valuation.
The system first evaluates and checks the tables during processing in the function module CLFM_OBJECT_CLASSIFICATION.

ILOM0001
Additional checks before saving a functional location
Function exits:
EXIT_SAPMILO0_001
User exit before update of a functional location
Functionality: Customer-defined enhancements before the update of a functional location
This user exit enables the master data of a functional location to be checked and processed. It is called up when the master data is
saved. In this way, you are able to do the following before the actual update:

Perform customer-defined data checks, or

Determine the contents of particular customer-specific fields.


Notes:
The time of execution for the user exits is defined as follows:

After triggering of the function "Save" (F11)

Before the assignment of internal numbers (status, ILOA number, address)


If you do not want a functional location to be updated, you must trigger an exception:

The exception POSTING_NOT_ALLOWED results in the standard message IL201 being displayed in the R/3 System.

After the exception POSTING_NOT_ALLOWED_EXT, the customer-specific message that you defined in the user exit with
MESSAGE ... RAISING POSTING_NOT_ALLOWED_EXT is displayed in the R/3 System.
You can also set some fields directly, based on the check of the field contents. These fields are included in the interface parameter
UPDATE_DATA_IFLO (structure IFLO_USR1). If you want to change the content of a field using this structure, you must transfer the
appropriate update indicator (same field name) with the value 'X' in the corresponding parameter UPDATE_FLAGS_IFLO (structure
IFLO_USR1U). This has the advantage that you do not always have to fill all fields correctly, and that the fields can nevertheless be
initialized explicitly.
If you have extended table IFLOT to include customer-defined fields by creating the Customizing include CI_IFLOT, these customerdefined fields are also available to you in the view IFLO and in the structure IFLO_USR1. If you also want to change these fields, you
must create the Customizing include CI_IFLOTU with the corresponding update indicators (data element 'X').

ILOM0002
User exit when checking structure of location numbers
Function exits:
EXIT_SAPLILOS_001
User exit when checking structure of location numbers
Functionality:
When creating a functional location, the structured location number is checked against the edit mask of the structure indicator. You
are able to perform customer-specific checks on the basis of this standard check using the existing user exit.
You are even able to change the location number directly, using the call parameter CORRECT_BLOCK_DIGITS.
Example:
It is often the case for customers that only very few characters are possible in particular positions in the structure number, or that a
certain character string in one part of the structure number is not compatible with particular character strings in another part of the
structure number.
Internal number assignment is delivered as sample coding for the last part of each location number. For example:
Edit mask:
NNN-ANNN-XXXXX
Hierarchy levels: 1 2 3
Existing locations: 123-P101
123-P102
123-P201
Entry:
123-P1<

Generated number: 123-P103


Function:

The special character "<" is not normally allowed.

After the standard coding has been activated, "<" is interpreted as the required start of internal number assignment to the
end of the current block. The end of the current block results from the definition of the hierarchy levels.

The system selects the locations that already exist (123-P1...) from the database in order to determine the next free number.

The SAP locking mechanism is also used to check whether the number found in this way is already being used by someone
else working in parallel, or whether it is being used by you yourself. In cases such as these, the next number is reassigned.
Notes:

In the R/3 System, the exception KEY_NOT_ALLOWED results in the standard message IL848.
After the exception KEY_NOT_ALLOWED_EXT, the customer-specific message that you defined in the user exit with MESSAGE
... RAISING KEY_NOT_ALLOWED_EXT, is displayed in the R/3 System. In this case, the message defined by you must contain a
number as the first variable (&1), which the R/3 System uses to position the cursor in the input field of the structure number.
For example, if you enter the number 1, the cursor is positioned left-aligned. You can use the standard message IL847 as a
reference.

ITOB0001
PM: Customer include subscreen for technical object master data
Function exits:
EXIT_SAPLITO0_001
Customer Include ITO0: Data Import (Initiator => Include)
EXIT_SAPLITO0_002
Customer Include ITO0: Data Export (Include => Caller)
Screen areas:
SAPLITO01080_XUSR1080_SAPLXTOB1000
Include screen: Alternative 4
SAPLITO01080_XUSR1080_SAPLXTOB1001
Include screen: Alternative 4
SAPLITO01080_XUSR1080_SAPLXTOB1002
Include screen: Alternative 4
SAPLITO01080_XUSR1080_SAPLXTOB1003
Include screen: Alternative 4
SAPLITO01080_XUSR1080_SAPLXTOB1004
Include screen: Alternative 4
This customer enhancement enables you to enter additional master data for technical objects such as equipment, serial numbers, and
functional locations.
For this purpose, you can use transaction CMOD to generate one of the include subscreens assigned to the customer enhancement,
which then appears on the tab for "Other data" (screen 1080 in function group ITO0).
As of Release 4.6A, the flexible (and multiple) assignment of include subscreens on different tabs is supported by customizing suitable
view profiles.
The data exchange between the call program (ITO0) and the subscreen is realized by two exit function modules belonging to the
enhancement:

EXIT_SAPLITO0_001 (Data import ITO0 => XTOB) and

EXIT_SAPLITO0_002 (Data export XTOB => ITO0)


An area with a maximum of ten lines is reserved for the include subscreen on screen SAPLITO0 1080. The include subscreen must be of
the type "Subscreen".
A maximum of five include subscreens (with numbers 1000 to 1004) are provided in transaction SMOD. The different screens can be
used, for example, to show individual data screens depending on the technical object (equipment, functional location) or tab
concerned.
You use transaction CMOD to physically create the required include subscreens.
The include subscreen that is then displayed in the transaction is defined in the function module EXIT_SAPLITO0_001 (output
parameter
E_SUBSCREEN_NUMBER). If the module does not return a value, the include subscreen 1000 is always displayed.
EXIT_SAPLITO0_001
Functionality
This exit function module is part of the customer exit ITOB0001 and is used to import the master data of technical maintenance objects
in the include subscreen belonging to the customer exit.
The following technical objects are currently supported:

Functional locations (I_OBJECT_TYPE = '01'),

Equipment (I_OBJECT_TYPE = '02'),

Serial numbers (I_OBJECT_TYPE = '03').


Technical object data will be transferred to the module in the following structures:

I_DATA_IFLO (Functional locations),

I_DATA_EQUI, I_DATA_EQKT, I_DATA_EQUZ, I_DATA_ILOA (Equipment),

I_DATA_EQUI, I_DATA_EQKT, I_DATA_EQUZ, I_DATA_ILOA (Serial numbers).


However, for serial numbers without a complete equipment master, the initial structures are I_DATA_EQKT, I_DATA_EQUZ and
I_DATA_ILOA.
EXIT_SAPLITO0_002
Functionality
This exit function module is part of the customer exit ITOB0001 and is used to export the master data of technical maintenance objects
from the include screen belonging to the customer exit.
Data is imported in the include subscreen using the module EXIT_SAPLITO0_001.
Data to be exported is transferred to the transfer structures

E_UPDATE_DATA_IFLO (Functional locations),


E_UPDATE_DATA_EQ, E_UPDATE_DATA_EZ (Equipment),
E_UPDATE_DATA_EQ, E_UPDATE_DATA_EZ (Serial numbers), depending on the technical object.

However, the structure E_UPDATE_DATA_EZ is ignored for pure serial numbers.


The data to be copied from the transfer structures is determined by the relevant indicator structures

E_UPDATE_FLAGS_IFLO (Functional locations),

E_UPDATE_FLAGS_EQ, E_UPDATE_FLAGS_EZ (Equipment) and

E_UPDATE_FLAGS_EQ, E_UPDATE_FLAGS_EZ (Serial numbers).

ITOB0002
ITOB: Field changes to copy model
Function exits:
EXIT_SAPLITOBS_001
Customer Exit Creating With Copy Model: Change Copied Field
When creating new technical objects based on a reference object, this customer enhancement enables you to:

Pre-fill fields

Change fields from the object that is being used as a copy reference

The system checks whether the changes you have made are consistent with the system settings.
Functionality:
When creating new technical maintenance objects with reference to a model object, the user can change the copying of field contents
from the copy model set by the system as default. The settings are checked for consistency with the system settings before they are
copied over from the system.
If a technical object is created with a configured copy model in the context of service processing, the system copies the configuration
from the copy model. In this case, it is no longer possible to modify field KMATN.
Notes:
If at least one field was changed, the export parameter E_CHANGED should not be set to an initial value so that the changes will be
taken into account by the system for further processing.

ITOB0003
Function exits:
EXIT_SAPLITO0_003

PM: Customer Include subscreen for fleet object data


Customer Include Additional Fleet Data: Data Import (Caller => Include)
Customer Include Additional Fleet Data: Data Export (Include => Caller)

EXIT_SAPLITO0_004
Include screen, alternative 4
Screen areas:
Include screen, alternative 4
SAPLITO01330_XUSR1330_SAPLXTOB2000
Include screen, alternative 4
SAPLITO01330_XUSR1330_SAPLXTOB2001
Include screen, alternative 4
SAPLITO01330_XUSR1330_SAPLXTOB2002
Include screen, alternative 4
SAPLITO01330_XUSR1330_SAPLXTOB2003
SAPLITO01330_XUSR1330_SAPLXTOB2004
You can use this customer enhancement to enter additional data for fleet objects.
For this purpose, you can generate one of the include screens of this customer enhancement (using transaction CMOD), and it will then
appear on the tabstrip for fleet object data.
The data exchange between the calling program (ITO0) and the subscreen is realized by two of the exit function modules that
belong to the enhancement:

EXIT_SAPLITO0_003 (Data import ITO0 => XTOB) and

EXIT_SAPLITO0_004 (Data export XTOB => ITO0)


In screen SAPLITO0 1330, an area of maximum ten lines is reserved for the include subscreen. The include subscreen must be of the
type "subscreen".
In transaction SMOD, a maximum of five include subscreens are provided (numbered 2000 to 2004). The various screens can be used,
for example, to display individual data screens per fleet object type.
You can use transaction CMOD to physically create the required include subscreens.
You define in function module EXIT_SAPLITO0_003 (output parameter E_SUBSCREEN_NUMBER) which include subscreen should then

be displayed in the transaction. If the module does not return a value, include subscreen 2000 is always displayed.

EXIT_SAPLITO0_003
Functionality:
This exit function module is part of the customer exit ITOB0001 and is used to import the master data of technical maintenance objects
in the include subscreen belonging to the customer exit.
The following technical objects are currently supported:

Functional locations (I_OBJECT_TYPE = '01'),

Equipment (I_OBJECT_TYPE = '02'),

Serial numbers (I_OBJECT_TYPE = '03').


Technical object data will be transferred to the module in the following structures:

I_DATA_IFLO (Functional locations),

I_DATA_EQUI, I_DATA_EQKT, I_DATA_EQUZ, I_DATA_ILOA (Equipment),

I_DATA_EQUI, I_DATA_EQKT, I_DATA_EQUZ, I_DATA_ILOA (Serial numbers).


However, for serial numbers without a complete equipment master, the initial structures are I_DATA_EQKT, I_DATA_EQUZ and
I_DATA_ILOA.

EXIT_SAPLITO0_004
Functionality:
This exit function module is part of the customer exit ITOB0001 and is used to export the master data of technical maintenance objects
from the include subscreen belonging to the customer exit.
Data is imported in the include subscreen using the module EXIT_SAPLITO0_001.
Data to be exported is transferred to the transfer structures:
o E_UPDATE_DATA_IFLO (Functional locations),
o E_UPDATE_DATA_EQ, E_UPDATE_DATA_EZ (Equipment),
o E_UPDATE_DATA_EQ, E_UPDATE_DATA_EZ (Serial numbers), depending on the technical object.
However, the structure E_UPDATE_DATA_EZ is ignored for pure serial numbers.
The data to be copied from the transfer structures is determined by the relevant indicator structures

E_UPDATE_FLAGS_IFLO (Functional locations),

E_UPDATE_FLAGS_EQ, E_UPDATE_FLAGS_EZ (Equipment) and

E_UPDATE_FLAGS_EQ, E_UPDATE_FLAGS_EZ (Serial numbers)

ITOB0004
PM: Customer Exit fleet identification data: Checks
Function exits:
EXIT_SAPLITO0_005
Customer Exit Fleet Identification Data: Checks
You can use this exit function module to check and modify identification data for fleet objects (for example, for clarity). You can also
refer to:

The object type (functional location, equipment)

The activity (creating, changing, displaying)

All technical object data (View ITOB) and

All fleet object-specific fields (Table FLEET) for checking.


This data is transferred to the structures I_OBJECT_TYPE, I_ACTIVITY_TYPE, I_DATA_ITOB and I_DATA_FLEET. You can only change the
fleet object-specific identification data. This data will then be transferred to the transfer structure E_UPDATE_FLEET_IDENT.

IMRC0001
Measurement Point/Measurement Document: Exit before update (after COMMIT WORK)
Function exits:
EXIT_SAPLIMR0_001
User Exit Before Update of Measuring Points/Documents (After COMMIT WORK)
Functionality:
This user exit enables the following customer-specific enhancements:

Determination of particular field contents in measuring points and measurement documents

Generation of workflow events

Update of customer-defined tables


Example:
Before a solution is provided in the standard system, or independently of this, business processes can be automated. Possible
scenarios could include:

Automatic task determination when value limits are exceeded or when a particular valuation code occurs

Automatic scheduling of the affected maintenance plans after a counter reading is updated

Valuation of counter reading differences as the basis on which billing or internal cost allocation is performed
The generation of malfunction notifications when particular valuation codes occur is delivered as sample coding. This enables
customer-specific, condition-based maintenance. A malfunction notification is triggered in the sample coding if:

The measurement document has not yet been assigned to a notification or order, and the measurement document contains
a valuation code whose last digit is not equal to '0'.
The system can also check by how much the measurement reading IMRG-READG deviates from the target value IMPT-DESIR or
whether particular threshold values have been exceeded. With regard to this, the customer-specific parameters that are required can
be stored in the customizing include CI_IMPTT or in the classification of the measuring point.
Notes:
The user exit is executed after COMMIT WORK has been triggered by the leading application program. In online programs this occurs
after the user has triggered the function "Save" (F11). At this point, no further dialog is possible.
If you want to set the content of particular data fields of measuring points or measurement documents, use the table parameters
IMPT_UPD_USR and IMPT_INS_USR for measuring points, or IMRG_UPD_USR and IMRG_INS_USR for measurement documents. The
reference structures IMPT_USR1 or IMRG_USR1 determine which fields you can set directly: In addition to some standard fields, this
comprises all customer-defined fields corresponding to the respective customizing include.
In the standard system, the update of measuring points and measurement documents occurs in the asynchronous update task. For this
reason, the parameter UPDATE_ASYNCHRON has the default value 'X'. However, as the idea behind measuring points is that they can
be linked to any application objects, customer-defined update calls should support both cases, meaning CALL FUNCTION once with,
and once without the addition IN UPDATE TASK.
Further Information:
You can use the function module MEASUREM_DOCUM_RFC_SINGLE_001 for performing the automatic transfer of measurement and
counter readings from feeder systems.

IMRC0002
Measurement Point: Menu exit for customer-specific function
Menu entries:
SAPLIMR0+PT1
External system
Function exits:
EXIT_SAPLIMR0_002
User exit for customer function in measuring point menu
Functionality:
This user exit enables the following customer-specific enhancements:

Triggering of customer-specific functions based on the online processing of a measuring point. This can also involve calls of
programs outside the R/3 System. The R/3 System then acts as a client.

Calling of customer-defined screens for displaying and maintaining customer-defined data fields at the measuring point.
Example:
An external visualization program can be started as a customer-specific function for a process that is to be analyzed. The current
measuring point can be highlighted graphically in this process-visualization. In so far as this involves non-critical functions, the
operation of the external process can occur directly from the R/3 user interface as the result of customer-specific functions.
Notes:
The SAP enhancement IMRC0002 must be activated if you want to use the function module.
The data fields of the measuring point contained in the structure IMPT_USR1 can be changed using the parameter
UPDATE_DATA_IMPT. A prerequisite for this is that the field UPDATE_DATA_IMPT-POINT is filled correctly and that the parameter
ACTIVITY_TYPE is not equal to "3" (Display). In addition, the parameter UPDATE_INDICATOR must either have the value "I" (Insert) or
"U" (Update).
If you have extended table IMPTT to include customer-defined fields by creating the Customizing include CI_IMPTT, then these fields
are also available to you in the structures IMPT and IMPT_USR1.

IMRC0003
Measurement Document: Menu exit for customer-specific function
Menu entries:
SAPLIMR0+DO1
External system
Function exits:
EXIT_SAPLIMR0_003
User exit for customer function in measurement document menu
Functionality:
This user exit enables the following customer-specific enhancements:

Triggering of customer-specific functions based on the online processing of a measurement document. This can also involve
calls of programs outside the R/3 System. The R/3 System then acts as a client.

Calling of customer-defined screens for displaying and maintaining customer-defined data fields at the measurement
document.
Example:
If you want to increase the meaningfulness of a measurement document by documenting the environment conditions or the
measurement procedures used, then you do not have to just rely on the long text for doing this. Instead, you can extend the
measurement document table IMRG to include customer-defined fields, and display and maintain these fields in a customer-defined
data screen.
Notes:
The SAP enhancement IMRC0003 must be activated if you want to use the function module.
The data fields of the measurement document contained in the structure IMRG_USR1 UP can be changed using the parameter
UPDATE_DATA_IMRG. A prerequisite for this is that the field UPDATE_DATA_IMRG-MDOCM is filled correctly and that the parameter
ACTIVITY_TYPE is not equal to "3" (Display). In addition, the parameter UPDATE_INDICATOR must either have the value "I" (Insert) or
"U" (Update).
If you have extended table IMRG to include customer-defined fields by creating the Customizing include CI_IMRG, then these fields are
also available to you in the structure IMRG_USR1.

IQSM0001
Automatic serial number assignment
Function exits:
EXIT_SAPLIPW1_001
Automatic Serial Number Assignment
Functionality:
You can use this customer exit to determine keys for new serial numbers that are to be created, and return them to the calling
program.
The following data is available to help determine the keys:

Number of serial numbers required

Operation for which the serial numbers are to be created (generally, this involves one of the serialization procedures that are
defined in Customizing for the serial number profile)

Material, for which serial numbers are to be assigned (possibly with configuration data)

Possible SD document number and document item number

Possible PP order number and order item number, as well as production plant
A table is returned with the generated serial number keys. These keys are then subjected to those checks necessary in the SAP
standard program.
Notes:
The customer exit can be used in the following situations:

Generation of serial numbers on the basis of the goods movement:


Either if the indicator Serial number usage is set as "automatic" in the serial number profile for the corresponding
serialization operation
Or, if the user chooses "Create serial numbers automatically" during a serialization operation in the dialog window
for creating serial numbers

Multiple entry of serial numbers on the basis of the master data; in this case, the transaction code of the relevant master
data
transaction IQ04 is transferred as the serialization procedure.
If fewer serial numbers than required are generated, due to the customer-specific program logic of this customer exit, the standard
generation logic creates the remaining serial numbers with consecutive, numerical keys.
If more serial numbers than required are generated, the superfluous keys are ignored.

IQSM0002
Check when copying object list
Function exits:
EXIT_SAPLIPW1_002
Check on Copying Object List
Functionality:
You can use this customer exit to initiate checks that should be performed when copying object list entries during serialization
operations.
The following data is available for this:

The serialization operation that initiated the copying (see also table T377X or T377X_T)

The header data of the object list that serves as a copy reference

The header data of the object list that data is being copied to

The current object list entry that is to be copied

The master data of the serial number which - if it exists - is part of the copy operation
If the result of the check is negative, the exception "Veto" must be triggered. The object list entry concerned is then not copied.
If the message fields of structure SYST are filled, for example, by a MESSAGE ... RAISING language element, then the message
information is then further processed by the calling program (for example, they are recorded in a log).

IQSM0003
Serial numbers, user exit for additional data
Menu entries:
SAPLIPW1+ZUD
External system
Function exits:
EXIT_SAPLIPW1_003
Serial Numbers, User Exit for Additional Fields
Functionality:
This customer exit enables you to enter customer-specific fields for the serial numbers within the framework of serial number
processing. This can also be performed in an internal dialog mode.
The exit contains a function code that you can activate in the user interface. The function code in turn calls the function module
EXIT_SAPLIPW1_003.
The update of this data is performed by customer exit IQSM0005.
The transfer parameters are:

S3_HEADER
SER01 Delivery
SER02 Maintenance contract, SD order
SER03 Goods movement
SER04 Inspection lot
SER05 PP order

S3_HEADER_DATA

Data from the respective documents, document number, document item

S3_AKTYP
V Change
H Create

S3_IEQUI Table of Serial Numbers


The table contains all serial numbers that play a role in the current transaction. By using the table field OBKNR, it is
Possible to filter out the serial numbers assigned to the object list header that is currently relevant
(S3_HEADER_DATA), since the object list header also contains the internal object list number.
Example:

You want to maintain additional data for the serial numbers, that is stored in internal structures or in append structures of
structure EQUI. You can call up the screen for maintaining this data using this function.

You want to maintain additional data for the serial number that exists in structure EQUI. The fields that you can transfer are
in the internal structure ISTRU_EQ

IQSM0004
Serial numbers, user exit after exiting the serial screen
Function exits:
EXIT_SAPLIPW1_004
Serial Numbers, User Exit After Exiting the Serial Screen
Functionality:
This customer exit enables you to enter further fields for the serial number, within the framework of serial number processing. This can
also be performed in dialog mode.
The customer exit is called up when the system leaves the serial number screen.
The update of this data is performed by customer exit IQSM0005.
The transfer parameters are:

S4_HEADER
SER01 Delivery
SER02 Maintenance contract, SD order
SER03 Goods movement
SER04 Inspection lot
SER05 PP order
S4_HEADER_DATA
Data from the respective documents, document number, document item
S4_AKTYP
V Change
H Create
S4_IEQUI Table of Serial Numbers
The table contains all serial numbers that play a role in the current transaction. By using the table field OBKNR, it is
possible to filter out the serial numbers assigned to the object list header that is currently relevant
(S4_HEADER_DATA), since the object list header also contains the internal object list number.

Example:

You want to maintain additional data for the serial numbers, that is stored in internal structures or in append structures of
structure EQUI. You can call up the screen for entering this data using this function.

You want to maintain additional data for the serial numbers that exists in structure EQUI. The fields that you can transfer are
in the internal structure ISTRU_EQ.

IQSM0005
Serial numbers, user exit in the update
Function exits:
EXIT_SAPLIE01_005
Serial Numbers, User Exit in the Update
This customer exit is called up during an update for each serial number. For each serial number you can enter data that has been
defined in the following structures:

ISTRU_EQ (data for segment EQUI)

ISTRU_EZ (data for segments EQUZ and ILOA)


This data is copied to the serial numbers. Each of the structures has its own respective indicator, which displays whether changes
should be made or not.
Note:
It is not possible at present to transfer usage period data for the piece of equipment. If necessary, this must be performed manually.
Example:
You can call up the update of internal structures for the serial number here. A manufacturer part number can be assigned to each
serial number. The manufacturer data can be determined from the manufacturer part number, and copied to the serial number.

IQSM0007
Serial numbers, user exit for goods movements
Function exits:
EXIT_SAPLIE01_007
Serial Numbers, User Exit in Goods Movement
This customer exit is used to transfer the document data for a goods movement into serial number management. This involves:
The complete goods document (transfer table S7_TAB_MSEG, structure MSEG),
The purchase order history (transfer table S7_TAB_EKBE, structure EKBE).
The customer exit is called as soon as the document is saved. This means that at this moment in time the document data can be placed
in the global memory of function group IE01, where it is then available when the serial numbers in the document are saved
immediately afterwards.
Access to the document data (placed in the global memory of IE01) is performed in customer exit EXIT_SAPLIE01_005, which can be
activated using customer exit IQSM0005.
Certain document data can now be copied into the master data of the serial numbers.
Example:
You want to copy the goods recipient from the material document and the value from the purchase order history into the serial
number.
Goods movement
You activate the customer exit EXIT_SAPLIE01_007 so that you can prepare the required information from the goods document and
the purchase order history. You can read additional data (for example, from the purchase order) where necessary.
Posting
You activate the customer exit EXIT_SAPLIE01_005. The data prepared with user exit EXIT_SAPLIE01_007 is available here (for
example, goods recipient or purchase orders value). This data can be copied into the master data of the serial numbers.

IQSM0008
Serial number character string check
Function exits:
EXIT_SAPLIPW1_008
Check of Serial Number - Character String
You can use this customer exit to check whether a character string that has been entered or transferred via an interface (for example,
BAPI or IDOC) is permitted as a serial number.
The corresponding material number in this context is available as an interface parameter for check criteria.

IWMI0001
Function exits:
EXIT_SAPLISMPM_IDOCS_001
EXIT_SAPLISMPM_UPD_IDOCS_001
EXIT_SAPLISMPM_UPD_IDOCS_002

User exits for SM/PM IDOCs


Create additional IDoc data segments in IORDER01 or INOTIF01 IDoc
Validate if an order can be completed
Validate if a notification or notification task can be completed
Validate if order or operation can be updated

EXIT_SAPLISMPM_UPD_IDOCS_003
Functionality:
The function modules in function group XIWMI provide user exits for processing some Work Management Interface IDocs.
IORDER01 and INOTIF01 outbound IDocs: the EXIT_SAPLISMPM_IDOCS_001 function is called each time a data segment is added in
T_IDOC_DATA internal table. The internal table can be modified in the user exit (entries can be inserted/modified/deleted).
IORUPD01 inbound IDoc: the EXIT_SAPLISMPM_UPD_IDOCS_001 function is called when the completion of an order is requested via
IDoc. A COMPLETION_REJECTED exception can be raised by the user exit.
INTUPD01 inbound IDoc: the EXIT_SAPLISMPM_UPD_IDOCS_002 function is called when the completion of a notification or a task (for
a task when the MANUM parameter is not initial) is requested via IDoc. A COMPLETION_REJECTED exception can be raised by the user
exit.
IOAUPD01 inbound IDoc: the EXIT_SAPLISMPM_UPD_IDOCS_003 function is called when the update of work assignment fields is
requested via IDoc for an order or an operation (for an operation when the T_OPER-VORNR parameter field is not initial). A
UPDATE_REJECTED exception can be raised by the user exit, or different values can be set in fields to be updated.
If one IDoc is extended, add the new segment data after the preceding standard segment was processed. To determine which of the
many optional import parameters is available for which segments, look at the code of the IDOC_INPUT_IORDER or IDOC_INPUT_INOTIF
calling functions.
EXIT_SAPLISMPM_IDOCS_001
Functionality:
This user exit can be used to insert/modify/delete entries in the IDoc data segments internal table, for IORDER01 and INOTIF01
outbound IDocs. The function is called each time a new data segment is added to the T_IDOC_DATA internal table.
Notes:
The code should look like this:
CASE idoc_type.
WHEN 'IORDER01'.
CASE segment_name.
WHEN 'E1ORHDR'.
...
ENDCASE.
WHEN 'INOTIF01'.
...
ENDCASE.
If one IDoc is extended, add the new segment data after the preceding standard segment was processed.
Technical note:
To determine which of the many optional import parameter is available for which segments, look at the code of the
IDOC_INPUT_IORDER or IDOC_INPUT_INOTIF calling functions.
EXIT_SAPLISMPM_UPD_IDOCS_001
Functionality:
This user exit is called by the IORUPD01 inbound IDoc processing, when the completion of an order is requested. If the order should
not be completed based on user criteria, a COMPLETION_REJECTED exception can be raised.
EXIT_SAPLISMPM_UPD_IDOCS_002
Functionality:
This user exit is called by the INTUPD01 inbound IDoc processing, when the completion of a notification or task is requested. If the
completion should not be performed based on user criteria, a COMPLETION_REJECTED exception can be raised.

Technical note:
If the MANUM parameter is initial, the completion is requested for the whole notification, else it is for a task of the notification.
EXIT_SAPLISMPM_UPD_IDOCS_003
Functionality:
This user exit is called by the IOAUPD01 inbound IDoc processing, to allow the validation of an update of work assignment fields for an
order or an operation. If the update is not allowed based on user criteria, a UPDATE_REJECTED exception can be raised. If the work
assignment fields can be updated, but to different values than those contained in the IDoc, the values can be modified in the user exit.
Technical note:
If the T_OPER-VORNR field is initial, the order header is to be updated. The order work assignment fields are in the T_ORDER
structure. Else, an operation is to be updated and the work assignment fields are in the T_OPER structure.

CNEX0013
Order: Customer enhancement: Default item category component assignment
Function exits:
EXIT_SAPLCOMK_004
PM Order: Customer Enhancement - Default for Item Category in component assignment
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.

IWO10001
Create a PM sub-order
Function exits:
EXIT_SAPLCOIH_001
Create Maintenance Sub-Order: Customer-Specific Additions for Order Header
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.

IWO10002
PM maintenance order: Customer check for order release
Function exits:
EXIT_SAPLCOIH_002
PM Order: Customer Exit Before Release
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.

IWO10004
Maintenance order: Customer check for order completion
Function exits:
EXIT_SAPLCOIH_004
PM Order: Customer Exit for Technical Completion Event
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.
*
* INCLUDE ZXWO1U03
*

* rckgemeldet
data: stk_rue like jest-stat value 'I0009'.

clear sy-subrc.
call function 'STATUS_CHECK'
exporting
objnr
= caufvd_imp-objnr
status
= stk_rue
exceptions
status_not_active = 02.
if sy-subrc = 2.
raise completion_rejected.
endif.

IWO10005
Maintenance order: Customer-specific determination of profit centre
Function exits:
EXIT_SAPLCOIH_005
PM Order: Customer Enhancement to Determine Profit Centre
This extension allows you to perform customer-specific determination of the profit centre.
In the SAP standard, the system determines the profit centre from the cost centre of the main work centre.
However, if you want to represent the point of receipt in the profit centre, you can use the following coding as a reference. In this
example the cost centre of the PM object (functional location or equipment) is used for profit centre determination.
If no profit centre determination is required, the exception NO_PC_DETERMINATION can be set.
Also, no profit centre determination will be carried out if the customer extension returns a profit centre.
*
* INCLUDE ZXWOCU04
*
DATA: DATE LIKE CAUFVD-GSTRP.
DATA: XCSKSV LIKE CSKSV.

*
*

PERFORM GET_HEADER_DATE(SAPLCOIH) USING CAUFVD_IMP


DATE.
IF NOT CAUFVD_IMP-KOSTL IS INITIAL.
CALL FUNCTION 'RK_KOSTL_READ'
EXPORTING
DATUM
= DATE
KOKRS
= CAUFVD_IMP-KOKRS
KOSTL
= CAUFVD_IMP-KOSTL
IMPORTING
XCSKSV
= XCSKSV
EXCEPTIONS
KOSTL_NOT_FOUND = 02.
* . . . Kostl nicht vorhanden
IF SY-SUBRC = 1.
RAISE KOSTL_NOT_FOUND.
ELSE.
PRCTR = XCSKSV-PRCTR.
ENDIF.
ELSE.
RAISE NO_PC_DETERMINATION.
ENDIF.

IWO10006
Maintenance order: FCode exclusion through customer Enhancement
Function exits:
EXIT_SAPLCOIH_006
PM Order: Customer Enhancement for Exclusion of Function Codes
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.

IWO10007
Maintenance order: Customer enhancement - permits in the order
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.
The following example can be expanded on a customer-specific basis. It shows how permits can be read in:
*
* INCLUDE ZXWOCU05
*
data: begin of ihsg_tab occurs 30.
include structure ihsg.
data: end of ihsg_tab.

*
*

data: begin of ihgns_tab occurs 30.


include structure ihgns.
data: end of ihgns_tab.
if not ind_gen is initial.
call function 'SPECIALPER_FOR_PRINT'
exporting
objnr = caufvd_imp-objnr
tables
pihsg = ihsg_tab
pihgns = ihgns_tab
exceptions
others = 1.
endif.

IWO10008
Customer enhancement: Determination of tax jurisdiction code
Function exits:
EXIT_SAPLCOIH_008
PM order: Customer enhancement to determine Tax Jurisdiction
No documentation in English at present.
(SAPLCOIH LCOIHF2V EXIT_SAPLCOIH_008 ZXWOCU06).
This user-exit is triggered each time the order is saved
OSS Note: 528811 Customer exit IWO10008 is not called

IWO10009
PM Order: Customer Check for 'Save' Event
Function exits:
EXIT_SAPLCOIH_009
PM order: Customer check at time 'Save'
This customer enhancement allows you to perform customer-specific checks.
If the customer enhancement is left with an exception, the order cannot be saved.
Messages must be processed 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, as a result,
the order cannot be saved.
Example 2:
A customer wants to ensure that only certain people are authorized to set certain priorities.
Example 3:
A customer does not authorize certain people to change certain fields. To do this, the original status must be determined within the
customer enhancement. This can be performed by using the following function module: function
CO_BT_CAUFV_OLD_READ_WITH_KEY.
Note that this customer enhancement is also processed for the maintenance plan call or for the immediate order from the notification.
An exception message here results in a program termination. (If you want to prevent this, request the transaction code (SY-TCODE) in
the customer enhancement.

IWO10010
Maintenance order: Customer enhancement for determining WBS element
Function exits:
EXIT_SAPLCOIH_010
PM Order: Customer Enhancement for Determination of WBS Element
You can use this enhancement to make your own determination of the WBS element.
The enhancement runs:

When creating the order

For each change of the maintenance object

When saving
The entire dialog structure of the order header is made available as a parameter. The WBS element of the object may already be
available in the dialog structure, depending on the Customizing setting.
In case of change, the "old" work area is also available.
In the field Event, the following times are encrypted:

1 = Create

2 = Change object

3 = Save
The customer enhancement simply returns the WBS element. This is then checked.
Caution:
As soon as the enhancement is activated, the WBS element, which may already be available in the export parameter PSPEL, must be
returned if no determination is made.

IWO10011
Maintenance order: Customer enhancement for component selection
Menu entries:
SAPLCOIH+MSF
External system
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
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.

IWO10012
Maintenance order: Priority handling on central header
Function exits:
EXIT_SAPLCOIH_012
PM Order: Priority treatment on central header
No documentation in English at present.

IWO10015
Maintenance order: F4 Help for user fields on operation
Function exits:
EXIT_SAPLCOIH_015
PM Order: F4 Help for User Fields on Operation
This customer exit is available when you request possible entries for a field in the operation detail screen User data.
The R/3 System provides the following fields as import parameters:

Fields in the order header

All fields for the operation

The name of the operation field for which you have requested possible entries
You can enter the value that you determined in the R/3 System.

IWO10016
PM Order: Customer enhancement to check operation user fields
Function exits:
EXIT_SAPLCOIH_016
PM Order: Check Entry of User Fields on Operation
This customer exit is available when you enter data in a field in the operation detail screen User data.
Here, you have the option of performing your own checks and issuing notifications for the fields in this screen.

IWO10017
Determine external order number by customer logic
Function exits:
EXIT_SAPLCOIH_017
PM Order: Determine External Order Number by Customer Logic
You can use this enhancement to create an external order number according to internal logic.
The dialog can be suppressed using the parameter SUPPRESS_DIALOG = X. The number is then checked by the system.
Note:
The enhancement only runs if the system defines that the order type has an external number range.
The enhancement does not run for the maintenance call.
Caution:
Do not send any system messages in the enhancement because these cause a program termination in the PBO.

IWO10018
Maintenance order: User fields on order header
Function exits:
EXIT_SAPLCOIH_018
PM Order: User Fields for Order Header PBO
EXIT_SAPLCOIH_019
PM Order: Customer Enhancement for User Fields for Order Header PAI
Screen areas:
SAPLCOIH6666_CUSTSCR1_SAPLX Include screen user data
WOC0900
The data for the maintenance order/service order is stored in one of the database tables defined by SAP AG. You can use this
enhancement to make customer-specific enhancements in the table of order headers (table AUFK).
In the transactions for order processing, you can activate a customer-specific function, with which you can call up your own screen. On
this screen, you can call up the newly listed fields in the table AUFK for maintenance or display purposes.
The enhancement IWO10018 contains the following components:

Menu options:

SAPLCOIH + CUK

Function exits:

EXIT_SAPLCOIH_018

EXIT_SAPLCOIH_019

Screen areas:

SAPLCOIH 6666 CUSTSCR1 SAPLXWOC 0900


Proceed as follows:
1.
2.
3.

Create an enhancement project using transaction CMOD.


Assign the enhancement IWO10018 to this project.
List your fields in the structure CI_AUFK using transaction SE11 (ABAP Dictionary) if they have not already been defined by

4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.

other applications.
Note the name space for fields reserved for the customer.
Activate the structure.
Note that a table may contain a maximum of 255 fields. SAP can list new fields in the table AUFK.
Process the components in transaction CMOD.
To do this, you must:
Assign a name to the function Customer fields
Code the function exit EXIT_SAPLCOIH_018 for data transfer from the SAP application to the screen area
Code the function exit EXIT_SAPLCOIH_019 for data transfer from the screen area to the SAP application
Create the screen area
The function exits are filled, in which the Include contained therein is created.
Call up processing of the Include using Choose.
Activate the project.

EXIT_SAPLCOIH_018
This function module provides the customer-specific screen SAPLCOIH 6666 with the data from the order header and the data entered
individually by you.
EXIT_SAPLCOIH_019
This function module writes the data, which was entered in the customer-specific screen SAPLCOIH 6666, to the document table.

IWO10020
Maintenance order: Automatically include task list
Function exits:
EXIT_SAPLCOIH_020
PM Order: Automatic Inclusion of Task List Using IW31, IW34, IW36
This customer exit enables you to find automatically maintenance task lists when creating maintenance orders/service orders and to
include them immediately in the generated order.
You can use this customer exit in the following transactions:

Create PM order (IW31)

Create PM order for the notification (IW34)

Create PM sub-order (IW36)


The data of the order header is available to enable you to determine the data that you require.
In order to simplify the use of this function module, the following example coding is included in the enhancement:
Call-up of task list selection contained in the standard system:

Object-related

Task list for assembly

Task list for object structure

Task list generally

Using number

User-specific selections (enhancement IWO20001)

IWO10021
Automatic task list transfer when creating order from notification
Function exits:
EXIT_SAPLCOIH_021
PM: Automatic Task List Transfer when Order Generated from Notification
This customer exit enables you to find automatically task lists when generating a maintenance order/service order from a notification
and then include these in the order generated.
The data of the order header is available to enable you to determine the task lists that you require. The task lists are identified by
means of the task list header data and are transferred to the system, which then puts the task lists in the order that is generated.
In order to simplify the use of this function module, the following example coding is included in the enhancement:
Call-up of task list selections contained in the standard system:

Object-related

Task list for assembly

Task list for object structure

General maintenance task list selection


Additionally, you can also develop your own selections. If you use customer exit IWO20001 (customer-specific selection of task-lists in
the maintenance order), you can also use the coding found there in the same way for this customer exit.

IWO10022
Determine calendar from user exit
Function exits:
EXIT_SAPLCOIH_014
Maintenance Order: Priority Handling on Central Header
This user exit gives you the option of defining a calendar especially for the order header dates, which does not correspond to
the calendar of the main work centre for the order.
You can therefore also schedule, if necessary, special dates (for example, weekends, public holidays).
The system determines the calendar valid for the order header dates according to the following hierarchy:

Plant calendar Calendar of the main work centre Calendar which is active for this customer exit

IWO10023
Service order: Change header data for advance shipment doc.
Function exits:
EXIT_SAPLISM6_001
Exit for Advance Shipment Addition of Header Data for Sales Order
Using this customer exit, you can change or complete data to the sales document header structure PAR_VBAKKOM_CHG. You can
change the following data:

Sales document type

Shipping condition

Sales area

Sales office

Sales group
You can complete the following data:

Collective number

Order reason
You can still change and complete additional partner functions with the corresponding partner evaluations in the structure
PAR_VBPAKOM_TAB (for example, partner function VU responsible user with partner evaluation <Office user name>).
The actual values of the service order header (Structure PAR_CAUFVD_IMP) as well as transaction environment data (Structure
PAR_TC10_IMP) and the basic service type (Structure PAR_T350_IMP) are available as contextual data.
EXIT_SAPLISM6_001
When creating a pre-dispatch document for the service order, sales document header data for the document can be changed. Data for
the structure VBAKKOM is already available for change.

IWO10024
Service order: Changes to items for advance shipment
Function exits:
EXIT_SAPLISM6_002
Advance Shipment Addition of Item Data for Sales Order from Order
Using this customer exit, you can change or complete all data for the sales item (structure PAR_VBAPKOM_CHG). You can change the
following data:

Accounting indicator

Material number

Plant

Storage location

Target quantity

Target unit
You can complete the following data for example:

Billing block

Reason for cancellation


Using the structure PAR_VBEP_CHG, you can change (customer order quantity) or complete (delivery block, item category of schedule
line) the data for the first schedule line of each item.
You can still change and complete additional partner functions with the corresponding partner evaluations in the structure
PAR_VBPAKOM_TAB (for example, partner function VU responsible user with partner evaluation <Office user name>).
The current values of the service order header (Structure PAR_CAUFVD_IMP) as well as transaction environment data (Structure
PAR_TC10_IMP) and the basic service type (Structure PAR_T350_IMP) are available as contextual data.
EXIT_SAPLISM6_002
When creating the pre-dispatch document, you can change data here for the VBAPKOM (item data) and VBEPKOM (scheduling data)
structures.
.
IWO10025
PM/SM order: Finding responsible cost centre
Function exits:
EXIT_SAPLCOIH_025
Customer Determination of Cost Centre Responsible
The customer exit is used to determine the responsible work centre.
The customer exit runs when the order is created and each time it is saved. It is no longer processed once the order has been
technically completed or a business completion has been performed.
If SAP logic should not be used to determine the responsible work centre (the cost centre of the main work centre), the exception
NO_KOSTV must be set.

IWO10026
User check on setting status 'Do not perform'
Function exits:
EXIT_SAPLCOIH_026
Customer Check Status 'Not Performed'
No documentation in English at present.

IWO10027
User exit: Generate user-defined settlement rule
Function exits:
EXIT_SAPLCOI1_027
Customer Enhancement: Create Settlement Rule
This customer exit can be used to generate settlement rules.
You can use it, if an object list with different account assignment objects is assigned to the order, and you want to distribute the
settlement of costs proportionally to the account assignment objects.
The function module has the following parameters:
Import parameter:

CAUFVD_IMP: Order header data


Tables:

PMDFU_TAB: Settlement rule(s) to be generated


RIWOL_TAB: Object list for order (if available)

Prerequisites
To form the settlement rules, enter the required data in the following fields of the internal table PMDFU_TAB:

PMDFU_TAB-KONTY: Account assignment receiver category


The following account assignment receiver categories are supported:

Cost centre

Order

WBS element

Profitability segment

Fixed asset

G/L account
Sales and distribution document PMDFU_TAB-FDIND: Receiver
PMDFU_TAB-FDIND2:
For those cases where there are two key fields (for example, fixed asset, and sales and distribution document), enter the second key
here.

PMDFU_TAB-PERBZ: Period description

PMDFU_TAB-PROZS: Percentage

PMDFU_TAB-AQZIF: Equivalence number


SAP is continuing to enhance the structure PMDFU.
Exceptions
DO_NOT_BUILD_SETTLEMENTRULE: The setting of this exception prevents the system from generating a settlement rule with a default
for the distribution rule. This can be necessary, for example, if very complex settlement rules are involved.
Example:
The following ABAP coding example should show how 50% rules can be generated for the cost centres A100 and K011:
First entry in table PMDFU_TAB:
PMDFU_TAB-KONTY = 'KS'.
PMDFU_TAB-FDIND = 'A100 '.
PMDFU_TAB-PERBZ = 'GES'.
PMDFU_TAB-PROZS = '50'.
APPEND PMDFU_TAB.
Second entry in table PMDFU_TAB:
PMDFU_TAB-KONTY = 'KS'.
PMDFU_TAB-FDIND = 'K011 '.
PMDFU_TAB-PERBZ = 'GES'.
PMDFU_TAB-PROZS = '50'.
APPEND PMDFU_TAB.

IWO10029
Inclusion of bill of material in PM/SM order
Function exits:
EXIT_SAPLCOMK_029
Inclusion of Bill of Material in PM/SM Order
No documentation in English at present.

IWO20001
PM order: User exit to pass routing to order
Menu entries:
SAPLCOIH+PLS
External system
Function exits:
EXIT_SAPLCOIH_003
PM Order: USER-Specific Determination of Task Lists for PM Order
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:

notifications for the order

task codes in the notification

damage in the notification

work centre 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).

COOM0001
Customer Functions for Overhead Percentages
Function exits:
EXIT_SAPLKASC_001
Overhead Rates: Calculation Base
EXIT_SAPLKASC_002
Overhead: Overhead rates
EXIT_SAPLKASC_003
Overhead Rates: Credit
To meet the requests that the standard functionality for overhead surcharges be enhanced or adapted to individual circumstances, the
system now includes user exits for the following components in the costing sheet:

Calculation base

Surcharge

Credit
These user exits can be processed as part of SAP enhancement management (choose Tools -> ABAP/4 Workbench -> Utilities ->
Enhancements -> Project management). For comprehensive documentation on SAP enhancement management, choose Utilities ->
Online manual in this transaction (CMOD).
The function modules are brought together under SAP enhancement COOM0001. An include program, containing sample code, has
been defined for each function module. These examples contain a note on how the transfer structures for the individual function
modules should be filled. However, these are neither complete nor your best option as far as runtimes are concerned.
Function module
EXIT_SAPLKASC_001
EXIT_SAPLKASC_002
EXIT_SAPLKASC_003

Means
Calculation base
Surcharge
Credit

Include program
LXKSCF01
LXKSCF02
LXKSCF03

For more information on the programming for the user exists, see the documentation on the relevant function modules.
Effects on Customizing
The following new IMG chapters have been added re this user exit:
Under Controlling -> Overhead Cost Controlling -> Overhead cost orders -> Actual postings / Overhead surcharges: Develop
enhancements

Under Project System -> Project Execution/Implementation -> Project Period-End Closing -> Overhead Surcharges (Actual): Develop
enhancements for overhead surcharges
Under Controlling -> Product cost controlling ->

Basic settings for product costing:


Base object costing:
Basic settings for production of intangible goods:
Basic settings for order related production:
Basic settings for repetitive manufacturing:
Basic settings for process manufacturing:
Basic settings for sales-order-related production:

Develop enhancements for surcharge calculation


Develop enhancements for surcharge calculation
Develop enhancements for surcharge calculation
Develop enhancements for surcharge calculation
Develop enhancements for surcharge calculation
Develop enhancements for surcharge calculation
Develop enhancements for surcharge calculation

Further Notes
If the project to which this enhancement is assigned is active, the user exits for the calculation base, surcharges and credits will run for
each surcharge calculation.
EXIT_SAPLKASC_001
Functionality:
With this user exit, you can pass values or quantities for a calculation base to surcharge calculation.
The function module is accessed for each base line as the costing sheet is processed. The following parameters are passed on:
Parameter Means...

I_CBASE Calculation base processed

I_KOKRS Controlling area

I_WRTTP Value type: actual, plan, commitment (see parameter documentation)

I_VERSN Version

I_YEAFR From fiscal year

I_YEATO To fiscal year

I_PERFR From period

I_PERTO To period

I_COIOB Object data (see parameter documentation)

I_KOMK Communication structure header (see parameter documentation)

I_KOMP Communication structure item (see parameter documentation)


There is additional documentation in support of the parameters so marked. To reach this in the function module document view,
position the cursor on the relevant parameter and double-click.
The expected result is entries in table T_COSSA for the specified fiscal year and period interval. Further processing evaluates the
entries in the fields T_COSSA-GJAHR, T_COSSA-MEINH, T_COSSA-WTGnnn, T_COSSA-WOGnnn, T_COSSA-WKGnnn, T_COSSA-WKFnnn,
T_COSSA-PAGnnn, T_COSSA-PAFnnn, T_COSSA-MEGnnn, T_COSSA-MEFnnn (nnn = period).
Unless you are updating in more than one currency, it is sufficient to fill the values in the period fields of table T_COSSA-WKGnnn (in
addition to the fiscal year); in the case of quantity-based surcharges, fill the period fields in T_COSSA-MEGnnn and
T_COSSA-MEINH.
If table T_COSSA is empty, the system behaves as if there were no user exit and selects the data from the database per the cost
element intervals maintained for the calculation base.
If you want to transfer value or quantity zero, a line containing initial values is sufficient in table T_COSSA.
Example:
Program LXKSCF01 contains sample code for the following cases:

Notes:

Surcharges based on delivered order quantity: A quantity-based surcharge is calculated for production orders, in line with the
quantity of material delivered. The user exit is to be used to assign the output quantity to calculation base B000. If you use
this calculation base in a costing sheet, you can reference a quantity-based surcharge to the relevant line.
Surcharges based on cost centre/activity type: In this example, cost centre 1 yields activity type "FST". The activity type for
this cost centre is to have its own surcharge applied to it. To this end, the costs incurred are determined via the user exit and
transferred in calculation base "B000". If you enter this calculation base into a costing sheet, you can reference a percentage
surcharge to the relevant line.

You must use customizing to define the calculation base which is to be processed with the user exit. However, you do not need to
maintain any cost element intervals.
For reasons of clarity, you are well advised to create your own calculation basis for scenarios when values are to be determined by
means of the user exit.
EXIT_SAPLKASC_002
With this user exit, you can transfer values or quantities for a calculation base to surcharge calculation.
The function module is accessed for each base line as the costing sheet is processed. The following parameters are transferred:
Parameter Means...

I_OHEAD Surcharge

I_DATE Value date (see parameter documentation)

I_WRTTP Object data (see parameter documentation)

I_KOMK Communication structure header (see parameter documentation)

I_KOMP Communication structure item (see parameter documentation)


There is additional documentation in support of the parameters so marked. To reach this in the function module document view,
position the cursor on the relevant parameter and double-click.
In the case of percentage surcharges, only the field E_PCENT is interpreted as a return value. The other fields have no effect. In the
case of quantity-related surcharges, you must enter values in all the return fields.
If no values are returned, the system uses the surcharge record stored in Customizing.
Example
Sample source code is stored in program LXKSCF02 for the following case:

Surcharge rates dependent on Profit Centre: If the order being processed is assigned to profit centre 1, a surcharge of 10% is
to be levied on one base line, and one of 12% in all other cases. The percentage for surcharge "C000" is to be determined by
means of a user exit. To this end, you must use the Customizing function to maintain value rates for all the surcharge types
in surcharge C000 which are to be overwritten by the user exit.

Notes
The surcharge to be processed with the user exit must be defined in Customizing, depending on whether it is a percentage or quantityrelated surcharge. You must create a dependency assignment, but this has no effect on the user exit. In addition, there must also be a
valid surcharge rate. If there is not, the system clears the relevant surcharge line in the costing sheet and does not access the user exit
during costing sheet processing for this surcharge. The content of the overhead record defined has no effect on the user exit.
For reasons of clarity, you are well advised to create your own calculation basis for scenarios when values are to be determined by
means of the user exit.
EXIT_SAPLKASC_003
With this user exit, you can transfer a credit cost element and a credit cost centre/credit order to surcharge accounting.
During costing sheet processing, the function module is accessed for each surcharge line which contains a credit. The following
parameters are transferred:
Parameter Means...

I_CREDT Credit

I_KOKRS Controlling area

I_DATE Value date (see parameter documentation)

I_COIOB Object data (see parameter documentation)

I_KOMK Communication structure header (see parameter documentation)

I_KOMP Communication structure item (see parameter documentation)


There is additional documentation for the parameters so marked. To access it from the function module documentation view, position
the cursor on the parameter and double-click.
The expected return values are a cost element, which must be of type 41, and either a cost centre or an order. You can also opt to
transfer values for the fixed cost portion and the origin.
If no values are returned, the system transfers the data maintained for the credit in Customizing.

Example:
Sample source code is defined in program LXKSCF03 for the following scenario:
Credit cost centre dependent on plant: A company has two plants: 0001 and 0002. If the order processed is assigned to plant 0001,
cost centre 1 is to be credited under credit cost element 660000; if the order is assigned to plant 0002, it is to be credited under cost
centre 2, cost element 660000. To this end, the credit object for credit E01 is determined using the user exit. You must then enter
credit E01 in the appropriate surcharge line in the costing sheet.
Notes:
You must use Customizing to define the credit to be processed by means of the user exit. However, you do not need to maintain any
credit objects.
For reasons of clarity, you are well advised to create your own credits for scenarios when values are to be determined by means of the
user exit.

COZF0001
Change purchase req. for externally processed operation
Function exits:
EXIT_SAPLCOZF_001
Customer Exits in Function Group COZF
With this customer enhancement you can change the purchase request that results from an externally processed operation.
The changeable fields are defined in the structure EBAN_ORD_CUST. If certain fields in this structure are already filled when imported
in the customer enhancement then you should check carefully the effects of a field change (if in doubt do not change the settings
made by SAP). The externally processed operation itself cannot be changed in this customer enhancement. Thus, the customer
enhancement must be run on every change to an operation that affects the purchase requisition (so that the original field content is
not copied back to the purchase requisition).
Important note:
If you work in your system with collective orders then you must ensure that all purchase requisitions for a collective order are of the
same type (field BSART)!
To change the purchase requisition the fields in the order header (CAUFVD) and the fields in the operation (AFVGD) are made available
in the customer enhancement. If you define internal work structures then it should always be when using the ABAP language element
LIKE so that later structure enhancements by SAP do not lead to changing the coding in the customer enhancement.

COZF0002
Change purchase req. for externally procured component
Function exits:
EXIT_SAPLCOZF_002
Customer Exits in Function Group COZF
With this customer enhancement you can change the purchase request that results from an externally processed operation.
The changeable fields are defined in the structure EBAN_ORD_CUST. If certain fields in this structure are already filled when imported
in the customer enhancement then you should check carefully the effects of a field change (if in doubt do not change the settings
made by SAP). The externally processed operation itself cannot be changed in this customer enhancement. Thus, the customer
enhancement must be run on every change to an operation that affects the purchase requisition (so that the original field content is
not copied back to the purchase requisition).
Important note:
If you work in your system with collective purchase requisitions then you must ensure that all purchase requisitions for one collective
purchase requisition have the same order type (field BSART)!
To change the purchase requisition the fields in the order header (CAUFVD) and the fields in the component (RESBD) are made
available in the customer enhancement. If you define internal work structures then it should always be when using the ABAP language
element LIKE so that later structure enhancements by SAP do not lead to changing the coding in the customer enhancement.

CY190001
Capacity Planning: Change order operation
Function exits:
EXIT_SAPLCY19_001
User exits to change order operations
The enhancement enables you to change operation data that is displayed on a planning table. 'Objects' on the planning table can be
selected and transferred to the enhancement using a special menu function. The operations (order operations) that belong to the
objects selected are copied to the table CYEXIT_1.
The operations transferred can be changed and transferred back. The changed objects are saved in planning table simulation and when
saving the planning table written to the database.
The following data is copied to the enhancement (structure CYEXIT_1):

INDEX (Information): Index for the operation in the simulation. You can use this index along with the function module
"CY01_OBJECT_INFORMATION_READ" to read more information about the operation such as work centre data, order header
data etc.
AUFNR (Information): if necessary the number of the relevant order
PLNUM (Information): if necessary, the number of the relevant planned order
VORNR (Information): Number of the operation
UVORN (Information): Number or the sub-operation
EPANF (changeable value): Dispatching start date; date when an operation to be dispatched is to start (useful in connection
with the function 'dispatch' see above)
EPANZ (changeable value): Dispatching start time; time when the operation to be dispatched is to start (useful in connection
with the function "dispatch" see above).
EPEND (changeable value): Dispatching finish date; date when an operation to be dispatched is to finish (useful in connection
with function 'dispatch' see above).
EPENZ (changeable value): Dispatching finish time; time when the operation to be dispatched is to finish (useful in
connection with the function "dispatch" see above).
VGE01 (changeable value): unit of standard value 1
VGW01 (changeable value): standard value 1
VGE02 (changeable value): unit of the standard value 2
VGW02: standard value 2

VGE06 (changeable value): unit of the standard value 6


VGW06: standard value 6
DAUNE (changeable value): unit of the normal operation duration
DAUNO: Normal operation duration
ARBEH (changeable value): unit of work for the operation
ARBEI: work of operation
ARBID (changeable value): ID of work centre
SEQNR (changeable value): Sequence number of order
SEQNRV (changeable value): Sequence number of operation in order (not for planned orders)

.
.

FUNCTION1 (changeable value):


1. Function to be executed

1 = Changing operation

2 = Dispatching operation

3 = De-allocating operation
FUNCTION1 (changeable value)
2. Function to be executed

1 = Changing operation

2 = Dispatching operation

3 = De-allocating operation
An example is saved in INCLUDE LXCY0F01.

IPRM0002
Determine planned date info for maintenance plan
Function exits:
EXIT_SAPLIPM5_001
Planned Date for Task List Counter Reading (Individual Forecast)
EXIT_SAPLIPM5_002
Determination of Planned Date for Time-Based Maintenance Plans
EXIT_SAPLIWP3_003
Dynamic Change of Annual Activity for Counter During Scheduling
You can use this user exit to enter the next planned date for preventive maintenance for performance-based and time-based
maintenance plans.
You can also dynamically determine the annual counter performance in scheduling, which enables you to directly influence the
calculated planned date in advance.
It consists of three function modules:

Planned date for planned counter reading (individual forecast)

Determine planned date for time-based maintenance plans

Dynamic modification of annual counter performance for scheduling


EXIT_SAPLIPM5_001
You can use this function module to define the date on which the next planned counter reading should be reached for performancebased maintenance according to your own rules.
In the standard system, the respective planned date is based exclusively on the acceptance of the estimated annual performance. You
can use this function module to call upon internal forecast models or seasonal models to calculate the planned date.
The following parameters are given to the function module as import parameters:

Planned date calculated by the system

Next planned counter reading

Current counter reading with date

Maintenance plan data


The function module returns the modified planned date as export parameters.
EXIT_SAPLIPM5_002
You can use this function module to adapt the planned date, which the system has calculated for the preventive maintenance, to the
individual customer.
However, this only applies for time-based maintenance schedules.
Examples
Possible examples of individual customer adjustments:

If the calculated planned date is not a workday, the system determines the first workday before or after the planned date.

Exact month scheduling, whereby the system, for example, always determines the first Monday in a month.
A prepared sample coding exists for the second variant:
Program : LIPM5F08
Routine : FORM SPECIAL_DATE_F08
The function module receives the planned date calculated by the system as an import parameter.
The function module returns the modified planned date as an export parameter.
EXIT_SAPLIWP3_003
You can use this customer exit to modify the estimated annual performance for the counters used in the maintenance plan. The
modifications you make to the annual performance are not written to the counter; but are valid only for current scheduling.
Use the function module MEASUREM_POINT_UPD_PYEAR to change the estimated annual performance in the master record of the
counter.
Example:
You have created a maintenance plan for a machine whose performance is subject to strong seasonal fluctuations. The estimated
annual operating hours defined in the counter are correct when calculated over the year; however, 90% of the operating hours occur
in the summer months between May and September. You now want to define this fact in the system so that the planned dates can be
calculated according to this distribution.
In the customer exit, you can read a customer-specific table for this case in which the operating hours are broken down on a monthly
basis

IPRM0004
Maintenance plan / item: Customer check for time "SAVE"
Function exits:
EXIT_SAPLIWP3_004
Maintenance Plan/Item: Customer Checks at "Save"
No documentation in English at present.

IPRM0005
Determine Offset for Performance-Based Strategy Plans
Function exits:
EXIT_SAPLIWP3_010
No documentation in English at present.

IPRM0003
User field: Maintenance plan
Function exits:
EXIT_SAPLIWP3_001
Maintenance Plan: User Fields for Screen; PBO
EXIT_SAPLIWP3_002
Maintenance Plan: User Fields from Screen; PAI
EXIT_SAPLCOIH_030
Transfer User Fields from the Maintenance Plan to the Order
EXIT_SAPLCOIH_031
User Fields Transferred from Maintenance Plan to Notification
EXIT_SAPLIWOL_032
Transfer User Fields from the Notification to the Order
Screen areas:
SAPLIWP38027_CUSSSCR1_SAPLXPRM0100 Include screen user data
The maintenance item data is stored in the MPOS database table defined by SAP. From Release 4.6A, you can add customer-specific
fields to the table of maintenance items (table MPOS). For this, the Include CI_MPOS has been added to the table of maintenance
items which must be created by the customer, completed with field entries, and activated.
When the customer exit IPRM0003 is activated, an additional tab page Customer exit for item appears in the maintenance plan and
maintenance item. The fields shown on this tab page include those defined by the customer (see procedure).
The fields defined in the Include CI_MPOS can be transferred to the call object (currently orders and notifications) generated by the
maintenance plan. For this, the function exits EXIT_SAPLCOIH_030 and EXIT_SAPLIWOL_031 are available. If an order is generated from
a notification, which itself has been generated from a maintenance plan, then the customer-specific fields can be forwarded to the
order using the function exit EXIT_SAPLCOIH_032.
The customer exits IWO10018 (for the call object 'order') and QQMA0001 (for the call object 'notification') are available for displaying
customer-specific fields in the respective call object.
Customer exit IPRM0003 contains the following components:

Function exits:
o EXIT_SAPLIWP3_001
o EXIT_SAPLIWP3_002
o EXIT_SAPLCOIH_030
o EXIT_SAPLCOIH_031
o EXIT_SAPLIWOL_032

Screen areas:
o SAPLIWP3 8027 CUSSSCR1 SAPLXPRM 0100

Procedure:
1.
2.
3.
4.
5.
6.

Create a customer exit project using transaction CMOD.


Assign the customer exit IPRM0003 to this project.
Include your fields in the structure CI_MPOS using the transaction SE11 (ABAP/Dictionary), if these have not already been
defined by other applications. Note the namespace for fields reserved for customers.
Activate the structure. Note that a table may contain a maximum of 255 fields. SAP can include new fields in the table MPOS.
Create the screen 0100 in the function group XPRM. The screen must correspond to the screen type Subscreen.
Define the type pool WC (type pools: WC.) in the top Include for the function group XPRM.

KSDIEX01
Determining expenditures in resource-related billing (VA90 only)
Function exits:
EXIT_SAPLEBBS_001
Determine Items for New Documents
EXIT_SAPLEBBS_002
Read Items for Existing Documents
EXIT_SAPLEBBS_003
Record Document Flow
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, reproducible 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).
EXIT_SAPLEBBS_001
This user exit is accessed if line item information is to be used to generate items in an SD document. This is the case if you are
generating billing requests as part of resource-related billing.
The line items selected with the standard functionality are offered processing in customer-specific enhancements. You also have the
option of creating your own items for inclusion in the SD document.
Interface
The items selected using the standard functionality are made available in table SAP_ITEMS. The table shows the following information
for each item:

the item ID

the material number, which represents the item in the SD document

the quantity originally posted, and its value


additional information on the item (posting date, cost centre, personnel number, supplier, number of the object debited)

You can change table SAP_ITEMS in the following ways:

By deleting individual items per your own individual criteria

By replacing the material numbers determined for the individual items using the standard functionality.

Additional item information can be transferred to the SD document.


The table USER_ITEMS includes the items which you determined yourself and which you want to include in the billing request. For this
reason, it is empty when the function module is accessed.
The USER_ITEMS table has the same structure as table SAP_ITEMS. For the items you have selected, you must maintain the following
fields as a minimum:

the material number

the quantity posted and/or the value posted

item ID
An object table called OBJECTS is transferred to the function module as a parameter for selecting your own items. This table contains
all the objects also used for the standard selection. The object type, object number and (depending on the object type) the actual
object key are given.
The parameter SELECTION_TYPE indicates the commercial function which this function exit is accessed. You can use this parameter to
realize various enhancements for different functions in the function exit. The (standard) include LEBBSEQG contains equates for the
selection types currently used in the standard.
In addition, you can use the parameters DATE_FROM and DATE_TO to give information on the period for which items are to be
determined (with the standard selection). The customer-specific selection will also be carried for this period.
ID for Document Flow Processing
When an SD document is created, a document flow is recorded for the items, including those contained in table USER_ITEMS. So that
you can edit these items, it is necessary to assign each one a unique, reproducible 22-character ID. The IDs relating to items created in
this enhancement must begin with "Y" or "Z".
EXIT_SAPLEBBS_002
This user exit is accessed when you want to change or display an existing SD document. This will be the case if you are changing a
billing request as part of resource-related billing.
Customer-specific enhancements are possible for the items contained in the SD document which were selected using the standard
selections. Information can be read on the items contained in the billing request which were created in the user exit
EXIT_SAPLEBBS_001 (customer-specific).
This module is only accessed if the document flow update is not suppressed in function module EXIT_SAPLEBBS_003.
Interface
The items selected using the standard functionality are made available in table SAP_ITEMS. The table shows the following information
for each item:

the item ID

the material number, which represents the item in the SD document

the quantity originally posted, and its value

additional information on the item (posting date, cost centre, personnel number, supplier, number of the object debited)
You can change table SAP_ITEMS in the following ways:

By deleting individual items per your own individual criteria

By replacing the material numbers determined for the individual items using the standard functionality.

Additional item information can be transferred to the SD document.


The table USER_ITEMS contains (in the EXPID field) the items which you determined yourself (in function module EXIT_SAPLEBBS_001
which also belongs to component KSDIEX01) and which you want to include in the billing request. These items must be created and
added to table USER_ITEMS.
The USER_ITEMS table has the same structure as table SAP_ITEMS. For the items you have selected, you must maintain the following
fields as a minimum:

the material number

the quantity and/or value posted

EXIT_SAPLEBBS_003
This user exit is accessed before a document flow is recorded in the EBII. This is the case, for example, when you save a billing request.
You can use the function to:

suppress document flow update

create additional document flow entries


Interface
The table USER_FLOW_ITEMS makes available the document flow entries created for items you created yourself in the user exit
EXIT_SAPLEBBS_001. The table contains an entry for each of these items, showing the following information:

item ID

number and item from the SD document to which the item was assigned

item quantities or values assigned to the SD document


You can change table USER_FLOW_ITEMS as follows:

by deleting the document flow entries for which you want prevent update

by adding further additional document flow entries. You need to do this, for example, if you used user exit
EXIT_SAPLEBBS_001 to summarize a number of items and only included the summarized information in the billing request.
Assignment of line items to their summarization items cannot also take place in the document flow (for further evaluations).
You do this by creating document flow entries for the line items too.
In the export parameter NO_FLOW_UPDATE, you can specify whether the document flow should generally be updated.
Suppressing document flow update is only a good idea if no reference from the SD document to the original item will be needed later.
Document flow update is always required if the existing SD document can be changed, thereby necessitating references to the
information in the original items.

IWOC0001
Create PM/SM notification: Determine reference object
Function exits:
EXIT_SAPLIWO1_001
Create PM/CS Notification: Determination of Ref. Object for Customer Exit
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.
Description of interface: At the interface, the data from the notification type table TQ80 are copied to the function module. On the
basis of this data, you can determine the relevant reference object (functional location, equipment, assembly) and transfer it to the
called program.
The called program checks the data and copies it to the notification.

IWOC0002
PM/SM notification: Check whether status change is allowed
Function exits:
EXIT_SAPLIQS0_001
Customer Exit "Check Status Change for Permission" for PM/CS Notifications
This customer exit enables you to implement individual authorization checks for a status change in addition to the authorization checks
implemented in the standard SAP System.
Furthermore, the customer exit enables field checks to be made in the current notification and allows the status change dependent on
the inspection result.
Note the documentation for the function exit EXIT_SAPMIWO0_021

IWOC0003
PM/SM authorization check of ref. object and planner group
Function exits:
EXIT_SAPLIWO1_004
PM/SM - Authorization Check for Reference Object
EXIT_SAPLIWO1_005
PM/SM - Authorization Check when Changing Planner Group
EXIT_SAPLIWO1_004
You can use this customer exit to switch off the authorization check on master data. It can be called up in Plant Maintenance and
Customer
Service in the following places:

When changing a notification, order or maintenance item

When changing an object in a notification, order or maintenance item


In both cases, the system checks whether the user has authorization to change master data. You can use the customer exit to switch
off the authorization check.
EXIT_SAPLIWO1_005
You can use this customer exit to switch off the authorization check for planner groups. It can be called up in Plant Maintenance and in
Customer Service when changing the planner group in the notification and order.

IWOC0004
Change single-level list editing PM/QM/SM ALV settings
Function exits:
EXIT_SAPLIREP1_001
Single-Level List Editing PM/QM/CS: Change ALV Settings
You can use this customer exit to alter how single-level lists are displayed in Customer Service, Plant Maintenance and Quality
Management. When doing this, you can change accordingly various parameters and tables that are transferred from the report in the
ABAP List Viewer (ALV). For example, the following changes are possible:

Deactivate alternating white/gray display


Set print parameters (with/without cover sheet)
Change field attributes in the field catalog (hide fields, set automatic optimization of column widths, define fields as being
mandatory)
Change field grouping for field selection
Enter a title for the list

The following reports are supported:


Customer Service and Plant Maintenance
RIAFRU20 Display Confirmations
RIARCMRI Display Measurement Documents From Archive
RIAUFK20 Display and Change Service and Maintenance Orders
RIAUFM20 Display Goods Movements for Order
RIIFLO20 Display Functional Location
RIIMPT20 Display Measuring Point
RIIMR020 Display Measurement Documents
RIIRLO20 Display Reference Location
RIGENE10 List of Active Permits
RIMARA20 Display Material
RIMHIO00 Scheduling: Maintenance Scheduling Overview
RIMPLA00 Maintenance Plan List
RIMPOS00 Maintenance Item List
RIPLKO10 Display Task Lists
RIQMEL20 Notification List
RIQMEL30 List of Notification Tasks
RIQMEL40 List of Notification Items
RIQMEL60 List of Notification Actions
RIVEDA20 List of Contracts for Serviceable Items
RMIAPL60 Material Where-Used List for Task Lists
RXASMD10 List Processing: Service Master
RIAFVC10 Entering Confirmations via Operation List
RIAFVC20 Display and Change Operations
RIEQUI20 Display Equipment
RIEQUI21 Display Serial Numbers
RIIBAS10 IBase Where-Used List (Based on a point in time)
RIIBAS30 IBase Where-Used List (Based on a time period)
RINET0E0 Object Network: List of Equipment Links
RINET0T0 Object Network: List of Functional Location Links

Quality Management
RQMELL10 Single-Level List - Quality Notification
RQMELL20 List of Tasks
RQMELL30 List of Notification Items
RQMELL40 Activity List
RQARCQDL Deletion Program for Quality Levels where Deletion Date Exceeded
RQBAAM10 QM Release: Mass Maintenance
RQBAAM20 Worklist of Source Inspections
RQCPRM10 QM Worklist: Quality Certificates in Procurement
RQDAAM10 Quality Level Evaluation
RQEEAL10 Inspection Lot Selection
RQERKM10 Overview Quality Control Charts for Inspection Lots
RQERKM20 Overview Quality Control Charts for Task List
RQERKM30 Overview of Control Charts for Master Inspection Characteristic
RQEVAI10 Collective Usage Decision for OK Lots
RQEVAM10 Inspection Lots Without Inspection Completion
RQEVAM20 Inspection Lots With Outstanding Quantities
RQEVAM30 Inspection Lots without Usage Decision
RQMQMM00 Mass Change of QM Inspection Setup Data in Materials
RQMTBV10 Display Inspection Method List
RQPMKV10 Display Master Inspection Characteristics
RQPRLS10 Create Inspection Lots for Physical Samples
RQPRSS10 Create New Physical-Sample Drawing with Reference
RQPRSS30 Mass Maintenance of Storage Data for Physical Samples
RQTETR00 Test Equipment Tracking
Example 1
In Report RIAFRU20 (Displaying Completion Confirmations), you should not be able to display the field personnel number using field
selection:
data h_fieldcat_wa type SLIS_FIELDCAT_ALV.
if is_program = 'RIAFRU20'.
loop at it_fieldcat into h_fieldcat_wa.
if h_fieldcat_wa-fieldname = 'PERNR'.
h_fieldcat_wa-tech = 'X'.
modify it_fieldcat from h_fieldcat_wa.
endif.
endloop.
endif.

Example 2
The standard line display in a "zebra pattern" is not desirable; moreover, neither a cover sheet nor selection information should be
printed together with lists. These settings should be valid for all lists.
is_layout-zebra = space.
is_print-no_coverpage = 'X'.
is_print-no_print_selinfos = 'X'.

Notes:
You can modify the field attributes in the field catalog IT_FIELDCAT using this customer exit. However, we must point out that the table
as a whole should not be modified, that is, you should neither add nor delete rows.
Further Information:
You will find a detailed description of the interface in the documentation for the ALV function module (function group SALV); for
example, function modules REUSE_ALV_LIST_DISPLAY and REUSE_ALV_COMMENTARY_WRITE.

CONF0001
Enhancements in order confirmation
Function exits:
EXIT_SAPLCORU_001
Order Confirmation: Deactivation of Functions
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.

CONFPM01
PM/SM order conf.: Determine customer specific default values
Function exits:
EXIT_SAPLCORF_001
PM/SM Order Confirmation: Customer-Specific Setting of Default Values
With this customer exit you can generate your own default values for a confirmation. They can deviate from those in the SAP logic.
The system copies the following data:

operation in the order (AFVGD)

complete order header (CAUFVD)

confirmation (AFRUD)

confirmation parameters (TCORU)


The confirmation is copied from the customer exit to the SAP standard program.
Changing the confirmation segment is only permitted by the system, if there is no danger of inconsistent data being written to the
database:

Changes are allowed by the system before the SAP checks.

Changes are not allowed after the SAP checks.


The customer exit is implemented as the central FORM routine. On this basis, you can create customer exits of the same type for all
order types.

CONFPM02
PM/SM order confirmation: Customer specific input checks 1
Function exits:
EXIT_SAPLCORF_002
PM/SM Order Confirmation: Customer-Specific Entry Check Without Change
With this customer exit you can carry out your own checks on the confirmation once the SAP checks have been carried out. Note the
following:
Changing the confirmation segment is only permitted by the system, if there is no danger of inconsistent data being written to the
database:

Changes are allowed by the system before the SAP checks.

Changes are not allowed after the SAP checks.


With this customer exit the data thus cannot be changed.
The system copies the following data:

operation in the order (AFVGD)

complete order header (CAUFVD)

confirmation (AFRUD)
The customer exit is implemented as the central FORM routine. On this basis, you can create customer exits of the same type for all
order types.

CONFPM03
PM/SM order conf.: Customer specific check after operation selection
Function exits:
EXIT_SAPLCORF_003
PM/SM Order Conf.: Customer-Specific Checks Acc. to Operation Selection
With this customer exit you can carry out your own checks once an operation has been selected for the confirmation. Note the
following:
Changing the confirmation segment is only permitted by the system, if there is no danger of inconsistent data being written to the
database:

Changes are allowed by the system before the SAP checks.

Changes are not allowed after the SAP checks.


With this customer exit the data cannot be changed.
The customer exit is implemented as the central FORM routine. On this basis, you can create customer exits of the same type for all
order types.
The system copies the following data:

operation in order (AFVGD)

complete order header (CAUFVD)

CONFPM04
PM/SM order conf.: Customer specific input check 2
Function exits:
EXIT_SAPLCORF_004
PM/SM Order Confirmation: Customer-Specific Entry Checks with Change
With this customer exit you can make your own checks on the confirmation before the SAP checks are executed. Note the following:
Changing the confirmation segment is only permitted by the system, if there is no danger of inconsistent data being written to the
database:

Changes are allowed by the system before the SAP checks.

Changes are not allowed after the SAP checks.


With this customer exit the confirmation can be changed depending on the user's entries.
The customer exit is implemented as the central FORM routine. On this basis, you can create customer exits of the same type for all
order types.
The system copies the following data:

operation in order (AFVGD)

complete order header (CAUFVD)

confirmation (AFRUD)
CONFPM05
PM/SM order conf.: Customer specific enhancements when saving
Function exits:
EXIT_SAPLCORF_005
PM/SM Order Conf.: Customer-Spec. Enhancements when Saving (No Dialog!!!)
With this customer exit you can update your own data once you have saved the confirmation. Note the following:
Changing the confirmation segment is only permitted by the system, if there is no danger of inconsistent data being written to the
database:

Changes are allowed by the system before the SAP checks.

Changes are not allowed after the SAP checks.


With this customer exit the data cannot be changed.
Caution!
In this customer exit it is strictly forbidden to send error messages or other messages since otherwise inconsistencies in the data may
arise. SAP cannot be held responsible for this!!
The customer exit is implemented as the central FORM routine. On this basis, you can create customer exits of the same type for all
order types.
The system copies the following data:

a table with all the confirmations created in this transaction (AFRUD)

a table with the order relevant headers (CAUFVD)

CATP0001
Determine target hours
Function exits:
EXIT_SAPLCATP_001
Determine Target Hours
You can use this enhancement to have the target hours proposed according to your requirements. To do this, you can use the
specifications made in the Time type target hrs, Subtract HR hours and Add overtime fields in your data entry profile.
Examples
On days that are days off according to the factory calendar, the target hours are set to "0" instead of "8".
Tables: T001W
Data: is_0315 type cats_0315,
is_target_hours type cats_hours_per_day.
Data: plant like ps0315-werks,
default_plant like ps0315-werks value '0001',
workingday_indicator like scal-indicator,
date like catsdb-workdate,
working_hours like cats_hours_per_day-stdaz value 8.
* Read plant from infotype 0315
CALL FUNCTION 'CATS_GET_INFOTYPE_0315'
EXPORTING
PERNR
= sap_pernr
DATE
= sap_begda
IMPORTING
I0315
= is_0315
EXCEPTIONS
others
= 1.
if is_0315-werks is initial.
is_0315-werks = default_plant.
endif.
if t001w-werks <> is_0315-werks.
select single * from t001w
where werks = is_0315-werks.
endif.
date = sap_begda.
while date <= sap_endda.
clear is_target_hours.
is_target_hours-date = date.

* Check calendar for working days


CALL FUNCTION 'DATE_CONVERT_TO_FACTORYDATE'
EXPORTING
DATE
= date
FACTORY_CALENDAR_ID
= T001W-FABKL
IMPORTING
WORKINGDAY_INDICATOR
= workingday_indicator
EXCEPTIONS
others
= 1.
if sy-subrc <> 0.
raise error_in_sap_enhancement.
endif.
if workingday_indicator is initial.
is_target_hours-stdaz = working_hours.
endif.
append is_target_hours to sap_target_hours.
date = date + 1.
endwhile.

CATS0001
CATS: Compile worklist
Function exits:
EXIT_SAPLCATS_001
CATS: Compile Worklist
You can use this enhancement to structure the contents of your worklist according to your requirements.
The worklist (based on the parameters of the data entry profile) is copied to the table SAP_ICATSW. The table is defined in the function
module interface. It takes the format of the (DDIC) table CATSW and contains the contents of the worklist.
You can change or delete lines from the table that is from what will become the worklist. You can also insert new lines. You cannot,
however, use this enhancement to insert new columns.
The table contents are displayed in the time sheet worklist. The data entry profile (SAP_TCATS), the personnel number (SAP_PERNR),
and the data entry period (SAP_DATELEFT and SAP_DATERIGHT) are also copied to the table.
Note that you must activate the Customer enhancement field in the Worklist section when you maintain the settings for the data entry
profile you want to use.

CATS0002
CATS: Supplement recorded data
Function exits:
EXIT_SAPLCATS_002
CATS: Supplement Recorded Data
You can use this SAP enhancement to supplement the data entered using the Time Sheet.
The internal table ENRICH_TABLE is used to communicate with the SAP System. When the enhancement is called, the table contains
one data record. You can then change the contents of the record and use the internal table ENRICH_TABLE to return it to the standard
program.
Example:
You want to replace the receiver cost centre "0000000666", recorded on January 3, 1997, with the cost centre that is currently valid
(cost centre "0000003200").
LOOP AT ENRICH_TABLE.
IF ENRICH_TABLE-RKOSTL = '0000000666'
AND ENRICH_TABLE-WORKDATE = '19970103'.
ENRICH_TABLE-RKOSTL = '0000003200'.
MODIFY ENRICH_TABLE.
ENDIF.
ENDLOOP.
You can also return more than one data record. The system then inserts another line for the new record.

CATS0003
CATS: Validate recorded data
Function exits:
EXIT_SAPLCATS_003
CATS: Validate Recorded Data
You can use this SAP enhancement to validate any data already recorded. Validations are performed for one cell (an entry by one
person on one day).
Example: You do not want user XYZ to record time data for receiver cost centre 0000000666. The transfer structure used is the
structure
FIELDS. This structure contains all the account assignment fields relevant to you. If you want to return messages to the standard
program, you will also need to use internal table I_MESSAGES. In this example, error message "001" is issued with message class
"ZZ", message type "E", and parameter "XYZ". Making entries in table I_MESSAGES is equivalent to using the command "MESSAGE
E001(ZZ) WITH 'XYZ'". However, to ensure that all the program flows can run, fill the internal table I_MESSAGES rather than use this
command.
Example:
REFRESH I_MESSAGES.
IF FIELDS-RKOSTL = '0000000666' AND SY-UNAME = 'XYZ'.
I_MESSAGES-MSGTY = 'E'.
I_MESSAGES-MSGID = 'ZZ'.
I_MESSAGES-MSGNO = '001'.
I_MESSAGES-MSGV1 = 'XYZ'.
APPEND I_MESSAGES.
ENDIF.

CATS0004
CATS: Deactivate functions in the user interface
Function exits:
EXIT_SAPLCATS_004
CATS: Deactivate Functions in the User Interface
You can use this customer enhancement to hide the function codes in CATS transactions.
Besides the screen number and the processing mode, the data entry profile with the current settings (TCATS) and the personnel
number are transferred to the interface.
You can extend table T_CUAFC with function codes (using the transferred information or not). The function codes are then deactivated
in the graphical user interface (GUI).
You can find the names of the function codes using transaction SE41 (for maintaining the GUI). The program name for CATS is
SAPLCATS.
You can obtain an overview about all the statuses in this program using the status list function. If you select a status from this list, you
can find the internal names of the function codes in the details.

CATS0005
CATS: Customer field enhancements
Menu entries:
SAPLCATS+CU1
Function exits:
EXIT_SAPLCATS_005
CATS: Export Data to Customer Dialog
EXIT_SAPLCATS_008
CATS: Import Data from Customer Dialog Box
Screen areas:
SAPLCATS8900_CUSTSCR1_SAPLXCAT1000
You can use this SAP enhancement to validate any data already recorded. The validation is performed for the entire time sheet.
When you save data or you change the current data entry period by scrolling, the validation is called automatically. You can also call
the validation via a function key.
Example:
You do not want a user to record more than 8 hours per day. The transfer structure used for the data records is the table
CHECK_TABLE. This table contains all the account assignment fields that are relevant to you. The two variables "DATEFROM" and
"DATETO" contain the time limits of the time sheet to be validated.
If you want to return messages to the standard program, you will also need to use internal table I_MESSAGES. In this example, error
message "001" is issued with message class "ZZ", message type "E" and parameter "XYZ". Making entries in table I_MESSAGES is
equivalent to using the command "MESSAGE E001(ZZ) WITH 'XYZ'". However, to ensure all the program flows can run, fill the internal
table I_MESSAGES rather than use this command.
Define customer Include CI_CATSDB in the ABAP/4 Dictionary. Include only fields in the customer name range in structure CI_CATSDB.
Otherwise, this may cause problems during a system upgrade. Use only fields of type 'CHAR' and 'NUMC'.
Define subscreen SAPLXCAT 1000. This subscreen is then included in the dialog box that is called. This subscreen contains your
customer- specific fields.
Define a menu option to trigger the dialog box with your customer fields.
Define a function module to receive data in the transfer structure FIELDS from the calling program.
Define a function module to return data in the transfer structure FIELDS to the calling program.

CATS0006
CATS: Validate entire time sheet
Function exits:
EXIT_SAPLCATS_006
CATS: Validate Entire Time Sheet
You can use this SAP enhancement to validate any data already recorded. The validation is performed for the entire time sheet.
When you save data or you change the current data entry period by scrolling, the validation is called automatically. You can also call
the validation via a function key.
Example:
You do not want a user to record more than 8 hours per day. The transfer structure used for the data records is the table
CHECK_TABLE. This table contains all the account assignment fields that are relevant to you. The two variables "DATEFROM" and
"DATETO" contain the time limits of the time sheet to be validated.
If you want to return messages to the standard program, you will also need to use internal table I_MESSAGES. In this example, error
message "001" is issued with message class "ZZ", message type "E" and parameter "XYZ". Making entries in table I_MESSAGES is
equivalent to using the command "MESSAGE E001(ZZ) WITH 'XYZ'". However, to ensure all that all the program flows can run, fill the
internal table I_MESSAGES rather than use this command.
Example:
DATA: OLD_WORKDATE LIKE CATSDB-WORKDATE.
DATA: CATSHOURS LIKE CATSDB-CATSHOURS.
REFRESH I_MESSAGES.
SORT CHECK_TABLE BY WORKDATE.
CLEAR OLD_WORKDATE.
LOOP AT CHECK_TABLE WHERE WORKDATE BETWEEN DATEFROM AND DATETO.
IF OLD_WORKDATE NE CHECK_TABLE-WORKDATE.
OLD_WORKDATE = CHECK_TABLE-WORKDATE.
CLEAR CATSHOURS.
CATSHOURS = CATSHOURS + CHECK_TABLE-CATSHOURS.
ELSE.
CATSHOURS = CATSHOURS + CHECK_TABLE-CATSHOURS.
ENDIF.
IF CATSHOURS GT 8.
I_MESSAGES-MSGTY = 'E'.
I_MESSAGES-MSGID = 'ZZ'.
I_MESSAGES-MSGNO = '001'.
I_MESSAGES-MSGV1 = 'XYZ'.
APPEND I_MESSAGES.
ENDIF.
ENDLOOP.

CATS0007
CATS: Subscreen on initial screen
Screen areas:
SAPLCATS1000_CUSTSCR2_SAPLXCAT2000
You can use this SAP enhancement to show additional fields on the initial screen. You need to define the subscreen SAPLCATS 2000.
Note that you can only use this enhancement to display fields. You cannot use these fields for selection.

CATS0008
CATS: Determine workflow recipients for approval
Function exits:
EXIT_SAPLCATS_007
CATS: Determine Workflow Recipients for Approval
You can use this SAP enhancement to determine the recipient of the approval workflow and to control further processing when
released data is saved in the time sheet.
You must set the following indicators:

POSITION
Position

USER
User

WORKCENTRE
Work centre

JOB
Job

UNIT
Organizational unit
These five fields determine the type of recipient. Note that only one of the indicators may be set at one time.

AGENT
Recipient
Set the recipient with reference to the above recipient type.
SCREEN_DARK

Workflow screen in background

If this indicator is not set, the recipient determined is displayed for checking and can be changed by the user.
If the indicator is assigned the value "X", the recipient is not displayed. If the agent determined in the enhancement is not permitted
(the user is invalid, for example), the agent screen is displayed even if the SREEN_DARK indicator is set. The incorrect data can then be
changed.
The enhancement determines the recipient based on the following information:

Personnel number
SAP_PERNR

Data entry profile


SAP_TCATS

Recorded data
SAP_ICATSDB
All persons currently approving data for the personnel number (that is, all users who still have work items to approve for the user in
their inbox) SAP_AGENTS

CATS0009
CATS: Customer-Specific Text Fields in Data Entry Section
Function exits:
EXIT_SAPLCATS_009
CATS: Customer-Specific Text Fields in Data Entry Section
You can use this SAP enhancement to display customized texts in the data entry section of the time sheet. The fields CATSFIELDSDISPTEXT1 and CATSFIELDS-DISPTEXT2 are used for this purpose.
The fields are 40 characters long and can be used to display the description of an object that has been entered (such as a WBS
element), for example.
These are display-only fields, which are lost when you leave the transaction, that is, they are not stored with the other data when you
save.

CATS0010
CATS: Customer-Specific Text Fields in Worklist
Function exits:
EXIT_SAPLCATS_010
CATS: Customer-Specific Text Fields in Worklist
You can use this SAP enhancement to display customized texts in the time sheet worklist. The fields CATSFIELDS-DISPTEXTW1 and
CATSFIELDS-DISPTEXTW2 are used for this purpose.
The fields are 40 characters and can be used to display the description of a displayed object (such as a WBS element), for example.
These are display-only fields, which are lost when you leave the transaction, that is, they are not stored when you save the other data.

CATS0011
CATS: Customer functions
Menu entries:
SAPLCATS+CU2
SAPLCATS+CU3
SAPLCATS+CU4
SAPLCATS+CU5
SAPLCATS+CU6
SAPLCATS+CU7
Function exits:
EXIT_SAPLCATS_011
CATS: Customer Functions in Initial Screen/Data Entry Screen
You can use this SAP enhancement to include up to two functions of your choice in the data entry screen Extras and Environment
menus.
You can display additional information on a person (leave status, flexitime balance) in a dialog box, for example.
The internal table SAP_CATSD contains the data in the data entry section. You can query which SAP_CATSD field the cursor is
positioned in when the function is called using the SAP_CURSOR_FIELD and SAP_CURSOR_CATSDLINE fields.

QQMA0001
QM/PM/SM: User subscreen for notification header
Function exits:
EXIT_SAPMIWO0_008
Customer Exit: Transfer Notification Data to User Screen
EXIT_SAPMIWO0_009
Customer Exit: Transfer Notification Data from User Screen
Screen areas:
SAPLIQS07790_USER0001_SAPLXQQM0100
Subscreen w/out fields default
SAPLIQS07790_USER0001_SAPLXQQM0101
Subscreen w/out fields default
SAPLIQS07790_USER0001_SAPLXQQM0102
Subscreen w/out fields default
SAPLIQS07790_USER0001_SAPLXQQM0103
Subscreen w/out fields default
SAPLIQS07790_USER0001_SAPLXQQM0104
Subscreen w/out fields default
SAPLIQS07790_USER0001_SAPLXQQM0105
Subscreen w/out fields default
SAPLIQS07790_USER0001_SAPLXQQM0110
Subscreen w/out fields default
SAPLIQS07790_USER0001_SAPLXQQM0115
Subscreen w/out fields default
SAPLIQS07790_USER0001_SAPLXQQM0120
Subscreen w/out fields default
SAPLIQS07790_USER0001_SAPLXQQM0125
Subscreen w/out fields default
SAPLIQS07790_USER0001_SAPLXQQM0130
Subscreen w/out fields default
SAPLIQS07790_USER0001_SAPLXQQM0135
Subscreen w/out fields default
SAPLIQS07790_USER0001_SAPLXQQM0140
Subscreen w/out fields default
SAPLIQS07790_USER0001_SAPLXQQM0145
Subscreen w/out fields default
SAPLIQS07790_USER0001_SAPLXQQM0150
Subscreen w/out fields default
SAPLIQS07790_USER0001_SAPLXQQM0155
Subscreen w/out fields default
With this customer enhancement, you can incorporate additional data in the notification header screens. The notification header data
is transferred to the function group using function module exits for this purpose. You can then include this data on the customerspecific 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 enhancement. Only in this way, are the fields that you did not change are transferred back properly.
Note:
If the field TQ80-USERSCR1 (which you can maintain in the Customizing application) receives a screen number, this screen is called up
as a subscreen; otherwise screen 0100 is used.
It is important that the screens for program SAPLXQQM are defined.
If you want to add your own fields to the VIQMEL view, you must include them as an APPEND structure in table QMEL. In this way, the
additional fields are automatically copied into the view VIQMEL.
To display the subscreen on the notification header screen, you must first define it in Customizing for the notification type and copy
the screen area "Customer subscreen" to one of the notification tabs(using the Customizing function Define screen areas)
Function Module:
This function module exit allows you to display a subscreen on the notification header screen (SAPLIQS0 7790). From this subscreen,
you can maintain your own fields for the notification.
An area consisting of four lines is reserved on screen SAPLIQS0 7790. The screen must be of the "subscreen" type. You can use the
VIQMEL structure to display your own fields.
The transferred structure is saved in the global structure VIQMEL. This structure must be transferred back to the export structure
E_VIQMEL, before you leave the user exit.
In this way, the fields that you have not changed are transferred back completely and inconsistencies in the database are avoided.
On the basis of the import parameter I_AKTYP, you can determine the transaction type from which the function is called:

A - Display
V - Change
H - Create

Note:
If you want to include your own fields in the VIQMEL view, you must copy them into table QMEL as an APPEND structure. In this way
the additional fields are automatically copied into the VIQMEL view.
To display the subscreen on the notification header screen, you must first define the subscreen in Customizing for the notification type
and copy the screen area "Customer subscreen" to one of the notification tabs (using the Define screen areas function in Customizing).

Screen:
You can use this customer enhancement to display a subscreen on the notification header screen. You can maintain your own fields for

the notification header on this subscreen (a section of four lines is reserved for this on screen SAPLIQS0 7790). The screen must be of
the type "Subscreen".
You can use the Customizing function to control which screen is to be called for the program SAPLXQQM. Using this function, you can
display different subscreens for different notification types.
It is important that you create screen 0100 as an empty subscreen containing four lines. Screen 0100 is then always used, if no specific
screen is defined in Customizing. In this way, you can make sure that the customer enhancement is not active for all notification types,
but only for the notification types that have a screen number defined in Customizing. You can use all other screens in the normal way.
In Customizing, You must assign the screen area customer subscreen as well as the screen number (using define notification types).

QQMA0002
QM: Authorization Check for Entry into Notification Transaction
Function exits:
EXIT_SAPLQAUT_001
Customer Exit: Authorization Check for Notification Transactions
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.
The user exit is called up after the SAP standard check is carried out for authorization object Q_QMEL.
The following tables are available in the user exit for your own authorization checks:

VIQMEL - Notification header record

TQ80 - Notification type

QQMA0003
QM: "User data" Function in "Goto" Menu
Menu entries:
SAPLQM00+US1
Function exits:
EXIT_SAPMIWO0_004
Function Code "+US1" in Menu "Goto" During Notification Processing
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.
Function module
With this user exit, you can activate your own function code for the quality notification processing or display transactions. For example,
you can use this code to call up a customer-specific screen. The function code is included in the menu option Goto.
On the basis of import parameter I_AKTYP, you can identify the transaction type from which the function is called up:

A - Display

V - Change

H - Create
The export parameter E_FCODE controls whether or not the data should be transferred:
Data is transferred upon:

0001 - Continue/Close
Data is not transferred upon:

0002 - Cancel
Misc. - response same as for cancel
Note:
Before you leave the user exit, you must transfer the notification record (I_VIQMEL) to the export parameter (E_VIQMEL). In this way,
the fields that you did not change will be transferred back completely and an inconsistency in the data will be avoided.

Function code
You can use this function code, for example, to call up a customer-specific screen. This code is included in the menu under Goto
You can freely define the text for the function code. If you do not enter your own text, the text "User data" will be used (defined in the
standard system).

QQMA0004
QM: "User data" Function in "Goto -> Item Menu
Menu entries:
SAPLQM00+US2
Function exits:
EXIT_SAPMIWO0_005
Function Code "+US2" in Menu "Goto/Item" During Notification Processing
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.
Function module:
With this user exit, you can activate your own function code for the quality notification processing and display functions. 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 menu path Goto -> Item.
On the basis of the import parameter I_AKTYP, you can determine the transaction type from which the function is called up:

A - Display

V - Change

H - Create
The export parameter E_FCODE controls whether or not the data should be transferred:

0001 - Continue/close: Data transfer for current item and close dialog box.
0002 - Next marked item: Data transfer for current item and retrieval of data for next marked item.
0003 Cancel: No transfer of data.
Misc. - Cancel: No transfer of data.

Note:
Before you leave the user exit, you must transfer the item record (I_VIQMFE) back to the export parameter (E_VIQMFE). In this way,
the fields that you did not change will be transferred back completely and an inconsistency in the data will be avoided.
Function code:
You can use this function code, for example, to call up a customer-specific screen. This code is included in the menu under Goto.
You can freely define the text for the function code. If you do not enter your own text, the text "User data" will be used (defined in the
standard system).

QQMA0005
QM: Check Validity of Status Change
Function exits:
EXIT_SAPMIWO0_006
User Exit "Check Authorization for Status Change"
With this user exit, you can carry out individual authorization checks when a status is changed (in addition to the standard SAP
authorization checks).
On the basis of the import parameter I_AKTYP, you can determine the transaction type from which the function is called up:

A - Display

V - Change

H - Create

QQMA0006
QM: Automatic Task Determination for Quality Notifications
Function exits:
EXIT_SAPMIWO0_007
Automatic Determination of Tasks for Quality Notifications
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.
Function module:
This user exit allows you to carry out an individual determination of tasks, as a supplement to the standard function for determining
the tasks.
In the process, the system supplies you with the complete, current notification data as a source of information. On the basis of this
information, you can define your own tasks which are then copied into the notification.
You can also specify whether or not the SAP standard functionality should be executed.
Use the exception condition NO_SAP_STD_TASK_DETERMINATION for this purpose. If you trigger this exception condition in your
function module, the determined tasks in table E_QMSM will still be copied into the notification.
In addition to the tasks, all items, causes and activities that already exist will also be available in the user exit.
Data can only be exported back to the quality notification for tasks.
All records contained in the export table E_QMSM are appended to the task records that already exist.
Note:
When you transfer the contents of table I_QMSM to table E_QMSM, duplicate task records may be created.
The import parameter SIMULATION shows you that only a simulation of the tasks to be determined is being carried out, allowing you
to react accordingly (for example, by printing a list that contains the determined tasks).

QQMA0007
QM: Default Values when Creating a Notification
Function exits:
EXIT_SAPMIWO0_001
Default Values When Creating a Notification
This customer enhancement allows you to define default values when you create a quality notification.
Time of call-up: On the initial screen (program SAPLIQS0, screen 0200) after the possible call-up of an initial screen.
Note:
If you want to add your own fields to the VIQML view, you must include them as an APPEND structure in table QMEL. In this way, the
additional fields are automatically copied into the view VIQMEL.

Function module:
You can use this module to predefine default values for the notification header when you create a quality notification.
For example, you can pre-assign a standard value to the "Plant" field.
Time of call: On the initial screen (program SAPLIQS0, screen 0200), after the call of a dialog box (if one is called).
Note:
Before you leave the function module exit, you must transfer the notification header record (I_VIQMEL) to the export parameter
E_VIQMEL). This is the only way to ensure that the fields that remain unchanged can be correctly reconfirmed and that no
inconsistency of data occurs
.
QQMA0008

QM/PM/SM: User Subscreen for Additional Data on Notification Item

Function exits:
Customer Exit: Transfer Item Data to User Screen
EXIT_SAPMIWO0_010
Customer Exit: Transfer Item Data from User Screen
EXIT_SAPMIWO0_011
Screen areas:
Subscreen w/o fields (default)
SAPLIQS03030_USER0002_SAPLXQQM0100
Subscreen w/o fields (default)
SAPLIQS03030_USER0002_SAPLXQQM0210
Subscreen w/o fields (default)
SAPLIQS03030_USER0002_SAPLXQQM0211
Subscreen w/o fields (default)
SAPLIQS03030_USER0002_SAPLXQQM0212
Subscreen w/o fields (default)
SAPLIQS03030_USER0002_SAPLXQQM0213
Subscreen w/o fields (default)
SAPLIQS03030_USER0002_SAPLXQQM0214
Subscreen w/o fields (default)
SAPLIQS03030_USER0002_SAPLXQQM0215
Subscreen w/o fields (default)
SAPLIQS03030_USER0002_SAPLXQQM0220
Subscreen w/o fields (default)
SAPLIQS03030_USER0002_SAPLXQQM0221
Subscreen w/o fields (default)
SAPLIQS03030_USER0002_SAPLXQQM0222
Subscreen w/o fields (default)
SAPLIQS03030_USER0002_SAPLXQQM0223
Subscreen w/o fields (default)
SAPLIQS03030_USER0002_SAPLXQQM0224
Subscreen w/o fields (default)
SAPLIQS03030_USER0002_SAPLXQQM0225
Subscreen w/o fields (default)
SAPLIQS03030_USER0002_SAPLXQQM0230
Subscreen w/o fields (default)
SAPLIQS03030_USER0002_SAPLXQQM0231
Subscreen w/o fields (default)
SAPLIQS03030_USER0002_SAPLXQQM0232
Subscreen w/o fields (default)
SAPLIQS03030_USER0002_SAPLXQQM0233
Subscreen w/o fields (default)
SAPLIQS03030_USER0002_SAPLXQQM0234
Subscreen w/o fields (default)
SAPLIQS03030_USER0002_SAPLXQQM0235
With this customer enhancement, you can include additional data on the detail screen for the notification item (screen SAPLIQS0
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, are the fields that you did not change transferred back properly.
Note:
If field TQ80-USERSCR2 (which you can maintain in the Customizing application) contains a screen number, this screen is called up as a
subscreen; otherwise screen 0100 is used. It is important that the screens for program SAPLXQQM are defined.
If you want to add your own fields to the VIQML view, you must include them as an APPEND structure in table QMEL. In this way, the
additional fields are automatically copied into the view VIQMEL.

Function Module:
This user exit allows you to display a subscreen on the item detail screen (SAPLIQS0 3030). You can maintain your own fields for the
item on this screen. An area of three lines is reserved in the screen SAPLIQS0 3030. The screen must be of the "subscreen" type.
The structures VIQMEL and VIQMFE are available for purposes of displaying your own fields.
The transferred structures are saved in the global structures VIQMEL and VIQMFE. Before you leave the user exit, the structure
VIQMFE must be transferred back to the export structure E_VIQMFE. As a result, the fields that you have not changed are transferred
back completely, and inconsistencies in the database are avoided.
On the basis of import parameter I_AKTYP, you can determine the transaction type from which the function is called up:

A - Display

V - Change

H - Create
Screen
This customer enhancement allows you to display a subscreen from within the item detail screen. On this subscreen, you can maintain
your own fields for the item.
On screen SAPLIQS0 3030 there is a section of three lines reserved for this purpose. The screen must be of the "subscreen" type.
Using the Customizing function, you can control which screen is to be called for the SAPLXQQM program. You can also display different
subscreens for different notification types.
It is important to create screen 0100 as an empty subscreen with three lines. The screen 0100 is then always used, if no specific screen
is noted in Customizing. As a result, the customer enhancement is not active for all notification types, but only for those notification
types, for which you have defined a screen number in Customizing.
The screen SAPLIQS0 3030 is used for maintenance, service and quality notifications.
If you do not define screen 0100, the notification function is terminated for those notification types that have no screen number
defined in Customizing.
If you define screen 0100, but enter fields instead of using it as an empty subscreen, the subscreen appears with the fields on the item
detail screen, when you use one of the three notifications mentioned above.
You can use screens 0210-0215, 0220-0225 and 0230-0235 in the normal way.
Recommendation
Notification types for maintenance notifications: Screens 0210-0215
Notification types for quality notifications:
Screens 0220-0225
Notification types for service notifications:
Screens 0230-0235

QQMA0009
QM: Predefine QM Order Parameters
Function exits:
EXIT_SAPMIWO0_012
Customer Exit: Supply QM Order Parameters with Default Values
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).

QQMA0010
QM/PM/SM: User Subscreen for Additional Data on Cause
Function exits:
EXIT_SAPMIWO0_013
Customer Exit: Transfer Cause to User Screen
EXIT_SAPMIWO0_014
Customer Exit: Transfer Cause from User Screen
Screen areas:
SAPLIQS07116_USER0003_SAPLXQQM0100
Subscreen w/o fields (default)
SAPLIQS07116_USER0003_SAPLXQQM0310
Subscreen w/o fields (default)
SAPLIQS07116_USER0003_SAPLXQQM0311
Subscreen w/o fields (default)
SAPLIQS07116_USER0003_SAPLXQQM0312
Subscreen w/o fields (default)
SAPLIQS07116_USER0003_SAPLXQQM0313
Subscreen w/o fields (default)
SAPLIQS07116_USER0003_SAPLXQQM0314
Subscreen w/o fields (default)
SAPLIQS07116_USER0003_SAPLXQQM0315
Subscreen w/o fields (default)
SAPLIQS07116_USER0003_SAPLXQQM0320
Subscreen w/o fields (default)
SAPLIQS07116_USER0003_SAPLXQQM0321
Subscreen w/o fields (default)
SAPLIQS07116_USER0003_SAPLXQQM0322
Subscreen w/o fields (default)
SAPLIQS07116_USER0003_SAPLXQQM0323
Subscreen w/o fields (default)
SAPLIQS07116_USER0003_SAPLXQQM0324
Subscreen w/o fields (default)
SAPLIQS07116_USER0003_SAPLXQQM0325
Subscreen w/o fields (default)
SAPLIQS07116_USER0003_SAPLXQQM0330
Subscreen w/o fields (default)
SAPLIQS07116_USER0003_SAPLXQQM0331
Subscreen w/o fields (default)
SAPLIQS07116_USER0003_SAPLXQQM0332
Subscreen w/o fields (default)
SAPLIQS07116_USER0003_SAPLXQQM0333
Subscreen w/o fields (default)
SAPLIQS07116_USER0003_SAPLXQQM0334
Subscreen w/o fields (default)
SAPLIQS07116_USER0003_SAPLXQQM0335
Subscreen w/o fields (default)
With this customer enhancement, you can include additional data on the CAUSE detail screen for notification item (screen SAPMLIQS0
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.
Note:
If field TQ80-USERSCR3 (maintained in Customizing) contains a screen number, this screen is called up as a subscreen. Otherwise,
screen 0100 is used. It is important that the screens for program SAPLXQQM are defined.

Function Module:
This user exit allows you to display a subscreen on the item detail screen (SAPMIWO0 3030). You can maintain your own fields for the
cause on this subscreen.
An area of two lines is reserved on the screen SAPMIWO0 3030. The screen must be of the "subscreen" type.
You can use the structures VIQMEL, VIQMFE and VIQMUR to output your own fields.
The transferred structures are saved in the global structures VIQMEL, VIQMFE and VIQMUR. Before you leave the user exit, structure
VIQMMA must be transferred back to the export structure E_VIQMUR. This ensures that the unchanged fields will be transferred back
completely and that inconsistencies in the database will be avoided.
You can determine the transaction type from which the function is called on the basis of import parameter I_AKTYP:

A - Display

V - Change

H - Create
Screen:
This customer enhancement allows you to display a subscreen from within the item detail screen. On this subscreen, you can maintain
your own fields for the cause.
On screen SAPLIQS0 3030 there is a section of two lines reserved for this purpose. The screen must be of the "subscreen" type.
Using the Customizing function, you can control which screen is to be called for the SAPLXQQM program. You can also display different
subscreens for different notification types.
It is important to create screen 0100 as an empty subscreen with three lines. The screen 0100 is then always used, if no specific screen
is noted in Customizing. As a result, the customer enhancement is not active for all notification types, but only for those notification
types, for which you have defined a screen number in Customizing.
The screen SAPLIQS0 3030 is used for maintenance, service and quality notifications.

If you do not define screen 0100, the notification function is terminated for those notification types that have no screen number
defined in Customizing.
If you define screen 0100, but enter fields instead of using it as an empty subscreen, the subscreen appears with the fields on the item
detail screen, when you use one of the three notifications mentioned above.
You can use screens 0310-0315, 0320-0325 and 0330-0335 in the normal way.
Recommendation
Notification types for maintenance notifications: Screens 0310-0315
Notification types for quality notifications:
Screens 0320-0325
Notification types for service notifications:
Screens 0330-0335

QQMA0011
QM/PM/SM: User Subscreen for Additional Data on Task
Function exits:
EXIT_SAPMIWO0_015
Customer Exit: Transfer Task to User Screen
EXIT_SAPMIWO0_016
Customer Exit: Transfer Task from User Screen
Screen areas:
SAPLIQS04010_USER0004_SAPLXQQM0100
Subscreen w/o fields (default)
SAPLIQS04010_USER0004_SAPLXQQM0410
Subscreen w/o fields (default)
SAPLIQS04010_USER0004_SAPLXQQM0411
Subscreen w/o fields (default)
SAPLIQS04010_USER0004_SAPLXQQM0412
Subscreen w/o fields (default)
SAPLIQS04010_USER0004_SAPLXQQM0413
Subscreen w/o fields (default)
SAPLIQS04010_USER0004_SAPLXQQM0414
Subscreen w/o fields (default)
SAPLIQS04010_USER0004_SAPLXQQM0415
Subscreen w/o fields (default)
SAPLIQS04010_USER0004_SAPLXQQM0420
Subscreen w/o fields (default)
SAPLIQS04010_USER0004_SAPLXQQM0421
Subscreen w/o fields (default)
SAPLIQS04010_USER0004_SAPLXQQM0422
Subscreen w/o fields (default)
SAPLIQS04010_USER0004_SAPLXQQM0423
Subscreen w/o fields (default)
SAPLIQS04010_USER0004_SAPLXQQM0424
Subscreen w/o fields (default)
SAPLIQS04010_USER0004_SAPLXQQM0425
Subscreen w/o fields (default)
SAPLIQS04010_USER0004_SAPLXQQM0430
Subscreen w/o fields (default)
SAPLIQS04010_USER0004_SAPLXQQM0431
Subscreen w/o fields (default)
SAPLIQS04010_USER0004_SAPLXQQM0432
Subscreen w/o fields (default)
SAPLIQS04010_USER0004_SAPLXQQM0433
Subscreen w/o fields (default)
SAPLIQS04010_USER0004_SAPLXQQM0434
Subscreen w/o fields (default)
SAPLIQS04010_USER0004_SAPLXQQM0435
Subscreen w/o fields (default)
SAPLIQS04100_USER0004_SAPLXQQM0100
Subscreen w/o fields (default)
SAPLIQS04100_USER0004_SAPLXQQM0410
Subscreen w/o fields (default)
SAPLIQS04100_USER0004_SAPLXQQM0411
Subscreen w/o fields (default)
SAPLIQS04100_USER0004_SAPLXQQM0412
Subscreen w/o fields (default)
SAPLIQS04100_USER0004_SAPLXQQM0413
Subscreen w/o fields (default)
SAPLIQS04100_USER0004_SAPLXQQM0414
Subscreen w/o fields (default)
SAPLIQS04100_USER0004_SAPLXQQM0415
Subscreen w/o fields (default)
SAPLIQS04100_USER0004_SAPLXQQM0420
Subscreen w/o fields (default)
SAPLIQS04100_USER0004_SAPLXQQM0421
Subscreen w/o fields (default)
SAPLIQS04100_USER0004_SAPLXQQM0422
Subscreen w/o fields (default)
SAPLIQS04100_USER0004_SAPLXQQM0423
Subscreen w/o fields (default)
SAPLIQS04100_USER0004_SAPLXQQM0424
Subscreen w/o fields (default)
SAPLIQS04100_USER0004_SAPLXQQM0425
Subscreen w/o fields (default)
SAPLIQS04100_USER0004_SAPLXQQM0430
Subscreen w/o fields (default)
SAPLIQS04100_USER0004_SAPLXQQM0431
Subscreen w/o fields (default)
SAPLIQS04100_USER0004_SAPLXQQM0432
Subscreen w/o fields (default)
SAPLIQS04100_USER0004_SAPLXQQM0433
Subscreen w/o fields (default)
SAPLIQS04100_USER0004_SAPLXQQM0434
Subscreen w/o fields (default)
SAPLIQS04100_USER0004_SAPLXQQM0435
Subscreen w/o fields (default)
With this customer enhancement, you can include additional data on the task detail screens (SAPLIQS0 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 are the unchanged fields transferred back properly.
Note:
If field TQ80-USERSCR4 (maintained in Customizing) contains a screen number, this screen is called up as a subscreen. Otherwise,
screen 0100 is used. It is important that the screens for program SAPLXQQM are defined.

Functional Module:
This user exit allows you to display a subscreen on the task detail screen (SAPLIQS0 4010 and 4100). You can maintain your own fields
for the task on this subscreen. An area of three lines is reserved on the screen SAPLIQS0 4010 or 4100. The screen must be of the
"subscreen" type. You can use the structures VIQMEL, VIQMFE and VIQMSM to output your own fields.
The transferred structures are saved in the global structures VIQMEL, VIQMFE and VIQMSM. Before you leave the user exit, structure
VIQMSM must be transferred back to the export structure E_VIQMSM. This ensures that the unchanged fields are transferred back
completely and that inconsistencies in the database are avoided.
You can determine the transaction type from which the function is called on the basis of import parameter I_AKTYP:

A - Display

V - Change

H - Create
Screen
This customer enhancement allows you to display a subscreen from within the task detail screen. On this subscreen, you can maintain
your own fields for the item.
On screens SAPLIQS0 4010 and 4100 there is a section of three lines reserved for this purpose. The screen must be of the "subscreen"
type.
Using the Customizing function, you can control which screen is to be called for the SAPLXQQM program. You can also display different
subscreens for different notification types.
It is important to create screen 0100 as an empty subscreen with three lines. The screen 0100 is then always used, if no specific screen
is noted in Customizing. As a result, the customer enhancement is not active for all notification types, but only for those notification
types, for which you have defined a screen number in Customizing.
The screens SAPLIQS0 4010 and 4100 are used for maintenance, service and quality notifications. If you do not define screen 0100, the
notification function is terminated for those notification types that have no screen number defined in Customizing. If you define screen
0100, but enter fields instead of using it as an empty subscreen, the subscreen appears with the fields on the item detail screen, when
you use one of the three notifications mentioned above.
You can use screens 0410-0415, 0420-0425 and 0430-0435 in the normal way.
Recommendation
Notification types for maintenance notifications: Screens 0410-0415
Notification types for quality notifications:
Screens 0420-0425
Notification types for service notifications:
Screens 0430-0435

QQMA0012
QM/PM/SM: User Subscreen for Additional Data on Activity
Function exits:
EXIT_SAPMIWO0_017
Customer Exit: Transfer Activity to User Screen
EXIT_SAPMIWO0_018
Customer Exit: Transfer Activity from User Screen
Screen areas:
SAPLIQS05010_USER0005_SAPLXQQM0100
Subscreen w/o fields (default)
SAPLIQS05010_USER0005_SAPLXQQM0510
Subscreen w/o fields (default)
SAPLIQS05010_USER0005_SAPLXQQM0511
Subscreen w/o fields (default)
SAPLIQS05010_USER0005_SAPLXQQM0512
Subscreen w/o fields (default)
SAPLIQS05010_USER0005_SAPLXQQM0513
Subscreen w/o fields (default)
SAPLIQS05010_USER0005_SAPLXQQM0514
Subscreen w/o fields (default)
SAPLIQS05010_USER0005_SAPLXQQM0515
Subscreen w/o fields (default)
SAPLIQS05010_USER0005_SAPLXQQM0520
Subscreen w/o fields (default)
SAPLIQS05010_USER0005_SAPLXQQM0521
Subscreen w/o fields (default)
SAPLIQS05010_USER0005_SAPLXQQM0522
Subscreen w/o fields (default)
SAPLIQS05010_USER0005_SAPLXQQM0523
Subscreen w/o fields (default)
SAPLIQS05010_USER0005_SAPLXQQM0524
Subscreen w/o fields (default)
SAPLIQS05010_USER0005_SAPLXQQM0525
Subscreen w/o fields (default)
SAPLIQS05010_USER0005_SAPLXQQM0530
Subscreen w/o fields (default)
SAPLIQS05010_USER0005_SAPLXQQM0531
Subscreen w/o fields (default)
SAPLIQS05010_USER0005_SAPLXQQM0532
Subscreen w/o fields (default)
SAPLIQS05010_USER0005_SAPLXQQM0533
Subscreen w/o fields (default)
SAPLIQS05010_USER0005_SAPLXQQM0534
Subscreen w/o fields (default)
SAPLIQS05010_USER0005_SAPLXQQM0535
Subscreen w/o fields (default)
With this customer enhancement, you can include additional data on the activity detail screen (SAPLIQS0 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 are the unchanged fields transferred back properly.
Note:
If field TQ80-USERSCR5 (maintained in Customizing) contains a screen number, this screen is called up as a subscreen. Otherwise,
screen 0100 is used. It is important that the screens for program SAPLXQQM are defined.
Function Module:
This user exit allows you to display a subscreen on the activity detail screen (SAPMIWO0 5010). You can maintain your own fields for
the activity on this subscreen. An area of three lines is reserved on the screen SAPMIWO0 5010. The screen must be of the "subscreen"
type.
You can use the structures VIQMEL, VIQMFE and VIQMMA to output your own fields.
The transferred structures are saved in the global structures VIQMEL, VIQMFE and VIQMMA. Before you leave the user exit, structure
VIQMMA must be transferred back to the export structure E_VIQMMA. This ensures that the unchanged fields are transferred back
completely and that inconsistencies in the database are avoided.
You can determine the transaction type from which the function is called on the basis of import parameter I_AKTYP:

A - Display

V - Change

H - Create
Screen:
This customer enhancement allows you to display a subscreen from within the activity detail screen item detail screen. On this
subscreen, you can maintain your own fields for the item.
On screen SAPLIQS0 5010 there is a section of three lines reserved for this purpose. The screen must be of the "subscreen" type.
Using the Customizing function, you can control which screen is to be called for the SAPLXQQM program. You can also display different
subscreens for different notification types.
It is important to create screen 0100 as an empty subscreen with three lines. The screen 0100 is then always used, if no specific screen
is noted in Customizing. As a result, the customer enhancement is not active for all notification types, but only for those notification
types, for which you have defined a screen number in Customizing.
The screen SAPLIQS0 5010 is used for maintenance, service and quality notifications. If you do not define screen 0100, the notification
function is terminated for those notification types that have no screen number defined in Customizing.

If you define screen 0100, but enter fields instead of using it as an empty subscreen, the subscreen appears with the fields on the item
detail screen, when you use one of the three notifications mentioned above.
You can use screens 0510-0515, 0520-0525 and 0530-0535 in the normal way.
Recommendation
Notification types for maintenance notifications: Screens 0510-0415
Notification types for quality notifications:
Screens 0520-0525
Notification types for service notifications:
Screens 0530-0535

QQMA0013
QM: Default Values when Creating a Task
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 this 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
Note:
Before you leave the function module exit, you must transfer the task record (I_VIQMSM) back to the export parameter (E_VIQMSM).
In this way, the fields that you did not change will be transferred back completely and an inconsistency in the data will be avoided.

QQMA0014
QM/PM/SM: Checks before saving a notification
Function exits:
EXIT_SAPMIWO0_020
Customer Exit: Checks before Saving Notification
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.
Example: Example coding is stored in Include LXQQMF20.

QQMA0015
QM/PM/SM: User-Exit before Call-Up of F4 Help on Catalogs
Function exits:
EXIT_SAPLIQS0_002
User Exit for Influencing the F4 Help for Catalogs
You can use this customer enhancement to adapt the F4-Help function for the catalog.
You call up the enhancement before the F4-Help function module for the catalog.

Parameters I_RIWO02 and T_RIWO020TAB: Bring up the catalog profile.


Parameter I_EBENE: States the notification object, for which the F4-Help was called.
Parameter I_INDEX: Contains the index for the relevant table.
Return parameter E_CODEGRUPPE: You can enter the code group that is to be displayed in the F4-Help

If you make a generic entry, all code groups are shown in the F4-Help that correspond to this generic entry.
You cannot make an entry of several specifically-named code groups.

QQMA0016
Menu entries:
SAPLICUA+U10
SAPLICUA+U11
SAPLICUA+U12
SAPLICUA+U13
SAPLICUA+US3
SAPLICUA+US4
SAPLQM00+U10
SAPLQM00+U11
SAPLQM00+U12
SAPLQM00+U13
SAPLQM00+US3
SAPLQM00+US4
SAPMIWO0+U10
SAPMIWO0+U11
SAPMIWO0+U12
SAPMIWO0+U13
SAPMIWO0+US3
SAPMIWO0+US4
Function exits:
EXIT_SAPLIQS0_003

QM/PM/SM: "User data" Function "Goto" > "Task" Menu

Function Code "+US3/4" in Menu "Goto/Task" in Notification Processing


Supply Function Codes with Text/ Deactivate Codes: "Goto/Task"

EXIT_SAPLIQS0_008
You can use this customer enhancement to activate your own function code for the processing and display transactions of the
notifications, (service, maintenance and quality notifications). You can use these codes, for example, to call a customer-specific view
for the task.
These function codes are in the menu under Goto -> Tasks Goto -> Item -> Task.
EXIT_SAPLIQS0_003
You can use this customer enhancement to activate your own function code for the processing or display transactions of the
notifications: Service, Maintenance and Quality notifications. You can use these function codes, for example, to call a customerspecific view for a task. The function codes are in the menu under Goto -> Task or Goto -> Item -> Task.
Structure
Import parameter I_AKTYP: This parameter displays the transaction type from which the function is called.

A Display

V Change

H Create
Return parameter E_FCODE: You use this parameter to control whether or not the data is to be copied.

0001 - Continue/Close: The system copies data for the current task and closes the dialog box.

0002-Next task selected: The system copies data for the current task and makes the data available for the next task that has
been selected.

0003- Cancel: No data is copied

Other- Cancel: No data is copied


Note:
Before exiting the customer enhancement, you must enter the task record that has been specified (I_VIQMSM) in the return
parameter (E_VIQMSM).
This is the only way to ensure that the fields you have not changed are correctly transferred back and that inconsistency of data is
avoided.
EXIT_SAPLIQS0_008
You use this function module to dynamically determine the function code text for this customer enhancement. In addition, you can
deactivate the function codes that are not being used.
Structure
Import parameter I_AKTYP: This parameter displays the transaction type from which the function is called.

A Display

V Change

H Create
Import parameter I_TQ80: This parameter displays the application.

I_TQ80-QMTYP = 01 Plant Maintenance

I_TQ80-QMTYP = 02 Quality Management

I_TQ80-QMTYP = 03 Service Management

Return parameter E_US3_INACTIVE - E_U13_INACTIVE


You use this parameter to control the activation or deactivation of the function code in the menu.

"X" Function code deactivated in the menu

" " Function code active in the menu


Return parameter E_US3_TEXT - E_U13_TEXT
You use this parameter to define the text that forms the name of the function in the menu.
If you do not enter texts, the function codes "+US3", "+US4", "+U10", +U11", "+U12" and "+U13" appear under the text "Customer
data for tasks".
Note:
The function code text can only be defined using this function module. Even if you enter a text using the "Edit component function,
the system always displays the text that was given in the relevant return parameter in the function module. The creation of the
function code text using the "Edit component" function has no effect.
Function Code:
You can use this function code to call a customer-specific view for the item at task level. The function code is in the menu under Goto > Item -> Task.
Note:
You can only freely define the text for the function code using the function module "EXIT_SAPLIQS0_008". If you do not enter your
own text in this function module, the text "Customer data for the task" is displayed. In addition, you can use the function module
"EXIT_SAPLIQS0_008 to deactivate the function code.

QQMA0017
Menu entries:
SAPLICUA+U14
SAPLICUA+U15
SAPLICUA+U16
SAPLICUA+U17
SAPLICUA+US5
SAPLICUA+US6
SAPLQM00+U14
SAPLQM00+U15
SAPLQM00+U16
SAPLQM00+U17
SAPLQM00+US5
SAPLQM00+US6
SAPMIWO0+U14
SAPMIWO0+U15
SAPMIWO0+U16
SAPMIWO0+U17
SAPMIWO0+US5
SAPMIWO0+US6
Function exits:
EXIT_SAPLIQS0_004

QM/PM/SM: "User data" Function "Goto" > "Activity" Menu

Function Code "+US5/6" in Menu "Goto/Activities" in Notification Processing


Supply Function Codes/ Deactivate Codes: "Goto/Activity"

EXIT_SAPLIQS0_009
You can use this customer enhancement to activate your own function code for the processing and display transactions of the
Notifications: Service, Maintenance and Quality notifications. You can use these function codes, for example, to call a customerspecific screen for the activity.
The function codes are in the menu under Goto -> Activity or Goto -> Item -> Activity.
EXIT_SAPLIQS0_004
You can use this customer enhancement to activate your own function code for the processing or display transactions of the
notifications: Service, Maintenance and Quality notifications You can use these codes, for example, to call a customer-specific screen
for an activity.
The function codes are included in the menu under Goto -> Activity or Goto -> Item -> Activity. Structure
Import parameter I_AKTYP: This parameter displays the transaction type, from which the function is called.

A Display

V Change

H Create
Return parameter E_FCODE
You use these parameters to control whether the data is to be copied or not.

0001-Continue/Close: The system copies data for the current activity and closes the dialog box.

0002-Next activity selected: The system copies data for the current activity and makes it available for the next activity that
has been selected.

0003-Cancel: No data is copied

Other-Cancel: No data is copied


Note:
Before exiting the customer enhancement, you must enter the activity record that has been specified (I_VIQMMA) in the return
parameter (E_VIQMMA). This is the only way to ensure that the fields you have not changed are correctly transferred back and that
inconsistency of data is avoided.

EXIT_SAPLIQS0_009
You use this function module to dynamically determine the function code text for this customer enhancement. In addition, you can
deactivate the function codes that are not being used.
Structure
Import parameter I_TQ80: This parameter displays the application.

I_TQ80-QMTYP = 01 Plant Maintenance

I_TQ80-QMTYP = 02 Quality Management

I_TQ80-QMTYP = 03 Service Management

Return parameter E_US5_INACTIVE - E_U17_INACTIVE


You use this parameter to control the activation or deactivation of the function code in the menu.

"X" Function code deactivated in the menu

" " Function code active in the menu


Return parameter E_US5_TEXT - E_U17_TEXT
You use this parameter to define the text that forms the name of the function in the menu.
If you do not enter texts, the function codes "+US5", "+US6", "+U14", "+U15", "+U16" und "+U17" appear under the text "Customer
data for activities".
Note:
The function code text can only be defined using this function module. Even if you enter a text using the "Edit component function,
the system always displays the text that was given in the relevant return parameter in the function module. The creation of the
function code text using the "Edit component" function has no effect.
Function Code:
You can use this function code to call up a customer-specific view for the notification at activity level. The function code is in the menu
under Goto -> Activity.
Note:
You can only freely define the text for the function code using the function module "EXIT_SAPLIQS0_009". If you do not enter your
own text in this function module, the text "Customer data for the activity" is displayed.
In addition, you can use the function module "EXIT_SAPLIQS0_009" to deactivate the function code.

QQMA0018
QM/PM/SM: Deadline setting based on entered priority
Function exits:
EXIT_SAPLIQS0_005
Determining Processing Deadlines According to Priority
You can use this customer enhancement to retrospectively change the processing deadlines that the system has determined using the
Customizing settings for the priority.

QQMA0019
QM/PM/SM: Default Partner when Creating a Notification
Function exits:
EXIT_SAPLIQS0_006
Default Partner When Adding A Notification
You can use this customer enhancement to enter default values for the partner function, when creating one of following notifications:

Maintenance notification

Quality notification

Service notification
Time of call: From the initial screen

Quality notifications: Program SAPLIQS0, screen 0200; after the initial screen has been called (if one is called)
Maintenance and service notifications: Program SAPLIQS0, screen 0100;

QQMA0020
QM: Determining BOM Usage at BOM explosion
Function exits:
EXIT_SAPLIQS0_007
Determination of BOM application for BOM Explosion
You can use this customer enhancement to influence the result of the BOM explosion function on the item detail screen.
The following parameters have the following effects:

Parameter E_GRAF: Controls the representation

Parameter E_LEVDO: Determines the representation depth

Parameter E_CAPID: The BOM application stored in this parameter represents a procedure for automatic alternative
determination.
In the standard system, the entry in table TQSS is copied as the BOM application. A production or process order must be entered in the
notification, so that the BOM application is copied according to the Customizing settings for the order type and for the plant.

QQMA0021
Menu entries:
SAPLICUA+U01
SAPLICUA+U02
SAPLICUA+U03
SAPLQM00+U01
SAPLQM00+U02
SAPLQM00+U03
SAPMIWO0+U01
SAPMIWO0+U02
SAPMIWO0+U03
Function exits:
EXIT_SAPLIQS0_010

QM/PM/SM: Function "User data" in "Goto" menu

Function Codes in Menu "Goto/Notification" in Notification Processing


Supply Function Codes with Text/ Deactivate Codes: "Goto/Notification"

EXIT_SAPLIQS0_011
You use this customer enhancement to activate your own function codes for the notification processing and display transactions, that
is:

Service notifications

Maintenance notifications

Quality notifications
You can use these function codes, for example, to call up a customer-specific view.
The function codes are included in the menu under Goto -> Notification
Function Module:
This user exit allows you to display a subscreen on the item detail screen (SAPLIQS0 3030). You can maintain your own fields for the
item on this screen.
An area of three lines is reserved in the screen SAPLIQS0 3030. The screen must be of the "subscreen" type.
The structures VIQMEL and VIQMFE are available for purposes of displaying your own fields.
The transferred structures are saved in the global structures VIQMEL and VIQMFE. Before you leave the user exit, the structure
VIQMFE must be transferred back to the export structure E_VIQMFE.
As a result, the fields that you have not changed are transferred back completely, and inconsistencies in the database are avoided.
On the basis of import parameter I_AKTYP, you can determine the transaction type from which the function is called up:

A - Display

V - Change

H Create
EXIT_SAPLIQS0_011
You can use this customer enhancement to activate your own function code for the processing or display transactions of the quality
notifications. You can use these function codes, for example, to call a customer-specific view. The function codes are
included in the menu Goto -> Notification
Structure
Import parameter I_AKTYP: This parameter displays the transaction type, from which the function is called.

A Display

V Change

H Create

Return parameter E_FCODE


You use these parameters to control whether the data is to be copied or not.

0001-Continue/Close: Data is copied


0002-Cancel: No data is copied
Other-Cancel: No data is copied

Note:
Before exiting the customer enhancement, you must enter the notification record that has been specified (I_VIQMEL) in the return
parameter (E_VIQMEL). This is the only way to ensure that the fields you have not changed are correctly transferred back and that
inconsistency of data is avoided.
EXIT_SAPLIQS0_011
You use this function module to dynamically determine the function code text for this customer enhancement. In addition, you can
deactivate the function codes that are not being used.
Structure
Import parameter I_AKTYP: This parameter displays the transaction type from which the function is called.

A Display

V Change

H Create
Import parameter I_TQ80: This parameter displays the application.

I_TQ80-QMTYP = 01 Plant Maintenance

I_TQ80-QMTYP = 02 Quality Management

I_TQ80-QMTYP = 03 Service Management


Return parameter E_U01_INACTIVE - E_U03_INACTIVE: You use this parameter to control the activation or deactivation of the function
code in the menu.

"X" Function code deactivated in the menu

" " Function code active in the menu


Return parameter E_U01_TEXT - E_U03_TEXT: You use this parameter to define the text that forms the name of the function in the
menu. If you do not enter texts, the function codes "+U01", "+U02" and "+U03" appear under the text "Customer data for
notifications".
Note:
The function code text can only be defined using this function module. Even if you enter a text using the "Edit component" function,
the system always displays the text that was given in the relevant return parameter in the function module. The creation of the
function code text using the "Edit component" function has no effect.

Function code:
You can use this function code, for example, to call a customer-specific view. The code is in the menu under Goto.
Note:
You can only freely define the text for the function code using the function module "EXIT_SAPLIQS0_011". If you do not enter your
own text in this function module, the text "Customer data for the notification" is displayed. In addition, you can use the function
module "EXIT_SAPLIQS0_011" to deactivate the function code.

QQMA0022
QM/PM/SM: "User data" function in "Goto -> Causes" menu
Menu entries:
SAPLICUA+U18
SAPLICUA+U19
SAPLICUA+U20
SAPLQM00+U18
SAPLQM00+U19
SAPLQM00+U20
SAPMIWO0+U18
SAPMIWO0+U19
SAPMIWO0+U20
Function exits:
EXIT_SAPLIQS0_012
Function Codes in "Goto/Cause" Menu in Notification Processing
EXIT_SAPLIQS0_013
Supply Function Codes with Text/ Deactivate Codes: "Goto/Cause"
You use this customer enhancement to activate your own function codes for the notification processing and display transactions, that
is:

Service notifications

Maintenance notifications

Quality notifications
You can use these function codes, for example, to call up a customer-specific view for the cause.
The function codes are included in the menu under Goto -> Item -> Causes.
EXIT_SAPLIQS0_012
You can use this customer enhancement to activate your own function code for the processing or display transactions of the
notifications:

Service notifications

Maintenance notifications

Quality notifications
You can use these function codes, for example, to call a customer-specific view for a cause.
The function codes are in the menu under Goto -> Item -> Cause.
Structure
Import parameter I_AKTYP: This parameter displays the transaction type from which the function is called.

A Display

V Change

H Create
Return parameter E_FCODE: You use this parameter to control whether or not the data is to be copied.

0001-Continue/Close: The system copies data for the current cause and closes the dialog box.

0002-Next task selected: The system copies data for the current cause makes this data available for the next cause that has
been selected.

0003-Cancel: No data is copied

Other-Cancel: No data is copied


Note:
Before exiting the customer enhancement, you must enter the cause record that has been specified (I_VIQMUR) in the return
parameter (E_VIQMUR). This is the only way to ensure that the fields you have not changed are correctly transferred back and that
inconsistency of data is avoided.

EXIT_SAPLIQS0_013
You use this function module to dynamically determine the function code text for this customer enhancement. In addition, you can
deactivate the function codes that are not being used.
Structure:
Import parameter I_TQ80: This parameter displays the application.

I_TQ80-QMTYP = 01 Plant Maintenance

I_TQ80-QMTYP = 02 Quality Management

I_TQ80-QMTYP = 03 Service Management

Return parameter E_U18_INACTIVE - E_U20_INACTIVE: You use this parameter to control the activation or deactivation of the function
code in the menu.

"X" Function code deactivated in the menu


" " Function code active in the menu

Return parameter E_U18_TEXT - E_U20_TEXT: You use this parameter to define the text that forms the name of the function in the
menu. If you do not enter texts, the function codes "+U18", "+U19" and "+U20" appear under the text "Customer data for cause"
Note:
The function code text can only be defined using this function module. Even if you enter a text using the "Edit component function,
the system always displays the text that was given in the relevant return parameter in the function module. The creation of the
function code text using the "Edit component" function has no effect.
Function code:
You can use this function code, for example, to call a customer-specific view at cause level in the notification. The function code is in
the menu under Goto -> Item -> Causes.
Note:
You can only freely define the text for the function code using the function module "EXIT_SAPLIQS0_013". If you do not enter your
own text in this function module, the text "Customer data for the cause" is displayed. In addition, you can use the function module
"EXIT_SAPLIQS0_013" to deactivate the function code.

QQMA0023
QM/PM/SM: "User data" function in "Goto -> Item" menu
Menu entries:
SAPLICUA+U21
SAPLICUA+U22
SAPLICUA+U23
SAPLQM00+U21
SAPLQM00+U22
SAPLQM00+U23
SAPMIWO0+U21
SAPMIWO0+U22
SAPMIWO0+U23
Function exits:
EXIT_SAPLIQS0_014
Function Codes in Menu "Goto/Item" in Notification Processing
EXIT_SAPLIQS0_015
Supply Function Codes with Text/Deactivate Codes: "Goto/Item"
You use this customer enhancement to activate your own function codes for the notification processing and display transactions, that
is:

Service notifications

Maintenance notifications

Quality notifications
You can use these function codes, for example, to call up a customer-specific view for the item.
The function codes are included in the menu under Goto -> Item
EXIT_SAPLIQS0_014
You can use this customer enhancement to activate your own function code for the processing or display transactions of the
notifications:

Service notifications

Maintenance notifications

Quality notifications
You can use these function codes, for example, to call a customer-specific view for the item.
The function codes are in the menu under Goto -> Item.
Structure
Import parameter I_AKTYP: This parameter displays the transaction type from which the function is called.

A Display

V Change

H Create
Return parameter E_FCODE: You use this parameter to control whether or not the data is to be copied.

0001-Continue/Close: The system copies data for the current item and closes the dialog box.
0002-Next item selected: The system copies data for the current item and makes the data available for the next item that has
been selected.
0003-Cancel: No data is copied
Other-Cancel: No data is copied

Note:
Before exiting the customer enhancement, you must enter the item record that has been specified (I_VIQMFE) in the return parameter
(E_VIQMFE). This is the only way to ensure that the fields you have not changed are correctly transferred back and that inconsistency
of data is avoided.
EXIT_SAPLIQS0_015
You use this function module to dynamically determine the function code text for this customer enhancement. In addition, you can
deactivate the function codes that are not being used.
Structure
Import parameter I_TQ80: This parameter displays the application.

I_TQ80-QMTYP = 01 Plant Maintenance

I_TQ80-QMTYP = 02 Quality Management

I_TQ80-QMTYP = 03 Service Management


Return parameter E_U21_INACTIVE - E_U23_INACTIVE: You use this parameter to control the activation or deactivation of the function
code in the menu.

"X" Function code deactivated in the menu

" " Function code active in the menu


Return parameter E_U21_TEXT - E_U23_TEXT: You use this parameter to define the text that forms the name of the function in the
menu. If you do not enter texts, the function codes "+U21", "+U22" and "+U23" appear under the text "Customer data for the item".
Note:
The function code text can only be defined using this function module. Even if you enter a text using the "Edit component" function,
the system always displays the text that was given in the relevant return parameter in the function module. The creation of the
function code text using the "Edit component" function has no effect.
Function code
You can use this function code, for example, to call a customer-specific view at item level in the notification. The function code is in the
menu under Goto -> Item.
Note:
You can only freely define the text for the function code using the function module "EXIT_SAPLIQS0_015". If you do not enter your
own text in this function module, the text "Customer data for the item is displayed. In addition, you can use the function module
"EXIT_SAPLIQS0_015" to deactivate the function code
.

QQMA0024
QM/PM/SM Deactivate function codes in CUA menu
Function exits:
EXIT_SAPLIQS0_016
Function Module for Deactivating Notification Function Codes
You use this customer enhancement to deactivate function codes in the menu for the notification, that is:

Service notifications

Maintenance notifications

Quality notifications
Structure
Import parameter I_TQ80: This parameter contains the Customizing settings for the current notification type.
Import parameter I_AKTYP: This parameter displays the transaction type from which the function is called.

A Display

V Change

H Create
Import parameter I_VIQMEL: This parameter contains data for the current notification.
Table T_EX_FCODE
This table contains all function codes that should not be active during notification processing. You must include the function codes in
this table that you want to deactivate using this customer enhancement. When the enhancement is called, this table contains all the
function codes that were identified as to be deactivated. Do not delete any of these entries, since inconsistent system statuses can
then occur.

QQMA0025
PM/SM: Default values when adding a notification
Function exits:
EXIT_SAPLIQS0_017
Default Values when Adding PM/CS Notification
With this customer exit you can set default values when creating a maintenance notification or service notification.
Time of the call:

On the initial screen (program SAPLIQS0, screen 0100) when creating a notification in the foreground.

After the notification is initialized, if this notification was not created in the foreground.
Note:
If you want to attach your own fields to the view VIQMEL, you must include it as an APPEND structure in the table QMEL. The
additional fields are then copied automatically into the VIQMEL view.
Caution:
Before you exit the function module for the customer exit, you must enter the transferred notification header record (I_VIQMEL) in the
return parameter (E_VIQMEL). This allows the fields that you have not changed to be returned completely and avoids data
inconsistency.

QQMA0026
PM/SM: Auth. check when accessing notification transaction
Function exits:
EXIT_SAPLIBER_001
Customer Exit: Authorization Check for Notification Transactions
You can use this customer enhancement to perform an individual authorization check when a quality notification is accessed.
This customer enhancement is called up after the SAP standard inspection for authorization object Q_QMEL.
The following tables are available in the function exit for user-defined authorization checks:

VIQMEL - Notification header record

TQ80 - Notification type

QQMA0027
PM/SM: Default values when adding a task
Function exits:
EXIT_SAPMIWO0_021
Default Values When Creating a Task
This customer exit enables you to set default values when adding a task. The customer exit is called in one of the following situations:

After you have entered the task

After you have executed the function for task determination


Notes:
Before you leave the function module exit, you must give the transferred task record (I_VIQMSM) to the return parameter
(E_VIQMSM).
This is the only way to ensure that the fields that you have not changed are returned completely, thus avoiding data inconsistencies.

QQMA0028
QM: Create notification from confirmation of production order
Function exits:
EXIT_SAPLCORU_S_001
QM: Create Notification from Confirmation of Production Order
You can create quality notifications when you make confirmations for a production order. You can use this customer enhancement to
load additional information which can be transferred to the quality notification that you want to create.

QQMA0029
QM/PM/SM: Change Notification Type
Function exits:
EXIT_SAPLIQS0_018
Check Whether a Change of Notification Type is Allowed
EXIT_SAPLIQS0_019
No documentation in English at present.

IMSMCOMM
MSM communication enhancement
Function exits:
EXIT_SAPLI_MSM_COMM_001
Determination of Communication Text
IMSMCOMM gives you the chance to implement your own way of finding a text that is sent out via the paging functionality from >=45
to a radio device. When you press the paging button in order / notification then
(1) we try to find a standard text from customizing
(2) substitute the text symbols from (1) like &caufvd-aufnr& by the "real" value
(3) send the text from (2) to the user exit
(4) present the text from (3) on the paging screen
(5) give the text form (4) again to the user exit (there are two events documented)
(6) save and send out the text from (5) via sap-connect.

INTERFAC
Interface for data transfer
Menu entries:
RM11RL00+DWN
External system
RM11RL00+UPL
External system
Function exits:
EXIT_RM11RL00_001
User Exits: Export Data
EXIT_RM11RL00_002
User Exit: Adopt Data
No documentation in English at present.

MCI10001
MCI1: PMIS/QMIS updating
Function exits:
EXIT_SAPLMCI1_001
PMIS/QMIS User Exit: Update
The user exit EXIT_SAPLMCI1_001 is called while updating data to the PM and QM information systems. The following data is made
available:

I_CONTROL-VRSIO: Update version

I_STAFO
: Update group

I_ZEITP
: Update event

I_MCIPMB
: Update data for hierarchy 'A'

I_MCIQFB
: Update data for hierarchy 'B'

I_MCINF
: Info structures that are updated for the statistical setup.
The fields I_MCIPMB-SUPKZ and I_MCIQFB-SUPKZ flag the records in the tables as Before Image" with the value 1 and "After Image"
with the value 2. "Before Image" reflects the status of the record in the database and "After Image" reflects the status of the record in
the current processing.

MCR00001
LIS: Authorization check for standard analyses
Function exits:
EXIT_RMCREPAU_001
LIS: Authorization Check for Characteristics (Standard Analyses)
Function exit for the authorization check in the LIS standard analyses
Before the standard analysis is carried out, an authorization check is made on certain characteristics of an information structure. This
check is 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:
Import parameters

I_MCINF: Info structure designed to identify the respective analysis

I_DOMNAME: Domain for the corresponding selection criterion

I_ROLLNAME: Data element for the corresponding selection criterion


Changing parameter

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.
Table parameters
T_SEL_OPTION: Table with the restrictions for a characteristic. When you call up the enhancement, the table will contain the
restrictions 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:

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 consequently issue the message: "Authorization check: Selection '&3' was restricted".
Changes in the procedure
The system will no longer automatically perform those authorization checks that could be carried out before Release 3.0C using the
report ZMCREAPU. You can now integrate such a check in the enhancement (refer to the sample coding).

MCR00002
Standard analyses: Key figure display
Function exits:
EXIT_SAPLMCS2_001
Change Key Figure Texts in Standard Analyses
SAP enhancement: MCR00002, function exit: EXIT_SAPLMCS2_001
Changing key figure texts in standard analyses
Description:
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.
Key figure headings can also consist of two lines. This function exit enables you to create and change the second line of a heading.
Display key figure texts that are dependent on the characteristic value, when using the function "All key figures... (display)".
Example
If you call up this function for material 1, you can, for instance, display the text "quantity of sulphur ordered" instead of the key figure
text "order quantity", while in the same place "quantity of chlorine ordered" appears for material 2.
The system always calls up the function exit before it displays a list (initial or drill-down list). This means that you can change the preset
key figures from list to list. You can therefore configure the key figure view according to the drill-down level.
Example
At vendor level (= initial list) the key figures A, B and C are displayed. If the user wants to display all materials for a specific vendor (drill
down according to material), then he/she can use this function exit to preset the key figures D and E for the drill-down list.
The changes made by the function exit remain in effect for all subsequent drill-down lists, i.e. for all subordinate lists in the drill-down
hierarchy, until the key figure setting is changed again by the function exit. In the above example, this means that the system will still
continue to display the key figures D and E if you drill down on a material according to period and the function exit does not change
the key figure setting again before displaying the period list.
Input parameters:
T_AUS_S000: Contains the data prepared for the screen output of an initial or drill-down list.
T_DRILLDOWN: Current drill-down level. In the field
T_DRILLDOWN-DDICFELD: the header line of this table contains the name of the characteristic according to which the drill down is
performed for the list contained in table T_AUS_S000. (Example: if the field name MATNR is in the DDICFELD, then in the case of the
list which is displayed after calling up the function exit, the user is given a material overview.)
DDICFELD is a field in the info structure on which the standard analysis is based. Alternatively, you can also request the field
T_DRILLDOWN-ROLLNAME in order to determine the current drill-down level. T_DRILLDOWN-ROLLNAME contains the Dictionary data
element of the characteristic according to which the drill-down is performed on the list contained in table T_AUS_S000.
T_KEY_FIGURES: Preset key figures.
MCINF: Name of the info structure that contains the key figures.
FLG_ALL_FIGURES: This import parameter contains the value 'X if the function exit is called up before the popup which displays all key
figures appears. If an initial or drill-down list is called up then this parameter is reset (i.e. contains a space).
OBJECT: Name of the characteristic value (e.g. material or vendor number), for which the user has called up the function "All key
figures ... display" (FLG_ALL_FIGURES = X').
Export parameter
T_KEY_FIGURES: Key figures preset for the next list.
Procedure:
Show/hide key figures:
You can show and/or hide key figures by either inserting or deleting the line belonging to the key figure in the table T_KEY_FIGURES.
If you insert a line in table T_KEY_FIGURES, you only need to fill the fields TABNAME and FIELDNAME. The remaining fields of the tables
T_KEY_FIGURES are filled automatically by the standard analysis.
TABNAME contains the name of the info structure from which the info structure with the table field name FIELDNAME originates.
Change key figure texts (headings):
You can find key figure texts in the following four fields of the table T_KEY_FIGURES (the following notation applies to the number of
characters permitted): (x) = maximum length [x] = recommended length (in bytes).

SCRTEXT_S = short key word (10) [10]


SCRTEXT_M = medium key word (20) [15]
SCRTEXT_L = Long key word (40) [20]
REPTEXT = program heading (55) [output length
of the key figure]
When overwriting these four data fields, please observe that the length of the shortest text affects the column width in which the
respective key figure is displayed during the standard analysis.
This column width is determined as follows:
An output length is assigned to each key figure in the ABAP/4 Dictionary. If you select (in the standard analysis via the menu sequence:
"Settings -> Column width -> Key figures") a column width that is longer than the output length of a key figure, the system ignores your
entry and displays the key figure in its output length.
If the shortest key figure text is longer than the output length, then the system uses the length of the shortest key figure text for the
column width.
If all four key figure texts in the function exit are NOT filled, then the standard analysis fills the empty text fields in accordance
with the following logic:
If at least one text field has been filled, the standard analysis copies one of these texts into the empty text fields. If no text has been
defined in the function exit at all, the standard analysis takes the key figure texts from the Data Dictionary.
The field HEADLINE_2 is used to control the second line of the key figure heading. If you require a second line, then you need to fill this
field accordingly.
Additional information / tips:
For certain purposes it might be necessary to access the table T_AUS_S000. For instance, you might want to read the characteristic
texts, in order to find out which key figure texts need to be defined.
Table T_AUS_S000 is made up of two parts. The first part is independent of the information structure and is therefore always identical.
The fields in this part are defined in the structure AUSTAB_GLOBAL (see program RMCS0TP1).
The second part of T_AUS_S000 contains the key figure fields. The structure of this part is therefore dependent on the info structure.
In order to access the fields in table T_AUS_S000, you therefore need to define a structure in the function exit, which agrees with the
structure of table T_AUS_S000. You can find out the structure of this table in the respective main program. You can find out the name
of the main program by displaying the status during the standard analysis in question (menu path: System -> Status).
To access the data in table T_AUS_S000, you need to ensure that the lines of T_AUS_S000 that you require are read and then moved to
the structure defined in the function exit.

RMCAF000
LIS: Import External Data for Copy Management
Function exits:
EXIT_RMCAF000_001
Read External Data for Data Enhancement
User Exit to introduce external data into LIS info structures
This Customer Exit is designed to write external data into the info structures of LIS. It can be used, for example, to integrate statistical
data from an old system into the LIS.
The User Exit is called up in the reorganization tool. For the source info structure, select that info structure, into which you want to
write data. Provided that you have activated the User Exit, which provides data for the selected source info structure and you selected
the option 'Source data via User Exit', the data collection will be transferred to the User Exit.
Input parameters:
1. I_GSTRU: Name of the table for the info structure (e.g., S001, S601)
2. I_INDEX: Index of the first entry of a new packet: Data collection should be carried out in blocks. If you want to process blocks of
500 entries, for example, the variable I_INDEX will supply the value one when the user exit is called up for the first time, and
after the first block is updated (and therefore when the user exit is called up for the second time), the I_INDEX will supply the
value 501.
3. I_FPATH: path name of the data to be imported (for example, /oracle/C11/data.1993)
Table parameters
4. T_DATA: Table with statistics data: Statistical data is read and prepared in the User Exit. This statistical data is processed in the
table
structure of the info structure (I_GSTRU). This structure is expected in the transfer.
5. I_SELECT_OPTIONS: Table with selection options: Contains the selection options for characteristics and selection-capable key
figures that were specified on the selection screen of the report. This allows the data to be selectively read. I_SELECT_OPTIONS
has the structure RSPARAMS: SELNAME Name of the selection option from the report. The name of the selection option is
found by displaying the F1
Help and carrying out the function 'Technical info'.

KIND 'S' for SELECT-OPTIONS

SIGN See ABAP/4 Documentation on SELECT-OPTIONS

OPTION See ABAP/4 Documentation on SELECT-OPTIONS

LOW See ABAP/4 Documentation on SELECT-OPTIONS

HIGH See ABAP/4 Documentation on SELECT-OPTIONS


Exceptions
6.

NO_MORE_DATA: No more exist. The User Exit is again called after the last block of data is read, prepared and processed.
RAISE NO_MORE_DATA is a signal by the User-Exit that there are no more data available.

SRVDET
Function exits:
EXIT_SAPLMLSP_040
EXIT_SAPLMLSP_041
Screen areas:
SAPLMLSP0220_SUSCUSER_SAPLXMLU0299
No documentation in English at present.

SRVEDIT
Function exits:
EXIT_SAPLMLSR_001

User screen on tab strip of service detail screen


Transfer of Data to Detail User Screen
Adoption of Data from User Screen

Service list control (maintenance/display)


User Exit: Control of Service Entry Mode

No documentation in English at present.

SRVESI
Data conversion entry sheet interface
Function exits:
EXIT_SAPLMLSX_002
Conversion/Checking of Entry Sheet Data in Inbox
EXIT_SAPLMLSX_003
Conversion of Entry Sheet Data in Outbox
The enhancement SRVESI is part of the interface for exchanging entry sheets with external systems (laptop, vendor system).
BAPIs are used to both pick out the data needed to create the entry sheets (purchase orders, contracts, service master records) and
actually create the entry sheets.
In outbound processing, the components of the enhancement are used to convert the data of the BAPIs BAPI_SERVICE_GET_DETAIL
and BAPI_PO_GETDETAIL into a document which is then sent by mail or outputted on a data carrier. In inbound processing, the data of
the incoming documents is converted to the interface structures of the BAPI BAPI_ENTRYSHEET_CREATE.
EXIT_SAPLMLSX_002
The exit EXIT_SAPLMLSX_002 is part of the interface for exchanging entry sheets with external systems (laptop, vendor system).
The exit is used to convert the data from incoming documents (mail, file) to the internal data structures. The data of the incoming
document is passed on to the exit unchanged. The structures of the BAPI BAPI_ENTRYSHEET_CREATE are expected as output. The
exception WRONG_DOCUMENT can be triggered if the data of the inbound document is incorrect.

SRVESKN
Set account assignment in service line
Function exits:
EXIT_SAPLMLSK_001
Set Account Assignment in Service Line
The enhancement SRVESKN enables you to predefine the account assignment distribution in newly created service lines. The
enhancement is invoked in all purchasing documents with account assignment.
Functional module:
The function module EXIT_SAPLMLSK_001 allows you to predefine the account assignment distribution in new service lines that are
created. Beforehand, you must specify the account assignments and the percentages or quantities allocated to each account
assignment in table T_ESKN. The function module is invoked in all purchasing documents with account assignment.

SRVESLL
Service line checks
Function exits:
EXIT_SAPLMLSP_030
User Exit: Fill ESLL Structure Before Checks (After Entry)
EXIT_SAPLMLSP_031
Check ESLL Data After Checking
No documentation in English at present.

SRVESSR
Set entry sheet header data
Function exits:
EXIT_SAPLMLSR_010
Set Entry Sheet Header Data
The enhancement SRVESSR enables you to set the header data (e.g. location at which the service was performed) when creating an
entry sheet.

SRVEUSCR
Function exits:
EXIT_SAPLMLSR_020
EXIT_SAPLMLSR_021
Screen entries:
SAPLMLSR0400_SUBUSCR_SAPLXMLU0399
No documentation in English at present.

User screen on entry sheet tabstrip


Transfer of Data to Entry Sheet User Screen
Adoption of Data from Entry Sheet User Screen

SRVKNTTP
Setting the account assignment category when reading in, if U
Function exits:
EXIT_SAPLMLSX_001
Entry Sheet Upload: Set Account Assignment Category
No documentation in English at present.

SRVLIMIT
Limit check
Function exits:
EXIT_SAPLMLSL_001
Check Limits in Service Specifications
No documentation in English at present.

SRVMAIL1
Processing of mail before generation of sheet
Function exits:
EXIT_SAPLMLSX_010
Process Mail Before Generation of Entry Sheet
EXIT_SAPLMLSX_011
After Importing Mail, Analysis of Result
The enhancement SRVMAIL1 enables you to modify the data of incoming mails (with service entry sheet data).
After Release 4.0B, the enhancement SRVESI should be used instead of enhancement SRVMAIL1, since the former offers greater
functionality.

SRVMSTLV
Conversion of data during importing of standard service cat.
Function exits:
EXIT_SAPLMLST_001
Conversion of Units of Measure When Importing Standard Service Catalog
The enhancement SRVMSTLV facilitates the conversion of data during the importing of standard service specifications.

SRVPOWEB
Purchase order for service entry in Web
Function exits:
EXIT_SAPLMEW5_001
Purchase Order: Entry Sheet Web
No documentation in English at present.

SRVQUOT
Service export/import for inquiry/quotations
Function exits:
EXIT_SAPMM06E_010
Export of Service RFQ Data
EXIT_SAPMM06E_011
Import Service Prices for Quotation
No documentation in English at present.

SRVREL
Changes to comm. structure for release of entry sheet
Function exits:
EXIT_SAPLEBND_003
Change to Comm. Structure for Release Strategy Determination
In the standard system, communication structure CESSR (for determination of the release strategy defined for an entry sheet) is filled
with the data of the PO, the entry sheet and the entry sheet account assignment. Within function module EXIT_SAPLEBND_003, you
have access to the fields of the communication structure. Prior to implementing the strategy determination process, you can therefore
change the communication fields in any way you wish, thus influencing which strategy is determined.

SRVSEL
Service selection from non-SAP systems
Function exits:
EXIT_SAPLMLSP_01
Query Whether Selection of Services from Other Systems is Allowed
EXIT_SAPLMLSP_011
Call Foreign Selection for Services
No documentation in English at present.

CRM00001
Function exits:
Development not completed.

User Exits in Customer Relationship Management

4. BAPIs in Detail
BAPI_SERVNOT_ADD_DATA
This BAPI enables you to add items, causes, activities, task, long texts to a service notification. For more information about necessary
import parameters see BAPI_SERVNOT_CREATE (method ServiceNotification.CreateFromData2).
Notes:
Errors are returned in the parameter RETURN.

BAPI_SERVNOT_CHANGEUSRSTAT
This BAPI changes the user status of a service notification.
Notes:
Errors are returned in the parameter RETURN.
Technical note:
The user status can be transferred either in internal or external format (fields USR_STATUS-STATUS_INT or USR_STATUS_EXT).
If the external format is used, the language must also be specified (field USR_STATUS-LANGU or USR_STATUS-LANGU_ISO).

BAPI_SERVNOT_CLOSE
This BAPI is called when completing a service notification.
Notes:
The notification must have a status that allows the completion. Errors are returned in the parameter RETURN.

BAPI_SERVNOT_MODIFY_DATA
This BAPI enables you to modify the header, items, causes, activities, tasks, and partners of the service notification.
Notes:
Errors are returned in the parameter RETURN.
Technical note:
If you want to change a field you have to specify the new value of the field in the data structure e.g. NOTIFHEADER-SHORT_TEXT. In
addition the corresponding X-structure field e.g. NOTIFHEADER_X-SHORT_TEXT must be checked.
If you want to change a partner in the notification, the fields PARTN_ROLE_OLD and PARTNER_OLD must be specified and the Xstructure must be filled as described above.

BAPI_SERVNOT_CREATE
This BAPI enables you to create a new service notification. This allows you to create certain fields from the notification header, items,
causes, tasks, activities and also long texts for them. Partners can also be maintained.
Notes:
Errors are returned in the parameter RETURN.
Technical note:
The sort field must be filled in order to create items, causes, task or activities. When creating a cause the sort field for the item must
also be filled.
When creating a long text the fields OBJTYP and OBJKEY must be filled. OBJTYP can contain the following values:
1. QMEL - notification header
2. QMFE - notification item
3. QMUR - notification cause
4. QMSM - notification task
5. QMMA - notification activity
OBJKEY must contain the corresponding sort field for the above values. The combination of sort field item/cause, item/task or

item/activity must be unique within the same notification. If you leave the sort field blank and OBJTYP = QMEL, the long text is created
for the notification header.
An external reference key can be transferred by the field REFOBJECTKEY. The links between external reference keys <-> R/3 keys are
returned within export table KEY_RELATIONSHIPS. If the fields SENDER, REFOBJECTTYPE and REFRELTYPE are filled, it is possible to
create an object link at notification header level.

BAPI_SERVNOT_DEL_DATA
This BAPI enables you to delete items, causes, activities, tasks, partners for the service notification.
Notes:
Errors are returned in the parameter RETURN.
Technical note:
If an entry has to be deleted, the key of the table entry must be specified e.g. ITEM_KEY for the item to be deleted or PARTN_ROLE and
PARTNER for the partner to be deleted.

BAPI_SERVNOT_POSTPONE
This BAPI postpones a service notification. Its system status is changed to "Notification postponed".
Notes:
Errors are returned in the parameter RETURN.

BAPI_SERVNOT_GET_DETAIL
This BAPI enables you to display all details for a service notification.
Notes:
Errors are returned in the parameter RETURN.
Technical note:
Notification number is a mandatory entry.
Information about the structure of the long text table OBJTYP can contain the following values:

QMEL - notification header

QMFE - notification item

QMUR - notification cause

QMSM - notification task

QMMA - notification activity


OBJKEY contains the key of the corresponding object e.g. ITEM_KEY for a notification item.
The export structure NOTIFHDTEXT provides additional information about notification header data e.g. description of the
corresponding equipment.
BAPI_SERVNOT_PUTINPROGRESS
This BAPI changes the status of a notification to "in process".
Notes:
Errors are returned in the parameter RETURN.
Technical note:
If a notification has the status "open", then the BAPI calls the business transaction "put in process", if a notification is already closed,
the BAPI calls the business transaction "put in process again".
BAPI_SERVNOT_SAVE

This BAPI enables you to save changes made to a service notification.


Notes:
Errors are returned in the parameter RETURN.
Technical notes:
This BAPI calls the update task function of the notification.
Afterwards no further changes are possible until BAPI_TRANSACTION_COMMIT is called.

SM Tasks BAPIs
BAPI_SERVNOT_COMPLETE_TASK
You can use this BAPI to complete a task.
Notes:
If you use the TESTRUN parameter, the status is not changed. The system checks if the task could be completed by the action.
In parameter TASK_KEY, the system expects the key for the task that is on the database. This key can be read in using BAPI
BAPI_SERVNOT_GET_DETAIL, for example.
BAPI_SERVNOT_RELEASE_TASK
You can use this BAPI to release a task for processing.
Notes:
If you use the TESTRUN parameter, the status is not changed. The system checks if the task can be released.
In parameter TASK_KEY, the system expects the key for the task that is on the database. This key can be read in using BAPI
BAPI_SERVNOT_GET_DETAIL, for example.
BAPI_SERVNOT_SUCCESSFUL_TASK
You can use this BAPI to flag a task as successful.
Notes:
If you use the TESTRUN parameter, the status is not changed. The system checks if the task could be flagged as being successful.
In parameter TASK_KEY, the system expects the key for the task that is on the database. This key can be read in using BAPI
BAPI_SERVNOT_GET_DETAIL, for example.

PM Equipment: BAPIs
BAPI_EQUI_DISMANTLE
Using this method, you install a piece of equipment at a functional location at a predefined point in time. If the installation is
performed successfully, the method returns the updated equipment data:

EQUIMASTER:
Structure with equipment master data (EQUI)

EQUITIME:
Structure with equipment time segments (EQUZ)

EQUITEXT:
Structure with equipment short texts (EQKT)

EQUILOCATION: Structure with equipment location data (ILOA)

EQUISALES:
Structure with equipment sales data (ILOA)

EQUIHIERARCHY: Structure with equipment hierarchy data (EQUZ, ILOA)


Notes:
Notifications are returned in the parameter RETURN.

BAPI_EQUI_INSTALL
Using this method, you install a piece of equipment at a functional location at a predefined point in time. If the installation is
performed successfully, the method returns the updated equipment data:

EQUIMASTER:
EQUITIME:
EQUITEXT:
EQUILOCATION:
EQUISALES:
EQUIHIERARCHY:

Structure with equipment master data (EQUI)


Structure with equipment time segments (EQUZ)
Structure with equipment short texts (EQKT)
Structure with equipment location data (ILOA)
Structure with equipment sales data (ILOA)
Structure with equipment hierarchy data (EQUZ, ILOA)

Notes:
Notifications are returned in the parameter RETURN.

BAPI_EQUI_CHANGE
No documentation in English at present.

BAPI_EQUI_CREATE
No documentation in English at present.

BAPI_EQUI_CREATE_BY_REFERENCE
No documentation in English at present.

BAPI_EQUI_GETDETAIL
No documentation in English at present.

BAPI_EQUI_GETLIST
No documentation in English at present.

PM BAPI: Install Equipment (Functional Location, Superior Equipment)


BAPI_FUNCLOC_CHANGE
No documentation in English at present.

BAPI_FUNCLOC_CREATE
No documentation in English at present.

BAPI_FUNCLOC_GETDETAIL
No documentation in English at present.

BAPI_FUNCLOC_GETLIST
No documentation in English at present.

BAPI_FUNCLOC_SET_LABEL_SYSTEM
No documentation in English at present.

Catalog BAPIs
BAPI_SERVNOT_GETCATALOGPROFIL
You use this method to determine the catalog profile for a piece of equipment for the current date.
If the method cannot determine a catalog profile for

the equipment itself,

the construction type of the equipment,

the functional location at which the equipment is installed,

the construction type of the functional location,


then the catalog profile assigned to the notification type is used
Notes:
Notifications are returned in the parameter RETURN.

BAPIs for Equipment and Service Notifications


BAPI_EQMT_CREATE
With this method, you create a piece of equipment. All data for the piece of equipment to be created can be found in the following
structures:

EQUIMASTER: Structure containing the master data (EQUI) of the piece of equipment

EQUITIME: Structure containing the usage periods (EQUZ) of the piece of equipment

EQUITEXT: Structure containing the short texts (EQKT) of the piece of equipment

EQUILOCATION: Structure containing the location data (ILOA) of the piece of equipment

EQUISALES: Structure containing the sales data (ILOA) of the piece of equipment
If the field EQUIPMENT in the structure EQUIMASTER is blank, the equipment number is assigned internally; otherwise the equipment
number specified in the field is assigned.
Notes:
Notifications are returned in the parameter RETURN.

BAPI_EQMT_DISMANTLEFL
You use this method to dismantle a piece of equipment at a functional location at a specified time. If the dismantling is performed
successfully, the method returns the updated equipment data:

EQUIMASTER: Structure containing the master data (EQUI) of the piece of equipment

EQUITIME: Structure containing the usage periods (EQUZ) of the piece of equipment

EQUITEXT: Structure containing the short texts (EQKT) of the piece of equipment

EQUILOCATION: Structure containing the location data (ILOA) of the piece of equipment

EQUISALES: Structure containing the sales data (ILOA) of the piece of equipment

EQUIHIERARCHY: Structure with the hierarchy data (EQUZ,ILOA) of the equipment


Notes:
Notifications are returned in the parameter RETURN.

BAPI_EQMT_DETAIL
This method reads details of a piece of equipment. The piece of equipment can be identified either by the equipment number
(EQUIPMENT) or by a combination of material number and serial number (MATERIAL and SERIALNO).
If the piece of equipment specified exists and you have authorization to display the data, the method delivers the details that have
been read in the following structures:

EQUIMASTER: Structure containing the master data (EQUI) of the piece of equipment

EQUITIME: Structure containing the usage periods (EQUZ) of the piece of equipment

EQUITEXT: Structure containing the short texts (EQKT) of the piece of equipment

EQUILOCATION: Structure containing the location data (ILOA) of the piece of equipment

EQUISALES: Structure containing the sales data (ILOA) of the piece of equipment

EQUIHIERARCHY: Structure with the hierarchy data (EQUZ,ILOA) of the equipment


Notes:
Notifications are returned in the parameter RETURN.
Technical notes:
If you do not want to transfer an equipment number (the piece of equipment is identified by a combination of material and serial
number), you must transfer a blank (' ') for the (obligatory) parameter EQUIPMENT.

BAPI_EQMT_GETCATALOGPROFIL
With this method, you determine the catalog profile for the current date for a piece of equipment.
If the method cannot determine a catalog profile

for the piece of equipment itself,

for its construction type,

for the functional location at which the piece of equipment is installed

or for its construction type,


Then the catalog profile that is assigned to the notification type is used.
Notes:
Notifications are returned in the parameter RETURN.

BAPI_EQMT_DISMANTLEHR
You use this method to dismantle a piece of equipment from an equipment hierarchy at a specified time. If the dismantling is
performed successfully, the method returns the updated equipment data:

EQUIMASTER: Structure containing the master data (EQUI) of the piece of equipment

EQUITIME: Structure containing the usage periods (EQUZ) of the piece of equipment

EQUITEXT: Structure containing the short texts (EQKT) of the piece of equipment

EQUILOCATION: Structure containing the location data (ILOA) of the piece of equipment

EQUISALES: Structure containing the sales data (ILOA) of the piece of equipment

EQUIHIERARCHY: Structure with the hierarchy data (EQUZ,ILOA) of the equipment


Notes:
Notifications are returned in the parameter RETURN.

BAPI_EQMT_GETLISTFORCUSTOMER
This method returns a list of all pieces of equipment for a customer.
Only the pieces of equipment that have the transferred customer number (CUSTOMERNO) maintained in their master data are
considered. The parameter INT_CUSTMODE controls which of the customer fields are compared.
You also have the option of limiting the selection by the equipment type (EQUITYPE), as well as by the material number and serial
number (MATERIALFROM, MATERIALTO, SERIALNOFROM, SERIALNOTO).
In the table EQUIPMENT, only the selected pieces of equipments for which you have display authorization are returned.
Notes:
Notifications are returned in the parameter RETURN.

BAPI_EQMT_INSTALLFL
You can use this method to install a piece of equipment at a functional location at a specified time. If the installation is performed
successfully, the method returns the updated equipment data.

EQUIMASTER: Structure containing the master data (EQUI) of the piece of equipment

EQUITIME: Structure containing the usage periods (EQUZ) of the piece of equipment

EQUITEXT: Structure containing the short texts (EQKT) of the piece of equipment

EQUILOCATION: Structure containing the location data (ILOA) of the piece of equipment

EQUISALES: Structure containing the sales data (ILOA) of the piece of equipment

EQUIHIERARCHY: Structure with the hierarchy data (EQUZ,ILOA) of the equipment


Notes:
Notifications are returned in the parameter RETURN.

BAPI_EQMT_INSTALLHR
You can use this method to install a piece of equipment in an equipment hierarchy at a specified time. If the equipment has been
successfully installed, the method returns the updated equipment data.

EQUIMASTER: Structure containing the master data (EQUI) of the piece of equipment

EQUITIME: Structure containing the usage periods (EQUZ) of the piece of equipment

EQUITEXT: Structure containing the short texts (EQKT) of the piece of equipment

EQUILOCATION: Structure containing the location data (ILOA) of the piece of equipment

EQUISALES: Structure containing the sales data (ILOA) of the piece of equipment

EQUIHIERARCHY: Structure with the hierarchy data (EQUZ,ILOA) of the equipment


Notes:
Notifications are returned in the parameter RETURN.

BAPI_EQMT_MODIFY
You can use this method to change a piece of equipment. All data for the piece of equipment to be changed can be found in the
following structures:

EQUIMASTER: Structure containing the master data (EQUI) of the piece of equipment

EQUITIME: Structure containing the usage periods (EQUZ) of the piece of equipment

EQUITEXT: Structure containing the short texts (EQKT) of the piece of equipment

EQUILOCATION: Structure containing the location data (ILOA) of the piece of equipment

EQUISALES: Structure containing the sales data (ILOA) of the piece of equipment
The indicator INT_ALL_X shows whether all data fields should be considered for the updates (INT_ALL_X = 'X') or just those in the
corresponding flag structures that are indicated as being relevant for updating (INT_ALL_X = ' ').
Example:
Situation: In the structure EQUIMASTER the data fields EQUICATGRY, EQUITYPE and INVENTORY are assigned values and all other
fields are blank IN the corresponding flag structure EQUIMASTER_X the flags QUICATGRY, EQUITYPE and MANFACTURE are set to 'X'
and all other flags are blank (' ').
Case distinction:

If the indicator INT_ALL_X is transferred blank, the data fields


EQUICATGRY and EQUITYPE are copied (INVENTORY remains unchanged!)
The previous content of MANUFACTURE deleted from the structure EQUIMASTER.

If the indicator INT_ALL_X is set to 'X', all data fields are considered and the flag structures are therefore ignored. For the
structure EQUIMASTER, this means that the data fields
EQUICATGRY, EQUITYPE and INVENTORY are copied
And all other fields of the structure are deleted.

Notes:
Messages are returned in the parameter RETURN.

BAPI_SERVICENOTIFICAT_CREATE
You can use this method to create service notifications. This allows you to create certain fields from the notification header, the long
text for the notification header and several notification items.
Notes:
Notifications are returned in the parameter RETURN.
Technical note:
The following authorizations are checked:

I_QMEL

I_TCODE

I_BEGRP

I_IWERK

I_INGRP

I_SWERK

I_KOSTL

BAPI_SERVICENOTIFICAT_GETLIST
This method selects service notifications assigned to a customer. For this, the following data is used as selection criteria:

the customer that is maintained in the service notification

the notification date whereupon all notifications are selected, whose date is greater than or equal to the data entered
You can choose to limit the selection using a partner function and partner number.
The service notifications are returned. All notifications are selected regardless of status. You can choose to exclude completed
notifications from the selection.
Notes:
Notifications are returned in the parameter RETURN.

BAPIs for Service Entry Sheets (BO 2091)


BAPI_ENTRYSHEET_CHECK
This method allows the data of service entry sheets to be checked.
Notes:
Transfer
The entry sheet header data is passed on in the parameter EntrySheetHeader.
The account assignments are passed on in the table EntrySheetAccountAssignment.
Service data relating to the PO item can be passed on in the tables EntrySheetServices and EntrySheetSrvAccAssValues.
Return messages
Messages are returned in the table Return.

BAPI_ENTRYSHEET_CREATE
You can use this method to create service entry sheets.
Notes:
The following authorization objects are checked with the activity 76 (entry of services performed).

M_BEST_BSA Document type of purchase order of entry sheet

M_BEST_EKG Purchasing group of purchase order

M_BEST_EKO Purchasing organization of purchase order

M_BEST_WRK Plant of purchase order


Transfer:

The header data of the entry sheet is passed on in the parameter 'EntrySheetHeader'.

The account assignments are passed on in the table 'EntrySheetAccountAssignment'.

The service data for the service entry sheet can be passed on in the tables 'EntrySheetServices' and
'EntrySheetSrvAccAssValues'.

All value and price fields are to be passed on in the currency of the purchase order.
Return messages:
Messages are returned in the table 'Return'.

BAPI_ENTRYSHEET_DELETE
You can use this method to delete entry sheets.
Notes:
The following authorization objects are checked with the activity 76 (entry of services performed):

M_BEST_BSA Document type of purchase order (of entry sheet)

M_BEST_EKG Purchasing group of purchase order

M_BEST_EKO Purchasing organization of purchase order

M_BEST_WRK Plant of purchase order


Messages are returned in the table 'Return'.

BAPI_ENTRYSHEET_GETDETAIL
You can use this method to output the detailed data on a service entry sheet.
Notes:
The following authorization objects are checked with the activity 03 (Display):

M_BEST_BSA Document type in purchase order

M_BEST_EKG Purchasing group in purchase order

M_BEST_EKO Purchasing organization in purchase order

M_BEST_WRK Plant in purchase order


Error handling:
If error messages are issued during the processing, they are returned in the table 'Return'. This table also logs information messages.

BAPI_ENTRYSHEET_GETRELINFO
This method allows you to output detailed data on the release status of the service entry sheet.

BAPI_ENTRYSHEET_RELEASE
This method allows you to release entry sheets. The entry sheet number and the release code must be passed on. The new release
status and the new release indicator are returned.
Notes:
The authorization object M_EINK_FRG is checked.
A COMMIT WORK is set in the module.

BAPI_ENTRYSHEET_RESET_RELEASE
This method allows you to cancel the release of entry sheets. The entry sheet number and the release code must be passed on. The
release status and the release indicator valid prior to the release are returned.
Notes:
The authorization object M_EINK_FRG is checked.

BAPI_ENTRYSHEET_GETLIST
This method allows you to list service entry sheets. You pass on the desired selection criteria (e.g. purchasing group, plant, vendor)
Work, Supplier in the import parameters. For more information, refer to the relevant parameter documentation.
Notes:
The following authorization objects are checked with the activity 03 (Display):

M_BEST_BSA Document type in purchase order

M_BEST_EKG Purchasing group in purchase order

M_BEST_EKO Purchasing organization in purchase order

M_BEST_WRK Plant in purchase order


Return:
The entry sheets that satisfy the selection criteria are returned in the table 'ENTRYSHEET_HEADER'.
Error handling:
If error messages are issued during the processing, they are returned in the table 'Return'. This table also logs information messages.

You might also like