Como os fluxos de cloud são desenvolvidos e utilizados
O Microsoft Power Platform integra-se com o SAP através de um portefólio de fluxos de cloud pré-configurados que orquestram uma série de transformações e utilizam o conector ERP (planeamento de recursos empresariais) SAP.
Cada objeto SAP gerido a partir de uma aplicação de tela é mapeado para uma série de fluxos de pesquisa, criação, leitura e atualização . Como exemplo, existem 4 fluxos de cloud para o objeto de fornecedor:
- ReadVendor: Leia um único fornecedor com base no número do fornecedor e nas informações relacionadas à chave.
- ReadVendorList: pesquise uma lista de fornecedores com base nos critérios de pesquisa aprovados.
- CreateVendor: crie um novo objeto de fornecedor com informações relacionadas a chaves.
- UpdateVendor: atualize um objeto de fornecedor existente e informações relacionadas à chave.
Expandir fluxos de cloud
Pode expandir fluxos de cloud de acordo com seus requisitos de negócios locais. Com a ajuda do seu analista de negócio SAP, pode adicionar e mapear novos campos ao conector ERP SAP e alternar entre aplicações através dos payloads JSON.
A criação de uma nova requisição de compra oferece um cenário de transações típico entre aplicações de tela, fluxos de cloud e SAP:
A aplicação Gestão de Requisições SAP prepara o JSON utilizando dados dos controlos input e coleções de itens armazenados, substituindo quaisquer valores nulos por cadeias vazias.
Set( varRequisitionJSON,//Build the requisition JSON "{Header: " & JSON(//Build the requisition header JSON { PurchaseRequisitionNumber: varRequisition, Vendor: Trim(txtRequisitionDetailsVendor.Text), PurchasingOrganization: cmbRequisitionDetailsPurchasingOrg.Selected.'Value Code', PurchasingGroup: cmbRequisitionDetailsPurchasingGroup.Selected.'Value Code', Currency: cmbRequisitionDetailsCurrency.Selected.'Value Code' }, JSONFormat.IndentFour ) & ", items: " & JSON(//Build the requisition items JSON from cached collection colRequisitionItems, JSONFormat.IndentFour ) & "}" ); Set( varRequisitionJSON, Substitute( varRequisitionJSON, "null", """""" ) );
A aplicação invoca o fluxo CreateRequisition incorporado utilizando a função Executar e transmitindo a cadeia JSON construída anteriormente.
Set( varRequisitionReturn, CreateRequisition.Run(varRequisitionJSON) );
O fluxo CreateRequisition recebe a cadeia JSON proveniente da aplicação através do acionador PowerApps (V2) e utiliza uma ação Analisar JSON para a decompor.
As variáveis são definidas usando as informações JSON para permitir uma mapeamento mais fácil nas chamadas do conector do SAP ERP.
É criada uma sessão SAP utilizando o conector SAP ERP e as chamadas à interface de programação de aplicações empresariais (BAPI) são feitas utilizando as informações do JSON de requisição analisadas armazenadas em variáveis.
Os erros gerados pelo SAP são avaliados e uma Resposta HTTP com êxito ou erros é devolvida à aplicação de tela utilizando um payload JSON.
A aplicação de tela utiliza as informações de resposta, especificamente, o campo Estado para notificar o utilizador final do êxito ou da falha e determinar os passos de processamento seguintes.
Switch(
varRequisitionReturn.Status,
"Error",//Raise error messages leaving variables in existing state for user to try again
Notify(
Concat(
varRequisitionReturn.Messages,
Message,
" "
),
NotificationType.Error
),
"Success",//Raise success message
Notify(
Concat(
varRequisitionReturn.Messages,
Message,
" "
),
NotificationType.Success
);
Mais informações:
Suportar implementações multilingue
Por predefinição, o Conector ERP SAP invoca o idioma do browser do utilizador para interagir com o SAP, pelo que o language pack SAP correspondente tem de ser instalado.
No entanto, se precisar de suportar implementações multilingues e globais, pode substituir o idioma do browser do utilizador e predefinir para um determinado idioma. Por exemplo, um utilizador do Power Apps em Espanha que tenha o respetivo idioma do browser definido como espanhol, poderá ter de interagir com um sistema SAP que apenas tenha o language pack inglês (EN) instalado. Neste caso, transmita o código ENISO 639-1 como parte da propriedade Idioma na cadeia de ligação SAP para evitar erros.
Gorjeta
Configure variáveis de ambiente como parte de sua estratégia de gerenciamento de soluções e extensão de fluxo de cloud para armazenar centralmente um valor de linguagem para passar para várias ações do conector SAP ERP.
Mais informações: Orientações Sobre Propriedades do Sistema SAP
Processamento de erros
Cada fluxo foi concebido com um par Tentativa/Captura de operações de âmbito. Dentro da operação Tentar estão as chamadas do conector SAP principais. Depois de cada chamada, os fluxos verificam se o passo do conector ERP SAP teve uma falha catastrófica ou o que também é chamado de captura centrar da programação de aplicações empresariais avançada (ABAP). Se for o caso, os fluxos capturam a mensagem de erro gerada.
Esta mensagem de erro é apresentada no passo ErrorTabel da operação Captura, juntamente com todos os erros gerados durante essa execução do fluxo.
Todos os fluxos erróneos são registados na tabela Erros do modelo de solução SAP. Cada erro de fluxo mostra a primeira mensagem de erro gerada pelo fluxo, juntamente com outras informações.
Aceda à aplicação Administrador SAP , conforme descrito no artigo Monitorizar erros para ver os erros apresentados.
Próximo passo
Estenda aplicativos orientados por modelo e Dataverse