User exit during project creation
Dear ALL,
I want to know is there any user exit at the time of project Creation ( CJ20N / CJ01). Actually the requirement is the system should restrict the user if the user selects the wrong project profile during the initial screen and not during saving .
Thanks in advance.
Regards
Nitin
Hi Virendra,
I am new to PS , can you please help me to get prepopulated project profiles .
Thanks
Nitin
Similar Messages
-
BAdI: or User Exit for Campaign Creation IN CRM 5.0
Hi all,
we are working in CRM 5.0,
we have a Requirement like :
when we create the campaign it should check higher level project ID (marketing Plan ID)
if it is there it should permit for create campaign else it ll show error...
Any BAdI: or User Exit for Campaign Creation?
I ll geive reward points....
Rhanks & Regards,
GaneshIN WHICH TRANSACTION U R CREATING CAMPAIGN ??
-
BAdI: or User Exit for Campaign Creation
Hi all,
we are working in CRM 5.0,
we have a Requirement like :
when we create the campaign it should check higher level project ID (marketing Plan ID)
if it is there it should permit for create campaign else it ll show error...
Any BAdI: or User Exit for Campaign Creation?
I ll geive reward points....
Rhanks & Regards,
GaneshDear Ganesh,
As campaign can be created and executed individually also, it will never check for higher level project ID.
Let me check the system if we can block creation of campaign individually, without having a higher level marketing plan. -
User exit before TO creation to chage MAKTX field or FM to change it after
Hi all,
I need some WM Expertise help.
When I create a Sales Order from program (with bapicreatefromdata2) , the system automatically create a delivery, and then, a transfer order with no immediate confirmation. The TO is manual confirmed. In bapicreatefromdata2 I completed on each item line the field ARKTX with a description (Example: red - material description ). This field is automatically completed in delivery( same field ARKTX). But I need this description also in transfer order for each line (field MAKTX). The TO is created automatically and the field MAKTX is completed with the description from the material master.
So, I need an user exit before TO creation to change the field MAKTX. I have tried user exit: MWMTO001 and is not working I think because the TO is created with no immediate confirmation. Also I putted break-point everywhere in program SAPML03T (standard program for TO creation) and I changed the settings in debugger mode. I checked System Debugging and Update Debugging. Nothing happened. I cannot find the place before TO is created.
An alternative to this is to update LTAP (item table for TO) after TO immediate creation in include MV45AF0B_BELEG_SICHERN but I can't find a function module to update the table before TO manual confirmation. I tried L_TO_UPDATE_PREPARE but this I think is for confirmed TO.
Any one who worked on this kind of things, Please help.
Thanks in advice,
Bogdancheck these exits....
EXIT_SAPMM06E_012
<b>EXIT_SAPMM06E_013</b>
EXIT_SAPMM06E_014
EXIT_SAPMM06E_006
EXIT_SAPMM06E_007
EXIT_SAPMM06E_018
EXIT_SAPMM06E_016
EXIT_SAPMM06E_017
vijay -
User Exit for Delivery Creation
Hi,
I am looking for an User Exit for Delivery Creation, which should provide a Sales Order Number. This is required before Batch determination. Can any one help.Hi,
I think you can try with MV50AFZ1 user exit.
In move fields to LIKP and LIPS routine you can get the sales order.
LIPS-VGBEL gives the sales order.
Thanks,
Rohan -
User exit during planned order to production order conversion
Hi,
Let me know if there is any user exit during planned order to production order production.
Regards,
YogeshDear
You can try the following :
1.PPCO0001 /PPCO0007 /PPCO0012
2.BADI workorder_update
3.Check in SMOD or CMOD and enter PPC* -you will find all the related user exit
Hope this helps
Regards
JH
Edited by: Jiaul Haque on Oct 21, 2010 10:55 AM -
User Exit during MB1B transaction
Our scenario is during MIGO GR we are creating batches with a custom number range based on the unit of entry on the PO. For example if we are procuring and receiving material A as Pallets with the unit of entry PAL then the batch number to be generated will be PAL0000123. If for the same material A we are receiving as Drums then the batch number is DR00000123. Each batch is required as all have a specific characteristic value that must be maintained.
The next step in our process is to transfer these materials from one storage location to another using batch determination based on FIFO from MB1B. The batch determination is only at the material level and not the Unit of Entry such as PAL or DR and so the system will transfer whatever material was received first irregardless of the unit of entry in MB1B.
What we're looking for is a user exit during the MB1B transaction prior to the batch determination that will only select batches according to the value in the Unit of Entry field in MB1B. This will allow us to apply the FIFO strategy to only PAL or DR batches separately based on the batch number assigned during GR.
Thank you,
Jeff DiluzioHello,
I have checked in my system and I see we do not have the order unit field available to create condition table with it but then we have a option to enahance the field catalog and there if we mention the field . However even in feild catalog I cant locate this filed but I see we have filed dummy.
Conclusion: First step will be to do enhance field catalog with order unit field. If that is not possible then we need to use dummy field in field catalog to create condition table and then we need to pass order unit from MB1B screen to batch search/selection procedure.
I know you have already tried for exit and all but I do not see any way possible to pass order unit to your selection /search procedure. -
User Exit during Sales Order Creation - New Line Item needed
I have a situation during the process of sales order creation. If a Material in a line item has say 27 EA and the Base Unit is EA. But the Sales Unit is CSE. Then whenever the user enters 27 EA and presses enter he should get two line items.
The first line item needs to convert to maximum number of CSE posible and the rest will be the second line item with the remaining EA. The order isn't important but that is what is needed. Question is how do I approach this problem and code my user exit accordingly and where do I code it.
I was looking at SAPMV45A and saw the program MV45AIZZ which is meant as a user exit for any PAI event handling. If anybody has encountered this kind of requirement can you please share your view on this.
I will definitely reward points for useful answers.
ClarkHello Mahendra
The requirement is as follows :
PART 1:
Sales Order Enter:
1. When a line item is entered on a sales order (VA01 or VA02), at enter, check the sales unit of measure (VBAP-VRKME).
Do not check line items where item category (VBAP-PSTYV) = TANN, TAPS or ZTAP. TANN are free goods that should not be considered for consolidation. TAPS & ZTAP are lower level materials as a result of product selection. They will be attached to a higher-level material with an item category of TAX, which is relevant for consolidation.
Do not check items where VRKME <> EA
2. If VRKME = EA, go to MARM for MATNR.
3. Go to record where alternate unit of measure (MEINH) = CSE, get the value from the numerator field (UMREZ).
4. Divide the order quantity (VBEP-WMENG) by UMREZ.
5. If the result is greater than 1.0, the customer has ordered more than one case and a new line item needs to be added to the sales order for the case quantity.
6. Add a new line to VBAP for the same material with the case quantity. If not a whole value, the remainder of eaches (bottles) should update the qty on the first item on VBAP.
Part 1 is relevant for order types ZCA, ZOR, ZSO, RE, ZSM
PART 2:
Batch Job to run prior to the Delivery Due List:
1. Read VBUK for Delivery Status (LFSTK) = A (delivery not processed). Get all of the document numbers (VBELN).
2. Go to VBEP for those document numbers to get the goods issue date for the order. There will be many records in VBEP for the same sales order. Look at all orders with a goods issue date (WADAT) of next day.
3. Go to VBAK for those document numbers to see if there are multiple sales orders for the same Sold To party (KUNNR).
4. For customers who have more than one order in VBAK, search all line items (for all orders). If there are no duplicate materials across sales orders, do nothing.
Do not check line items where item category (VBAP-PSTYV) = TANN, TAPS or ZTAP. TANN are free goods that should not be considered for consolidation. TAPS & ZTAP are lower level materials as a result of product selection. They will be attached to a higher-level material with an item category of TAX, which is relevant for consolidation.
Do not check line items where reason for rejection (VBAP-ABGRU) is not blank
5. If there are duplicate materials, go through the same logic as in part 1. If the quantity across the sales orders adds up to greater than one case, add the appropriate quantity to a new line item on the first sales order. If there is a remainder qty, update the line item on the first sales order with this qty. In this case, the quantities on the second sales order needs to be closed out with a reason for rejection code of 50, Line Item Consolidation. If there is no remainder, update the qty on this item directly.
Part 2 is relevant for order types ZOR, ZCA, ZSM
This batch job will have to be run manually for Day Pick orders. The end of this program should automatically kick off the delivery due list for Day Pick orders, shipping condition 02.
Business Justification:
The business requires that like order line items be consolidated to one line item prior to the order going to the warehouse for picking. This will aid in picking at the warehouse as well as result in the customer invoice not reflecting more than one line item for the same material. In the case where the customer has truly ordered more than a case, i.e;, 1 case, 2 bottles, the documents in SAP will still reflect 2 lines. -
User exit during invoice verification (MIRO) and PO creation
Hi,
I have a following scenario to be support by ABAP development
1. During invoice verification (MIRO) system should allow users to manually make any changes in amount and qty proposed by system.
2. During purchase order creation i need a warning message in case of this po is first creating for that particular article and vendor combination.
so that user will get alerted in case of wrongly choosen the vendor.Many a times user create wrong po, wrong GR and wrong invoice.
since the business process activities are decentralized, person who is making GR is differ from the peron who had created po and invoice.
Ex: material DCF is supplying by vendor VLC international, where there is one more vendor name with VLC traders. due to this name some time users will prepare wrong po, wrong GR and wrong invoice.
plz suggest how can i suggest my ABAPER to control this mistakes.Hi,
you can check out the following exits while PO creation:
EXIT_SAPMM06E_006
EXIT_SAPMM06E_007
EXIT_SAPMM06E_008
EXIT_SAPMM06E_009
EXIT_SAPMM06E_012
EXIT_SAPMM06E_013
EXIT_SAPMM06E_014
EXIT_SAPMM06E_016
EXIT_SAPMM06E_017
EXIT_SAPMM06E_018
Thanks. -
User exit during creation of notification
Hello!
I am creating a notification. Required start date and time is mandatory. Now I want that difference between notification creation date and required start date should not exceed 30 days. This can be achieved by user exit. Which user exit should I use?
Regards,
VMHi,
I am assuming you might have used the standard functionality of dates determination by Priorities. And it might not have met your requirements.
You may can use the following user exit QQMA0018 Scheduling according to entry of priority or QQMA0014 Checks before saving notification.
Please check with your ABAPer which one will suit better.
Regards,
N.Nagaraju -
User exit during creation and saving of Produciton order
Hi folks,
I need to append a row in the material component of transaction code COR1. This needs to be triggerd when an order is created and saved in COR1. Please help me out...........
thanks in advanceHi Team
Below mentioned requirement , in which user exit i have to put below logic while creaion and change of sales order?
u2022 The logic for the user exit to explode should consider the following assumptions and validations
o Customer master to have the entry at KNVV-KVGR1
o Material master to have the entry at MVKE
o UoM in the Sales order item (VBAP- VRKME) should be = Pallets PAL or tonnes (TES)
o Should have more than one line item or number of line items with UoM PAL or tonnes TES should be > 1
for example :-->
Product A with Scales mentioned below
Product A Quantity / Scale UoM Price(£)
0-10 PAL/TES 20
11- 20 PAL/TES 10
21- 30 PAL/TES 5
31-40 PAL/TES 2.5
>41 PAL/TES
Product B with Scales mentioned below
Product B Quantity / Scale UoM Price(£)
0-15 PAL/TES 25
16-20 PAL/TES 20
21- 30 PAL/TES 15
31-40 PAL/TES 10
41 PAL/TES 5
u2022 Product A (qty 10PAL) + Product B (qty 15 pal) ordered in a single order with 2 line items.
u2022 The expected results should be
o Product A qty 10 + B qty 15 added = 25Pal
o The system user exit should add the total number of pallets on the order line items and point towards the respective scales, so in this example prices against each line item should be the respective price against 25 Pal = 5£ for product A per pal and £15 for product B.
Thanks in Advance.
Puneet. -
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 -
MIRO - User Exit during SAVE: Read items & Update header
Hi there!
During MIRO after pressing save...
I search for an user-exit or BAdI, to READ ITEM DATA and UPDATE HEADER DATA (XBLNR) after SAVE but before UPDATE.
I have searched this forum, but with no luck. Many more then me seem to have the same problem. The most common answer have been to try BAdI INVOICE_UPDATE, but that BAdI only give READ access and NO UPDATE, so no luck there..
To summarize all my searching here and findings... I list all exits I have tested...
User-Exits
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
BADI - When saving in MIRO the following BAdI were passed...
PPA_CUST_BADI
/CCIS/FICLRDC_ENH
INVOICE_UPDATE << only read no update
ME_DP_CLEARING
AC_DOCUMENT
FI_LIMIT_PROCESS
AC_QUANTITY_GET
FMRE_BUS_PROCESS
EXIT_XFMPRI_001
CO_DOCUMENT_INFO
INVOICE_UPDATE (method change_before_update ) << only read no update
MRM_RANSACT_DEFAULT
MRM_HEADER_DEFAULT
Other BAdI's
MRM_HEADER_CHECK - Bara ingående värden för kontroll
MRM_HEADER_DEFAULT - Tyvärr sätter bara XBLNR precis när man går in i MIRO...dvs för tidigt.
MRM_ERS_HDAT_MODIFY - EJ anropad...
Would be greatful for any ideas on this matter...
Best regards
HenrikHello Henrik,
In BADI INVOICE_UPDATE there are 3 methods CHANGE_AT_SAVE, CHANGE_BEFORE_UPDATE and CHANGE_IN_UPDATE.
Of these CHANGE_AT_SAVE is called before INSERT / UPDATE statements are executed. We can use this to update RBKP-XBLNR.
We can't use CHANGE_BEFORE_UPDATE and CHANGE_IN_UPDATE methods as they are called after INSERT / UPDATE statements are executed and before COMMIT.
You can update RBKP-XBLNR through INVOICE_UPDATE~CHANGE_AT_SAVE method using call stack technique like below. You can replace 'VALUE' in the below code with the value based on your calculation using other variables like s_rbkp_new, ti_rseg_new etc.
method IF_EX_INVOICE_UPDATE~CHANGE_AT_SAVE.
DATA: lv_name_xblnr(30) TYPE c VALUE '(SAPLMRMP)RBKPV'.
FIELD-SYMBOLS: <fs_rbkpv> TYPE mrm_rbkpv.
ASSIGN (lv_name_xblnr) TO <fs_rbkpv>.
IF <fs_rbkpv> IS ASSIGNED.
<fs_rbkpv>-xblnr = 'VALUE'.
ENDIF.
endmethod.
Best regards,
Vishnu Tallapragada -
User exit during VF04 background process
Hi ,
I am creating billing through the background run of VF04.
Before a billing document is created I have to check the following condition.
If the payment terms of the relevant billing item not equal to 'X' then system shoudl check the billing date and only create billing document if the date is equal to system date.
If the payment terms is equal to 'X' then billing document should be created.
I am plannign to use the userexit RV60AFZC and in there
FORM USEREXIT_FILL_VBRK_VBRP
I tried to find out of this user exit was called during background processing of VF04 by putting ina breakpoint. It did not give any pop-up.During creation of billing through VF01 it gave me the breakpoint.
I want to know if for my requirement this is the right place to put the logic.
Regards
BGSHi ,
We had to change the logic and the user exit because it was not possible to pull the item level data into the VF04 screen.
We are trying to do the following with variant which looks for all billing items due in next 5 working days
Before system gets data from VKDFS into VKDFIF we are trying to aplly the logic
If Payment terms <> direct debit the include in the list VKDFIF
If Payment terms <> direct debit
Check IF Billing date <= system date
Yes -include in VKDFIF
No- Remove entry
When I call the variant in try to display the billing due list It shows the correct value
But when we run the same variant in backgorund it fails
BADI used
Include LV60AA93
Badi badi_sd_billing methode:vbrk_vbrp_fill
CALL METHOD l_sd_billing_item_exit->vbrk_vbrp_fill
Any help wpuld be appreciated -
User Exit for Equipment Creation
Hi all,
During Equipment creation I want to check whether the equipment for the current licence number or chassis number is already available,if yes i want through an error message as 'Equipment already created for this license number',else i want to proceed for the equipment creation..is there any USER EXIT or BADI to do this...
Regards
Sugumar GHi
cut and paste the code in se38 and execute and give the transaction code for which u need the exit
*& Report ZVBUSEREXIT *
REPORT ZVBUSEREXIT .
TABLES : TSTC, "SAP Transaction Codes
TADIR, "Directory of Repository Objects
MODSAPT, "SAP Enhancements - Short Texts
MODACT, "Modifications
TRDIR, "System table TRDIR
TFDIR, "Function Module
ENLFDIR, "Additional Attributes for Function Modules
TSTCT. "Transaction Code Texts
*& Variables
DATA : JTAB LIKE TADIR OCCURS 0 WITH HEADER LINE.
DATA : FIELD1(30).
DATA : V_DEVCLASS LIKE TADIR-DEVCLASS.
*& Selection Screen Parameters
SELECTION-SCREEN BEGIN OF BLOCK A01 WITH FRAME TITLE TEXT-001.
SELECTION-SCREEN SKIP.
PARAMETERS : P_TCODE LIKE TSTC-TCODE OBLIGATORY.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN END OF BLOCK A01.
*& Start of main program
START-OF-SELECTION.
* Validate Transaction Code
SELECT SINGLE * FROM TSTC WHERE TCODE EQ P_TCODE.
* Find Repository Objects for transaction code
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 = ENLFDIR-AREA.
MOVE : TADIR-DEVCLASS TO V_DEVCLASS.
ENDIF.
ENDIF.
* Find SAP Modifactions
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.
* Take the user to SMOD for the Exit that was selected.
AT LINE-SELECTION.
GET CURSOR FIELD FIELD1.
CHECK FIELD1(4) EQ 'JTAB'.
SET PARAMETER ID 'MON' FIELD SY-LISEL+1(10).
CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.
Regards,
V.balaji
Reward if usefull
Maybe you are looking for
-
How to make my Macbook Pro 13" Retina a long term laptop?
I just bought a Macbook Pro 13" with Retina Display and I need to use this laptop until I finish college (still in 3rd year highschool) I have 3 questions concerning my mac 1. Up to how long will this computer function? (years) 2. What are the thing
-
I reformatted drive with Time Machine Backups, can I recover them ?
I had an iMac and an External Firewire drive used for Time Machine Backups, All my Personal Files and Music were backed up to the External Drive using Time Machine. The external Drive is a LaCie 500GB Triple Interface Drive. After a few days of upgra
-
IFRAME Page being redirected to iFrame SRC url instead.
I am having a problem in getting iFRAME code to work in iWeb 08. I have a link on page A which takes me to page B where I have pasted following code within a Html Snippet : +<IFRAME SRC="http://www. google.com" WIDTH=1000 HEIGHT=500>+ +Not working bu
-
Nokia c7 pr 1.2 hard reset
Greetings all. My C7 has been giving me alot of problems so I am planning on installing pr 1.2 via ovi suite and doing a hard reset. *#7370# hasn't worked so this is whats left. Does anyone know if this will delete Maps, Social and Store and the Qt s
-
Hi, Having Problems using the LIKE Operator with the Clob Datatype. Does any one know if its possible. Thanks Emer