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: 

VOFM-Formula -Scale basis - needs help

Former Member
0 Kudos

Hi All,

Can any one please help me in configuring the scale base formula?

I have created a fomula 600 under Formula-Scale basis usint tcode VOFM and activated the same.

My cods eis as follows:

======================================================

FORM FRM_STAFFELBAS_600.

IF KOMP-MGAME < '5.000'.

XKWERT = 0.

ELSEIF KOMP-MGAME < '100.000'.

XKWERT = 2 * KOMP-MGAME.

ELSE.

XKWERT = ( 2 * 100 ) * 100.

ENDIF.

ENDFORM.

======================================================

What are the important parameters i have to configure in V/06 and VK11,for configuring my formula?

Thanks & Regards

Seshagiri.

1 ACCEPTED SOLUTION

Former Member
0 Kudos

i think you need to check with condition type ..

and also assign condition type to fields

======================================================

FORM FRM_STAFFELBAS_600.

IF KOMP-MGAME < '5.000'.

XKWERT = 0.

<b>xkschl = 'Condition type'.</b>

ELSEIF KOMP-MGAME < '100.000'.

XKWERT = 2 * KOMP-MGAME.

<b>xkschl = 'Condition type'.</b>

ELSE.

XKWERT = ( 2 * 100 ) * 100.

<b>xkschl = 'Condition type'.</b>

ENDIF.

ENDFORM.

Reward points if it is helpful

Thanks

Seshu

4 REPLIES 4

Former Member
0 Kudos

i think you need to check with condition type ..

and also assign condition type to fields

======================================================

FORM FRM_STAFFELBAS_600.

IF KOMP-MGAME < '5.000'.

XKWERT = 0.

<b>xkschl = 'Condition type'.</b>

ELSEIF KOMP-MGAME < '100.000'.

XKWERT = 2 * KOMP-MGAME.

<b>xkschl = 'Condition type'.</b>

ELSE.

XKWERT = ( 2 * 100 ) * 100.

<b>xkschl = 'Condition type'.</b>

ENDIF.

ENDFORM.

Reward points if it is helpful

Thanks

Seshu

0 Kudos

Hi,

Sorry,it is not working...

Regards

Seshagiri

0 Kudos

Hi,

You just to put the '600' reference in the pricing procedure for the relevant condition. If it is only used for one condition, you don't need KSCHL logic within the program.

You don't need to make changes in VK11.

Set a soft breakpoint in your RV6* 600 program, and open an order in VA02, go to item condition and do a repricing type C. The program should now stop in the 600 routine.

- Ole

szabolcs_domb
Explorer
0 Kudos

Hi All,

The example above is not really correct because you wanted to program the scale determination itself. If you want to avoid the standard logic and want simulate the scale determination with your own program, you should directly determine the condition value (VOFM/Formulas/Condition value). In a scale basis formula, however, you should not code the scale determination logic, but only the basis for the scale determination. The scale base value should be returned in variable XKWERT.

e.g.

FORM FRM_STAFFELBAS_900.

  XKWERT = KOMP-ZZ....

ENDFORM.

The formula is called from include LV61AA55 (SAPLV61A) Line 377.

The system then compares your base value to the scale records you create for your condition records.

In the configuration you might need to set the Scale Basis to value 'G' - but for this refer to OSS note 1006453 (https://service.sap.com/sap/support/notes/1006453).

I know this is an old post, just wanted to contribute as it might be interesting for others, too.

Hope this helps.

Best regards,

Szabolcs