cancel
Showing results for 
Search instead for 
Did you mean: 

VA01: I dont want to read salesorganisation (VKORG) via Parameter VKO

Former Member
0 Kudos

Hi Experts,

maybe this could be also be postet in the ABAP forum but I think its better postetd here.

I want to prevent SAP from suggesting the last salesorganisation (VKORG) when I create an Salesorder via transaction VA01.

The users simply pick the wrong salesorg to often if its filled automatically so I want to have it initial and the user has to choose one every time.

I found the spot in the coding where the parameter is set:


SAPMV45A
MV45AF0T_TRANSAKTION_INIT

  IF CALL_FUNCTION = SPACE.                          
    IF T180-TRTYP = CHARH.                           
      IF VBAK-AUART IS INITIAL.                      
        PERFORM VBAK-AUART_GET_PARAMETER(SAPFV45K).  
      ENDIF.                                         
      IF T180-TRVOG NE CHARB AND                     
         CALL_DIALOG IS INITIAL.                     
        IF VBAK-VKORG IS INITIAL.                   
          GET PARAMETER ID 'VKO' FIELD VBAK-VKORG.     "<- Here it will be picked from the parameter!
        ENDIF.                                       
        IF VBAK-VTWEG IS INITIAL.                    
          GET PARAMETER ID 'VTW' FIELD VBAK-VTWEG.   
        ENDIF.                                       
...

How can I prevent it? Is there a customizing mechanism or an user exit? I browsed arround but found nothing helpfull.

Best Regards

Manfred

Accepted Solutions (0)

Answers (2)

Answers (2)

Jelena
Active Contributor
0 Kudos

I might be missing something, but if you extend customer only to the plant 1 and Sales Org 1, wouldn't this resolve the issue? The sales rep from Plant 2 will not be able to create an order for such customer in Plant 2. Otherwise this could also be handled by a user exit, which would simply check the customer's assigned plant and would not allow to create an order in an incorrect plant.

Also I'm not sure what country are you in but in the US some companies have intelligent phone systems that use the customer's phone # to pre-fill the data for this customer. E.g. a rep gets the call and, when it's answered, the SAP screen is already up with the customer # etc. It's the third party software/hardware and additional cost, but it's pretty cool.

You're saying that about 20% of customers are affected. Assuming this also means 20% of orders, if you remove the memory parameter, you'll be losing 80% of the convenience. Also if you chose to do so, it wll be a core modification and you'll have to review/redo it after every upgrade.

Former Member
0 Kudos

Hi,

What if you set a default value for Sales organization for a user. You can do that under transaction SU3.

Go to SU3

Go to Parameter tab

add "VKO" under "Parameter ID" and add relevant sales org for that user under "Parameter Value" field

Save

Now when ever he goes to VA01, system will automatically suggest that sales org for the user. You have to do this for relevant users/sales org combination.

check below link for ABAP Coding for default values.

Best regards,

Anupa

Former Member
0 Kudos

Hi Anupa,

I tried your suggestion but it does not help in my case. I set VKO to an initial value in SU3 for my user and tried to use VA01. I created an sales order and saved it. then I startet VA01 again and the last VKORG appeared again.

Your suggestion works if the user logs on to SAP next time. This would help to ensure the user uses the right VKORG for the first sales order each day. But I still have the problem for all other sales orders.

I fear that is no good solution for me unfortunately.

Regards

Manfred

Former Member
0 Kudos

Hi Manfred,

how do you define a wrong sales org in this case? Is it that the user is NOT supposed to create SOs for that Sales Org at all ?

If so, have you thought of restricting by authorization objects?

If not, I would rather suggest that let the previous sales org appear and once in the screen and the users enter the customer/material details--you give a warning/pop-up msg with the sales area/org info and ask them "Are you sure you want to proceed with XX00/YY/ZZ Sales Area?"

Preventing at 1st screen is desirable but it would get really complex in terms of development and I see no compelling business reason/ value add. So, you can check if you implement my above suggestion.

I hope this helps.

Regards,

Raghu.

Former Member
0 Kudos

Hi Rags,

the purpose: our firm is devided in two firms having different plants. Normally the user in plant1 only creates salesorders for plant1 and the users in plant2 only for plant2. They create the orders and deliver the goods.

We want to optimize the transportation process for the cusotmers located between the two plants. They should not be delivered from both firms so we create a geographical line between two firms. customers on the one side are delivered from plant1, other side from plant2.

The cusotmers are having contact persons in our company they normally call for ordering goods. So the cusotmer calls in Plant1 even it it will be Plant2 that hast to deliver the goods.

In thery the contact person in plant1 could ask the cusotmer to call in plant2 but thats not usefull as the customer till now always called the contact person in plant1.

So the most simple way seems to me that the worker in Plant1 creates the order as he would be in plant2 and the sales order works well. But mostly the sales guy in plant1 creates sales orders for plant1. Only about 20% of the cusotmers "switch plants" due to geographical reasons. And unfortunately the sales guy will maybe forgett to use the other plant most likely in too many cases...

Therefore I hope to reduce the mistakes dramatically if the sales guy has to enter the sales organisation every time.

Regards

Manfred

Former Member
0 Kudos

Hi Manfred,

understood your scenario.

Plant is automatically determined as well in the SO creation.

I would still suggest the same development/ check as above.

Regards

Raghu.