Ansicht
Dokumentation

CL_PRP_BSP_C_ROLESKILLSSELECT - PLM Development Projects - BSP Controller Applikationskopf

CL_PRP_BSP_C_ROLESKILLSSELECT - PLM Development Projects - BSP Controller Applikationskopf

ROGBILLS - Synchronize billing plans   ROGBILLS - Synchronize billing plans  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Diese Controller-Klasse bildet zusammen mit der BSP-Seite roleSkillsSelect.bsp eine UI-Komponente. Es wird eine Liste von selekteierten Qualifikationen ausgegeben, die von der UI-Komponente roleSkillsCat ausgewählt werden können.

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.

Der Kontroller besitzt 4 Modi (Attribut mv_mode):

READ: BSP-Seite wird im Lesemodus aufgerufen.

ROLE: die selektierte Qualifikationen bilden eine Anforderung an die aktuelle Rolle. Daten werden persistent gehalten. Schreibmodus.

TASK: die selektierte Qualifikationen bilden eine Anforderung an die aktuelle Aufgabe. Daten werden persistent gehalten. Schreibmodus.

STAFF: die selektierte Qualifikationen stellen Suchkriterien für die Ressourcensuche dar. Hier werden keine Daten persisten gehalten. Schreibmodus.

Methodenliste DO_REQUEST (redefiniert)

Diese Methode ist für die Erzeugung und den Aufbau der BSP-View verantwortlich. Zudem werden die selektierten Qualifikationen mittels der Methode GET_DATA geladen. Dies erfolgt nur initial oder wenn die Liste der selektierten Qualifikationen komplett neu geladen werden muß.

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. Die Verarbeitung unterscheiden sich in den verschiedenen Modi:

ROLE: Daten werden mit dem aktuellen Rollenobjekt verknüpft und in die Business-Logic geschrieben (siehe SET_ROLE_QUALIFICATIONS).

TASK: Daten werden mit dem aktuellen Aufgabenobjekt verknüpft und in die Business-Logic geschrieben (siehe SET_TASK_QUALIFICATIONS).

STAFF: Daten werden nur lokal gehalten.

READ: keine Verarbeitung.

DO_HANDLE_EVENT (redefiniert)

Hier werden die Events, die auf der zugehörigen View ausgelöst werden, verarbeitert.

GET_DATA

Hier werden selektierte Qualifikationen geladen. Diese unterscheiden sich in den verschiedenen Modi:

ROLE: Qualifikationen, die für die aktuelle Rolle definiert wurden.

TASK: Qualifikationen, die für die aktuelle Aufgabe definiert wurden.

STAFF: Qualifikationen, die für die aktuelle Rolle und alle Qualifikationen für Aufgaben, die mit der aktuellen Rolle verknüpftg sind. Kommen gleiche Qualifikationsanforderungen mehrfach vor, so werden sie vereinigt und die jeweils schärferen Ausprägungen übernommen.

ON_STAFFING_SEARCH_STARTED (Ereignisbehandler)

Behandlermethode des Ereignisses STAFFING_SEARCH_STARTED der Klasse CL_PRP_BSP_APPLICATION. Das Ereignis wird ausgelöst, wenn die Ressourcensuche gestartet wird. Ruft die Methode FILL_SEARCH_ENGINE auf.

Nur im Modus STAFF relevant.

FILL_SEARCH_ENGINE

Hier werden die Eingabefelder an den Such Manager (CL_PRP_SEARCH_MANAGEMENT) übergeben.

Nur im Modus STAFF relevant.

SET_ROLE_QUALIFICATIONS

Schreibt die selektierten Qualifikation in die Business-Logic und erstellt eine Verknüpfung zu der aktuellen Rolle.

DELETE_SKILLS

Hier wird eine Qualifikation aus der Liste der selektierten Qualifikationen gelöscht. Die Änderung wird wie in der Methode DO_HANDLE_DATA gespeichert.

ON_STAFFING_VIEW_STARTED (Ereignisbehandler)

Eventhandler: Die Ansicht Ressourcensuche wurde gestartet. Der Kontroller wird initialisiert.

ADD_SKILL

Hier wird eine Qualifikation der Liste der selektierten Qualifikationen hizugefügt und analog der Methode DO_HANDLE_DATA gespeichert.

ON_SKILL_SELECTED (Ereignisbehandler)

Eventhandler: eine Qualifikation wurde in der UI-Komponente roleSkillsCat selektiert. Diese Qualifikation wird mit der Methode ADD_SKILL verarbeitet.

ON_ACTIVE_ROLE_CHANGED (Ereignisbehandler)

Eventhandler: die aktuelle Rolle wurde gewechselt. Der Kontroller wird initialisiert.

Nur im Modus ROLE relevant. Ob eine aktuelle Aufgabe gewechselt wurde wir in der Methode DO_REQUEST abgefragt.

RAISE_CRITERIA_DEFINED

Hier wird das Ereignis CRITERIA_DEFINED aufgerufen, falls Qualifikationen definiert wurden, um den zugehörigen Tabreiter mit einem Haken zu kennzeichnen.

Nur im Modus STAFF relevant.

SET_ROW_SELECTION

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

Beziehungen

Beispiel

Hinweise

Das HTMLB Element tableview mit dem die Tabelle der selektierten Qualifikationen 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 Komponent, 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ß.






General Material Data   PERFORM Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 9407 Date: 20240426 Time: 134112     sap01-206 ( 147 ms )