โปรดลงทะเบียน Facebook เพื่อเข้าร่วมกับเรา ภารกิจ:แลกเปลี่ยนความรู้เว็บไซท์นี้ ขอเสนอเป็นศูนย์แลก เปลี่ยนความรู้ และนำเสนอข่าวในส่วนของ Axapta Microsoft Dynamics AX ในรูปแบบภาษาไทย บน Social network เข้าสู่หน้าหลัก:http://Thai-Axapta.com

เริ่ม ต้นเขียนโปรแกรมกับ กับ X++



เรามาทำความรู้จักภาษาที่ใช
้ใน การพัฒนา Axapta นั่นคือ ภาษา X++ ถูกออกแบบโครงสร้างคล้ายกับJAVA ซึ่ง X++ มีโครงสร้าง แบบ object oriented programming สามารถที่จะ inheritance, classes, object และ methods. X++ สามารถเขียน scripting language SQL ในการ ติดต่อข้อมูลเป็นส่วนหนึ่ง ของ ภาษา X++ ก่อนที่เราจะเรียนรู้กับการเขียนโปรแกรมเราจะมาดูรายเอียดในหัวข้อต่างดังนี้


AOT แสดงถึง โครงสร้างของ Application ทั้งหมด









Data Dictionary ใช้แสดงและออกแบบ Database จะประกอบไปด้วย
Table ตารางเก็บข้อมูล
MAP ใช้สำหรับ MAP ตารางเก็บข้อมูล ที่มีโครงสร้างที่คล้ายกันเพื่อให้ง่ายต้องการใช้งาน
View ใช้ทำ Query เพื่อจำลอง Table เสมือนเพื่อที่จะใช้ในการแสดงข้อมูล
Extended Data Type ประเภทข้อมูลมีความสำคัญในการใช้จัดการประเภทข้อมูลเป็นอย่างมาก
Base Enums คือการกำหนด ข้อความเป็นตัวเลขในการเก็บข้อมูล เช่น NOYES::NO = 0, NOYES::YES = 1
Feature Key ใช้ในการกำหนดสิทธ์ (เฉพาะ Axapta 2.5)
License Code ใช้ในการ License ให้กับ Code ที่ได้ทำการ เขียน
Configuration Keys ใช้ในการกำหนดสิทธ์ การใช้งานหลัก (เฉพาะ Axapta 3.0 ขึ้นไป ช่วงติดตั้ง)
Security Keys ใช้ในการกำหนดสิทธ์ สิทธ์ การใช้งานสำหรับผู้ใช้
Macro เพิ่มขีดความสามารถในการเขียน Code หรือชุดคำสั่ง โดยย่อชุดคำสั่งด้วย Macro
Class เพื่อประสิทธ์ภาพ OOP เต็มรูปแบบ โดย Class สามารถ ลดการเขียน coding ได้
Form หน้าจอรับคำสั่งหรือ ติดต่อกับผู้ใช้
Report รายงาน
Queries Form ในการเลือกข้อมูล สามารถใช้งานใน กรณีที่มีเงื่อนไขเลือกข้อมูลที่แตกต่างกัน
Jobs สำหรับเขียนทดสอบ Coding หรือ คำสั่งง่าย ๆ
Menus กำหนดโครงสร้าง Manu ของระบบ
Menu Item ใช้สำหรับเชื่อม ติดต่อกับ Manu ของระบบ
Web สำหรับการติดต่อบน Web

Resources เก็บข้อมูลต่าง ๆ คล้ายกับ ภาษา C++ เช่น รูป, Icon
System Documentation อกสารเกี่ยวกับ Function, คำสงวน Class Table ของระบบ
Application Developer Documentation เอกสารเกี่ยวกับ Class Table ที่ทำมีการพัฒนา
Application Documentation เอกสารเกี่ยวกับ Application ทั้งหมดสภาพแวดล้อม Axapta

เรามาดูสภาพแวดล้อมของ Axapta development จากรูปโครงสร้างดังกล่าว แต่ละส่วนมีหน้าที่ที่แต่งต่าง กัน โดยแบ่งออกเป็น 3 ส่วนหลักที่สำคัญ นั่นคือ IntelliMorph (user interfaces/ส่วนที่ใช้ติดต่อ ผู้ใช้ ), MorphX Development (ส่วนที่เป็น coding logic ในการทำงาน และ ส่วนติดต่อฐานข้อมูล ) และ data storing (ระบบจัดการ ฐานข้อมูล)



USER (IntelliMorph)
-IntelliMorph (functionality) คือ เทคโนโลยีที่จะจัดการและควบคุมหน้าจอส่วนที่ติต่อ ผู้ใช้ (user interface) ในระบบ Axapta ว่าจะแสดงข้อมูลอย่างไรกับผู้ใช้งาน และสามารถที่จะติดต่อกับผู้ใช้ได้หลากหลาย นอกจาก Window Form เช่นผ่าน Web, PDAโดยใช้ Code เดียวกัน
นอกจากนั้นยังสามารถที่จะสร้าง รูปแบบที่แตกต่าง ของผู้ใช้งานแต่ละคนได้ด้วย (Forms, reports and menus)

Developer (MorphX)
-MorphX Development คือ เครื่ององมือที่จะใช้ในการพัฒนา ERP applications ที่ยอมใช้เฉพาะ Administrators และ Programmers เข้ามาสร้าง แก้ไข และปรับปรุง ในส่วนต่างของ Axapta รวมไปถึงการควบคุมสภาวะแวดล้อมต่าง ๆ logic และ ออกแบบ ฐานข้อมูล โดยแยกเป็น 2 กลุ่มย่อย
-Business Logic คือ อัลกอลิทึม ที่มีความซับซ้อนที่ถูกเรียกใช้งาน จะถูกเขียนด้วย ภาษา X++ โครงสร้างแบบ object-oriented คล้ายกับX++ ซึ่งมี classes objects และ methods คล้ายกับ Java-like syntax รวมการติดต่อฐานข้อมูล รายงาน ฟอร์ม บน Windows และ web ดูได้จาก help นอกจากนั้น X++ ยังสามารถลดการเขียนทำการเสี่ยงเกิด Error ด้วย
Data Dictionary คือส่วนแสดง เกี่ยวกับรายระเอียดของข้อมูลเช่น Tables, fields, indexes และ data types ที่ใช้
Database คือ โปรแกรมจัดการฐานข้อมูลปัจจุบัน Axapta 3.0 สนับสนุน ฐานข้อมูลอยู่ 2 ค่าย คือ Microsoft SQL Server (7.x and 2000) และ Oracle (8.0.x, 8.1.x and 9.0.x)

แนะนำเครื่องมือในการพัฒนาเบื้อ งต้น
The MorphXplorer ใช้แสดงความสัมพันธ์ ของ Table, Class ในรูปแบบ diagram (ToolsàDevelopment tools -> Visual MorphXplorer)
The debugger ใช้ในการตรวจสอบโปรแกรม Run step by step, ดูค่าข้อมูลขณะรัน (ToolsàDevelopment tools -> debugger)
The trace ตรวจสอบติดตาม การทำงาน ของ Method และ ข้อมูล (มีประโยชน์มาก) (ToolsàOption-> Tab DevelopmentàTrace)
The cross-reference สำหรับดูภาพรวมของระบบว่า field เขียนอ่านที่ไหน เมื่อไร Method ทำงานที่ไหน ตัวแปร ถูกใช้ไหน (ToolsàDevelopment tools ->cross-reference)
The table browser แสดงข้อมูลในตาราง (คลิกขวาàAdd-Ins-> table browser)
The Find functionality ค้นหา Object, Text ที่ต้องการทราบอยู่ที่ไหนขอระบบบ้าง (มีประโยชน์มากครับ) (คลิกขวา-> Find )
The Compare tool สำหรับ ตรวจสอบความต่างของ แต่ระ Layer (ให้ดูหัวข้อ Layer) ตาราง (คลิกขวาàAdd-Ins-> Compare)
The table definition tool แสดงรายเอียดทั้งหมดของ ตาราง (Table) (ToolsàDevelopment tools -> table definition)
Tutorials ตัวอย่างโปรแกรมใช้ในกรณีศึกษา (ดู Object ใน AOT จะมีคำว่า Tutorial นำหน้า)

Layer
Axapta เป็น ซอฟแวร์ แบบ Application object layers นั้นคือ แต่ละ Layer จะ อิสระต่อกันเป็น ลำดับชั้น ของ source code คุณสามารถที่จะทำการแก้ไข เพื่อ ส่วนต่าง ๆ ที่อยู่ใน Layer ที่คุณเป็นเจ้าของ เมื่อคุณจะยกเลิกมันคุณสามารถ กับสู่ Layer ที่อยู่ระดับชั้นที่ต่ำกว่าได้ หมายความว่าสิ่งที่คุณกระทำไม่มีผลต่อ Original code แต่ถ้าสิ่วงที่คุณสร้างไม่มีใน Layer ก่อนหน้านี้ การลบอาจ code คุณหายไป


SYS คือ เป็น แกนกลางของ Application เป็นชั้นแรกสุดของ Code ที่ไม่สามารถที่จะลบออกได้ เราเรียกว่า SYS layer (System) ID range: 1-8000
GLS คือ เป็นชั้นที่ได้ผ่านการรับรองจาก Microsoft Business Solutions ซึ่งจะยู่ใน GLS layer (Global Solutions) ID range: 8001-16000
DIS คือ เป็นชั้นที่ application ได้มีการปรับปรุงให้เหมาะสมกับประเทศ กฎหมาย หรือ ความต้องการของประเทศนั้นจะอยู่ ใน DIS layer (Distributor) และในอนาคตจะถูกนำมาอยู่ที่ GLS layer ID range: 16001-18000
LOS คือ เป็นชั้นที่ Microsoft ให้โอกาสกับ partner ในการรับรองและแจกจ่ายในพื้นที่ ของ Partner เป็นผู้ดูแล (Local Solution) ID range: 18001-20000
BUS คือ เป็นชั้นที่ Partner ของ Microsoft ใช้ในการพัฒนา แก้ไขและจะทำการบันทึกไว้ที่ BUS layer ( Business solution) ID range: 20001-30000
VAR คือ เป็นชั้นที่ ใช้แบ่งสรรเพื่อที่จะทำการ พัฒนา สร้างแก้ไขให้กับลูกค้าต่างๆ จะทำการ บันทึกที่ VAR layer(Value Added Reseller) ID range: 30001-40000
CUS คือ เป็นชั้นที่ ให้กับลูกค้า ใช้ในการพัฒนาผู้ซึ่งจะอยู่ในส่วนของผู้ดูแลระบบและ programmer จะทำการบันทึกที่ CUS layer (Customer) ID range: 40001-50000
USR คือ เป็นชั้นที่ ให้กับผู้ใช้งาน( end user) ปกติจะเป็น พวก Report จะทำการบันทึกที่ USR layer ก่อนจะมาเป็น CUS layer ID range: 50001-60000 Patch layers

คือ Layer ที่ออกมาแก้ไข bug.ให้กับ Layer ดังที่กล่าวมาแล้ว ประกอบไปด้วย SYP, GLP, DIP, LIP, BUP, VAP, CUP, และ USP

แล้วเจอกันใหม่ฉบับหน้าครับ

Thai-Axapta.com สงวนสิทธิ์ในการทำซ้ำ ทั้งหมด หรือบางส่วนไม่ว่าในรูปแบบหรือสิ่งใดโดย ขอให้อ้างถึงที่มาของข้อมูลทุกครั้ง

แสดงความคิดเห็น