Configurer l'intégration d'objet métier spécifique

Dans cette dernière section, vous allez effectuer les étapes requises pour ajouter l'interface utilisateur de dossier intégré OCM dans un objet métier d'application Oracle Sales and Service spécifique.

Dans cette section, nous utiliserons à nouveau les opportunités, mais tous les objets métier peuvent être mis à jour à l'aide de ces étapes, telles que les demandes de service, les campagnes, les événements, etc. Cela implique la création d'un champ personnalisé dans l'opportunité de stocker l'ID de dossier OCM unique. Ces étapes ajouteront également l'onglet Documents à la page de détails de l'opportunité qui affiche l'interface utilisateur de dossier imbriqué OCM via un regroupement à l'aide de l'ID de dossier OCM propre à l'opportunité.

Créer un champ personnalisé

Un champ personnalisé est propre à l'objet fonctionnel dans lequel il est créé. Ces variables sont propres à chaque instance des objets fonctionnels créés.

Pour créer un champ personnalisé contenant l'ID de dossier OCM unique associé à l'élément d'opportunité spécifique :
  1. Pour entrer à nouveau dans Application Composer, cliquez sur Outils dans le coin supérieur gauche de la page, puis sélectionnez Application Composer dans la liste déroulante.
  2. Sélectionnez Objets, Objets standard, Opportunité, puis Champs dans le menu de navigation de gauche.
  3. Sur la page Champs, sélectionnez l'onglet Personnalisé et cliquez sur l'icône Créer un champ personnalisé.
  4. Dans la boîte de dialogue Sélectionner un type de champ, sélectionnez l'option Texte et cliquez sur OK.
  5. Dans la page Créer un champ de texte, procédez comme suit :

    1. Dans le champ Libellé d'affichage, indiquez le nom OCMFolderId. Le champ Nom est automatiquement renseigné en fonction de la valeur indiquée dans le champ Libellé d'affichage.
    2. Dans le champ Description, entrez le texte "Variable personnalisée pour l'objet Opportunité spécifique afin de stocker l'ID de dossier unique utilisé par l'intégration Collaboration sur les opportunités OCM".
    3. Cliquez sur Enregistrer et fermer.

Etendre l'objet métier

Les objets métier peuvent être étendus à l'aide d'une combinaison (comme celle que nous avons créée ci-dessus) pour exposer une application externe telle qu'OCM dans l'interface utilisateur des objets métier.

Pour créer une nouvelle mise en page d'opportunité afin d'inclure l'intégration OCM :
  1. Sélectionnez Objets standard, Opportunité, puis Pages dans le menu de navigation de gauche.
  2. Sur la page Opportunité : Pages, dans la section Présentations de la page de détails, cliquez sur Dupliquer la disposition de la page de détails.

    Remarque :

    Si une page personnalisée a déjà été créée, elle peut être utilisée pour l'intégration OCM au lieu de créer une page et l'étape 3 peut être ignorée.
  3. Dans la boîte de dialogue Dupliquer la présentation, renseignez les champs suivants :

    1. Dans le champ Nom de la nouvelle présentation, indiquez le nom OCMEmbeddedUIIntegration.
    2. Dans le champ Présentation source, sélectionnez Présentation standard dans le menu déroulant.
    3. Cliquez sur Enregistrer et modifier.
  4. Sur la page Présentation des détails, sélectionnez l'icône Ajouter en bas du menu de navigation de gauche dans la section Région Sous-onglets pour ajouter l'interface utilisateur intégrée OCM.
  5. Sélectionnez l'option Contenu composite. Cliquez ensuite sur Suivant.
  6. Sur la page suivante, sélectionnez l'option OCMEmbeddedFolderUIMashup créée précédemment et cliquez sur Insérer.
  7. Sur la page suivante, renseignez les champs suivants :

    1. Dans le champ Libellé d'affichage, entrez Documents.
    2. Pour Icône d'affichage, cliquez sur Modifier l'icône afin qu'une icône en forme de document s'affiche dans l'interface utilisateur des opportunités sous forme d'onglet.
    3. Dans le champ Modifier le script, collez le script suivant :
      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}}}'
      

      Remarque :

      Ce script affecte automatiquement le rôle de responsable à chaque utilisateur accédant au dossier. Cela peut être affiné pour accorder au propriétaire de l'opportunité le rôle de responsable tout en donnant à d'autres utilisateurs le rôle de contributeur.
    4. Cliquez sur le bouton Suivant.
    5. Cliquez sur Enregistrer et fermer.

Ajout de déclencheurs d'événement

Un déclencheur d'événement vérifie la présence d'un événement et, lorsque cet événement se produit, il exécute le code associé au déclencheur.

OCMCreateFolderTrigger

Pour ajouter un déclencheur d'objet de script serveur afin de créer le dossier OCM associé lors de la création de l'opportunité :

  1. Sélectionnez Objets standard, Opportunité, puis Scripts serveur dans le panneau de navigation de gauche.
  2. Sur la page Opportunité des scripts de serveur, sélectionnez l'onglet Déclencheurs.
  3. Sous la section Déclencheurs d'objet, cliquez sur Ajouter un nouveau déclencheur.
  4. Sur la page Créer un déclencheur d'objet, renseignez les champs suivants :

    1. Dans le menu déroulant Déclencheur, sélectionnez Avant l'insertion dans la base de données.
    2. Dans le champ Trigger Name, indiquez le nom du déclencheur comme OCMCreateFolderTrigger.
    3. Dans le champ Description, entrez le texte "Créer le dossier OCM associé à l'opportunité en cours de création".
    4. Dans le champ Modifier le script, collez le script suivant, en remplaçant <OCMRootFolderId> par l'ID de dossier racine OCM réel capturé dans OCM lors des étapes initiales ci-dessus (par exemple, 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)
    5. Cliquez sur Enregistrer et fermer.

OCMDeleteFolderTrigger

Pour ajouter un déclencheur d'objet de script de serveur, dans une nouvelle page Créer un déclencheur d'objet, afin de supprimer le dossier OCM associé lorsque l'opportunité est supprimée :

Remarque :

L'implémenteur peut choisir de ne pas implémenter cette étape s'il s'avère que tout contenu placé dans le dossier d'opportunités OCM doit être conservé même après la suppression de l'opportunité.


  1. Dans le menu déroulant Déclencheur, sélectionnez Avant la suppression dans la base de données.
  2. Dans le champ Trigger Name, indiquez le nom du déclencheur comme OCMDeleteFolderTrigger.
  3. Dans le champ Description, entrez "Supprimer le dossier OCM associé à l'opportunité en cours de suppression".
  4. Dans le champ Modifier le script, collez le script suivant :
    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?")
    }
  5. Cliquez sur Enregistrer et fermer.