Skip to Content

Self-healing environment

The term “self-healing” denotes the capability of a software system in dealing with bugs and fault tolerance. Lot has been written about this already in various forums and for different areas. With software it is more so evident and necessary which pass through lot of changes and enhancement during its life cycle.

We are talking about SAP application which has even more larger life cycle. Encountering issues or bugs is bound to happen. When there is a bug, then there is solution/fix for it. We always have to deal with the situation and move on. Consider how much time you need to invest in finding or getting the fix, applying it on to the system and then testing it on your testing environment before moving it to the productive system. In SAP, we mainly do this by SAP notes.

Think of a system which automatically generates the application trace daily. An intelligent program then reads the trace, detects any kind of bugs, which you even don’t know. At the end of the day or week it gives you a report with possible set of notes to be applied in order to fix those bugs. As a basis administrator you just have to go through the list and select all or relevant notes and click “Apply all”. Come back on next day everything is applied automatically and it also provides you with summary on what was done in the background. What else is remaining, test whether, the issue is fixed or not. Why do this also? Let the system does this by simulating this in the background and provide you with the result if the bugs are fixed or not. And one more click, the changes are transported to your productive system. May be I am going too far but isn’t that we all want this. May be we have hiccups in terms of limitation of SNOTE in applying all kind of fixes automatically.

We from SAP Software Life cycle Management have already taken small step in this direction. Now let’s see what offerings and solution which we are currently working on which will help us realize a self-healing SAP system in the future.

  • ANST: Automated Note Search Tool – A very simple and yet very useful tool to find the relevant notes for the bugs you encountered with. You just need to recreate the scenario which is faulty or gives you an error which is not desired and this tool will find you every possible notes, objects involved or executed while reproducing the bug.
  • DDIC object support in SNOTE – Believe me this is going to be reality very soon. Once this is available, you no longer need to apply changes to DDIC object <Table, Domain, Data elements, Structures> manually. All changes related to DDIC objects can be applied automatically through SNOTE.
  • Correction Packages – New approach of delivering the corrections. This is under conceptual phase as of now. There are two ways available currently for customers – Support Packages and Notes. Correction Package takes advantage and eliminates the disadvantages and limitation from these two available options. Nothing major will change at the end for customer; internally everything will be taken care of. It is based on a delivery transport request with a consolidated object list. This will also solve the limitation of not all object types being supported by SNOTE currently.

Well this is just beginning or in other words we have taken few initial steps to solve the bigger purpose. These are small chunks to start with which are also required to create a self-healing environment. Off course more such pieces would be required to achieve it.

Ultimately idea should be such that we do not have to first encounter the bug and then apply corrections for it. If corrections are already available, then it should be present on to the system. At the end this is just an idea and we need to build this together.

You must be Logged on to comment or reply to a post.
  • Hi Manoj,

    Thank you for your article. 🙂 !

    If SNOTE supports DDIC objects, what's the advantage of Correction Packages?.

    Also, ANST is able to trace DDIC objects so it's already prepared for this change. However, if a SAP correction note is delivered throught correction package with no correction instructions,I think it wouldn't be found by ANST which should be adapted so that objects are searched within correction packages.



    • Hello Carlos,

      Main advantage of correction package is that it will be transport based rather than pattern based context block approach.Correction Instructions will still remain and will be used.

      This calls for another blog on correction packages 🙂 ! Well this has just started, hence few points might change as we speak.



      • Hi Manoj,

        Looking forward to this new blog on correciton packages!. I assume correction packages will contain not only workbench objects but customizing?. e.g. "C" atble entries. That would be a difference conmpared to SNOTE which is not intented to deliver table contents.



  • Hello,

    the blog is a good idea.

    Regarding the changings of the DDIC objects by notes, I see more disadvantages, but maybe I am wrong:

    imagine, a new field was added to a table by a note. The customer inserts data there. Maybe, the note will be de-installed again later - how about the data? Who is responsible for them?

    Maybe I am wrong, but I expect trouble in this field.



    • Hello Jens,

      You are absolutely right with your concern. As of now we do not have plan to support de-implementation of DDIC objects. Also we have integrated consistency check which will check inconsistent changes. For example, decreasing the field length for a data element.

      These checks will be present while creating CIs and also during note implementation.



  • Good entry!

    Thanks for the info. DDIC in Snote will be an advantage both for SAP developers and for SAP customers. Just to think about it in the future, What about to release table entries through SNOTE?. I know this will be complicated and dangerous for customer entries, but why not to offer the possibility? Sometimes SAP releases large notes with hundreds of table entries to update manually (legal changes etc...)!