cancel
Showing results for 
Search instead for 
Did you mean: 

Availability Check in multiple Plants

mahendra_jani3
Contributor
0 Kudos

Hi Experts,

Need your suggestions on below requirement from my Client.

Requirement:

  • My Client has 2 Separate Plants with Duty Paid (AB01) and Non Duty Paid (AB02) Stock. (Business Decision to keep separate Plant)
  • Now, Requirement is to confirm Stock in Sales Order first from Duty Paid Plant (AB01) and then from Non Duty Paid Plant (AB02)

Request you for suggest if there is any logical way Standard process to map this requirement and If not then how can we achieve the same in SAP with the help of ABAP.

In Client's current Legacy their system checks the Stock first in Duty Paid (AB01) Plant and if available then confirms else generates new Line Item with Non Duty Paid Plant (AB02).

Regards,

MJ.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hello Mahendra,

Please sit with an ABAP guy and ask him to find the user exits available in Availability check and ask him to write a requirement logic there maintaining a Ztable having Plants with Duty Paid (AB01) and Non Duty Paid (AB02) etc.

Few example of exits available in Availability check.

Program FV45VFZZ:

USEREXIT_ADD_FIELD_TO_HEADER

USEREXIT_ADD_FIELD_TO_LINE

Program FV45VFZY:

USEREXIT_DELIVERY_GROUPS

USEREXIT_MVERF_INIT

USEREXIT_QUOTA_KEY_VALUE

Program RV03VFZZ:

USEREXIT_AVAILABILITY_IN

USEREXIT_AVAILABILITY_OUT

USEREXIT_DATA_REFRESH

USEREXIT_PLANT_SELECTION


Hope it will work.

Regards

AG.

mahendra_jani3
Contributor
0 Kudos

Hi AG,

Thanks for list of User Exits.

Can you please help me to know how the requirement like below can be managed via User Exit,

Sales Order Line Item : Material A 100 Qty. Plant AB02

Stock availability, Plant AB01 (Duty Paid) = 45 Qty

                          Plant AB02 (Non Duty Paid) = 85 Qty

As per process system should generate new line item with 45 Qty from AB01 Plant and then confirm remaining Item from AB02 Plant.

Your help appreciated.

Regards,

MJ.

neeraj_lal
Contributor
0 Kudos

MJ

As I suggested, you can find plant in Bapi 'BAPI_MATERIAL_AVAILABILITY' and make your logic to update sales order.

We had similar requirement in previous project where we used this Bapi.

In sales order we were use to give popup to user to select and confirm:

You may put your own logic.

Regards

mahendra_jani3
Contributor
0 Kudos

Hi Neeraj,

This is an exact thing what my client is also asking.

Just one more input is needed.

Which User Exit I will have to update for my logic, as I want to trigger this when User Enters Material Code in Line Item.

Regards,

MJ.

neeraj_lal
Contributor
0 Kudos

Hi Mahendra,

We used enhancement point. Please find details in below screenshot. This was old project so I have only this information. There are two Exit

EXIT_SAPLATPC_001   : Processing Requirements Table Before Calling Actual Check

EXIT_SAPLATPC_002  : Processing Results of Actual Check

For our requirement we used both of these.

Regards

Answers (6)

Answers (6)

neeraj_lal
Contributor
0 Kudos

Mahendra,

I will suggest you to use Bapi  'BAPI_MATERIAL_AVAILABILITY' for checking ATP at different plant level while creating sales order.

Crete Z development. In your program you can create logic to pass different plant value and check if material is avalable or not using this Bapi.

Regards

neeraj_lal
Contributor
0 Kudos

'BAPI_MATERIAL_AVAILABILITY' for checking ATP at different plant level while creating sales order. will save your lots of coding work. You only need to pass value in this BAPI based on your logic and use BAPI output to select plant which has confirm quantity.

Regards

Lakshmipathi
Active Contributor
0 Kudos

Try with USEREXIT_PLANT_SELECTION in program RV03VFZZ if APO is not implemented

G. Lakshmipathi

mahendra_jani3
Contributor
0 Kudos

Hi Alexander,

It seems you have mis-understood my question.

Hi Lakshmipathi Ji,

I will try your suggestion and will update the feedback.

Regards,

MJ

former_member182575
Contributor
0 Kudos

Some good advice from others.  But I give you a warning I have done something similiar for a previous client where ATP was adjusted based upon the free goods materials ATP and believe me you are constantly changing things and the level of complexity increases.  If I remember correctly there is a UPDZ field that is the key to the whole thing and then consider that if both plants cannot give full stock and then how will you allow if to split over plants.... etc, etc.

Regards

Waza

mahendra_jani3
Contributor
0 Kudos

Hi Waza,

You are correct, when I am trying to implement the logic for different perspective, it seems it is going to be very much complex and continuously dynamic.

I am going to use this for one of my Initial Z-Program before creation of Sales Order and I understood amount of complexity.

Thanks for suggestion also you can give me any specific issues which you may have faced earlier.

Regards,

MJ.

former_member182575
Contributor
0 Kudos

Just consider the sceanrios and use many break-points.

Regards

Waza

Former Member
0 Kudos

Hey MJ,

I believe you are mistaking SD with WM or MM and PP. As far as an availability check is concerned, if there is stock available, it will or wont suggest a ATP or any other type of AVC that you have used.

The functinality you are looking for is "Where the stock is withdrawn from first?".... that is down to the people who are in charge o inventory and withdrawing stock.

Yes you can have an influence on manufacturer parts or batch, however the exact place where it is withdrawn i would leave that to MM and WM who would perform this by having source lists, etc in MM and stock determinations in WM (determination procedure regardless of plant).

Hope this helps,

Former Member
0 Kudos

Hi MJ,

It is SAP standard that when you create a sales order the system checks for the availability in the default plant for which the material is created. However, if enough stock is not available in a particular plant then it prposes the next plant and we can confirm the same to send the product from the second plant.

Please let me know for any further information

REgards

mahendra_jani3
Contributor
0 Kudos

Hi Raj,

Thanks for your answer.

It is SAP standard that when you create a sales order the system checks for the availability in the default plant for which the material is created. However, if enough stock is not available in a particular plant then it prposes the next plant and we can confirm the same to send the product from the second plant.

From your above comment, will you tell me how does system automatically proposes next plant ?

And where we can confirm that we want to send product from this second plant?

Regards,

MJ.

Former Member
0 Kudos

Hi MJ,

Please find below the screen print that shows the AVailability chk screen wherein the requested qty on the requested Delivery date is not available and hence it proposes this below screen.

Herein, you can go for "Other Plants" in order to meet your requirement.

Please let me know for any further clarification.

Regards

kshelar_01
Member
0 Kudos

How do we reach to availability control screen

former_member186385
Active Contributor
0 Kudos

Hi,

your requirement cannot be met with Standard R/3

you have to implement APO and integrate it with R/3

else, you can also goo with Developing small code as already suggested by Amrit

regards,

santosh

sri_ram18
Participant
0 Kudos

Hi Mahendra,

Please go through the following links, similar issue has been discussed it might be helpful

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

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

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

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

Sriram.