Spezifische Geschäftsobjektintegration konfigurieren
In diesem letzten Abschnitt führen Sie die erforderlichen Schritte aus, um die eingebettete OCM-Ordner-UI in einem bestimmten Oracle Sales and Service-Anwendungsgeschäftsobjekt hinzuzufügen.
In diesem Abschnitt werden wir wieder Verkaufsprojekte verwenden, aber alle Geschäftsobjekte können mit diesen Schritten wie Serviceanfragen, Kampagnen, Veranstaltungen usw. aktualisiert werden. Damit wird ein benutzerdefiniertes Feld innerhalb der Opportunity zum Speichern der eindeutigen OCM-Ordner-ID erstellt. Mit diesen Schritten wird auch die Registerkarte "Dokumente" zur Seite "Verkaufsprojektdetails" hinzugefügt, auf der die eingebettete OCM-Ordner-UI über einen Mashup mit der spezifischen OCM-Ordner-ID für das Verkaufsprojekt angezeigt wird.
Benutzerdefiniertes Feld erstellen
Ein benutzerdefiniertes Feld ist spezifisch für das Geschäftsobjekt, in dem es erstellt wird. Diese Variablen sind für jede Instanz der erstellten Geschäftsobjekte eindeutig.
- Um den Application Composer erneut einzugeben, klicken Sie in der oberen linken Ecke der Seite auf Extras, und wählen Sie Application Composer aus der Dropdown-Liste aus.
- Wählen Sie Objekte, Standardobjekte, Verkaufsprojekt, Felder aus dem linken Navigationsmenü.
- Wählen Sie auf der Seite "Felder" die Registerkarte Benutzerdefiniert aus, und klicken Sie auf das Symbol Benutzerdefiniertes Feld erstellen.
- Wählen Sie im Dialogfeld "Feldtyp auswählen" die Option Text aus, und klicken Sie auf OK.
- Gehen Sie auf der Seite "Textfeld erstellen" wie folgt vor:
- Geben Sie im Feld Anzeigelabel den Namen OCMFolderId an. Das Feld Name wird basierend auf dem im Feld Anzeigelabel angegebenen Wert automatisch ausgefüllt.
- Geben Sie im Feld Beschreibung den Text "Benutzerdefinierte Variable für das spezifische Verkaufsprojektobjekt" ein, um die eindeutige Ordner-ID zu speichern, die für die Integration von OCM Opportunities Collaboration verwendet wird."
- Klicken Sie auf Speichern und schließen.
Geschäftsobjekt erweitern
Geschäftsobjekte können mit einem Mashup (wie dem oben erstellten) erweitert werden, um eine externe Anwendung wie OCM in der Geschäftsobjekt-UI bereitzustellen.
- Wählen Sie Standardobjekte, Verkaufsprojekt, Seiten aus dem linken Navigationsmenü.
- Klicken Sie auf der Seite "Verkaufsprojekt: Seiten" im Abschnitt "Detailseitenlayouts" auf Seitenlayout für doppelte Details.
Hinweis:
Wenn bereits eine benutzerdefinierte Seite erstellt wurde, kann diese für die OCM-Integration verwendet werden, anstatt eine neue Seite zu erstellen. Schritt 3 kann übersprungen werden. - Füllen Sie im Dialogfeld "Layout duplizieren" die folgenden Felder aus:
- Geben Sie im Feld Neuer Layoutname den Namen als OCMEmbeddedUIIntegration an.
- Wählen Sie im Feld Quelllayout im Dropdown-Menü die Option Standardlayout aus.
- Klicken Sie auf Speichern und bearbeiten.
- Wählen Sie auf der Seite "Detaillayout" unten im linken Navigationsmenü im Abschnitt "Unterregisterkarten" das Symbol Hinzufügen, um die eingebettete OCM-UI hinzuzufügen.
- Wählen Sie die Option Mashup-Inhalt. Klicken Sie dann auf Weiter.
- Wählen Sie auf der nächsten Seite die zuvor erstellte Option OCMEmbeddedFolderUIMashup aus, und klicken Sie auf Einfügen.
- Füllen Sie auf der nächsten Seite die folgenden Felder aus:
- Geben Sie im Feld Label anzeigen Dokumente ein.
- Klicken Sie unter Anzeigesymbol auf Symbol ändern, damit ein Dokumentsymbol in der Verkaufsprojekt-UI als Registerkarte angezeigt wird.
- Fügen Sie im Feld Skript bearbeiten das folgende Skript ein:
println("Opportunity Documents Tab Selected: " + Name) // Get the current user security context def secCtx = adf.context.getSecurityContext() // Get the current OCM user id based off the current Oracle Sales and Service User def OCMUserId = adf.util.OCMSearchUserFunction(secCtx.getUserName()) // Now check to see if the OCM user has been shared to this folder boolean isFolderShared = adf.util.OCMIsFolderSharedFunction(OCMFolderId_c, OCMUserId) if (!isFolderShared) { // Share the current user as a Manager to the OCM Folder associated to this item adf.util.OCMShareFolderFunction(OCMFolderId_c, OCMUserId, "manager") } println("Loading OCM Embedded Docs UI") return OCMFolderId_c +'?options={"documentsView":{"layout":"grid","header":{"create":{"folder":true},"upload":true,"trash":true},"actions":{"open":{"file":true},"uploadNewVersion":true,"download":true,"delete":true,"shareLink":true,"members":true}},"documentViewer":{"actions":{"download":true,"uploadNewVersion":true,"shareLink":true},"sidebar":{"conversation":true}}}'
Hinweis:
Dieses Skript weist jedem Benutzer, der auf den Ordner zugreift, automatisch die Managerrolle zu. Dies könnte potenziell weiter verfeinert werden, um dem Vertriebschancenverantwortlichen die Managerrolle zu erteilen und anderen Benutzern die Rolle des Mitwirkenden zu erteilen. - Klicken Sie auf die Schaltfläche Weiter.
- Klicken Sie auf Speichern und schließen.
Ereignistrigger hinzufügen
Ein Ereignistrigger prüft auf ein Ereignis. Wenn dieses Ereignis eintritt, führt er den mit dem Trigger verknüpften Code aus.
OCMCreateFolderTrigger
So fügen Sie einen Server-Skriptobjekt-Trigger hinzu, um den zugehörigen OCM-Ordner beim Erstellen der Vertriebschance zu erstellen:
- Wählen Sie Standardobjekte, Verkaufsprojekt, Serverskripte im linken Navigationsbereich aus.
- Wählen Sie auf der Seite "Absatzchancen für Serverskripte" die Registerkarte Trigger.
- Klicken Sie im Abschnitt "Objekt-Trigger" auf Neuen Trigger hinzufügen.
- Füllen Sie auf der Seite "Objekt-Trigger erstellen" die folgenden Felder aus:
- Wählen Sie im Dropdown-Menü Trigger die Option Vor Einfügen in Datenbank.
- Geben Sie im Feld Triggername den Triggernamen als OCMCreateFolderTrigger an.
- Geben Sie im Feld Beschreibung den Text "Erstellen Sie den OCM-Ordner, der dem zu erstellenden Verkaufsprojekt zugeordnet ist".
- Fügen Sie im Feld Skript bearbeiten das folgende Skript ein, und ersetzen Sie
<OCMRootFolderId>
durch die tatsächliche OCM-Root-Ordner-ID, die in OCM in den ersten Schritten oben erfasst wurde (Beispiel: F572711F9E557436A646AEC295F044A3C39B0):println("Opportunity.BeforeInsert(OCMCreateFolderTrigger): " + Name) def OCMParentFolderId = "<OCMRootFolderId>" // Create a new OCM folder under the parent folder based off the item name println("Create OCM Opportunity Folder under Pararent Folder Id: " + OCMParentFolderId) def OCMFolderId = adf.util.OCMCreateFolderFunction(OCMParentFolderId, Name) // and assign that new folder id to the OCMFolderId item variables setAttribute("OCMFolderId_c", OCMFolderId)
- Klicken Sie auf Speichern und schließen.
OCMDeleteFolderTrigger
Hinweis:
Der Implementierer kann diesen Schritt möglicherweise nicht implementieren, wenn festgestellt wird, dass alle Inhalte im OCM-Verkaufsprojektordner auch nach dem Löschen des Verkaufsprojekts beibehalten werden sollen.- Wählen Sie im Dropdown-Menü Trigger die Option Vor dem Löschen in der Datenbank aus.
- Geben Sie im Feld Triggername den Triggernamen als OCMDeleteFolderTrigger an.
- Geben Sie im Feld Beschreibung den OCM-Ordner ein, der dem zu löschenden Verkaufsprojekt zugeordnet ist.
- Fügen Sie im Feld Skript bearbeiten das folgende Skript ein:
println("Opportunity.BeforeDelete(OCMDeleteFolderTrigger): " + Name + "(" + OCMFolderId_c + ")") // Make sure that we have a folder to delete if (OCMFolderId_c != null) { adf.util.OCMDeleteFolderFunction(OCMFolderId_c) } else { println("Warning: No OCMFolderId associated to the Opportunity?") }
- Klicken Sie auf Speichern und schließen.