Userexit for PO Creation (ME21N)
Hi All,
The need is to code an userexit in ME21N to fetch TEXTS ( like BOM Header Text ) and populate the same onto the PO. This Userexit should fire as the user keys in the LINE ITEMS on a PO and HITS ENTER. The exit will check the entry and display error messages if need be.
If anyone has done such a thing before please do let me know.
Thanks in advance,
RK
Hi Ravi
Use trx SE19 to implement your BADI: create an ZME_PROCESS_PO_CUST using ME_PROCESS_PO_CUST as definition.
Now in Interface Tabs you can see the METHODs you can use as "user-exit", in particular there's PROCESS_ITEM to manage items data.
You have to write your code into this method.
This method has IM_ITEM like parameter in its interface, and it's like the type IF_PURCHASE_ORDER_ITEM_MM.
This type has the method IF_LONGTEXTS_MM~SET_TEXT, you can try to use it to set your text in item.
This is code for example:
DATA: TLINE TYPE MMPUR_T_TEXTLINES.
CALL METHOD IM_ITEM->IF_LONGTEXTS_MM~SET_TEXT
EXPORTING
IM_TDID = <YOUR ID>
IM_TEXTLINES = TLINE.
So you should read the text you want to copy and pass it to TLINE.
You can use the METHOD PROCESS_HEADER to read the text you need. This METHOD has IM_HEADER as parameter and it's like the type IF_PURCHASE_ORDER_MM, this type has the method IF_LONGTEXTS_MM~GET_TEXT to read header logn text.
Anyway while you're in implementation of the BADI go to:
GoTo->Sample Code
Here you can try an example how to implement the method you need to use.
Max
Message was edited by: max bianchi
Similar Messages
-
User Exit for PO creation(me21n and me22n) - A/c assgn Category is existing
Hi all,
I would like to have your guidance to find out an appropriate EXIT to meet the following req.
Requirement is such that : This EXIT should generate a G/L account automatically (or over-write the existing G/L a/c) during any PO creation(me21n and me22n tcodes - before saving) based on the fields(mandatory) :
A/c Assignment Category,
Material,
Company code and
Vendor
entered by the user(during his/her PO creation activity)
The identified EXITS as of now are EXIT_SAPLEBND_002 (But the package is not matching our PO tcodes : me21n and me22n)
and EXIT_SAPMM06E_017(Package ME- same as tcodes me21n,me22n)
and even other Exits available for PO based on <b>before saving</b> activity.
Even I tried out creating a PO in debugging mode(with break points set at the above EXITs).
Please do help me out at the earliest to identify the appropriate EXIT to meet this requirement.
With Regards,
SrividyaHi!
in SMOD give MM06E005 enhancement
FM name
EXIT_SAPMM06E_017
This will be triggered during saving.
Regards
Tamá -
Aborting the processing for PO Creation (ME21N)
Hi friendz,
I want to stop/restrict the PO creation (ME21n) on specific condition. I have to check this condition in BADI-Method. How can I do this?see the code
METHOD if_ex_me_process_po_cust~check.
ch_failed = gv_error_exists.
ENDMETHOD.
gv_error_exists is defined in private section and whenver i want to rais ethe message and want to stop the po to be saved i set the gv_error_exists to 'X'.
regards
kanishak -
User Exits for Invoice creation ,cancellation and sales return
Hi Gurus,
Pl help me it's very urgent.
I did not find any user exit invoice creation so i wrote the following code in include program
MV60AF0B_BELEG_SICHERN.
This code is to update the Z*table while saving invoice ,cancellation and sales return.
The code modification is like below
FORM BELEG_SICHERN *
Buchen Fakturabelege *
FORM BELEG_SICHERN.
READ TABLE XVBRK INDEX 1.
IF SY-SUBRC NE 0.
CALL FUNCTION 'DEQUEUE_ALL'.
MESSAGE S032.
EXIT.
ENDIF.
IF SAMH_MOD = ON.
EXPORT XKOMFK TO MEMORY ID 'SDBILLDL'.
ENDIF.
DATA: CALC_TYPE.
IF REBATE_DETERMINED = 'Y'.
CALC_TYPE = 'A'.
ELSE.
CALC_TYPE = 'I'.
ENDIF.
*{ INSERT RD1K903017 1
Work Area*********************
data : wa_xvbrk type VBRKVB.
data : wa_xvbrp type vbrpvb.
data : wa_zmigo type zmigo.
data : wa_vbrp type vbrp.
Internal table Creation*******
DATA: BEGIN OF tab_XVBRP OCCURS 100.
INCLUDE STRUCTURE VBRPVB.
DATA: END OF tab_XVBRP.
data : begin of tab_vbeln occurs 10,
vbeln type vbrk-vbeln,
knumv type vbrk-knumv,
end of tab_vbeln.
data : tab_zmigo type table of zmigo.
data : tab_vbrp type table of vbrp.
*****Data declaration*************
data : v_no_of_inv type i.
data : v_vbeln_no(10) type n.
data : v_last_inv_no(10) type n.
data : v_first_inv_no(10) type c.
data : v_tot_qty type i.
data : v_frbnr type mkpf-frbnr.
*******Ranges*********************
ranges : r_vbeln for vbrk-vbeln.
*****Populating IT****************
tab_xvbrp[] = xvbrp[].
describe table xvbrk lines v_no_of_inv.
*} INSERT
CALL FUNCTION 'RV_INVOICE_DOCUMENT_ADD'
EXPORTING
VBSK_I = VBSK
WITH_POSTING = 'A'
PREISFINDUNGSART = CALC_TYPE
IMPORTING
VBSK_E = VBSK
TABLES
XKOMFK = XKOMFK
XTHEAD = XTHEAD
XVBFS = XVBFS
XVBSS = XVBSS
XVBRK = XVBRK
XVBRP = XVBRP
XVBPA = XVBPA
XKOMV = XKOMV.
*{ INSERT RD1K903017 2
data : v_count type i,v_fkimg type i .
data : v_no_of_records(10) type n.
wa_xvbrk = xvbrk.
********Selecting the last rec no from ZMIGO
select max( sr_no ) from zmigo into v_no_of_records.
*****If Distribution channel is not ZB*********
if wa_xvbrk-vtweg ne 'ZB' and ( wa_xvbrk-fkart = 'ZRIN' or wa_xvbrk-fkart = 'ZRTE' ).
if v_no_of_inv = 1. " Process only when there is one invoice
loop at tab_xvbrp into wa_xvbrp where ( matnr ne 'CDGSTP0001' and
matnr ne 'CD-RW' and
matnr ne 'CD-RW65OHS' and
matnr ne 'CABLE' and
matnr ne 'CD-R' and
matnr ne 'CDQ80N4' and
matnr ne 'GENERAL' and
matnr ne 'NERO' and
matnr ne 'OTHERS' and
matnr ne 'SPARE PARTS' and
matnr ne 'PROMO ITEM' and
matnr ne 'PROMO-1' and
matnr ne 'PROMO-2' and
matnr ne 'PROMO-3' and
matnr ne 'PROMO-4' and
matnr ne 'PROMO-5' and
matnr ne 'PROMO-6' and
matnr ne 'PROMO-7' and
matnr ne 'PROMO-8' and
matnr ne 'PROMO-9' and
matnr ne 'PROMO-10' ).
v_fkimg = wa_xvbrp-fkimg .
v_fkimg = v_fkimg / 1000.
do v_fkimg times.
v_no_of_records = v_no_of_records + 1.
wa_zmigo-sr_no = v_no_of_records.
wa_zmigo-po_no = wa_xvbrk-vbeln.
wa_zmigo-item_no = wa_xvbrp-posnr.
wa_zmigo-mblnr = wa_xmkpf-mblnr.
wa_zmigo-doc_type = wa_xvbrk-fkart.
wa_zmigo-posting_date = wa_xvbrk-fkdat.
wa_zmigo-created_on = sy-datum.
wa_zmigo-created_time = sy-uzeit.
wa_zmigo-bill_lno = v_frbnr.
wa_zmigo-material = wa_xvbrp-matnr.
wa_zmigo-inv_no = wa_xvbrk-vbeln.
wa_zmigo-inv_item_no = wa_xvbrp-posnr.
wa_zmigo-plant = wa_xvbrp-werks.
wa_zmigo-inv_date = wa_xvbrk-fkdat.
wa_zmigo-customer = wa_xvbrk-kunag.
wa_zmigo-unit = 1.
wa_zmigo-mtype = '601'.
insert into zmigo values wa_zmigo.
enddo.
clear : wa_zmigo.
endloop.
clear : v_count,v_fkimg,wa_zmigo.
refresh tab_zmigo[].
clear v_no_of_inv.
else. "When there are Split Invoices
v_last_inv_no = wa_xvbrk-vbeln.
v_vbeln_no = v_last_inv_no - v_no_of_inv + 1.
v_first_inv_no = v_vbeln_no.
sort tab_xvbrp by vbeln.
loop at tab_xvbrp into wa_xvbrp where ( matnr ne 'CDGSTP0001' and
matnr ne 'CD-RW' and
matnr ne 'CD-RW65OHS' and
matnr ne 'CABLE' and
matnr ne 'CD-R' and
matnr ne 'CDQ80N4' and
matnr ne 'GENERAL' and
matnr ne 'NERO' and
matnr ne 'OTHERS' and
matnr ne 'SPARE PARTS' and
matnr ne 'PROMO ITEM' and
matnr ne 'PROMO-1' and
matnr ne 'PROMO-2' and
matnr ne 'PROMO-3' and
matnr ne 'PROMO-4' and
matnr ne 'PROMO-5' and
matnr ne 'PROMO-6' and
matnr ne 'PROMO-7' and
matnr ne 'PROMO-8' and
matnr ne 'PROMO-9' and
matnr ne 'PROMO-10' ).
v_fkimg = wa_xvbrp-fkimg .
v_fkimg = v_fkimg / 1000.
do v_fkimg times.
v_no_of_records = v_no_of_records + 1.
wa_zmigo-sr_no = v_no_of_records.
wa_zmigo-po_no = v_vbeln_no. "wa_vbrp-vbeln.
wa_zmigo-item_no = wa_xvbrp-posnr.
wa_zmigo-mblnr = wa_xmkpf-mblnr.
wa_zmigo-doc_type = wa_xvbrk-fkart.
wa_zmigo-posting_date = wa_xvbrk-fkdat.
wa_zmigo-created_on = sy-datum.
wa_zmigo-created_time = sy-uzeit.
wa_zmigo-bill_lno = v_frbnr.
wa_zmigo-material = wa_xvbrp-matnr.
wa_zmigo-inv_no = v_vbeln_no.
wa_zmigo-inv_item_no = wa_xvbrp-posnr.
wa_zmigo-plant = wa_xvbrp-werks.
wa_zmigo-inv_date = wa_xvbrk-fkdat.
wa_zmigo-customer = wa_xvbrk-kunag.
wa_zmigo-unit = 1.
wa_zmigo-mtype = '601'.
insert into zmigo values wa_zmigo.
enddo.
clear : wa_zmigo.
at end of vbeln.
v_vbeln_no = v_vbeln_no + 1.
endat.
clear : v_count,v_fkimg,wa_zmigo.
refresh tab_zmigo[].
endloop.
endif. "End of first 2nd IF.
clear : v_no_of_inv, v_vbeln_no.
endif.
****************Sales return************************************
if wa_xvbrk-fkart = 'ZRRE' and wa_xvbrk-vtweg ne 'ZB'.
loop at tab_xvbrp into wa_xvbrp where ( matnr ne 'CDGSTP0001' and
matnr ne 'CD-RW' and
matnr ne 'CD-RW65OHS' and
matnr ne 'CABLE' and
matnr ne 'CD-R' and
matnr ne 'CDQ80N4' and
matnr ne 'GENERAL' and
matnr ne 'NERO' and
matnr ne 'OTHERS' and
matnr ne 'SPARE PARTS' and
matnr ne 'PROMO ITEM' and
matnr ne 'PROMO-1' and
matnr ne 'PROMO-2' and
matnr ne 'PROMO-3' and
matnr ne 'PROMO-4' and
matnr ne 'PROMO-5' and
matnr ne 'PROMO-6' and
matnr ne 'PROMO-7' and
matnr ne 'PROMO-8' and
matnr ne 'PROMO-9' and
matnr ne 'PROMO-10' ).
v_fkimg = wa_xvbrp-fkimg.
v_fkimg = v_fkimg / 1000.
v_tot_qty = v_tot_qty + v_fkimg.
do v_fkimg times.
v_no_of_records = v_no_of_records + 1.
wa_zmigo-sr_no = v_no_of_records.
wa_zmigo-po_no = wa_xvbrk-vbeln.
wa_zmigo-item_no = wa_xvbrp-posnr.
wa_zmigo-doc_type = wa_xvbrk-fkart.
wa_zmigo-posting_date = wa_xvbrk-fkdat.
wa_zmigo-created_on = sy-datum.
wa_zmigo-created_time = sy-uzeit.
wa_zmigo-material = wa_xvbrp-matnr.
wa_zmigo-inv_no = wa_xvbrk-vbeln.
wa_zmigo-inv_item_no = wa_xvbrp-posnr.
wa_zmigo-plant = wa_xvbrp-werks.
wa_zmigo-inv_date = wa_xvbrk-fkdat.
wa_zmigo-customer = wa_xvbrk-kunag.
wa_zmigo-unit = 1.
wa_zmigo-mtype = '651'.
condense wa_xvbrk-xblnr.
wa_zmigo-reference = wa_xvbrk-xblnr.
********Bill of lading no**
select single bill_lno from zmigo_final into v_frbnr where inv_no = wa_xvbrk-xblnr and material = wa_xvbrp-matnr.
if sy-subrc eq 0.
wa_zmigo-bill_lno = v_frbnr.
endif.
insert into zmigo values wa_zmigo.
enddo.
clear : wa_zmigo,wa_xvbrp , v_fkimg, v_frbnr.
endloop.
endif.
*******Invoice Cancellation*****************************
if wa_xvbrk-fkart = 'ZRS1' and wa_xvbrk-vtweg ne 'ZB'.
delete tab_xvbrp[] where shkzg eq 'X'.
loop at tab_xvbrp into wa_xvbrp where ( matnr ne 'CDGSTP0001' and
matnr ne 'CD-RW' and
matnr ne 'CD-RW65OHS' and
matnr ne 'CABLE' and
matnr ne 'CD-R' and
matnr ne 'CDQ80N4' and
matnr ne 'GENERAL' and
matnr ne 'NERO' and
matnr ne 'OTHERS' and
matnr ne 'SPARE PARTS' and
matnr ne 'PROMO ITEM' and
matnr ne 'PROMO-1' and
matnr ne 'PROMO-2' and
matnr ne 'PROMO-3' and
matnr ne 'PROMO-4' and
matnr ne 'PROMO-5' and
matnr ne 'PROMO-6' and
matnr ne 'PROMO-7' and
matnr ne 'PROMO-8' and
matnr ne 'PROMO-9' and
matnr ne 'PROMO-10' ).
v_fkimg = wa_xvbrp-fkimg.
v_fkimg = v_fkimg / 1000.
v_tot_qty = v_tot_qty + v_fkimg.
do v_fkimg times.
v_no_of_records = v_no_of_records + 1.
wa_zmigo-sr_no = v_no_of_records.
wa_zmigo-po_no = wa_xvbrk-vbeln.
wa_zmigo-item_no = wa_xvbrp-posnr.
wa_zmigo-doc_type = wa_xvbrk-fkart.
wa_zmigo-posting_date = wa_xvbrk-fkdat.
wa_zmigo-created_on = sy-datum.
wa_zmigo-created_time = sy-uzeit.
wa_zmigo-material = wa_xvbrp-matnr.
wa_zmigo-inv_no = wa_xvbrk-vbeln.
wa_zmigo-inv_item_no = wa_xvbrp-posnr.
wa_zmigo-plant = wa_xvbrp-werks.
wa_zmigo-inv_date = wa_xvbrk-fkdat.
wa_zmigo-customer = wa_xvbrk-kunag.
wa_zmigo-unit = 1.
condense wa_xvbrk-zuonr.
wa_zmigo-reference = wa_xvbrk-zuonr.
wa_zmigo-mtype = '602'.
********Bill of lading no**
select single bill_lno from zmigo_final into v_frbnr where inv_no = wa_xvbrk-xblnr and material = wa_xvbrp-matnr.
if sy-subrc eq 0.
wa_zmigo-bill_lno = v_frbnr.
endif.
insert into zmigo values wa_zmigo.
enddo.
clear : wa_zmigo,wa_xvbrp , v_fkimg.
endloop.
endif.
clear : v_no_of_records.
*} INSERT
CALL FUNCTION 'STACK_RESET'.
R185D-DATALOSS = SPACE.
FOLGEAUFRUF102 = SPACE.
PERFORM SETPAR_INIT.
*{ INSERT RD1K903017 3
*} INSERT
LEAVE.
ENDFORM.
This program is working fine for single user but in production where no of people are creating the invoices from different places the data is not getting updated in table ZMIGO.
sometime populating with wrong data , partial data and sometimes no updation at all.
I have used the table locking system enqueue and dequeue FM's before n after updation but still the same
thing is happening.
What could be the reason.
Looking for help very urgent any other alternate option.Hi,
Go thru these..
Enhancement
SDVFX009 Billing doc. processing KIDONO (payment reference numbe
SDVFX010 User exit item table for the customer lines
SDVFX011 Userexit for the komkcv- and kompcv-structures
V05I0001 User exits for billing index
V05N0001 User Exits for Printing Billing Docs. using POR Procedu
V60A0001 Customer functions in the billing document
V60P0001 Data provision for additional fields for display in lis
V61A0001 Customer enhancement: Pricing
SDVFX001 User exit header line in delivery to accounting
SDVFX002 User exit for A/R line (transfer to accounting)
SDVFX003 User exit: Cash clearing (transfer to accounting)
SDVFX004 User exit: G/L line (transfer to accounting)
SDVFX008 User exit: Processing of transfer structures SD-FI
SDVFX007 User exit: Billing plan during transfer to Accounting
SDVFX006 User exit: Tax line (transfer to accounting)
SDVFX005 User exit: Reserves (transfer to accounting)
Business Add-in
SD_CIN_LV60AU02 BADI for billing
If it is helpful rewards points
Regards
Pratap.M -
Is there any userexit for MIR7 and MIRO transaction?
Hai friends,
Is there any userexit for MIR7 and MIRO transaction at the time of pressing "save as completed" or "save" button. I want to check the sales certificate and invoice verification for the document number entered in MIR7 and MIRO.
Regards,
safiq
NOTE:useful points will be rewarded.hi,
these r the exits related to mir7.
Transaction Code - MIR7 Park Invoice
Enhancement/ Business Add-in Description
Enhancement
LMR1M001 User exits in Logistics Invoice Verification
LMR1M002 Account grouping for GR/IR account maintenance
LMR1M003 Number assignment in Logistics Invoice Verification
LMR1M004 Logistics Invoice Verification: item text for follow-on docs
LMR1M005 Logistics Inv. Verification: Release Parked Doc. for Posting
LMR1M006 Logistics Invoice Verification: Process XML Invoice
MRMH0001 Logistics Invoice Verification: ERS procedure
MRMH0002 Logistics Invoice Verification: EDI inbound
MRMH0003 Logistics Invoice Verification: Revaluation/RAP
MRMN0001 Message output and creation: Logistics Invoice Verification
Business Add-in
INVOICE_UPDATE Business Add-In: Logistics Invoice Verification
put a break point in each exit,like break username and test the transaction . -
Can info record made mandatory for PO-Creation
Hi folks,
Requirement : PO should not be created if inforecord doesn't exist.
How can this be acomplished ?
Regards.Hi,
Why you require to make the info record mandatory?
Following may be some settings to be done -
1) If you want to make info record mandatory (whether the conditions are valid or not), make the info record fied in ME21N as mandatory.
2) If you want that the users should not be able to enter the price manually in the PO, then make the conditions PB00 / PBXX as automatic (not changeable manually). Enter those details in info record, from which the same will be picked in the PO & will be greyed out (not changeable manually). Here, you can bifurcate the roles of the buyers for PO creation & Info Record maintenance.
Regards,
Prashant -
Hi,
The requirement is as below
We have added some zfields in shopping cart at item level.
These fields are transferred to R/3 and hence the z field data comes in the customer data tab of the PR.
Now, there needs to be one special condition checked. If one of the field is X -> mark the item as deleted
ie
if zfield1 = 'X' -> loekz = 'X'
I have used MEREQ001 for getting the zfields data in PR. I am getting all this data in PR.
But when I used the check if zfield1 = 'X' -> loekz = 'X' in this exit, deletion indicator is not set.
Can anyone please provide some exit for PR creation which can help to update the standard field based on the value of zfield at item level.
Thanks
RichaAMPL0001 User subscreen for additional data on AMPL
LMEDR001 Enhancements to print program
LMELA002 Adopt batch no. from shipping notification when posting a G
LMELA010 Inbound shipping notification: Transfer item data from IDOC
LMEQR001 User exit for source determination
LMEXF001 Conditions in Purchasing Documents Without Invoice Receipt
LWSUS001 Customer-Specific Source Determination in Retail
M06B0001 Role determination for purchase requisition release
M06B0002 Changes to comm. structure for purchase requisition release
M06B0003 Number range and document number
M06B0004 Number range and document number
M06B0005 Changes to comm. structure for overall release of requisn.
M06E0004 Changes to communication structure for release purch. doc.
M06E0005 Role determination for release of purchasing documents
ME590001 Grouping of requsitions for PO split in ME59
MEETA001 Define schedule line type (backlog, immed. req., preview)
MEFLD004 Determine earliest delivery date f. check w. GR (only PO)
MELAB001 Gen. forecast delivery schedules: Transfer schedule implem.
MEQUERY1 Enhancement to Document Overview ME21N/ME51N
MEVME001 WE default quantity calc. and over/ underdelivery tolerance
MM06E001 User exits for EDI inbound and outbound purchasing document
MM06E003 Number range and document number
MM06E004 Control import data screens in purchase order
MM06E005 Customer fields in purchasing document
MM06E007 Change document for requisitions upon conversion into PO
MM06E008 Monitoring of contr. target value in case of release orders
MM06E009 Relevant texts for "Texts exist" indicator
MM06E010 Field selection for vendor address
MMAL0001 ALE source list distribution: Outbound processing
MMAL0002 ALE source list distribution: Inbound processing
MMAL0003 ALE purcasing info record distribution: Outbound processing
MMAL0004 ALE purchasing info record distribution: Inbound processing
MMDA0001 Default delivery addresses
MMFAB001 User exit for generation of release order -
Userexit for SO Create/Change.
Hi,
Please tell me the userexit for the Sales Order Create/ChagneHi,
You can find the user exits in the include MV45AFZZ....
Details are given below :
<b>User exits in the program MV45AFZZ</b>
The user exits which you can use for modifications in sales document processing are listed below.
USEREXIT_DELETE_DOCUMENT
This user exit can be used for deleting data which was stored in a separate table during sales document creation, for example, if the sales document is deleted.
For example, if an additional table is filled with the name of the person in charge (ERNAM) during order entry, this data can also be deleted after the sales order has been deleted.
The user exit is called up at the end of the FORM routine BELEG_LOESCHEN shortly before the routine BELEG_SICHERN.
USEREXIT_FIELD_MODIFICATION
This user exit can be used to modify the attributes of the screen fields.
To do this, the screen fields are allocated to so-called modification groups 1 - 4 and can be edited together during a modification in ABAP. If a field has no field name, it cannot be allocated to a group.
The usage of the field groups (modification group 1-4) is as follows:
Modification group 1: Automatic modification with transaction MFAW
Modification group 2: It contains 'LOO' for step loop fields
Modification group 3: For modifications which depend on check tables or on other fixed information
Modification group 4: is not used
The FORM routine is called up for every field of a screen. If you require changes to be made, you must make them in this user exit.
This FORM routine is called up by the module FELDAUSWAHL.
See the Screen Painter manual for further information on structuring the interface.
USEREXIT_MOVE_FIELD_TO_VBAK
Use this user exit to assign values to new fields at sales document header level. It is described in the section strong> "Transfer of the customer master fields into the sales document".
The user exit is called up at the end of the FORM routine VBAK_FUELLEN.
USEREXIT_MOVE_FIELD_TO_VBAP
Use this user exit to assign values to new fields at sales document item level. It is described in the section strong> "Copy customer master fields into the sales document".
The user exit is called up at the end of the FORM routine VBAP_FUELLEN.
USEREXIT_MOVE_FIELD_TO_VBEP
Use this user exit to assign values to new fields at the level of the sales document schedule lines.
The user exit is called up at the end of the FORM routine VBEP_FUELLEN.
USEREXIT_MOVE_FIELD_TO_VBKD
Use this user exit to assign values to new fields for business data of the sales document. It is described in the section strong> "Copy customer master fields into sales document" .
The user exit is called up at the end of the FORM routine VBKD_FUELLEN.
USEREXIT_NUMBER_RANGE
Use this user exit to define the number ranges for internal document number assignment depending on the required fields. For example, if you want to define the number range depending on the sales organization (VKORG) or on the selling company (VKBUR), use this user exit.
The user exit is called up in the FORM routine BELEG_SICHERN.
USEREXIT_PRICING_PREPARE_TKOMK
Use this user exit if you want to include and assign a value to an additional header field in the communication structure KOMK taken as a basis for pricing.
USEREXIT_PRICING_PREPARE_TKOMP
Use this user exit if you want to include or assign a value to an additional item field in the communication structure KOMP taken as a basis for pricing.
USEREXIT_READ_DOCUMENT
You use this user exit if further additional tables are to be read when importing TA01 or TA02.
The user exit is called up at the end of the FORM routine BELEG_LESEN.
USEREXIT_SAVE_DOCUMENT
Use this user exit to fill user-specific statistics update tables.
The user exit is called up by the FORM routine BELEG-SICHERN before the COMMIT command.
Note
If a standard field is changed, the field r185d-dataloss is set to X. The system queries this indicator at the beginning of the safety routine. This is why this indicator must also be set during the maintenance of user-specific tables that are also to be saved.
USEREXIT_SAVE_DOCUMENT_PREPARE
Use this user exit to make certain changes or checks immediately before saving a document. It is the last possibility for changing or checking a document before posting.
The user exit is carried out at the beginning of the FORM routine BELEG_SICHERN.
Working with User Exits
Updating the document flow
The total quantity to be billed is transferred to the sequential data record. Quantities which have already been billed are managed within the SAP system. This process is influenced by user exits. User exits directly influence the update of compressed document flow VBAPF in the system. This document flow accumulates quantities which have already been billed and compares them to new billing quantities. A new billing document is then created with the following quantity:
Quantity to be billed = New quantity - quantity already billed
Using user exits, you can specify the keys to which records of the compressed document flow are to be stored.
santhosh -
BADI or Userexit for ME2Xn for VERSION
Hello,
I want to know which is the BADI or USerexit for which in ME22n what ever the changes made in PO,Netprice or Delivery date it should create a NEW VERSION number,only if the Netprice is changed,new version is getting genarated....can any one help me regarding this please?
Moderator message: please work yourself first on your requirement, search for available information.
Edited by: Thomas Zloch on Dec 1, 2010 11:43 AMList of all U-Exists for ME22N:
AMPL0001 User subscreen for additional data on AMPL
LMEDR001 Enhancements to print program
LMELA002 Adopt batch no. from shipping notification when posting a GR
LMELA010 Inbound shipping notification: Transfer item data from IDOC
LMEQR001 User exit for source determination
LMEXF001 Conditions in Purchasing Documents Without Invoice Receipt
LWSUS001 Customer-Specific Source Determination in Retail
M06B0001 Role determination for purchase requisition release
M06B0002 Changes to comm. structure for purchase requisition release
M06B0003 Number range and document number
M06B0004 Number range and document number
M06B0005 Changes to comm. structure for overall release of requisn.
M06E0004 Changes to communication structure for release purch. doc.
M06E0005 Role determination for release of purchasing documents
ME590001 Grouping of requsitions for PO split in ME59
MEETA001 Define schedule line type (backlog, immed. req., preview)
MEFLD004 Determine earliest delivery date f. check w. GR (only PO)
MELAB001 Gen. forecast delivery schedules: Transfer schedule implem.
MEQUERY1 Enhancement to Document Overview ME21N/ME51N
MEVME001 WE default quantity calc. and over/ underdelivery tolerance
MM06E001 User exits for EDI inbound and outbound purchasing documents
MM06E003 Number range and document number
MM06E004 Control import data screens in purchase order
MM06E005 Customer fields in purchasing document
MM06E007 Change document for requisitions upon conversion into PO
MM06E008 Monitoring of contr. target value in case of release orders
MM06E009 Relevant texts for "Texts exist" indicator
MM06E010 Field selection for vendor address
MMAL0001 ALE source list distribution: Outbound processing
MMAL0002 ALE source list distribution: Inbound processing
MMAL0003 ALE purcasing info record distribution: Outbound processing
MMAL0004 ALE purchasing info record distribution: Inbound processing
MMDA0001 Default delivery addresses
MMFAB001 User exit for generation of release order
MRFLB001 Control Items for Contract Release Order
best regards. -
I have requirement that when I create PO in ME21N,
The Purchasing group should come automatically from Z table based on User ID in the ORG.Data Tab of header.
Next is when I enter Material in Item,It should Check whether that material exists in that Purchasing group or not.
This 2 enhancement I need.
Can anybody suggest me which userexit or BADI i should use with details.
Thanks
Kumar NHiKumar ,
Pls check the following steps to find the USER EXIT And BADI For ME21n:
If u want to search the relevant exit for this, then the procedure is like this.
Run the transaction ME21N.
Go to Sytem->status.
Get the package name from the dialog.
Go to transaction SMOD and enter F4 help in Enhancement field,then click on Information System write down the package name there its show u all the User exit.
or
If u want to search the relevant BADI, then the procedure is
Go to the TCode SE24 and enter CL_EXITHANDLER as object type.
In 'Display' mode, go to 'Methods' tab.
Double click the method 'Get Instance' to display it source code.
Set a breakpoint on 'CALL METHOD
cl_exithandler=>get_class_name_by_interface'.
Then run your transaction ME21N.
The screen will stop at this method.
Check the value of parameter 'EXIT_NAME'. It will show you
the BADI for that transaction.
The BADI Used For the transaction ME21N is ME_PROCESS_PO
Then Run the transaction SE18,selectcheck box BADI write the BADI name cliuck on Display ,go for the documentation for that BADI ,then u fing which methods is suitable for ur requirment .
I hope this will ok for u.
Thank u ,
Sanjit -
Userexit For TCODE J1IJ depot excise invoice
hi
I want to know is there any userexit for depot excise invoice. That we can use to check weather excise entry date that is (J_1IRG23D-CPUDT) is equal to likp-WADAT_IST . Any info will be really helpful.
Thank youHi,
Use this program SAPMJ1IJ in this program there are 4 includes.
First try with MJ1IJF01
So check with your abaper which exit is working in this include.you can do it by setting break-point.
Also check other includes MJ1IJTOP MJ1IJO01 MJ1IJI01
Thank you, -
Duplicate check on search term for BP creation in CRM
HI,
I want to do a duplicate check on search term for BP creation in CRM.
i found one BADI ADDRESS_SEARCH. But the method address_search is not getting called.
Is there any other BADI available? how can I handle this issue?hello,
BP is BDT (Business Data toolset) enabled (you can check it by adding break point in FM BUS_PBO and executing BP transaction). You can add your check directly to standard view (the check will be executed each time when user pushes enter) or you could add you check to appropriate action (during saving etc.) there are number of actions which you could use it depends on your requirements. You can find a lot of info about BDT (if you are not familiar) in Wiki.
br,
dez_ -
Functional module for automatic creation of pur requisition & pur order
hello,
what is the functional module for automatic creation of puchase requisition and automatic creation of purchase order which we will assign in action box in service order processing management.
please let me know as early as possible
regards,
rajesh kumar rajuHi,
Please check with following.
IDOC_INPUT_ACC_PURCHASE_REQUI
IDOC_INPUT_ACC_PURCHASE_ORDER
/ISDFPS/OR_PURCHASE_ORDER_CR
BS01_PURCHASE_DOCUMENT_CREATE
CO_MP_CREATE_PURCHASE_ORDER
Thanks & Regards
Sadhu Kishore -
Hi,
Can anyone tel me the table name for Plant Creation date .?
I searched in SDN but DBLOGTAB in my case has ZERO entries .Is thr any other way ?Hello,
So i hope you get the reason why your are not getting the table changes in DBTABLOG
You should take help of the basis team for doing this. PLease go through the SAP documentation for details:
[http://help.sap.com/saphelp_nw04/helpdata/en/7e/c81ec852c511d182c50000e829fbfe/content.htm|http://help.sap.com/saphelp_nw04/helpdata/en/7e/c81ec852c511d182c50000e829fbfe/content.htm]
[http://help.sap.com/saphelp_nw2004s/helpdata/EN/32/a479f0e083fc4386e66380e932497e/content.htm|http://help.sap.com/saphelp_nw2004s/helpdata/EN/32/a479f0e083fc4386e66380e932497e/content.htm]
BR,
Suhas -
Table for Reservation creation Date
All SAP Gurus,
What is the Table for Reservation creation Date?
Regards,Hi Vijay,
Thanks for reply.
Tables yiu have recommended do not have the reservation creation or updation date.
Please correct me if I'm wrong.
Regards,
Maybe you are looking for
-
How to copy OVD configuration from one machine to another?
We have two machines with OVD servers on them. The configurations should be identical from one machine to the other. We suspect there is a problem with the configuration on one of them. We need to know how to copy OVD configuration from one machine t
-
I have a dazzle (Hollywood DV bridge)that takes in s video and uses a firewire to input into the Powerbook G4. Problem is i-movie shows a realtime image but only in black and white. How do I get color ???? Note: the same arrangement was working on th
-
Upgrading my software to latest
Hey you guys out there :-) .... I know this may be a piece of cake to you guys out ther who are good at this stuff but ....... I have OS X v10.6.8 on my iMac and want to update to the latest version of Mac software what route do I have to go as i am
-
ACE Load balancing with different source IP
Dear All , I am very much new to ACE . We are deploying it on our enterprise infrastructure (10.x.x.x/8) . I have a setup like this, we have 5 Proxy server which is supporting for our enteprise internet needs . Load balancing to this 5
-
ADE doesn't start on windows 7,
After the installation of ADE without error, I'm able to start ADE. But after restart of my PC I'm not able to start ADE. ADE doesn't start and no error messages appears. I can see ADE started in the "Windows task" but after few second ADE dissapears