Dialogues
The main purpose of dialogues is to ask the user for
information or to provide him or her with information.
Typical such examples are:
- The system needs information from the user to direct
further processing.
- A critical situation arises where the user might lose
data; the system therefore warns the user.
- The system informs the user on the success of an
action or of the ongoing processing.
Make these pieces of information short and concise. It is
important that the user understands them in order to prevent
confusion or mistakes.
Dialogues take place in dialog boxes. These are
secondary windows that appear when the user activates a
particular action in a primary or secondary window. They
disappear from the screen when the user triggers a
task-related action.
A dialog box is classified as "modal" if the user must
respond to the dialog before continuing work in another
window. Modal dialogues are useful, for instance, in
situations where the user might lose data: The system
informs the user of this situation in a modal dialog box,
and the user has to respond to this dialogue.
The R/3 System provides only modal dialog boxes. In other
systems there are also "amodal" dialog boxes. With amodal
dialog boxes the user may continue work in the primary
window, while the dialog box is open. Typical such amodal
dialog boxes are dialogues for search and/or replace. In the
near future the R/3 System will have amodal dialog boxes,
too.
General Guidelines for Dialog Boxes
The following general guidelines for dialog boxes in the
R/3 System take into account that there are only modal
dialog boxes in the R/3 System. As a result of the modeness
of the dialog boxes the menu bar in the primary window is
locked, if a modal dialog box is active on the screen. In
addition, the dialog box has no menu bar of its own. Actions
are initiated via pushbuttons in the dialog box solely.
Uses of Dialog Boxes
The current main action within a transaction runs in a
primary window to carry out the Save or Post action,
for instance. Dialog boxes supplement the main action by
displaying additional information or data. They may also
allow further entries, functional specifications, or
selections in required-entry fields.
There must be no sequence of more than three dialog boxes
on the screen (Exception: A dialog box initiated with
F4=Possible entries may be displayed additionally).
Pushbuttons or Function Keys in Dialog Boxes
Line pushbuttons up across the bottom of the dialog box
in the following order:
- ENTER=<Action>: always the leftmost button;
always to be displayed
- Fx=Special functions: in ascending order from left to
right
- F12=Cancel: always the rightmost button; always to be
displayed, except in read-only dialog boxes (but also
active then)
The following buttons may be active but are not
displayed:
- scroll functions: F22=Previous page, F23=Next page,
etc.
- select operations: F4=Possible entries, F2=Choose
(but see below!), F9=Select
The following buttons are not allowed:
- F3=Back, F15=Exit: Dialogues are side paths which can
only be canceled with F12=Cancel.
- F11=Save: Saving can only be carried out in the main
window. A dialog box may prompt the user for saving, but
the saving cannot directly be executed here.
Executing Dialog Boxes
The user executes a dialog box via the first pushbutton
ENTER=<Action>. This is normally
<Action>=Execute or ENTER=Continue. After pressing F4
from the primary window or from dialog boxes that contain a
selection list, it may also be ENTER=Choose. (Note:
In this case, you have to reserve F2 additionally for
Choose so that double-clicking with the mouse is also
supported; F2, however, is not displayed.) Otherwise, you
can also refer to the function executed directly
(Copy, for example).
Provide dialog boxes which contain a question with
their own pushbuttons for the positive and the negative
response. Do not display the ENTER key then. System messages
that have to be confirmed receive a pushbutton with the name
ENTER=Confirm, in the case of read-only dialog boxes,
ENTER=Continue.
Description of the Pushbuttons
ENTER Key
The dialog box and the entries made are processed if the
user presses the ENTER key. Then, the system either returns
to the previous primary window or navigates to a new one. If
needed, you may also display another dialog box, while the
previous dialog box remains on the screen.
F12=Cancel
The dialog box disappears and the program either returns
to the primary window or to the last dialog box (also if the
user had to make required entries in the dialog box). If
possible, the previous status is fully restored, that is,
the entries are "forgotten" and any processed entries are
canceled.
Read-only dialog boxes or dialog boxes displaying
information constitute an exception. F12=Cancel is actually
active here, but it is not displayed.
F1=Help, F4=Possible Entries
F1 is always active and relates to individual fields, as
in the primary window. After pressing F4, another dialog box
is displayed (the first remains where it is) with the
respective possible entries.
Error Messages in the Dialog Box
If the entries of a dialog box are processed and the
system detects an error, it can display an error message.
Display the message in another dialog box unless it is an S
message (see below) which appears in the status bar. The
user then has the option of correcting the input value in
the dialog box. That is, the dialog box remains where it is,
and the user receives the request to eliminate the error (or
he cancels with F12).
Navigation in Dialog Boxes
line by line or character by character with the arrow
keys inside input fields with the TAB key from one field
ready for input to the next
with the mouse:
- single click = cursor positioning
- double click = cursor positioning + Select +
ENTER (currently corresponds to F2=Choose)
When displaying the dialog box, place the cursor on the
first field to be selected or in the first entry field. If
no entry fields exist, place the cursor on the first
displayed field which can have variables.
Positioning Dialog Boxes
Position the first displayed dialog box, if possible, so
that the relevant information of the primary window is not
covered up. If this is not possible, center the dialog box
on the screen if no other dialog boxes can be displayed. Do
not squeeze the dialog box up against the edge of the
screen.
Position further dialog boxes to be displayed so that the
title bar of the previous dialog box is not covered up. That
is, move them down at least two lines. In addition, move
them a few characters to the left or to the right.
Prompts in Dialogues
Prompts are a special, and from the user's perspective an
important type of dialog box, because they help him or her
to prevent mistakes in critical situations. For instance, if
the user executes an action with potentially destructive or
irreversible consequences, the system alerts the user to the
critical situation and sends a prompt. This prompt informs
the user about the current situation and provides him or her
with possible actions to choose from.
In the R/3 System three categories of prompts are
distinguished:
- prompts which the system displays every time a user
action may cause a loss of data -- so-called safety
prompts,
- prompts which require the user to confirm or abort an
action,
- prompts which require the user to choose between two
alternatives.
Within these categories, you can use various forms of
display and modes of operation, all of which are implemented
in different function modules.
A distinction is made between destructive and
non-destructive actions or response options. "Destructive
actions or response options" result in a loss of data. If no
data is lost, they are referred to as "non-destructive
actions or response options".
Safety Prompts
The system displays safety prompts when the user executes
one of the following functions:
- F15=Exit, F3=Back, F12=Cancel, F17=Other
<object>, OK-Code=N
- another object class from the application area
menu
- another action from the <object>
menu
Display dialog boxes with a safety prompt only if data
entered may be lost. Use the system flag SY-DATAR to check
whether this is the case.
Other System Prompts
The system requests the user, with or without messages,
to confirm an action, for example:
- if entities - files, folders, tables, and so on -are
to be deleted
- if entities are to be copied
- if a decision has to be made about how to continue
processing
General Layout Guidelines
Dialog boxes contain the following elements:
- a title bar
- an optional diagnosis text, explaining why the
following question is asked
- a question which refers to the action previously
performed, the possible loss of data, or the diagnosis
text
- the "Yes" and "No" responses, displayed as two
adjacent pushbuttons (exception see below); present the
"Yes" response first; the cursor is generally placed on
the non-destructive option
- the "Cancel" pushbutton; position it to the right of
the response buttons (exception see below)
For the most common prompts, there exist predefined
dialog boxes that are called via function modules (see
below). Blank lines between the individual elements of the
dialog boxes are set automatically by these modules.
Note: For more extensive information on these
function modules, refer to the SAP Style Guide or to the
online documentation in the function module library!
Safety Prompts After Returns
Display safety prompts when leaving the initiated action
may cause a loss of data. There are two possibilities:
(1)Return with Post/Save: The user is able to save
the entered data and then returns to the previous stage in
the function.
(2)Return without Post/Save: The user is not able
to save the entered data and only may return to the previous
stage in the function.
With Post/Save (POPUP_TO_CONFIRM_STEP or
POPUP_TO_CONFIRM_WITH_VALUE)
Use this prompt as the standard return option, if
possible. The user leaves the task function by activating
the Exit function. The previously entered or changed
data is either posted or saved when the user chooses this
option in the upcoming dialog box. Otherwise unsaved data
will be lost. The user can also choose the "Cancel"
option to close the dialog box and cancel the initiated
"Exit".
The question refers to the possible loss of data. Select
the non-destructive option "Yes".

Figure: Safety prompt for the function
Exit
Show a similar dialog box for the function Back.
Note the different screen titles!

Figure: Safety prompt for the function
Back
Post/Save is Not Possible
(POPUP_TO_CONFIRM_LOSS_OF_DATA)
The second return option is used if data is inconsistent
or if too costly checks need to be performed. This time the
user activated the Cancel function in the primary
window. He or she can respond to the safety prompt in one of
two ways: Either leave the task function and lose the
previously entered or changed data, or return to the task to
proceed.
A diagnosis text is displayed. It always reads: "Unsaved
data will be lost". The question refers to the initiating
action. Select the "No" response option.

Figure: Safety prompt for the function
Cancel
Confirming Actions
If a dialog box requires the user to confirm an action,
there are two variants: The user is to confirm a
non-destructive or a destructive action.
Non-Destructive Action (POPUP_TO_CONFIRM_STEP or
POPUP_TO_CONFIRM_WITH_VALUE)
In this case, check if you can do without a dialog box
because displaying a dialog box will slow down
processing.
The user has for example activated the "Change Currency"
function. A dialog box is displayed because the function has
to be confirmed here.
The question refers to the initiating function. Select
the "Yes" response option to speed up processing.

Figure: Example of a confirmation prompt for a
non-destructive action
Destructive Action (POPUP_TO_CONFIRM_STEP or
POPUP_TO_CONFIRM_WITH_VALUE)
If the destructive operation may have irreversible
consequences, always display a dialog box. For example, the
user has selected 20 lines in a list and then chooses
"Delete". Display a dialog box since the function has to be
confirmed.
If a transaction offers several equally important
operations which require the user to confirm the action, and
these operations are of a destructive and non-destructive
nature, select the "Yes" option as response for all
operations. This explains why in extraordinary circumstances
the "Yes" option is selected for a destructive action.
If, however, the destructive operation is a less
frequently used function, then select the "No" response for
maximum protection against a loss of data.
The question refers to the initiating function. In the
example, the "No" response option is selected to protect
from loss of data.

Figure: Example of a confirmation prompt for a
destructive action
Confirming Actions After Previous Message
The options described in the previous section can be
supplemented with a message, warning, diagnosis or
information that precedes the actual question.
Message + Action (POPUP_TO_CONFIRM_WITH_MESSAGE)
First, the system displays a dialog box with a message
specifying the critical processing state. Then the user is
asked how he or she wants to proceed.
A message text (concluded with a full stop) is placed in
front.

Figure: Example of a confirmation prompt with
message
Choosing Between Two Related Options With or
Without Previous Message
The most general form of a dialog box containing a prompt
is the dialog box which requires the user to choose between
related options. It can be preceded by a message, warning,
diagnosis, or information.
[Message] + Decision (POPUP_TO_DECIDE and
POPUP_TO_DECIDE_WITH_MESSAGE)
If the system asks the user an either/or-question which
does not allow yes/no-answers, name the options offered to
the user. Optionally, you can let the system display a
message first. In the question, the two options are linked
with "or".
Next to the question, separated by a blank line, present
two corresponding response options and a canceling option in
a horizontal button arrangement. As the following example
shows, a vertical button arrangement is also possible.

Figure: Confirmation prompt with alternatives
(vertical arrangement, no message)
top
|