SAP R/3 форум ABAP консультантов
Russian ABAP Developer's Club

Home - FAQ - Search - Memberlist - Usergroups - Profile - Log in to check your private messages - Register - Log in - English
Blogs - Weblogs News

User-Exit in Purchasing



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ММ
View previous topic :: View next topic  
Author Message
admin
Администратор
Администратор



Joined: 01 Sep 2007
Posts: 1639

PostPosted: Sat Feb 02, 2008 5:42 pm    Post subject: User-Exit in Purchasing Reply with quote

User Exits: Purchase Requisition. TCode ME51N/ME52N

Enhancement MEREQ001.

EXIT_SAPLMEREQ_001 Export Data to Customer Subscreen for Requisition (PBO)
EXIT_SAPLMEREQ_002 Prepare Customer Subscreen for Requisition (PAI Before Subscreen PAI)
EXIT_SAPLMEREQ_003 Import Data from Customer Subscreen for Requisition
EXIT_SAPLMEREQ_004 Update Customer's Own Purchase Requisition Data for all PReqs Prepared
EXIT_SAPLMEREQ_005 Check Customer's Own Purchase Requisition Data (Without Dialog)
EXIT_SAPLMEREQ_006 Update Customer's Own Purchase Requisition Data for all PReqs Prepared
EXIT_SAPLMEREQ_007 Read Customer's Own Requisition Data when Reading Requisition
EXIT_SAPLMEREQ_008 Prepare for Update of Customer's Own Purchase Requisition Data
EXIT_SAPLMEREQ_009 Document Number Assignment: Purchase Requisition
EXIT_SAPLMEREQ_010 Check Customer's Own Requisition Data (Generally)

User Exits: Purchase Order. TCode ME21N/ME22N

Transaction Code - ME21N Создание заказа на поставку


Exit Name Description

AMPL0001 Пользов. подэкран для дополн. данных в AMPL
LMEDR001 Расширения программы печати
LMEKO001 Extend communications structure KOMK for pricing
LMEKO002 Extend communications structure KOMP for pricing
LMELA002 Копирование № партии из авизо об отправке при проводке ПМ
LMELA010 Поступл. авизо об отправке: копирование данных поз. из IDOC
LMEQR001 Программа пользователя для выбора источника поставки
LMEXF001 Условия в документах закупки без поступления счета
LWSUS001 Выбор источника поставки для клиента в торговле
M06B0001 Определение функции партнера для выдачи заявки на поставку
M06B0002 Изменения структуры связи для выдачи заявки на поставку
M06B0003 Диапазон номеров и номер документа
M06B0004 Диапазон номеров и номер документа
M06B0005 Выдача заявки целиком: изменения в структуре связи
M06E0004 Выдача документов закупки: изменения в структуре связи
M06E0005 Выдача документов закупки: определение функции (партнера)
ME590001 Группиров. заявок для разделения заказа на поставку в ME59
MEETA001 ОпредВидаПарт(отставание, СрочнПотребн, ПерспектПланиров)
MEFLD004 Определение самой ранней ДатыПост для проверки при ПМ/тлк Зк
MELAB001 Создание отзывов ПП: реализация графика передачи отзывов
MEQUERY1 Расширение к обзору документа ME21N/ME51N
MEVME001 Расчет объема ПМ по умолчанию и допуска сверх-/недопоставки
MM06E001 ПрогрПользов для EDI/Входящие и исходящие ДокумЗакупки
MM06E003 Диапазон номеров и номер документа
MM06E004 Управление экранами данных импорта в заказе на поставку
MM06E005 Пользов. поля в документе закупки
MM06E007 Документ изменений к заявкам при преобразовании их в заказы
MM06E008 Отслеживание договорной стоимости контракта при отзывах
MM06E009 Релевантные тексты для индикатора "Существуют тексты"
MM06E010 Выбор полей для адреса поставщика
MM06E011 Активация блокировки заявок
MMAL0001 ALE Распределение КИП: обработка исходящих документов
MMAL0002 ALE Распределение КИП: обработка входящих документов
MMAL0003 ALE Распределение инфо-записи: обработка исходящих докум.
MMAL0004 ALE Распределение инфо-записи: обработка входящих документов
MMDA0001 Предложение адресов поставки
MMFAB001 User-exit для генерации отзыва
MRFLB001 Управление позициями при создании отзыва

Enhancement MM06E005.
EXIT_SAPMM06E_006 Export Data to Customer Subscreen for Purchasing Document Header (PBO)
EXIT_SAPMM06E_007 Export Data to Customer Subscreen for Purchasing Document Header (PAI)
EXIT_SAPMM06E_008 Import Data from Customer Subscreen for Purchasing Document Header
EXIT_SAPMM06E_009 Reset Customer Data at Beginning of New Document (Without Dialog)
EXIT_SAPMM06E_012 Check Customer-Specific Data Before Saving
EXIT_SAPMM06E_013 Update Customer-Specific Data in Purchasing Document
EXIT_SAPMM06E_014 Read Customer-Specific Data when Importing Purchasing Document
EXIT_SAPMM06E_016 Export Data to Customer Subscreen for Purchasing Document Item (PBO)
EXIT_SAPMM06E_017 Export Data to Customer Subscreen for Purchasing Document Item (PAI)
EXIT_SAPMM06E_018 Import Data from Customer Subscreen for Purchasing Document Item

BADI ME_PROCESS_PO_CUST (начиная с версии 4.7)
Back to top
View user's profile Send private message
admin
Администратор
Администратор



Joined: 01 Sep 2007
Posts: 1639

PostPosted: Fri Jul 04, 2008 9:01 am    Post subject: Reply with quote

User-Exits (purchasing)
Version 1.01
12. June-2000

Author: Markus Wolf

User-Exits
Searching for User-Exits: In transaction SE80 open development class (Entwicklungsklasse) ME and select 'Function groups'. Those groups starting with an 'X' (XAMP, XM01, XM06 and XMAL) contain User-Exits.

User-Exits for Purchasing-BAPIs are in development class MEW in function group XMEW.

In U9B all the descriptions are translated in English.

Within the function groups they are grouped according to the programs/function groups from where they are called.


Function groups


XAMP (User Exit: Customer's Own AMPL Fields)
AMPL = Table of Approved Manufacturer Parts
· SAPLMBAM
· SAPLMBMP

XM01 (User Exits: Purchasing)
· SAPLME59
· SAPLMEDRUCK
· SAPMM06E

XM06 (User Exits: Materials Mgmt. (Purchasing)
· RM06EFAB
· RM06ELAB
· SAPLEBND
· SAPLEBNE
· SAPLEBNF
· SAPLEINL
· SAPLEINM
· SAPLEINN
· SAPLEINR
· SAPLEINS
· SAPLEKPA
· SAPLMEKO
· SAPLMEQR
· SAPLMMDA
· SAPMM06B
· SAPMM06E

XMAL (MM Purchasing: ALE Enhancements)
· EXIT_SAPLMEAI_001
· EXIT_SAPLMEAI_002
· EXIT_SAPLMEAI_003
· EXIT_SAPLMEAI_004
· EXIT_SAPLMEAO_001
· EXIT_SAPLMEAO_002

XMEW (User Exits for Devt. Class MEW - BAPIs)
· EXIT_SAPLMEWB_001
· EXIT_SAPLMEWP_001
· EXIT_SAPLMEWP_002
· EXIT_SAPLMEWP_003
· EXIT_SAPLMEWQ_001
· EXIT_SAPLMEWR_001
· EXIT_SAPMMWE1_001


XAMP Userexits Kundeneigener APML-Felder

SAPLMBAM (Function Modules for AMPL)
· EXIT_SAPLMBAM_001: Customer Exit: Transfer item data to subscreen
· EXIT_SAPLMBAM_002: Customer Exit: Adopt item data from user screen
· EXIT_SAPLMBAM_003: Customer Enhancement for AMPL Checks

SAPLMBMP (MPN Processing: Check Modules)
· EXIT_SAPLMBMP_003: Customer Enhancement for AMPL Checks

XM01 Userexits Einkauf


SAPLME59 (Auxiliary Functions: PO Generation)
· EXIT_SAPLME59_001: Grouping of Requisitions for Automatic Generation of Purchase Orders


SAPLMEDRUCK (Printing of Purchasing Documents)
· EXIT_SAPLMEDRUCK_001: Enhancement of Print Program LMEDR001

SAPMM06E
· EXIT_SAPMM06E_022: Relevant Texts for "Texts Exist" Indicator
· EXIT_SAPMM06E_023: Definition of Relevant Texts for "Texts Exist" Indicator

XM06 Userexits in der Materialwirtschaft Einkauf

RM06EFAB (Generation of Scheduling Agreement Releases)
· EXIT_RM06EFAB_001: Gives the possibility to modify the selection that has been done according to the data from the standard selection-screen


RM06ELAB (Generation of Forecast Delivery Schedules)
· EXIT_RM06ELAB_001: Gives the possibility to modify the selection that has been done according to the data from the standard selection-screen

SAPLEBND (Determine Release Strategy: Requisition /Freigabeverfahren)
· EXIT_SAPLEBND_001: Gives the possibility to change the content of the communication-structure that is used when determining the release strategy for a PR
· EXIT_SAPLEBND_002: Gives the possibility to change the content of the communication-structure that is used when determining the release strategy for a PO
· EXIT_SAPLEBND_004: Gives the possibility to change the content of the communication-structure that is used when determining the overall release strategy for PRs

SAPLEBNE (External Accessing of Requisitions)
· EXIT_SAPLEBNE_001: Gives the possibility to assign a document-number or number-range to a new PR

SAPLEBNF (Release Procedure)
· EXIT_SAPLEBNF_001: Role Assignment in Requisition Release Workflow
· EXIT_SAPLEBNF_005: Role Assignment in Purchasing Document Release Workflow

SAPLEINL (Scheduling Agreement Releases)
· EXIT_SAPLEINL_001: Determination of the Scheduling Line Type during Scheduling Agreement Release

SAPLEINM (EDI Message Output: Purchasing)
· EXIT_SAPLEINM_001: Change the control-record of an outbound IDoc (Purchasing Document). Is called when creating the control-record
· EXIT_SAPLEINM_002: To check and modify an outbound IDoc (Purchasing Document). Is called every time a new segment is added to the IDoc
· EXIT_SAPLEINM_003: To change outbound Release Documentation. Is called every time a new segment is added to the IDoc
· EXIT_SAPLEINM_004: To change inbound Release Documentation
· EXIT_SAPLEINM_005: To change an inbound Order Acknowledgement
· EXIT_SAPLEINM_006: To change inbound Shipping Notifications
· EXIT_SAPLEINM_007: To check inbound Order Acknowledgements
· EXIT_SAPLEINM_008: To change an inbound Order Acknowledgement
· EXIT_SAPLEINM_009: To modify the confirmation-control for an inbound Purchase Order
· EXIT_SAPLEINM_010: To change data of inbound Shipping Notification from IDoc
· EXIT_SAPLEINM_011: To change outbound Purchase Order
· EXIT_SAPLEINM_012: To change data in outbound IDoc with configurable material (PO). Is called before the data for filling the IDoc is selected
· EXIT_SAPLEINM_013: To change data in outbound IDoc with configurable material (PO). Is called after the data for filling the IDoc is selected
· EXIT_SAPLEINM_014: To change outbound IDoc (Purchasing Documents). Is called every time a new segment is added to the IDoc
· EXIT_SAPLEINM_015: To change the vendor-material-number (EKPO-IDNLF) in inbound IDoc
· EXIT_SAPLEINM_016: To change outbound IDoc (Outline Agreements). Is called every time a new segment is added to the IDoc
· EXIT_SAPLEINM_017: To change data of an outbound contract. Is called after creation of all Idoc-segments
· EXIT_SAPLEINM_018: To change inbound Order Acknowledgment

SAPLEINN (Inbound IDoc Processing for Contracts)
· EXIT_SAPLEINN_001: To change the data of inbound contract header and positions
· EXIT_SAPLEINN_002: To create an own batch input session for posting incoming contracts
· EXIT_SAPLEINN_003: To enter data on the screens that are processed during standard creation of batch input session for posting a contract

SAPLEINR (Read Purchasing Document)
· EXIT_SAPLEINR_001: To calculate a default GR-Quantity and Over-/Underdelivery Tolerance for scheduling agreements
· EXIT_SAPLEINR_002: To copy/change batch-numbers from Shipping-Notifications when posting Goods-Receipts
· EXIT_SAPLEINR_003: To change the data that is used for the pricing of GR's for scheduling agreements
· EXIT_SAPLEINR_004: To determine the earliest possible delivery-date when performing checks for Goods-Receipt (only for PO)

SAPLEINS (Statistics Updates: Purchasing)
· EXIT_SAPLEINS_001: To change data in communication-structures, before posting to the LIS

SAPLEKPA (Partners in Purchasing)
· EXIT_SAPLEKPA_001: Determine search strategy for mandatory roles
· EXIT_SAPLEKPA_002: To copy partners from the vendor-master

SAPLMEKO (Purchasing Conditions)
· EXIT_SAPLMEKO_001: To change data in the condition-header-structure for pricing
· EXIT_SAPLMEKO_002: To change data in the condition-position-structure for pricing

SAPLMEQR (Source of Supply Functions)
· EXIT_SAPLMEQR_001: To change the results of the source-determination

SAPLMMDA (Delivery Addresses in MM)
· EXIT_SAPLMMDA_001: To change the storage-location dependent on the position data (when creating a proposal for the delivery address)

SAPMM06B (Module Pool: Purchasing Requisitions)
· EXIT_SAPMM06B_001: Gives the possibility to assign an own document-number or number-range to a new PR

SAPMM06E (Module Pool: PO History)?
· EXIT_SAPMM06E_001: Gives the possibility to assign an own document-number or number-range to a new PO
· EXIT_SAPMM06E_004: To change the visibility of the import-data-screen
· EXIT_SAPMM06E_005: To modify the field-selection for the vendor-address-screen
· EXIT_SAPMM06E_006: To send data to the customer-subscreen in the Purchase-Document-Header (PBO)
· EXIT_SAPMM06E_007: To send data to the customer-subscreen in the Purchase-Document-Header (PAI) (for checks ?)
· EXIT_SAPMM06E_008: To get data from the customer-subscreen in the Purchase-Document-Header
· EXIT_SAPMM06E_009: To reset customer data when starting a new document
· EXIT_SAPMM06E_012: To check customer data before saving
· EXIT_SAPMM06E_013: To update customer data in Purchasing Document
· EXIT_SAPMM06E_014: To read customer data when importing Purchasing Document
· EXIT_SAPMM06E_016: To send data to the customer-subscreen in the Purchase-Document-Position (PBO)
· EXIT_SAPMM06E_017: To send data to the customer-subscreen in the Purchase-Document-Position (PAI) (for checks ?)
· EXIT_SAPMM06E_018: To get data from the customer-subscreen in the Purchase-Document-Position
· EXIT_SAPMM06E_020: To activate the creation of change documents for PRs when creating POs
· EXIT_SAPMM06E_021: To perform a check on the fulfillment of the target value (Release Order <-> Contract)

XMAL


SAPLMEAI (ALE Inbound: Source List, Info Records)
· EXIT_SAPLMEAI_001: ALE Source List Distribution: Inbound Processing (Read Segments). Possible to import self-defined IDoc-segments
· EXIT_SAPLMEAI_002: ALE Source List Distribution: Inbound Processing (Update Own Data). Is called after source list has been saved
· EXIT_SAPLMEAI_003: ALE Purchasing Info Record Distrib.: Inbound Processing (Read Segments). Possible to import self-defined IDoc-segments
· EXIT_SAPLMEAI_004: ALE Purchasing Info Record Distribution: (Update Own Data). Is called after info-record has been saved

SAPLMEAO (ALE Outbound: Source List, Info Records)
· EXIT_SAPLMEAO_001: ALE Source List Distribution: Outbound Processing. Is called every time a new segment is added to the IDoc
· EXIT_SAPLMEAO_002: ALE Purchasing Info Record Distribution: Outbound Processing. Is called every time a new segment is added to the IDoc

XMEW

SAPLMEWB (BAPIs Reservation)
· EXIT_SAPLMEWB_001: Customer Exit: Creation of Reservation via BAPI_RESERVATION_CREATE. Is executed before data are checked and saved

SAPLMEWP (BAPIs Purchase order)
· EXIT_SAPLMEWP_001: Customer Exit for Object Determination (Procurement via Catalogs)
· EXIT_SAPLMEWP_002: Customer Exit: Creation of Purchase Order via BAPI_PO_CREATE. Is executed before data are checked and saved
· EXIT_SAPLMEWP_003: Customer Exit to Determine Allowed Catalogs

SAPLMEWQ (BAPIs Requirement Coverage Request)
· EXIT_SAPLMEWQ_001: Customer Exit: Creation of Purch. Requisition via BAPI_REQUISITION_CREATE. Is executed before data are checked and saved

SAPLMEWR (BAPIs Requirement Coverage Request)
· EXIT_SAPLMEWR_001: User Exit for Data of Requirement

SAPMMWE1 (Module Pool: Create Requirement Coverage Request)
· EXIT_SAPMMWE1_001: User Exit: Material Catalog

Remarks

The numbers of the User-Exits should not be mixed with the numbers of the Enhancements in transaction SMOD:

Notes
· 107494, 203083
Performance of User-Exits (unnecessary copying of internal tables)
· 215741
Push-Buttons in customer subscreen
· 172618
User-defined splitting/sorting of PRs when creating new POs
· 211755
Modifying field-selection for vendor-address-screen in ME21N
· 212675
Updating of customer data when saving PO
Back to top
View user's profile Send private message
vga
Мастер
Мастер


Age: 195
Joined: 04 Oct 2007
Posts: 1218
Location: Санкт-Петербург

PostPosted: Fri May 22, 2009 2:17 pm    Post subject: Note 408017 - MERQ001: Implementation sample code Reply with quote

Note 408017 - MERQ001: Implementation sample code

You use user exit MEREQ001.Unfortunately, there is no sample code for this user exit.

Other terms

ME51N, ME52N, ME53N

Reason and Prerequisites

You use user exit MEREQ001.

Solution

SAP provides sample code for a simple example with this note.This example only shows the general procedure for programming SAP enhancement MEREQ001.
The sample source code comprises the display and change of a field value.In order to use this sample source code, you must create a project for SAP enhancement MEREQ001.
Create Include table CI_EBANDB.You must enter ZFLAG as a component and FLAG as a component type.Save and activate the Include table.
Create subscreen 0111. Create a checkbox on the screen and specify EBAN-ZFLAG as a name.You must enter any text which is supposed to be displayed.

The following assignments apply to the sample source code:

EXIT_SAPLMEREQ_001 : LXM02F01 -> ZXM02U01
EXIT_SAPLMEREQ_003 : LXM02F03 -> ZXM02U03

Insert the sample source code accordingly.
Create the following data in the corresponding top-include:

Code:
  tables: eban.

  data: *eban type eban,
        gf_aktyp type aktyp.


You must use the status module of the subscreen for the field selection control.Analyze the activity category which has been saved in field gf_aktyp.

Example:
Code:
MODULE STATUS_0111 OUTPUT.

  loop at screen.
    if gf_aktyp eq 'A'.
      screen-input = 0.
    else.
      SCREEN-input = 1.
    endif.
    MODIFY SCREEN.
  endloop.

ENDMODULE.                " STATUS_0111 OUTPUT


Code:
*----------------------------------------------------------------------*
*   INCLUDE LXM02F01                                                   *
*--------------------------------------------------------------
* Process before output

DATA: ls_mereq_item TYPE mereq_item.

* clear eban values if no PReq item
IF im_req_item IS INITIAL.
  CLEAR: *eban,
         eban.
ELSE.
* read item data from system
  ls_mereq_item = im_req_item->get_data( ).
* fill customer field with old values
  eban-zflag = ls_mereq_item-zflag.
   *eban-zflag = ls_mereq_item-zflag.
ENDIF.

* Read and store activity type to chnge the field status
* of the subscreen
IF NOT im_req_item IS INITIAL.
  gf_aktyp = im_req_item->GET_ACTIVITY( ).
endif.


Code:
*----------------------------------------------------------------------*
*   INCLUDE LXM02F03                                                   *
*----------------------------------------------------------------------*
* process after input

data:     ls_mereq_item type mereq_item.

*get values if PReq item exists
if not im_req_item is initial.
*read item data from system
  ls_mereq_item = im_req_item->get_data( ).
*if customer field changed
  if eban-zflag ne *eban-zflag.
*fill field with new value
    ls_mereq_item-zflag = eban-zflag.
*set new item data to system
    call method im_req_item->set_data( ls_mereq_item ).
*tell the system that there has something changed on the customer tab
    EX_CHANGED = 'X'.
  endif.
endif.
Back to top
View user's profile Send private message Blog Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ММ All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum


All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG.
SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG.
Every effort is made to ensure content integrity. Use information on this site at your own risk.