cancel
Showing results for 
Search instead for 
Did you mean: 

Link between transaction TPM60 and TPM1

former_member293658
Participant
0 Kudos

Hello Treasury Experts,

Can you advise on this query please?

We are implementing the Treasury Transaction Manager component. We run transaction TPM60 to calculate the NPV of the Forward Transaction. We specify an Evaluation Type on the TPM60 entry screen. This Evaluation Type has been setup in the Market Risk Analyzer to call a Z function module which calculates the NPV in line with FAS157.

We then run transaction TPM1 to post the accounting documents. We would expect/want TPM1 to use the NPV values calculated in transaction TPM60. However TPM1 is not picking up the NPV value we have calculated in TPM60.

Can you advise why TPM1 is not posting the valuation calculated in transaction TPM60? What are the settings that must be made to ensure the value calculated in TPM60 is subsequently used in the TPM1 valuation postings?

If you need some further details please let me know.

Appreciate any guidance/help you can offer here.

Thanks

Mik.

Accepted Solutions (0)

Answers (13)

Answers (13)

former_member293658
Participant
0 Kudos

Hi Ravi,

I have a further query on the TPM1 postings which I was hoping you may be able to guide on. As mentioned before, we used the Security Valuation Procedure. This allows a compare of the FMV value claculated in TPM1 versus the NPV value from TPM60 stored in VTVBAR, and then posts the difference to the Forward Premium account. That all works well.

There is however another additional posting which is now required. The value which is currently calculated in TPM60 is not fully correct in line with what FAS157 requires; there is an additional small PV component which is calculated based on an interpolation of interest rates. These interpolation of interest rates is very similar logic to the interpolation of the exchange rates as detailed in an earlier posting on this thread. This adjusting calculation then posts the correct value that should be posted from TPM60. However, we can't include this logic in the initial TPM60 logic. The reason is that if it is included in the TPM60 posting then only one figure will be output from TPM60. When TPM1 then performs the postings, it will compare the FMV value calculated in TPM1 against this figure calculated in TPM60. The FMV calculated in TPM1 will be posted to the FV account. The difference will be posted to the Forward Premium account (ie this difference posting will then include the small adjusting PV calculation). However the requirement is that this small PV component should post to the FV account.

Therefore it appears that we need a separate third step in the PMP to cater for this small adjusting posting. Our thought is to define an additional step on the current PMP. Then use the BADI TPM_TRL_MANIPULATE -> Manipulate_Valuation_Flows. In here we find the Update Types that are generated by the third step in the PMP. Then code logic here to calculate this adjusting posting for the interpolation of interest rates in line with FAS157 as outlined above.

Or would you know a better way to handle this scenario? For example do you know if SAP has some standard procedure that could handle this scenario.

Thanks again for any guidance you can provide on this.

Regards

Mik

Former Member
0 Kudos

Manish

Is the requirement to first convert using all in rate (spot from TCURR + swap from AT15) and then discount both amounts using valuation currency yield curve. In that case, you may use BADI JBA_SFGDT for TPM60.

This is exactly what I am struggling with at the moment. Can you please elaborate on the procedure.

At the moment I am just using the FX forward valuation procedure with fwd/fwd but this does not discount the amounts

Former Member
0 Kudos

Hi Tim,

You may want to open a new thread. So, amounts are not discounting using yield curves? It probably has to do with position management procedure settings (I think we had 1 step for security valuation; refer to template company code; did you specify the NPV type?) and market risk analyzer settings (NPV, Evaluation type, yield curve, ref. interest rate).

Also, when you run TPM60; select "detail log" on the selection screen and then from the output, go to log and see how NPV was derived.

Manish

former_member293658
Participant
0 Kudos

Hi Ravi,

I think I found it!

One additional piece of information. I notice when I looked in the VTVBAR table the NPV currency at inception date (THM30) is USD but (TPM60) at Valuation Date is GBP. That looks like the issue. So when I ran TPM60 on a new example I specified evaluation currency as USD. Then it saved the inception and valuation values in VTVBAR with same currency USD. Now when I run TPM1 with the 2 steps you mentioned it is indeed calculating the values you suggested. I need to test now how it will look if we run a valuation in month 2 and month 3 etc for the same financial trade. But initial results look good.

Thank you very much for your help, you have really helped us out here!

I will post an update on the other testing results.

Regards

Mik

former_member293658
Participant
0 Kudos

Hi Ravi,

I debugged and found the reason for why the system is calcaulating that 462693 value in TPM1. The system does this: it hits method Get_Cash_Value which is itself called by the the method DETERMINE_CALC_BASIS.

In here it reads the value of from VTVBAR table in the FM TV_READ_OTC_PRICETABLE. It finds the value of 478350 we have stored there. It now checks what currency that value is stored in and finds it is stored in GBP. The valuation currency is USD. So it then converts this VTVBAR value from GBP to USD using the Closing Rate of 1.98851. That calculates avalue of 951203.76. So this is the Value2 we then see in TPM1.

In TPM1 it has calculated the Write-Up value (from the Step1 in the procedure) as 488510. It then calculates the difference between 488510 and the step 2 value 951203 as 462693. It is that 462693 value that is is then posting.

If it did not do/have to do this foregign currency translation of the VTVBAR value, but instead read VTVBAR as it is, then it would calculate the value 2 difference to be posted like you suggested.

The question is: hwo can we stop the system doiung thsi translation? Is it something we can control by the Currency or the Rate Type we specify on the Procedure Steps? Or is it something in the transactions themselves? For exampl, when we run transaction TPM60 we are having to specify the Evaluation Currency there as USD; if we specify it as say GBP it will not store any value to VTVBAR. We don't know why that is? If we specified GBP there in TPM60 would that alter how it is stored in VTVBAR?

Any suggestions you have would be much appreciated as we are getting close to a fix now.

Thanks you

Mik

former_member293658
Participant
0 Kudos

Hi Ravi,

No we were not able to get it to work. We checked the Security Valuation Procedure (3000) and verified it was set to 'Do Not Realize Gains/Losses'. Also checked VTVBAR and verifed the value 478350 was stored there for the valuation date being used in TPM1.

It is a pty because if it functions like you say it should then theoretically it would work well for our scenario. I will try debug to see if I can find where it gets the value of 462963 in TPM1. If I find I will update.

Thanks

Mik

former_member293658
Participant
0 Kudos

Hi Ravi,

We tried that option to use the Security Valuation procedure in step 2. However it doesn't seem to compare the value it finds for the NPV in table VTVBAR (eg 478350) against the value it sees from the first step (488510) to get the difference between them (10160) which would then be the value it shoudl post in TPM1 step 2.

Instead the value it calculates for the step2 of TPM1 is 462693. It looks like it takes the value from VTVBAR and perhaps does a calculation based on the ER type we maintain on the Security Valuation procedure.

Is there anyway to get the Security Valuation Procedure to calculate the difference between the VTVBAR NPV value and the step 1 value do you know?

We have the Security Vlaution Procedure defined like this:

NPV Type: HAC

NPV Category: Tried both Dirty and Clean

Price/taye Type: Tried Closing and Booking Rate

Write-Up Rule: Write-Up to Market Value/Present Value (other options result in no posting in TPM1)

Write-Down Rule: Write-Down to Market Value/Present Value (other options result in no posting in TPM1)

Gain Loss/Handling: Must set to Do Not Realize Gains/Losses else it posts a big net figure in TPM1 based on Value 1 + Value2

We have tried alot of the combinatiions in this Security Valuation Procedure but none seem to be able to compare Value 1 against NPV in VTVBAR to get the delta. Could any other Valuation Procedure or setting help achieve that?

Many thanks.

Mik

Former Member
0 Kudos

Hi,

This should work in that way only. After the forward valuation, it will write up to 488510 and that will be compared with NPV in the second step. Not sure where it is missing.

Try in your security valuation procedure, for gain/loss handling do not maintain any value.

Also kindly check whether the NPV value is maintained correctly in the VTVBAR table.

Regards,

Ravi

former_member293658
Participant
0 Kudos

Hi Ravi,

Sorry I may not have explained it correctly before.

Here is an example of a Financial Trade which I hope will clarify.

We are buying 1m GBP and selling 1m USD. The Swap Rate on the contract is 0.01, the Spot Rate is 1.50 so the Forward Rate is 1.51. The contract start date is 01 June 2010 and end date is 21.07.2010.

The system Closing Rate for GBP/USD at 30 June 2010 is 1.98851.

We run THM30 on 01 June 2010 to get the value at inception date of zero. We run TPM60 as at 30 June 2010 to calculate the NPV. The NPV is calculated as:

Value 1: Payment Amount * (Closing Rate - Spot Rate) = 1000000GBP * (1.98851 - 1.50) = 488510.00

Value 2: Payment Amount * (Interpolated Swap Rate from AT15 - Contract Swap Rate) = 1000000GBP * (-.00015 - .01) = -10150.

(Note: The Interpolated Swap Rate is got by looking in AT15. We look in there based on the term of the contract from Valuation Date to Maturity Date. In AT15 we look there for a term that is greater than the contract term and then look for the term that is less than the contract tem. Then we use the standard SAP interpolation module (TB_EVALUATION_SWAPRATE_FIND which is calling TB_EVALUATION_SWAP_INTEROLATE) to get the interpolated rate. In our case that arrives out at -0.00015)

Therefore the FMV calculated in TPM60 = 488510.00 -10150 = 478360GBP. We have then created a Z report where we use this value for reportting out the FMV on the contract in line with FAS Reporting requirements

In TPM1 we are now required to make the Hedge Accounting postings to match the TPM60 net figure calculation. However we need to split out these values as follows to show the Write-Up/Write-Down value (value 1 488510) and the Forward Premium/Discount (Value 2):

488510 Dr Fair Value Derivatives A/C Cr Hedge Gain/Loss A/C

-10150 Dr Premium on Forward Contract A/C Cr Fair Value Derivatives A/C

Is there a way we can achieve this using the standard SAP system? As we are finding that we have to undertake alot of development (own Evaluation TType calling Z FM, code the Z FM to calculate the FAS1557 FMV, code Z report to report out the FAS157 value, code BADI in TPM1 to calculate the value in the same way as TPM60, and who knows maybe additional work for TBB1 etc).

Or is our handling of the business requirement incorrect, should we have another approach?

We assume that there are several other customers that have this same FAS157 requirement so are a little surprised that we are having to undertake so much own development here.

Thank you for any guidance you can offer here.

Mik

Former Member
0 Kudos

Hi,

I was just checking the issue. I am not sure about your requirement being met using hedge management because as far as I know, by using a cash flow hedge, we can distribute the unrealized gain/loss in equity for that portion of hedge which is effective and the remaining uneffective portion to be realized in income statement. But in your case the total exposure is being hedged and total value of the forex deal is effective for hedging. Hence the total amount would be distributed to income statement or equity depending the type of hedge. Not sure how you can split based on your requirement.

But I am not sure this option might work or not, but try this option. Have 2 steps in your position mgmt procedure. First do a valuation for rate valuation for forward exchange transactions and compare the spot price with closing price and the next step have a security valuation procedure which will compare with NPV calculated in TPM60. Now the first step will post the spot value difference, while the second step will post the difference between written down/up book value and the NPV value calculated through TPM60. Both will be posted in TPM1 itself as 2 documents.

Regards,

Ravi

former_member293658
Participant
0 Kudos

Hi Manish,

We tried what you suggested. We have all the relevant configuration in place. When we chose the CF Popt/Spot transaction 100 like you suggested it did alter the postinsg made in TPM1. However, they don't tie with those we'd have made in TMP60. Actually the only difference now appears to be that is splits out the OCI posting in what looks like an effective/ineffective posting. That's probably what you referred to previously. So I may have been incorrect when I suggested this is what we want to achieve.

The two legged posting that we want made in TPM1, to correspond to the values we have calculated in TPM60, are: (1) the Write Up/Write Down of the FMV. This is calculating correct today. Also it calculates correctly with the CF Sport/Sport method you suggested. And (2) the calculation of the Margin/Swap Accrual (ie Premium/Discount on Forward Contracts). This still returns the same value as before which does not match the value we have in TPM60. As mentioned previously the standard system seems to be using a days apportionment to calculate this value, being Contract Start Date minus Contract Valuation Date) divided by (Contract Start date mnus Contract End Date) * Payment Swap Amount. Our TPM60 module is using an interpolation of the AT15 forward rates to do this.

It looks like we will need to keep trying with the BADI to see if we can achieve what we want here?

As you seem to be quite knowledgeable in the area, we wonder are you familiar with the netting/rolling of the Financial Contracts? If I need to open a separate query for this please let me know and I will do so. Our basic issue there is this. During the 20th of each month, we close out our existing Financial Contracts and then take out new cumulative ones with the bank. For example, when we reach the 20th of each month we might have 5 different financial transactions. We need to net all 5 into 1 and then roll forwrad this one contract for the overall netted amount. These 5 Financial Transactions might be linked to different exposures. When we net the 5 financial transactions we would also want the exposures to be netted and one new one created and carried forward. However, we are finding that the SAP system is not well able to handle such a scenario. We don't want to end the hedging relationships (and then expire the exposures and clse the financial contracts because we are woriied that a dedesignation or dissolution will have legal consequences. Plus there is alot of work to link the new Financial Contracts to the new exposures for those to be carried forward after 20th of the month).

Have you ever encounterd a scenario similar to that one? Can you advise what is the standard system approach to handling such a scenario?

Thanks again for the very good advice you have been giving us.

Mik

Former Member
0 Kudos

Hi,

Please open separate message for the other issue.

For this one, since I don't have a soution, I can only guess that a standard solution may be available (you are just using interpolated swap rates for valuation rather than yield curves) so TPM60 calculates right fair value and you don't have to use Z function module. Please research OSS more or may be file a message with SAP. If nothing works, you can provide real values in your example end to end (with what you are getting and what is expected) to this forum to see if that helps.

Manish

Former Member
0 Kudos

Hello Mik,

Do keep us updated on this issue.

Also, do read note 940562. Is it worth considering an approach where you maintain yield curve settings and reference interest rates for your functional currency and letting TPM60 use that vs. your current approach of interpolating swap rates using a Z function module; just thinking aloud. You can try that and then TPM1 using hedge management settings should get you the values desired. It would split FV into exchange rate effect ( posted to OCI) and interest rate effect (posted to P&L).

Manish

former_member293658
Participant
0 Kudos

Hi Manish,

Yes you have understood it correctly! That is what we are trying to achieve. Could you elaborate more on the usage of the hedge strategy please?

As it happens we do use the hedge management functionality. Basically each Financial Transaction would be linked to a hedge plan. A Finacila Transaction could be used to hedge one or more exposures. Could you advise how the hedge strategy 'cash flow diff spot value' might help here? For example woukd that cause different behaviour in the TPM60 and/or TPM1 transactions? If we did use this, would we need to alter the Z function module logic we applied in TPM60 evaluation type? Or does it just impact the way the TPM1 transaction calculates/posts?

Your advice could be very valuable to us, and I appreciate the time you are taking to help us here!

Many thanks.

Mik

Former Member
0 Kudos

Hi,

So, in THMEX, you are using "cash flow hedge"; exposure category "forecasted transaction"; use hedge strategy with calculation type "100" ; that has calculation category "cash flow diff spot value".

I hope hedge management config is done. Position management procedure, Update types for valuation to OCI and P&L, account determination etc. There is a note for "sample customizing settings" (I think for net investment hedge) if something is missing.

This config will not impact TPM60; only TPM1; please try and let us know.

Manish

former_member293658
Participant
0 Kudos

Hi Manish,

I will try to give more background on what we are doing. We are valuing the FMV by comparing the (1) Forward Rate on the Financial Transaction/Contract against the (2) Balance Sheet Forward Rate. We do not use the Yield Curves to value this; instead we want to use the Forward Points (ie future swap rates) that have been provided by the Bank. In oder to use the swap rates we did not use the standard evaluation type HM01 as it utilizes the yield curves. Instead we have used another Evaluation Type which calls the Z functin module.

In technical terms this is what we have then done with the Z function module in TMP60: in oder to calculate the Fair Market Value we have split this into two components.

Part 1: we are calculating the difference between the Payment Amount * contract Spot Rate versus the Payment Amount * contract Forward Rate. In another way of speaking, this is basically the Payment Amount by the Swap Rate. That calculates part 1 above, being the Forward Rate on the financial transaction.

Part 2: we are calculating the Balance Sheet Forward Rate. This is the Payment Amount * the Month End Closing Rate in TCURR versus the Payment Amount * the Balance Sheet Forward Rate

The Balance Sheet Forward Rate is basically the TCURR Close Rate +/- the Interpolated Swap rates from AT15.

In summary, part 2 is the Payment Amount * (TCURR Close Rate +/- interpolated swap rates from AT15).

In TPM60 we have added Part1 and Part2 and that net value is stored in table VTVBAR.

When we run TPM1 we basically wish to post accounting entries to reflect the valuation calculated from TPM60. However, it is required that TPM1 makes the postings in 2 steps: Part 1 and Part 2 must post separately because these component parts post to different accounts. We can see the standard TPM1 will calculate & post Part 1 above correctly. It is the Part 2 that is causing problems. The standard TPM1 does not seem to use an interpolation of the swap rates from AT15. Instead it calculates the swap rates based on a days time-approtionment that seems to be: (Contract Start Date - Contract Valuation Date entered in TPM1)/(Contract Start Date - Contract End Date) * AT15 Swap Rate.

We are thinking that perhaps the BADI can help us manipulate the TPM1 claculation in a similar way to TPM60.

Can you advise if we are on the correct path with the above? Is it possible with TPM60/TPM1?

Thanks for your advice.

M

Former Member
0 Kudos

Hi,

So, the fair value change attributed to spot rate change (effective portion) should post to one account (balance sheet/OCI) and the fair value change attributed to forward points change (ineffective portion) should post to another account (P&L). Is that right?

In case above is correct, this is possible if you use "hedge management" functionality: use a hedge strategy with measurement calculation type which has calculation category "cash flow diff.spot value".

Manish

Former Member
0 Kudos

Hi,

I am trying to understand your requirement, but I am having a doubt in what you have mentioned:

+ Part 1: we are calculating the difference between the Payment Amount * contract Spot Rate versus the Payment Amount * contract Forward Rate. In another way of speaking, this is basically the Payment Amount by the Swap Rate. That calculates part 1 above, being the Forward Rate on the financial transaction.

Part 2: we are calculating the Balance Sheet Forward Rate. This is the Payment Amount * the Month End Closing Rate in TCURR versus the Payment Amount * the Balance Sheet Forward Rate

The Balance Sheet Forward Rate is basically the TCURR Close Rate +/- the Interpolated Swap rates from AT15.

In summary, part 2 is the Payment Amount * (TCURR Close Rate +/- interpolated swap rates from AT15).

In TPM60 we have added Part1 and Part2 and that net value is stored in table VTVBAR.

When we run TPM1 we basically wish to post accounting entries to reflect the valuation calculated from TPM60. +

Your part1 is going to be the contract swap rate. Why do you want to post this during valuation? Why do you want to post separate accounting entry for this because this is not part of valuation at all. Can you please explain your requirement with an example?

Regards,

Ravi

former_member293658
Participant
0 Kudos

Hi,

Well we have run TPM60 in live mode and the NPV value was stored in VTVBAR. I acn see it in VTVBAR prior to running TPM1. TPM1 then runs. In the FM I can see it is reading the VTVBAR value for the transaction correctly. However, when the TPM1 is completed there are zero values being psoted to the GL accounts.

Following on through the code after the FM above, I can see it tries to calculate a write-up/write-down value but calculates zero there. Then it goes into routines to get the Valuation Flows. Finally it finishes and outputs zero value.

I aam unsure if it is because thw write-up/write-down calculated value 0 or if it is due to know valuation flows being found that zero values are output. Or indeed if there is some missing config that should link TPM60 to TPM1.

In relation to the Valuation Flows, do you know where I can look on the system to verify these have been setup correctly? Would that be the assigned update types (which seem to be there) or is there somewhere else I should be looking.

Thanks for helping me wor through thie issue.

Regards

Mik

Former Member
0 Kudos

Hi,

Probably an issue at Valuation settings and PMP settings. Check out whether the NPV is greater than Book Value, then no entry will be posted as you set it with No write up. If the NPV is less than Book Value of transaction, you should get a write down flow, if no some error config is involved.

Please take a help from functional consultant to see the settings are correct or not.

Regards

Prasad AV

former_member293658
Participant
0 Kudos

Hi Prasad,

We looked at the issue again. We have found that TPM1 is calculating the forward premium/discount based on a simple days time-apportionment which is [(Contract End Date minus Contract Start Date)/(Contract Valuation Date in TPM1 - Contract Start Date)] * Payment Amount.

However FAS157 requires that this is calculated based on an interpolation of the swap rates. This interpolation logic can be seen in Point 3 of SAPNote 184678. We have coded this logic already in TPM60. We were able to do this in TPM60 because the system allowed us setup an Evaluation Type wheer we could call our own Z module as outlined previously.

We are trying to find a way that we can achieve the same in transaction TPM1 since transaction TPM1 must make the accounting postings with the same value as is calculated in transaction TPM60. However it does not seem to be as easy to do with transaction TPM1. We have found a BADI TPM_TRL_MANIPULATE that might help us to do this.

In that BADI there are the methods MANIPULATE_VALUATION_FLOWS and MANIPULATE_CALC_BASIS available. The method MANIPULATE_VALUATION_FLOWS does not seem to have the information available to us at the time to claculate the values in a similar way to TPM60.

Can you advise please if you have any knowledge of using this BADI and could advise us how to use this?

Also, can you advise if SAP have a standard system solution available to handle the FAS157 requirements around calculating and reporting the Fair Market Value of financial transactions? To now we have found that we have needed to code BADIs from TPM60 and now TPM1 to do this. However as FAS157 is a standard requirement for several companies we think SAP should have something standrd in this area. Is there perhaps some standard transactions we are missing here that would provide the functionality needed?

Thanks you for any ideas.

Regards

Mik

.

Former Member
0 Kudos

Hi,

Although I'm not sure if BADI is the way to go in this case, we did experiment with this BADI TPM_TRL_MANIPULATE on one of my projects. OSS notes 865371 and 921346 provide details on sample implementation on this BADI.

For TPM1, you will need method MANIPULATE_VALUATION_FLOWS; I think the idea is to have a Z table with same structure as (internal??) table CH_TAB_FLOW and to somehow get the update types and the amounts in that table. We were thinking manually, but may be you can write a ZTPM60 which will after running TPM60, write values in this table.

Of course, then you will need to use BADI for TPM18/TPM27 also with method MANIPULATE_DERIVED_FLOWS.

I still agree though that TPM1 should be able to pick up the values calculated by TPM60 ('coz you didn't change TPM60; you just used a Z module in "External Valuation").

Manish

Former Member
0 Kudos

Hi,

What is the exact mark-to-market (FAS157) requirement for this FX transaction? By default, both buy and sell amounts are discounted to key date using their respective currencies yield curves and then converted using spot rate at key date and difference is fair value.

Is the requirement to first convert using all in rate (spot from TCURR + swap from AT15) and then discount both amounts using valuation currency yield curve. In that case, you may use BADI JBA_SFGDT for TPM60.

Manish

former_member293658
Participant
0 Kudos

Hi Prasad,

The Z function we are using for FAS157 is just one we wrote ourselves based on what the business team has advised us. There is specific logic for reporting out NPV value that they want and we just coded that to reflect what they want.

As you mention TPM1 should pickup the value that TPM60 calculates. It does not however. Can you maybe suggest why that is?

Here are the settings we have made so far:

Under Treasury & Risk Management -> Basic Analyzer Settings -> Valuation -> Define & Set Up Evaluatiion Types -> took a copy of standard HM01. Then in teh Evaluation Type we assigned a Valuation Rule. In the Valuation Rule under external Function Control we have called our Z function module.

Then under Treasury & Risk Management -> Transaction Manager -> General Settings -> Accounting -> Define Price Valuation Procedure for FX Transactions -> procedure 3000 -> we have 'Valuation with NPV from Risk Module'. We have also set the rules in here To Write Up or Write Down to Market Value/Present Value.

Then when debugging transaction TPM1 we can see that function module TV_READ_OTC_PRICETABLE is called and the NPV value from table VTVBAR is read. The program does not find any value for the write up/write down. The program then tries unsuccessfully to find Valuation Flows for this forward transaction. Finally the system does not seem to use this NPV value later when it outputs the TPM1 posting results. Could it be because the Valuation Flows are not maintained?

If so, can you advise please how we would maintain these Valuation Flows? Or if that is not the issue, can you advise the technical settings that we must maintain to ensure the TPM60 values are passed onto TPM1?

Thanks again for any help.

Regards

Mik

Former Member
0 Kudos

Hi,

You are correct till the program terminates from FM TV_READ_OTC_PRICETABLE where checking for values. The values will be filled only by running TPM60 without test run option. You may be using standard method or any customized NPV calculator during TPM60 execution. But the value will be stored in table VTVBAR.

Run TPM60 without test run for any date and store the data first. Then try to run TPM1 where you can see further with FM above mentioned. ALso it is important to match the Price Type selected in TPM60 with NPV type maintained in PMP.

All other settings are seems correct from config point. Valuation flows are triggered once the amount is identified.

Regards

Prasad AV

Former Member
0 Kudos

Hi,

TPM60 stores the NPV value for any selection you provided in table VTVBAR.

TPM1 picks the NPV stored from above table and generates posting documents at GL level. In order to get this function, you need to specify the NPV Price type in valuation procedure which is assigned to Position managment procedure of respective product type. The same needs to be used while executing TPM60 for getting NPV for any key date.

Can you tell which is the NPV z Function Module you are using for NPV calculation in line with FAS157.

Regards

Prasad AV