Definir a Prioridade com base na Urgência e no Impacto para Solicitações do CA SDM

PriorityEste 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:

 

Mariz de Prioridade

 

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:

  1. Salvar as alterações de esquema no WSP;
  2. Publicar as alterações de esquema no WSP;
  3. Pare o serviço do CA Service Desk Manager;
  4. Executar o comando pdm_publish; e
  5. 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!

Fonte: Manuais CA Service Desk Manager, Service Desk Users

  1. No trackbacks yet.

Deixe um comentário