Ansicht
Dokumentation

CL_PRP_BSP_C_ROLEAPPDETAIL - PLM Development Projects - BSP Controller Applikationskopf

CL_PRP_BSP_C_ROLEAPPDETAIL - PLM Development Projects - BSP Controller Applikationskopf

rdisp/max_wprun_time - Maximum work process run time   General Data in Customer Master  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Dieser Kontroller bildet zusammen mit den BSP-Seiten roleAppointmentDay.bsp und roleAppointmentWeek.bsp eine UI-Komponente. Sie dient zur Anzeige einer Tages- (roleAppointmentDay.bsp) oder Wochenansicht (roleAppointmentWeek.bsp) des Kalenders eines Geschäftspartners. In welcheer Ansicht sich die Komponente befindet wird über das Attribut mv_currentview (= WEEK | DAY) gesteuert.

Die BSP-Seite wird komplett neu aufgebaut (Complete Modus) oder nur bei verändertem Inhalt (Differential Modus). Ob sich der Seiteninhalt 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.

Methodendefinitionen DO_REQUEST (redefiniert)

Diese Methode ist für die Erzeugung und den Aufbau der BSP-View verantwortlich. Je nach Wert des Attributs mv_currentview werden die BSP-Seiten roleAppointmentDay.bsp oder roleAppointmentWeek.bsp und die entsprechenden Kalenderdaten geladen. GET_DATA_DAY läd die Daten für einen Tag, GET_DATA_WEEK für eine Woche.

DO_INIT (redefiniert)

Hier werden initiale Einstellungen getätigt: die Tagesansicht wird eingestellt (mv_currentview = DAY) und der aktuelle Tag wird voreingestellt (mv_currentday = sy-datum). Zudem wird der sichtbare Zeitraum der Tagesansicht geladen.

DO_HANDLE_EVENT (redefiniert)

Reagiert auf BSP-Events, wie das Ändern des sichtbaren Zeitraums der Tagesansicht oder das Anklicken eines Termins.

SET_VISIBLE_RANGE

Setzt den sichtbaren Zeitraum der Tagesansicht. Wurden hier unplausible WErte vorgegeben, wie z.B. Endezeit von Startzeit, so wird eine entsprechende Fehlermeldung ausgegeben.

CHANGE_VIEW

Die aktuelle Ansicht wird von Tag auf Woche oder umgekehrt gewechselt.

GET_DATA_WEEK

Läd die Daten der Wochenansicht. Hierzu gehören einerseits die Termine, andererseits Tageskartenüberschriften und Formatierungsinformationen. Diese Informationen werden in der internen Tabelle mt_cal_ui gehalten.

GET_DATA_DAY

Läd die Daten der Tagesansicht. Hierzu gehören einerseits die Termine, andererseits die Tageskartenüberschriften und Formatierungsinformationen. Informationen über die Formatierung der einzelnen Tagesstunden werden in der internen Tabelle mt_format_ui gehalten. Die Detaildaten jeder einzelnen Stunde in der internen Tabelle mt_cal_ui.

ON_DATE_SELECTED (Ereignisbehandler)

In dem UI-Kontroller roleAppointmentsNav wurde ein Datum oder eine Woche ausgewählt. Die Komponente roleAppointmentsDetail muß dementsprechend aktualisiert werden.

ON_BUPA_LINK_SELECTED (Ereignisbehandler)

In dem UI-Kontroller rolePersonAssign wurde ein anderer Geschäftspartner ausgewählt. Die Komponente roleAppointmentsDetail muß dementsprechend aktualisiert werden, um für diese Person den Kalender anzuzeigen.

ON_TAPSTRIP_APPOS_SELECTED (Ereignisbehandler)

Der Tabreiter Termine in die die Komponente eingebunden ist wurde selektiert. Der Kalender wird daraufhin initialisiert, da der Geschäftspartner, für den der Kalender aufbereitet wurde, evtl. gelöscht sein könnte.

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 Material Data   General Material Data  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 7070 Date: 20240328 Time: 214952     sap01-206 ( 131 ms )