cancel
Showing results for 
Search instead for 
Did you mean: 

Intercompany pricing PI01 and PI02

Former Member
0 Kudos

Hi All,

Intercompany scenario:

The PI02 condition is only applicable to Inter-Company transaction (direct shipment of goods to the customer by one company on behalf of another) so in theory will have both a PI01 and PI02 for the same material.

1. If only a PI01 exists then we need to use it.

2. If only a PI02 exists then we need to use it.

3. If both exist then the PI02 overrides the PI01.

4. If neither exist then pricing is incomplete.

How will we get 3rd point ie  If both exist then the PI02 overrides the PI01.

Pls help

Accepted Solutions (1)

Accepted Solutions (1)

former_member182378
Active Contributor
0 Kudos

Vandana,

For point 3 -

In your pricing procedure, have

Step

909 PI02

910 PI01

Same as in pricing procedure RVAA01.

In the pricing procedure, in step 910 (or for PI01) in requirement, have a (newly created) routine that if there is a value for PI02, then system should not access / read condition type PI01.

Thus if requirement is fulfilled (i.e. there is a value for PI02) then system shall ignore PI01.

bsivasankarreddy_reddy
Active Contributor
0 Kudos

hi sharma

TW is right

9090PI02Inter-company %00
B2200ERL
9100PI01Inter-company Price00
B2200ERL

here routine 22 based on this system will perform the at Sale order level ,

and also PI01  access sequence -SalesOrg/Plant/Mat

PI02 access sequence is - SalesOrg/Plant

based on this system will perform

regards

sankar

Former Member
0 Kudos

Thanks TW and Reddy,

Followed the steps mentioned and maintained condition records for both PI01 and PI02, system is picking both condition records first PI02 and then PI01.

Could you further help me on this.

Thanks

former_member182378
Active Contributor
0 Kudos

Vandana,

Most important part was putting a (newly created) routine in field Requirement, in your pricing procedure (in step 910).

This routine (or requirement) which is a piece of code, that shall "instruct" the system to populate or not populate the value of PI01 in the sales order, in Tab Conditions.

Did you (with the help of an ABAPer) create and put the routine in the field Requirement?

former_member182378
Active Contributor
0 Kudos

Bojja,

Your post is not clear to me -

here routine 22 based on this system will perform the at Sale order level ,

What do you mean by the above?

Requirement 22 is for condition types to feature only in Intercompany billing documents (e.g. IV)

and also PI01  access sequence -SalesOrg/Plant/Mat

PI02 access sequence is - SalesOrg/Plant

based on this system will perform

The fields in the condition table would be basically set on the basis of the business requirement and the business process(es).

Any particular reason why you have sited the condition tables for respective condition types?

Shiva_Ram
Active Contributor
0 Kudos

3. If both exist then the PI02 overrides the PI01.

Since the condition class of these condition types is B-Prices, if you put PI02 after PI01 in the pricing procedure, then I think the system will only apply PI02 pricing for net value calculations (PI01 may appear, but it will not be used for net value calculations). Can you test and let us know?

Regards,

Former Member
0 Kudos

Thanks all,

Well I tried and tested and successfully able to suppress PI01 and get PI02 value through coding.

1. In interco invoice, getting both IV01 and IV02. Not able to suppress any 1 as per the condition records maintained for PI01 / PI02.

2. We do have scenarios of free of charge, till now we only had PI01, so if I introduce PI02, how will this work? as net value would be 0. So nt sure.

3. For PI01 / PI02, can we use condition exclusion instead of writing a code to suppres.

Answers (1)

Answers (1)

0 Kudos

HI Vandana,

For the scenario where PI02 and PI01 both exists, then PI02 should be considered. To do this, you can use exclusion condition.

1) Create a condition exclusion group for intercompany ( say ZPI1 and ZPI2)

2) Assign PI01 (ZPI1) and PI02(ZPI2) in this group.

3) Select the pricing procedure where you want to get this exclusion. Maintain condition exclusion procedure as D, exgr1 ZPI2 and exgrp2 ZPI1.

This will get you the required exclusion that if ZPI2 existins then exclude ZPI1.

Thanks

Nikhil Shah

former_member182378
Active Contributor
0 Kudos

Nikhil,

Very good!

Thank you!

Former Member
0 Kudos

Hi Nikhil,

Thanks.

This is exactly what i have already done. Its working fine with Sales order but when I am trying to generate interco billing its not picking PI02 value for IV02. Both IV01 and IV02 are seen and IV02 is being calculated on IV01. Pls help.

former_member184065
Active Contributor
0 Kudos

Dear,

When I am trying to generate interco billing its not picking PI02 value for IV02. Both IV01 and IV02 are seen and IV02 is being calculated on IV01. Pls help.

If you dont mind,Can share your Pricing Procedure ? Have you maintained Reference Condition Type in any one of these ?

Note : Might be from and to vales effected on it .

Thanks,

Naren


Former Member
0 Kudos

In PP, nothing is maintained in From and To column. Already checked. Infact, I deleted PI01 condition record to check, still in interco invoice its showing IV01 = 0.03 and IV02 =75%=0.02. Its calculating on IV01.

Former Member
0 Kudos

For your input kindly check .

Hi,

  In intercompany pr00 is inactive and the condition type pi02 is replaced with condition category iv02. Due to the reference to condition type pi02 determined in defination of condition type iv02,the system determine identical value .while condition type pi02 in customer billing document represent cost of the selling company code condition type iv02 in the intercopmany billing document is the price.

It represents the revenue of the delivering company code . .

For your input .Kindly check

The cost element (GL account assignment ) If it has category 11 else it will not picked up .Also check sd condition iteslf  if it is active or not It may be in active .

   Thanks,

Nalini

Former Member
0 Kudos

Hi Nalini,

Where is category assigned to GL account assignment?

Former Member
0 Kudos

Hi,

   Go to tcode KA03 you can see the what the  cost element category assigned to the respective g/l a/c.By consulting you Fi team assign the correct cost element categroy in ka01 for intercompany scenario  .Thanks ,Nalini

Former Member
0 Kudos

Thanks Nalini,

its showing as 11.

Former Member
0 Kudos

Hi

If If the account-based profitability segment is active, that account-based profitability segment is valid as a genuine CO account assignment. If only the costing-based Profitability Analysis is active, a reconciliation object is automatically determined by the system, that is then valid as a genuine account assignment object.   Kindly refer this oss note 70159 for Interc.: No a/c-based CO-PA docs. upon goods issue.Kindly check with  if it would be your  version specific or not in oss note 39635.Then you  would make necessary changes in source code with oss note173071.

Thanks,

Nalini

former_member182378
Active Contributor
0 Kudos

Vandana,

Have you setup the exclusion groups (as Nikhil has suggested) in the intercompany pricing procedure too?

By doing so, when a value for condition type IV02 shall be found, the system shall discard the value of condition type IV01.

Former Member
0 Kudos

Thanks everybody. to some level i am successful.

1. I used condition exclusion for PI02 / PI01 and IV02 / IV01. The problem that i was facing was: as per pricing procedure IV02

                          IV01

                          AAA

                          BBB

Since IV02 was 1st in PP, so condition value was coming as zero. Right now I have used Net value condition type prior to IV02 ie YYY

                                            IV02

                                            IV01 so now IV02 is getting calculated on YYY, same as sales order. But I am not sure if this is the correct way.        

2. Need to check for free of charge scenario. how will system check for PI02?

0 Kudos

HI Vandana,

Check the following details:

1) In Pricing condition, there is a field called Reference Pricing condition. Just check that this field is in PI02 is maintained as IV02 and not IV01.

2) In Pricing procedure, do you have any routine assigned to IV01 and IV02? Can you let me know which routine is it assigned to? if it is 9XX then let us know the logic if the routine.

3) For IV02, do u have any dependency maintained on IV01 for this? Let me know

Thanks

Nikhil

Former Member
0 Kudos

Hi Nikhil

1) In Pricing condition, there is a field called Reference Pricing condition. Just check that this field is in PI02 is maintained as IV02 and not IV01.

Checked in V/06: PI01 = IV01 and PI02 = IV02

2) In Pricing procedure, do you have any routine assigned to IV01 and IV02? Can you let me know which routine is it assigned to? if it is 9XX then let us know the logic if the routine.

This is  @requirment in PP

 

This is a copy of SAP requirement 022

* with 1 line removed

 

sy-subrc = 4.

check: komp-werks ne space.

check: komp-fareg na '45'.

if komk-vbtyp ca vbtyp_fkiv.

sy-subrc = 0.

exit.

endif.

if komp-kposn ne 0.

if komk-vbtyp ne 'U'. "JC03

check komp-prsfd ca 'BX'.

endif. "JC03

 

* check t001-bukrs ne t001k-bukrs. "JC02

 

endif.

sy-subrc = 0.

3) For IV02, do u have any dependency maintained on IV01 for this? Let me know

No

former_member182378
Active Contributor
0 Kudos

Vandana,

You have set up your pricing procedure (Intercompany) similar to standard pricing procedure IVAA01. Thus you are following the correct way!

The reasoning of putting Net value just before IV02 is because this condition type is % based. Thus you need some "absolute amount" to get the value for IV02.

In free of charge scenario, the goods sold by the Ordering sales organization to the external customer -

The Net value = 0

But the internal price PI02 / PI01 that wont be zero.

Similarly for the Delivering plant / company code

The IV02 wont be zero

and the VPRS wont be zero

Side comment: Ofcourse there are and can be deviations based on business rules.