How to Stop Goods Receipt Before Confirmation in SAPEver had a situation where someone does a Goods Receipt (GR) before the actual production confirmation? It’s like marking something “done” before it’s actually...well, done. Not ideal, especially in tightly controlled manufacturing environments. Thankfully, SAP has a built-in way to stop that from happening, and yes, it’s totally configurable.If you’re looking to prevent GR before confirmation, this guide will show you how, using SAP’s status profile settings. We’ll walk through it like two teammates solving this over coffee, minus the corporate jargon. Why Block GR Before Confirmation?Before we dive into the how, let’s talk about the why. Here’s the thing: letting users post GRs before confirming production can:
How to Configure SAP So GR Isn’t Allowed Before ConfirmationStep 1: Go to T-code BS02 - User Status ProfileFire up your SAP GUI and jump into transaction BS02. This is where you’ll create a User Status Profile that acts like a smart gatekeeper for your production order.Step 2: Create Your Own Status ProfileClick the Create button to set up a new profile. Give it a name you’ll remember, say, PP000001. Once created, select it and click Details.Step 3: Define the Two Key StatusesWe’re going to define two simple statuses:
a. First Status - GR Not Allowed
b. Second Status - GR Allowed
Step 4: Link to Object TypesYou need to tell SAP where to apply this profile. In the object types section, check:
Step 5: Restrict and Enable System StatusesNow we’re getting to the heart of it. This is where you tell SAP what should and shouldn't be allowed under each status.For STA1 – Block GR
For STA2 - Allow Confirmation and GR
Step 6: Save Your Status ProfileClick Save to lock in the setup.Step 7: Assign It to a Production Order Type (OPJH)Almost done!
Step 8: Test It Like a ProCreate a production order and try posting a GR before confirmation, it should throw an error. Now, confirm the order and try again, voilà, it works.Bonus Tip: Expand to Other ActionsThis technique isn’t just for GR. You can use the same logic to:
Quick Recap
Common QuestionsQ: Can I do this for subcontracting POs or process orders too?A: Yes, but you’ll need to tailor the object types and status usage accordingly. Q: What if users try to bypass it? A: The system status logic enforces the restriction at a technical level, no user workaround unless they change the config. Final ThoughtsThis setup is one of those hidden SAP gems. It’s simple, powerful, and puts control back in your hands. Whether you’re dealing with strict audits or just want cleaner processes, this GR restriction setup is a smart move. So go ahead, tighten your production flow and stop GR before confirmation in its tracks.or You can work with ABAPer on this requirement. I think only way to you can control this by implement a USER EXIT or BADI. 1) User-Exit
Function exit EXIT_SAPLCOZV_001 enhancement when saving order
write this code method IF_EX_WORKORDER_CONFIRM~AT_SAVE. data: lt_resb type standard table of resb,
select * from resb into table lt_resb where rsnum eq i_order_header-rsnum
and xloek eq space and bdmng gt 0.
loop at lt_resb into wa_resb.
endmethod. Read Also:
SAP PP Reference Books:
Goto:
Back to:
Return to :-
(c) www.gotothings.com All material on this site is Copyright.
|