Skip to Content
Author's profile photo K Jogeswara Rao

Custom IW28 Reports

In the very early stages of implementation, several years ago, standard reports and processes were not satisfying the needs of customers. To fulfill the process needs, I started exploring use of User Exits ( as mentioned in several blogs ). Like-wise for missing fields in standard reports, I opted for Queries and begun to learn this. One of such very early custom reports has been discussed here where I had to make a Z version of IW28.

The Specifics of the need

The need arose, when management wanted to compare the Preventive maintenance hours spent on a critical machine with the Breakdown Hrs for certain period of operation. We have in IW28 the Breakdown Hrs only , field AUSZT (usually M2 notifications), but not any field giving this duration for M3 Notifications i.e., Preventive Hours. I remember this triggered my Technical journey.

The Action

Built a Query based on Infoset using tables VIQMEL and CRHD as shown below (CRHD table is required in case we want Main Work Center in the output, otherwise VIQMEL alone is sufficient.


An o field MntHr (Prevetive maint Hrs) was created in Extras and the following code was given in the code section.


You might have understood that we maintained the Start/end Details of M3 Notifications in the Required Start/End Date/time fields ans we wanted the duration of these time stanps.

And, we designed this report with the field we computed Mnt(Hr) and the standard field BDn(Hr) adjacent to each.


So this task has been fulfilled. The Tcode given was ZIW28,

Then after sometime, we taught customers, how to use the Create Notification menu in the Action Box of a Notification, which in return given rise to another such report requirement. User wanted a report where both Extended Notification (QMNUM) and the Reference (Parent) Notifications (QWRNUM) are available. Though these two fields are part of VIQMEL table, the standard IW28 is not having this Reference Notification number (QWRNUM) field.

So with a similar Infoset as that of first case, I created a report required which as under. (In this case there is no need of Additional fields & calculations). Here is the report.


The first report was very significant for analysis of maintenance functions and so it is very much called (hyper linked) by several other custom reports.

This post is just to share about another common SAP situation, where Infoset queries came to rescue. Forgot to tell you that I named the 2nd report (Tcode) as ZIW28A.

Thank you.

Jogeswara Rao K

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo BAIJU KUMAR

      Hi Jogeswara Sir,

      Your all of the enhanced/developed related post are inspired me to get depth idea in ABAP.

      I feel also without technical knowledge,we are not a complete functional consultant.

      If we want to grow more,technical knowledge is mandatory.

      I appreciate your all of efforts sharing the valuable concepts posts.

      And I would like to request you if you can share the concept of debugging and specially how to read the line code(set of instruction).

      I want to start my technical journey as Functional consultant learning the debug.



      Author's profile photo Jogeswara Rao K
      Jogeswara Rao K
      Blog Post Author

      Thank you BAIJU KUMAR,

      The learning needs compulsion and realtime tasks in hand. As far as debugging is concerned, there was no need as long as I was in Query area. I was avoiding debugging assuming that it is a complex one during ABAP programs. This costs us unending trial and error of programs, a sort of blind fold. So Debugging is a method to diagnose with perfection, what is the cause for undesired results of your program. For this you need to put a Break-point at certain point of the coding lines until where you are sure the program does not have any mistakes. Even we can start debugging at the beginning of a program. /h is the debugging key. When you /h in the command line and soon after run any tcode, the debugger starts. In break-point situation, the program runs until the break-point and then debugger is infront of you. Here F5 key help you in advancing line by line., F6, F7 keys at groups of lines etc. While doing this when you double click on variables on the left, system would be presenting the values on the right, by which you are able to understand that whether this returned value is right, if wrong why it is? Soon you will be able to rectify the program.

      It is quite easy and interesting. It is an ABAP subject. You will be able to learn this when you do some programming. Unfortunately this thread is not a right place to discuss further.

      Also these leanings can not start with SCN. SCN helps you overcome the hurdles during  your learning.

      Best of Luck

      Jogeswara Rao K

      Author's profile photo BAIJU KUMAR

      Hi Sir,

      Thanks for your update again.I am ok with the execution steps to debug but the code or Set of instruction written for program is quite tough to understand.

      So is there any chapter/Post is available to understand the line program code.



      Author's profile photo Jogeswara Rao K
      Jogeswara Rao K
      Blog Post Author

      You should be able to find upon searching Google