Definir a Prioridade com base na Urgência e no Impacto para Solicitações do CA SDM
Este artigo fornece instruções para a configuração do campo de Prioridade de um Ticket de Solicitação de Serviço do CA Service Desk Manager com base nos valores dos campos de Urgência e Impacto. Esse cálculo já existe para Incidentes e Problemas, mas não para Solicitações, visto que estas possivelmente poderão gerar uma Mudança
e aí teremos outro fluxo de processos envolvido. Contudo, é bastante comum a solução CA Service Desk Manager ser utilizada por outras áreas de negócio da empresa que não seja especificamente a Área de Tecnologia. Desta forma, por vezes, faz-se necessário efetuar personalizações para atender a tais necessidades.
Passo 1 – Criar o Script (Código Spel)
Você deverá criar um código Spel (.SPL) e colocar na pasta $NX_ROOT/site/mods/majic. Quando iniciar o serviço do Service Desk, esse conteúdo será processado e armazenados em cache. Você pode usar qualquer esquema de nomes para esse seu arquivo, mas é recomendável que o arquivo seja precedido com um ‘z’ para facilitar a identificação como uma personalização (por exemplo, zMyCompany.spl, zCr_Scripts.spl ou zMyScripts.spl). Segue abaixo o código Spel e a Matriz de Prioridades que estou me baseando para o exemplo.
– Script:
cr::zMyScript(...){ int z_pri; if ((urgency == 0) && (impact == 5)) {z_pri = 5;} // priority = 4, is priority of High if (((urgency == 0) && (impact == 4)) || ((urgency == 0) && (impact == 3)) || ((urgency == 1) && (impact == 5)) || ((urgency == 1) && (impact == 4)) || ((urgency == 2) && (impact == 5))) {z_pri = 4;} // priority =3, is priority of Medium if (((urgency == 0) && (impact == 2)) || ((urgency == 1) && (impact == 3)) || ((urgency == 1) && (impact == 2)) || ((urgency == 2) && (impact == 4)) || ((urgency == 2) && (impact == 3)) || ((urgency == 3) && (impact == 5)) || ((urgency == 3) && (impact == 4))) {z_pri = 3;} // priority = 2, is priority of Low if (((urgency == 2) && (impact == 2)) || ((urgency == 3) && (impact == 3)) || ((urgency == 3) && (impact == 2))) {z_pri = 2;} send_wait(0, this, "call_attr", "priority", "set_val", z_pri, "SURE_SET"); if (msg_error()) { logf(ERROR, "error setting priority to %s on %s %s - %s", z_pri, type.sym, ref_num, msg[0]); return; } else { logf(SIGNIFICANT, "successfully set priority to %s on %s %s", z_pri, type.sym, ref_num); } }
– Matriz de Prioridades:
Passo 2 – Criar o gatilho (Trigger)
Nessa etapa você deverá criar gatilho (Trigger) que vai iniciar o script. Os métodos usados para implementar o gatilho variam de acordo com a versão do CA Service Desk Manager. Geralmente, gatilhos para versões a partir da r11.x são criados através do utilitário de Schema Designer no WSP (Web Screen Painter). Basta adicione o código a seguir como um Gatilho de Site-Defined à tabela cr (pedido) .
POST_VALIDATE zMyScript() 111 FILTER(EVENT("INSERT") || (impact{} || urgency{}));
Para versões mais antigas, são feitos criando um arquivo .mod e colocando-o na pasta $NX_ROOT site/mods/majic. Nomeie-o como quiser, mas é recomendável que ele seja precedido com um ‘z’, como mencionei anteriormente.
OBJECT cr { TRIGGERS { POST_VALIDATE zMyScript() 111 FILTER(EVENT("INSERT") || (impact{} || urgency{})); }; };
Passo 3 – Publicar as alterações
Os métodos usados para publicar as alterações de esquema variam de acordo a versão do CA Service Desk Manager. Para versões a partir da r11.x, siga estes passos:
- Salvar as alterações de esquema no WSP;
- Publicar as alterações de esquema no WSP;
- Pare o serviço do CA Service Desk Manager;
- Executar o comando pdm_publish; e
- Reinicie o serviço do CA Service Desk Manager.
Uma boa prática é tornar o campo Prioridade no formulário de Solicitações “Read Only (somente leitura), visto que será automática a sua definição. Outro fato relevante e convém aqui mencionar é que essa solução atenderá a todos os Inquilinos em uma implementação Multi-tenant. Para que seja separado, deverá ser modificado o código Spel para atender a cada um individualmente, o que não considero uma boa ideia, já que a complexidade aumentará assim como o gerenciamento desta personalização.
No mais, espero que ajude. E lembre-se amigo leitor, nada como um Ambiente de Teste (Na sua Estação de Trabalho), um Ambiente de Homologação (Para seguir o Processo de Mudança e Liberação) e só depois incluir esta funcionalidade em Produção. O suporte disso é somente com você ou por intermédio da Equipe de Serviços da CA, o que é bastante caro. O Suporte CA não contempla personalizações.
Até a próxima!
No trackbacks yet.