Ansicht
Dokumentation

CL_PRP_BSP_C_ROLEPERSONSADD - PLM Development Projects - BSP Controller Applikationskopf

CL_PRP_BSP_C_ROLEPERSONSADD - PLM Development Projects - BSP Controller Applikationskopf

BAL_S_LOG - Application Log: Log header data   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 rolePersonsAdd.bsp, rolePersonsNew.bsp und rolePersonsDetail.bsp eine UI-Komponente und ermöglicht das Anlegen und Suchen von Geschäftspartnern, das Zuordnen zu einer Rolle, das Aufnehmen in die Favoritenliste und das Anzeigen der Details eines Geschäftspartners.

Je nach ausgeführter Aktion, wird eine der folgendem BSP-View aufgerufen.

Die rolePersonsAdd.bsp ist die default-View. Hier können Personen und Organisationen gesucht und entweder einer Rolle zugewiesen oder in die Favoritenliste aufgenommen werden.

Ist ein Benutzer noch nicht als Geschäftspartner angelegt, kann er diesen neu anlegen. Dazu wird die BSP-View rolePersonsNew.bsp aufgerufen.

Um sich die Details eines gefundenen Geschäftspartners anzusehen, wird die BSP-View rolePersonsDetail.bsp aufgerufen.

Methodenliste DO_INIT (Redefinition)

Diese Methode wird nur beim Instanzieren der Klasse aufgerufen. Dort wird die Methode GET_COUNTRY_NAMES aufgerufen, die die Tabelle mit den Ländernamen befüllt.

GET_COUNTRY_NAMES

In dieser Methode wird die Tabelle mit den Ländernamen zum Anlegen eines neuen Geschäftspartners gefüllt. Als Sprache wird dem Funktionsbaustein 'IW_C_COUNTRIES_GET' sy-langu mit gegeben.

DO_REQUEST (Redefinition)

Diese Methode ist für den Aufbau der BSP-View verantwortlich. Wenn ein Projekt nicht änderbar ist, werden alle Eingabefelder und Button deaktiviert, und es wird die BSP-View rolePersonsAdd.bsp aufgerufen.

DO_FINISH_INPUT (Redefinition)

Hier wird dieser Controller vom Input - Processing abgemeldet, um nur dann die eingehenden Daten zu verarbeiten, wenn die korrespondierende BSP-View auch wirklich sichtbar ist. Würde man den Controller nicht abmelden, würden jedes mal die Methoden DO_HANDLE_DATA, DO_HANDLE_EVENT und DO_FINISH_INPUT aufgerufen. Es wird die Methode ACTUALIZE_ROLE_NAVIGATOR aufgerufen.

DO_HANDLE_DATA (Redifinition)

In dieser Methode werden die Formular-Felder der Geschäftspartnersuche und für das Neuanlegen eines Geschäftspartners aus der BSP-Seite ausgelesen.

DO_HANDLE_EVENT (Redefinition)

Hier wird das Event-Handling für das Suchen, Anlegen und Zuordnen gesteuert.

CHECK_BUPA_NUMBER

Diese Methode prüft vor der Suche nach Geschäftspartnernummer, ob es sich bei der Eingabe um eine ganzzahligen Wert handelt.

GET_ASSIGNED_USER

Beim Anlegen eines Benutzers kann ein Benutzername eingegeben werden, um die bereits gepflegten Benutzerdaten vorzublenden. Beim Verprüfen des Benutzernamen wird auch geprüft, ob der Benutzername bereits einem Geschäftspartner zugeordnet ist. Ist dies der Fall, lädt die Methode die Daten des Geschäftspartners, um sie einzublenden.

GETDETAIL

Diese Methode lädt die Detaildaten eines gefundenen Geschäftspartners. Bei der email-Adresse und bei der Telefonnummer gibt es sowohl adressabhängige und -unabhängige Daten. Erst wird versucht, adressabhängige Daten zu laden.

GET_BUPA_GUID

Diese Methode wird aus der Methode DO_HANDLE_EVENT aufgerufen, wenn beim Suchen mehr als ein Suchergebnis gefunden wurde. Bevor ein Geschäftspartner einer Rolle oder den Favoriten zugeordnet wird, oder bervor die Details des Geschäftspartners angezeigt werden sollen, wird in dieser Methode die Bupa-Guid des aktuell ausgewählten Geschäftspartners ermittelt.

CREATE_BUPA

Diese Methode wird aus der Methode DO_HANDLE_EVENT aufgerufen, wenn eine anzulegende Person einer Rolle zugewiesen werden soll. Die Methode CREATE_RESOURCE der Klasse CL_PRP_RESOURCES wird mit den Daten der EIngabemaske rolePersonsNew.bsp versorgt und legt den Geschäftspartner im System an. Im Erfolgsfall wird der Returnparameter mv_rc_create_bupa = '0' zurück gegeben, und es wird der Geschäftspartner der aktuellen Rolle zugewiesen (Methode ASSIGN_BUPA).

Das Klassenattribut MV_NEW_BUPA_NAME_REQUIRED wird 'true' gesetzt, wenn kein Name für den Geschäftspartner eingeben wurde, damit das Pflichtfeld auf der Oberfläche rot gekennzeichnet werden kann.

SEARCH_BUPA

Diese Methode wird aus der Methode DO_HANDLE_EVENT aufgerufen, wenn nach einer Person oder einer Organisation nach dem Namen oder nach der Geschäftspartnernummer gesucht werden soll. Die angezeigneten Suchergebnisse enthalten den kompletten Namen, die Geschäftspartnernummer und - falls vorhanden - den Benutzernamen. Wenn mehrere Suchergebnisse gefunden werden, wird die Tabelle nach Nach- und Vorname sortiert.

Die maximale Anzahl an Suchergebnissen ist auf 50 beschränkt. Diese Angabe ist nicht customizebar.

ASSIGN_BUPA

Diese Methode wird aus der Methode DO_HANDLE_EVENT aufgerufen, wenn ein neuer Geschäftspartner angelegt oder ein Favorit einer Rolle zugeordnet werden soll.

Zuerst werden die Informationen Startdatum, Endedatum, Aufwand und die Einheit des Aufwandes der aktuellen Rolle dem Geschäftspartner als Initialwerte mit gegeben.

Wird ein Geschäftspartner der Rolle zugewiesen, wird er aus der Liste der Favoriten gestrichen.

BUPA_TO_FAVORITES

Diese Methode wird aus der Methode DO_HANDLE_EVENT aufgerufen, wenn ein gefundener Geschäftspartner den Favoriten zugeordnet werden soll. Es ist nicht möglich, einen Geschäftspartner mehrmals in die Favoritenliste aufzunehmen. Ausserdem ist es nicht möglich, einen Geschäftspartner in die Favoritenliste aufzunehmen, der bereits der aktuellen Rolle zugeordnet ist.

IS_ASSIGNED

Diese Methode prüft, ob ein Geschäftspartner bereits der aktuellen Rolle zugeordnet ist und wird aus der Methode BUPA_TO_FAVORITES aufgerufen.

CLEAR_ALL

Diese Methode wird aus der Methode DO_HANDLE_EVENT aufgerufen und löscht alle Suchergebnisse und Sucheinstellungen.

LAUNCH_MESSAGE

Diese Methode legt Fehlermeldungen aus der Nachrichtenklasse PRP_UI in der Klasse CL_CGPL_APPLICATION_LOG ab, wenn ein Geschäftspartner bereits einer Rolle zugeordnet ist, bereits als Favorit abgespeichert ist oder die eingebene Geschäftspartnernummer nicht ganzzahlig ist.

SET_TRAY_PARAMETER

In dieser Methode wird der Zustand des Trays 'Ressource Auswählen' der BSP-View rolePersonsAdd.bsp (Collapsed/Expand) in der Klasse CL_DPR_USER_SPECIFIC_SETTINGS abgespeichert, wenn auf der Oberfläche der Tray Button gedrückt wurde.

GET_TRAY_PARAMETER

Diese Methode wird beim ersten Aufruf der Klasse aus der Methode DO_REQUEST aufgerufen, um den letzten Zustand des Trays 'Ressource Auswählen' der BSP-View rolePersonsAdd.bsp (Collapsed/Expand) aus der Klasse CL_DPR_USER_SPECIFIC_SETTINGS zu laden.

ON_CLOSE_BUPA_DETAIL (Ereignisbehandler)

Diese Methode ist auf das Ereignis CLOSE_BUPA_DETAIL aus der Klasse CL_PRP_BSP_C_ROLENAVIGATOR registriert. Dieses Ereignis wird beim Rollenwechsel ausgelöst und sorgt dafür, das beim nächsten Aufbau die default-View rolePersonsAdd.bsp aufgerufen wird.

CHECK_HTML_GUI_BP

Hier wird überprüft, ob der Internet Transaction Server (ITS) konfiguriert ist. Erfolgsfall werden auf der Oberfläche Button eingeblendet, die das Ändern und Anlegen von Geschäftspartnern mit der BP Transaktion erlauben. Das Ändern und Anlegen von Geschäftspartnern aus der Applikation ist auf jeden Fall möglich.

SETUP_HTML_GUI_BP

In dieser Methode wird die URL für den ITS gebildet, die die Trasnaktion 'BP' startet. Wenn die entsprechende View wieder aufgebaut wird, wird ein neues Browserfenster geöffnet, in dem die BP-Transktion ausgeführt wird.

CHANGE_BUPA_DATA

Diese Methode ist für das Wechseln der Geschäftspartnerdaten aus der Applikation heraus verantwortlich.

GET_MAX_DATE

Diese Methode liefert das größte Datum zurück. Sie kann mit bis zu 5 Daten gefüllt werden. Es wird das größte Datum des Projektendes berechnet. Dieses wird für die Detail informationen gebraucht, um das Endedatum für den Zeitraum zu kennen, für den alle Projekte des Geschäftspartners aufgelistet werden sollen.

Im Moment wird für das Endedatum der 31.12.9999 eingesetzt.

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_APPLIC ATION 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   Fill RESBD Structure from EBP Component Structure  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 12907 Date: 20240426 Time: 072831     sap01-206 ( 222 ms )