Ansicht
Dokumentation

TRINT_DISPLAY_REQUESTS - Anzeigen von Aufgaben und Aufträgen in einer hierarchischen Liste

TRINT_DISPLAY_REQUESTS - Anzeigen von Aufgaben und Aufträgen in einer hierarchischen Liste

General Data in Customer Master   BAL_S_LOG - Application Log: Log header data  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Anzeige einer zu übergebenden Menge von Aufgaben/Aufträgen in einer hierarchischen Liste.

Eingabeparameter
  • Titel und Text des Wurzelknotens sind zu übergebende Parameter,

  • ebenso die Eigenschaften evtl. neu anzulegender Aufträge,

  • eine optionale Tabelle von Aufträgen/Aufgaben mit Sonderbehandlung (Action = 'H': Highlight; Action = 'S': Suppress) und

  • eine optionale Struktur mit den Popup-Koordinaten, falls die Anzeige nicht im Vollbild erscheinen soll.

Die Aufträge werden in einer Tabelle übergeben, deren "Zeilen" die Struktur "TRWBO_REQUEST_WD" haben. Diese Struktur kann (fast) alle auftragsbezogenen Attribute und Daten (inkl. E071, E071K und der Auftragsdoku) aufnehmen.
Gefüllt sein müssen aber nur die Attribute, die direkt in der E070 stehen. Alle anderen Daten werden bei Bedarf nachgelesen.
Die Dokumentation hat eine Sonderrolle: Wenn sie mitgegeben wurde, wird sie auch ausgewertet, wenn nicht, wird auf die Datenbank durchgegriffen. Die Struktur wird dann nicht mit der Dokumentation gefüllt.
Diese Funktionalität wird benötigt, um auch Aufträge anzeigen zu können, die im System nicht vorhanden sind (und vom Aufrufer z.B. per RFC gelesen wurden).
Vorgehensweise
Zunächst werden genau die zur Anzeige unmittelbar benötigten aber nicht mitgegebenen Daten nachgelesen (E07T, E070C, E070M).
Sonderbehandlung der Objektlisten:
Aus Performance-Gründen werden die Objektlisten nicht sofort eingelesen. Es wird lediglich geprüft, ob überhaupt ein Eintrag vorhanden ist. Wenn das der Fall ist, wird das Flag OBJECTS_FILLED in der Auftragsstruktur auf "A" gesetzt, wenn nicht, wird es auf "X" gesetzt (dann wissen wir ja schon, daß keine Objektliste enthalten ist).
Damit kann beim Aufbau der hierarchischen Liste festgestellt werden, ob ein Teilbaum für die Objektliste vorgesehen werden muß oder nicht ("force_plus").
Wirklich eingelesen wird die Objektliste erst zu dem Zeitpunkt, wo sie zur Anzeige benötigt wird, zum Beispiel, weil der Benutzer den entsprechenden Teilbaum aufklappt.
Ein weiterer Nachlademechanismus ist für die Tabellenschlüssel implementiert: beim Aufklappen der Objektliste werden die Knoten für die Tabellenschlüssel nicht sofort mit eingebaut, weil dies für grosse Customizing Tabellen wiederum sehr teuer ist (obwohl kein DB-Zugriff involviert ist). Stattdessen wird der Schlüsselteilbaum erst dann eingefügt, wenn der Benutzer ihn aufklappen will.

Nach der Initialisierung der gewünschten Sortier-Reihenfolge beginnt eine "Endlos"-Schleife. Die darin befindlichen Aktionen werden solange immer wieder durchlaufen, wie der Benutzer auf der Liste (implizit) den Parameter local_refresh setzt und zurückspringt. Dies erfolgt immer dann, wenn durch Benutzeraktionen die anzuzeigende Liste verändert werden muß (zum Beispiel bei Aufruf der Funktion Inhaber eines Auftrags ändern).

Beispiel

Hinweise

Wenn zum UserCommand neue Funktionalität hinzugefügt werden soll, müssen folgende Schritte durchgeführt werden:

  1. Freien sy-ucomm Wert suchen (einen, der weder in der Funktionsliste der GUI-Oberfläche noch in der Form-Routine TDR_CHECK_COMMAND vorkommt)
  2. Das Kommando in der Form-Routine TDR_CHECK_COMMAND in die passende Rubrik eintragen. Hier wird abgeprüft, ob die Cursor-Position zum ausgewählten Kommando paßt. Bitte in die richtige IF-Abfrage einreihen und die alphabetische Reihenfolge beibehalten!
  3. Das Kommando in die Form-Routine TDR_WRONG_CURSOR_POSITION eintragen und passende Fehlermeldung rufen
  4. In der Form-Routine TDR_CATCH_DARK_ACTION eintragen, wenn das Kommando zunächst ein Popup ruft (-> markierter Auftrag wird optisch hervorgehoben)
  5. Im FB TDR_USER_COMMAND die Funktionalität einbauen
  6. Im Status die Funktionalität anbieten und diesen aktivieren

Weiterführende Informationen





Parameter

CS_LAYOUT
CS_SORT_DESCRIPTION
CV_USERNAME
ES_SELECTED_REQUEST
ES_SELECTED_TASK
ET_MERGED_KEYS
ET_MERGED_KEYS_STR
ET_MERGED_OBJECTS
EV_REFRESH
EV_SWITCH_TO_REQUEST
EV_USER_CANCELLED
IS_NEW_REQUEST_PROPS
IS_POPUP
IT_REQUESTS
IT_SPECIAL_REQUESTS
IV_CUA_STATUS
IV_FIRST_NODE_TEXT
IV_FORM_TOP_OF_PAGE
IV_MARK_DEFAULT_REQUEST
IV_PROG_TOP_OF_PAGE
IV_TARGET_REQUEST
IV_TITLE

Ausnahmen

Funktionsgruppe

STRH

Fill RESBD Structure from EBP Component Structure   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: 5696 Date: 20240523 Time: 144119     sap01-206 ( 98 ms )