Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

MIRO: Calculate Exchange rate on Translation Date

Former Member
0 Kudos

Hello Gurus,

In MIRO, I have displayed Translation Date (WWERT) which is equal to one less than Posting Date (BUDAT - 1).

Now, I want that the Exchange Rate is calculated on Translation Date and not on Posting Date.

For this I try to implement BADI FI_TRANS_DATE_DERIVE, but with that I face 2 issues:

1. It is Filter based BADI, Already there is one standard implementation for all Filter values (FLT_VAL = ' * ' ) and the system does not let to activate any other implementation of this BADI.

2. Let say, If one more implementation is done, but not be activated. How to use that in the code (I mean calling of BADI in the code).

Please provide some help on the above issues.

Any other alternative for achieving this functionality is welcome.

Thank you.

Br,

Maninder SA

12 REPLIES 12

muneshpatwari
Active Participant
0 Kudos

Hi Maninder,

Try BADI 'INVOICE_UPDATE'.

Regards,

Munesh.

0 Kudos

Hello Munesh,

Thanks for your reply. Please you can provide some information about parameters to be passed.

Br,

Maninder SA

Former Member
0 Kudos

Hi,

You are right, I think this kind of fileter set we can use only one time I guess! In the BADI definition can you check this multiple use is not available.

The very important OSS notes are available for your requirement plz go through this, I guess you will get the solution.

SAP Note 619330 - Document date instead of posting date in GR

SAP Note 574583 - MIRO: BADI for value date

0 Kudos

Hello Kiran,

Many Thanks for your reply.

SAP Note 619330 - Document date instead of posting date in GR   - Need to use Translation Date and not Document Date.

SAP Note 574583 - MIRO: BADI for value date - This Note is "Cannot be implemented" in the system.

Please any more pointers.

Br,

Maninder SA

0 Kudos

Checking the user-exit, for me is not available. Just check the place where you can implement the enahcment sopts! debug it !

FM MRM_HEADER_CHECK, in side the FM MRM_HEADER_CHECK ( main FM ) , inside the FM call function 'FI_DERIVE_WWERT'

Former Member
0 Kudos

Experts,

Any clear and working pointer ???

0 Kudos

Hi Maninder,

Have you check the FM FI_DERIVE_WWERT. This FM is take care of exchange rate definintion!

This FM only calls the BADI which you tried and not possible

if g_exit_ref is initial.
     call method cl_exithandler=>get_instance
       exporting
         exit_name =              'FI_TRANS_DATE_DERIVE'    "note 569103
         null_instance_accepted = space                     "note 569103
       changing
         instance =               g_exit_ref.
   endif.



call method g_exit_ref->derive_wwert
     exporting
       flt_val = i_intca
       i_budat = i_budat
       i_bldat = i_bldat
       i_blart = i_blart                                   "Note 697682
     importing
       e_wwert = e_wwert.



Implement the same code in the implicit enhancement! it works for you!



0 Kudos

Hello Kiran,

Many thanks for making it clear. Just one question, Isn't this deriving the Translation Date, Will this have an impact on the conversion (Exchange Rate).

Br,

Maninder SA

0 Kudos

Exchange rate (KURST)

0 Kudos

No, it is not impact on the exchange rates! exchange rates will be derived based on the translation date.

The translation date will be identified based on the document date or posting date.

Finally you have to derive the only translation date. In other words you have to pass the in which dates the exchange rates has to be derived. If you observe the code the FM and BADI only get the translation date.


if e_wwert is initial.   " it is the translation date.
     e_wwert = i_budat.
   endif.

if your translation date is initial , taking default date as posting date.

put the break point check the FM and change the e_ewert manually, you will get the results

0 Kudos

Hello Kiran,

Many Many thanks for your guidance. You deserve points for this.

Just before we close this thread, I need one more help.

Whenever, PO number is entered on a different screen (6000) in MIRO, I want to grey-out the Translation Date field (WWERT) in screen 400 (Customer subscreen) in header.

1. how to find screen exit in standard screen 6000in MIRO.

1. how we can perform actions on a one screen in PAI of a different screen.

Br,

Maninder SA

0 Kudos

Hi,

You need to check the BADI, or try to find the implicit enhancement at PBO ..before transferring the data to the screen.

you use the normal logic LOOP AT screen field for disable based on the conditions.