cancel
Showing results for 
Search instead for 
Did you mean: 

Block Sales Order If Item in SO contains different Pricing Condition Type

former_member229716
Active Participant
0 Kudos

Hi SAP Gurus,

Can we have error message if the Item in sales order contain different pricing condition type :-

example :-

My Sales Order Type is ZTP (Third parts sales order), In my sales order contain 2 Item.

For Item 10, the system will pickup ZPDP as the Item discount, else for Item 20, system will

pickup ZPNC pricing condition type. My user request only 1 sales order contain 1 pricing condition type.

can we set the sales order to error or warning if there is a multiple pricing condition type in SO item ?

Item 10

Item 20

cheers

Accepted Solutions (1)

Accepted Solutions (1)

former_member182378
Active Contributor
0 Kudos

Fairulnizam,

Below suggestion would have little bit of manual work from the users but without any enhancements / coding -

Have both the discount types as statistical (in your pricing procedure).

Have a header condition type (which has to be entered manually by the user; during creation of sales order)

See if you would like to keep this condition type as "Required" (or mandatory), so that user does not forget to enter this.

When sales order is created.

Suppose both condition types populate in line 10 and line 20.

User goes to line 10, finds the value of ZPDP, then goes to the header enters the value of ZPDP at header level.

Note - the values of ZPDP and ZPNC shall not affect the prices / net values; as these condition types would be statistical.

former_member184080
Active Contributor
0 Kudos

Dear TW,

I believe, the above one will add lot of burden on users. Reasonbeing, if a sales order has more than 2 line items say, if the order has 20 or 100 line items, its not humanly possible to to go and see each and every line item.

Seond, what If both the discount condition types has 2 different account keys?

Regards, Sai Krishna.

Answers (4)

Answers (4)

former_member184065
Active Contributor
0 Kudos

Dear,

Please check select Item 20 and clcik on Condition tab and thereafter click on that Condition Type QPRT and click on Analysis tab .After clicking on Analysis tab ,please share that details here to assists you .

Note: It seems to me it is very strange .Are using any User exits or any enchantments in order level ?

Thanks,

Naren

Former Member
0 Kudos

i did't understand you requirement, you have two different items, you have two discounts and condition records, can you clear with some business process------

warm regards,

jagadeesh kumar rayudu

former_member184080
Active Contributor
0 Kudos

Hi,

Sorry to say that the question is not very clear.However, i am trying to attempt your question with my understanding.

1. As you know, in any given situation you will have only one price condition in sales order. Meaning, the price condition  type - condition class = B.

2. Now, your question is on discount condition types and you want either of the condition should be active in sales order, have you checked the parameters to have different condition type? What is the ket combination you are trying to achieve here? You can play around with key combinations for that condition types access sequence so that the discounts will be applicable if the requirement satisfies.

3. The best way is to use condition exclusion. Check below SAP help:

http://help.sap.com/saphelp_40b/helpdata/en/93/743483546011d1a7020000e829fd11/content.htm

http://scn.sap.com/thread/1161408

4. If these solutions are fit for your requirement, you have to go for enhancement by using pricing routine functionality.

Regards, Sai Krishna.

former_member182378
Active Contributor
0 Kudos

Sai,

Condition exclusion functionality might not work for this requirement.

The OP wants to compare the condition types in two (or more) different line items.

Exclusion would work to compare / compute within a line item, of the sales order.

Could a requirement routine suffice (put in field requirement of the pricing procedure), if the logic has to compare with previous line items (and not within the same line item of the sales order)?

former_member229716
Active Participant
0 Kudos

Thanks MR TW for reply, I really appreciate your help.

The requirement is, if particular line item in sales order have two or more discount such as item 10-ZPDP and item 20-ZPNC, the system should block the order. Currently, the user have to delete manually the line item. The new sales order will be created for the delete item.

the mean , 1 sales order for one discount pricing condition type.

hope this will help.

former_member182378
Active Contributor
0 Kudos

Fairulnizam,

The requirement is still not clear!

1. After the user finds that a sales order, at item level has two discount condition types (with values), then the user deletes this line item and creates a new sales order.

Which condition type(s) does that sales order, line item have?

2. In a sales order, if there are multiple line items, then each line item has how many discount condition types?

Do you consider surcharge also when you say discount condition types?

3. What is the business reason behind this requirement?

former_member184080
Active Contributor
0 Kudos

No. Thats why I mentioned I didn't understand the requirement fully.

Sai.

former_member184080
Active Contributor
0 Kudos

The requirement is, if particular line item in sales order have two or more discount such as item 10-ZPDP and item 20-ZPNC, the system should block the order. Currently, the user have to delete manually the line item. The new sales order will be created for the delete item.

Hi,

Your statement is not very clear again. You are saying that if one line item has more than 2 discount condition types and other side you mentioned ietm10 ZPDP and Item 20-ZPNC. Please confirm whether you want to check condition type in each and every line item or you want to compare one line item to other one?

If its in the same line item:  You have to create a routine and write a logic by taking ABAP help.

If its comparing 2 different line items: You have to use exits. But, in this case also, user has to delete the line item whichever there is a difference.

Istead, please let us know the business logic of 2 discount types and its relevance so that we can help you with good solutions.

Regards, Sai Krishna.

former_member186385
Active Contributor
0 Kudos

Hi,

May i know the reason for determining two separate condition types for discount?

is there any business requirement to trigger separate discount conditions?

Instead of deleting the condition type, you can maintain One condition record in general to all the items

for example Maintain ZPDP discount for all the material

however, i dont see any usage of another discount condition as your user is deleting it manually

just discuss with the Business and finalize which discount to be used. If both discounts are required and have to trigger as per the requirement

then you have to go for Coding, to accomplish your requirement

Use user exit  USEREXIT_PRICING_PREPARE_TKOMP to make necessary changes

hope it is understood

regards,

santosh

Former Member
0 Kudos

Hi,

You can do it two different ways.

1:- By routine assign to the condition type.  But here you have to define which will have give preference. so that the other condition type you can put requirement. like if  condition type ZPDP is active then ZNPC will deactivate. like that.

2:- You can take the help of User exit . where you have to write code by the help of ABAPer for both condition type which you want to keep and which you want to deactivate . So according to your requirement system will behave .

program MV45AFZZ

User Exit :-

  • USEREXIT_PRICING_PREPARE_TKOMK
  • USEREXIT_PRICING_PREPARE_TKOMP

Hope it will help you to understand.

Regards

Pitabash