Ansicht
Dokumentation

CL_PRP_BSP_C_STAFFSEARCH - PLM Development Projects - BSP Controller Applikationskopf

CL_PRP_BSP_C_STAFFSEARCH - PLM Development Projects - BSP Controller Applikationskopf

Addresses (Business Address Services)   SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

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

Methodenliste DO_REQUEST (redefiniert)

Diese Methode ist für die Erzeugung und den Aufbau der BSP-View verantwortlich.

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






General Data in Customer Master   Vendor Master (General Section)  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 4089 Date: 20240426 Time: 115808     sap01-206 ( 82 ms )