This is a test message to test the length of the message box.
Login
ABAP Quick popup online users
Created by Software-Heroes

ABAP Quick - Popup to all users

Here's a quick tip on how you can read all current users who are logged into the system, what they are doing and how you can send them a personal message.

Advertising

Send an instant message to every logged in user in the system? With today's little tip that should not be a problem for you anymore. Unlike system messages, the messages are displayed immediately and are not displayed only after a user action.

 

Determination of the users

For the determination of the online users there is a special kernel function with which one you can read in the users. There are two ways to do this.

In the system there is an example of SAP, which is still based on the old ABAP. Here they have worked with a header line and only a part of the users are read. Below is the example from the standard.


DATA: BEGIN OF usr_tabl OCCURS 10.
        INCLUDE STRUCTURE uinfo.
DATA: END OF usr_tabl.
DATA: opcode TYPE x VALUE 2.

CALL 'ThUsrInfo' 
 ID 'OPCODE' FIELD opcode
 ID 'TAB' FIELD usr_tabl-*sys*.

 

The more modern approach without using a header line, reads also more users, including technical connections and RFC users. With this variant you have to filter more values to get the real online users.


DATA: 
  lt_user TYPE STANDARD TABLE OF uinfo,
  ld_opcode TYPE x VALUE 2.

CALL 'ThUsrInfo' 
 ID 'OPCODE' FIELD ld_opcode
 ID 'TAB' FIELD lt_user.

 

Generation of the popup

With the simple function module TH_POPUP you can create the message for the user or a special message to a selected user ID. To create popup's for all users, the function module have to be called in a loop.


DATA: 
  ld_message TYPE c LENGTH 128 VALUE 'This is my instant message to you!'.

" Create the popup
CALL FUNCTION 'TH_POPUP'
  EXPORTING
    client         = sy-mandt
    user           = 'TEST_USER' "usr_tabl-bname
    message        = ld_message
  EXCEPTIONS
    user_not_found = 1.
IF sy-subrc <> 0.
ENDIF.

 

The popup displays the system from which it was sent, as well as the user ID. The message comes from the SAP GUI and not directly from ABAP, so it looks like a normal Windows window.

ABAP example for popup

 

Conclusion

With just a few commands and the right function module, this function can easily be implemented by you. The notification should be used judiciously, because it can also cause some harm to the users when the popups occur in large numbers and thus interfere.


Included topics:
QuickPopupOnline-User
Comments (0)
Advertising

ABAP Quick - Processing in a new task

Category - ABAP

This tip is about asynchronous processing in a new process and what to look out for.

01/07/2022

ABAP Quick - Convert JSON to internal

Category - ABAP

In this little tip, we'll go into how you can convert a JSON stream to an internal format and then use it properly.

12/10/2021

ABAP Quick - External currency to internal

Category - ABAP

A little tip to convert data from an Excel or CSV file into the correct internal currency format. A simple conversion can quickly lead to errors.

12/03/2021

ABAP Quick - Creation of test data

Category - ABAP

What challenges do you have when setting up test tables and test data and how can machine processing help you?

06/25/2021

ABAP Unit Quick Guide

Category - ABAP

Our current e-book is now available on Amazon, we would like to briefly show you what you can expect in the book and what it will bring you in the end.

05/28/2021