Ansicht
Dokumentation

CL_PRP_BSP_C_ROLESKILLS - PLM Development Projects - BSP Controller Applikationskopf

CL_PRP_BSP_C_ROLESKILLS - PLM Development Projects - BSP Controller Applikationskopf

BAL Application Log Documentation   Fill RESBD Structure from EBP Component Structure  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Diese Controller-Klasse bildet mit den BSP-Views roleSkills.bsp und roleSkills_nchg.bsp eine UI-Komponente. Die Komponente dient als Verschalung der UI-Komponenten roleSkillsCat und roleSkillsSelect. Beide werden komplett neu aufgebaut (Complete Modus, roleSkills.bsp wird aufgerufen) oder nur bei verändertem Inhalt (Differential Modus, roleSkills.bsp oder roleSkills_nchg.bsp wird aufgerufen). Ob sich der Seiteninhalt geändert hat wird über das Attribut mv_changed gesteuert.

Der Kontroller besitzt 3 Modi:

ROLE: Qualifikation werden für die aktuelle Rolle definiert.

TASK: Qualifikation werden für die aktuelle Aufgabe definiert.

STAFF: Qualifikation werden als Bedingungen für die Ressourcensuche definiert.

Der aktuelle Modus wird an die abhängigen UI-Komponenten weitergegeben.

Methodenliste DO_REQUEST (reimplementiert)

Diese Methode ist für die Erzeugung und den Aufbau der BSP-View verantwortlich und startet je nach Modus die entsprechenden BSP-Seiten.

Beziehungen

Beispiel

Hinweise

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ß.






ABAP Short Reference   ABAP Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 4476 Date: 20240501 Time: 231757     sap01-206 ( 98 ms )