Вы находитесь на странице: 1из 16

IBM Global Business Services

The AT USER-COMMAND Event and Menu Painter

The AT USER-COMMAND Event


and Menu Painter |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Objectives
The participants will be able to:
Apply the AT USER-COMMAND syntax.
Use the Graphical User Interface.
Use the SY-UCOMM system field.

The AT USER-COMMAND Event and Menu Painter |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Graphical User Interface (GUI)

Titlebar

Application
Toolbar

The AT USER-COMMAND Event and Menu Painter |

Menubar

Standard
Toolbar

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Menu Painter

Menu
Menu Painter
Painter

Creates Function Codes

Function Key
Assignments

Standard
Toolbar

The AT USER-COMMAND Event and Menu Painter |

Application
Toolbar

Dec-2008

Menubar

IBM Corporation 2013

IBM Global Business Services

GUI Status
The GUI Status (Graphical User Interface Status)

Programmer Defined Buttons and Menus :


In this sample GUI Status, the programmer decided to
create a DOCUMENTS button, and a LIST menu.

The AT USER-COMMAND Event and Menu Painter |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

GUI Title
The GUI Title (Graphical User Interface Title)

Programmer defined titlebar

The AT USER-COMMAND Event and Menu Painter |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

ABAP Code
DATA: WA_LFA1 TYPE LFA1.
START-OF-SELECTION.
SET PF-STATUS TEST1.
SELECT *
SELECT * FROM LFA1 INTO WA_LFA1.
WRITE: / WA_LFA1-LIFNR, 30 WA_ LFA1-NAME1.
ENDSELECT.
AT USER-COMMAND.
CASE SY-UCOMM.
WHEN RUNX.
SET PF-STATUS TEST2.
SET TITLEBAR TB2.
WHEN RUNY.
....
ENDCASE.

The AT USER-COMMAND Event and Menu Painter |

CHECK
SY-SUBRC

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Activating the AT USER-COMMAND Event

1st.

The user clicks on a button that the programmer created on the


GUI Status.

2nd.

The system detects that RUNY has been assigned as the function
code behind this button.

3rd.

Behind the scenes, the ABAP processor reacts and triggers the AT
USER-COMMAND event.

The AT USER-COMMAND Event and Menu Painter |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

The AT USER-COMMAND Event

*--begin of AT USER-COMMAND event-------------------------------AT USER-COMMAND.


WRITE: / The user just clicked on a pushbutton, selected,
/ a menu path, or pressed a function key.
*--end of AT USER-COMMAND event----------------------------------Do not write this code, we will learn the
complete syntax momentarily.
A New
ABAP
Event

SYNTAX:
SYNTAX: AT
AT USER-COMMAND.
USER-COMMAND.
9

The AT USER-COMMAND Event and Menu Painter |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

The SY-UCOMM System Field

A New
ABAP
System Field

1st.

3rd.

The user clicks on a button


that the programmer created
on the GUI Status.

2nd.

The SY-UCOMM
system field is
updated with the
four char. tag RUNY

Behind the scenes, the ABAP processor reacts


and triggers the AT USER-COMMAND event.
SYSTEM
SYSTEM FIELD:
FIELD: SY-UCOMM
SY-UCOMM

10

The AT USER-COMMAND Event and Menu Painter |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Using AT USER-COMMAND with the SY-UCOMM System


Field

*--BEGIN OF AT USER-COMMAND EVENT MODULE.-------------AT USER-COMMAND.


CASE SY-UCOMM.
WHEN RUNX.
WRITE:
/ The user just pressed button X.

Must be in
all caps and
single quotes

WHEN RUNY.
WRITE: / The user just pressed button Y.
ENDCASE.
*--END OF AT USER-COMMAND EVENT MODULE.----------------

11

The AT USER-COMMAND Event and Menu Painter |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Interactive Report that Utilizes a GUI Status

This is what our first interactive report, that utilises a GUI status, will look like.
A programmer defined a menu
containing two menu items,
(menu Item X, and menu
Item Y), will duplicate the
functionality of our buttons.

Two programmer defined buttons,


BUTTON X, and BUTTON Y.

12

The AT USER-COMMAND Event and Menu Painter |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Demonstration
Use of AT USER-COMMAND event, system field SY-UCOMM and creation and
usage of GUI components.
Create a program generating a basic list and create different kind of detail lists
from the basic list depending on User Interaction.

13

The AT USER-COMMAND Event and Menu Painter |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Practice
Use of AT USER-COMMAND event, system field SY-UCOMM and creation and
usage of GUI components.
Create a program generating a basic list and create different kind of detail lists
from the basic list depending on User Interaction.

14

The AT USER-COMMAND Event and Menu Painter |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Summary
System assigns a default GUI status to all report programs.
GUI status for a program is created through Menu Painter transaction SE41.
GUI for a program contains the following :

Function Key Assignment


Standard Toolbar
Application Toolbar
Menubar
Titlebar

Three components of interactive reporting are :


GUI status
GUI Title
ABAP Code

AT USER-COMMAND event is triggered when the user clicks on a pushbutton or


selects a menu item. Which button has been clicked or which Menu item has
been selected is determined by the system field SY-UCOMM.

15

The AT USER-COMMAND Event and Menu Painter |

Dec-2008

IBM Corporation 2013

IBM Global Business Services

Questions
What are the components of a GUI ?
What can be managed through the GUI status ?
How will you manage the title of your list ?
Which event is used to recognize the user action on the list ?
How do the programmer recognize which pushbutton has been clicked or which
Menu item has been selected ?

16

The AT USER-COMMAND Event and Menu Painter |

Dec-2008

IBM Corporation 2013

Вам также может понравиться