ก่อนที่จะเริ่มมีการใช้ระบบคลาวด์ การขยายระบบ SAP แบบ Classic Extensibility Approaches เป็นหนึ่งในรูปแบบที่ถูกนำมาใช้งานและง่ายสำหรับทั้ง SAP และลูกค้า SAP เอง ซึ่งในกระบวนการรูปแบบนี้จะมีสิ่งที่ถูกจัดเตรียมไว้ และขั้นตอนกระบวนการที่ลูกค้าต้องปฏิบัติเรียบร้อยแล้ว โดยวิธีการแบบเดิมจะมีการทำงาน ดังนี้
แอปพลิเคชัน SAP มีฟิลด์แสดงรายได้ (Revenue) และต้นทุน (Cost) อยู่แล้ว แต่ผู้ใช้หลายคนมักจะต้องการเพิ่มฟิลด์อีกฟิลด์เพื่อแสดงผลกำไร (Profit) โดยกำไรนี้ไม่ได้คำนวณแค่จากรายได้และต้นทุนเท่านั้น แต่ยังรวมไปถึง “ปัจจัยตัวเลขพิเศษ” (Special Numerical Factor) ที่แต่ละบริษัทมีการใช้งานที่แตกต่างกัน เนื่องจากปัจจัยตัวเลขพิเศษนี้มีความเฉพาะเจาะจงต่อแต่ละบริษัท ดังนั้น ฐานข้อมูลพื้นฐานของ SAP จึงไม่มีฟิลด์รองรับ ส่งผลให้แอปพลิเคชันจำเป็นต้องมีการปรับแต่งเพิ่มเติมเพื่อให้สามารถแสดงผลกำไรที่คำนวณจากปัจจัยตัวเลขพิเศษเหล่านี้ได้
สำหรับการใช้งานแนวทางประเภทนี้ SAP จะมอบสิ่งที่เรียกว่า Exits ให้กับลูกค้า โดย Exits เหล่านี้จะอยู่ที่เลเยอร์ต่างๆ ตลอดทั้ง Stack (Stack: รูปแบบของการจัดเก็บข้อมูลโดยมีการจัดเรียงข้อมูลให้ต่อเนื่องกัน และเข้าถึงข้อมูลตามลำดับ หรือเข้าใจง่ายๆว่า เข้าไปทีหลังออกมาก่อน หรือลองมองเป็นภาพกล่องใส่ของที่เราวางลองทับลงไปเรื่อยๆ แล้วเวลาเอาของออกก็ต้องเอาของด้านบนออกก่อนนั่นเอง) เมื่อพิจารณาจากเลเยอร์เหล่านี้ทีละชั้น เริ่มจากเลเยอร์ที่ต่ำที่สุดเริ่มจาก
รูปอ้างอิง: เลเยอร์ข้อมูล (Data Layer)
จาก https://help.sap.com/docs/SAP_NETWEAVER_731_BW_ABAP/ec1c9c8191b74de98feb94001a95dd76/cf21eb61446011d189700000e8322d00.html
เลเยอร์ข้อมูล (Data Layer)
เลเยอร์นี้จะเป็นฐานสำหรับเก็บและจัดการข้อมูล ผู้พัฒนาจะใช้คำสั่งที่ใช้สำหรับเพิ่มข้อมูลลงในตาราง (Append) เพื่อเพิ่มฟิลด์ใหม่ลงในตารางฐานข้อมูลที่แสดงปัจจัยตัวเลขพิเศษที่กล่าวไปก่อนหน้านี้ เมื่อเปิดใช้งานแล้ว ฟิลด์นี้จะสามารถอ่านและจัดเก็บข้อมูลได้ การเพิ่มตารางนี้มอบแนวคิด Exit ที่เป็นสากลให้กับลูกค้าเพื่อปรับแต่งนิยามของตาราง SAP ใดๆ ให้ตรงตามความต้องการทางธุรกิจที่เฉพาะเจาะจงของตัวเอง
เลเยอร์โค้ด (Code Layer)
เลเยอร์นี้อาจเป็นเลเยอร์ที่สำคัญที่สุดในบางแง่มุม เนื่องจากฟิลด์ใหม่ที่เพิ่มที่เลเยอร์ข้อมูลของสแตกและแสดงที่เลเยอร์การแสดงผลของสแตก จะมีค่าที่อาจจำเป็นต้องอ่าน ใช้ อัปเดท และอาจจะลบเป็นครั้งคราว การดำเนินการเหล่านี้จำเป็นต้องใช้โค้ด ABAP เพื่อดำเนินการ ดังนั้นโค้ด Exit ที่ถูกนำไปใช้ที่เลเยอร์นี้ระหว่างข้อมูลและ UI จึงถูกสร้างขึ้นโดย SAP เช่นเคย ในกรณีตัวอย่างของเรา ผู้พัฒนาจะตรวจสอบก่อนว่ามีโค้ด Exit สำหรับดำเนินการใดๆ กับฟิลด์นั้นอยู่ จากนั้น Exit จะถูกนำไปใช้กับโค้ดเฉพาะลูกค้าที่จำเป็น
เลเยอร์การแสดงผล (Visual Layer)
เลเยอร์นี้คือฟิลด์ใหม่ (ฟิลด์กำไร ในกรณีตัวอย่างข้างต้น) จะปรากฏบนหน้าจอ Exit ของเลเยอร์การแสดงผล ส่วนใหญ่มีสองประเภทคือ Screen Exit และMenu Exit ในกรณีตัวอย่างของเรา ผู้พัฒนาจะใช้ Screen Exit เพื่อเพิ่มฟิลด์ใหม่ลงในหน้าจอ และอาจจะใช้ Menu Exit เพื่อเพิ่มคำสั่งใหม่ ซึ่งเมื่อกลุ่มผู้ใช้ (End user) เลือกคำสั่งนี้ จะเป็นการคำนวณกำไร
ผลลัพธ์ที่ได้ คือ
“ลูกค้าจะมีฟังก์ชันการทำงานมาตรฐานที่แอปพลิเคชันมอบให้
เสริมด้วยฟังก์ชันการทำงานเพิ่มเติมที่พวกเขาต้องการ”
ประเด็นสำคัญประการหนึ่งของแนวทางนี้คือ กระบวนการทั้งหมดของการใช้ Exit นั้นถูกจัดการโดยกระบวนการระบบที่กำหนดไว้ Exit จะต้องถูกเปิดใช้งาน การใช้งานเฉพาะของ Exit จะต้องผ่านการทดสอบวากยสัมพันธ์(Syntax) และความสอดคล้องทั้งหมด การพัฒนา Exit เกิดขึ้นในระบบพัฒนาเฉพาะทางและได้รับการทดสอบในระบบทดสอบก่อนที่จะเผยแพร่ไปยังกลุ่มผู้ใช้ในระบบการผลิต อีกประเด็นสำคัญของแนวทางนี้คือ โดยทั่วไปแล้วการพัฒนา Exit สามารถใช้ Object ใดๆ ของ SAP ในระบบได้โดยไม่จำกัด เช่น
- ตาราง SAP ใดๆ (SAP Table) สามารถนำมาใช้สำหรับการอ่านและเขียนข้อมูล
- ฟังก์ชันโมดูล SAP ใดๆ (SAP Function module) สามารถเรียกใช้ได้
- คลาสและเมธอด SAP ใดๆ (Class and Method) สามารถนำมาใช้ได้
อีกประเด็นสำคัญและไม่ควรมองข้าม คือ ในกรณีที่ลูกค้าพิจารณาแล้วว่าไม่มี Exit ที่ใช้งานได้ หรือไม่สามารถใช้งานได้ ลูกค้ามีทางเลือกสองทาง ดังนี้
- ปรับแต่ง Object ของ SAP เพื่อให้ได้ฟังก์ชันการทำงานที่ต้องการ
- คัดลอก Object ของ SAP Object ใหม่จะเป็นของลูกค้าโดย Object ใหม่นี้สามารถปรับเปลี่ยนได้ตามต้องการ
อย่างที่กล่าวไปก่อนหน้านี้ ระบบที่ออกแบบมาเพื่อให้ลูกค้าปรับแต่งได้ จะต้องมีการประเมินข้อดีและข้อเสียที่สมดุล กล่าวอีกนัยหนึ่ง เมื่อถึงเวลาปรับใช้แพทช์หรืออัพเกรดระบบ ส่วนเสริมที่ใช้งาน (Extensions) ที่มีการนำไปใช้อาจกลายเป็นปัญหา เนื่องจากโค้ดใหม่หรือโค้ดที่อัพเดทจากผู้ขายซอฟต์แวร์ อาจทำให้ส่วนเสริมไม่เสถียรหรือไม่จำเป็นอีกต่อไป โดยจำเป็นต้องมีการทดสอบเพื่อป้องกันปัญหานี้ แม้กระนั้น แม้จะต้องคำนึงถึงค่าใช้จ่ายในการทดสอบ แต่เมื่อเทียบกับประโยชน์และความยืดหยุ่นของส่วนเสริมแล้ว ค่าใช้จ่ายเหล่านี้ก็ถือว่าสมเหตุสมผล โดยทั่วไปแล้วการปรับแต่งของลูกค้าที่ดำเนินการในรูปแบบของ Exit จะสร้างปัญหาน้อยกว่าเมื่อมีการอัพเกรด เนื่องจาก SAP ทราบถึงการมีอยู่ของ Exit เหล่านี้และสามารถรองรับได้ ส่วนการปรับแต่ง Object ของ SAP และ/หรือ การคัดลอก Object ของ SAP อาจก่อให้เกิดปัญหามากกว่า โดยจำเป็นต้องมีการทดสอบอย่างละเอียดหลังจากการติดตั้งแพทช์หรือการอัพเกรด
Classic Extensibility Approaches (แนวทางการขยายระบบแบบดั้งเดิม)
แนวทางนี้รองรับ SAP และลูกค้ามาหลายทศวรรษ ตั้งแต่ SAP R/3 ในทุกเวอร์ชัน ไปจนถึง SAP Business Suite รวมถึงชุดบริการ (Service Packs) และชุดเพิ่มประสิทธิภาพ (Enhancement Packs) อย่างไรก็ตาม หนึ่งในเหตุผลที่แนวทางนี้ประสบความสำเร็จ เนื่องจากระบบมักจะอยู่ที่ศูนย์ข้อมูลของลูกค้าเสมอ ดังนั้นลูกค้าจึงเป็นผู้ดูแลระบบทั้งหมด 100% สิ่งที่ลูกค้ารายหนึ่งทำในระบบของตนแยกออกจากสิ่งที่ลูกค้ารายอื่นทำในระบบของตนโดยสิ้นเชิง อย่างไรก็ตามมีการเปลี่ยนแปลงครั้งสำคัญที่เกิดขึ้น นั่นคือ การเปลี่ยนแปลงจาก SAP ERP เป็น SAP S/4HANA
Clean Core Concept
SAP S/4HANA Cloud ใช้งานบนระบบคลาวด์ ผลิตภัณฑ์บนคลาวด์มีความแตกต่างกัน ลูกค้าทุกคนจะใช้โค้ดเดียวกัน โดยการเปลี่ยนแปลงจะถูกนำไปใช้กับลูกค้าทั้งหมดพร้อมกัน ส่งผลให้ไม่มีวิธีการที่เป็นไปได้ในการอนุญาตให้ลูกค้าแต่ละรายสามารถปรับแต่งระบบได้ด้วยวิธีเดียวกันกับที่เคยทำได้ในสภาพแวดล้อมแบบ On-premise (การใช้ระบบ IT โดยระบบจะตั้งอยู่ในสถานที่ของเจ้าของระบบ และมีการดูแลรักษาระบบด้วยตัวเอง) แม้ว่าความจำเป็นในการปรับแต่งระบบของลูกค้ายังคงมีอยู่ แต่กฎเกณฑ์และกระบวนการที่ใช้ในการปรับแต่งนั้น จำเป็นต้องได้รับการคิดใหม่และออกแบบใหม่ทั้งหมดเพื่อให้เหมาะกับโลกของคลาวด์ นี่คืออีกหนึ่งความท้าทายของ SAP เช่นเดียวกับความท้าทายก่อนหน้านี้ ความท้าทายนี้ได้รับการยอมรับจาก SAP เช่นกัน
ทางออกของแนวคิดนี้คือ การออกแบบแนวคิดการขยายระบบที่มุ่งเน้นไปที่ระบบคลาวด์โดยเฉพาะ ขอแนะนำคำศัพท์ใหม่ “Clean Core” มาแยกความหมายของ 2 คำนี้กัน
Core
คำว่า Core (คอร์) หมายถึงส่วนหลักของ SAP S/4HANA Cloud ซึ่งส่วนหลักเหล่านี้สามารถพิจารณาได้ว่าเป็นมิติหรือองค์ประกอบ โดยมุ่งเน้นไปที่สิ่งต่อไปนี้
- กระบวนการ (Processes): ลำดับของกิจกรรมหรือขั้นตอนที่ดำเนินการภายใน SAP S/4HANA Cloud ครอบคลุมประสบการณ์แบบ End-to-End (E2E) ในการนำเสนอผลลัพธ์หรือบรรลุผล0 ข้อมูลที่อยู่ภายในและถูกใช้โดยกระบวนการ SAP S/4HANA Cloud โดยทั่วไปแบ่งออกเป็นประเภทข้อมูลการกำหนดค่า (Configuration), ข้อมูลหลัก (Master) และข้อมูลธุรกรรม (Transactional)
- การรวมระบบ (Integration): การเชื่อมต่อ SAP S/4HANA Cloud กับโซลูชันอื่น ๆ เพื่อวัตถุประสงค์ในการส่งและรับข้อมูลเพื่อรองรับการดำเนินการกระบวนการ
- การดำเนินงาน (Operation): กิจกรรมการบำรุงรักษาที่จำเป็นที่ดำเนินการภายใน SAP S/4HANA Cloud เช่น การจัดการการเผยแพร่ (Release Management), การจัดการงานเบื้องหลัง (background job management), การจัดการการอนุญาต (Authorization Management), การตรวจสอบ (Monitoring), และการแจ้งเตือน (Alerting)
- ความสามารถในการขยาย (Extensibility): ฟังก์ชันการทำงานที่เพิ่มเข้าไปใน SAP S/4HANA Cloud เพื่อให้สามารถตอบสนองความต้องการขององค์กรที่กระบวนการมาตรฐานไม่สามารถรองรับได้
Clean
คำว่า “Clean” หมายถึง การใช้วิธีการที่จำเป็นสำหรับแต่ละองค์ประกอบที่กล่าวไปก่อนหน้านี้ (กระบวนการ ข้อมูล การรวมระบบ การดำเนินงาน และความสามารถในการขยาย) เพื่อให้แน่ใจว่าองค์ประกอบเหล่านั้นทันสมัยใช้งานร่วมกับระบบคลาวด์ได้, ได้รับการปรับแต่งให้เหมาะสมและสมบูรณ์แบบ โดยขึ้นอยู่กับลักษณะขององค์ประกอบนั้น
Clean Core
Clean Core คือแนวคิดและแนวทางในการสร้าง SAP S/4HANA Cloud ที่ทันสมัย ยืดหยุ่น และรองรับระบบคลาวด์ โดย Clean Core ได้ผ่านการบูรณาการและขยายระบบ SAP S/4HANA Cloud ในลักษณะที่สอดคล้องกับระบบคลาวด์ มีคุณภาพข้อมูลหลักที่เหมาะสมที่สุดและมีการกำกับดูแลกระบวนการทางธุรกิจที่สมบูรณ์แบบด้วย Clean Core ลูกค้าจะได้รับประโยชน์จากการดูแลรักษาระบบที่ดีขึ้นควบคู่ไปกับต้นทุนการเป็นเจ้าของทั้งหมด (Total Cost of Ownership: TCO) ที่ลดลงสำหรับ SAP S/4HANA Cloud
ประโยชน์ Clean Core สำหรับองค์กร
- ความง่ายในการอัพเกรด: ทำให้อัพเกรดเป็นเรื่องง่าย ไม่ต้องยุ่งเกี่ยวกับโค้ดที่ลูกค้าปรับแต่งเพิ่มเติม
- การนำเทคโนโลยีใหม่ไปใช้ได้อย่างรวดเร็ว: สามารถติดตามเทคโนโลยีใหม่ ๆ ได้อย่างรวดเร็ว
- ความปลอดภัย ความต่อเนื่อง และความเสถียรของระบบ E2E: มั่นใจในความปลอดภัย ความต่อเนื่อง และความเสถียรของระบบ E2E
- TCO: การใช้โครงสร้างพื้นฐานและสิทธิ์การใช้งานอย่างมีประสิทธิภาพ
- การติดตามตรวจสอบได้อย่างถาวรในทุกพื้นที่ของ Core
ประโยชน์สำหรับพาร์ทเนอร์ SAP ERP
- พัฒนาโซลูชันที่สามารถรองรับเทรนด์เทคโนโลยีในอนาคต และพร้อมใช้งานบนระบบคลาวด์ได้
- ส่งเสริมการปฏิบัติตามมาตรฐานด้วยนวัตกรรมแบบโมดูลาร์ของ Clean Core
- ลดความซับซ้อนด้วยการใช้ประโยชน์จากโซลูชัน SAP สำเร็จรูปที่ง่ายขึ้น
Clean Core Extensibility
บทความนี้มุ่งเน้นไปที่ประเด็นของการขยายระบบ ซึ่งเป็นส่วนหนึ่งของแนวคิด Clean Core ดังนั้น บทความนี้จะมุ่งเน้นไปที่หัวข้อนี้เป็นหลัก ความสามารถในการขยายระบบแบบ Clean Core สามารถสรุปได้ว่าเป็นกระบวนการขยายระบบประเภทหนึ่ง โดยที่ส่วนขยายจะถูกแยกออกจากแอปพลิเคชัน SAP ส่วนขยายจะเข้าถึงข้อมูลธุรกิจของ SAP เฉพาะผ่านทางอินเทอร์เฟซที่ถูกกำหนดไว้อย่างชัดเจน และมีเสถียรภาพในการรองรับการอัพเกรด
หากสังเกตุในส่วนแรก “กระบวนการขยายระบบ” ข้อดีสำหรับลูกค้าคือ ส่วนขยายระบบจะยังคงมีอยู่ต่อไป แต่โปรดสังเกตส่วนที่สองและสามด้วยเช่นกัน ส่วนขยายระบบของลูกค้าจะถูกแยกออกจากฐานข้อมูลหลักของ SAP อย่างเคร่งครัด และส่วนขยายจะต้องใช้จุดเชื่อมต่อที่ถูกกำหนดไว้อย่างเป็นทางการ ซึ่งมีเสถียรภาพรองรับการอัพเกรด โดย “การอัพเกรด” นี่คือส่วนสำคัญ การที่ระบบบนคลาวด์สามารถใช้งานได้ตลอดเวลานั้น ไม่ใช่แค่ความต้องการพื้นฐานของลูกค้าเท่านั้น แต่เป็นสิ่งที่ไม่สามารถต่อรองได้ จะต้องไม่มีโอกาสที่ระบบจะไม่สามารถใช้งานได้เพียงแค่เพราะมีการเผยแพร่ซอฟต์แวร์เวอร์ชันใหม่ การมีอยู่ของส่วนขยายระบบของลูกค้าไม่มีผลต่อข้อคาดหวังนี้
ความสามารถในการขยายระบบแบบ Clean Core จะเป็นแนวทางที่ช่วยสร้างสมดุลระหว่างความยืดหยุ่นของซอฟต์แวร์กับการปรับแต่งของลูกค้า ควบคู่ไปกับเสถียรภาพและการใช้งานได้ของระบบบนคลาวด์ ส่งผลให้ไม่เพียงแต่การติดตั้งซอฟต์แวร์ที่รวดเร็วขึ้นเท่านั้น แต่ยังรวมถึงการนำการเปลี่ยนแปลงของซอฟต์แวร์ไปใช้ง่ายขึ้นด้วย เนื่องจาก Core เริ่มต้นด้วยความสะอาดและยังคงไว้ในลักษณะนั้นโดยใช้การอัพเกรดตามกำหนดเวลาที่ไม่รบกวนการทำงาน แนวคิดของความสามารถในการขยายระบบแบบ Clean Core สามารถสรุปเป็นกรอบแนวทางปฏิบัติที่ดีที่สุดที่ลูกค้าสามารถนำไปประยุกต์ใช้ในการติดตั้ง SAP S/4HANA Cloud
- ยึดมั่นในนโยบายไร้การปรับแต่ง
- ยกเลิกการปรับปรุงที่ซ้ำซ้อนกับรหัสและฟังก์ชันมาตรฐาน รวมถึงการยกเลิกการคัดลอกอ็อบเจ็กต์
- ใช้เฉพาะ API ที่ SAP จัดเตรียมไว้เพื่อการเชื่อมต่อข้อมูลเท่านั้น
- ใช้ประโยชน์จากความสามารถในการขยายระบบภายในแอปพลิเคชันของผู้ใช้หลักของ SAP S/4HANA Cloud อย่างเต็มที่
- ใช้องค์ประกอบและบริการที่ SAP Business Technology Platform นำเสนอเพื่อสร้างแอปพลิเคชันการขยายระบบขนาดใหญ่
- ใช้เครื่องมือ SAP Integration Suite สำหรับการเชื่อมต่อ SAP S/4HANA Cloud กับระบบอื่น
2 ประเด็นสำคัญที่ควรทราบก่อนการใช้งาน
ประเด็นที่ 1 เนื่องจากลูกค้าสามารถเลือกความเป็นไปได้ในการติดตั้งระบบบนคลาวด์ได้สองแบบตามความต้องการที่เฉพาะเจาะจงของตนเอง รวมถึงตัวเลือกการติดตั้งแบบ On-Premise แบบดั้งเดิมอีกหนึ่งตัวเลือกด้วย ตัวเลือกที่เลือกไว้นั้นจะกำหนดอย่างชัดเจนว่าสามารถใช้ประโยชน์จากตัวเลือกใดได้และใช้ไม่ได้ บทเรียนชุดนี้มุ่งเน้นไปที่ SAP S/4HANA Cloud เป็นหลัก ซึ่ง SAP S/4HANA Cloud เป็นคำเรียกขั้นกลางที่ครอบคลุมความเป็นไปได้ในการติดตั้งระบบบนคลาวด์ ได้แก่ SAP S/4HANA Cloud, public edition และ SAP S/4HANA Cloud, private edition (เรียกอีกอย่างว่า public edition และ private edition ตามลำดับ) คำว่า SAP S/4HANA หมายถึงตัวเลือกการติดตั้งแบบ On-Premise หากจำเป็นต้องแยกความแตกต่างระหว่าง public edition และ private edition เอกสารประกอบการเรียนจะระบุไว้อย่างชัดเจน เว้นแต่จะระบุไว้เป็นอย่างอื่น ให้ถือว่าฟีเจอร์ที่เกี่ยวข้องกับ private edition (แต่ไม่ใช่กับ public edition) ใช้กับการติดตั้งแบบ On-Premise ด้วยเช่นกัน
ประเด็นที่ 2 ลูกค้า SAP ERP ที่มีอยู่เดิมจำเป็นต้องเลือกแนวทางการย้ายข้อมูล เมื่อเปลี่ยนไปใช้ตัวเลือกการติดตั้งใด ๆ ดังนี้
- การติดตั้งระบบใหม่ (New Implementation): มีการจัดเตรียมระบบ SAP S/4HANA Cloud ใหม่ หรือติดตั้งระบบ SAP S/4HANA ใหม่
- การแปลงระบบ (System Conversion): ระบบ SAP ERP ที่มีอยู่เดิมจะถูกย้ายไปยังระบบ private edition หรือระบบแบบ On-Premises
- การปรับภูมิทัศน์ระบบ (Landscape Transformation): เป็นการผสมผสานระหว่างสองแนวทางแรก
การตัดสินใจทั้งสองข้อนี้ส่งผลต่อแนวทางและขั้นตอนเฉพาะที่ลูกค้าจะได้รับระหว่างการย้ายข้อมูลไปยัง SAP S/4HANA Cloud
Author: Chayanon T.
Reference:
https://learning.sap.com/learning-journeys/practicing-clean-core-extensibility-for-sap-s-4hana-cloud/introducing-the-clean-core-approach_fcb6c662-7041-4c99-88bd-345636fae7f3
https://community.sap.com/t5/enterprise-resource-planning-blogs-by-sap/sap-s-4hana-extensibility-options-for-clean-core-journey/ba-p/13568992
ZyGen ให้คำปรึกษาเกี่ยวกับ SAP ผู้เชี่ยวชาญของเราพร้อมให้คำแนะนำ คลิก