chapter 04_the at user-command event and menu painter

16
IBM Global Business Services © IBM Corporation 2013 The AT USER-COMMAND Event and Menu Painter | Dec-2008 The AT USER-COMMAND Event and Menu Painter

Upload: bakkalibilal

Post on 25-Dec-2015

16 views

Category:

Documents


4 download

DESCRIPTION

Chapter 04_The at USER-COMMAND Event and Menu Painter

TRANSCRIPT

IBM Global Business Services

© IBM Corporation 2013The AT USER-COMMAND Event and Menu Painter |

Dec-2008

The AT USER-COMMAND Event and Menu Painter

IBM Global Business Services

© IBM Corporation 20132 Dec-2008The AT USER-COMMAND Event and Menu Painter |

Objectives

The participants will be able to: Apply the AT USER-COMMAND syntax.

Use the Graphical User Interface.

Use the SY-UCOMM system field.

IBM Global Business Services

© IBM Corporation 20133 Dec-2008The AT USER-COMMAND Event and Menu Painter |

Graphical User Interface (GUI)

Titlebar Menubar

StandardToolbar

ApplicationToolbar

IBM Global Business Services

© IBM Corporation 20134 Dec-2008The AT USER-COMMAND Event and Menu Painter |

Menu Painter

Menu PainterMenu PainterMenu PainterMenu Painter

Creates Function Codes

Function KeyAssignments

StandardToolbar

ApplicationToolbar Menubar

IBM Global Business Services

© IBM Corporation 20135 Dec-2008The AT USER-COMMAND Event and Menu Painter |

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.

IBM Global Business Services

© IBM Corporation 20136 Dec-2008The AT USER-COMMAND Event and Menu Painter |

GUI Title

The GUI Title (Graphical User Interface Title)

Programmer defined titlebar

IBM Global Business Services

© IBM Corporation 20137 Dec-2008The AT USER-COMMAND Event and Menu Painter |

ABAP Code

DATA: WA_LFA1 TYPE LFA1.

START-OF-SELECTION.SET PF-STATUS ‘TEST1’.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.

SELECT *

SY-SUBRCCHECK

IBM Global Business Services

© IBM Corporation 20138 Dec-2008The AT USER-COMMAND Event and Menu Painter |

Activating the AT USER-COMMAND Event

3rd. Behind the scenes, the ABAP processor reacts and triggers 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.

IBM Global Business Services

© IBM Corporation 20139 Dec-2008The AT USER-COMMAND Event and Menu Painter |

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 ABAPEvent

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

IBM Global Business Services

© IBM Corporation 201310 Dec-2008The AT USER-COMMAND Event and Menu Painter |

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

1st. The user clicks on a buttonthat the programmer createdon the GUI Status.

2nd. The SY-UCOMMsystem field isupdated with the four char. “tag” RUNY

A New ABAP

System Field

SYSTEM FIELD: SY-UCOMMSYSTEM FIELD: SY-UCOMM

The SY-UCOMM System Field

IBM Global Business Services

© IBM Corporation 201311 Dec-2008The AT USER-COMMAND Event and Menu Painter |

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

AT USER-COMMAND.CASE SY-UCOMM.

WHEN ‘RUNX’.WRITE: / ‘The user just pressed button X’.

WHEN ‘RUNY’. WRITE: / ‘The user just pressed button Y’.

ENDCASE.

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

Using AT USER-COMMAND with the SY-UCOMM System Field

Must be in

all caps and

single quotes

IBM Global Business Services

© IBM Corporation 201312 Dec-2008The AT USER-COMMAND Event and Menu Painter |

Two programmer defined buttons, BUTTON X, and BUTTON Y.

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.

Interactive Report that Utilizes a GUI Status

IBM Global Business Services

© IBM Corporation 201313 Dec-2008The AT USER-COMMAND Event and Menu Painter |

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.

IBM Global Business Services

© IBM Corporation 201314 Dec-2008The AT USER-COMMAND Event and Menu Painter |

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.

IBM Global Business Services

© IBM Corporation 201315 Dec-2008The AT USER-COMMAND Event and Menu Painter |

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.

IBM Global Business Services

© IBM Corporation 201316 Dec-2008The AT USER-COMMAND Event and Menu Painter |

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 ?