Configurar Integração Específica do Objeto de Negócios
Nesta última seção, você executará as etapas necessárias para adicionar a IU da pasta incorporada do OCM em um objeto de negócios específico do aplicativo Oracle Sales and Service.
Nesta seção, mais uma vez usaremos oportunidades, mas qualquer objeto de negócios pode ser atualizado usando estas etapas, como solicitações de serviço, campanhas, eventos etc. Isso implica a criação de um campo personalizado na oportunidade de armazenar o ID de pasta OCM exclusivo. Essas etapas também adicionarão a guia Documentos na página de detalhes da oportunidade que expõe a IU da pasta incorporada do OCM por meio de um Mashup usando o ID da pasta do OCM específico da oportunidade.
Criar um campo personalizado
Um campo personalizado é específico do objeto de negócios no qual ele é criado. Essas variáveis são exclusivas de cada instância dos objetos de negócios criados.
- Para informar novamente o compositor do aplicativo, clique em Ferramentas no canto superior esquerdo da página e selecione Application Composer na lista drop-down.
- Escolha Objetos, Objetos Padrão, Oportunidade e Campos no menu de navegação esquerdo.
- Na página Campos, selecione a guia Personalizado e clique no ícone Criar um campo personalizado.
- Na caixa de diálogo Selecionar Tipo de Campo, selecione a opção Texto e clique em OK.
- Na página Criar Campo de Texto, faça o seguinte:
- No campo Label de Exibição, especifique o nome como OCMFolderId. O campo Nome é preenchido automaticamente com base no valor especificado no campo Rótulo de Exibição.
- No campo Descrição, informe o texto "Variável personalizada do objeto Oportunidade específico para armazenar o Id de Pasta exclusivo que está sendo usado na integração Colaboração de Oportunidades do OCM".
- Clique em Salvar e Fechar.
Estender o Objeto de Negócios
Os Objetos de Negócios podem ser estendidos usando um Mashup (como o que criamos acima) para expor um aplicativo externo, como o OCM, na IU do Objeto de Negócios.
- Escolha Objetos Padrão, Oportunidade e Páginas no menu de navegação esquerdo.
- Na página Oportunidade: Páginas, na seção Layouts de Página de Detalhes, clique em Duplicar Layout de Página de Detalhes.
Observação:
Se uma página personalizada já tiver sido criada, essa página poderá ser usada para a Integração do OCM, em vez de criar uma nova e a etapa 3 poderá ser ignorada. - Na caixa de diálogo Duplicar layout, preencha os seguintes campos:
- No campo Nome do Novo Layout, especifique o nome como OCMEmbeddedUIIntegration.
- No campo Layout de Origem, selecione Layout padrão no menu suspenso.
- Clique em Salvar e Editar.
- Na página Layout de Detalhes, selecione o ícone Adicionar na parte inferior do menu de navegação esquerdo na seção Região de Subguias para adicionar a UI incorporada do OCM.
- Selecione a opção Conteúdo de Flash. Clique em Avançar.
- Na próxima página, selecione a opção OCMEmbeddedFolderUIMashup que foi criada anteriormente e clique em Inserir.
- Na próxima página, preencha os seguintes campos:
- No campo Exibir Label, informe Documentos.
- Para Ícone Exibir, clique em Alterar Ícone para que um ícone de aparência de documento seja exibido na IU de oportunidades como uma guia.
- No campo Editar Script, cole o seguinte script:
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}}}'Observação:
Este script atribui automaticamente a função de gerente a cada usuário que acessa a pasta. Isso pode ser potencialmente refinado para conceder ao proprietário da oportunidade a função de gerente, dando a outros usuários a função de colaborador. - Clique no botão Próximo.
- Clique em Salvar e Fechar.
Adicionar Triggers de Eventos
Um acionador de evento verifica se há um evento e quando esse evento ocorre, ele executa o código associado ao acionador.
OCMCreateFolderTrigger
Para adicionar um acionador de objeto de script de servidor para criar a pasta OCM relacionada quando a oportunidade for criada:
- Escolha Objetos Padrão, Oportunidade e Scripts de Servidor no painel de navegação esquerdo.
- Na página Oportunidade de Scripts do Servidor, selecione a guia Acionadores.
- Na seção Triggers de Objeto, clique em Adicionar um novo Trigger.
- Na página Criar Acionador de Objeto, preencha os seguintes campos:
- No menu drop-down Acionador, selecione Antes de Inserir no Banco de Dados.
- No campo Nome do Trigger, especifique o nome do trigger como OCMCreateFolderTrigger.
- No campo Descrição, digite o texto "Criar a pasta OCM associada à oportunidade que está sendo criada".
- No campo Editar Script, cole o seguinte script, substituindo
<OCMRootFolderId>pelo ID da pasta raiz do OCM real que foi capturado no OCM nas etapas iniciais acima (por exemplo, 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) - Clique em Salvar e Fechar.
OCMDeleteFolderTrigger
Observação:
O implementador pode optar por não implementar essa etapa se perceber que qualquer conteúdo colocado na pasta da oportunidade do OCM deve ser retido mesmo depois que a oportunidade tiver sido excluída.- No menu drop-down Acionador, selecione Antes de Excluir no Banco de Dados.
- No campo Nome do Trigger, especifique o nome do trigger como OCMDeleteFolderTrigger.
- No campo Descrição, digite "Remover a pasta do OCM associada à oportunidade que está sendo excluída".
- No campo Editar Script, cole o seguinte script:
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?") } - Clique em Salvar e Fechar.




