I work on SAP Product Support. There are several incidents opened by customers related to the use of Standard SAP function modules (FM) in custom development. Basically they use a standard FM in their custom code and it does not work as they expected, then they open an OSS message asking why it does not work as they wish. My goal with this post is to share some information about FM not released for customer's use, since there are several customers that are not aware of this restriction.
When considering to use standard SAP FM in custom development, firstly it is advisable to check if it is released (or not) for customer' use. It is possible to check check it in tab "Attributes" when displaying the function module in transaction SE37, as shown below:
In the sample above, function module RS_VARIANT_DISPLAY is not released for customer use, hence not supported. When a function module is flagged as "Not released", SAP recommends that customers avoid using this object in their custom code. However, it is not forbidden. You can use this function as it is a global function. However, it will not be supported by SAP if it does not work as you expected. Besides, SAP might change, remove or rename this object at anytime by an upgrade or support package.
So it is kind of useless to open an OSS message in such cases. However, there are some alternatives:
Look for a standard functionality that can be used instead;
Develop the desired functionality on your own by a custom development;
Create a copy of standard function and use it. Then you can adjust it as you need.
Further information can be found on the following notes: