โฟลว์ระบบคลาวด์ได้รับการพัฒนาและใช้งานอย่างไร
Microsoft Power Platform ผสานรวมกับ SAP ผ่านพอร์ตโฟลิโอของโฟลว์ระบบคลาวด์ที่กำหนดค่าล่วงหน้าซึ่งประสานชุดของการเปลี่ยนแปลงและใช้ตัวเชื่อมต่อ SAP ERP (การวางแผนทรัพยากรองค์กร)
แต่ละออบเจ็กต์ SAP ที่ได้รับการจัดการจากแอปพื้นที่ทำงานถูกแมปกับชุดของโฟลว์ค้นหา สร้าง อ่าน และอัปเดต ตามตัวอย่าง มีโฟลว์ระบบคลาวด์อยู่ 4 รายการสำหรับออบเจ็กต์ผู้จัดจำหน่าย:
- ReadVendor: อ่านผู้จำหน่ายรายเดียวโดยอิงตามหมายเลขผู้จำหน่ายและข้อมูลที่เกี่ยวข้องกับคีย์
- ReadVendorList: ค้นหารายชื่อผู้ขายตามเกณฑ์การค้นหาที่ผ่านมา
- CreateVendor: สร้างวัตถุผู้จำหน่ายใหม่โดยมีข้อมูลที่เกี่ยวข้องกับคีย์
- UpdateVendor: อัปเดตวัตถุของผู้ขายที่มีอยู่และข้อมูลที่เกี่ยวข้องกับคีย์
ขยายโฟลว์ระบบคลาวด์
คุณสามารถขยายโฟลว์ระบบคลาวด์ตามความต้องการธุรกิจในท้องถิ่นของคุณ ด้วยความช่วยเหลือจากนักวิเคราะห์ธุรกิจ SAP ของคุณ คุณสามารถเพิ่มและแมปฟิลด์ใหม่กับตัวเชื่อมต่อ SAP ERP และกลับไปกลับมาที่แอปผ่านเพย์โหลด JSON
การสร้างใบขอซื้อใหม่นำเสนอสถานการณ์การทำธุรกรรมทั่วไประหว่างแอปพื้นที่ทำงาน โฟลว์ระบบคลาวด์ และ SAP:
แอป การจัดการใบขอซื้อ SAP เตรียม JSON โดยใช้ข้อมูลจากตัวควบคุมอินพุตและคอลเลกชันรายการที่เก็บไว้ แทนที่ค่า Null สำหรับสตริงว่าง
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", """""" ) );
แอปเรียกใช้โฟลว์ CreateRequisition แบบฝังโดยใช้ฟังก์ชัน Run และส่งผ่านสตริง JSON ที่สร้างไว้ก่อนหน้านี้
Set( varRequisitionReturn, CreateRequisition.Run(varRequisitionJSON) );
โฟลว์ CreateRequisition รับสตริง JSON จากแอปผ่านทริกเกอร์ PowerApps(V2) และใช้การดำเนินการ แยกวิเคราะห์ JSON เพื่อแยกส่วน
ตัวแปร ถูกตั้งค่าโดยใช้ข้อมูล JSON เพื่อให้เข้าถึงตัวเชื่อมต่อ SAP ERP ได้ง่ายขึ้น การแมป
เซสชัน SAP ถูกสร้างขึ้นโดยใช้ตัวเชื่อมต่อ SAP ERP และการเรียกใช้ Business Application Programming Interface (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 ในสเปนที่ตั้งค่าภาษาของเบราว์เซอร์เป็นภาษาสเปนอาจต้องโต้ตอบกับระบบ SAP ที่ติดตั้งชุดภาษาอังกฤษ (EN) เท่านั้น ในกรณีนี้ ให้ส่งรหัส ENISO 639-1 สองตัวเป็นส่วนหนึ่งของคุณสมบัติ Language ภายในสตริงการเชื่อมต่อ SAP เพื่อหลีกเลี่ยงข้อผิดพลาด
เคล็ดลับ
กำหนดค่าตัวแปรสภาพแวดล้อม เป็นส่วนหนึ่งของการจัดการโซลูชันของคุณและกลยุทธ์ส่วนขยาย โฟลว์ระบบคลาวด์ เพื่อจัดเก็บค่าภาษาไว้ที่ศูนย์กลางเพื่อส่งผ่านไปยังการดำเนินการเชื่อมต่อ SAP ERPต่างๆ
ข้อมูลเพิ่มเติม: คำแนะนำคุณสมบัติของระบบ SAP
การจัดการข้อผิดพลาด
แต่ละโฟลว์ได้รับการออกแบบด้วยการดำเนินการของคู่ขอบเขต Try/Catch ภายในการดำเนินการลองคือการเรียกใช้ตัวเชื่อมต่อ SAP หลัก หลังจากการเรียกแต่ละครั้ง โฟลว์จะตรวจสอบว่าขั้นตอนของตัวเชื่อมต่อ SAP ERP มีความล้มเหลวร้ายแรงหรือสิ่งที่เรียกว่า การถ่ายโอนข้อมูลหลักของ Business Application Programming Interface (BAPI) หรือไม่ ถ้าเป็นเช่นนั้น โฟลว์จะบันทึกข้อความแสดงข้อผิดพลาดที่สร้างขึ้น
ข้อความแสดงข้อผิดพลาดนี้จะแสดงในขั้นตอน ErrorTable ของการดำเนินการ Catch พร้อมกับข้อผิดพลาดทั้งหมดที่เกิดขึ้นระหว่างการเรียกใช้โฟลว์นั้น
โฟลว์ที่ผิดพลาดทั้งหมดจะถูกบันทึกไว้ในตาราง ข้อผิดพลาดเทมเพลตสำหรับโซลูชัน SAP ข้อผิดพลาดในโฟลว์แต่ละรายการจะแสดงข้อความแสดงข้อผิดพลาดแรกที่สร้างขึ้นโดยโฟลว์พร้อมกับข้อมูลอื่นๆ
ไปที่แอปผู้ดูแลระบบ SAP ตามที่อธิบายไว้ในบทความข้อผิดพลาดในการตรวจสอบเพื่อดูข้อผิดพลาดที่แสดง
ขั้นตอนถัดไป
ขยายแอปที่ขับเคลื่อนด้วยโมเดลและ Dataverse