Ansicht
Dokumentation
CL_PRP_BSP_C_ROLEAPPNAV - PLM Development Projects - BSP Controller Applikationskopf
CL_GUI_FRONTEND_SERVICES - Frontend Services General Material DataDiese Dokumentation steht unter dem Copyright der SAP AG.
Funktionalität
Dieser Kontroller bildet zusammen mit der BSP-Seite roleAppointmentsNav.bsp eine UI-Komponente. Es können Datümer oder Kalenderwochen selektiert werden, nach denen sich die UI-Komponenten roleAppointmentsDetail und roleAppointmentsMod ausrichten. Zusätzlich werden in dem zugehörigen HTMLB-Element dateNavogator alle Tage mit Terminen gekennzeichnet.
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.
Methodendefinitionen 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).
DO_REQUEST (redefiniert)Diese Methode ist für die Erzeugung und den Aufbau der BSP-View verantwortlich.
DO_HANDLE_EVENT (redefiniert)Hier werden die Events die auf der zugehörigen View ausgelöst werden verarbeitert.
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 zwischengespeichert, in diesem Falle das manuel eingegeben Datum auf das navigiert werdne soll.
SET_DAYNavigiert auf einen Tag und setzt diesen als aktiv. Entsprechende Ereignisse werden ausgelöst um abhängige Kontroller zu informieren. Das Attribut mv_currentday hält diesen Tag, mv_currentweek die zugehörige Kalenderwoche.
SET_WEEKNavigiert auf eine Woche und setzt diese als aktiv. Entsprechende Ereignisse werden ausgelöst um abhängige Kontroller zu informieren. Das Attribut mv_currentweek hält diese Kalenderwoche.
GET_DATALäd Daten, die auf der Maske angezeigt werden. Dieses sind der heutige Tag, der selektierte Tag/ die selektierte Woche und alle Tage bei denen Termine eingetragen sind.
ON_APPOINTMENT_SELECTED (Ereignisbehadler)Eine Termin wurde selektiert (UI-Komponente roleAppointmentsDetail) oder neu angelegt (UI-Komponente roleAppointmentsMod) auf den nun navigiert wird.
ON_CALENDAR_VIEW_CHANGED (Ereignisbehadler)Die Kalenderansicht wurde in der UI-Komponente roleAppointmentsDetail von Tag auf Woche oder umgekehrt gewechselt. Dementsprechend muß diese Woche oder dieser Tag markiert werden.
GET_DATEPrüft, ob ein übergebenes Datum ein zulässigen Format hat. Ansonsten wird mit der Methode LAUNCH_MESSAGE eine Fehlermeldung ausgegeben.
ON_BUPA_LINK_SELECTED (Ereignisbehadler)Eine neuer Geschäftspartner wurde selektiert (UI-Komponente rolePersonAssign). Dementsprechend wird die Komponente initialisiert und die existierenden Termine dieses Geschäftspartners in den dateNavigator eingetragen.
LAUNCH_MESSAGEEine Fehlermeldung wird erzeugt und ausgegeben.
NAVIGATESetzt das Navigationsdatum (Attribut mv_navdate) neu, falls einen Monat vorwärts oder rückwärts navigiert wurde. Das Navigationsdatum ist immer der 15. des Monats der rechten Seite des HTMLB-Elements dateNavigator.
NAVIGATE_TO_DATENavigiert auf ein Datum oder eine Woche und macht diese aktuell. Das Argument iv_left_side wiird hier verwendet um anzugeben, ob das Datum auf der linken oder rechten Seite der beiden Monate des HTMLB-Elements dateNavigator angezeigt wird. Je nachdem ob auf einen Tag oder eine Woche navigiert wird, werden die Methoden SET_WEEK und SET_DAY aufgerufen.
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ß.
BAL Application Log Documentation General Material Data
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 7691 Date: 20240423 Time: 202250 sap01-206 ( 132 ms )