Microsoft Power Platform은 일련의 변환을 오케스트레이션하고 SAP ERP(엔터프라이즈 리소스 계획) 커넥터를 사용하는 미리 구성된 클라우드 흐름의 포트폴리오를 통해 SAP와 통합됩니다.
캔버스 앱에서 관리되는 각 SAP 개체는 일련의 검색, 만들기, 읽기 및 업데이트 흐름에 매핑됩니다. 예를 들어 공급업체 개체에 대한 4개의 클라우드 흐름이 있습니다.
- ReadVendor: 공급업체 번호 및 주요 관련 정보를 기반으로 단일 공급업체를 읽습니다.
- ReadVendorList: 전달된 검색 조건에 따라 공급업체 목록을 검색합니다.
- CreateVendor: 키 관련 정보를 사용하여 새 공급업체 개체를 만듭니다.
- UpdateVendor: 기존 공급업체 개체 및 키 관련 정보를 업데이트합니다.
클라우드 흐름 확장
로컬 비즈니스 요구 사항에 따라 클라우드 흐름을 확장할 수 있습니다. SAP 비즈니스 분석가의 도움으로 새 필드를 추가하고 SAP ERP 커넥터에 매핑하고 JSON 페이로드를 통해 앱으로 앞뒤로 이동할 수 있습니다.
새 구매 요구 사항을 만들면 캔버스 앱, 클라우드 흐름 및 SAP 간에 일반적인 트랜잭션 시나리오가 제공됩니다.
SAP 필수 관리 앱은 입력 컨트롤 및 저장된 항목 컬렉션의 데이터를 사용하여 빈 문자열에 대해 null 값을 대체하여 JSON을 준비합니다.
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", """""" ) );앱은 Run 함수를 사용하여 포함된 CreateRequisition 흐름을 호출하고 이전에 생성된 JSON 문자열을 전달합니다.
Set( varRequisitionReturn, CreateRequisition.Run(varRequisitionJSON) );CreateRequisition 흐름은 PowerApps(V2) 트리거를 통해 앱에서 JSON 문자열을 수신하고 JSON 구문 분석 작업을 사용하여 분해합니다.
변수는 SAP ERP 커넥터 호출에 보다 쉽게 매핑할 수 있도록 JSON 정보를 사용하여 설정됩니다.
SAP 세션은 SAP ERP 커넥터 를 사용하여 만들어지고 BAPI(비즈니스 애플리케이션 프로그래밍 인터페이스) 호출은 변수에 저장된 구문 분석된 필수 JSON 정보를 사용하여 이루어집니다.
SAP에서 생성된 오류가 평가되고 성공 또는 오류 HTTP 응답 이 JSON 페이로드를 사용하여 캔버스 앱에 반환됩니다.
캔버스 앱은 응답 정보, 특히 상태 필드를 사용하여 최종 사용자에게 성공 또는 실패를 알리고 다음 처리 단계를 결정합니다.
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
);
추가 정보:
다중 언어 배포 지원
기본적으로 SAP ERP 커넥터 는 사용자의 브라우저 언어를 호출하여 SAP와 상호 작용하므로 해당 SAP 언어 팩을 설치해야 합니다.
그러나 다중 언어 및 전역 배포를 지원해야 하는 경우 사용자의 브라우저 언어를 재정의하고 기본값을 특정 언어로 재정의할 수 있습니다. 예를 들어 브라우저 언어가 스페인어로 설정된 스페인의 Power Apps 사용자는 영어(EN) 언어 팩만 설치된 SAP 시스템과 상호 작용해야 할 수 있습니다. 이 경우 오류를 방지하기 위해 SAP 연결 문자열 내의 Language 속성의 일부로 EN ISO 639-1 코드 2개를 전달합니다.
팁 (조언)
다양한 SAP ERP 커넥터 작업에 전달할 언어 값을 중앙에서 저장하도록 솔루션 관리 및 클라우드 흐름 확장 전략의 일부로 환경 변수를 구성합니다.
추가 정보: SAP 시스템 속성 지침
오류 처리
각 흐름은 Try/Catch 쌍의 범위 작업으로 설계되었습니다. Try 작업 내부에는 기본 SAP 커넥터 호출이 있습니다. 각 호출 후 흐름은 SAP ERP 커넥터 단계에서 치명적인 오류가 발생했는지 또는 ABAP(고급 비즈니스 애플리케이션 프로그래밍) 코어 덤프라고도 하는지 확인합니다. 이 경우 흐름은 생성된 오류 메시지를 캡처합니다.
이 오류 메시지는 흐름의 실행 중에 생성된 모든 오류와 함께 Catch 작업의 ErrorTable 단계에 표시됩니다.
모든 잘못된 흐름은 SAP 솔루션 템플릿 오류 테이블에 기록됩니다. 각 흐름 오류는 흐름에서 생성된 첫 번째 오류 메시지를 다른 정보와 함께 표시합니다.
표시된 오류를 보려면 모니터 오류 문서에 설명된 대로 SAP 관리자 앱으로 이동합니다.