SAP and the Thinking Process

Building stronger Current Reality Trees


In this article, I´m going to show you how SAP ( or other ERPs ) can help you in building your own CRT ( Current Reality Tree ) from the thinking process approach. I won`t cover how to build CRT here. It isn´t my aim now, however, there is a lot of information available on the internet. I´ll focus on one particular aspect needed for constructing CRT, on getting data and facts from the SAP to support entities existence.


In my day to day practice, I use the approach from H. William Dettmer as he calls it “The Logical Thinking Process”. For more details see his great book The Logical Thinking Process – A Systems Approach to Complex Problem Solving. There are tools for constructing CRTs called Categories of Legitimate Reservation: Clarity, Entity Existence, Causality Existence, Cause Insufficiency, Additional Cause, Cause-Effect Reversal, Predicted Effect Existence and Tautology. The second of them is the Entity Existence with its three conditions: Completes, Structure and Validity and just the validity is exactly the point where SAP can help you to gather the needed facts. As Dettmer writes on page 38 ”…Validity is normally established by evidence. Logic tree quality is improved dramatically if documented evidence of cause and/or effect can be produced. This helps avoid speculation or invalid assumptions about causality…”. SAP can support you with the needed data.


Let´s go through my example. On the diagram below you can see one particular branch from my CRT inclusive entities notes. I don´t claim it is perfect and can´t be improved, but for the purpose of finding out all root causes is it sufficient.

My Current reality tree:

Current Reality Tree

Round Box Entities
• cause101 – a part of orders are produced too late to due to dates
• 102 – some customers don´t accept later dates
• cause102 – not all requirements are available as needed
• 103 – We start later than needed in some cases
• 104 – there is no way to reduce the production time
• 105 – there aren´t alternatives for those requirements
• – during the production process strikes Murphy
• 107 – there is no way to reduce the production time
• 109 – We don´t have enough capacity at the right time
• 110 – We don´t know exactly all demands beforehand
• – Future is unpredictable
• 112 – We´re not proactive with customers
• 114 [L] – We don´t know exactly all demands beforehand
• 117 – One way to be efficient is to reduce setup time
• 118 – Workers merge orders
• 119 – We move actual orders back
• 120 – We use capacity for not actual orders
• 121 – The sum of needed time is sometimes higher than available
• 124 – we have unnecessary inventory
• 125 – We have a backlog
• 126 – We have some overloaded resources
• 127 – We have not the right buffer (Capacity/time/material)
• 128 – We plan our capacity due to history and forecast
• 129 – we plan our resources conservative
• 130 – All resources must be producing all the time to be efficient
• 131 – Plan in CZ must be > 0.
• 132 – some actual orders are planed over available capacity
• 133 – We don´t have the right planning tool to see overloading
• 134 – We DO have the right planning tool to see overloading
• 135 – We ignore overloading
• 137 – We are scared there will be lack of orders for all resources
• – We have some rules to ignore available capacity
• 139 – we plan our capacity as a sum
• 140 – There are big differences in workloads of resources; 50 %
• – A buffer means an idle resource
• 144 – We don´t want idle resources
• 147 – We all believe in local efficiency
• 148 – There are resources with a lower load than the bottleneck
• – We have not totally balanced production
• 150 – we are measured due to local optimum
• 151 – there are no other rules

Here is the German version…………………….

Round Box Entities
• cause101 – Wir produzieren manche Aufträge später als kundentermmin
• 102 – Manche kunden akzeptieren kein Verzug
• 103 – Wir fangen in machen Fällen später an als benötigt
• 104 – Es gibt keine Möglichkeit für Reduzierung der Fertigungszeit
• 105 – Es gibt keine Alternativen für diese Anforderungen.
• – Während der Produktion erscheint Murphy
• 107 – there is no way to reduce the production time
• 109 – Wir haben nicht genug Kapazität in der richtigen Zeit
• 110 – Wir kennen nicht alle Bedarfe Voraus.
• – Die Zukunft ist unvorhersehbar
• 112 – Wir sind nicht proaktiv mit unseren Kunden
• 114 [L] – We don´t know exactly all demands beforehand
• 117 – Eine Möglichkeit für Efektivnes ist Reduzierung Rüstzeiten
• 118 – Wir fassen Aufträge zusammen
• 119 – Wir schieben aktuelle Aufträge nach hinten
• 120 – Wir nutzen Kapazität für nicht aktuelle Aufträge
• 121 – Die Sume für die benötigte Zeit ist höher als vorhandene
• 124 – Wir haben unnötige Bestände
• 125 – Wir haben Rückstand
• 126 – Wir haben manche überlastete Quellen
• 127 – Wir haben nicht den richtigen Puffer(Kapa/Zeit/Material)
• 128 – Wir planen unseren Kapazitäts-Bedarf nach Vergangenheit
• 129 – Wir planen unsere Quellen konzervativ
• 130 – Alle Resourcen müssen laufen/ Wir wollen Efektivnes
• 131 – Plan in CZ muss sein > 0.
• 132 – Manche aktuelle Auftäge werden überplant über vorhandene Kapazität
• 133 – Wir haben nicht den richtigen Plannungswerkzeug
• 134 – Wir haben den richtigen Plannungswerkzeug
• 135 – Wir ignorieren Überlastungen (kapazitiv no go)
• 137 – Wir haben Angst, daß in Zukunft weniger Aufträge sein werden.
• – Wir haben Regeln für Ignorierung vorhandene Kapazität
• 139 – Wir planen unsere Kapa-Bedarf in Summe
• 140 – Es gibt goße Unterschiede unter verschiedenen Resourcen; 50 %
• – Ein Puffer heißt ungenutzte Kapazität
• 144 – Wir wollen keine ungenutzten Kapazitäten
• 147 – Wir glauben in lokale Efektivität
• 148 – Wir haben Resourcen die nicht voll ausgelastet sind.
• – Wir habe keine komplet ausgewogene Fertigung
• 150 – Wir sind nach lokalen Optimum gemessen = Leistung
• 151 – Wir haben keine andere Regeln
• 401 – Nicht alle Materialen sind vorhanden in Menge und Qualität wie benötigt
• 406 – Wir produzieren mache Teile im Vorlauf
Undesirable Effects
• UDE100 – Liefertreu ist 50%


Let´s follow each entity for supporting facts which can be gained from the SAP in my case.

Nr. UDE100 says: Delivery performance is about 50%. I suppose each company has its focus and priority on that measurement and has a tool to follow it. In another case, you can get those data from SAP using DB tables VBAK, VBEP, VBAP, VBFA, LIKP, LIPS. I won´t go deeper into how you can build an ABAP program to calculate delivery performance. Firstly it should be easy for an experienced developer and secondly, every company can have its own methodology for calculating its delivery performance.

Nr. 118 “Workers merge orders”: As usually in SAP, there are several ways, to support this statement with facts/data. As an example see coding below comparing production orders with planned orders according to the material number.

Here is the ABAP class for this action :

Nr. 126 “We have some overloaded resources” and Nr. 140 “There are big differences in workloads of resources”: Again, there is not only one option for mining data. I chose the following approach with function modules CR_CAPACITY_PERIODS and CR_CAPACITY_AVAILABLE_PERIODS. See method get_data_for_his_db

Here is the ABAP class for this action :

To be continued….