Introdução:
O objetivo deste blog é mostrar o uso de uma matriz multidimensional com as APIs de scripting do SAC Analytics Designer.
Mais especificamente, em relação às tarefas de calendário, já que as funcionalidades integradas pareciam insuficientes para mim.
O contexto principal é recuperar informações das tarefas de calendário para o ciclo de planejamento atual ordenado pela sequência de passos.
Configuração:
Existem várias tarefas de calendário em um modelo de planejamento. Queremos acessar e usar um subconjunto delas com base em seus nomes (e ordenados pelo nome).
Problema:
Os IDs das tarefas de calendário podem ser recuperados através da função de integração de calendário. Além disso, os nomes dessas tarefas podem ser acessados.
No entanto, não há um objeto para filtrar e ordenar por nome e ainda ter o ID disponível.
Isso poderia ser alcançado com várias variáveis e loops múltiplos através deles, mas seria mais eficiente se tivéssemos uma matriz de duas colunas com todas as informações disponíveis.
A última solução é mostrada abaixo.
Implementação:
A possibilidade geral de trabalhar com matrizes multidimensionais no Designer é descrita no Manual do Desenvolvedor (
https://d.dam.sap.com/a/3Y16uka/DeveloperHandbookSACAnalyticsDesigner_v12.1_final.pdf
) - na Versão 12.1, pode ser encontrado no capítulo 4.4.14.
Assim como em outros casos, as funcionalidades do dialeto JavaScript do Application Design não são tão poderosas quanto nos desenvolvimentos padrão em JavaScript, mas com alguns truques é possível obter uma boa solução.
Em nosso caso de uso com tarefas de calendário, primeiro vamos recuperar algumas tarefas de exemplo:
var rel_tasks = CI_1.getRelatedTaskIds();
Isso nos dá as seguintes 8 entradas
rel_tasks
Agora podemos criar a matriz bidimensional com 8 linhas (baseado no comprimento de "rel_tasks"):
var numRows = rel_tasks.length;
var arr1D = ArrayUtils.create(Type.string);
var arr2D = [arr1D];
for (var i = 1; i < numRows; i++) {
arr2D.push(ArrayUtils.create(Type.string));
}
A matriz "arr2D" agora é uma matriz vazia de 2 colunas e 8 linhas do tipo string.
A próxima parte é a operação crucial, para uma melhor compreensão aqui estão os nomes de nossos 8 valores de exemplo na ordem de seus IDs:
STEP1_2022