SAP has recently announced the availability of the SAP Geographical Enablement Framework. This framework works as the foundation to extend business data with geometric attributes for SAP Business Suite applications. As a framework leveraging the spatial capabilities inherent in SAP HANA, it enables organizations to develop geospatially enriched business data, and make them accessible from within SAP applications as well as external GIS (geographical information system) systems. Please see SAP Newsroom article for more details.


As part of our customer engagement initiative, we are happy to offer a 2-3 day workshop about the product’s strategy, capabilities, and architecture, along with how to customize/extend the framework to meet your needs. A detailed agenda will follow, which might include presentations, free training, testing, and an interactive design thinking workshop.




  • SAP customers with a technical knowledge of the SAP Business Suite applications and GIS domain expertise.
  • SAP customers with a business understanding of use cases for geo-enabling business processes




  • Be among the first ones to learn and obtain deeper understanding about the product.
  • Get free training before product’s official training comes out.
  • Obtain hands-on experience with the product and test latest features.
  • Provide feedback and influence the product’s roadmap.
  • It is a unique opportunity to spend time with SAP experts and product development team.
  • Network with peer companies with similar needs.
  • The workshop is free of charge (only travel expenses need to be covered by participants).




2016 October 25 – 27


  • October 25 / Tuesday:   Presentations and hands-on activities for all audiences in any industry.
  • October 26 / Wednesday:    Separate activity tracks for technical and business audiences in any industry.
  • October 27 / Thursday  (for Utilities Customers):   Utilities customers will also have the chance to engage with other projects such as Energy Analytics and S/4HANA Back-Office Launch Center for Utilities.




SAP Montreal, Suite 9000, 111 Duke Street, Montreal, Quebec, Canada, H3C 2M1.




Please note that the workshop will be held in English, and only a limited number of seats are available. We can offer up to 2 seats per company (1 business and/or 1 technical background) to interested and selected customers on a “first come / first serve” basis.



How to Register?


In order to register for the workshop, please contact Weiling Xu at no later than September 28th, 2016.

Objective :

The main objective of this blog is to explain how scheduling parameters influence on the calculation of the plan date in preventive maintenance - time based single cycle plan.

Scheduling Parameters:

we maintain the scheduling parameters for the single cycle plan directly in the maintenance plan as shown belowmp1.PNG

Scheduling Indicator is the basis for calculating the planned dates:

Time : The calculation basis for the month is always 30 days; all calendar days are counted. Example: Cycle 1 month, start of cycle July 9th results in a plan date of August 8th.



Time Key date:The calculation basis is the effective days of a month.Ex:Cycle 1 month, start of cycle July 9th results in a plan date of August 9th.



Time-factory calendar is the basis for the month is always 30 days; only the factory calendar days are counted. Ex: Cycle 1 month, factory calendar Saturday/Sunday/public holiday free,start of cycle July 9th results in a plan date of August 22nd. Selecting factory calendar as German standard 01.



Call control parameter

Completion requirement: If you select the completion requirement check box then the system will generate subsequent orders once the previous order has been completed.It will give a pop-up message like one which is shown below.



Scheduling Period:

It is used to create a preview of the pending maintenance dates. It gives the period of the preview in days,months, or years.For example if you want to have a preview for the entire 12 months for a maintenance plan set the scheduling period to 12 months. Below screen shots shows the scheduling period of a maintenance plan with a monthly cycle, a start date of July 9th and a scheduling period of 12 months.



                      Maintenance Plan with scheduling period

Call Horizon:

We use the call horizon to specify in percentage when an order should be created for a calculated maintenance date.The date as of which the order can be created is known as the maintenance call date. Following screen shots shows the behavior for a cycle plan of one month with 90%, 100% & 0% call horizon settings.



Above is the scheduling period with call horizon 90%



Above is the scheduling period with call horizon 100%



Above is the scheduling period with call horizon 0%

With 90% & 100 % settings, the scheduling list of the maintenance plan has the hold status.

In practice, If you want the call horizon to control the maintenance call directly, than set 0% for cycles which are shorter than one year and if cycles are longer than one year, set the call horizon to a high percentage value (>80%) to ensure that orders are not created too early and remain in the system too long.

I hope this blog will help & for any suggestions plz. feel free.

In part-II ,I am going to share on Data determination which includes shift factor, tolerance & cycle modification factor.



Around the world, OEMs and equipment operators are investing in advanced automation technologies with the hope of reducing downtime, lowering costs, and accelerating operations. Among other things, production equipments can work fast and accurately, and they never need a coffee break.


But whether you’re using the latest automation technology or you still rely on human know-how, your operations come to a standstill when equipment goes down. As more manufacturers embrace the Digital Economy, equipment maintenance and service only becomes more important.


The good news is that technologies and techniques available today are making predictive maintenance truly achievable — for OEMs and equipment operators with the foresight to implement innovative new strategies.


Replacing Best Guess with Big Data


In the past, manufacturers managed the maintenance and service of their production lines through experience and gut feel. After mass-producing the same product over and over, you got a sense of when things might go wrong and when equipment needed to be serviced.


But as manufacturing grew more complex and distributed, gut feel was no longer enough. You needed technology to help you move from best guess to best practice, inching toward preventive maintenance that set your operations on a fixed schedule of service and repair.


Yet in today’s Digital Economy — with its extended supply chains, individualized products, and requirements for true customer centricitypreventive maintenance is no longer enough. Successful asset operators are now moving to a more mature predictive maintenance strategy.


Predictive maintenance helps reliability engineers reduce maintenance costs and unplanned downtimes by predicting failures long before they happen. Analyzing large amounts of sensor data from equipment and merging that data with business information can yield insights never before possible.


What’s more, by augmenting existing service processes with remote diagnostics, equipment manufacturer can better understand root-cause failures and improve product quality. They can also deliver differentiating and higher-margin services to their customers.


For example, one SAP client transitioned from merely making equipment to offering equipment as a service in a pay-per-use scenario. In the past, the company made and sold industrial air compressors. Today, it still makes the compressors, but its primary offering is the compressed air itself. Rather than buy the machines, its customers pay for the compressed air the machines produce.


But the only way the company could implement this innovative business model is through remote service management. This approach optimized service processes to achieve competitive advantage and more profitable service revenues.


Another SAP client, a leading provider of transportation services, dramatically improved the reliability of train operations and thereby improved customer service. Today, the company combines IoT sensors to capture 700 terabytes (TB) of data with advanced analytics to define business rules that drive predictive maintenance processes. Expected result is the reduction of its 1.3 billion annual maintenance costs by at least 8 percent.


Integrating Data for Business Results


Imagine if you could achieve similar results in your organization. Fortunately, the technology to achieve these outcomes is increasingly available.


The cost of IoT sensors has decreased dramatically over the past few years. The wireless services to connect sensors with centralized data repositories are becoming commoditized. Cloud-based infrastructures, which minimize capital expenditures and rationalize operational expenditures, are available around the world. And an in-memory computing platform that enables real-time data analytics is becoming a business requirement across industries.


Manufacturers now need to integrate these technologies into their business processes. It’s not enough to implement technologies standalone and expect results — because operational data doesn’t necessarily tell you which actions to take to achieve transformational improvements. Integrating shop-floor data with business information and processes is where you can achieve real value.


At a tactical level, you can begin to automate parts replenishment and service dispatch, dramatically reducing maintenance costs and increasing uptime. At a strategic level, you can begin to achieve business insights that lead to processes and models that help you outmaneuver the competition.


Fortunately, predictive maintenance and service needn’t be a Bing Bang approach in which you bet everything on an uncertain outcome. Start by collaborating with your CTO, your lines of business, and your maintenance operations to identify specific use cases that will generate the most business value. As you gain experience, you can move on to projects that involve more complexity but that promise even greater results.

Digital Transformation in Asset Management – Connect, Collaborate, Predict, and Simulate


Join us in The Hague on November 3–4, for a unique mix of SAP solution insight, real-life customer case studies, and networking opportunities with experienced practitioners from a diverse range of asset intensive organizations.

We are delighted to announce that the agenda for the International SAP Conference on Asset Management is now available for download. The unique format of this event allows you to meet with business leaders and learn from a diverse range of SAP customers, such as Trenitalia, Dong Energy, German Railways (DB System GmbH), and Royal Dutch Shell to name a few. Download the agenda now.

For the first time, this year’s conference will be part of the International SAP Conferences on Extended Supply Chain, featuring six co-located SAP conferences covering environment, health and safety, product lifecycle management, manufacturing, supply chain, and portfolio and project management. Register for one conference and move freely across all six.

Signature Banner_EAM2016.png

Event highlights include:

  • Strategic insight and road maps from SAP industry executives plus guidance and expertise from solution management at SAP
  • The chance to learn from a diverse range of customers through business-focused case studies
  • A vibrant exhibition that will feature valued SAP partners, live demos, and the opportunity to meet privately with our executive team and global solution experts
  • A networking and evening event providing an opportunity to network with peers, SAP leadership, and valued partners
  • Dive deeper into the topics during the pre-conference workshops, on the morning of Thursday, November 3, to gain a comprehensive understanding of the solutions available, best-in-class approaches, and useful takeaways

This annual event presents a world-class networking and learning opportunity.

Registration is now open. Be sure to secure your place now and remember, registration for one event gives you the opportunity to move freely across our International SAP Conferences on Extended Supply Chain.

Please feel free to contact the event team at or +44 121 200 3810 should you have any questions.

We look forward to seeing you and your colleagues in The Hague!



as you are aware within EAM we are using extensively the enterprise search capabilities


you find these within Innovation Discovery



As we got quite some questions from the customers how to set up Enterprise Search we now created an How To Guide which hopefully answers most of your questions how to set up / improve  this powerful search to suite the users need


How-To Guide Enterprise Search in EAM




this  brief blog is dedicated to EAM planers who often miss the capability to copy components within the plant maintenance order.


This has been an missing quite some time and is available Now within the EAM Web User Interface.


This new feature is all about simple user Interaction and ease of use with the following benefits

  • No retyping of vendor specific attributes like contract number , contract item , supplier
  • No retyping of user / order specific attributes unloading point, recipient
  • No retyping of component longtext


via this new features planers can now work more efficiently.


You find this new feature  in Innovation Discovery under the Innovation

"Enterprise search" functionality plus Master Data Information Center within the SAP Enterprise Asset Management solution"

here you find:

  • Demo
  • Screenshot
  • PDF Document summarizing the innovations and how to activate


i hope you enjoy this new feature





SAP is attending the Esri User Conference and showcasing spatial solutions - also in the business context of SAP EAM. Please read this blog.


About BPML in SAP PM

Posted by PS R Jun 13, 2016

Hi All,


Within this blog,I intend to share in brief on "Business Process Master List" in SAP PM. This will guide on how to prepare a BPML and it will be useful to all.


Business Process Master List SAP PM
Business ScenarioBusiness ProcessesProcess StepTransactionActivity
Master Data
Functional LocationCreate Functional locationIL01IL01,02,03_ Create-change- display Functional Location.Doc
Change Functional locationIL02
Display Functional locationIL03
List Display - Functional LocationIH06IH06_List Display- Functional Location.Doc
EquipmentCreate EquipmentIE01IE01,02,03_ Create-change-displayEquipment.Doc
Change EquipmentIE02
Display EquipmentIE03
List Display - EquipmentIH08IH08_List Display-Equipment.Doc
Work CenterCreate WorkcenterIR01ir01,02,03_Create-change-display Work center.Doc
Change WorkcenterIR02
Display WorkcenterIR03
Bills of MaterialsCreate Equipment BOMIB01IB01,02,03 _ Create Equipment  BOM
Change Equipment BOMIB02
Display Equipment BOMIB03
Create a functional location BOMIB11IB11,12,13_ Functional location BOM
Change a functional location BOMIB12
Display a functional location BOMIB13
Plant MaterialCreate Material MM01MM01.02.03Create-Change-Display Material .Doc
Change materialMM02
Display material MM03
Measuring PointCreate a measuring pointIK01IK01- create measuring point
Create notificationIW21IW21,22,23_Create Notification
Change notificationIW22
Display notificationIW23
Maintenance Order
Create Maintenance orderIW31IW31,32,33_Create Order
Change Maintenance orderIW32
Display Maintenance orderIW33
Preventative Mantenancepreventive maintenance
Create General Maintenance task listIA05IA05-Create General maintenance task list.Doc
Create a functional location tasklistIA11IA11-Create functional location Task list.Doc
Create a equipment tasklistIA01IA01-create equipment task list.Doc
Created single cycle planIP41IP41-Single Cycle Plan.Doc
Create a strategy planIP42IP42- Strategy based Plan
Create a multicounter planIP43IP43- Multi counter plan
Schedule Preventive maintenanceIP10IP10_Schedule maintenance plan
List of Notification ( Multilevel display )IW30
List of Orders ( Multilevel display )IW40
PMIS - Damage AnalysisMCI5
PMIS - Breakdown analysisMCI7
PMIS - Cost AnalysisMCI8
Period End Closing
Actual cost determinationKG12
Settlement of orderKO88





With Regards,



This subject is of a frequently asked nature and the documentation of knowledge I have on the subject, has been pending since long. When I rebuilt the first infostructure (S070) around 3years ago, my learning started on this.  As you know learning does not happen in a single event, it took considerable time to know about various aspects of LIS rebuilding. I had been replying to queries with the then knowledge I had. I delayed documenting of the same until now, with an objective of content enrichment. The stuff here answers the FAQ, most of our SAP-PM users / consultants ask about.

So the objective is to

Share my knowledge about how I rebuild SAP-PM infostructures whenever need arises.


I understood the LIS tables this way:

  • LIS, namely the Logistic Info Structure is a table having rows with aggregated values of data from regular tables.
  • Means, when users create Notifications, each Notification data is stored in tables such as QMEL, QMFE, QMSM, QMUR, QMMA and so on, as one row for each Notification. Similarly in case of Orders the data is filled in tables AUFK, AFIH, AFVC, AFRU and so on. These are the regular tables I am referring to as.
  • Now about how the LIS is related to these tables? For example my QMEL table is having 10,000 rows of Breakdown Notification, which were created on say 100 Equipments, then the related LIS namely S070 will be containing the summery data for these 100 Equipments month-wise. Means here the rows will far less than 10,000, because these give Equipment-wise totals for a period. Hope you could follow.
  • And then, how this LIS table is filled? Beginners often expect to see the data changes in LIS related tcodes (PMIS reports in our context) as soon as a Notification attains NOCO. But it does not happen so. A standard LIS update frequency is set via tcode OMOS which usually is Monthly. We can change it to as frequent as Daily in these settings. (But it is a rare practice to alter).
  • Here comes the need of Re-build.
    • Suppose there is a business requirement in the last days of a month to see the upto-date PMIS reports on Breakdowns like MCJB, MCJC, MCI4 etc. including the current month then, I would need to update the LIS S070 manually.
    • OR if I doubt inconsistencies in the data displayed by these PMIS tcodes then I would need to rebuild the corresponding LIS.

           In cases like these the present post helps.

  • And most importantly, the rows of a LIS with version value '000'  only are considered for the PMIS reports. (This applies to LIS based reports of other modules also)



The Objects of Re-building Infostructure in SAP-PM:

The tcodes involved here are OLPM  and  OLIX .

Before we see what these tcodes are about, we see the LIS list relevant to SAP-PM. These are:


(Expecting not to receive any queries here on specific LIS of the above list, as this is not the present topic)


  • OLPM is a tcode used to set-up a version for PM Infostructures whose list is shown above. Now we see what is a version in LIS table:
  • A version is a 3char field in the LIS table. Rows with version value '000are meant for reports. In the process of rebuilding, often we create temporary versions with values like '&(0' , '&(1' .  I repeat here, for PMIS reports only the rows with version value '000' matter. There is no role of rows with version values other than '000'  those are existing in the LIS table.
  • Coming back to OLPM tcode, it is a tool to set up a version --> A temporary version or a reports version ('000').


Then tcode OLIX is used to:

  • Delete a version from a Infostructure. (Option Delete version)
  • Copy a source version to a Target version. (Option Copy version)
  • Copy a source version to a Target version and at the same time delete the source version. (Option Copy + delete)


OLIX tcode is common across LIS of all SAP modules for the purpose of above listed functions, but OLPM is exclusively for SAP-PM and every LIS of other modules will have its own tcode equivalent to OLPM.

Now about How the LIS is re-built

Suppose I am in a situation already described as an example in the beginning, where I can not wait for OMOS scheduled update of LIS to happen and I need to do it manually say for LIS S070. (Another example situation can be an inconsistency in PMIS reports, which could force you to re-build the LIS).

Step1 OLPM

olpm best practice.JPG

  • Save under version : We gave temporary version name &(0 . In case rows already existing in LIS with this version value, system asks you whether to delete, you should accept this OR you should give a new version name such as &(1 .
  • Number of Parallel processes: Put value 1 here.
  • Block all documents : Better Tick this to prevent creation of more data by users during this re-build, which would not reflect in the PMIS reports. For example during this run with with this Tick, if you create any Notification it will be prevented from Saving by throwing an error message like this:


(It is a different mater that, such Notification numbers are lost forever. You will not find this Notification number in the system. And the next successful Notification number will be a number next to this number. )

  • Now Execute .

My experience here is that this step is the time consuming one. My system takes about 90 to 120 min for this task where the related tables have around 2000K records. Then it displays the information like this one.

olpm info.JPG

Step2 OLIX

Now you are ready with a Temporary version records to be copied to Final version namely '000'.

  • As a first step here, use the Delete version option > Give value '000'  in the field > Give value '000' in the Source version and Execute. With this act you are deleting all '000' rows from the LIS. If this is not done your present rebuild will double the statistics in the PMIS reports.
  • Now come back to the initial screen of OLIX and click on Copy + delete. In the next screen ensure that you have &(0 your temporary version in the Source version field and 000 in the Target version field. See this picture.

olix final.JPG

  • Now Execute .

This step will not take much time (under 5 min). You get information similar to the above picture in the case of OLPM.

That's all, the Re-build is complete.


I have experimented the following way by reducing the role of OLIX.


  • First I deleted the version 000 using OLIX.
  • Then I executed OLPM in the same manner as explained above buy with Save under version as '000' . This means without creating a Temporary version and copying it to Target version '000' in OLIX, we are creating '000' directly using OLPM.
  • I found no issues.
  • But it is believed that above mentioned procedure of Temporary version Copying to '000' version using OLIX is believed to be the Best practice.


I think the job is done and it is time to stop.  Hope members will be benefited with this write-up.


Here is a related post after knowing the above concepts:  Hierarchical Equipment Availability Calculations on F/Locns


Author's other posts




'Update Order user-status upon Save of Notification or Order' : Obviously we are talking about linked Notification-Order Scenario .


Dear Friends,

To my approximation I gave around 150 enhancement solutions so far while answering the queries. Among these I felt like documenting few (7 so far) because of their complex and interesting nature. I felt that the present one too is of similar nature and forum will be benefited if it is presented in the form of a technical blog.


So here it is:.......


It is about a recent call for help, where the member was seeking solution for her requirement which was expressed as:  "When particular Task  is open in the Notification, how to update the user status in IW31/32 on Service Order . Please Suggest." .

I felt this is another opportunity to contribute few lines of enhancement code to the forum. I gave the solution ie., the user-exit and the code. The code reads the System status of the Notification, if it finds OSTS (outstanding task) then it sets a specific user status (say ABCD) to the Order, obviously during Save (of Order as the requirement sounded).

The member then clarifies like: "No no, I do not want during Order Save, It to happen while Notification Save".  Then I gave that solution too, other user-exit, and corresponding code obviously.

So here we are going to see both the solutions for

  1. Updating Order User-status during Order Save if Notification has outstanding tasks. (user-exit IWO10009,  F/exit EXIT_SAPLCOIH_009)
  2. Updating the Order User-status during Notification Save if Notification has outstanding tasks. (user-exit QQMA0014,  F/exit EXIT_SAPMIWO0_020)


Before we see the individual solution codes for both of these, let's first look at the logic.

  • The start point is to know whether any outstanding Task is there in the Notification. This means Notification system status will have OSTS value.
  • To know this we need to use function module STATUS_READ. The input to this fm is Notification OBJNR value which we get from QMEL or VIQMEL table.
  • But the output from the above fm will be in code (not in text format OSTS). We need to know this code for our coding. This is known from table TJ02T when we input value 'OSTS' in the field 'TXT04'  and 'E' in field SPRAS. We get the value as 'I0158' . (This common for you, me and for all others)
  • So in the code we need to tell to update the Order status to 'ABCD' if the Notification user status code is 'I0158'.
  • We need to use function module 'STATUS_CHANGE_EXTERN' to update the Order user-status.
  • This fm works OBJNR value of Order as input which is
    • Readily available as a field in the Import structure (caufvd_imp) of the user-exit if it is case1 above
    • Need to get it from table AUFK if it is case2..
  • But this fm too needs code only not the text of user status (ABCD) to set it in Order. So how do we get it?
  • We get it from table TJ30T by inputting the Status profile of Order in field STSMA, value 'ABCD' in field TXT04 and value 'E' in field SPRAS. Let's assume we got this as 'E0004'.
  • Now we are ready for coding.



If it is the case1, ie., Updating Order User-status during Order Save if Notification has outstanding tasks, we need to put the following code in include ZXWOCU07.

And the code is:



      l_objnr TYPE j_objnr.


SELECT SINGLE objnr FROM viqmel INTO l_objnr WHERE qmnum = caufvd_imp-qmnum.



     objnr       = l_objnr

     only_active = 'X'


     status      = i_stat.


LOOP AT i_stat.

   IF i_stat-stat = 'I0158'.




         objnr       = caufvd_imp-objnr

         user_status = 'E0004'

         set_inact   = ' '.




If it is case2: Updating the Order User-status during Notification Save if Notification has outstanding tasks, we need to use the code below in the include ZXQQMU20.


The code is:



        l_objnr TYPE j_objnr.


   SELECT SINGLE objnr FROM aufk INTO l_objnr WHERE aufnr = i_viqmel-aufnr.




       objnr       = i_viqmel-objnr

       only_active = 'X'


       status      = i_stat.


   LOOP AT i_stat.

     IF i_stat-stat = 'I0158'.




           objnr       = l_objnr

           user_status = 'E0004'

           set_inact   = ' '.









  • Though already mentioned in the logic points above, I want to remind about the 'E0004' code used in the codes above. you have to get this value from table TJ30T by inputting your Order status profile in field STSMA, the user-status to be set in Order in field TXT04 and  'E'  in field SPRAS.
  • Both the codes I tested before posting to that discussion. If you are going to use, test well for its satisfactory working in the Dev servers.


.....And thus we arrive at the end of this post..




Thank you and Regards


Dear Friends,

Today I am having another piece of knowledge to preserve which is a non-routine solution worked-out while trying to help one amongst us. Let's see the What and Hows about it.



Our friend has configured a Measuring Point Category 'C'. He wants the system should allow users to Create (IK01) only Measuring Points but not Counters.


What is the issue?

Functionally this looks very much possible through the Customizing tcode OIMRC  where we can hide fields using MeasPointCategory  as the Influencing field. So he selected Hide radio-button for field IMPT-INDCT (MeasPoint is counter) for the influencing field value as category 'C' .

You might have understood that the whole exercise is to hide the Counter checkbox from IK01 initial screen. 

The result (The issue).

The Checkbox disappears only after we fill the MPT category (C) and click on the refresh button in the application toolbar of IK01 initial screen. Means user is free to create the Counter on any Mpt category inspite of efforts to hide the Counter checkbox through customizing.


So how do we achieve this?

First I explored the available IMRC user-exits but none was found fitting into this need. Then I though to explore the Implicit Enhancement Point in the IK01 program namely SAPLIMR0. After few minutes of working, I could succeed.


Here is the Solution

I created an Enhancement named ZPM_INDCT  at Line3  in the include LIMR0F18  (of the above program i.e., SAPLIMR0).. Then I put a simple code shown below  and activated the enhancement.



IF impt-mptyp = 'C' and impt-indct = 'X'.

   MESSAGE: 'Creating Measuring Point as Counter is prohibited' type 'E'.




With this code in place, when user tries to Enter inside the IK01 Create screen with Tick in the Counter checkbox and with vale 'C'  in the MeasPtCategory field, he gets an error pop-up shown below and he will have to exit, rerun IK01 and correct himself.



It is a very simple job for a beginner of ABAP. . For the convenience of implementation I am giving herewith  the implementation screen of the Include.




So that's all. Hope this piece of knowledge will be found of help to few members.

Author's other posts







As a functional, its always important to know the tables in SAP. Specifically when it comes to support projects, it becomes more challenging to find the exact table where your transaction data gets stored. There is an excellent document by Maria on this topic.How to find ABAP Tables and Fields


Through this blog, I would like to share one simple way to know the tables which get populated when you perform any transaction in SAP.


What do you need to know?


You just need to know Archiving objects in SAP PM/EAM. I have listed them as below


PM_IFLOTFunctional Locations
PM_IMRGMeasurement Documents
PM_MPLANMaintenance Plans
PM_NETObject links, master data
PM_OBJLISTSerial Number History
PM_ORDERService and Maintenance Orders
PM_QMELMaintenance Notifications




For analysis on some issue, you want to know all CO tables which are updated once you do Time confirmation OR perform goods issue against an order?


Lets find it using SARA


1) Execute T-code SARA




2) Enter Archiving object PM_ORDER. Press Enter & Click on Database tables.




3) As shown in above screen, you will see two radio buttons Tables with deletion & All tables.Check & Browse the list of tables for relevant information based on table descriptions. In our example scenario, we need to know CO tables. Following screenshot shows some of the CO tables. LIkewise you can scroll down for more list of tables. & check these tables in another session by accesing SE16N transaction.




Advantages of using SARA for finding the tables


1) As a functional, you can troubleshoot any process related issues, by checking its relevant tables from the complete list using SARA

2) If you are writing a Functional Specs, you can get detailed information on table & articulate your FS in order to have effective & time saving communication

3) Easy way to find object linked tables when it comes to cross-modules integration.

4) As shown in above screenshot, you can take a backup for these list of tables for your future reference.


Hope you find it useful for your day to day activities in your SAP projects.


Good Luck.


Best Regards,


Hello Friends again,

Thought of preserving a solution evolved while helping a member in a recent discussion



To Control Order Release Authorizations using user-exit IWO10002 .

Order Releasing authorities at various levels will have their own limits for Releasing an Order (sometimes called DOP or Delegation Of Powers). Here we are discussing a situation where the Plan Costs should not go beyond the respective limits assigned to the users for Releasing an Order.



The Solution:



Create a Ztable (say ZPLANCOST) wtih TMG (Table Maintenance Generator to update the Table Entries)


Do not forget to enter the currency Reference fields as shown below.



Have the entries, UserIds vs the Allowed limit of Plan Costs for Release. like shown below


(The column heads User Name and Period value are coming from the data-elements we used in ztable.)




Put this code in include ZXWO1U02 of user-exit IWO10002.

DATA: v_stat TYPE char1.
SELECT SINGLE iphas FROM afih INTO v_stat WHERE aufnr = caufvd_imp-aufnr.
IF v_stat = '0'.
DATA:v_cost     TYPE bp_wpl,
        v_wrt      TYPE bp_wpl,
        v_wrt01    TYPE bp_wpl,
        v_wrt02    TYPE bp_wpl,
        v_wrt03    TYPE bp_wpl,
        v_wrt04    TYPE bp_wpl,
        v_wrt05    TYPE bp_wpl,
        v_wrt06    TYPE bp_wpl,
        v_wrt07    TYPE bp_wpl,
        v_wrt08    TYPE bp_wpl,
        v_wrt09    TYPE bp_wpl,
        v_wrt10    TYPE bp_wpl,
        v_wrt11    TYPE bp_wpl,
        v_wrt12    TYPE bp_wpl.
SELECT SINGLE cost FROM zplancost INTO v_cost WHERE uname = sy-uname.
SELECT SINGLE wrt01 wrt02 wrt03 wrt04 wrt05 wrt06 wrt07 wrt08 wrt09 wrt10 wrt11 wrt12
FROM pmco INTO ( v_wrt01, v_wrt02, v_wrt03, v_wrt04, v_wrt05, v_wrt06, v_wrt07, 
v_wrt08, v_wrt09, v_wrt10, v_wrt11, v_wrt12 ) WHERE  objnr = caufvd_imp-objnr AND 
wrttp = '01'.
  v_wrt = v_wrt01 + v_wrt02 + v_wrt03 + v_wrt04 + v_wrt05 + v_wrt06 + v_wrt07 + v_wrt08 +
  v_wrt09 + v_wrt10 + v_wrt11 + v_wrt12.
IF v_wrt > v_cost.
     MESSAGE: 'Plan costs exceed your DOP limit, Order can not be released.' TYPE 'W' DISPLAY LIKE 'E'.

With this code in place, when the user ABCD_EFGH tries to release an Order (with CRTD status) where the Plan Cost is more than 5000 the system will throw below error (when clicked on REL flag).


Means the user ABCD_EFGH will not be able to release the Order.





We are talking about Plan costs, means we are talking about things after the Order is Saved. If someone tries to Release at the time of Order creation itself with excessive plan costs the code will not stop.


For  this purpose  put the following code also after the above code.

IF sy-tcode = 'IW31'.
MESSAGE: 'Order can not be released while creating. Release Order thorugh ''IW32''.' TYPE 'W' DISPLAY LIKE 'E'.


This throws the error below in the status bar if some one tries toRelease the Order in IW31 itself..



Because we have TMG for Ztable, we will be able to maintain the Table entries in the Ztable (Add, Modify or Delete) in PRD client through SM30.

This solution evolved while my answering the discussion Using Permits to form Release Strategy   The code in the present blog has been improvised to take care of more possibilities of Plan costs.




  • I feel that one valuable thing in the above code is when a member studies and understands the code, he/she understands the table PMCO and its cost fields.
  • These solutions often become significant not for their being able to directly applying and resolving issues, but for triggering ideas and adopting them to our own similar issues. So look for the applications in your own area which could make use of the above solution.




In another case, one of our scn friends wanted a solution 'To stop Release of Refurbishment Order when its Plan cost exceeds 60% the Cost of New material' . The solution code was worked-out, tested and given to him here: Restrict release of refurbishment order, if the Plan cost exceeds 60% or more than cost of new equipment.



Then there was a challenge. The case is :

Order was Created with Components and not released. Now in IW32, if user makes changes to components tab like altering quantities OR adding more component lines the, this will immediately not reflect on Plan costs. So Order will get Released if the new Plan Costs (to be after save) is more than the limit of the user. To take care of this the following code needs to be put after the above codes.

IF sy-tcode = 'IW32'.
   TYPES: BEGIN OF ty_resb,
            matnr TYPE resb-matnr,
            rspos TYPE resb-rspos,
          END OF ty_resb.
         wa_resb LIKE LINE OF it_resb,
         lines   TYPE i,
         lines1  TYPE i.
   SELECT * FROM resb INTO TABLE it_resb WHERE aufnr = caufvd_imp-aufnr.
   DESCRIBE TABLE it_resb LINES lines.
   FIELD-SYMBOLS: <fs_resb> TYPE any.
   DATA: BEGIN OF i_resb OCCURS 0.
           INCLUDE STRUCTURE resb.
   DATA:END OF i_resb.
   ASSIGN ('(SAPLCOBC)resb_bt[]') TO <fs_resb>.
   i_resb[] = <fs_resb>.
   DESCRIBE TABLE i_resb LINES lines1.
   IF lines <> lines1.
     MESSAGE: 'First Save the Order before Release.' TYPE 'W' DISPLAY LIKE 'E'.
     SET SCREEN 3000.
     LOOP AT i_resb.
       READ TABLE it_resb INTO wa_resb WITH KEY rsnum = i_resb-rsnum rspos = i_resb-rspos.
       IF sy-subrc = 0.
         IF wa_resb-bdmng <> i_resb-bdmng.
           MESSAGE: 'First Save the Order before Release.' TYPE 'W' DISPLAY LIKE 'E'.
           SET SCREEN 3000.
           LEAVE SCREEN.

This code throws the error below in the taskbar if someone modifies the data in Components tab and tries to release a this point. (Code has taken care of Quantities and new lines, additional requirement if any to be addressed by you).

Capture (1).JPG

...And thus this post started very simple and evolved into a complete solution.

Author's other posts





SAP Predictive Maintenance and Service, on-premise edition, delivers on the potential of the Internet of Things (IoT) and Big Data with out-of-the-box business applications to improve the health of assets and optimize their operation and servicing.


It runs on an extendable, high-performing data processing platform, which can process huge amounts of fused Information Technology (IT) and Operational Technology (OT) data using sophisticated machine learning algorithms. The standard product offers a flexible extensibility concept that allows you to adopt the capabilities you need.

SAP Predictive Maintenance and Service, on-premise edition, brings the power of Big Data and IoT into existing service processes to enable manufacturers of equipment to provide differentiating and higher margin service offerings to their customers and at the same time improve product quality by better understanding root causes of failures.

The IoT Applications of Asset Health Control Center and Asset Health Factsheet comprise the main components of SAP Predictive Maintenance and Service, on-premise edition.


Blog image_1.png


The Asset Health Control Center allows users to analyze a ‘fleet’ of assets to monitor health and prevent failures and initiate preventive counter measures that trigger service or maintenance notifications, orders or requests to enable a closed-loop maintenance and service process.


The Asset Health Factsheet provides a 360° view on a single asset. Together they provide the holistic management of asset health and decision support for maintenance schedules and resources optimization based on health scores, anomaly detection, spectral analysis and machine learning.


Blog image_2.PNG


Operationalized Analytics and Data Science Services

Insight Providers are micro-services that provide analytical and predictive functionalities that are consumed by applications and are shipped as part of the SAP Predictive Maintenance and Service, on-premise edition. Insight Providers consume data from the fusion services and implement the business logic to expose the insights. Customers can productize their domain knowledge as custom Insight Providers to enhance their competitive edge.


Applications are the user interaction shell or ‘mash-ups’ of Insight Providers, which each have one particular functionality, their own UI, and are technically built as stand-alone “micro services”. Customers or partners can develop custom applications and custom Insight Providers on top of the open and extensible SAP Predictive Maintenance and Service, on-premise edition platform.

SAP Predictive Maintenance and Service, on-premise edition, is a scalable, extensible and integrated solution built on a high-performing big data platform that provides:

  • IoT connectivity to enable device management, monitoring and data transfer utilizing various protocols
  • Scalable and cost-effective storage for time series data, cleansing and management utilizing ‘schema-on-read’ which results in minimum effort and maximum flexibility when uploading data
  • Distributed and fault-tolerant processing of batch and streaming data in analyses
  • IoT base services that includes sophisticated predictive modeling and analysis tools for the whole lifecycle of dealing with statistical models, discovering the data, “learning” such models, relearning them and scoring assets
  • Process integration with existing business systems to drive insight to action

Blog image_3.png

SAP Predictive Maintenance and Service, on-premise edition, goes far beyond traditional products and offers a rich set of analytical features, machine learning capabilities and functions for display to apply predictive insights in real time to optimize asset maintenance and servicing. The integration into SAP’s business suite makes it unique and offers customers a complete process from Thing to Insight to Action.



For more, please have a look at:

Technical Objects/Master Data :

Technical Object is a generic term for,

                     1)   A component in a technical system on which a maintenance task is performed (functional location).

                     2)  A physical object that is maintained as an autonomous unit (equipment).

In Other words, Technical Object is nothing but an object which requires Maintenance. In Plant maintenance basically there are two main types of Technical Objects.

Technical objects are maintained in the SAP System in separate master records. If you want to represent part of a technical system as a technical object, you can:

    a) Manage individual data.

    b) Perform breakdown, prepared, or planned maintenance tasks.

    c) Record maintenance tasks that have been performed.

    d) Collect and evaluate technical data over long periods of time.

    e) Track the costs of maintenance tasks.

    f) Track which piece of equipment was installed when at which functional location.

1) Functional Location :

The business object functional location is an organizational unit within Logistics, which structures the maintenance objects of a company according to functional, process-related or spatial criteria. A functional location represents the object at which a maintenance task is to be performed. A functional location represents system area at which an object can be installed. The objects that can be installed at functional locations are called Equipment.

You create a functional location in following cases,

a) When you have to perform maintenance task on a particular part of your complete technical system and record the same.

b) When you have to track the maintenance history of a particular technical object.

c) When you want to represent a major equipment which consist of many small equipment.

d) When you have to monitor Maintenance  Cost.

1.1) Functional Location Category : An indicator that let you differentiate functional locations according to how they are used. Each location category required in the system is described using parameters. The number of functional location categories in a system depends on the number of parameter constellations required

1.2) Structure Indicator for Functional Locations : Numbering of functional Locations will be based on the structure indicator. The Structure Indicator defines the format of the code used to describe the Functional Location hierarchy. The Structure Indicator determines the edit mask and the number of the hierarchy levels when you create functional location structures. The edit mask defines:
  a) the total length of the functional location number.
  b) the lengths of the individual blocks of the functional location number.
  c) the characters allowed.

Structure Indicator



Structure Indicator

Edit Mask


Hierarchy Level

1          2       3         4          5       6          7         8







2) Equipment :

Equipment is a representation of every important and expensive  individual component of a machinery such as Pump, Engine, Motor, Tire etc.

The business object "Equipment" is an individual, physical object that is to be maintained independently. It can be installed in a technical system or part of a technical system. We can manage all types of objects as pieces of equipment. Equipment can also be managed as "assets" in Asset Management.

All types of device as pieces of equipment (for example, production utilities, transportation utilities,test equipment, production resources/tools, buildings, PCs) can be identified as Equipment.

Each piece of equipment is a separate master record and an individual maintenance history can be set for each one. The system manages the master records for pieces of equipment at client level. This means that their numbers are valid for the entire corporate group. This will facilitate,

     a) Defining breakdown / Preventative maintenance tasks.

     b) Measuring specific parameters.

     c) Classification data.

     d) Collection, evaluation, retrieval of data including cost of maintenance, history and usage.

     e) Spare parts planning.

2.1) Equipment Categories : An indicator used to differentiate pieces of equipment according to its characteristic & usage. In SAP, Equipment categories control the number assignment of Equipment. There are two possible options when you are creating a piece of equipment:

a) Internal number assignment

The numbering shall be internal (SAP generated internal number) and is limited to 18 characters.

b) External number assignment

You can enter your own equipment number as per the configured number ranges in the SPRO settings.

2.2) Technical Object Type  : It is the sub-division of the equipment category, which allows a more detailed description. This allows, grouping of pieces of equipment that have the same use. These object types can be alphanumeric.

3) Bill Of Material :

Bill of material is a term used for spare parts which are to be replaced but no history is to be maintained. There are different types of BOM - Production BOM, Maintenance BOM, Costing BOM, Construction BOM. etc. These types of BOM are used for different purpose based on Enterprise business requirement.

In Plant Maintenance, we use Maintenance BOM which is devided into three subcateogires such as

Functional Location BOM, Equipment BOM and Material BOM.

Other Master data in SAP PM

Other than Functional location, Equipment and Bill of Material, there following important master data items in SAP PM module.


1) Task list : List of maintenance task to be performed by a technician to maintain a particular technical object.

Maintenance Task Lists describe a sequence of individual maintenance activities which must be performed repeatedly within a company. These are the master data for Preventative Maintenance Process. There are three types of maintenance task lists that can be distinguished from one another using indicators:

Equipment Task List

Equipment task lists have a specific link to a piece of equipment. Using equipment task lists,

you can centrally define and manage maintenance tasks for your pieces of equipment.

Functional Location Task List

A functional location task list is assigned to a specific functional location. Using a functional

location task list, you can centrally define and manage maintenance tasks for your functional


General Maintenance Task List

General maintenance task lists are task lists that are used for general maintenance tasks.

They do not refer to a specific technical object. Using general maintenance task lists, you can define and manage sequences of maintenance tasks centrally, and use them for


maintenance planning.

2) Measuring Points : Measuring points are physical and/or logical locations ( of a technical object) at which a particular condition is described − for example, the temperature, pressure etc. You can enter measurement readings for each object to be maintained.

3) Measuring Counters : These are resources that enable you to represent the wear and tear of an technical object or the consumption or reduction in its useful life. E.g. Running hours of a machine, Mileage indicator of a vehicle. You can enter measurement or counter readings for each object to be maintained.

Other items like maintenance plans, measurement documents we will cover in Maintenance planning process page.

4) Catalog profile/Code groups /codes : 
Catalog Profile is a combination of code groups from several catalogs. Catalog is a compilation of code groups with related contents.

Code Groups consists of data on problems, damages, causes and Corrective action to be taken or taken is recorded in the system

Codes are the means with which this data is managed in the Plant Maintenance (PM) application components. There is a corresponding code for each set of findings. The codes are grouped together in code groups according to particular characteristics.

5) Warranties : Warranties define the scope of the services that a company performs at a technical object in the event of damage or problems. You can assign warranties to pieces of equipment, functional locations, or serial numbers. When warranty is assigned to a technical object, The system can automatically check when processing a maintenance notification/ order.

6) Classification of Technical Objects : Classification consists of Class and Characteristics. Its basic function is as a repository for all the characteristics the objects can have. These characteristics can then be used to group similar objects together in classes. Classification system is used to maintain technical parameters (as characteristics) of a technical object and to group similar objects in a class. Characteristics will have values for the relevant object. Classification helps in identifying similar objects quickly & easily

Thanks & Best Regards,

Amol Khairnar

SAP EAM - SAP Enterprise Asset Management, SAP Plant Maintenance


Filter Blog

By author:
By date:
By tag: