Ampliação da atualização de dados mestre utilizando scripting

Objective

After completing this lesson, you will be able to amplie a atualização de dados mestre usando scripting.

Atualização de dados mestre

Uso da funcionalidade integrada para adicionar membros a uma dimensão

Você pode adicionar facilmente membros a dimensões usando a funcionalidade integrada nas histórias de planejamento do SAP Analytics Cloud. No entanto, ao criar novos dados mestre e adicionar as características necessárias, alguns planejadores não têm certeza de quais valores de atributo devem ser utilizados. Como resultado, eles têm que gastar tempo analisando outra documentação para encontrar o nome exato da propriedade.

É difícil manter os dados consistentes, por exemplo, em um cenário em que existem vários planejadores prevendo as vendas de produtos para novos produtos com várias propriedades.

Adicionar dados mestre a uma história usando uma nova linha na tabela.

Este tópico é abordado na lição Adição de novos membros da dimensão a partir de tabelas de dados do curso Execução de planejamento manual com o SAP Analytics Cloud.

Cenário empresarial: ampliar atualização de dados mestre com scripting

Assista a este vídeo para saber mais sobre os requisitos da equipe para ampliar uma história com scripting para uma manutenção de dados mestre mais fácil e consistente.

En

Os próximos 24 meses estarão muito ocupados para a equipe. Com muitos novos produtos sendo lançados, eles precisam criar dados mestre para cada novo produto quando estiverem planejando. É muito demorado e os resultados podem ser bastante inconsistentes.

Você trabalha com sua colega Laura para compreender completamente os requisitos empresariais para a criação de dados mestre para novos produtos. Você sugere a criação de uma caixa de diálogo pop-up personalizada em que os códigos são gerados pelo sistema e uma série de caixas de texto, menus suspensos e botões de opção solicitam aos usuários as propriedades necessárias.

Caixa de diálogo pop-up personalizada criada com scripting.

Configuração da história

Antes de adicionar seus scripts para ampliar a história, você cria o botão BTN_Add e o popup POPUP_Add. Você adiciona e configura os widgets necessários para atender aos requisitos empresariais, anotando todos os nomes de ID do script.

Configurações de popup

Você planeja usar botões personalizados na caixa de diálogo popup. Ao criar o popup, você adiciona quatro botões:

  1. Salvar e fechar: salva o novo membro e fecha o pop-up.
  2. Salvar e novo: salva o novo membro, mas mantém o pop-up aberto.
  3. Cancelar: fecha o pop-up sem salvar.
  4. Limpar todos os atributos: permite que o planejador limpe os valores existentes depois de selecionar Salvar e novo.
Elemento de popup com configuração exibido no painel Gerador.

Descrição

O widget de campo de entrada INF_Article_Desc está configurado para que os planejadores possam inserir texto livre no campo.

Widget de texto de descrição com configuração exibida no painel Gerador.

Marca

O widget suspenso DD_Article_Brand está configurado para que os planejadores possam selecionar em uma lista de valores válidos. Inicialmente, você a define como Não atribuído porque adicionará scripts para obter os valores da dimensão pública.

Widget suspenso Marca com configuração exibida no painel Gerador.

Couro

O widget do botão de rádio RB_Article_Leather está configurado para que os planejadores possam selecionar entre duas opções.

Widget de botão de rádio de couro com configuração exibida no painel do gerador.

Momento da roupa

O widget suspenso DD_Article_Clothingnow é configurado para que os planejadores selecionem a partir das opções criadas no painel Gerador.

Widget suspenso Método de vestuário com configuração exibida no painel Gerador.

Modelos de planejamento

O modelo PlanningModel contém a marca e as dimensões do artigo. No entanto, você pode ter um cenário, por exemplo, em que a marca é lida a partir de um modelo e artigos criados em outro.

Novos artigos criados usando o botão Criar artigo são adicionados ao PlanningModel, que no cenário é Product_Sales_MD.

Modelos de planejamento.

Código usado neste cenário

Agora que a história está configurada, é hora de adicionar o código.

Atualizar drop-downs na inicialização da página

Quando um planejador abre a história, os menus suspensos nos popups precisam ser atualizados com os dados dimensionais mais recentes. Assim que isso estiver concluído, é exibida uma mensagem pronta.

Para isso, o seguinte script é adicionado ao evento Page_1 – onInitialization:

Code Snippet
12345678
var brand = PlanningModel.getMembers("P00D_A_BRAND"); for (var counter = 0; counter < brand.length; ++counter){ if (brand[counter].description !== ""){ DD_Article_Brand.addItem(brand[counter].id, brand[counter].id+ " - "+ brand[counter].description); } } Application.showMessage(ApplicationMessageType.Success,"Story has loaded, you can create new Articles");
Página 1 e código utilizado

Abrir popup personalizado

Quando o botão Criar artigo na história é selecionado, um pop-up personalizado é aberto. O planejador é solicitado a selecionar propriedades para o novo artigo.

Para isso, adicione o seguinte script ao evento BTN_Add - onClick:

Code Snippet
12
POPUP_Add.open(); TXT_ID_Field.applyText(Utils.getID());
Button_Add e código utilizado

Criar artigo

Em POPUP_Add, o seguinte script é adicionado ao evento POPUP_Add - onButtonClick:

Code Snippet
12345678910111213141516171819202122232425262728293031323334353637
if (buttonId === "clear_all"){ INF_Article_Desc.setValue(""); DD_Article_Brand.setSelectedKey("#"); RB_Article_Leather.setSelectedKey("No"); DD_Article_Clothingmoment.setSelectedKey("#"); } else{ if (buttonId === "button_cncl") { this.close(); } else { SV_Materialmember = ({ id: TXT_ID_Field.getPlainText(), description: INF_Article_Desc.getValue(), properties: { Brand: DD_Article_Brand.getSelectedKey(), Clothing_Moment:DD_Article_Clothingmoment.getSelectedKey(), Leather:RB_Article_Leather.getSelectedKey() } }); var result = PlanningModel.createMembers("Article",SV_Materialmember); if(result) { Application.refreshData([TBL_1.getDataSource(),]); Application.showMessage(ApplicationMessageType.Success,"Article Successfully Created"); if (buttonId === "button_okClose") { this.close(); } if (buttonId === "button_okNew") { TXT_ID_Field.applyText(Utils.getID()); } } } }
Script usado para POPUP_Add.

Gerar ID de artigo

Um script lê os IDs dos artigos existentes.

Adicione o seguinte código ao objeto de script Utils – getID:

Code Snippet
1
return "Art_"+PlanningModel.getMembers("Article").length.toString();
GetID e código utilizados

Variável de script

A variável de script SV_Materialmember é referenciada no script POPUP_Add acima e é usada para ler artigos existentes.

Configurações de variável de script SV_Materialmember.

Ampliar atualização de dados mestre utilizando scripting

Fluxo de tarefa: neste exercício prático, você irá:

  • Adicione o script à página que será executada na inicialização.
  • Adicione o script ao botão Criar artigo para exibir a caixa de diálogo pop-up personalizada.
  • Adicione o script ao widget de popup para criar automaticamente o ID.
  • Crie um novo artigo usando o pop-up na história.

Visualizar o artigo adicionado no modelo

Assim que o novo artigo tiver sido criado, você pode visualizá-lo no modelo.

Artigo recém-criado visualizado na dimensão Artigo do modelo de planejamento P00M_ProductSalesMD.