Este é o 2º blog relacionado com o novo recurso denominado Funções de Nuvem Visual. No
primeiro blog
, discuti como criar entidades. Neste blog, discutiremos a outra metade, construindo funções que podem ser chamadas a partir do seu aplicativo.
Observe que há uma
documentação muito boa para o recurso
.
Caso de Uso
Eu estava tentando pensar em casos de uso para as funções de nuvem.
-
Talvez você tenha cálculos complicados necessários em muitos aplicativos (por exemplo, preços com desconto) e queira/precise mantê-los separados.
-
Talvez você tenha alguns cálculos que deseje manter privados e não no cliente, por exemplo, relacionados a permissões.
-
Talvez você tenha cálculos que combinem várias tabelas de back-end e não queira trazer todos esses dados de volta ao cliente.
Aqui está o meu caso de uso:
Eu usei as entidades de produtos e pedidos do
workshop TechEd
por
akseli.virtanen
e
marchuber03
(o tutorial do GitHub está
aqui
).
-
Produtos
têm um preço para cada produto.
-
Pedidos
têm o nome de um cliente, seguido por uma lista de produtos.
Então, eu queria poder chamar uma função e obter o custo total pendente de um cliente: encontrar todos os pedidos para esse cliente, depois obter o preço de cada produto na lista e somar tudo.
Aqui vamos nós...
Criando Funções
Como lembrete, as funções são criadas em um projeto de backend do SAP Build Apps, onde já temos nossas entidades.
Na aba
Funções
, clique em
Criar Novo
para criar uma nova função.
E obtemos um canvas para trabalhar. Você notará mais do que uma semelhança passageira com o canvas lógico, e mais especificamente com o canvas de funções de fluxo de JavaScript.
A primeira coisa que fiz foi definir as entradas. Como quero retornar o custo para um cliente específico, eu precisava do nome do cliente, então criei uma entrada chamada nome que era uma string.
Em seguida, eu precisava dos dados, então adicionei tanto a tabela de produtos quanto a de pedidos ao fluxo. Para fazer isso, clique no + no meio, diga que deseja uma lista de registros e depois especifique de qual entidade. (Aqui, há uma forte semelhança com o canvas de processos de automação de processos do SAP Build e a aba Dados de SAP Build Apps).
E finalmente, preciso especificar o que eu quero como saída.
Por enquanto, tenho um editor de fórmulas, assim como no SAP Build Apps, com acesso às entradas e às entidades de dados que recuperei. E especifiquei a seguinte fórmula, que:
-