Ansicht
Dokumentation

CL_PRP_BSP_C_ROLEAPPNAV - PLM Development Projects - BSP Controller Applikationskopf

CL_PRP_BSP_C_ROLEAPPNAV - PLM Development Projects - BSP Controller Applikationskopf

CL_GUI_FRONTEND_SERVICES - Frontend Services   General Material Data  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

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_DAY

Navigiert 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_WEEK

Navigiert 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_DATA

Lä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_DATE

Prü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_MESSAGE

Eine Fehlermeldung wird erzeugt und ausgegeben.

NAVIGATE

Setzt 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_DATE

Navigiert 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 )