cancel
Showing results for 
Search instead for 
Did you mean: 

Manual discount condition type for specific customers

0 Kudos

Hi,

I want to create manual discount condition type which should be valid for only few customers.

It is possible to make automatic discount condition type but i am ot able to make it for manual condition type.

Thanks.

SAP SD2011

Accepted Solutions (1)

Accepted Solutions (1)

former_member182378
Active Contributor
0 Kudos

Shashank,

Could you think in the lines of the below suggestion -

In the pricing procedure, For the manual condition type (which is applicable only for some customers), activate fields manual, required.

And in the requirement have a routine that activates this condition type only for a list of customers.

The ABAPer while creating the routine (requirement) can either have a table in which the list of customers are maintained or can have these customers hard coded.

At transaction level, in the sales order, if it is created for one of the customers in the list; the requirement shall get fulfilled and the manual condition type shall have to be filled. Or else the sales order would not be saved.

If the customer is not one of the customers in the list, then this condition type shall not feature in the sales order, as the requirement is not fulfilled.

moazzam_ali
Active Contributor
0 Kudos

Dear TW

You have suggested a good solution and it came with full explanation. Thanks for sharing. Are you sure at pricing prepare in debug mode system gets customer number in xkomp or xkonv tables?

Former Member
0 Kudos

I guess you could use the same VOFM pricing requirement where a user is restricted to enter a certain condition type.  See below:-

  select * from ZTBA040          "(holds condition type and approved users
  where zkschl = 'ZPR0'
  and uname = syst-uname.
  endselect.

Regards

Waza

0 Kudos

Hi ,

I think it is the last option.

I am searching solution without abap coding.

Is it possible thru configuration?

Shashank

former_member182378
Active Contributor
0 Kudos

Waza,

Two comments on your post -

1. If a user is allowed to created sales orders for all customers.

And not allowed to enter the manual condition type.

That would be "two contradictory things".

If the user is restricted to enter this manual condition type, then he/she should also be restricted from creating sales orders for select customers.

2. If every user creates / changes sales orders for all customers; then your suggestion would not work.

former_member182378
Active Contributor
0 Kudos

Moazzam,

Could you please explain more w.r.t. your question?

It might help me in my learning.

Thank you, in advance!

former_member182378
Active Contributor
0 Kudos

Shashank,

As Narendra commented, probably this requirement can not be satisfied with Standard configuration!

It is very evident that we do not have details about your requirement!

E.g.

- It should not be possible to save an order with this manual condition type for customers not in the list?

- For customers in the list, without manual condition type, these sales order can or can not be saved?

- What is the business reason this condition type is manual?

Whether a manual condition type has to be used (value should be included in the sales order) is more a responsibility of the users.

It is through communication, discipline and experience these type of requirements should be handled.

Former Member
0 Kudos

In my current Client the manual condition type is restricted to senior users only ... Management decision.

Data entry at my client is by territory and brand within the customer sales & support division.

Regards

Waza

former_member182378
Active Contributor
0 Kudos

Waza,

Thank you for your post!

Could there be the scenario that a user (not a senior user) creates a sales order. Thereafter a senior user goes in to the sales order (VA02) and gives the manual discount?

Thus a two step process for the creation of a sales order?

former_member184080
Active Contributor
0 Kudos

Hi TW,

Yes, why not. We can very well do this via status profile. A normal user creates the sales order and senior user can go to VA02 and gives the manual condition type and approves.

I am trying this scenario for QT and SO for my current project, which is in FUT phase now.

Regards, Sai Krishna.

moazzam_ali
Active Contributor
0 Kudos

Dear TW

I am talking about ABAP point of view. When you put some check in Sale order create in routine or user exit you need that field in pricing structure tables like xkopm and xkonp etc. So I didnt checked at myself thats why I asked this. But thanks, I will check it now

Thank$

0 Kudos

Hi TW,

We have few type of customers whom we want to give discount on basis of different parameters like last purchase, credit time, negotiation & few more. For end user if we make this condition type than they can use same condition type for other customers as well.

I want to control that they should not be able to give discount to other customers.

Shashank

former_member182378
Active Contributor
0 Kudos

Shashank,

Thank you for your post!

If you want this manual condition type to populate in the sales orders ONLY for select customers, then as per my previous suggestion, in the requirement routine, have a line of code that this manual condition type can only be populated for the customers in the list (which are hard coded or are maintained in the custom table).

I am assuming that this manual condition type is mandatory for the sales order with customers in the list (select list of customers).

0 Kudos

Hi TW,

Thanks for reply.

I think, i would like to go for requirement routine only.

Shashank

former_member184881
Active Participant
0 Kudos

Hi T W,

Any how he need to maintain customer list process. only those selected customer list user for manual discount in sales order. use user authorization matrix process for selective user & customer list for manual discount.

thanks

Md, Enayet Hossain

Answers (3)

Answers (3)

sidi_reghioui
Active Contributor
0 Kudos

Your requirements can exactly be met with the explanation as suggested by TW.

We have done this for several condition types, along with a requirement and a Z-table to store the relevant fields and values we did use for these condition types.

Fairly simple solution I would say.

Cheers.Sidi.

former_member184065
Active Contributor
0 Kudos

Dear,

We have done this for several condition types, along with a requirement and a Z-table to store the relevant fields and values we did use for these condition types.

1. To whom ,the Condition Types ,did you maintain ? ( Sold to party or Ship to party or whom ) ?

2. Is this Z Table Containing only Customers ,Condition types with amount ? or what else in it ?

Note : Put some inputs ,how you have accomplished in your 's  .

Thanks,

Naren



former_member182378
Active Contributor
0 Kudos

Narendra, Shashank,

along with a requirement and a Z-table to store the relevant fields and values we did use for these condition types.

In my opinion what Sidi explains is that any field (and respective values) can be taken as the requirement (in the pricing procedure, for a condition type).

The values can be stored in z-tables, main advantage of that is that the user can update (add or delete records / information) from the table.

In comparison to hard-coding, where the update process needs the help of an ABAPer.

Shashank, All,

The "requirement" concept (and the creation of a routine, for the same) cuts across main basic functions like pricing, output, text.

sidi_reghioui
Active Contributor
0 Kudos

The table was holding the customer group 1 field (on soldto), a threshold values based on the Net Value of the document, and discount % and the condition type.

A user exit was used, not sure which one.

At Enter, the event was checked and when the condition type does not meet the requirement, i.e. right customer group 1 field and net value is within the valid-from value and valid-to value, the condition type got removed.

As mentioned by TW, this gives the business more agility and freedom to adapt any of these values.

In addition , a Z-Transaction code was created to enable the user to edit the table easily.

former_member184065
Active Contributor
0 Kudos

Dear,

Little bit confusion on this .Actually ,we need to use Z-Table with Condition Type,Value and Customer right then why you are talking about User Exit and also Z- Transaction Code ?

Note :Have you provided any Information regarding your ( like this ) Requirement to ABAPer  ? If yes what did you provide to accomplish that requirement ?

Thanks,

Naren

former_member184881
Active Participant
0 Kudos

Hi Gupta,

you can easily maintain manual discount condition in Sales Order, which is effect in billing documents.

please create a condition type for discount, in pricing procedure add this condition & give option manual.

Then you should maintain manual discount condition type for few customers id in VK11.

You can add it also manually in sales order. sales order should be link with billing order type & sales order pricing procedure should be copy to billing order type. manual discount condition link with discount GL by account key. then can complete the billing & give discount to customer by billing / invoice.

regards,

Md. Enayet Hossain

Message was edited by: Md. Enayet Hossain

0 Kudos

Hi hossain,

For manual condition type there is no access sequence.

it is manual that means i don't want to maintain it in vk11, i want to give discount in sales order for few particular customers only.

Shashank

former_member184881
Active Participant
0 Kudos

Hi gupta,

if you think no need to maintian condition in VK11 that is ok. you can directly enter manually discount condition in sales order pricing condition. whatever i gave previous massage here "ZMSF" condition text level is white & open. you can use enter this condition also mannually in SO without VK11.

"Then you should maintain manual discount condition type for few customers id in VK11." skip this line from previous massage & check whatever i gave in my previous massage.

Just create a discount condition & assign in SO pricing procedure then use it manualy in SO condition for give discount.

This way you can give manual discount for any customer.

regards

Md. Enayet Hossain

Message was edited by: Md. Enayet Hossain

0 Kudos

Hi hossain,

My requirement is to give manual disount for few customers,it should not work for other customers.

According to your suggestion this condition will work for all customers.

Shashank

former_member184881
Active Participant
0 Kudos

Hi Gupta,

Describe your details requirements. if you wants to apply this condition for few specific customers, then you need to create seperate distribution channel. extain those cutomers to new distribution channel. create new sales area for sales order with new distribution channel. this sales order type use for specific few cutomers manual discount process. And enter manually discount condition in sales order.

thanks

Md. Enayet Hossain

0 Kudos

Hi Hossain,

thanks for suggestion.

but it is completly irrelevant to create new distribution channel & extending more than thousand customers to new sales area,changing pricing procedure,

educating more than 1000 employees for new sales area, adding new authorization.

which is almost equivalent to full implementation.

I would prefer to go for creating requiremnt from VOFM & proceed.

Shashank

former_member184065
Active Contributor
0 Kudos

Dear,

If you dont mind ,Can you read once again his Post and understand properly and give the Answer .

Note :It seems without Code by ABAPer not possible your requirement .

Thanks,

Naren

former_member182378
Active Contributor
0 Kudos

Md. Enayet,

if you wants to apply this condition for few specific customers, then you need to create seperate distribution channel. extain those cutomers to new distribution channel. create new sales area for sales order with new distribution channel. this sales order type use for specific few cutomers manual discount process. And enter manually discount condition in sales order.

Your suggestion can be compared with the below example -

To match the new curtains, you want to rebuild the house!

In my opinion, if we propose your solution to the client, he/she/it would think that we do not understand SD and the efficient way of doing things.

On the other hand, for candidates who are training in SAP SD, your suggestion would be a nice exercise.

former_member184065
Active Contributor
0 Kudos

Dear,

Easy way is You can maintain Text Determination for to whom you wants to give Discount as with some Procedure to maintain Discount Condition Type with this amount in Sales Order when they are processing Sales Order to that Customers .

Note : If you give proper explanation to Users then they can avoid mistakes.

Thanks,

Naren

former_member182378
Active Contributor
0 Kudos

Shashank,

Narendra's suggestion is a good one!

Probably with standard SAP you can satisfy your requirement, by following Narendra's suggestion.

To elaborate the idea -

By text determination, you can have a popup during the creation of a sales order.

This popup shall "get populated" only for the select customers.

In this popup you can have a text e.g. "Maintain manual condition type ZXXX"

Probably a demerit is that after reading the popup, still the user can choose not to input the value for this manual condition type! And there is no place in the system to check point.

former_member184065
Active Contributor
0 Kudos

Dear,

Manual Condition Type doesnt have access sequence so in this case that discount condition type would be applicable to customer and material level l in sales order .

Note : If it is Automatically ,then we will accomplish this without any problems and even by users also

If you have any doubts please let me know .

Thanks,

Naren