Sei sulla pagina 1di 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 Under development
CRM00001

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

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 EXIT_SAPLITO0_004

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)

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: 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.

Notes:

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): . . 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) 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

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 EXIT_SAPLIQS0_011

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"

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.

User screen on tab strip of service detail screen Transfer of Data to Detail User Screen Adoption of Data from User Screen

SRVEDIT Function exits: EXIT_SAPLMLSR_001

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.

Potrebbero piacerti anche