User-exit for displaying message in LT15
Hi,
I am looking for a user-exit (or another way?) for displaying a warning message when the user tries to cancel a TO via LT15 (under certain conditions). But the only user-exit that I found that would do the thing here is ZXLTOU02, but it's performed only in Update task - no message display possible.
Any ideas?
Cheers!
Thanks for your input Chidanand,
But I've already tried by setting a breakpoint in all available exits concerning TO confirmation/cancellation - none of them is reached when LT15 is executed. The only one is the one I mentionned, and it is being performed in update task - so no message issuing possible.....
Any other ideas?
Similar Messages
-
User Exit for display User fields in MM03
Peace to All,
I was able to place user fields in Purchase View of MM03.
Question , how do I pull data from ZMARA table of my master data so that I can display it on MM03.
I will appreciate your help on this. Does anyone has a sample program to do so.
Thanks in advance,
ShilpaHi Shilpa,
Check the following user exit for MM03:
MGA00001 Material Master (Industry): Checks and Enhancements
MGA00002 Material Master (Industry): Number Assignment
MGA00003 Material Master (Industry and Retail): Number Display.
Hope this will help you.... -
User exit for MIGO, message type MLGR
Hi Guys,
My Client wants to send mail to the Purchase requisitioner, once the material, he requested, has arrived in the premises (once GR is done).
Standard SAP has Message type MLGR, which sends mail to the Purchase Order Creator.
I want to use user exit in MLGR to change the mail recipient from PO Creator to Pur Req creator.
Can anyone please tell me the user exit for the same?
Regards,
AnkushThank you for the quick response. I have setup all the configuration on SALE with
1. Creating rule
2. Maintain the rules with the default values
3. Then Assign the above rules to the message type MATQM but still not pickup the new values that I wanted to be.
Is there anything that I miss? Please advise.
Thanks again,
Tai -
User exit for display of first day in report
Hello friens,
I have to design a query in which my user want to see following way
Billed Packs----
Week1 Week 2...................week 52
packA
packB
Now user want to see the aggregated bill packs for each week.
And user does not want to see Week numbers , for e.g.
Billed Packs----
01/20xx 02/20xx 03/20xx ....................
packA
packB
User want to see the Start date of that week which means Date of Monday for each week instead.
Now it is not defined, for how much weeks user want to see , so i created a interval range variable for Week selection.
Now from previous posts i learnt that to display Start date of Monday for each week I HAVE TO CREATE A USER EXIT.
And also create text variable which then i will be using in Description to do the same.
Can you please send me STEP BY STEP for same.
Can all of you please send me Code for creating user exit
Can you please send me some sample codes and sample documents for the same.
My email id is [email protected]
Points will be awarded.As you said "<i>Now it is not defined, for how much weeks user want to see , so i created a interval range variable for Week selection</i>.", how can you decide about the number of KFs in the structures?? (Because u'll have to create as many text variables as the no. of weeks)
<b>But if that is not the case, following are the steps -
1. Go to cmod to create customize project.
2. Click on Enhancement Assignment & key in 'RSR00001'
3. Click on Components & double click on the function exit EXIT_SAPLRRS0_001.
4. Here you write the above code before the "Endcase" statement.
5. Repeat the above code for rest of the text variables with slight modification as follows...
insert modification between function module call & filling l_s_range9 --</b>i.e.
<i>CALL FUNCTION 'WEEK_GET_FIRST_DAY'
EXPORTING
WEEK = wa9-low
IMPORTING
DATE = l_fst_day
EXCEPTIONS
WEEK_INVALID = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.</i>
<b>data: n_fst_day type sy-datum.
clear n_fst_day.
n_fst_day = l_fst_day + 8.
l_s_range9-low = n_fst_day.</b>
<i>l_s_range9-sign = 'I'.</i>
Please assign the points if this is useful. -
Hi All
I know this is classic question
I need user exit for LT15 after TO has been canceled (Must be exactly after TO canceled)
since I need to call my zfunction after TO canceled
Find the solution in these link but nothing hit
Note : I have assigned in CMOD.
User exit after cancel of TO (LT15)
User Exit for Transaction LT15
User-exit for displaying message in LT15
Thanks
VickySorry my bad
Find it in MWMTO02
Close this thread, please
Thanks -
Help me to find user exit for MB1B
IN MB1B TRANSACTION I WANT ONE FIELD LIKE <b>REASON FOR TRANSFER</b> APPEAR IN THE FIRST SCREEN ONLY WHEN I AM ENTERING PARTICULAR MOVEMENT TYPE,PLANT AND STORAGE LOCATION.HELP ME TO FIND USER EXIT FOR THIS
Message was edited by:
neela renganathanTHIS FIELD ALREADY AVAILABLE IN THE NEXT SCREEN ,BUT WHILE AM ENTERING PARTICULAR MVEMNT TYPE ,PLANT,STORAGE LOCTN IT WILL APPEAR IN INITIAL SCREEN AND IT WONT ALLOW TO GO NEXT SCREEN WITHOUT GIVING THE REASON
Message was edited by:
neela renganathan
Message was edited by:
neela renganathan -
User exit for VL02n to trigger error message by checking PFI status
Please help me in finding out the exact user exit for the following enhancements:
1.When i go to VL02n transaction and try to delete the line item in the delivery for which already PFI(Profarma Invoice) is created an error message should be triggered by us stating "Proforma already created"
2.Error message will have relevant PFI details and instruction to user to Cancel [Complete] the PFI as the first step in case of delivery item deletion. User will be allowed to delete the item only after the PFI is set to cancelled status.
3.An information message should be generated automatically if user tries to change the quantity in delivery document line item, if PFI is already created for the same
4.Information message will have relevant PFI details but allows the user to change the quantity.
How can this be done? Thro' which user exit?
Please post your suggesstions?Hi,
Use the BADI "LE_SHP_DELIVERY_PROC". Methods "FILL_DELIVERY_ITEM", "CHANGE_DELIVERY_ITEM", "CHECK_ITEM_DELETION" will be useful
for your requirement.
Regards
Vinod -
What is the user exit for message type BENREP, IDoc BENEFIT3?
Hello,
We are looking for a user exit to use with IDoc BENEFIT3. Our benefits provider requires information which is not stored in any infotype in SAP, but can be calculated based on 3 existing infotypes. We need a user exit for this.
We thought we could use PBEN0018 w/function module EXIT_SAPLHRBEN00FEATURE_018, but our ABAP developer says this doesn't access any IDoc tables. HR_BEN_IDOC_SEND doesn't work for this purpose either. We also found PBEN0033 for function module HR_BEN_GET_IDOC_EVENTS, but this is labeled as obsolete.
Does anyone know if there is an exit for this?
Thanks much!
AnkeFor future reference in case anyone is trying to do this, we were not able to find a suitable user exit to enhance BENEFIT3 IDoc, so we put in an OSS note and received the following response:
"...currently there is no user exit/Badi in SAP Benefits Administration
to enhance IDoc BENEFIT3. Such functionality is indeed missing in the
system, which means that you will need to submit a development
request to enhance the system in this respect in a future release."
Anke -
Hi Experts,
My req, is I have to check billing date with order date/ delivery date while creating the invoice in VF01.
For that I have done codig in user exit RV60AFZZ, so it gives error ,but the billing date field get disable.
& this invoice no. alsp get created.
So can anybody plz tell me in which user exit i have to put my code ???
I have tried with RV60AFZC.But it is not working.
My code is
FORM userexit_pricing_prepare_tkomp.
* TKOMP-zzfield = xxxx-zzfield2.
* structure for vbak
TYPES:BEGIN OF ty_vbak,
vbeln TYPE vbak-vbeln,
audat TYPE vbak-audat,
END OF ty_vbak.
*likp structure
TYPES:BEGIN OF ty_likp,
vbeln TYPE likp-vbeln,
lfdat TYPE likp-lfdat,
END OF ty_likp.
*vbrp structure
TYPES:BEGIN OF ty_vbrp,
vgbel TYPE vbrp-vgbel,
vgpos TYPE vbrp-vgpos,
aubel TYPE vbrp-aubel,
aupos TYPE vbrp-aupos,
END OF ty_vbrp.
DATA:it_vbak TYPE STANDARD TABLE OF ty_vbak,
it_likp TYPE STANDARD TABLE OF ty_likp,
it_vbrp TYPE STANDARD TABLE OF ty_vbrp.
DATA:wa_vbak TYPE ty_vbak,
wa_likp TYPE ty_likp,
wa_vbrp TYPE ty_vbrp.
***** take reference document no & delivery no. *****
LOOP AT xvbrp.
wa_vbrp-vgbel = xvbrp-vgbel.
wa_vbrp-vgpos = xvbrp-vgpos.
wa_vbrp-aubel = xvbrp-aubel.
wa_vbrp-aupos = xvbrp-aupos.
APPEND wa_vbrp TO it_vbrp.
ENDLOOP.
IF it_vbrp IS NOT INITIAL.
SELECT vbeln audat FROM vbak
INTO TABLE it_vbak
FOR ALL ENTRIES IN it_vbrp
WHERE vbeln = it_vbrp-aubel.
SELECT vbeln lfdat from likp
INTO TABLE it_likp
FOR ALL ENTRIES IN it_vbrp
WHERE vbeln = it_vbrp-vgbel.
ENDIF.
**** check for invoice date with order date *****
LOOP AT it_vbak INTO wa_vbak.
IF xvbrk-fkdat IS NOT INITIAL AND xvbrk-fkdat < wa_vbak-audat.
MESSAGE 'Invoice Date is less than Order Date' TYPE 'E'.
ENDIF.
ENDLOOP.
**** check for invoice date with delievery date *****
LOOP AT it_likp INTO wa_likp.
IF xvbrk-fkdat IS NOT INITIAL AND xvbrk-fkdat < wa_likp-lfdat.
MESSAGE 'Invoice Date is less than Delivery Date' TYPE 'E'.
ENDIF.
ENDLOOP.
ENDFORM. "USEREXIT_PRICING_PREPARE_TKOMP
Thanks & Regards,
Anagha DeshmukhHello,
These are the user exits for the tcode.
J_3RSINV Export sales
SDVFX007 User exit: Billing plan during transfer to Accounting
SDVFX008 User exit: Processing of transfer structures SD-FI
SDVFX009 Billing doc. processing KIDONO (payment reference number)
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 Procedure
V60A0001 Customer functions in the billing document
V60P0001 Data provision for additional fields for display in lists
V61A0001 Customer enhancement: Pricing
Keep the break point and try in the debugging in each and every exit and see which user exit is triggred. -
BADI / USER-EXIT FOR DEFAULTING THE FIELD VTTK-TNDR_ACTC IN TCODE VT01N
Hi,
I require a BADI / USER-EXIT for defaulting the field VTTK-TNDR_ACTC(Currency of Actual Shipment costs) to 'EUR' in transaction VT01N(Shipment Transaction) .
Please could anyone help me with this .
Regards,
Sushanth H.S.Hi!
User Exits in Transportation
In Transportation, there are enhancements that you can use with transaction CMOD.
For a detailed description of the individual enhancements, see the documentation on the individual enhancements or function modules in transaction SMOD.
You can display all enhancements that are available for the area of transportation by choosing F4 in the Enhancement field. Enter V56* in the Enhancement field and choose Execute. Enter V54* to get a list of all enhancements for the area of shipment cost processing.
Business Add-Ins in the transports
Business add-ins (BADIs) are predefined user exits. They enable businesses, partners, and customers to add additional softward to the SAP source code. The linkup of SAP's New Dimension Products, such as APO and BW, to the standard system is thus possible.
Customer-specific functions can be executed before the save time and after the database update.
The following methods are available for the BADI with the definition name 'BADI_LE_SHIPMENT':
AT_SAVE: BADI is called up at the time of the save. Checks and return to dialog are possible.
BEFORE:_UPDATE: BADI is called up right before the data is saved to the database, that is, when all the data is available (for example, internal ly assigned shipment number).
IN_UPDATE: BADI is called up after the database update.
Standard Settings
Creating a BADI method:
Call up transaction SE19. Enter a name of your choice. Choose "create" and in the dialog box enter the definition name 'BADI_LE_SHIPMENT'. Afterwards, enter a short text for implementation. Save the BADI.
On the tab page 'Interface', choose the method for implementation by double-clicking on it. Now you can enter your customer-specific program code. Save and activate the code. You can acess the transmission parameters entered in the BADI definition. With the method ***_AT_SAVE you can initiate the exception ERROR_WITH_MESSAGE (description 'An error message has occurred' ) if you wish to return to the dialog.
Afterwards, go to the heading and activate the interface.
Regards
Tamá -
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 -
How to find user exits for a specific field
hi,
How can we find a user exit for a specific fields .
as i know Three ways to search user-exits
1. SE80 look includes in a packages with name user-exits
2. by zreport which will fetch user-exit in a T-CODE
3. SMOD
but what if we have to find a user-exit for particular field for e.g bupla(bussiness place) in MIRO.
Please suggest me.
Thanks and Regards ,
Rahul Singh.Hi Rahul,
Here is the procedure to create field exits.
Step by step procedure for creating Field Exits
There are eight steps to creating a field exit:
Step 1: Determine Data Element
Step 2: Go To Field Exit Transaction
Step 3: Create Field Exit
Step 4: Create Function Module
Step 5: Code Function Module
Step 6: Activate Function Module
Step 7: Assign Program/Screen
Step 8: Activate Field Exit
Step 1: Determine Data Element
u2022 Before you can begin adding the functionality for a field exit, you must know the corresponding data element.
Step 2: Go To Field Exit Transaction
u2022 The transaction to create field exits is CMOD.
u2022 You can use the menu path Tools -> ABAP/4 Workbench -> Utilities -> Enhancements -> Project management.
u2022 From the initial screen of transaction CMOD, choose the Text enhancements -> Field exits menu path.
u2022 After choosing this menu path, you will be taken to the field exits screen. From here, you can create a field exit.
NOTE : Even though you use transaction CMOD to maintain field exits, you do not need to create a project to activate field exits.
Step 3: Create Field Exit
u2022 From the field exit screen of transaction CMOD, choose the Field exit -> Create menu path.
u2022 After choosing this menu path, a dialog box will prompt you for the appropriate data element .
u2022 Enter the data element name and click the u2018Continueu2019 pushbutton.
u2022 Now, you will be able to create the function module associated to the data elementu2019s field exit.
Step 4: Create Function Module
u2022 You will automatically be taken to the Function Library (SE37) after entering a data element name and clicking the u2018Continueu2019 pushbutton.
u2022 In the u2018Function moduleu2019 field, a function module name will be defaulted by the system based on the data element specified. This name will have the following convention:
FIELD_EXIT_<data element>
u2022 You can add an identifier (an underscore followed by a single character ).
u2022 The first function module for a data elementu2019s field exit must be created without an identifier.
u2022 To create the function module, click on the u2018Createu2019 pushbutton, choose menu path Function module -> Create, or press u2018F5u2019.
u2022 After choosing to create the function module, you will get the warning: "Function module name is reserved for SAP". This message is just a warning so a developer does not accidentally create a function module in the field exit name range. By pressing u2018Enteru2019, you will be able to go ahead and create the function module.
u2022 Before coding the function module, you will have to specify the function modules attributes -- function group, application, and short text.
Step 5: Code Function Module
u2022 From the function moduleu2019s attributes screen, click on the u2018Source codeu2019 pushbutton or choose the Goto -> Function module menu path to the code of the function module.
u2022 Here you will add your desired functionality for the field exit.
u2022 Remember that field exitu2019s function module will have two parameters -- one importing parameter called "INPUT" and one exporting parameter called "OUTPUT". These parameters will be set up automatically by the system.
u2022 You must remember to assign a value to the OUTPUT field. Even if the value does not change, it must be moved from the INPUT field to the OUTPUT field.
Step 6: Activate Function Module
u2022 After coding the function module, you must remember to activate it.
u2022 Use the Function module -> Activate menu path to activate the function module.
u2022 At this point, you can return to the field exit transaction.
u2022 You should be able to 'green arrow' back to this transaction.
u2022 When you return to the field exit transaction, you will see an entry for the newly created field exit.
u2022 At this point, the field exit is global. That is, it applies to all screens that use a particular data element. On any screen that uses the data element, the corresponding field exit function module will be triggered, once it is active.
u2022 Also, the field exit will not be triggered yet because it is inactive.
Step 7: Assign Program/Screen
u2022 This step is only needed if you want to make a field exit local.
u2022 To make a field exit local, select the field exit and click on the u2018Assign prog./screenu2019 pushbutton.
u2022 In the dialog box , indicate the appropriate program name and screen number.
This information indicates that the field exit is local to the specified screen in the specified program.
u2022 In the dialog box, you determine which function module gets executed for the field exit by specifying the identifier in the u2018Fld. Exitu2019 field.
u2022 If this field is left blank, the function module triggered will be 'FIELD_EXIT_<data element>'.
u2022 If a single-character identifier is entered into the field, the function module triggered will be 'FIELD_EXIT_<data element>_<identifier>'.
Step 8: Activate Field Exit
u2022 The field exit must be active for it to be triggered by the system.
u2022 Activate the field exit by choosing the Field exit -> Activate menu path.
u2022 After assigning the field exit to a change request, its status will change to u2018Activeu2019 and it will be triggered automatically on the appropriate screen(s).
NOTE : In order to activate the field exit the profile parameter abap/fieldexit = YES must be set on all application servers
Execute the transaction SE38 with PROGRAM NAME - RSMODPRF
Then give the Data Element Name for which field you want to create the exit(Just cross check with your field data element) and execute.
then it takes you to SE37 with the function module name FIELD_EXIT_<DATA ELEMENT NAME> and then create the same function module.
and in the coding part, You can write your logic to display the output of that field. and activate it.
once you complete the above,
Again execute SE38 transaction with program RSMODPRF and again click on Execute button without any Data Element Name. Now you select the data element which you have created and click on Assign prog/ Screen button and assign the program name and screen number of the filed and click on the menu Field Exit and Activate.
Hope it helps.
Regards
Radhika
Edited by: Radhika Pande on Nov 26, 2009 7:58 AM -
User Exits for Vendor Transaction
In Vendor Master Display XK02, for Payment Transactions there is a Checkbox for Double Invoice. If the Invoice is already made, I want to raise a error message. Is there any User Exit for that Vendor Transaction to achieve this functionality.
Hi
Find the available exits with the following program:::
*& Report ZFINDUSEREXIT
report zfinduserexit.
tables : tstc, tadir, modsapt, modact, trdir, tfdir, enlfdir.
tables : tstct.
data : jtab like tadir occurs 0 with header line.
data : field1(30).
data : v_devclass like tadir-devclass.
parameters : p_tcode like tstc-tcode obligatory.
select single * from tstc where tcode eq p_tcode.
if sy-subrc eq 0.
select single * from tadir where pgmid = 'R3TR'
and object = 'PROG'
and obj_name = tstc-pgmna.
move : tadir-devclass to v_devclass.
if sy-subrc ne 0.
select single * from trdir where name = tstc-pgmna.
if trdir-subc eq 'F'.
select single * from tfdir where pname = tstc-pgmna.
select single * from enlfdir where funcname =
tfdir-funcname.
select single * from tadir where pgmid = 'R3TR'
and object = 'FUGR'
and obj_name eq enlfdir-area.
move : tadir-devclass to v_devclass.
endif.
endif.
select * from tadir into table jtab
where pgmid = 'R3TR'
and object = 'SMOD'
and devclass = v_devclass.
select single * from tstct where sprsl eq sy-langu and
tcode eq p_tcode.
format color col_positive intensified off.
write:/(19) 'Transaction Code - ',
20(20) p_tcode,
45(50) tstct-ttext.
skip.
if not jtab[] is initial.
write:/(95) sy-uline.
format color col_heading intensified on.
write:/1 sy-vline,
2 'Exit Name',
21 sy-vline ,
22 'Description',
95 sy-vline.
write:/(95) sy-uline.
loop at jtab.
select single * from modsapt
where sprsl = sy-langu and
name = jtab-obj_name.
format color col_normal intensified off.
write:/1 sy-vline,
2 jtab-obj_name hotspot on,
21 sy-vline ,
22 modsapt-modtext,
95 sy-vline.
endloop.
write:/(95) sy-uline.
describe table jtab.
skip.
format color col_total intensified on.
write:/ 'No of Exits:' , sy-tfill.
else.
format color col_negative intensified on.
write:/(95) 'No User Exit exists'.
endif.
else.
format color col_negative intensified on.
write:/(95) 'Transaction Code Does Not Exist'.
endif.
at line-selection.
get cursor field field1.
check field1(4) eq 'JTAB'.
set parameter id 'MON' field sy-lisel+1(10).
If there are no available user exits you could go for badi's.
To search for a badi, go to se 24 display class cl_exithandler. double click on method get_instance, get a break point on case statement. execute and start the required transaction in new session. look for variable exit_name. It would show the available badi's.
<b>please reward if useful...</b>
regards
dinesh -
Tracing User Exits for Transaction ME22N
I have a problem with the transaction ME22N. When I try to add an additional item for a certain PO, I can't save the changes because there is an error message saying one of the previously created item has to be checked under the 'Returns' field. The problem is this specific item has been marked for deletion or has been deleted. So technically SAP should not check this item before saving changes. So I think there is a customised user exit somewhere that is checking items that have ben deleted. So now I have to trace out this user exit and fix it. I have no idea how to do it. I tried to run a program which lists out user exits based on transaction codes from this link : http://www.sapgenie.com/abap/code/abap26.htm
But through the code only standard SAP user exits are displayed. I don't know how to solve this. Can anyone help me?For purchasing functions customer enhancements or BADI's can be used to add customer specific logic. Goto transaction SPRO (Customising), select materials management, purchasing and you have two options for 'Develop enhancements in purchasing' and 'Business add-ins in purchasing'. Select the document button and this will provide more documentation.
Most of the customer exits in purchasing using enhancements so a customer project should exist (check transcation CMOD), get the SAP enhancement implemented and select the component which should be a function module. Hope this helps. -
User exits for transaction VL10B
Hi,
Could anyone please give me the user exit for transaction VL10B.
Regards
KaranHi Karan,
Just check -
V02V0001 Sales area determination for stock transport order
V02V0002 User exit for storage location determination
V02V0003 User exit for gate + matl staging area determination (headr)
V02V0004 User Exit for Staging Area Determination (Item)
V50PSTAT Delivery: Item Status Calculation
V50Q0001 Delivery Monitor: User Exits for Filling Display Fields
V50R0001 Collective processing for delivery creation
V50R0002 Collective processing for delivery creation
V50R0004 Calculation of Stock for POs for Shipping Due Date List
V50S0001 User Exits for Delivery Processing
V53C0001 Rough workload calculation in time per item
V53C0002 W&S: RWE enhancement - shipping material type/time slot
V53W0001 User exits for creating picking waves
VMDE0001 Shipping Interface: Error Handling - Inbound IDoc
VMDE0002 Shipping Interface: Message PICKSD (Picking, Outbound)
VMDE0003 Shipping Interface: Message SDPICK (Picking, Inbound)
VMDE0004 Shipping Interface: Message SDPACK (Packing, Inbound)
REWARD!!
Regards,
Ajinkya
Maybe you are looking for
-
Canon iR-ADV C5045 - "An error has occurred.: -50"
At work, I just got an iMAC i5 quadcore 27" to work with. (It's the only mac in the office). I am trying to connect it with the printer network. I downloaded the necessary drivers from the Canon site "Canon iR-ADV C5045/5051 UFR II". However, when I
-
Reducing the size of fillable pdf
I'm creating fillable forms in Adobe Acrobat 9 Pro. There are about 14 forms and each file is about 300kb, in toal the file size is around 4.10mb. I would like to be able to send the file by email but I'm worried that it would be too big, is there a
-
I use both aol and Yahoo for email - the problem appears in both. It does not happen in Word. This computer is on a wireless home network, but the error mssg appears no matter where I save the PDF. This is not a problem in Safari.
-
How do i put a tool bar on my ipad?
I am trying to put a tool bar on a spreadsheet app and I am lost!
-
How to import GreenSock external classes?
Hi, I'm having some problems in importing GreenSock external classes into my flash project. Line 27: import gs.*; Desktop\myFlashAPPS\twitter\src\zainu\twitter\MainClass.as, Line 27 1172: Definition gs could not be found. Here is the directory tree: