SYSTEM_ABAP_ACCESS_DENIED for ABAP Function Module on SAP S4HANA
While I was developing an ABAP program on SAP S/4HANA system, I got an error message an ST22 ABAP dump when I executed the ABAP report where I used ABAP function module BAPI_SALESORDER_CREATEFROMDAT1. The short text of the error message summarized that access to development object prevented by system configuration which points to the BAPI_SALESORDER_CREATEFROMDAT1 ABAP function module. This surprised me since I could use the same ABAP fm without any problem on many SAP systems other than S4HANA
I was creating an ABAP program which simulates sales order creation.
I could also use BAPI_SALESORDER_SIMULATE function module but I tried to use BAPI_SALESORDER_CREATEFROMDATA, BAPI_SALESORDER_CREATEFROMDAT1 or BAPI_SALESORDER_CREATEFROMDAT2 BAPIs and evaluate their outcome since I had rounding issues for subtotal amounts with BAPI_SALESORDER_SIMULATE.
OK, here below ABAP programmers can see the error message displayed when runtime dump occurs that I extracted from ST22 transaction.
Category ABAP programming error
Runtime Errors SYSTEM_ABAP_ACCESS_DENIED
ABAP Program SAPL2032
Application Component SD-SLS-GF
Error in the ABAP application program.
The current ABAP program "SAPL2032" had to be terminated because it found a statement that could not be executed.
Error analysis
An ABAP development object was used, which should be deleted, or which could cause dangerous side effects if used. Usage of the development object in question was therefore prevented by a system configuration. The system is configured with a list of transactions, programs, methods, function modules and forms that cannot be used. This runtime error was triggered by the following entry from this list:
Type: "C" Object: "SAPL2032" Procedure: "BAPI_SALESORDER_CREATEFROMDAT1" Class: " ".
You can find further information about this runtime error in SAP Note 2476734 and in other SAP Notes by searching for SYSTEM_ABAP_ACCESS_DENIED.
Short Text
Access to development object prevented by system configuration.
As I mentioned before, I only executed function module using ABAP command:
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT1'
When I checked web for a solution, I found references to SAP Note 2249880.
This SAP Note was giving information about Blacklist items.
Following sentence in short saying that the function modules I was trying were all in blacklist as well as in the simplification list.
A callable ABAP development was tried to be executed, which is registered as a so called Blacklist Item
The reason is that these function modules are not adapted to the changes in SAP processes introduced with S/4 HANA.
So the best way is to find an other option instead of using them in your ABAP developments.
But if you insist to use the developments objects included in blacklist, ABLM_MODIFY_ITEMS ABAP program can help you configure system settings for blacklisted items.
Run ABAP program ABLM_MODIFY_ITEMS
Fill textboxes "Type", "Name" and "Main Object" appropriately.
Leave the checkbox "Testmode" as marked by default.
If you execute the report and if the ABAP program lists the objects this means that object is blacklisted.
As you see, "Found Blacklist Entry" message indicates that the function module is blocked for external communication so cannot be used by other ABAP programmers.
To enable usage of the related function module in ABAP developments, you can switch back to initial screen of ABLM_MODIFY_ITEMS program.
This time clear "Testmode" checkbox and mark "Allow Entry for Internal Usage" checkbox.
If you execute the ABAP program with this input entries, you can enable ABAP function module in developments.