cancel
Showing results for 
Search instead for 
Did you mean: 

How to filter message tray in the web

Former Member
0 Kudos

Hi,

I have a planning sequences which include several planning function,the message tray include all the message for each functions in the planning sequences, is there anyway I can filter the message tray make it only display the error message? For theuser exit maybe I can filter the table "ET_MESG", but what about the standard function? where to filter the message table?

Thanks,

Accepted Solutions (0)

Answers (5)

Answers (5)

Former Member
0 Kudos

Hi,

If you are using web:

Create a sub class of CL_UPWB_BSP_APPL, and redefine method FILTER_MESSAGES. See Method FILTER_MESSAGES in Class CL_UPWB_BSP_APPL for information how to do selective delete.

If you are using BPS GUI exit function, you can modify directly the content of table ET_MESG.

Best Regards,

Suan

Former Member
0 Kudos

We resolve the problem by deleting the unwanted message from the table XT_MESG which is type of UPWB_YT_MSG_TRAY at the ABAP class level, so when the message table is pass to the web, it onlt contain the message I want.

But still can not understand why the java script is not working, we use BW3.5

Former Member
0 Kudos

Hi JW,

insert this code:

In this case you delete the message IUPC301.

<SCRIPT LANGUAGE="JavaScript">

var msg_table = document.all("msg_table");

if (msg_table != undefined ) {

// Loop over all rows and hide some

for (var j = 0; j < msg_table.rows.length; j++) {

var msg_text = msg_table.rows[j].innerHTML;

// Regular expression pattern to look for message

var msg_search = /msgid=UPC.*msgno=301/i;

if (msg_text.search(msg_search) > 0) {

msg_table.rows[j].style.display = "none";

}

}

}

</SCRIPT>

I hope help you.

Davide grieco

Former Member
0 Kudos

I tested the code, it not working.

However, we have found out that the table type UPWB_YT_MSG_TRAY contals all the messages.

Former Member
0 Kudos

Hi,

That's really surprising, this is the working fine for me what's the version you are working on.Also, can you look at the web interface code (BSP generated behind it) there's a area for message display what's the component generated for messages tray, this will be an HTML table and not ABAP internal table as mentioned by you.

thanks

Former Member
0 Kudos

Hi,

This is possible using javascript. Please create a text element just after the message tray and mark HTML true. In the text place this code

<SCRIPT LANGUAGE="JavaScript"> 
var msg_table = document.all("msg_table"); 
if (msg_table != undefined )
{ 
// Loop over all rows and hide some
    for (var j = 0; j < msg_table.rows.length; j++) 
{ 
    var msg_text = msg_table.rows[j]; 
   // alert(msg_text.cells[0].innerHTML);
    var msg_information = "msgty=I";
    var msg_warning     = "msgty=W";
    var msg_string = msg_text.cells[0].innerHTML;

    if (msg_string.indexOf(msg_information)>=0 ||
        msg_string.indexOf(msg_warning)>=0) 
{ 
   // alert("I am In");
    msg_table.rows[j].style.display = "none"; 
} 
} 
} 
</SCRIPT>

Note - Assigning points is the way of saying thanks in SDN.