User exit for pricing to calcumlate net sales value and taxat billing level
Hi,
Can anyone suggest me , which user exit i can used for below scenario.
Create a new user exit attached to pricing procedure ZXTNIC in order to exclude the conditions YTN1 & YTN2 from the calculation of the net sales value and include the value of the conditions YTN1 & YTN2 to the calculation of the Tax vale.
From pricing procedure ZXTNIC need the net value to be till line 500 only and exclude the value of the conditions YTN1 & YTN2
BACKGROUND
Inter-company invoice is not calculated correctly in terms on the net sales value. The calculation of the net sales value is correct as some conditions are included in the calculations which must be excluded.
The reason for creating the user exist is that any change in the pricing conditions class can not be used to exclude them from the net price, without totally changing the concept behind the conditions (new conditions, new access sequence in taxes, IC changes and so on).
FUNCTIONAL DETAILS
The user exit will run on the values of the line item and the header of the pricing conditions
The user exit will subtract the current net value from the value of the conditions YTN1 & YTN2, also the Tax value will be added to the value of the conditions YTN1 & YTN2.
Need the Net value = 8,032 and not 8,882
This value will be calculated as follows = Current Net u2013 YTN1 u2013 YTN2 = 8,882 u2013 0,773 u2013 0,077 = 8,032
Need the Tax value = 2,395 and not 1,545
This value will be calculated as follows = Current Tax + YTN1 + YTN2 = 1,545 + 0,773 + 0, 077 = 2,395
Regards,
Jayaram
solved
Similar Messages
-
User exit for pricing to calculate net sales value and tax at billing level
Hi,
Can anyone give the solution for below thing.
I have written the code for to calculate the net sale a value and tax value based on condition types YTN1 & YTN2 and with pricing procedure "ZXTNIC" under user exit "userexit_field_modification" in include program LV69AFZZ
Calculation as per below
FD:
The user exit will run on the values of the line item and the header of the pricing conditions
The user exit will subtract the current net value from the value of the conditions YTN1 & YTN2, also the Tax value will be added to the value of the conditions YTN1 & YTN2.
Need the Net value = 8,032 and not 8,882 " here 8832 value is before calculation
This value will be calculated as follows = Current Net u2013 YTN1 u2013 YTN2 = 8,882 u2013 0,773 u2013 0,077 = 8,032
Need the Tax value = 2,395 and not 1,545 " here 1545 value is before calculation.
This value will be calculated as follows = Current Tax + YTN1 + YTN2 = 1,545 + 0,773 + 0, 077 = 2,395
When i will execute the VF01 transaction there in initial screen values are not updating automatically.Once we will select item line and then clicking on " item pricing condition" icon i.e., item level , then only the values are updating both in item level and header level.
But when we will execute the VF02 and VF03 the values are updating automatically as per condition.
So please suggest me is there any exit for this requirement.
Regards,
JayaramHi,
You should implement your logic in VOFM Copying routine for billing document.
Regards
Prasenjit -
User exit for pricing at billing level
Hi ,
can you pl. suggest me,which user exit i can use for below scenario.
Create a new user exit attached to pricing procedure ZXTNIC in order to exclude the conditions YTN1 & YTN2 from the calculation of the net sales value and include the value of the conditions YTN1 & YTN2 to the calculation of the Tax vale.
From pricing procedure ZXTNIC need the net value to be till line 500 only and exclude the value of the conditions YTN1 & YTN2
BACKGROUND
Inter-company invoice is not calculated correctly in terms on the net sales value. The calculation of the net sales value is correct as some conditions are included in the calculations which must be excluded.
The reason for creating the user exist is that any change in the pricing conditions class can not be used to exclude them from the net price, without totally changing the concept behind the conditions (new conditions, new access sequence in taxes, IC changes and so on).
Regards,
JayaramFirst read the BADI online documentation and then [Implement thef BAdIs in the Enhancement Builder|http://help.sap.com/saphelp_nw04s/helpdata/en/b2/873842134bad04e10000000a1550b0/frameset.htm], put some break-point to check the data sent/received in debug.
Regards,
Raymond -
Need Help for User Exit for Pricing
Dear ABAPers
I created a user exit for pricing where I am comparing a condition type (manually entered(ZD01)) to another condition type(YD01). If the entered value is more than the other condition type than pricing should not be updated.
RATE = 0.
IF KOMP-ZZVBTYP = 'C'.
IF KOMP-PRSFD = 'X' OR
KOMP-PRSFD = 'A'.
IF KOMV-KSCHL = 'ZD01'.
LOOP AT XKOMV WHERE KSCHL EQ 'YD01'.
KOMP-KZWI2 = ( XKOMV-KBETR / 10 ).
ENDLOOP.
RATE = KOMV-KBETR / 10.
IF ( RATE <> 0 ) AND ( RATE < KOMP-KZWI2 ).
MESSAGE W991. "Maximum Allowed Discount Has Exceeded !!!!
CLEAR KOMV-KBETR.
CLEAR KOMV-KWERT.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
It is giving me the message but it is also updating the pricing. I want not to be updated. So in place of modify screen i need to reset pricing procedure.
I need a function module or a abap key word which can reset the pricing procedure.
Thanks in Advance.
regards,
MAMas per i can understand you are coding in user-exits ,.. so if you are giving that
message 'Maximum Allowed Discount Has Exceeded !!!!' type 'E'.
i think it will work. I think there is no way to stop the processing without type e.
regards
shiba dutta -
User Exit for Pricing Condition
Hi all,
I wanted to change the values of few fields in the communication structure KOMK and KOMP for Delivery Order when pricing is being processed.
Is there a User exit for doing the same.
Regards,
Rupesh.hi,
In Pricing in SD the fields on the basis of which pricing is done are derived from the FIELD CATALOG which is a structure KOMG .This structure is used to transfer transaction data to the pricing procedure in SD and is also known as communication structure.This structure KOMG consists of two tables KOMK for Header related fields and KOMP for item related fields.
The fields which are not in either of the two tables KOMK and KOMP
cannot be used in pricing .Sometimes a need arises when the pricing
is to be based on some other criteria which is not present in the form of fields in either of the two tables.
This problem can be solved by using USEREXITS which are provided for pricing in SD.
Pricing takes place both when the SALES ORDER ( Transaction VA01) is created as well as when INVOICING ( Transaction VF01) is done.Hence SAP provides 2 userexits ,one for sales order processing which is
USEREXIT_PRICING_PREPARE_TKOMP or
USEREXIT_PRICING_PREPARE_TKOMK
Depending upon which table (KOMK or KOMP) the new fields were inserted we use either of the above two userexits.These userexits are found in include MV45AFZZ of the standard SAP sales order creation program SAPMV45A.
In the case of userexit which will be called when invoicing is done ,these
are provided in the include RY60AFZZ which is in the standard SAP
program SAPMV45A. The name of the userexits are same. i.e
USEREXIT_PRICING_PREPARE_TKOMP or
USEREXIT_PRICING_PREPARE_TKOMK
These userexits are used for passing the data from the communication structure to the pricing procedure, for this we have to fill the newely
created field in the communication structure KOMG for this we fill the code in the above userexit using the MOVE statement after the data that
has to be passed is taken from the database table by using the SELECT statement. The actual structure which is visible in these userexits and which is to be filled for that particular field is TKOMP or TKOMK.
Before the coding for these userexits is done ,it is necessary to create a new field in either of the two tables KOMK or KOMP .For this purpose
includes are provided in each of them .
To create the field in header data(KOMK) the include provided is KOMKAZ
and to create the field in item data(KOMP) the include provided is KOMPAZ.
One possible example for the need of creating new fields can be e.g. Frieght to be based upon transportation zone ,for this no field is available in field catalog and hence it can be created in KOMK and then above userexits can be used to fill the transportation data to it.
2)The other method of finding userexit is to find the word USEREXIT in the
associated program of the transaction for which we want to determine userexit using SE38.
3)The other method of finding userexits is to find the include in case of SD/MM applications where the userexits are located ,this can be found in the SAP reference IMG generally in the subfolder under SYSTEM MODIFICATION.
Some other examples of userexits in SD are:
USEREXIT_NUMBER_RANGE
This userexit is used to assign a different internal document number to the
sales order(VA01) when it is created depending on some criteria like a different SALES ORGANIZAION(VKORG) .
USEREXIT_SAVE_DOCUMENT_PREPARE
This userexit is used to insert the ABAP code which will be called when
the document (sales order VA01) is just about to be saved.This userexit is used generally for custom checks on different fields , to display some information before the order will be saved or for making changes to certain fields before the sales order will be saved.
Hope this helps, Do reward. -
User exit for setting tax indicator in Sale order
Hi All,
I want to know if there is a way (user exit) that could look at the Sales Order Type , particular Item Pricing Condition and Ship-to party State and set the materialu2019s tax classification (VBAP/TAXM1) to u201C0u201D (Exempt) ?
Thanks in Advance!
Sonali.Hi Ramesh,
I have put the code in the user exit, and I am able to set the tax classification indicator but I have a problem... Before setting the indicator I need to check for the Usage code of the line item (This code I am using instead of checking the Pricing condition) . I am able to read all the values of line item in VBAP structure in the user exit except for the first time this user exit is hit as soon as a line item is entered it is not picking up the Usage code. That field is blank.
But if add another line item and go into the user exit I can see the previous line item Usage code in XVBPA table.
Do you have any idea why usage code is missing in VBAP structure in the user exit or is there any other table or structure where I can get the usage code?
Thanks in Advance!
Sonali. -
User exit for updating delivery block of Sales order before Delivery
Hi Folks,
Need to have an user exit for updating Delivery Block indicator for a Sales order Before creating its delivery
I have got an exit in Program SAPMV45A
MV50AFZ1
FORM USEREXIT_REFRESH_DOCUMENT.
that hits before processing the delivery block fro delivery (Correct me if i m wrong with this )
Now i want now how to change the Delivery Block indicator of Sales order in that exit
any FM available ?
Thanks n regards
Sonal...Hi ,
How did you solved this issue?
I am having similar scenario in which while pressing the save button delivery block should update if multiple schedule line exist.
Tried by two different approaches in various user exit without any success.
AFAIK we have two ways to achieve this functionality.
1) Count the no of rows in vbep. If greater than 1 then multiple schedule line exist and we can assign the value to VBAK-LIFSK(delivery block) as per our requirement.
This is not correct. If there are two line items both with single schedule line . This case total no lines in vbep will 2 and above condition will true which is incorrect.
2) There is a indicator for multiple schedule line (VBAPD-EPMEH , xvbap-epmeh ) if it is check then multiple schedule line exist and we can assign the value to VBAK-LIFSK(delivery block) as per our requirement.
If I write code in USEREXIT_SAVE_DOCUMENT_PREPARE.
Multiple schedule line indicator is not populate so can not use 2nd approach.
If I write code in USEREXIT_SAVE_DOCUMENT it of no use as vbak is updated before reaching this user exit.
If I write code in USEREXIT_MOVE_FIELD_TO_VBAK as this user exit is also called while pressing the enter key for this I have use
the condition of fcode but it also fails in some condition.
If fcode eq 'SICH'.
Read table xvbap with key epmeh = 'X'.
IF SY-SUBRC = 0.
VBAK-LIFSK = '03'.
Else.
VBAK-LIFSK = ' '.
Endif.
Endif.
Please help me to get the desired functionality working for all cases.
1) One line item with multiple schedule line
2) Two line item with multiple schedule line
3) One line item having one schedule line and second one having multiple
4)Two line item both with single schedule line. -
User exit for contract start date in sales order change mode.
24.10.2008
Hi Gurus,
I need to disable the 'contract start date' (VEDA-VBEGDAT) field in Contract data tab at header and item level. Can someone suggest a user exit for the same ???
Regards,
UdaynathDear Udyanath,
Please check these User exits with the help of ABAPer
User exits in the program MV45AFZZ
The user exits which you can use for modifications in sales document
processing are listed below.
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.
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 "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 "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 "Copy customer
master fields into sales document".
The user exit is called up at the end of the FORM routine
VBKD_FUELLEN.
I hope this will help you,
Regards,
Murali. -
Need a user exit for Export Control check in Sales Order fro VA01/VA02
Hi ,
I need a user exit for Export Legal Control process in Sales Order.since Ship-to country in the Sales Order is not always the ultimate destination country User Exit needs to be built in with following logic
1. Check to see if ultimate destination country field is maintained in Sales Order
2. If a value is maintained then for the Export control checks use ultimate destination country instead of the Ship-To country (step 1)
3. If no value is maintained then use Ship-To country as default
The user exit is called when the user creates or changes a Sales Order.
Can anybody help ?
ThanksHi,
Exit Name Description
SDTRM001 Reschedule schedule lines without a new ATP check
V45A0001 Determine alternative materials for product selection
V45A0002 Predefine sold-to party in sales document
V45A0003 Collector for customer function modulpool MV45A
V45A0004 Copy packing proposal
V45E0001 Update the purchase order from the sales order
V45E0002 Data transfer in procurement elements (PRreq., assembly)
V45L0001 SD component supplier processing (customer enhancements)
V45P0001 SD customer function for cross-company code sales
V45S0001 Update sales document from configuration
V45S0003 MRP-relevance for incomplete configuration
V45S0004 Effectivity type in sales order
V45W0001 SD Service Management: Forward Contract Data to Item
V46H0001 SD Customer functions for resource-related billing
V60F0001 SD Billing plan (customer enhancement) diff. to billing plan
SDAPO001 Activating Sourcing Subitem Quantity Propagation
<b>Reward points</b>
Regarsd -
VT01N User exit for adding additional field to VTTP table and populate the
Hi,
Can any one sujjest what is the use exit/bapi when we add(append) a custom field to vttp table to populate the incremental number based on ship to address when we create a shipment..
need user exit in ...............to populate data to vttp table custom field when we append......hi,
check these exits for vt01n.
Transaction Code - VT01N Create Shipment
Enhancement/ Business Add-in Description
Enhancement
V56USVDP Preparation for updating new objects for transport?
V56USVDO Update new objects for transport
V56USTAT User-individual definition of transportation planning status
V56UNUMB Shipment number allocation
V56UDLUP Obsolete as of 4.6C: Delivery Update on Delivery Routines
V56UCHCO Check shipments are complete
V56UCHCH Shipment processing: Check whether changes were made
V56TDLIF Filter Delivery Items for Shipment
V56SLDET Shipment processing: Leg determination
V56MVT04 Extensions for Collective Processing of Shipments
V56LOCID Shipment Processing: Determine Location Identification
MV56AINI Initialization of transaction control for transportation
V56AFCCH Shipment processing: Check function code allowed
V56AGTAR User Exit for Filtering Shipping Unit Calculation
V56ARCHV Customer-spec. checks for archiving shipments
V56ATKTX Change the number of lines for text input in shipment
V56BMOD Transportation processing: Field modification
V56DISTZ Shipment Processing: Determine Distance
V56FCOPY Shipment processing: Copy delivery data
V56FSTAT Shipment processing: Activities when setting a status
V56L0001 Status of Shipments for a Delivery
V56LDELI Read Delivery Data for Shipment Processing
Business Add-in
BADI_LE_SHIPMENT BadI: Shipment Processing
BADI_V56N User Exit for Message Determination: Shipment -
User exit for pricing in Sales Order
Hi Gurus,
I have a requirement while changing Sales Order and an Inquiry.Below is the requirement.
I have a custom filed at the Sales Order Item level as VBAP-XXXXX. When the user changes this value to a value (say abc) then the NET value in the Conditions tab of the line item should become zero and also the grid of the conditions tab should be displayed as zero.
I have custom item categories for which the Pricing (TVAP-PRSFD) is blank (No pricing). For this type of Item categories I can make the NET price s ZERO by implementing some custom logic in the user exit userexit_new_pricing_vbap. Since this item category is not relavant for pricing then when I carry out new pricing the net value is set to ZERO.
But for other item categories, this field (TVAP-PRSFD) is set to X (Pricing standard). For this item categories I cant make the NET value as zero.
So Can you please let me know the possibility of implementing the above mentioned logic?
Are they any user exit to update the pricing table KOMP?
Are they any user exit to change the TVAP-PRSFD value based on my requirements?
Is there any other way of implementing this logic irrespective of item categories?Hi Vinod,
I am sending you my code please check it,
if TKOMK-SPART = 10.
if XKOMV is not INITIAL.
clear v_JEXP.
READ TABLE XKOMV with key kschl = 'JEXP'.
if sy-subrc = 0.
check XKOMV-kwert = 0.
message i003(ZT) with 'Value should not be 0 for conditioin type JEXP'.
v_JEXP = 'X'.
else.
message i003(ZT) with 'Maintain the mandatory Conditioin type JEXP'.
v_JEXP = 'X'.
endif.
if v_JEXP = 'X'.
XVBUV-MANDT = sy-mandt.
XVBUV-POSNR = '000010'.
XVBUV-TBNAM = 'VBAP'.
XVBUV-FDNAM = 'PRSOK'.
XVBUV-FEHGR = 20.
XVBUV-STATG = '06'.
XVBUV-FCODE = 'PKON'.
XVBUV-SORTF = 9999.
XVBUV-LFDNR = 0000.
XVBUV-UPDKZ = 'I'.
append XVBUV.
endif.
endif.
endif.
Please suggest something to solve this.
Thanks and Regards,
Vicky. -
User Exit for Requested Delivery Date in Sales Order
Hi
Which user exit can be used to change Requested Delivery Date in Sales Order.
Scenario: Sales Document Type: OR has Lead Time: 7 days. System always proposes delivery date after 7 days. We need to change this Lead Time based on plant.
Thanks in advance for your support.
Regards
UmaHello,
try with USEREXIT_MOVE_FIELD_TO_VBEP or USEREXIT_SAVE_DOCUMENT_PREPARE, of program MV45AFZZ.
Hope to be useful.
Best regards,
Andrea -
Regarding user-exit for customer return order in sales order creation
Hi,
My problem is when sales order type ZRE(Customer return) is created with refrence to Invocie i have to check the quantity in the return order is less than the original invoice or not.If quantity in return order is greater than invoice quantity then i have to raise error message.For this which user-exit is suitable in sales order program SAPMV45A.
Thanks,
shyla kumarHi
Use can use MV45AFZZ AND MV45AFZB userexits
Within mv45afzz USE CAN form related to VBAP or
save_document_prepare.
Please reward if useful. -
Required User Exit For Pricing
Hi Folks,
Do we have any user exit to modify the way SAP selects condition records for pricing?
Regards,
Chetan.Hi Dubey,
Please try out as per given below:
If you goto the SAP Application hierachy (SE81)you can go down into individual modules.
Select the area you are interested. (It should turn yellow).
Choose Information System button.
Select Environment->Exit Techniques>Customer Exits--->Enhancements.
You should now belooking at a selection screen with the DEV classes filled in from the Application hierachy.
If you hit Execute you will get the exits for the selected part of the hierachy!
Have a play around with SE81 / Info system it can be very usefull in finding all sorts of interesting things!
Thanks,
Rajesh -
Hi,
I have the requirement that while creating invoice the condition value should be manipulated for one condition type.
I used userexit_xkomv_bewerten_end. I am getting correct output but there is red mark for this means its not activated.
Olease do let me know whether it is corrct user exit or I need to implement some thing in the code.
Regards,
SandeepWhat does your pricing analysis log say? Why can't you use a custom pricing type (and userexit_pricing_rule) assigned to your item level copy control to control the re-pricing process?
Maybe you are looking for
-
Setting Page Break based on Number of Months in a matrix
Hi, I have a matrix showing data group by month(Column group). I added this matrix inside a list control to have page break for each 12 rows. The report has Begin date and end date. There is a requirement like if the begin date starts with say Apr 20
-
I want to pair my iPad mini with my win7. how can i get the driver?
i want to pair my iPad mini with my win7. how can i get the driver?
-
STO Frieght values redetermination in MM
Hi Please let me the procedure to redetermine the Frieght/Tax values based on Delivery date in STO. Scenario, Tax amount from plant to non excisable plant, excise duty should be loaded to material cost. But excise duties are chaged on daily basis as
-
Need to select current tab (dynamically generated) while navigation back
Hi, Jdev 11.1.1.3 version. In my sample application I have two pages, DynamicTab.jspx and NextPage.jspx. In DynamicTab page I have dynamic tab (number of tabs depends on the data in db). Also have one 'Next' button. While clicking on 'Next' button we
-
asked this in Front-End Tools but getting no response. This looks like the place for this in any case.Can the EssVCascade functionality be implemented with the VB API? If not, what is the way to get this functionality from a VB API program, doing wha