Funktionscode (GUI-Status)

Benutzeroberflächen in SAP®-Systemen.
10 Beiträge • Seite 1 von 1
10 Beiträge Seite 1 von 1

Funktionscode (GUI-Status)

Beitrag von Charadin (Specialist / 148 / 0 / 0 ) »
Hallo zusammen,

bei einem Dynpro habe ich ja die Möglichkeit, einen GUI-Status zu setzen. Dort kann ich u.a. festlegen, dass z.B. für den "Zurück"-Button der Funktionscode "BACK" gilt.

Nun meine Frage: wenn ich diesen GUI-Status abspeichere, wird dann der Funktionscode auch in eine spezielle Tabelle geschrieben? Und wenn ja, in welche?

Ich bräuchte diese Tabelle, um alle Funktionscodes in einem Programm zu einem Dynpro auszulesen, also ich würde gerne wissen: "Welche Funktionscodes werden für das Dynpro X in Programm Y gesetzt?".

Oder wie könnte ich sonst alle Funktionscodes zu einem Dynpro auslesen? :?:
Gruß,
Charadin

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von Mattes (ForumUser / 4 / 0 / 0 ) »
Hallo Charadin,

also ich weis nicht recht ob ich deine Frage hiermit beantworten kann. Eine solche Tabelle kenne ich nicht, aber es gibt die Möglichkeit mit dem SY-UCOMM (Usercommand) diese Systemfelder abzufragen.
Hier mal eine etwas ausführliche Beschreibung der Möglichkeit die Buttons abzufragen.

Du legst den GUI-Status an und schreibst in der Ablauflogik im PBO Bereich des Dynpros.

Code: Alles auswählen.

 PROCESS BEFORE OUTPUT.

  MODULE:  PF-TASTE9001.
Im Module musst du beachten, das der GUI Status den Namen deines Status trägt, den du für das Programm gewählt hast. Hier hab ich es mal "Standard" genannt.

Code: Alles auswählen.

*---- FÜR DEN SCREEN 9001 --------------------------*
 MODULE PF-TASTE9001 output.
  SET pf-status 'STANDARD'.
 ENDMODULE.
Die Buttons sollten im Dynpro sichtbar sein. Jetzt folgt das Module im PAI-Bereich der Ablauflogik des Dynpros.

Code: Alles auswählen.

 PROCESS AFTER INPUT.

  MODULE:  PF-ENTER9001.
In dem folgenden Module werden jetzt die Funktionscodes mit dem Usercommand(sy-ucomm) abgefragt und danach die jeweiligen Funktionen ausgeführt, wie z.B. Zurück oder Exit. Der Usercommand wird gefüllt, wenn der User den jeweiligen Button anklickt.

Code: Alles auswählen.

 MODULE PF-ENTER9001.
  CASE  sy-ucomm.
   WHEN  'ENTER'.
    CLEAR  sy-ucomm.
     PERFORM entry_access.
   WHEN  'SAVE'.
    CLEAR  sy-ucomm.
      MESSAGE E005(30).
   WHEN  'BACK'.
    CLEAR  sy-ucomm.
      CALL SCREEN 9000.
   WHEN  'EXIT'.
    CLEAR  sy-ucomm.
      LEAVE PROGRAM.
   WHEN  'PRINT'.
    CLEAR  sy-ucomm.
     PERFORM print_access.
  ENDCASE.
 ENDMODULE.
Ich hoffe ich konnte dir mit dieser Antwort weiterhelfen, auch wenn deine Frage schon etwas her ist.

Mattes
KEEP SAP!

Beitrag von ewx (Top Expert / 4884 / 316 / 644 ) »
FB RS_CUA_INTERNAL_FETCH

/info: Damit bekommst du alle Status zu einem Programm. Welcher Status auf welchem Dynpro mit welchen Funktionscodes aktiviert wird, kannst du daraus freilich nicht ableiten!

Gruß,
Enno

Beitrag von Charadin (Specialist / 148 / 0 / 0 ) »
Hallo,

danke für Eure Antworten. ;-)

@Mattes: leider nützt mir die Abfrage des Usercommands nicht, ich bräuchte eine allgemeine Übersicht, welche Funktionscodes in welchem Programm und in welchem Dynpro gesetzt wurden. Aber trotzdem danke für Deine ausführliche Antwort.

@Enno: gibt es zu diesem FB vielleicht irgendwo eine Doku? Aus dem Quelltext werde ich nicht so recht schlau und eine FBausteindokumentation gibt's leider nicht. :(
Gruß,
Charadin

Beitrag von ewx (Top Expert / 4884 / 316 / 644 ) »
Hi Charadin,

du brauchst in der SE37 nur F8 zu drücken und einen Programmnamen eingeben.

Gruß,
Enno.

Beitrag von Charadin (Specialist / 148 / 0 / 0 ) »
oh, danke - daran hab' ich gar nicht gedacht...

die Struktur RSMPE_STAF wäre genau das, was ich brauche, nur eben nicht als Struktur sondern als Transparente Tabelle... :wink:

aber beim Durchforsten des Quellcodes bin ich auf die Tabelle "RSMPTEXTS" gestoßen, die schaut auch nicht schlecht aus. Mal schauen, wie weit ich damit komme.

danke für den Tipp mit dem FB! :)
Gruß,
Charadin

Beitrag von Charadin (Specialist / 148 / 0 / 0 ) »
Die Tabelle RSMPTEXTS ist zwar recht gut, aber leider findet man in dieser Tabelle keinen Bezug von Funktionscode zu Dynpro.

Ich müsste jetzt also noch herausfinden, wo und wie die Struktur RSMPE_STAF gefüllt wird.

Das "Wo" habe ich schon gefunden:

Code: Alles auswählen.

import sta to int_sta
           ctx to int_ctx
           fun to int_fun
           mtx to int_mtx
           doc to int_doc
           tit to int_tit
           men act adm but pfk set biv
           from database eudb(cu) id eudb_key
           ignoring structure boundaries.
Das Datenobjekt "set" ist nach dieser Anweisung mit Funktionscode und Dynpronummer gefüllt, aber ich kann in der Datenbank "eudb" nirgends die entsprechenden Informationen finden. Kann ich denn diese Informationen nicht auch noch irgendwie anders lesen? :?:
Gruß,
Charadin

Beitrag von ewx (Top Expert / 4884 / 316 / 644 ) »
Charadin hat geschrieben:Die Tabelle RSMPTEXTS ist zwar recht gut, aber leider findet man in dieser Tabelle keinen Bezug von Funktionscode zu Dynpro.
Hi Charadin,

den Bezug wirst du auch nirgendwo finden. Denn
1. können im Coding mehrere GUI-Status aktiviert werden:

Code: Alles auswählen.

IF zmodus = 'ÄNDERN'.
SET PF-STATUS 'AEND'.
ELSEIF zmodus = 'ANZEIGE'.
SET PF-STATUS = 'ANZ'.
ELSE.
SET PF-STATUS = 'ABC'.
ENDIF.
2. kann der GUI-Status dynamisch gesetzt werden.
und 3. kannst du auch dynamisch Funktionscodes ausblenden!

Code: Alles auswählen.

IF zmodus = 'ANZEIGE'.
APPEND 'FK01' to cua_exclude.
APPEND 'SAVE' to cua_exclude.
ENDIF.
SET PF-Status 'TEST' excluding cua_exclude.
Das wird also alles nichts!
Gruß,
Enno

Beitrag von babap (Expert / 681 / 1 / 1 ) »
Hallo,
ewx hat geschrieben:...
Das wird also alles nichts!
Gruß,
Enno
womit wir wieder bei der Frage wären:

"Was war der Grund für die ursprüngliche Frage des Fragestellers" ?

Einfach nur so mal zu wissen, wo welcher Status und wann gesetzt wird oder zu setzen möglich ist, ist eine Information, die ich bis jetzt noch nicht vermißt habe.

Also nochmal an CHARADIN: "Was würdest Du machen, wenn Du es wüsstest, oder herausfinden könntest?".

Gruß
babap

Beitrag von Charadin (Specialist / 148 / 0 / 0 ) »
Hallo babap,

es geht darum, per Customizing Funktionstasten am Dynpro ausblenden zu können. Also der Anwender - der keine ABAP-Kenntnisse hat - soll aus einer Tabelle die Tasten auswählen können, die nicht angezeigt werden sollen. Dazu müsste er erst wissen, welche Funktionstasten zu welchem Dynpro gehören. Diese Informationen würden dann über eine Suchhilfe angezeigt und der Anwender kann ohne viel vom Code zu wissen das Aussehen des Dynpros verändern.
(Die Funktionstasten, die er dann ausgewählt hat, blende ich über EXCLUDING beim GUI-Status aus.)
Gruß,
Charadin

Seite 1 von 1

Vergleichbare Themen

7
Antw.
5156
Views
Funktionscode im Batchlauf senden
von RiffRaff » 17.09.2007 11:30 • Verfasst in ABAP® Core
2
Antw.
1292
Views
Funktionscode ALV, Zeichen ändern
von BMWi801 » 24.07.2018 14:53 • Verfasst in ABAP® für Anfänger
2
Antw.
3045
Views
TA: FD32 - Funktionscode nicht auswählbar
von stoi » 16.01.2006 15:24 • Verfasst in Financials
13
Antw.
5977
Views
5
Antw.
850
Views
GUI-Status
von il.ost » 10.04.2019 08:57 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

DIN Norm Klassifizierung
Gestern von Radinator 1 / 78
Anwenderdoku in SAP
vor 3 Tagen von ewx 10 / 434
Schlüssel erstellen ABAP
vor 4 Tagen von rob_abc 4 / 795
Pushbutton springt nicht ins PAI-Modul
vor 6 Tagen von MiTip gelöst 15 / 1216

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

DIN Norm Klassifizierung
Gestern von Radinator 1 / 78
Anwenderdoku in SAP
vor 3 Tagen von ewx 10 / 434
Schlüssel erstellen ABAP
vor 4 Tagen von rob_abc 4 / 795
Pushbutton springt nicht ins PAI-Modul
vor 6 Tagen von MiTip gelöst 15 / 1216