
AL Programming Language คืออะไร?
AL คือภาษาการเขียนโปรแกรมที่ออกแบบมาเพื่อใช้ในการพัฒนาและปรับแต่งโซลูชันบน Microsoft Dynamics 365 Business Central โดยมีความสามารถในการสร้างและจัดการ Object Types ต่าง ๆ ที่เกี่ยวข้องกับการดำเนินการทางธุรกิจ ภาษานี้มีความเชี่ยวชาญเฉพาะด้านและถูกออกแบบมาให้ใช้งานง่ายแม้สำหรับผู้พัฒนาที่คุ้นเคยกับภาษาโปรแกรมทั่วไป เช่น C# หรือ JavaScript
ความสำคัญของ AL ในการพัฒนา Business Central
AL มีบทบาทสำคัญในการช่วยให้ธุรกิจสามารถปรับแต่งและขยายความสามารถของ Business Central ได้ตามความต้องการ ไม่ว่าจะเป็นการสร้างตารางข้อมูลใหม่ การออกแบบหน้าจอผู้ใช้ หรือการพัฒนารายงานที่สอดคล้องกับการวิเคราะห์ทางธุรกิจ AL ทำให้การปรับแต่งเหล่านี้เป็นไปอย่างราบรื่นและมีประสิทธิภาพ โดยไม่กระทบต่อโครงสร้างพื้นฐานหลักของระบบ
การทำงานของ AL ใน Microsoft Dynamics 365 Business Central
ใน AL โค้ดจะถูกจัดระเบียบในรูปแบบของ Object Types ซึ่งแต่ละประเภทมีบทบาทเฉพาะในระบบ:
- Tables: ตารางใน AL ถูกใช้เพื่อเก็บข้อมูลในรูปแบบของแถวและคอลัมน์ ผู้พัฒนาสามารถกำหนดฟิลด์ต่าง ๆ และคุณสมบัติพิเศษได้ เช่น
Primary KeyและDataClassificationตารางเหล่านี้เป็นรากฐานในการจัดการข้อมูลใน Business Central - Pages: Pages เป็นอินเทอร์เฟซผู้ใช้ที่แสดงผลและให้ผู้ใช้ทำงานกับข้อมูล เช่น การแสดงรายการลูกค้า การป้อนข้อมูล หรือการตรวจสอบรายละเอียดต่าง ๆ ผู้พัฒนาสามารถปรับแต่งหน้าจอเหล่านี้ให้ตรงกับความต้องการของผู้ใช้ได้
- Codeunits: Codeunits เป็นกลุ่มของฟังก์ชันที่สามารถนำกลับมาใช้ซ้ำได้ ฟังก์ชันเหล่านี้อาจเป็นการดำเนินการต่าง ๆ เช่น การคำนวณทางธุรกิจ หรือการตรวจสอบข้อมูล Codeunits ช่วยในการจัดการโค้ดให้อยู่ในรูปแบบที่เป็นระบบและง่ายต่อการจัดการ
- Reports: Reports ใช้ในการสร้างรายงานที่ประกอบด้วยข้อมูลตามรูปแบบที่กำหนด รายงานเหล่านี้สามารถถูกออกแบบให้แสดงผลในรูปแบบต่าง ๆ เช่น รายงานยอดขาย รายงานสต็อกสินค้า หรือรายงานการเงินประจำเดือน
- Queries: Queries เป็นคำสั่งที่ใช้ในการดึงข้อมูลจากหลายตารางในฐานข้อมูล ผู้พัฒนาสามารถกำหนดเงื่อนไขการกรองข้อมูล การจัดเรียง และการรวมข้อมูลได้ Queries เป็นเครื่องมือสำคัญในการสร้างรายงานที่ซับซ้อนและมีความยืดหยุ่น
ตัวอย่างโค๊ด

โค้ดตัวอย่างนี้แสดงการสร้างตาราง CustomerList ที่มีฟิลด์ Customer ID, Customer Name และ Balance ซึ่งใช้ในการจัดเก็บข้อมูลลูกค้า
การเขียนโปรแกรมแบบ Event-Driven ใน AL
หนึ่งในจุดเด่นของ AL คือการรองรับการเขียนโปรแกรมแบบ Event-Driven ซึ่งช่วยให้ผู้พัฒนาสามารถสร้างเหตุการณ์ (Events) ที่กระตุ้นการทำงานของโค้ดได้อย่างมีประสิทธิภาพ เช่น เมื่อมีการเพิ่มข้อมูลใหม่ในตารางลูกค้า ระบบสามารถเรียกใช้ฟังก์ชันเพื่อตรวจสอบข้อมูล หรือติดตามการเปลี่ยนแปลงได้โดยอัตโนมัติ
ตัวอย่างเช่น

ในตัวอย่างนี้ MyProcedure จะถูกเรียกใช้ทุกครั้งที่มีการแทรกข้อมูลลูกค้าใหม่ในตาราง Customer
การพัฒนาใน Visual Studio Code
AL ทำงานได้อย่างราบรื่นใน Visual Studio Code ซึ่งเป็นเครื่องมือพัฒนาที่ได้รับความนิยมสูง Visual Studio Code มีส่วนขยายที่สนับสนุนการพัฒนา AL โดยเฉพาะ ฟีเจอร์ที่สำคัญของ Visual Studio Code ในการพัฒนา AL ได้แก่:
- IntelliSense: ระบบช่วยเติมคำสั่งอัตโนมัติ ช่วยเพิ่มความสะดวกและความเร็วในการเขียนโค้ด
- Debugging: ความสามารถในการตรวจสอบและแก้ไขข้อผิดพลาดในโค้ดได้อย่างมีประสิทธิภาพ
- Source Control: การควบคุมเวอร์ชันของโค้ดผ่าน Git ช่วยให้การจัดการโครงการเป็นไปอย่างราบรื่น
การพัฒนาภายใน Visual Studio Code ยังรวมถึงการสร้างโปรเจกต์ AL และการจัดการไฟล์ต่าง ๆ ที่เกี่ยวข้องกับโซลูชันใน Business Central
การสร้างและการจัดการ Extension
หนึ่งในคุณสมบัติที่สำคัญของ AL คือการสร้าง Extension ซึ่งเป็นโมดูลที่สามารถเพิ่มฟังก์ชันการทำงานใหม่ ๆ ให้กับ Business Central โดยไม่กระทบกับโค้ดหลักของระบบ Extension เหล่านี้สามารถถูกติดตั้งหรือแจกจ่ายให้กับผู้ใช้งานได้อย่างง่ายดาย
ขั้นตอนการสร้าง Extension:
- สร้างโปรเจกต์ใหม่ใน Visual Studio Code: เริ่มต้นด้วยการสร้างโปรเจกต์ AL ใหม่ จากนั้นกำหนดโครงสร้างของโซลูชันที่ต้องการพัฒนา
- เขียนโค้ด AL: พัฒนาโค้ดตามความต้องการ เช่น การสร้างตารางใหม่ หรือการปรับแต่งอินเทอร์เฟซผู้ใช้
- ทดสอบและ Debug: ใช้ฟีเจอร์ Debugging ใน Visual Studio Code เพื่อตรวจสอบและแก้ไขข้อผิดพลาดในโค้ด
- สร้างไฟล์
.app: เมื่อโค้ดเสร็จสมบูรณ์ ให้สร้างไฟล์.appซึ่งเป็นแพ็กเกจ Extension สำหรับติดตั้งใน Business Central - ติดตั้ง Extension: นำไฟล์
.appไปติดตั้งในระบบ Business Central ผ่านการจัดการ Extension
Integration กับ Web Services และระบบภายนอก
AL ยังมีความสามารถในการทำงานร่วมกับ Web Services และระบบภายนอกอื่น ๆ ทำให้สามารถเชื่อมต่อและแลกเปลี่ยนข้อมูลกับระบบภายนอกได้อย่างมีประสิทธิภาพ เช่น การดึงข้อมูลจาก API ภายนอก หรือการส่งข้อมูลไปยังระบบอื่น ๆ เพื่อการประมวลผลต่อไป
ตัวอย่างโค้ดที่เชื่อมต่อกับ Web Service

การรักษาความปลอดภัยและการกำหนดสิทธิ์การเข้าถึง (Security and Permissions)
Dynamic 365 Business Central มีฟีเจอร์ในการจัดการความปลอดภัยของข้อมูลและการกำหนดสิทธิ์การเข้าถึงของผู้ใช้งานตามบทบาท (Role) ที่กำหนด ผู้พัฒนาสามารถสร้างและจัดการ Permission Sets เพื่อกำหนดสิทธิ์การเข้าถึงข้อมูลต่าง ๆ ในระบบ เช่น ผู้จัดการสามารถเข้าถึงข้อมูลทั้งหมด แต่พนักงานอาจมีการจำกัดการเข้าถึง
สรุป
AL Programming Language เป็นเครื่องมือที่ทรงพลังและมีความสำคัญสำหรับการพัฒนาโซลูชันใน Microsoft Dynamics 365 Business Central ด้วยคุณสมบัติที่ครบครันในการจัดการข้อมูล การปรับแต่งอินเทอร์เฟซ และการเชื่อมต่อกับบริการภายนอก AL ช่วยให้ธุรกิจสามารถปรับตัวและเติบโตได้อย่างรวดเร็วในยุคดิจิทัล
