Configurer l'intégration d'objet fonctionnel spécifique

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

Dans cette section, nous utiliserons à nouveau les demandes de service, mais tous les objets métier peuvent être mis à jour à l'aide de ces étapes, telles que les opportunités, les campagnes, les événements, etc. Cela implique des champs personnalisés dans la demande de service pour stocker l'ID de référentiel de ressources de base OCM ainsi que l'ID de collecte OCM unique. Ces étapes permettent également d'ajouter un onglet Actifs à la page de détails de la demande de service qui présente l'interface utilisateur du référentiel d'actifs intégré OCM via un regroupement à l'aide de l'ID de collecte OCM propre à la demande de service. Une fois qu'une demande de service a été résolue, tous les documents OCM associés seront également copiés dans la collection du référentiel de ressources OCM.

Créer des champs personnalisés

Un champ personnalisé est propre à l'objet fonctionnel dans lequel il est créé. Ces variables sont accessibles par l'objet fonctionnel et peuvent être uniques pour chaque instance des objets métier créés.

ID collection OCM

Un champ personnalisé est propre à l'objet fonctionnel dans lequel il est créé. Ces variables sont accessibles par l'objet fonctionnel et peuvent être uniques pour chaque instance des objets métier créés.

Pour créer un champ personnalisé contenant l'ID de collecte OCM unique associé à l'élément de demande d'assistance 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. Choisissez Objets, Objets standard, Demande d'assistance, 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. Sur la page Créer un champ de texte, renseignez les champs suivants :

    1. Dans le champ Libellé d'affichage, indiquez le nom OCMCollectionId. 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 de demande de service spécifique afin de stocker l'ID de collecte de référentiel d'immobilisations unique utilisé par l'intégration Gestion des enregistrements de référentiel d'immobilisations OCM".
    3. Cliquez sur Save, puis sur Close.

ID référentiel de base OCM

Pour créer un champ personnalisé dans une nouvelle page Créer un champ de texte contenant l'ID du référentiel de ressources de base OCM requis pour les éléments de demande d'assistance, renseignez les champs suivants :

  1. Dans le champ Libellé d'affichage, indiquez le nom OCMBaseRepositoryId. 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 contenant l'ID de référentiel de base OCM utilisé comme emplacement où les collections seront créées pour l'intégration OCM Asset Repository Records Management".
  3. Dans la section Contraintes, désélectionnez Mise à jour possible.
  4. Dans le champ Valeur fixe, entrez la valeur de l'ID du référentiel de ressources de base OCM enregistré ci-dessus (par exemple, 12424F28875F405FB2144A6FD4DD9FC).
  5. Cliquez sur Enregistrer et fermer.

Etendre l'objet fonctionnel

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 mise en page de demande d'assistance afin d'inclure l'intégration OCM :
  1. Choisissez Objets, Objets standard, Demande d'assistance, puis Pages dans le menu de navigation de gauche.
  2. Sur la page Demande d'assistance : Pages, dans la section Mises en page de détails, cliquez sur l'icône Mise en page de détails en double.

    Remarque :

    Si une page personnalisée a déjà été créée, elle peut être utilisée pour l'intégration des ressources 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 Masquer le contenu. Cliquez sur Suivant.
  6. Sur la page suivante, sélectionnez l'option OCMEmbeddedAssetsUIMashup 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 Immobilisations.
    2. Pour l'icône d'affichage, cliquez sur Modifier l'icône si vous souhaitez modifier l'icône par défaut affichée dans l'interface utilisateur de demande de service sous forme d'onglet.
    3. Dans le champ Edit Script, collez le script suivant :
      println("Service Request Assets Tab Selected: " + SrNumber)
      
      // Get the current user security context
      def secCtx = adf.context.getSecurityContext()
      
      // Check to see if the OCM user has been shared to this Repository Collection
      // NOTE: The user must already be manually shared as at least a contributor to the Base Repository either directly or indirectly through a group for this integration to work
      boolean isCollectionShared = adf.util.OCMIsRepositoryCollectionSharedAsContributorFunction(OCMBaseRepositoryId_c, OCMCollectionId_c, secCtx.getUserName())
      if (!isCollectionShared) {
        // If not then share the current user as a Contributor to the OCM Collection associated to this item
        adf.util.OCMShareCollectionFunction(OCMCollectionId_c, secCtx.getUserName(), "contributor")
      }
      
      println("Loading OCM Embedded Assets UI")
      return '?options={"assetsView":{"select":"single","layout":"grid","sort":"relevance","header":{"add":{"upload":true,"documents":true},"collections":true},"filter":{"bar":{"capsules":false},"repositories":["' + OCMBaseRepositoryId_c + '"],"collections":["' + OCMCollectionId_c + '"]},"filterValue":{"repositoryId":"' + OCMBaseRepositoryId_c + '","collectionId":"' + OCMCollectionId_c + '","includeChildCategories":false},"sidebar":{"categories":true,"conversation":true,"properties":true},"actions":{"open":true,"download":true,"uploadNewVersion":true,"delete":true},"card":{"status":false}},"assetViewer":{"header":{"annotate":true,"fullScreen":true,"close":true},"actions":{"download":true,"uploadNewVersion":true,"makeCurrent":true},"sidebar":{"categories":true,"conversation":true,"properties":true,"renditions":true}},"dialogs":{"addToRepository":{"sidebar":{"categories":true},"default":{"collections":["' + OCMCollectionId_c + '"]}}}}'
      

      Remarque :

      Ce script affecte automatiquement le rôle de contributeur à chaque utilisateur accédant à la collection de référentiels de ressources spécifique. Cela pourrait être affiné, par exemple, pour accorder au propriétaire de la demande d'assistance le rôle de responsable tout en accordant à 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 recherche un événement et lorsque celui-ci survient, il exécute le code associé au déclencheur.

OCMCreateCollectionTrigger

Pour ajouter un déclencheur d'objet de script de serveur afin de créer la collection de référentiels de ressources OCM associée lors de la création de la demande d'assistance :

  1. Sélectionnez Objets, Objets standard, Demande de service, puis Scripts de serveur dans le volet de navigation de gauche.
  2. Sur la page Server Scripts Service Request, sélectionnez l'onglet Triggers.
  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 d'insérer dans la base de données.
    2. Dans le champ Nom du déclencheur, indiquez le nom du déclencheur OCMCreateCollectionTrigger.
    3. Dans le champ Description, entrez le texte "Créer la collection de référentiels de ressources OCM associée à ServiceRequest en cours de création".
    4. Dans le champ Edit Script, collez le script suivant :
      println("ServiceRequest.BeforeInsert(OCMCreateCollectionTrigger): " + SrNumber);
      
      // Create a new Collection within the specified Asset Repository Id based off the item SrNumber
      def OCMCollectionId = adf.util.OCMCreateRepositoryCollectionFunction(OCMBaseRepositoryId_c, SrNumber);
      setAttribute("OCMCollectionId_c", OCMCollectionId);
      
    5. Cliquez sur Enregistrer et fermer.

OCMCopyDocumentsToCollectionTrigger

Pour ajouter un déclencheur d'objet de script de serveur dans une nouvelle page Créer un déclencheur d'objet afin de copier les documents d'un dossier OCM associé et ses dossiers enfant dans la collection de référentiels OCM lorsque la demande de service est résolue, renseignez les champs suivants :

Remarque :

Ce déclencheur n'est requis que si l'objet métier Oracle Sales and Service a l'option de résolution et a été configuré avec l'intégration de document OCM. Pour plus d'informations sur l'intégration de documents, reportez-vous à En savoir plus sur l'extension des objets métier Oracle Sales and Service avec la collaboration sur les documents.


  1. Dans le menu déroulant Déclencheur, sélectionnez Avant la mise à jour dans la base de données.
  2. Dans le champ Nom du déclencheur, indiquez le nom du déclencheur OCMCopyDocumentsToCollectionTrigger.
  3. Dans le champ Description, entrez le texte "Lorsqu'il est marqué comme résolu, copiez les documents dans le dossier OCM associé et ses dossiers enfant vers la collection associée pour la gestion des enregistrements".
  4. Dans le champ Edit Script, collez le script suivant :
    // If the status has been changed then copy all the associated documents to the associated repository collection
    if (isAttributeChanged('StatusCd')) {
      println("ServiceRequest.BeforeUpdate(OCMCopyDocumentsToCollectionTrigger): " + SrNumber + ":" + StatusCd + "(" + OCMFolderId_c + ":" + OCMCollectionId_c + ")")
      if (OCMFolderId_c == null) {
        println("WARNING: Associated OCM Folder for this Service Request (" + SrNumber + ") does not exist.")
        return false
      }
      if (OCMCollectionId_c == null) {
        println("WARNING: Unable to copy OCM Documents as there is no associated OCM Collection for this Service Request(" + SrNumber + ").")
       return false
      }
    
      // Get the Documents from the associated OCM Folder that need to be copied to the Collection
      def documents = (java.util.List)adf.util.OCMGetDocumentsByFolderIdFunction(OCMFolderId_c)
      if (documents.size() > 0) {
        // Copy the documents    adf.util.OCMCopyDocumentsToRepositoryCollectionFunction(OCMBaseRepositoryId_c, OCMCollectionId_c, documents)
      }
        
      return true
    }
    
  5. Cliquez sur Enregistrer et fermer.