Ansicht
Dokumentation

RP_OPTIONS_INTO_STRING - Dialog für Optionsauswahl, Rückgabewert: Stringsequenz aus Kürzeln

RP_OPTIONS_INTO_STRING - Dialog für Optionsauswahl, Rückgabewert: Stringsequenz aus Kürzeln

ABAP Short Reference   BAL_S_LOG - Application Log: Log header data  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Dieser Funktionsbaustein führt einen Benutzerdialog, der eine Auswahl von Optionen erlaubt. Als Rückgabewert dient eine Stringsequenz STRING_VALUE, deren Aufbau die Auswahl des Benutzers widerspiegelt.

STRING_VALUE ist als CHANGING-Parameter angelegt und kann mit einer Vorbelegung versehen werden. Es ist darauf zu achten, daß die Länge des Parameters ausreicht, um die Stringsequenz darin abzuspeichern. Ist dies nicht der Fall, so wird die Exception STRING_VALUE_OVERFLOW ausgelöst.

Den Optionstexten, die dem Benutzer gezeigt werden sollen, werden über die Texttabelle TEXT_SYMBOL_RELATION_TAB Kürzel zugewiesen, aus denen die Sequenz STRING_VALUE entsprechend gebildet werden soll. Ein Kürzel darf nur einmal in der Tabelle vorkommen.

Der Parameter DELIMITER_SIGN trennt innerhalb der Zeichenkette die Kürzel von einander ab. Er darf naturgemäß nicht in den Kürzeln selbst auftreten und ist default-mäßig auf '/' gesetzt.

Ist die vorbelegte Zeichenkette STRING_VALUE mit der Tabelle TEXT_SYMBOL_RELATION_TAB logisch unvereinbar, so wird die EXCEPTION: TABLE_STRING_INCONSISTENCY ausgelöst.

Der Parameter STATUS kann nur die Werte 'ORDER' und 'NOORDER' annehmen. 'ORDER' zeigt an, daß die Reihenfolge, in der die Optionen ausgewählt werden, wichtig ist; die GUI-Oberfläche unterstützt den Benutzer entsprechend. Der Rückgabewert STRING_VALUE zeigt über die Abfolge der Kürzel von links beginnend die Auswahlreihenfolge an. Wird der STATUS auf 'NOORDER' gesetzt, so können Optionen im Dialog lediglich angekreuzt werden, und die Reihenfolge der Kürzel enthält keine zusätzliche Information.

Wollen Sie die Anzahl der maximal auswählbaren Optionen begrenzen, übergeben Sie den Wert durch den Parameter MAX_CHOSEN_NUMBER. MAX_CHOSEN_NUMBER = 0 ist der Defaultwert und bedeutet keine Beschränkung der Anzahl!

Die Struktur der Tabelle TEXT_SYMBOL_RELATION_TAB muß folgenden Bedingungen gehorchen:

1.) TEXT_SYMBOL_RELATION_TAB hat die Struktur PNPSTRINGT.

2.) Die erste Komponente enthält die Kürzel, die in der Stringsequenz die ausgewählten Optionen repräsentieren sollen. Die maximal definierte Länge dieser Komponente beträgt 10 Zeichen.

3.) Die zweite Komponente enthält die Texte, die die Optionen umschreiben, und darf nicht mehr als 75 Zeichen lang sein.

4.) Mit Hilfe der Felder TABNAME und FIELDNAME kann F1-Doku pro Zeile hinterlegt werden, wenn das entspr. Datenelement im DDIC vorhanden ist.

Allg. Information kann über TEXT_OBJECT mitgegeben werden. Dieser Parameter enthält den Namen eines Objektes, das mit Hilfe der Transaktion se61 als 'Text im Dialog' gepflegt/angelegt werden kann. Aufgerufen wird der Text über ein Info-Button der erscheint, sobald TEXT_OBJECT nicht initial ist.

Mit den Parametern DYN_PUSHBUTTON_TEXTn (n= 1,2,3) kann man in der PF-Leiste bis zu 3 Pushbuttons erzeugen. Ob diese gedrückt worden sind, kann man über den RETURN_CODE abfragen.

Der RETURN_CODE kann folgende Werte annehmen:

  • 0 = Dialog mit 'WEITER' verlassen
  • 1 = Dialog mit Pushbutton 1 verlassen
  • 2 = Dialog mit Pushbutton 2 verlassen
  • 3 = Dialog mit Pushbutton 3 verlassen
  • 4 = Dialog mit 'ABBRECHEN' verlassen

Wurde der Dialog vom Benutzer abgebrochen (RETURN_CODE = 4), bleibt OPTION_STRING unverändert! Ansonsten wird die Benutzerauswahl akzeptiert.

Beispiel

Aufruf des Dialogs via Pushbutton im Selektionsdynpro eines Reports. Um eine bestimmte Optionsauswahl in einer Variante sichern zu können, ist eine entspr. Anweisung 'parameter .... no-display.' nötig! Auf F1-Hilfe pro Zeile wird im folgenden Beispiel verzichtet, aber über 'DEMO-DOCU' kann allg. Information zum Dialog hinterlegt sein.

Tabelleninhalt:

itab-abbreviation(3) itab-text(20) itab-tabname(10) itab-fieldname
'001' text-001
'002' text-002
'003' text-003

Aufruf:


tables sscrfields.
parameter option_string no-display.
selection-screen pushbutton /1(10) name user-command selo.
data: ...
...

at selection-screen.
...
if sscrfields-ucomm = 'SELO'.
call function 'RP_OPTIONS_INTO_STRING'
exporting
max_chosen_number = 7
delimiter_sign = '/'
text_title = 'Titel'
text_left = 'mögl. Werte'
text_right = 'Auswahl'
status = 'ORDER'
text_object = 'DEMO_DOCU'
dyn_pushbutton_text1 = 'Weiter Eingaben'
dyn_pushbutton_text2 = space
dyn_pushbutton_text3 = space
importing
return_code = retcd
tables
text_symbol_relation_tab = itab
changing
string_value = option_string
exceptions
table_string_inconsistency = 01
unknown_status = 02
string_value_overflow = 03.
case sy-subrc.
when '0'.
case retcd.
when '0'.
endif.





Parameter

DELIMITER_SIGN
DYN_PUSHBUTTON_TEXT1
DYN_PUSHBUTTON_TEXT2
DYN_PUSHBUTTON_TEXT3
MAX_CHOSEN_NUMBER
RETURN_CODE
STATUS
STRING_VALUE
TEXT_LEFT
TEXT_OBJECT
TEXT_RIGHT
TEXT_SYMBOL_RELATION_TAB
TEXT_TITLE

Ausnahmen

STRING_VALUE_OVERFLOW
TABLE_STRING_INCONSISTENCY
UNKNOWN_STATUS

Funktionsgruppe

RPPN

CPI1466 during Backup   SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 6564 Date: 20240523 Time: 113923     sap01-206 ( 116 ms )