Ansicht
Dokumentation

CL_PRP_BSP_C_STAFFSEARCHRESULT - PLM Development Projects - BSP Controller Applikationskopf

CL_PRP_BSP_C_STAFFSEARCHRESULT - PLM Development Projects - BSP Controller Applikationskopf

PERFORM Short Reference   CL_GUI_FRONTEND_SERVICES - Frontend Services  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Diese Controller-Klasse bildet mit den BSP-Views staffSearchResults.bsp eine UI-Komponente. Diese Komponente dient zur anzeiger der Ergebnisliste der Ressourcensuche. Ressourcen können hier zudem der Rolle fest zugewiesen oder in die Favoritenliste eigefügt werden.

Die BSP-Seite wird komplett neu aufgebaut (Complete Modus) oder nur bei verändertem Inhalt (Differential Modus). Ob sich der Seitenzustand geändert hat wird über das Attribut mv_changed gesteuert. Analog hält mv_data_changed ob sich auch zugehörige Daten geändert haben, welche neu aufbereitet werden müssen.

Methodenliste DO_REQUEST (redefiniert)

Diese Methode ist für die Erzeugung und den Aufbau der BSP-View verantwortlich. Die Treffer der Suche werden mit der Methode GET_DATA geladen und aufbereitet.

DO_FINISH_INPUT (redefiniert)

Hier wird dieser Controller vom Input - Processing abgemeldet, um nur dann die eingehenden Daten der BSP-Seite zu verarbeiten, wenn die Seite auch wirklich sichtbar ist.

DO_HANDLE_DATA (redefiniert)

Die Felder der zugehörigen View werden verarbeitet. In diesem Fall handelt es sich nur um die Markierungsleist der Tabelle.

DO_HANDLE_EVENT (redefiniert)

Hier werden die Events, die auf der zugehörigen View ausgelöst werden, verarbeitert. Hierzu gehört das Drücken der Knöpfe, Mailtasten und Links sowie das Bedienen der Spaltenüberschriften, um die Sortierreihenfolge festzulegen.

GET_DATA

Läd und formatiert das Suchergebnis für die Darstellung der BSP-View.

SORT_DATA

Soirtiert das Suchergebnis für die Darstellung der BSP-View. Wonach sortiert wird hängt davon ab, von welcher Tabellenspalte die Überschrift gedrückt wurde.

ON_STAFFING_SEARCH_STARTED (Ereignisbehandler)

Ereignisbehandler: Die Ansicht Ressourcensuche wurden selektiert. Der Kontroller muß initialisiert und die aktuelle Anzeige muß neu aufbereitet werden.

ON_ASSIGNED_LIST_CHANGED (Ereignisbehandler)

Ereignisbehandler: die Liste die der aktuellen Rolle fest zugeordneten Ressourcen hat sich geändert. Daher muß die BSP-Seite neu aufbereitet werden.

ON_FAVORITE_LIST_CHANGED (Ereignisbehandler)

Ereignisbehandler: die Liste der Favoriten der aktuellen Rolle hat sich geändert. Daher muß die aktuelle Anzeige neu aufbereitet werden. Daher muß die BSP-Seite neu aufbereitet werden.

ADD_FAVORITES

Ordnet eine oder mehrere Ressourcen der Favoritenliste der aktiven Rolle zu. Dies wird unterbunden, falls diese Ressourcen bereits fest der aktiven Rolle zugeordnet sind.

DELETE_FAVORITES

Löscht eine oder mehrere Ressourcen aus der Favoritenliste der aktiven Rolle.

ASSIGN_PERSONS

Ordnet eine oder mehrere Ressourcen fest der aktiven Rolle zu. Falls diese Ressourcen bereits Favoriten der Rolle sind werden sie aus der Liste der Favoriten entfernt.

IS_FAVORITE

Gibt zurück, ob eine Ressource ein Favorit der aktiven Rolle ist.

IS_ASSIGNED

Gibt zurück, ob eine Ressource der aktiven Rolle fest zugeordnet ist.

GET_NUMBER_OF_FAVORITES

Gibt die Anzahl der Favoriten der aktiven Rolle an.

GET_NUMBER_OF_ASSIGNED

Gibt die Anzahl der der aktiven Rolle fest zugewiesenen Ressourcen an.

GET_MAILTO_FOR_MANAGER

Normal;Erzeugt für den Manager (Geschäftspartner) einer Ressource (Geschäftspartner) eine Mailreferenz. Aus Gründen der Performance wird dieser erst zur Laufzeit erzeugt und der BSP-Seite übergeben. Dort wird er mittels Javascript aufgerufen, was ein installiertes Mailprogramm startet. Da die Länge des Statements die maximale Länge einer Javascriptzeile übersteigen, wird das Statement zerteilt und in einer internen Tabelle zurückgegeben.

LAUNCH_MESSAGE

Erzeugt eine Fehlermeldung und übergibt diese Meldung an das Application_log Objekt.

SET_ROW_SELECTION

Methode um alle Zeilen der Tabelle der ausgewählten Qualifikationen zu selektieren oder deselektieren.

ON_ACTIVE_ROLE_CHANGED (Ereignisbehandler)

Ereignisbehandler: die aktive Rolle hat sich geändert. Die Daten müssen neu geladen und die View erneut aufgebaut werden.

FILL_SKILL_TABLE

Diese Methode schreibt die Daten für den Profilabgleich der Ressourcensuche in eine transparente Datenbanktabelle. Vor dem Beschreiben werden die, in Abhängigkeit vom Benutzer, gespeicherten Datensätze aus der Tabelle gelöscht. Dieser Umweg ist nötig, da der eigentliche Profilabgleich in einem Detailfenster (eigene BSP-Application) dargestellt wird. Eine direkte Übergabe der Daten ist nicht möglich.

Dies ist eine vorübergehende Lösung.

Beziehungen

Beispiel

Hinweise

Das HTMLB Element tableview mit dem die Tabelle mit den Suchergebnissen dargestellt wird, wird über einen tableview -Iterator gesteuert (siehe die Dokumentation des tableView Elements). Dieser liefert die Möglichkeit in den Aufbau jeder Zelle der Tabelle zur Laufzeit zuzugreigfen. Die Klasse CL_PRP_BEE_HIVE, welche das Iteratorinterface implementiert wird bei den Klassenlokalen Typen definiert und in der Methode DO_REQUEST erzeugt.

Weiterführende Informationen

Austausch geänderter Seiteninhalte

Der Mechanismus zum Austausch geänderter Seiteninhalte (im Dokument "Technical UI-Design" als "Differential rendering" bezeichnet) ist im Framework der Basis enthalten. Der Mechanismus wird in der Anwendung "Development Projects" als Erweiterung des Komponenten-Framework durch Anwendung folgender Regeln realisiert:

  • Das Layout jeder Komponente wird in ein div-Tag mit der ID der Komponente eingeschlossen (-> BSP View)
  • Der Controller der Komponente erhält ein Attribut "differential", das den Aufruf-Modus steuert
  • Der Controller muß über Änderungen seines eigenen Inhalts informiert sein
  • Der Controller macht Ausgaben vom Änderungs-Zustand und vom Aufruf-Modus abhängig:
  • Wurde der Controller im "complete"-Modus aufgerufen (differential ist initial), gibt der Controller seinen kompletten Inhalt aus und ruft eingebettete Komponenten ebenfalls im "complete"-Modus auf

  • Wurde der Controller im "differential"-Modus aufgerufen (differential = "X") und sein eigener Inhalt wurde seit dem letzten Request verändert, gibt der Controller seinen kompletten Inhalt aus und ruft eingebettete Komponenten im "complete"-Modus auf

  • Wurde der Controller im "differential"-Modus aufgerufen (differential = "X") und sein eigener Inhalt wurde seit dem letzten Request nicht verändert, gibt der Controller seinen eigenen Inhalt nicht aus und ruft eingebettete Komponenten im "differential"-Modus auf. Zusätzlich gibt der Controller außerhalb des die Komponente einschießenden div-Tag"s einen JavaScript-Block zum Ersetzen des Inhalts aus (CL_DPR_BSP_APPLICATION stellt dazu die Methode WRITE_REPLACE_SCRIPT zur Verfügung).

Eine Komponente, die den Austausch geänderter Seiteninhalte unterstützt kann jederzeit von einer anderen Komponente, die den Mechanismus nicht unterstützt, im "complete"-Mode (ist Default, wenn der Parameter "differential" nicht übergeben wird) aufgerufen werden.

Umgekehrt kann auch eine Komponente, die den Austausch geänderter Seiteninhalte nicht unterstützt, von einer Komponente, die den Mechanismus unterstützt, aufgerufen werden. Sofern die aufrufende Komponente über Änderungen der aufgerufenen Komponente nicht informiert ist, muß sie davon ausgehen, dass die aufgerufene Komponente geändert wurde. Letztendlich bedeutet das, dass sich die aufrufende Komponente dann immer so verhalten muß, als ob ihr eigener Inhalt verändert wurde und den kompletten Inhalt (ggf. mit Replace Script) ausgeben muß.






CPI1466 during Backup   General Data in Customer Master  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 9552 Date: 20240425 Time: 033027     sap01-206 ( 189 ms )