Skip to content

ABAP Keyword Documentation →  ABAP - Reference →  User Dialogs →  Screens →  ABAP Statements for Screens 

SET PF-STATUS - Screen

Short Reference

Other versions: 7.31 | 7.40 | 7.54

Syntax


 SET PF-STATUS status [OF PROGRAM prog] [EXCLUDING fcode]. 

Extras

1. ... OF PROGRAM prog
2. ... EXCLUDING fcode

Effect

In screen processing, this statement defines the GUI status defined in status for the subsequent screen layouts. The components of the set status are active in the user interface from the next time a screen layout is sent, and remain active until the end of the program or until the next SET PF-STATUS statement. The name of the current GUI status can be read from the system field sy-pfkey.

status expects a character-like data object that contains either the name of the GUI status of the main program of the current program group, or the program specified in uppercase (or only blanks) in prog. If the status is not available, an empty status is displayed, in which no control elements are active except for the predefined system functions. Of these functions, only the Enter key, to which an empty function code is assigned in this case, triggers the event PAI. If the data object status contains only blanks, the standard list status is set and the additions have no effect.


Note

If a switch is assigned to an element of the GUI status in the Menu Painter, this controls the activation of this element.

Addition 1

... OF PROGRAM prog

Effect

By default, a GUI status defined in the current main program is used. The addition OF PROGRAM can be used to set the GUI status of the program specified in prog. prog expects a character-like data object that contains the name of the ABAP program in uppercase.

Addition 2

... EXCLUDING fcode

Effect

The addition EXCLUDING can be used to deactivate functions of the set GUI status. An inactive function cannot be selected in the user interface. fcode expects either a character-like data object or an internal table with a flat character-like row type. The functions whose function codes are contained in the field or in the rows of the internal table are deactivated. Only one function code can be specified for each row of the table. The codes are not case-sensitive. Function codes specified in fcode for which there is no function in the GUI status are ignored.


Notes

  • The GUI status of a screen must be set at the latest during the event PBO. If no GUI status is set for a screen, the empty status described above is used.
  • If the set GUI status contains dynamic function texts, the function texts are read from the assigned global data objects of the program in which the GUI status is defined. If these do not exist, question marks (?) are displayed. For dynamic function texts, an explicitly specified program prog is loaded into the current program group if it does not already exist in the internal session. This enables access to its global data objects.
  • The statement SET PF-STATUS has a variant for the GUI status of lists.

Example

Setting the GUI status STATUS_0100 of the main program in a PBO module, whereby the functions with the function codes "CHANGE" and "SAVE" are deactivated.

DATA fcode TYPE TABLE OF sy-ucomm. 
... 
MODULE status_0100 OUTPUT. 
  APPEND 'CHANGE' TO fcode. 
  APPEND 'SAVE' TO fcode. 
  SET PF-STATUS 'STATUS_0100' EXCLUDING fcode. 
ENDMODULE.