Customizing of a release strategy in MM seems to be the final exam which separates the wheat from the chaff.
No doubt that many struggle at this hurdle, 6500 discussions in MM are evident. 4.5% of all MM content. And it is known that this topic is discussed in Retail, ABAP, ERP and some other spaces too.
What makes it so tough?
Is it the number of steps to be executed?
Is it because knowledge on classification is needed?
Is it because of the mix between customizing and master data (classification, cost center…)?
Is it lousy documented by SAP in help.sap.com or by other users in wikis, blogs and documents?
Is the request not well defined by the business?
Is it too complex because of its flexibility with user exits
is it just too abstract for self-education?
You are invited to share your personal answer in the comment section.
I personally miss words, in particular as answer to the question WHY …?
SAP uses quite a lot words and almost no pictures to explain the process and customizing in help.sap.com
The bloggers and tutors in SCN often use only pictures and outline just what SAP had put in words, but also miss to explain beyond.
The self-educators can just follow this one illustrated process, but in the moment the business requirement is a bit different they fail because they never understood the connections, were not able to abstract the shown process enough to get it linked with their own requirement.
I have to admit, the Airline processes for ABAP education is disconcerted to me too. It could have been half as tough for me if they had talked about material master, vendors and other MM tables. So I had to make two hops instead of just one to apply the training to my personal requirements. I am already curious how our key users do when they need to test with anonymized data in near future. As you see it can hit you everywhere, you will rarely find a 1:1 match to the things you learned, you need to understand it to make it work for you with variations.
I will not repeat the whole setup process here again, instead I will focus on the things that I miss in the existing content of wikis, documents and blogs, and put links to this content, so that this blog can work as a map and navigate you to the right stuff for particular requirements.
Before we even start with customizing we either get a requirement from the business, or we are proactive and “sell” it to the business by explaining the advantages and telling them why they need it.
WHY do we need a release strategy for purchasing documents?
People do (can) not trust each other. The NSA is spying Mrs. Merkels cell phone, Google all of us. And not really different in the micro cosmos of a company.
Bosses do not trust their employees, have no trust that they perform their job within the given rules, need a controlling mechanism, like SCN has moderators to control that people do not post the 6501st question on release strategy without doing any research by themselves before.
The boss does not want that the nasty warehouse worker requests a Porsche which is then ordered by the careless buyer..
Anyone can be a requisitioner, but they are only allowed to request something within a certain value range, within the environment of their responsibility. Anything exceeding the defined threshold has to be approved by their supervisors. Some values may even require multiple approvals.
The release code in SAP is the electronic signature replacing the handwritten approval on a paper based process.
In my research for this blog I found numerous documents with SAP screenshots, all started right away with the SAP customizing. My projects start differently and the most time and effort is spend prior to the activities in SAP. We are doing Web meetings, the responsible person from business explains what they want, and the SAP expert tells what can be done. We also have different solution sets which are introduced by the SAP expert.
In general we want reduce the many variants and strive for a single release strategy that can be used anywhere in our global company.
Sometimes we even say “No – this is not the way we want a release strategy in our system”. We have to think about the maintenance costs. If the release strategy is built on strange requests then the costs may explode later. An example: One exotic plant wanted the release strategy based on the user. If it is user Smith then a 2 level approval, but in case of Mr. Hoffmann only one approval by the plant manager is needed. In this example is nothing really generic, and with each change of a user the strategy would need to be amended.
Here are 4 strategy variants as example for a release strategy on purchase requisitions:
No approvals required
If you are authorized to create a requisition, it will be sent directly to Purchasing without review.
Two approvals required for all requisitions
Any requisition, regardless of dollar amount, has to have two levels of approval before going to Purchasing.
Approval determined by dollar amount
< $500 – no approval required
Approval determined by dollar amount
< $2500 — Level 1 approval
and a picture with the same information plus one more variant:
And this was just a small set of examples for release strategies on purchase requisitions. I can just recommend to create a strategy on release strategies to avoid too much variations. Some can be much more complex and could only be understood by the single developer, and you get in trouble if this developer is not with you anymore, like in this more complex requirement.
As you probably know from the documentation you can have release strategies on requisitions, on purchase orders, contracts and schedule agreements, RFQs and Service entry sheets.
Here is a variety of documents in SAP Community, many unfortunately have more pictures than words, and do not at all emphasize on critical parts like item based characteristics in header strategies.
a better one with a good Q+A section at the end
and a jewel among all, unfortunately not much recognized since it was uploaded at SDN times and you need to click the link within that document to see the good work:
(take the chance and rate the documents while you review them)
Why a release strategy for requisitions AND purchase orders?
The buyer could be corrupt and orders at higher prices. The difference to the normal price is then shared between the sales man and the buyer. Not fictive, it happened in the 80s. That is a reason that even purchase orders need to be approved before they are send to the vendor.
If the approver is really capable to identify such fraud is another story, but the example with the Porsche from above certainly is.
If you can trust your buyers, and only want the requisitions be approved, fine, then you an save some work.
It could also be turned, instead of doing a strategy on requisitions you could only implement one on purchase orders, because that would be enough to catch the case with the Porsche.
Best you know what your internal auditors want, or you even invite them to the meetings, as this can reduce double work in design and realization.
Do you use contracts, wonderful you can generate money for IT, they can have a release strategy too.
What I actually wanted to say, in that case you may want to avoid an approval of the purchase order if the contract is referenced.
But this is only possible with a user exit where you add coding to check this circumstance.
complicated approval processes need more time
Another topic in the meetings is to talk about the approval process in general. How long does it take to approve a document, how long in case of high complex strategies with the maximum of 8 levels. This time needs to be covered with the purchasing processing time (update customizing or include it into th planned delivery time of material masters). Make them aware that just one approver is a bottleneck, a substitute for vacation and other eventualities is needed otherwise you can’t order anything if the approver enjoys beach life and is bitten by a shark on his last vacation day.
Hey developer, stop and think: If you have several possible approvers, does it make sense to put the name of this approver into the strategy?
A clear NO. Instead of name that may change once per year use something generic like >20000$ approver or plant manager instead of Mr. Bill.
People often ask for the maximum approval levels – I guess this is interview or certification question – the answer is 8 approval levels, but nobody seems really be interested why you can’t have more. Of course it is caused by the SAP design, table T16FS has only 8 fields for release codes. And the release status field (e.g. EBAN-FRGZU) has a length of 8 characters. This fields is filled with Xs for each approval level. This single field is the basis for the display of the status overview:
Header level strategy
What else needs to be defined in the meetings?
In case of requisitions you need to define whether your strategy is at item level or header level.
People are creative, they may dismantle the Porsche and order 4 wheels, 2 Recaro seats , 1 motor …
With item level strategy they may stay below a threshold and would not need an approval.
In purchase orders is anyway only a strategy at header level possible. Since you can only send a purchase order as a whole document to your vendor, because there is no message determination at item level either.
However, you must not forget that you get other challenges with a header strategy.
You know that purchasing documents can have several items. So you can have items for different cost centers, items with different material groups, even items with different plants are possible in one document.
In case of a header strategy you cannot have approvers at plant or cost center level, except you restrict the creation with a BADI and allow only items from one plant or from one cost center in one document. Standard customizing is not able to restrict this, the BADI or exit is needed.
If you are fine with a header level strategy and approvers by dollar level, no matter for which cost center the items are ordered, then you have to prepare your classification accordingly otherwise your release strategy will not trigger.
An example: in a header level strategy the values from the items are summed up. If you have a plant as a characteristic in your release classification, then the plants from item level are as well “totaled” : Assume you have 2 items, item 1 for plant PL01 and item 2 for plant PL01, then is is quite as PL01 + PL01 = PL01 . But if item 1 is plant PL01 and item 2 for PL02, then the situation is like this PL01 + PL02 = “blank” . And exact this values need to go into your classification otherwise the strategy is not executed. Your classification needs for the characteristic plant: PL01 PL02 and blank as value.
This is valid for any field from item level that is used in a strategy at header level. And I have not seen a single document in SCN where this is explicitly shown, but it is seen in the questions quite often and it is said in various wikis and KBAs and OSS notes.
Draft on paper
The result from our meetings is usually a Business Blueprint and the strategy on paper (in Excel) which can be used as functional specification
Here is an example for a strategy based on cost center by dollar limit. The upper part (Row 1 – 6) is our strategy definition, the lower part (Row 20 – 34) is the mapping to the user roles
Based on Cost Centers (column B) we defined the release groups (column A)
A release group can have just one or many cost centers.
In the example you can see that cost center 98111, 98112 and 98817 belong to the same release group SA
Based on the dollar value we defined the approvers and the release codes.
Example in column G and H (both columns belong together), Purchase requisitions up to $ 20000 have to be released with release code SC (visible in cell H2)
For each combination of release group and release code we need a strategy code. (for example AC in cell H3 is the strategy for combination of release group SA and release code SC)
For each combination of release group and release code a role is created. (for example role YPSCPX34.. in cell C27 is the role for combination of release group SA and release code SC)
In Cell I27 you can see the description of the role, there is no hint to a dollar value or release group and code.
As you see in the Excel spreadsheet, there are actually 2 parts, the upper part is used to setup the strategy in customizing.
The lower part is used to define the user roles and to assign them to the approvers.
There is no easy link between a user and a strategy. There is usually a n:n relation. There is no report in SAP that can tell you who will be the approver for requisition x.
You would need to obtain the release strategy from the document, look into the customizing to find the release group and code for this strategy and finally look up the roles which have this combination of release group and code and to which user they are assigned. Sometimes I am asked to check which user is holding up the process. Then I torture myself with SE16N and SUIM transaction to find the potential candidates. It is much easier if the Excel spreadsheet is kept alive and is updated regularly. Of course an ABAP report would be welcomed. Often requested in SCN, but nobody ever came back to share his program.
With a workflow implemented it is possible to see at which user the workflow currently is.
A little easier is to know who actually approved a document, because this info is stored in the change log (table CDHDR and CDPOS), still there is no report to list this for a number of purchasing documents.
Release strategy without classification
This is the remnant from R/2 times and only possible for purchase requistions. The release strategy with classification came with R/3 in 1996. But maybe you have no complex requirement and a strategy based on plant, material group and value is just enough for you, then you may want to look into this document for the setup:
Since the release strategy with classification can be setup for the same criteria you should better use this way instead of spending time learning an out dated method.
Coming back to the design meetings, make it clear that the outcome should be a strategy which can be used long-term and is not subject to continuing changes and “improvements”. Better improve your preparation.
Changes in a release strategy are not recommended if this strategy is in use and will lead to errors. Create a new strategy, never delete existing strategies. Have no open documents unapproved if you are going to change anything.
If you really need to change, then it is very important that you do it in the right sequence.
Just deleting the release group does not make the depending customizing going away. It is more like beheading a chicken, it can still run through the yard as some videos in Youtube show. However, the SAP customizing is still there and troubles you for more than a minute. Technically it means you have still data in table T16FS, which is the table that stores the release codes to a strategy. This table has the key fields release group and release strategy.
So you can have several entries with the same release strategy. This actually happens frequently after a deletion and new definition, the numerous discussions are evident. The problem is that SAP does not search for a record by the combination of release group and release strategy, it only searches with the strategy, so you have to make sure that the strategy number is unique and exists just once in that table. Otherwise SAP will take just one and this may have a release code that is not covered in any role and nobody can release your document.
|Client||Rel. Group||Rel. Strategy||Rel. Code 1||Rel. Code 2||Rel. Code 3||Rel. Code 4||Rel. Code 5||Rel. Code 6||Rel. Code 7||Rel. Code 8|
|800||BB||01||01||<<< THIS IS AN ISSUE|
Check your customizing with OMGSCK to ensure it is consistent and error free before you test it or even release it for production.
Further you need to decide if you want to make use of a workflow. This means that the purchasing document is directly routed to the approver(s).
Any extra feature has advantages and disadvantages. An advantage is certainly that a manager get an email when a new document is waiting for approval and does not need to execute release transactions in SAP to see if there is anything to approve.
A most common error is that the person who gets the workflow has not the roles to approve the document. Workflow for approval does not replace the user roles. It is your developer task to keep roles and workflow synchronous. The workflow requires discipline by the users. When you decide to go for workflow, then make it clear that the people execute the release through the workflow only. The workflow is an extra process which stays open if you use the normal transactions to release the documents. So you have extra work to end the workflow.
If the workflow is made on individual users instead of groups then the users have to activate a forwarding rule to their substitute in SBWP Business workplace transaction when they take vacation.
Blogs an documents related to release strategy and workflow in SCN are
in the modern world you even approve with tablet computers and smartphones:
Purchase requisitions are internal documents which either take the value from material master, or if there is no material master the user is forced to enter a value as estimate. This value is always in the value of the company code.
A purchase order is an external document which may have the value in your vendors currency.
Your release strategy can be defined to be used in several companies around the world with different currencies.
All these case may require to define a release strategy with multiple currencies.
See the SCN content on multiple currencies:
and the official KBA: 1739381 – Multiple currencies in purchase order release strategy needed
Transport of release strategies is not easy as a release strategy with classification is a mix of customizing and master data (classification) and eventually even program coding if you make use of the exits.
Please read OSS note 86900 – Transport of Release strategies (OMGQ,OMGS)
Master data is usually not transported and need to be created in QA and PRD systems again manually, which is a source for errors too. An way out is to use ALE distribution for the classification. You have to decide yourself how much data you would need to maintain manually again and if ALE can save you time, or just creates another complicated hurdle.
Beside of many discussions we have 2 documents on transporting of classification:
a better one (my personal view): Transport of classification across systems/clients – Quick Reference
ABAP to close the gap between standard and business requirement
The user exit for release strategies was already explained in Release Strategy Enhancement in Purchase Order
Still there might be other requirements that are not foreseen by SAP, here are a some documents and blogs explaining some special developments
From the ABAP space, but you should be able to read ABAP, as some developers are not able to describe it for non-ABAPers How to Reset Purchase Order Release Strategy
if you have so many strategies and you need to load them instead of doing customizing: Mass Upload of Purchase Order Release Codes and Release Strategies – A Function Module Approach
This document closes the knowledge gap between functional and ABAP world, worth to read it from both parties:
Printing purchase order with release strategy
In SAP standard it is not possible to print a document which is not approved. This makes sense, otherwise you could submit a document which is legally binding to your vendor while you did not have the approval. Of course there are ways with ABAP methods to get around this restriction, in that case you have to take organisational measures to avoid sending this document. Or the ABAPer programs it to print with watermark “DRAFT” . If your document prints while it is not fully approved and it is not wanted, then call your ABAPer as it is a homemade problem.
more background is given in OSS note 61871 – Output of messages and release strategy
In case of email and fax the last approver will be used as sender (hence he need to have a valid email address in his profile).
There is a SAP note with a modification to change this behavior: 561593 – Sender of the message (fax and/or email) is wrong.
Other valuable content and important SAP notes
Rahul explains his findings when working with different scenarios in Release strategies
this wiki gives design insight regarding deleted documents in regard to release strategies
I have not seen many questions on release strategies with purchase orders on hold, but it was nice to read the background of the design in
Some more questions were posted recently about release strategy and version management
Release strategy with Version number is in general only triggered if the version is complete.
2 important KBAs on release strategy with version management are:
Make sure you have gone through the FAQ notes before you post a question in SCN:
16 question and answers in OSS note 493900 – FAQ: Release Strategy
some more in OSS note 365604 – FAQ: Release strategies in purchasing
and 10 more on services in OSS note 672719 – FAQ: Release strategies in the service
and a SAP given PDF documentation in OSS note 207490 – Release procedure purchasing: Documentation for Customizing
Please never miss to read the related notes that are mentioned at the bottom or in the text of these notes.
Analyzing issues and errors
If you have studied all referenced content above then I actually do not expect any more errors and issues. But you may have overlooked an important information or you really have a new problem.
There is a SCN blog with a check list in case of issues and as well a KBA in the market place and many wikis in SCN
Beside of that explicit mentioned content we have 6500 discussions for release strategy. Here you should search to see if your issue was already addressed before you create a question.
But if you create a question, then please not a one-liner like this: “My Release condition is in PO level,when i am creating PR and converting to PO the release procedure is not working at PO level.“
This sentence has almost no information to work on. What does “not working” mean? is there an error message? does the strategy not trigger? It is not told on what criteria the release strategy is built and no evidence that the data entered matches with this setup.
A release strategy can be compare with this geometry brick box for children (2-4 years old). The box is your customizing, the bricks is the data in your document. This has to match exactly, and when all your bricks at put into the right holes, then the release strategy triggers.
Hence if you have a problem, give information about your box and show us the bricks, but do not present an empty image: