Jak opracowywane i wykorzystywane są przepływy w chmurze
Microsoft Power Platform integruje się z usługą ERP za pośrednictwem portfolio wstępnie skonfigurowanych przepływów chmury, które zawiera serię przekształceń i używa łącznika SAP ERP (planowanie zasobów przedsiębiorstwa).
Każdy obiekt SAP, zarządzany z aplikacji kanwy, jest mapowany na serię przepływów wyszukiwania, tworzenia, odczytu i aktualizacji. Dla przykładowego obiektu dostawcy istnieją cztery przepływy w chmurze:
- ReadVendor: Odczyt pojedynczego dostawcy na podstawie numeru dostawcy i informacji związanych z kluczem.
- ReadVendorList: Wyszukaj listę dostawców na podstawie przekazanych kryteriów wyszukiwania.
- CreateVendor: Utwórz nowy obiekt dostawcy z informacjami związanymi z kluczem.
- UpdateVendor: Zaktualizuj istniejący obiekt dostawcy i informacje związane z kluczem.
Rozszerzanie przepływów w chmurze
Przepływy w chmurze można rozszerzać zgodnie z lokalnymi wymaganiami biznesowymi. Z pomocą analityka biznesowego SAP można dodawać i mapować nowe pola do łącznika SAP ERP oraz przechodzić tam i z powrotem do aplikacji za pośrednictwem ładunków JSON.
Tworzenie nowego zapotrzebowania na zakup to typowy scenariusz transakcji między aplikacjami opartymi na kanwie, przepływami w chmurze i SAP:
Aplikacja SAP Requisition Management przygotowuje JSON przy użyciu danych z kontrolek wejściowych i kolekcji przechowywanych produktów, zastępując wszelkie wartości null pustymi ciągami znaków.
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", """""" ) );
Aplikacja wywołuje wbudowany przepływ CreateRequisition przy użyciu funkcji Run i przekazując wcześniej skonstruowany ciąg JSON.
Set( varRequisitionReturn, CreateRequisition.Run(varRequisitionJSON) );
Przepływ CreateRequisition odbiera ciąg JSON z aplikacji za pośrednictwem wyzwalacza PowerApps (V2) i używa akcji Parse JSON do jego dekompilacji.
Zmienne są ustawiane przy użyciu informacji JSON, aby umożliwić łatwiejsze mapowanie na wywołania łącznika SAP ERP.
Sesja SAP jest tworzona przy użyciu łącznika SAP ERP, a wywołania interfejsu programowania aplikacji biznesowych (BAPI) są tworzone przy użyciu przeanalizowanych informacji JSON zapotrzebowania przechowywanych w zmiennych.
Błędy wygenerowane przez SAP są oceniane, a Odpowiedź HTTP jest zwracana do aplikacji opartej na kanwie za pomocą ładunku JSON.
Aplikacja oparta na kanwie wykorzystuje informacje o odpowiedzi, w szczególności pole Status, aby powiadomić użytkownika końcowego o powodzeniu lub niepowodzeniu i określić kolejne kroki przetwarzania.
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
);
Więcej informacji:
Obsługa wdrożeń w wielu językach
Domyślnie Łącznik SAP ERP wywołuje język przeglądarki użytkownika do interakcji z SAP, więc odpowiedni pakiet językowy SAP musi być zainstalowany.
Jeśli jednak konieczna jest obsługa wdrożeń wielojęzycznych i globalnych, można zastąpić język przeglądarki użytkownika i ustawić domyślnie określony język. Na przykład użytkownik Power Apps w Hiszpanii, który ma ustawiony język przeglądarki na hiszpański, może potrzebować interakcji z systemem SAP, który ma zainstalowany tylko pakiet językowy angielski (EN). W takim przypadku należy przekazać dwuliterowy kod ENISO 639-1 jako część właściwości Jężyk w ciągu połączenia SAP, aby uniknąć błędów.
Napiwek
Skonfiguruj zmienne środowiskowe w ramach strategii zarządzania rozwiązaniami i rozszerzania przepływu w chmurze, aby centralnie przechowywać wartość języka, która ma być przekazywana do różnych akcji łącznika SAP ERP.
Więcej informacji: Przewodnik po właściwościach systemu SAP
Obsługa błędów
Każdy przepływ jest zaprojektowany z parą zakresu Wypróbuj/Przechwyć. Wewnątrz operacji Try znajdują się główne wywołani łącznika SAP. Po każdym wywołaniu przepływy sprawdzają, czy krok łącznika SAP ERP miał katastrofalną awarię lub tak zwany zaawansowane programowanie aplikacji biznesowych (ABAP) — core dump. Jeśli tak, przepływy przechwytują wygenerowany komunikat o błędzie.
Ten komunikat o błędzie jest wyświetlany w kroku ErrorTable operacji Pobierz wraz ze wszystkimi błędami wygenerowanymi podczas tego uruchomienia przepływu.
Wszystkie błędne przepływy są rejestrowane w tabeli Błąd szablonu rozwiązania SAP. Każdy błąd przepływu pokazuje pierwszy komunikat o błędzie wygenerowany przez przepływ razem z innymi informacjami.
Przejdź do aplikacji Administrator SAP, zgodnie z opisem w artykule Monitorowanie błędów, aby zobaczyć wyświetlone błędy.
Następny krok
Rozszerzanie aplikacji opartych na modelu i Dataverse