In  the area of Enterprise Asset Management SAP just recently kicked off a new customer connection cycle on February 2nd.

 

The project workspace is now active for collection of improvement requirements until April 16th, 2016

 

Find more information and additional links here:

 

https://influence.sap.com/ct/ct_a_view_blog.bix?c=BDCE9FC5-DCD4-45B7-939A-31DC30A49673&bID=916FFD27-3DA7-4D04-8CF3-4D9F13628A54

Do you have ideas on how SAP can add improvements to Plant Maintenance transactions?

 

Login with your S-user account and make your request or vote on other peoples request.

 

https://influence.sap.com/EAMPMPRM

 

EAM solution helps organizations efficiently and sustainably manage the whole lifecycle of physical assets. Tools for managing production equipment, roads, machinery, vehicles, facilities, and power grids can help them reduce operating costs, minimize risk, and manage capital expenditures more effectively.

 

 

 

 

While the topic of predictive maintenance (PdM) has received heightened recognition because of new IIoT-enabled machine intelligence, it can be easy to get trapped in the belief that PdM and Asset Performance Management (APM) are the same.

 

It is understandable because definitions around APM can be vastly different depending upon who is supplying the definition. However, by most accounts, PdM focuses on the predictability of potential asset failure and equipment reliability, where APM looks at risk factors and performance interdependencies beyond the machines themselves.

 

According to ARC's definition for APM, "Asset performance has many dimensions including financial, health & safety, environmental, and sustainability.  Achieving these goals requires a collaborative effort by all groups involved in the use and care of the facility to manage the interdependencies that constrain performance.  To do this, they need an asset information management system that can deliver complete, accurate, timely information to APM workflows and enable seamless sharing of information across all APM stakeholders, internal or external to the organization."

 

Consistent with ARC's approach for APM, Asset-intensive industries like Oil and Gas, have always focused on the much bigger operating picture by incorporating People, Process, and Assets into a well-defined, highly efficient and proactive holistic management approach referred to as Operational Integrity.

 

While it would be silly not to recognize that improved machine intelligence and connectivity does positively impact PdM operations, it would be equally foolish to presume that improved machine intelligence by itself, provides the greatest business value for Asset Performance Management overall.

 

Looking closer at ARC's definition of Asset Performance Management,  let's focus on three of the areas they consider as critical success factors:

 

1) " manage the interdependencies that constrain performance."

2) " deliver complete, accurate, timely information to APM workflows."

3) "seamless sharing of information across all APM stakeholders, internal or external to the organization."

 

Manage Interdependencies that Constrain Performance

 

Until the day arrives, when machines operate other machines without people, Companies must manage the risk and performance dependencies, between how their people, processes, and equipment work together. While machine automation is eliminating many jobs, many of these machines still involve workers tied into other processes and performance dependencies beyond the machines themselves. Whether a machine stops as a result of a mechanical failure or, due to a related employee or environmental safety incident, the result is the same for a company- lost productivity and added cost. The same applies when that same equipment is subject to local operating permits for reporting air emissions or Wastewater. Failure to comply with operating permits could result in a company losing its license to operate, and if not managed efficiently, the permits process can be quite costly to administer for these businesses.  Not fully capturing, analyzing and managing risk and performance dependencies between machines, people, and processes, place a company's operations at risk and increases operating costs. When most catastrophic failures occur, it is when multiple and seemingly unrelated factors and processes fail together.

 

Moreover, as we move forward, a large part of a company's future asset performance management strategy must be tied to the recruitment, training and retention of its workforce. Manufacturers face two significant challenges impacting its future operations- a knowledgeable workforce leaving the market and the need for a new generation of workers and skills sets required to run the digitize manufacturing operations of the future. How well a company can balance these two shifting market dynamics will ultimately impact the success of its future operations.

 

Deliver complete, accurate, timely information to APM workflows

 

While the term Integration often is overused, what separates genuinely integrated solutions from other non-integrated reporting based solutions, is the ability to trigger a meaningful workflow.

 

In the prior example, let' suppose that an accident had occurred, which resulted in damage to the equipment and an employee injury.

 

From a required workflow perspective, new actions need to occur to document and correct that occurrence.

 

  • The incident and factors leading up to that incident need capturing.
  • All the associated financial costs involving the people and impacted equipment need to be documented and updated.
  • Dependent on the severity of the incident, OSHA incident reports would need to be created and filed.
  • An equipment lock tag is required, and new maintenance requests need to execute for repairing the equipment.
  • The maintenance work needs to be scheduled, and the maintenance repair and safety instruction provided for fixing that piece of equipment.
  • Spare parts may be required, and inventory needs checking and potentially updated.
  • Companies might not have the right technician skills in-house to repair the equipment so they may have to look outside the company for contract labor.

        Etc., etc.

 

Supported by predefined business rules and integrated digitized systems between maintenance, finance, HR, procurement and EH&S related processes, the required workflow can be triggered automatically. In the absence, of having this integration, these APM related procedures would need to be separately managed, which increases operating costs and risk of non-compliance with company operating policies and regulatory reporting requirements. Well-defined end to end processes supported by digitized, integrated systems, reduces operating costs and improves APM joint business collaboration within and outside the company.

 

Seamless sharing of information across all APM stakeholders, internal or external to the organization 

 

The part of the statement above, I will focus on, is related to sharing information "external to the organization."  In the digital economy, companies must think and operate more broadly. Business processes including APM, are increasingly becoming intertwined with an organization's Business Ecosystem. Companies must learn to manage their business as part of a larger network, and APM is no different.  Being able to operate successfully and leverage a company's entire Business Ecosystem is why having a digitized operating core is so critical. A digital operating system empowers companies to create the right kinds of connection points that seamlessly integrate internal and external stakeholders, supporting APM processes, across an enterprise's entire extended supply chain.

 

While improved machine intelligence, Big Data, and the IIoT are very positive developments for PdM operations, PdM by itself, can't sufficiently address other non-machine related risk and performance interdependencies, required for overall APM success.

 

I invite you to learn how SAP customers are better managing APM performance and EH&S risk more holistically and efficiently, during these upcoming conferences:

 

 

We look forward to meeting with you and helping you on your digital journey.

 

Warmest regards,

 

Harry Blunt

Marketing Director, N.A. Extended Supply Chain Program Lead

Automatic Defect Notification create for Test Equipment with catalog codes during Inspection LOT RR 


Objective: - Whenever we are doing the result recording in Inspection Lot for Test equipment through calibration process and getting the negative result, whether it could be qualitative or qualitative result in the system will automatically open the defect notification screen with concern catalog codes.

And we can select the proper cause and defect during the Rejection of Result.

 

Following configuration and Transaction steps is given below.


Step 1 - Define catalog Profile for Test Equipment

 


1.PNG

2.png

3.png

 


Step2- Maintain Catalog code group with cause, damage, Activities & etc.


4.png

5.png


6.png


7.png


Step. - 3 Define Defect Recording for Notification

8.png

9.png

10.png

11.png

Assign Report type to the Work Center for Plant wise

12.png

As above configuration setting,after this one complete all master data 

  • Equipment master
  • MIC
  • Selected set
  • UD code
  • Task List
  • Maintenance Plan & etc.


Step 4. - Create Calibration Order


Create calibration order and assign the Task List

13.png

14.png

Step 5. – Check Inspection Lot and DO the Result Recording

15.png

16.png

17.png

 

 

18.png

19.png

20.png

21.png

Step 6. – Check Defect Notification


22.png

 

After receiving the defect Notification, Quality people will perform the calibration maintenance of Test Equipment and again will do the RR for the same.

And During the Usage decision he will decide whether it could be further used or Reject.

 

As above process, its complete calibration process for defect notification that captured during Inspection Lot RR.

 

Hope that this document would be helpful for your better run the calibration process.

 

 

Thanking You,

Akhilesh Singh

Identifying the true cost of owning an asset and maintaining it throughout its entire life cycle is one of the most important aspects that organizations struggle with!

 

This is why we identified this as one topic for our Customer Influence Program. SAP's Influencing Programs Customer Influence gives you the opportunity of interacting directly with SAP development teams. As a part of this SAP´s Influencing program the Customer Engagement Initiative (CEI) is a structured approach for close end-to-end collaboration between customers and SAP teams during the full development cycle for planned products and solutions and new releases or enhancement packages.

 

CEI offers an opportunity for customers to influence SAP development in collaboration with their peers. This helps SAP create products and solutions that meet our customers' needs, reflect best business practices and realize process and technology innovations. We are searching for customers supporting the project "Risk-Based Asset Life Cycle Costing".

 

The goal of this project is to document the requirements of maintenance planners, maintenance managers, financial controllers, and purchasers who help optimize life cycle costs and provide visibility into the inherent risks and reliability. This project will also focus on preparing a process map and respective use cases for a risk-based asset life cycle costing solution.

 

The Role of the customers in this project:

Since life cycle planning is a very critical process, it requires expert maintenance planners whose tasks include forecasting maintenance budgets, planning shutdowns or turn around operations, and preparing proposals to replace or upgrade assets (CAPEX/OPEX decisions). During the discussions it is also expected that a person with a good understanding of the IT system landscape is available for discussing the possibilities and helping design a reliable solution.

 

You will have the possibility to influence the solution and it´s capability by collaborating in an early stage of development.

Use the following link to read more about the project and to register for the CEI initiative:

 

 

https://influence.sap.com/51785822

 

To be part of this CEI initiative please directly connect with Rathod Hemant:  hemant.rathod@sap.com

this Blog is dedicated to the developers who focus on EAM.

Are you aware that the order/ notification APIS have been enhanced to support more functionality like setting user status and is now support Custom fields? This has been an missing quite some time and is available Now.


This has been achieved by within the Customer Connect program which we have finalized quite some time ago.
The dedicated functionality which have been delivered in Customer Connect Cycle 3 you find in the Innovation Discovery
for Customers using SAP GUI Improvements in Asset Operations Maintenance

For Customers using the new Web User Interface  Improvements in Asset Operations Maintenance

The overall improvement Note  Note 2121573 lists all the changes which have been made recently in the APi´s


  • Notification APIS: Note 2145064 Note 2108975http://service.sap.com/sap/support/notes/2215722
    • Setting user status on task level is now supported by the new RFC enabled function module IBAPI_ALM_NOTIF_TASK_CHANGE_US
    • Setting the system status Deletion Flag is now supported by the new rfc enabled function module IBAPI_ALM_NOTIF_SETDELFLAG
    • Resetting the system Status Deletion Flag is now supported by the new rfc enabled function module IBAPI_ALM_NOTIF_RESETDELFLAG
    • Custom fields which have been appended in the table QMEL and QFME can now be maintained and read . Please review   Note 2108975
      1. BAPI_ALM_NOTIF_CREATE
      2. BAPI_ALM_NOTIF_DATA_ADD
      3. BAPI_ALM_NOTIF_DATA_MODIFY
      4. BAPI_ALM_NOTIF_GET_DETAIL
  • Order APIS:  Note 2032068 , Note 2095143 , Note 2125120 , Note 1991913
    • Setting the user status on order operation is now supported via function module BAPI_ALM_ORDER_MAINTAIN
    • Setting the system status "Locked" is now supported via function module BAPI_ALM_ORDER_MAINTAIN method LOCK
    • Resetting the system status "Locked" is now supported via function module BAPI_ALM_ORDER_MAINTAIN method UNLOCK
    • Setting the system status "Technically completed"  is now supported via function module BAPI_ALM_ORDER_MAINTAIN method TECHNICALCOMPLETE
    • Setting the system status "Technically completed" as well as setting the system status of the assigned notifications to "Notification completed" is now supported via function module BAPI_ALM_ORDER_MAINTAIN method TECO_WITH_NOTIF
    • Resetting the system status "Technically completed"  is now supported via function module BAPI_ALM_ORDER_MAINTAIN method CANCEL_TECHNICAL_COMPLETION 
    • Resetting the system status "Technically completed" as well as set  the system status of the assigned notification to "Notification in process" is now supported via function module BAPI_ALM_ORDER_MAINTAIN method CANCEL_TECO_WITH_NOTIF
    • Setting the system status "Closed " which also is named as "Complete (Business)" is now supported via function module BAPI_ALM_ORDER_MAINTAIN method COMPLETE_BUSINESS
    • Setting the system status "Closed " which also is named as "Complete (Business)" as well as set the status of all the assigned notification to "Notification completed"  is now supported via function module BAPI_ALM_ORDER_MAINTAIN method BUS_COMPL_WITH_NOTIF  
    • Reset the system status "Closed " which also is named as "Complete (Business)" is now supported via function module BAPI_ALM_ORDER_MAINTAIN method CANCEL_BUSINESS_COMPLETION
    • Setting system status "Deletion Flag"  for the order is now supported via function module BAPI_ALM_ORDER_MAINTAIN method SET_DEL_FLAG
    • Setting system status "Deletion Flag"   for the order and as well as for the assigned notifications is now supported via function module BAPI_ALM_ORDER_MAINTAIN method SET_DLFL_WITH_NOTIF
    • Reset the  system status "Deletion Flag" for the order is now supported via function module BAPI_ALM_ORDER_MAINTAIN method RESET_DEL_FLAG                                                                                             
    • Reset the  system status "Deletion Flag" for the order as well as for the assigned notifications  is now supported via function module BAPI_ALM_ORDER_MAINTAIN method RESET_DLFL_WITH_NOTIF                                                                                   
    • For orders which are in status "Created" it is possible to execute the Do not Execute functionality via function module BAPI_ALM_ORDER_MAINTAIN method DO_NOT_EXECUTE
    • For orders which are in status "Created" it is possible to execute the Do not Execute functionality and also set for all the assigned notifications  the system status "Notification Completed" via function module BAPI_ALM_ORDER_MAINTAIN method DO_NOT_EXEC_NOTIF_CLOSE                                                                                                 
    • For orders which are in status Open it is possible to execute the Do not Execute functionality and also deallocate the assigned notifications from the order via function module BAPI_ALM_ORDER_MAINTAIN method DO_NOT_EXEC_NOTIF_DEALLOC 
    • Set the requirement date for an component in an BOM is supported via function module BAPI_ALM_ORDER_MAINTAIN

 

 

Within another blog which will follow I will give you insights about the changes in the order and notification API´s

 

We hope that you enjoy and use this new functionality

 

 

thanks

Stephan Bantlin

Hello friends,

Few years ago I had posted a query in scn on the subject matter, which had to be closed without solution. Same query was posted recently by one of the members, reminding me that old post of mine. Situation changed in these years. Now I am able to try and find out solutions technically wherever feasible, if they aren't possible functionally.  Present blog is about that worked-out solution for the above mentioned query and the subject line of the blog.

 

The Requirement

While creating Measuring Points (IK01) customer wants to have uniqueness of the field 'MeasPosition' (field name PSORT, also known as Sort field).

ik01.JPG


The Issue

The spro settings in the path: Plant Maintenance and Customer Service > Master Data in Plant Maintenance and Customer Service > Basic Settings > Measuring Points, Counters and Measurement Documents > Define Measuring Point Categories > ,

spro.JPG

look like achieving this requirement, but it does not. In-spite of this setting we get warning message only(shown below), when the uniqueness of this field values is violated :

and as a result, the creation of Measuring point is not prevented.

 


The Solution:

First I tried the answer to this issue using the user-exit IMRC0001. This worked good, but has an issue, because this exit triggers After Commit work. The error message we arrange in the exit code (when the uniqueness of the MeasPosition value is violated) , interrupts the Commit work of the exit, leading to a short dump under some conditions.

The effort continued for a better solution and arrived at a right implicit enhancement point in the MPt create program (IK01) namely SAPLIMR0 in the include LIMR0F1H at the beginning of the form PSORT_UNIQUE at Line 3.  The tested solution codes are given below for different situations.


Case1

If you want the standard Warning message we are getting to be converted to Error message without changing the message text, then the code:

systmsg.JPG

The error message we get in the status bar in this case is:



Case2

If you want a Custom Error message text, then the code is as under:

b.jpg

The error message we get in the status bar in this case is:


Case3

Another case, where you want to have Uniqueness check within the Measuring Point Category, say 'M' . (Error message same as Case2).

a.JPG



Now for the convenience of copying, above three codes are given below:


Case1

DATA v_psort TYPE char20.
     CLEAR v_psort.
     SELECT SINGLE psort FROM imptt INTO v_psort WHERE psort = impt-psort .
     IF v_psort IS NOT INITIAL.
       MESSAGE E140.
     ENDIF.

 

 

Case2

DATA v_psort TYPE char20.
     CLEAR v_psort.
     SELECT SINGLE psort FROM imptt INTO v_psort WHERE psort = impt-psort.
     IF v_psort IS NOT INITIAL.
       MESSAGE 'MeasPosition is not unique. This MeasPosition already exists.' type 'E'.
     ENDIF.

 

Case3

DATA v_psort TYPE char20.
     CLEAR v_psort.
     SELECT SINGLE psort FROM imptt INTO v_psort WHERE psort = impt-psort and mptyp = impt-mptyp.
     IF v_psort IS NOT INITIAL.
       MESSAGE 'MeasPosition is not unique. This MeasPosition already exists.' type 'E'.
     ENDIF.






 

 

Conclusion

As members are aware, the author believes in documenting all useful solutions worked out during replying to members queries, which builds a knowledge repository at the same time helps for quick reference in case of need. Also this way the solutions are not lost/misplaced.

 

Author's other posts

 

Thank you !

Regards

KJogeswaraRao

If you'd like to know how the creation or changes of master data such as technical assets or equipment can be governed with SAP Master Data Governance, you may check the SAP MDG enterprise asset management extension by Utopia. A nice video outlines how it provides maintenance pros and other asset management stakeholders with the relevant information, tools, and process control. Just click the graphic to watch it.

EAM.jpg

 

Best,

Markus

Hello Friends,

As the title tells, we are going to discuss here the two queries involved:

  1. Whether we can default values in the Notification and Order header fields?
  2. If we can, how to do it ?

 

First we see the case of Notifications:

The answer to the first question is 'YES'. SAP has provided exclusive user-exit for defaulting values while creating a Notification. The user-exit is QQMA0025. Every user-exit comes with a Z-include where we can write our code which the standard program i.e, Notification create program here, obeys.

 

Now the second question, How to do it?

It is very simple. Example: suppose you want to default planner-group value as 'XYZ' and Notification short text as 'HVAC Repairs' for Notification type 'HV' then the code you need to put here is:

------------------------------------------------------------

   IF i_viqmel-qmart = 'HV'.
     e_viqmel-ingrp = 'XYZ'
     e_viqmel-qmtxt = 'HVAC Repairs'.
   ENDIF
.

------------------------------------------------------------

After this whenever you create 'HV' Notification, you will find these two values are defaulted. You might wonder what is the need of defaulting the Notification short text? Though that was an example, there can be a case of Prefixing a certain string to the Notification Short text for a particular Notification type. Here the value we defaulted is the fixed part of the short text. User will add the variable part. Thus we are saving the punching effort to the end user. Similar are several other useful applications.

 

Please note that this is applicable to Create Notification only.

 

Note:

Things discussed above are relevant for QM Notifications also, but the exit is different. It is QQMA0007. The include here is ZXQQMU01. Codes are identical.

 

Let's see another way of doing it:

Suppose there is no need of editing a defaulted field value and our default value requirement is very clear, then we can use another user exit namely QQMA0014. The include here is ZXQQMU20. (It is the same for QM also).  We'll try to understand through the same code discussed above. This code in this exit AT THE TIME OF SAVING THE NOTIFICATION erases whatever present in the these fields (Planner Group and Short text) and Creates the Notification with these specified values. You can think of such applications for you.


The difference between these two exits is that the first one (QQMA0025) works only at Create (IW21) event, whereas this exit (QQMA0014) works at Create(IW21) and Change(IW22) both. Means whenever the Notification is subjected to SAVE. So if you want to confine the code to a particular tcode say IW21, then the above code changes like this.

------------------------------------------------------------

IF sy-tcode 'IW21'.
   IF i_viqmel-qmart = 'HV'.
     e_viqmel-ingrp = 'XYZ'
     e_viqmel-qmtxt = 'HVAC Repairs'.
   ENDIF.
ENDIF.

------------------------------------------------------------

An example for this case is: I have one custom Notification type which is used as a Repair request to a central repair facility. What happens here is the Planner group, Work Center values are defaulted from the Reference Object Equipment on which the Notification is being created. Customer is supposed to change these values to specific values related to the Central Repair facility to which this notification is directed. They often forget doing so. So I used this exit, for replacing the correct values automatically when the Notification is saved.

 

Thus we have areached to the end of the Notification segment of this blog.

 

Now let's see the case of Order:

The answer to the first question here (Whether we can default Order header values?) is 'No'. SAP has not provided any user-exit like QQMA0025 discussed above in Order area. Even I do not know any such other enhancements are available. But....Updating Order header fields while at the Save event of Order is possible like that happens in the case of QQMA0014 discussed above.

 

So how can we do this:

Our objective here is to update few Order field values while Save event. The user-exit that makes this possible is IWO10009.  Here the Z-include where we put  our code is ZXWOCU07. Now what is the code.....

 

Let's consider an example of our requirement, where we need the Planner group, Work center and the Maintenance Planning Plant for an Order type are to be updated with specific values while Saving.

------------------------------------------------------------

IF caufvd_imp-auart = 'PM08'.
   caufvd_imp-ingpr = 'HV1'.
   caufvd_imp-vaplz = 'MOTREP'.
   caufvd_imp-iwerk = '1000'.

   CALL FUNCTION 'CO_IH_SET_HEADER'
     EXPORTING
       caufvd_imp = caufvd_imp.

   PERFORM header_update(saplcoih).

ENDIF.

------------------------------------------------------------

If we want to confine the code to IW31 only, then it can be done in a similar way as explained previously for IW21.

 

For quite sometime I felt the deficiency of not having the value defaulting user-exit for the maintenance order. But after I found this method using fm 'co_ih_set_header' , things became simpler for me for addressing special checks.

 

I want to give another example for this updating requirement. We wanted to update the Order short text field with a formatted Work Order number like DeptName/NNNN/YYYY while saving. The code here first determines the values of DeptName from the Planner Group, Running serial number NNNN on the basis of the serial number for the previously Order and the YYYY is the current year. Code then combines (concatenate) these three values all these values into a variable say v_text with / in between.


Then we use same code as above to update Order short text:

------------------------------------------------------------

IF caufvd_imp-auart = 'PM07'.
   caufvd_imp-ktext = v_ktext.

   CALL FUNCTION 'CO_IH_SET_HEADER'
     EXPORTING
       caufvd_imp = caufvd_imp.

   PERFORM header_update(saplcoih).

ENDIF.

------------------------------------------------------------

 

I feel we have adequately discussed on the titled subject.


Now, let me remind some general points on using user-exit.

  • Use of user-exits is very simple. (tcode SMOD).
  • If you sit with an ABAPer, you'd learn it within few minutes
  • User-exit functions only if it is assigned to a project created through tcode CMOD.
  • I feel every functional man should have the knowledge of enhancements especially user-exits.

 

 

 

Thank you & Regards

KJogeswaraRao

 

 

 

30/12/2015

Recently there was a requirement of defaulting values to Order custom fields. A solution was worked-out using the PBO module of the screen-exit IWO10018, through which these custom fields are created, The solution is in this thread: Make default Date to Custom Field

Hello Friends,

One more useful tip in this blog. That's obviously about the subject line. Means what-if we want to hide application toolbar icons such as (Put in Process) and (Complete) in a Notification?

 

Some recent discussions and few in the past about this requirement show that in the very beginning members look towards OIAL (Field selection for Maintenance Notifications), where settings for flags and appear. But nothing happens when we set Hide radio-button here. This is because these icons here do not belong to Application toolbar of Notification Header, but these belong to Tasks Catalog tab. So what I want to say is Hiding these icons (Notification Put in Process / Complete) not possible through spro settings.

 

This blog is all about how we do it. SAP has given an exclusive user-exit for this purpose namely:

QQMA0024 - QM/PM/SM Deactivate function codes in CUA menu.


Let's see how we do it. Obviously we need to put some code in the Z-include provided in this exit namely ZXQQMU35. What is the code which makes an icon disappear. For this, first you need to know the Function code of an icon. How? Go to any IW21 or IW22 screen. Press the mouse key on the icon, hit F1 key and release mouse key.

 

When I did this for Put in Process flag I got this popup

Capture.JPG

And when I did this for Complete flag I got this:

2.JPG

 

Means the Function code for Put in Process icon is COWO and that of Complete icon is ARCH. These codes are required for us in coding in the above include.

 

Now the code to hide Put in Process icon.

APPEND 'COWO' TO t_ex_fcode.

 

This simple one line code in the include ZXQQMU35 hides the Green flag from all sorts of Notifications irrespective of any type etc. It is equal to OIAL setting without influencing criterion. Now let's see what if we want to give influencing effect. Suppose we want to hide this icon for M2 Notification,

then the code will be:

IF i_tq80-qmart = 'M2'.
   APPEND 'COWO' TO t_ex_fcode.
ENDIF.


Similarly, if we want to hide this icon in 'M2' Notifications only for few users, then we need to maintain their userIds in a Ztable (under field name say UNAME). In this case the sample code will be like:

IF i_tq80-qmart = 'M2'.
   DATA v_uname TYPE uname.
   CLEAR v_uname.
   SELECT SINGLE uname FROM ztable INTO v_uname WHERE uname = sy-uname.
   IF v_uname IS NOT INITIAL.
     APPEND 'COWO' TO t_ex_fcode.
   ENDIF.
ENDIF.

 

Similarly your ABAPer can extend this logic to very complex syntax using the Import structure I_VIQMEL given in the exit, making it possible for addressing all your conditions to hide an icon.

 

The Before and After pictures of the cases discussed above in Create Notification screen, are shown below


BEFORE the user-exit code.

untitled1.jpg

 

AFTER the user-exit code.

untitled2.jpg

 

Similarly when you use function code ARCH in place of COWO in the code the would disappear disabling the Notification Complete functionality. Though the title of this post mentions two widely used flags, other icons (like partner, Default values etc) also can be hidden in the same manner.

 

Though authorization objects are there to be used in Roles, there will be situations we will be needing this exit. For example, in my environment, we have 1000s of PM users where we maintained limited Roles and controlled many accesses through enhancements. There can be similar other situations too which demands this exit.

 

This post is equally applicable to PM/CS and QM notifications as given in the title. By now something might have stricken in your mind about the applicability of this function in your area. If so, show this to your ABAPer, it is a 2minute job for him/her.

 

 

Thank you and Regards

KJogeswaraRao

this Blog is dedicated to the developers who focus on EAM.

Are you aware that the master data APIS have been enhanced to support more functionality like setting user status and is now support Custom fields? This has been an missing quite some time and is available Now.


This has been achieved by within the Customer Connect program which we have finalized quite some time ago.
The dedicated functionality which have been delivered in Customer Connect Cycle 3 you find in the Innovation Discovery
For Customers using SAP GUI Improvements in Asset Operations Maintenance

For Customers using the new Web User Interface  Improvements in Asset Operations Maintenance

The overall improvement Note  Note 2121573 lists all the changes which have been made recently in the APi´s


  • EQUIPMENT APIS:   Please review this Note 2215722
    • Setting user status is now supported by the new RFC enabled function module IBAPI_EQUI_USER_STATUS_CHANGE
    • Setting System Status Inactive is now supported by the  new RFC enabled function module IBAPI_EQUI_SET_INACTIVE
    • Resetting System Status Inactive to Active is now supported by the new rfc enabled function module IBAPI_EQUI_RESET_INACTIVE
    • Setting the system status Deletion Flag is now supported by the new rfc enabled function module IBAPI_EQUI_SET_DELETIONFLAG
    • Resetting the system Status Deletion Flag is now supported by the new rfc enabled function module IBAPI_EQUI_RESET_DELETIONFLAG
    • Custom fields which have been appended in the table EQUI. Please review  Note 2146575
      1. BAPI_EQUI_CREATE
      2. BAPI_EQUI_CHANGE
      3. BAPI_EQUI_GET_DETAIL
  • Functional Location APIS: Please review this Note 2215722
    • Setting user status is now supported by the new RFC enabled function modul IBAPI_FUNCLOC_USER_STATUS_CHANG
    • Setting Systemn Status Inactive is now supported by the  new RFC enabled function module IBAPI_FUNCLOC_SET_INACTIVE
    • Resetting System Status Inactive to Active is now supported by the new rfc enabled function module IBAPI_FUNCLOC_RESET_INACTIVE
    • Setting the system Status Deletion Flag is now supported by the new rfc enabled function module IBAPI_FUNCLOC_SET_DELFLAG
    • Resetting the system Status Deletiin Flag is now supported by the new rfc enabled function module IBAPI_FUNCLOC_RESET_DELFLAG
    • Custom fields which have been appended in the table IFLOT. Please review  Note 2146575
      1. BAPI_FUNCLOC_CREATE
      2. BAPI_FUNCLOC_CHANGE
      3. BAPI_FUNCLOC_GET_DETAIL

 

Within another blog which will follow I will give you insights about the changes in the order and notification API´s

 

We hope that you enjoy and use this new functionality

 

 

thanks

Stephan Bantlin

Hello friends,

 

Continuing the process of preserving the solutions to Frequently Asked Questions, today I chose this subject. Few might have understood the possible need behind this simple title. However, I will explain.

 

The Background:

There were threads asking for solution where they want Orders with some status to be prohibited from processing. The 'Do not Execute' function is the ready answer for the Orders which are in CRTD status. But generally the queries were for REL Orders? There are two situations of this requirement.

  • In Case1, customer wants all the Orders of certain Order type and in REL status are to be prevented from changes, Only viewing should be possible through IW32.
  • In Case2, specific Orders faultily created and released need to be prevented from processing.

 

Similarly there were queries where Authorization check at the initial screen of IW32 was sought. Obviously this as an alternative route to control through Roles.

  • We take this as Case3 of this blog .

 

One way of doing addressing all these is definitely through user-exit IWO10009. But this method stops users at the time of Saving the Order. Means, user spends time and effort to make all changes in the Order and system refuses his changes when he tries to Save the Order. Also achieving a perfect solution for Cases1,2 through user-status (OIBS) transaction control is not possible.

 

So the requirement is to stop the user in the beginning itself of IW32. The ways to do it.

  • Change the IW32 to display mode for all such Orders
  • Stop user at the initial screen of IW32 itself by throwing a message such as 'This Order is prohibited from changes, use IW33 for viewing' OR 'You are not authorized for IW32' .



The Solutions:

The solutions discussed here are very effective using an Implicit Enhancement point in the include LCOIHF7R of Order program (SAPLCOIH). Here there is an enhancement point at line number 250 which is at the end of the form AUTHORITY_CHECK_AUART_SMOD .

 

The place to put our code:

1.JPG

 

Means, I have created an Enhancement named ZPM_STAT at the enhancement point provided by the system, where I got access to put my code. Now let's see the codes for various cases and situations.

 

First we look at the Case1, Situation1: For all Orders of certain Type and in REL status, Converting IW32 to Display mode


The code:

DATA: it_stat TYPE STANDARD TABLE OF jstat,
       wa_stat TYPE jstat.
 
 IF caufvd-auart = 'ZM03' AND  sy-tcode = 'IW32'.
   CALL FUNCTION 'STATUS_READ'
     EXPORTING
       objnr            = caufvd-objnr
       only_active      = 'X'
     TABLES
       status           = it_stat
     EXCEPTIONS
       object_not_found = 1
       OTHERS           = 2.
   IF sy-subrc <> 0.
   ENDIF.
 
   LOOP AT it_stat INTO wa_stat.
     IF wa_stat-stat = 'I0002'.
       tc10-trtyp = 'A'.   "Replace 'V' by 'A'.
       MESSAGE: 'Changing to Display' TYPE 'S'.
     ENDIF.
   ENDLOOP.
 ENDIF.

This code turns IW32 to Display mode for all released ZM03 Orders (you will change this Order type to yours)

 

 

Case1: Situation2: For all Orders of certain Type and in REL status, Stopping user to enter the Order through IW32.

 

The syntax to be used here has little changes. (Same code as above upto line no.18)

DATA: it_stat TYPE STANDARD TABLE OF jstat,
       wa_stat TYPE jstat.
 
 IF caufvd-auart = 'ZM03' AND  sy-tcode = 'IW32'.
   CALL FUNCTION 'STATUS_READ'
     EXPORTING
       objnr            = caufvd-objnr
       only_active      = 'X'
     TABLES
       status           = it_stat
     EXCEPTIONS
       object_not_found = 1
       OTHERS           = 2.
   IF sy-subrc <> 0.
   ENDIF.
 
   LOOP AT it_stat INTO wa_stat.
     IF wa_stat-stat = 'I0002'.
     MESSAGE: 'This Order has been prohibited from changes. For viewing use tcode ''IW33''.'
       TYPE 'E' DISPLAY LIKE 'I'.
     ENDIF.
   ENDLOOP.
 ENDIF.

 

This throws this error popup at the initial screen of IW32 for all ZM03 Released Orders.

Capture.JPG.

 

NOTE:

In cases like this, the user can do TECO and CLSD through IW38.

 

 

 

Now let's look at Case2

Case2: Specific Orders to be barred from handling. Means users to be stopped at the initial screen of IW32.
Obviously, these Orders can be any type. Because this requirement as mentioned earlier is often for defective Creations which were already put into REL status.

 

Pre-requisite to handle this situation

Create a Ztable say ZPM_BLK_ORD having the Order(aufnr) field. (If you want more Order related fields you can have). Create this table with TMG (Table maintenance Generator) so that you will be able to update this table (Add/Delete) with Order numbers through tcode SM30 or through a Ztcode.

 

Now, the code in this case.

DATA: v_aufnr TYPE aufk-aufnr.
 CLEAR: v_aufnr.
 SELECT single aufnr FROM zpm_blk_ord  INTO v_aufnr WHERE aufnr = caufvd-aufnr.
   IF v_aufnr IS NOT INITIAL.
   MESSAGE: 'This Order has been prohibited from changes.' TYPE 'E' DISPLAY LIKE 'I'.
   ENDIF.

This also throws similar error popup as shown earlier when user tries to use IW32 for all such Orders which are entered in the ztable ZPM_BLK_ORD.



Now let's see the Case3.

Case3: Specific Users to be restricted from handling IW32.


Pre-requisite to handle this situation

Create a Ztable say ZPM_BLK_USR having the UserId(uname) field. As above create this table with TMG .

 

Now the code in this case.

DATA: v_uname TYPE uname.
 CLEAR: v_uname.
 SELECT single uname FROM zpm_blk_usr  INTO v_unmae WHERE uname = sy-uname.
   IF v_uname IS NOT INITIAL.
   MESSAGE: 'You are not authorized for IW32.' TYPE 'E' DISPLAY LIKE 'I'.
   ENDIF.

 

This also throws similar error popup as shown earlier when user tries to use IW32 , whose userId has been included in the ztable ZPM_BLK_USR..



Conclusion

We may have several similar situations. How this post helps is, it is giving the information about the enhancement point and giving sample codes which will be helpful in meeting similar requirements. All cases other than already illustrated can be very easily managed through simple changes in the codes given.

 

 

Hope members will find this post useful.


Thank you and Regards

KJogeswaraRao

The transition to the digital economy and the increasing adoption of new technologies like Internet of Things and Cloud-based networks provide an opportunity to automate asset-related data exchange and enable a simplified collaboration model among the stakeholders in this asset management ecosystem.

 

  • Asset operators want to minimize capital investments, operational overheads and risks. The desire has been to buy products and services provided by the equipment or the equipment availability rather than buying the equipment.
  • Original Equipment Manufacturers (OEM’s) want to drive revenue growth and competitive advantage with bundled products and services.
  • Service providers (including EPC’s) want to provide value-added-services enabled by new technological innovations.

 

SAP will facilitate the next wave of innovations by bringing the asset ecosystem partners onto a single cloud-based collaborative network platform – the Asset Intelligence Network. The Asset Intelligence Network will be the global register of the worlds' equipment.

 

Stakeholders can integrate their ERP enterprise asset management or service management systems with the SAP Asset Intelligence Network to derive maximum value. The Asset Intelligence Network is a key component in the digitalization of asset management.

 

The Webinar Drive Efficiency with Collaborative Asset Management – The Asset Intelligence Network” is scheduled for Thursday, November 19, 2015.

 

Join us for this interesting and informative session and register today to secure your place.

The SAP Geographical Enablement Framework aims to augment business data with geometric attributes for SAP Business Suite applications. It will allow end user to view both business data from applications and spatial data from GIS systems simultaneously to obtain better insights. It will also serve as a single entry point to access multiple applications directly from the map. We are asking for end users' feedback to help us improve the usability of the upcoming solution. We also want to expand on our understanding of use cases (not limited to any line of business or any industry) for the SAP business objects that would benefit from geo-enablement.

Interested companies are encouraged to collaborate and co-innovate with SAP around this topic.



Within this blog i intend to guide you to how to visualize and maintain Customer Fields in the EAM Web user Interface.

 

In the Web User Interface of EAM there has been the lack of guidance of:

  1. how the Customers are able to integrate the Customer fields which have been added as appends to the different tables
  2. how to visualize/ maintain the additional data on Task list operation level as well as on PM order operation level.

 

This now has changed as you can see in Innovation Discovery

 

 

 

  • Additional Fields in order/ task list  operation Additional Fields in Orders and Task Lists (Web UI)
    this can be achieved without any configuration a new tab is now visible
    Order_Operation.jpg
  • Custom Fields which have been added to the corresponding tables Customer-Specific Fields in Plant Maintenance (Web UI)
    here you need to configure the Web Dynpro Application to your specific needs.
    This is described is a step by step description in  EAM Web UI Implementation Guide EHP7 chapter 7.1 and the fowllowing ones
    The following Business Object are supported:

    • Equipment (table: Equi)
    • Functional Location (table:IFLOT)
    • Notification header (table:QMEL)
    • Notification item (table:QMFE)
    • Order header (table: AUFK)
    • Task list header (table: PLKO)

OrderHeader_QI3._CustomFieldsPNG.jpg

 

with these enhancement now the Webu User Interface now supports the configuration of the customer fields. The customer is able to adopt the User Interface to the Users needs.

 

Concerning the capabilities and possibilities within this Web user Interface please refer to the SDN Document EAM Web UI Implementation Guide EHP7

 

All the innovations within EAM you find in the  Innovation Discovery

thanks

 

Stephan

Actions

Filter Blog

By author:
By date:
By tag: