Introdução
Este tutorial mostra várias maneiras de gerar scripts de cálculo com enfoque no Oracle EPM Cloud Planning para calcular apenas dados que foram editados, em vez de todo o form de entrada.
Histórico
O modelo de objeto Groovy EPM permite que você determine quais células em uma grade de entrada de dados foram editadas e, em seguida, gere um cálculo focado do Essbase para calcular apenas os membros afetados pela sua entrada de dados.
Neste tutorial, você trabalha com um painel de controle Análise de Volume do Produto. O formulário superior, Volume do Produto, captura o volume de vários produtos em períodos mensais. O formulário inferior, Receita do Produto, exibe a receita dos vários produtos. Ao editar o formulário superior, você deseja que a receita seja calculada no formulário inferior apenas para os produtos editados.

Este tutorial é em três partes e abrange três maneiras diferentes de calcular os produtos editados:
- Gerando e executando um script de cálculo focado
- Criando um script Groovy que executa um job de cálculo existente
- Gerando e executando um script de cálculo focado e retornando ao script Groovy para avaliação adicional
Pré-requisitos
Os Tutoriais Práticos do Cloud EPM podem exigir que você importe um instantâneo para sua instância do Cloud EPM Enterprise Service. Para poder importar um instantâneo de tutorial, você deve solicitar outra instância do Cloud EPM Enterprise Service ou remover seu aplicativo e processo de negócios atuais. O instantâneo do tutorial não será importado sobre seu aplicativo ou processo de negócios existente, nem substituirá ou restaurará automaticamente o aplicativo ou processo de negócios com o qual você está trabalhando no momento.
Antes de iniciar este tutorial, você deve:
- Tenha acesso do Administrador de Serviço a uma instância do Cloud EPM Enterprise Service.
- Faça upload e importe este instantâneo para sua instância do Planning. Se você já tiver feito upload do instantâneo para outro tutorial do Groovy, poderá continuar usando o mesmo instantâneo.
Observação:
Se você encontrar erros de migração importando o snapshot, execute novamente a migração excluindo o componente HSS-Shared Services, bem como os artefatos Segurança e Preferências do Usuário no componente Principal. Para obter mais informações sobre upload e importação de snapshots, consulte a documentação Administrando a Migração para o Oracle Enterprise Performance Management Cloud.Dica:
Os scripts necessários para este tutorial são vinculados como arquivos de texto em cada seção.Configurando o ambiente de Planejamento
Definindo variáveis de usuário no Planning
Primeiro, você define as variáveis de usuário necessárias para trabalhar com o painel Análise de Volume do Produto.
- Na Página inicial, clique em Ferramentas e selecione Preferências de Usuário.
- Selecione a guia Variáveis do Usuário.
- Insira as seguintes definições de variável:
- Clique em Salvar. Na mensagem de confirmação, clique em OK e retorne à Home page.

| Variável de Usuário | Membro |
|---|---|
| Moeda do Relatório | USD |
| Moeda | USD |
| Entidade | Vendas EUA |
| Cenário | OEP_Plan |
| Version | OEP_Working |
Importando variáveis para prompts de tempo de execução no Planning
Em seguida, você importa variáveis de cálculo para o cubo OEP_FS para suportar os RTPs (solicitações de tempo de execução) usados posteriormente neste tutorial.
- Clique com o botão direito do mouse no link do HP4_OEP_FS_Variables.xml e salve o arquivo na unidade local.
- No canto superior esquerdo, clique no Navegador
e navegue até Regras (em Criar e Gerenciar) para abrir o Calculation Manager. Na Exibição de Sistema, expanda EPM Cloud > HP4. Clique com o botão direito em OEP_FS e selecione Importar. - Em Detalhes da Importação de Arquivos, procure para selecionar HP4_OEP_FS_Variables.xml da unidade local.
- Em Detalhes do local, faça as seguintes seleções:
- Tipo de Aplicativo: EPM Cloud
- Aplicação: HP4
- Cubo: OEP_FS
- Em Opções de Importação, selecione Substituir Objetos Existentes.

- Clique em Importar. Revise os resultados da importação (eles podem dizer Atualizado ou Inserido) e clique em OK.

- Clique em Cancelar para fechar a caixa de diálogo Importar.
Gerando um script de cálculo com foco para produtos editados
Nesta seção, você implementa um script Groovy no Planning para calcular a receita do produto para produtos editados.
Criando o script Groovy
- No Calculation Manager, crie uma regra chamada Groovy - Calcular Receita do Produto no tipo de plano OEP_FS.
- No Editor de Regras, altere a opção Designer para Editar Script e defina o Tipo de Script como Script Groovy.
- Copiar este script e colá-lo no editor:
- Na barra de ferramentas, clique em
(Salvar) para salvar o script e clique em
(Validar e Implantar) para validar e implantar o script. Clique em OK quando solicitado. Deixe a janela do Calculation Manager aberta.


// Capture the edited periods and products Set<String> editedMembers = []operation.grid.dataCellIterator({DataCell cell -> cell.edited}, MemberNameType.ESSBASE_NAME).each { DataCell cell -> editedMembers << cell.periodName << cell.getMemberName("Product")
} if(editedMembers.size() == 0){
println("No edited cells found!") return; } // Generate the calc script to calculate revenue for the products whose volume was edited String calcScript = """ Fix(${cscParams(operation.grid.pov, editedMembers)}) "OFS_Calculated" ( "OFS_Product Revenue" = "OFS_Volume" * "OFS_Avg Selling Price"; ) EndFix;"""
println("The following calc script was executed by $operation.user.fullName: \n $calcScript")
return calcScript.toString()
![]()
Defina um Conjunto para capturar membros editados exclusivos.
Capturar membros editados.
Verifique se algum membro foi editado. Se nenhum tiver sido editado, nenhum processamento adicional será necessário, portanto, retorne do script.
Gere um script de cálculo para calcular a receita do produto para células editadas, corrigindo os membros do PDV e os membros editados.
Observação:
A APIcscParams() é um utilitário que retorna um valor de string com cada um dos itens especificados nivelados, entre aspas e separados por uma vírgula. A string retornada por este método pode ser conectada a um comando de script de cálculo do Essbase como parâmetros.
Imprime uma mensagem indicando o usuário que executou a regra e o script de cálculo gerado.
Retorna o script de cálculo, que será executado.
Adicionando a regra a um formulário de Planejamento
Nesta seção, você adiciona sua regra de script Groovy ao formulário Volume do produto, para ser executado após salvar.
- Selecione a janela Planejamento e, no canto superior esquerdo, clique em
Navigator e navegue até Formulários (em Criar e Gerenciar). Selecione o formulário Volume do Produto. - Edite o formulário. Adicione a regra Groovy Calcular Receita do Produto e defina-a como Executar Após Salvar. Salve o formulário e feche a janela Gerenciador de formulários.

Testando a regra de cálculo focada
Nesta seção, você testa sua regra Groovy editando dados no painel Análise de Volume do Produto.
- Na página inicial, clique em Painéis. Abra o painel Análise do volume do produto.
- Para Envoy Standard Notebook, edite o volume do produto para janeiro. Para Ultra Notebook 13 in, edite o volume do produto para March. Salve o formulário (não o painel).
- Clique em OK para fechar a mensagem de informações. As alterações se refletem no formulário de Receita do produto.
- Feche o painel. Navegue até Jobs (em Aplicativo) e selecione a tarefa Groovy Calculate Product Revenue.
- A mensagem de log do trabalho concluído identifica o usuário que executou a regra e o script de cálculo gerado. Depois de exibir os detalhes do job, feche a janela e retorne à Home page.



Executando um job de cálculo com um script Groovy
Nesta seção, você cria dois scripts Groovy: um para calcular a receita do produto para membros editados em um formulário e outro para executar um trabalho de cálculo que executa o primeiro cálculo. O segundo script é anexado ao formulário e executado ao salvar dados, e o primeiro script usa RTPs para capturar membros editados passados a ele do segundo script. O descarregamento do cálculo em uma regra independente que é chamada por outra regra permite que o código seja mantido, testado e reutilizado de maneira eficiente.
Criando um script Groovy para cálculos focados usando prompts de tempo de execução
- Selecione a janela Gerenciador de Cálculo e crie uma regra chamada Groovy Calcular RTPs de Receita do Produto no tipo de plano OEP_FS.
- No Editor de Regras, altere a opção Designer para Editar Script e defina o Tipo de Script como Script Groovy.
- Copiar este script e colá-lo no editor:
- Na barra de ferramentas, clique em
(Salvar) para salvar o script. - Clique em
(Validar e Implantar). Para o RTP de Membros Editados, informe um valor de Accessoriespara fins de validação e clique em OK. - Clique em OK quando solicitado.

/*RTPS: {editedMembers}*/
String calcScript = """Fix($rtps.editedMembers)
"OFS_Calculated"
(
"OFS_Product Revenue" = "OFS_Volume" * "OFS_Avg Selling Price";
)
ENDFIX"""
println("The following calc script was executed by $operation.user.fullName: \n $calcScript")
return calcScript
Defina um prompt de tempo de execução para aceitar os membros editados na primeira linha.
Gere um script de cálculo para calcular a receita do produto para células editadas, corrigindo os membros editados.
Imprime uma mensagem indicando o usuário que executou a regra e o script de cálculo gerado.
Retorna o script de cálculo, que será executado.
Observação:
Durante esta etapa, a regra não é executada; no entanto, você deve informar membros válidos para que o processo de validação seja bem-sucedido.Criando uma regra Groovy para executar um job de cálculo
Agora você cria a segunda regra Groovy, que executa um job de cálculo que passa variáveis e executa a regra RTPs de Receita do Produto de Cálculo Groovy.
- No Calculation Manager, crie uma regra chamada Groovy Calculate Product Revenue by Calling Execute Job no tipo de plano OEP_FS.
- No Editor de Regras, altere a opção Designer para Editar Script e defina o Tipo de Script como Script Groovy.
- Copiar este script e colá-lo no editor:
- Na barra de ferramentas, clique em
(Salvar) para salvar o script e clique em
(Validar e Implantar) para validar e implantar o script. Clique em OK quando solicitado. Deixe a janela do Calculation Manager aberta.


// Capture the edited periods and products Set<String> editedMembers = []operation.grid.dataCellIterator({DataCell cell -> cell.edited}, MemberNameType.ESSBASE_NAME).each { DataCell cell -> editedMembers << cell.periodName << cell.getMemberName("Product")
} if(editedMembers.size() == 0){
println("No edited cells found!") return; } // Execute the job that calculates the product revenues JobFactory jf = operation.application.jobFactory
List<DataGrid.HeaderCell> povMemberCells = operation.grid.pov.findAll{ DataGrid.HeaderCell it -> it.dimName != "Plan Element" }
Job job = executeJob(jf.job("Groovy Calculate Product Revenue RTPs", "Rules", ["editedMembers" : cscParams(povMemberCells, editedMembers)]))
![]()
Defina um Conjunto para capturar membros editados exclusivos.
Capturar membros editados.
Verifique se há membros editados. Se nenhum tiver sido editado, nenhum processamento adicional será necessário, portanto, retorne do script.
Obter a fábrica de trabalho.
Obtenha uma lista de células do cabeçalho do membro do PDV para dimensões diferentes do Elemento do Plano porque o script tem um bloco de membros em um membro da dimensão Elemento do Plano.
Execute a regra Groovy Calculate Product Revenue RTPs informando o PDV e os membros editados como valores para o prompt de tempo de execução editedMembers.
Adicionando a regra a um formulário de Planejamento
Nesta seção, você adiciona sua regra de script Groovy ao formulário Volume do produto, para ser executado após salvar.
- Selecione a janela Planejamento e, no canto superior esquerdo, clique no Navegador
e navegue até Formulários (em Criar e Gerenciar). Selecione o formulário Volume do Produto. - Editar o formulário. Remova a regra Groovy Calculate Product Revenue das regras selecionadas. Adicione a regra Groovy Calculate Product Revenue by Calling Execute Job e defina-a como Executar Após Salvar. Salve o formulário e feche a janela Gerenciador de formulários.


Testando a regra Groovy para chamar um job de cálculo
Nesta seção, você testa sua regra Groovy editando dados no painel Análise de Volume do Produto.
- Na Home page, clique em Painéis. Abra o painel Análise do volume do produto.
- Para Envoy Standard Notebook, edite o volume do produto para janeiro. Para Ultra Notebook 13 in, edite o volume do produto para March. Salve o formulário (não o painel).
- Clique em OK para fechar a mensagem de informações. As alterações se refletem no formulário de Receita do produto.
- Feche o painel. Navegue até Jobs (em Aplicativo) e selecione o job Groovy Calculate Product Revenue by Calling Execute Job.
- Nos detalhes do job, a regra Groovy Calculate Product Revenue RTPs é listada como um job filho. Clique no job filho.
- Nos detalhes do job filho, você pode ver a lista de membros passados para o script do prompt Membros Editados. A mensagem de log do trabalho concluído identifica o usuário que executou a regra e o script de cálculo gerado. Depois de exibir os detalhes do job, feche a janela e retorne à home page.





Gerando um script de cálculo em linha para dados editados com processamento Groovy adicional
O modelo de objeto do EPM fornece uma maneira de executar um script de cálculo em linha e depois retornar ao script Groovy para avaliação adicional. Nesta seção, você explora esse script de cálculo e a integração Groovy implementando um script Groovy para calcular a receita do produto para produtos editados e contar quantas células foram calculadas.
Criando o script Groovy
- Selecione a janela Gerenciador de Cálculo e crie uma regra chamada Script de Cálculo de Execução Groovy no tipo de plano OEP_FS.
- No Editor de Regras, altere a opção Designer para Editar Script e defina o Tipo de Script como Script Groovy.
- Copiar este script e colá-lo no editor:
- Na barra de ferramentas, clique em
(Salvar) para salvar o script e clique em
(Validar e Implantar) para validar e implantar o script. Clique em OK quando solicitado. Fechar o Calculation Manager.


// Capture the edited periods and products Set<String> editedMembers = []operation.grid.dataCellIterator({DataCell cell -> cell.edited}, MemberNameType.ESSBASE_NAME).each { DataCell cell -> editedMembers << cell.periodName << cell.getMemberName("Product")
} if(editedMembers.size() == 0){
println("No edited cells found!") return; } // Generate the calc script to calculate revenue for the products whose volumes were edited and to count and return the number of cells calculated String calcScript = """ VAR numCellsCalculated = 0; Fix(${cscParams(operation.grid.pov, editedMembers)})
"OFS_Calculated" ( "OFS_Product Revenue" = "OFS_Volume" * "OFS_Avg Selling Price"; numCellsCalculated = numCellsCalculated + 1; ) EndFix; Fix(${cscParams(operation.grid.pov, editedMembers)}) "OFS_Calculated" ( @RETURN(@HspNumToString(numCellsCalculated), ERROR); ) EndFix; """ Cube cube = operation.application.getCube("OEP_FS")
try { cube.executeCalcScript(calcScript)
} catch(CalcScriptException e) { println("The following calc script was executed by $operation.user.fullName: \n $calcScript")
println("Total number of cells calculated: $e.atReturnMessage")
}
Defina um Conjunto para capturar membros editados exclusivos.
Capturar membros editados.
Verifique se algum membro foi editado. Se nenhum tiver sido editado, nenhum processamento adicional será necessário, portanto, retorne do script.
Gere um script de cálculo para calcular a receita do produto para células editadas, corrigindo os membros do PDV e os membros editados. O script de cálculo também retorna uma contagem do número de células calculadas por meio do comando @RETURN.
Obtenha o cubo OEP_FS.
Execute o script de cálculo no cubo.
Imprime uma mensagem indicando o usuário que executou a regra e o script de cálculo gerado.
Imprime o número total de células calculadas retornadas pelo script de cálculo.
Adicionando a regra a um formulário de Planejamento
Nesta seção, você adiciona sua regra de script Groovy ao formulário Volume do produto, para ser executado após salvar.
- No canto superior esquerdo, clique em
Navigator e navegue até Formulários (em Create and Manage). Selecione o formulário Volume do Produto. - Editar o formulário. Remova a regra Groovy Calculate Product Revenue by Calling Execute Job das Regras de Negócios Selecionadas. Adicione a regra Executar Script de Cálculo do Groovy e defina-a como Executar Após Salvar. Salve o formulário e feche a janela Gerenciador de formulários.


Testando a Regra Groovy para executar um script de cálculo
Nesta seção, você testa sua regra Groovy editando dados no painel Análise de Volume do Produto.
- Na Home page, clique em Painéis. Abra o painel Análise de Volume do Produto.
- Para Envoy Standard Notebook, edite o volume do produto para janeiro. Para Ultra Notebook 13 in, edite o volume do produto para March. Salve o formulário (não o painel).
- Clique em OK para fechar a mensagem de informações. As alterações se refletem no formulário de Receita do produto.
- Feche o painel. Navegue até Jobs e selecione o job Groovy Executar Script de Cálculo.
- A mensagem de log do trabalho concluído identifica o usuário que executou a regra e o script de cálculo gerado, bem como a contagem de células calculadas.





Links Relacionados
- Calculando Dados Modificados Usando Regras do Groovy (vídeo)
- Lista de Reprodução de Tutoriais em Vídeo do Groovy no nosso canal em YouTube
- Oracle Enterprise Performance Management Cloud, Referência de API Java das Regras Groovy
- REST API para Enterprise Performance Management Cloud
- Referência de Script Groovy
Mais Recursos de Aprendizagem
Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal do Oracle Learning YouTube. Além disso, acesse a Oracle University para ver os recursos de treinamento disponíveis.
Para obter a documentação do produto, visite o Oracle Help Center.
Calculando dados modificados usando o Groovy
G45946-01
2025 de outubro