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

RFID สำคัญฉะไหน


หลังจาก microsoft ได้ประกาศตัว Dynamics Ax โดยให้การสนับสนุนการทำงานก
ับระบบ RFID


แล้วมันคืออะไรหละ นั้นน่ะสิคือสิ่งที่เราต้องเรารู้ ดูจากแนวโน้ม ปี 2007 จะมีการนำ RFID ในเมืองไทยมากกว่า 30 เปอร์เซ็น เราคงต้องรู้จักกับเจ้า RFID กันหน่อย ..


RFID ย่อมาจากคำว่า Radio Frequency Identification เป็นเทคโนโลยีไร้สายที่ใช้ระบุ ลักษณะเฉพาะของคน สัตว์ และสิ่งของ ด้วยการติดแผ่นป้ายอิเล็กทรอนิกส์ (Tags) ที่มีการลงโปรแกรมควบคุมที่ระบุ อย่างเฉพาะเจาะจง โดยติดไปกับสิ่งที่ต้องการตรวจสอบ และระบุถึงข้อมูลของสิ่งนั้นๆ ซึ่งเทคโนโลยีนี้เป็นการนำเอาคลื่นวิทยุมาเป็นคลื่นพาหะเพื่อใช้ในการสื่อสารข้อมูลระหว่างอุปกรณ์ 2 ตัวที่เรียกว่า แผ่นป้าย (Tag) และตัวอ่านข้อมูล (Reader หรือ Interrogator)



รูปที่ 1 แผนผังการทำงานของระบบ RFID

องค์ประกอบของระบบ RFID
RFID Tag หรือ Label คือแผงวงจรวิทยุขนาดเล็กบรรจุข้อมูลความจำ (Memory chip) บนแผ่นกระดาษขนาด 2 ตารางนิ้ว ที่สามารถเก็บข้อมูลได้ถึง 2,000 บิตต่อชิปหนึ่งตัว RFID TAG มี 2 ชนิดคือ
Active Tag : ประกอบด้วยเครื่องรับ-ส่งคลื่นวิทยุ และแบตเตอรี่ที่ให้พลังงานในตัวเอง ทำให้สามารถรับ-ส่งสัญญาณข้อมูลกับ RFID Reader ได้ในระยะไกล สามารถทำงานในบริเวณที่มีสัญญาณ รบกวนได้ดี และสามารถอ่านและเขียนข้อมูลลงใน Tag ชนิดนี้ได้ แต่มีข้อเสียคือ มีอายุการใช้งานจำกัดตามอายุของ แบตเตอรี่ และมีราคาแพงกว่าแบบ Passive Tag
Passive Tag : ไม่มีแบตเตอรี่ในตัวเอง น้ำหนักเบา อายุการใช้งานไม่จำกัด และราคาถูกกว่าแบบ Active Tag ลักษณะการทำงานคือ เมื่อได้รับสัญญาณที่ RFID Reader ส่งมา (อยู่ภายในรัศมีสัญญาณ ประมาณ 3 เมตร) จะทำการแปลงสัญญานนั้นเป็นพลัง งาน(Beam Powered) เพื่อใช้ในการส่งข้อมูลของตัวเองกลับไปยัง Reader โดยใช้เทคนิคที่เรียกว่า Backscatter แต่ข้อเสียคือระยะการรับส่งข้อมูลใกล้ ตัวอ่านข้อมูลต้องมีความไว้สูง และจะถูกรบกวนด้วยคลื่นแม่เหล็กไฟฟ้าได้ง่าย
RFID Reader หรือ Interrogator คือตัวอ่านข้อมูล มีหน้าที่รับข้อมูลที่ส่งมาจาก Tag แล้วทำการตรวจสอบความผิดพลาดของ ข้อมูล ถอดรหัสข้อมูล และนำข้อมูลผ่านเข้าสู่กระบวนการต่อไป ซึ่ง Reader ที่ดีต้องมีความสามารถในการป้องกัน การอ่านข้อมูลซ้ำ เช่นในกรณีที่ Tag ถูกวางทิ้งอยู่ในบริเวณสนามแม่เหล็กไฟฟ้าที่ Reader สร้างขึ้น หรืออยู่ในระยะการรับส่ง ก็อาจทำให้ Reader ทำการรับหรืออ่านข้อมูลจาก Tag ซ้ำอยู่เรื่อย ๆไม่สิ้นสุด ดังนั้น Reader ที่ดีต้องมีระบบป้องกันเหตุการณ์เช่นนี้ ที่เรียกว่าระบบ "Hands Down Polling" โดย Reader จะสั่งให้ Tag หยุดการส่งข้อมูลในกรณีเกิดเหตุการณ์ดังกล่าว หรืออาจมีบางกรณีที่มี Tag หลาย Tag อยู่ในบริเวณสนามแม่เหล็กไฟฟ้าพร้อมกัน หรือที่เรียกว่า "Batch Reading" Reader ควรมีความสามารถที่จะจัดลำดับการอ่าน Tag ทีละตัวได้
3. Antenna เป็นสายอากาศที่เชื่อมต่อกับ Reader เป็นตัวรับและส่งคลื่นความถี่วิทยุ ซึ่งเป็นคลื่นพาหะ ที่ผ่านการทำมอดูเลต กับข้อมูลแล้ว ซึ่งการรับส่งคลื่นมี 2 วิธีด้วยกัน คือ วิธีเหนี่ยวนำคลื่น แม่เหล็กไฟฟ้า (Inductive Coupling หรือ Proximity Electromagnetic) กับ วิธีการแผ่คลื่นแม่ เหล็กไฟฟ้า (Electromagnetic Propagation Coupling) ดังรูป



รูปที่ 2 แสดงการสื่อสารระหว่าง Tag และ Reader
หลักการทำงานเบื้องต้น
1. Reader จะทำการปล่อยคลื่นแม่เหล็กไฟฟ้า ออกมาตลอดเวลา และคอยตรวจจับว่ามีแท็กเข้ามา อยู่ ในบริเวณสนามแม่เหล็กไฟฟ้าหรือไม่
2. เมื่อมี Tag เข้ามาอยู่ในบริเวณสนามแม่เหล็กไฟฟ้า Tag จะได้รับพลังงานไฟฟ้าที่เกิดจาก การเหนี่ยว นำของคลื่นแม่เหล็กไฟฟ้าเพื่อให้ Tag เริ่มทำงานและจะส่งข้อมูลในหน่วยความจำที่ผ่านการมอดูเลต กับคลื่นพาหะ แล้วออกมาทางสายอากาศที่อยู่ภายใน Tag
3. คลื่นพาหะที่ถูกส่งออกมาจาก Tag จะเกิดการเปลี่ยนแปลงแอมปลิจูด, ความถี่ หรือเฟส ขึ้นอยู่กับ วิธีการมอดูเลต
4. Reader จะตรวจจับความเปลี่ยนแปลงของคลื่นพาหะ แปลงออกมาเป็นข้อมูลแล้วทำการถอดรหัส เพื่อนำข้อมูลไปใช้งานต่อไป



รูปที่ 3 ตัวอย่างการใช้งาน Tag และ Reader


การประยุกต์ใช้งาน RFID จะมีลักษณะการใช้งานที่คล้ายกับบาร์โค้ด (Bar code) แต่ต่างกันตรงที่ Tag ของระบบ RFID สามารถอ่านและบันทึกข้อมูลได้ ดังนั้นผู้ใช้จึงสามารถบันทึก หรือเปลี่ยนแปลงข้อมูลที่อยู่ใน Tagsได้ และสามารถนำ Tags ไปติดกับกระดาษ พลาสติก ฝั่งในแก้ว หรือการ์ดก็ได้ขึ้นความเหมาะสมในการนำไปใช้งาน



รูปที่ 4 รูปแบบต่าง ๆ ของผลิตภัณฑ์ RFID
วิวัฒนาการของ RFID จากอดีตจนถึงปัจจุบัน
Radio Frequency Identification (RFID) : เทคโนโลยีไร้สายที่ใช้คลื่นวิทยุ ในการระบุลักษณะเฉพาะของคน สัตว์ และสิ่งของ เริ่มต้นขึ้นในศตวรรษที่ 20


20th Century
เทคโนโลยี RFID ถือกำเนิดมาจากพลังงานแม่เหล็กไฟฟ้า โดยนักวิทยาศาสตร์ได้มีการคิดค้นทฤทษฎีต่าง ๆ ในการนำเอาพลังงานแม่เหล็กไฟฟ้า มาใช้กับการรับส่งคลื่นวิทยุ และพัฒนามาจนกลายเป็นเทคโนโลยี RFID ในที่สุด โดยประมาณปี 1922 ได้มีการพัฒนาเรดาร์ขึ้นในช่วงสงครามโลกครั้งที่ 2 เพื่อใช้ในการตรวจจับ ระบุตำแหน่ง และความเร็วของวัตถุให้กับกองทัพ และในช่วงสุดท้ายของการพัฒนาเรดาร์นี้เองเทคโนโลยี RFID จึงถือกำเนิดขึ้น จากการรวมกันของเทคโนโลยีการกระจายคลื่นวิทยุ และ เรดาร์


1940s
ในปี 1948 มีการนำเสนอผลงานเกี่ยวกับ RFID ออกสู่สาธารณชน เรื่อง “ Communication by Means of Reflected Power.” โดย Harry Stockman


1950s : Early Exploration of RFID Technology
ยุคเริ่มต้นของการสำรวจเทคโนโล ยี RFID มีผลงานการพัฒนาที่เกิดขึ้นในยุคนี้ ได้แก่ "Application of the microwave homodyne" ของ F. L. Vernon's และ "Radio transmission systems with modulatable passive responder . ” ของ D.B. Harris ซึ่งเป็นการขับเคลื่อนการพัฒนา RFID ให้ก้าวต่อไปข้างหน้า


1960s : RFID Become Reality
ยุคของการพัฒนาเทคโนโลยี RFID มีผลงานการพัฒนาได้แก่ "Field measurements using active scatterers" and "Theory of loaded scatterers" ของ R. F. Harrington , "Remotely activated radio frequency powered devices" ของ Robert Richardson , "Communication by radar beams" ของ Otto Rittenback , "Passive data transmission techniques utilizing radar beams" ของ J. H. Vogelman และ "Interrogator-responder identification system" ของ J. P. Vinding
และกิจกรรมเชิงพาณิชย์ของ RFID ได้เริ่มต้นเป็นครั้งแรกในปี 1960 จากการพัฒนาและจำหน่ายเครื่องตรวจจับอิเล็กทรอนิกส์เพื่อป้องกันขโมย ที่เรียกว่า Electronic Article Surveillance (EAS) ของบริษัท Sensormatic Checkpoint และบริษัทอื่น ๆ เช่น Knogo


1970s : Explosion of RFID Development.
การพัฒนาเทคโนโลยี RFID ได้รับความสนใจอย่างมาก ทั้งจากภาครัฐ และภาคเอกชน โดยมีบริษัทใหญ่ ๆ เช่น Raytheon ทำการพัฒนา Raytag ,RCA and Fairchild พัฒนา "Electronic identification system" และ "Passive encoding microwave transponder" รวมถึงการพัฒนาจากสถาบันการศึกษา ซึ่งสถาบันที่มีบทบาทสำคัญ คือ Los Alamos Scientific Laboratory ได้นำเสนอผลงานพัฒนาที่ก้าวหน้าและสำคัญ เรื่อง “Short-range radio-telemetry for electronic identification using modulated backscatter" โดย Alfred Koelle, Steven Depp และ Robert Freyman
และในยุคนี้ได้เริ่มมีการนำเอา เทคโนโลยี RFID มาใช้ในงานด้านอื่น ๆ อาทิเช่น ระบบเก็บค่าผ่านทางอิเล็กทรอนิกส์ การใช้งานในโรงงาน การติดตามสัตว์ หรือยานพาหนะ เป็นต้น


1980s : Commercial Applications of RFID
นับเป็นทศวรรษแห่งการใช้งานเทคโนโลยี RFID อย่างเต็มรูปแบบ ถึงแม้ว่าการพัฒนาจะแตกต่างกันไปในแต่ละส่วนของโลก แต่ความสนใจของสหรัฐอเมริกามุ่ง ไปที่การนำ RFID มาใช้ในระบบขนส่ง การเข้าถึงบุคคล และขยายไปถึงการติดตามสัตว์ สำหรับในยุโรปสนใจในระบบ Short-range สำหรับสัตว์ อุตสาหกรรม และด้านธุรกิจ ในประเทศอิตาลี ฝรั่งเศส สเปน โปรตุเกส และนอร์เวย์มีการเตรียมถนนหรือ สะพานให้พร้อมสำหรับการใช้เทคโนโลยี RFID ในอนาคต จนในปี 1987 ประเทศนอร์เวย์ได้เริ่มใช้ระบบเก็บค่าผ่านทางอิเล็กทรอนิกส์นี้ในเชิงพาณิชย์เป็นครั้งแรก ตามมาด้วยสหรัฐอเมริกาใน ปี 1989 ที่ด่านตรวจคนเข้าเมืองของ New York และ New Jersey เริ่มใช้กับรถบัสที่ผ่านอุโมงค์ Lincoln จะเห็นว่าในช่วง 10 ปีนี้เทคโนโลยี RFID ได้เริ่มเข้ามามีบทบาทสำคัญกับ ระบบเก็บค่าผ่านทางอิเล็กทรอนิกส์ มากขึ้น และยังมีผู้พัฒนารายใหม่มากเพิ่ม ขึ้นทุกวัน


1990s : RFID becomes a part of everyday life.
เป็นทศวรรษสำคัญของ RFID มีการกำหนดมาตรฐาน RFID และมีการจดสิทธิบัตรมากกว่า 350 ฉบับ อีกทั้ง มีการนำมาใช้งานเชิงพาณิชย์อย่างกว้างขวาง เช่นระบบเก็บค่าผ่านทางอิเล็กทรอนิกส์ ที่ใช้กันอย่างแพร่หลาย ในประเทศต่าง ๆ ได้แก่ ที่สหรัฐอเมริกา ในปี 1991 มีการเปิดใช้งานบนทางหลวงใน Oklahoma และปี 1992 นำระบบเก็บค่าผ่านทางอิเล็กทรอนิกส์นี้มาใช้ร่วมกับระบบบริหารการจราจรในพื้นที่ Houston มลรัฐ Harris รวมถึงประเทศแถบยุโรป แคนาดา เม็กซิโก อาร์เจนตินา แอฟริกาใต้ ออสเตรเลีย จีน ฮ่องกง เกาหลีใต้ ฟิลิปปินส์ ญี่ปุ่น มาเลเซีย สิงค์โปร์ และไทย


The 21st Century
ปัจจุบันได้เริ่มมีการพัฒนาเทคโนโลยี RFID ให้ประยุกต์ใช้งานในเชิงพาณิชย์ มากขึ้น อาทิเช่น การบริหารจัดการสินค้าในธุรกิจค้าปลีก การจัดการข้อมูลและประวัติผู้ป่วยในธุรกิจโรงพยาบาลและสถานพยาบาลต่าง ๆ (Health Care) การจัดการข้อมูลสัตว์เลี้ยงของ ธุรกิจฟาร์มปศุสัตว์ (Animal Identification) การจัดการข้อมูลงานทะเบียนของภาครัฐ และการรักษาความปลอดภัย การเข้าออกของอาคาร สำนักงาน (Security Access) เป็นต้น


เทคโนโลยี RFID กับการพาณิชย์


ธุรกิจค้าปลีก


ปัจจุบันมีการนำเทคโนโลยี RFID มาประยุกต์ใช้ในธุรกิจค้าปลีก ด้านการบริหารจัดการสินค้า เพื่อให้สามารถควบคุมดูแลสินค้า ได้ ตั้งแต่เริ่มต้นกระบวน สั่งสินค้าจาก Suppliers จนส่งมอบสินค้าถึงมือลูกค้า และเพื่อให้สามารถใช้ข้อมูล แบบ real-time ร่วมกันได้อย่างอัตโนมัติ โดยความท้าทายคือการหาวิธีในการบริหารจัดการข้อมูล ทั้งในเรื่องการกลั่นกรองข้อมูล ใช้ หรือแชร์ข้อมูลนั้นร่วมกันระหว่างบริษัท ค้าปลีก และซัพพายเออร์ โดยบริษัทที่เป็นผู้ริเริ่ม และมีบทบาทสำคัญในการนำเทคโนโลยี RFID มาใช้คือ Wal-Mart ยักษ์ใหญ่แห่งวงการค้าปลีกของประเทศ สหรัฐอเมริกา และของโลก และ Tesco Lotus ของประเทศอังกฤษ



Wal-Mart บริษัทค้าปลีกที่ใหญ่ที่สุดใน สหรัฐอเมริการ ก่อตั้งเมื่อปี 1962 ปัจจุบันที่ร้านค้ากว่า 500 ร้าน และมีคลับผุ้ค้าส่งในกว่า 10 ประเทศ บริษัทมียอดขายกว่า 9.1 พันล้านเหรียญสหรัฐ
การศึกษาเทคโนโลยี RFID ทาง Wal-Mart ได้ทำการศึกษาถึงศักยภาพของเทคโนโลยี RFID มาเป็นเวลากว่า 12 ปี ที่ Rogers, Ark., โดยทำการทดสอบ tags และ readers จากผู้ขายจำนวนหลายราย และศึกษาถึงประสิทธิภาพการใช้ง านของอุปกรณ์เหล่านี้ภายใต้ สภาวะแวดล้อมที่แตกต่างกันของศูนย์ กระจายสินค้าและห้อง เก็บของ และยังได้ร่วมมือกับ Auto-ID Center (องค์กรวิจัยแบบไม่แสวงหากำไร ตั้งอยู่ที่ Massachusetts Institute of Technology) มาเป็นเวลา 2 ปีครึ่ง เพื่อพัฒนาและทดสอบเทคโนโลยี RFID


การประกาศใช้เทคโนโลยี RFID เมื่อศึกษาจนแน่ใจในตัวเทคโนโลยี RFID แล้ว Wal-mart จึงประกาศให้ซัพพายเออร์ 100 รายแรกติด RFID tags บนลังใส่สินค้า และ pallets (ถาดที่ทำจากไม้หรือเหล็กสำหรับ วางลังสินค้าจำนวนมาก) ที่ส่งเข้าศูนย์กระจายสินค้า และร้านค้า ให้เสร็จสิ้นภายในเดือนมกราคม ปี ค.ศ. 2005 แห่ง ซึ่งถ้าซัพพายเออร์รายใดไม่ปฏิบัติตามจะต้องถูก และตั้งเป้าภายในสิ้นปี 2005 กำหนดใช้ RFID กับร้านค้า 3,000 แห่ง และศูนย์กระจายสินค้า 100 แห่ง แต่เนื่องจาก RFID เป็นเทคโนโลยีที่ใหม่มากสำหรับ วงการค้าปลีก จึงมีคำถามเกิดขึ้นมากมายเช่น จะนำเทคโนโลยี RFID นี้มาใช้อย่างไร ข้อมูลใดบ้างที่ต้องแชร์กันระหว่าง Wal-Mart กับฃัพพายเออร์จำนวนมาก และบริษัทจะติดตามสินค้าด้วยบาร์โค้ดไปพร้อมกับ RFID tags ขณะทำการขนส่งได้ แต่ถึงแม้จะมีคำถามและข้อสงสัยต่าง ๆ ทาง Wal-Mart ยังคงยืนยันการใช้เทคโนโลยี RFID นี้เพราะบริษัทจะได้รับประโยชน์ ทั้งในด้านประสิทธิภาพการทำ งานดีขึ้น ต้นทุนที่ลดลง และยอดขายที่เพิ่มขึ้น


ประโยชน์ที่ Wal-Mart ได้รับจากการนำเทคโนโลยี RFID มาใช้
สามารถลดจำนวนพนักงานที่มีหน้า ที่สแกน bar code บน pallets และลังสินค้า รวมถึงสินค้าในร้านค้า ทำให้ลดต้นทุนแรงงานได้ 15 เปอร์เซ็นต์คิดเป็นเงิน 6.7 พันล้านเหรียญสหรัฐ
จากการใช้ระบบ smart shelf ในการจัดการกับสินค้าบนชั้นวางสินค้าในร้านค้า ทำให้ประหยัดไปได้ถึง 600 ล้านเหรียญสหรัฐ
ลดการสูญหายของสินค้า ทั้งจากการขโมยของพนักงาน หรือการโกงจากผู้ขาย และการบริหารที่ผิดพลาด ทำให้ประหยัดไปได้ 575 ล้านเหรียญสหรัฐ
ด้วยระบบการติดตามที่ดีที่ใช้ก ับ pallets และลังสินค้าที่ผ่านเข้าออกศูนย์กระจายสินค้าในแต่ละปีทำให้บริษัทสามารถประหยัดได้ถึง 300 ล้านเหรียญสหรัฐ
ลดค่าใช้จ่ายในการบริหารสินค้า คงคลังได้ถึง 180 ล้านเหรียญสหรัฐ



Tesco ประกอบธุรกิจในรูปแบบ Supermarket , Hypermarket และ Convenience Store ในประเทศอังกฤษ ไอร์แลนด์ ยุโรปกลาง และเอเชีย รวมแล้วกว่า 2000 แห่ง ซึ่งอยู่ในอังกฤษถึง 1982 แห่งด้วยกัน โดยเมื่อปี 2003 บริษัทมียอดขายกว่า 41 พันล้านเหรียญสหรัฐ ถือเป็นบริษัทค้าปลีกรายใหญ่ที่ สุดในเกาะอังกฤษ


การศึกษาเทคโนโลยี Tesco เป็นบริษัทแรกที่พัฒนาเทคโนโลยี Smart Shelf ที่ได้รับการออกแบบโดย Gilletes และเป็นรายแรกที่ทดลองใช้ ระบบ low-cost antenna ที่พัฒนาโดย MeadWestvaco’s Intelligent System (MWVIS) พื่อที่จะติดตาม CDs ในร้านค้าได้ สำหรับการทดลอง RFID Tesco ทำงานร่วมกับ Alien Technology , IBM Business Consulting Services, Intel , IPI และ Auto-ID Center ขั้นตอนการทดลองคือ เมื่อศูนย์กระจายสินค้ารับคำสั่งซื้อจากร้านค้าแล้ว พนักงานมีหน้าที่ไปจัดสินค้าทั้ง หมด ( ซึ่งได้รับการติด RFID tag จากซัพพายเออร์แล้ว) รวบรวมไปวางไว้บน pallet ที่ติด RFID tag ไว้ เพื่อนำส่งไปยังร้านค้า โดยผ่านจุดเข้า-ออกของศูนย์กระจาย สินค้าซึ่งติด RFID reader ไว้ ซึ่งในขั้นตอนการผ่านเข้า-ออกจะมีการอ่านและบันทึกข้อมูลสินค้า และเวลาเข้าออก เก็บไว้ ทำให้ทางบริษัทสามารถติดตามตรวจ สอบสินค้าทุกชิ้นที่ผ่านเข้า ออกศูนย์กระจายสินค้านี้ได้


การประกาศใช้เทคโนโลยี RFID ในเดือนเมษายน 2004 ทาง Tesco ได้เริ่มแนวคิดที่จะนำ RFID มาใช้ในธุรกิจ โดยทำการติด RFID tag บนบรรจุภัณฑ์ของสินค้าประเภท nonfood ที่ศูนย์กลางกระจายสินค้า เพื่อให้สามารถติดตามสินค้าไปจนถึงร้านค้าได้ และประมาณเดือนกันยายนซัพพายเออร์ บางรายจะเริ่มติด tag บนบรรจุภัณฑ์ของสินค้าที่จะส่งไปยังศูนย์กลางกระจายสินค้าของ Tesco แต่ทางบริษัทไม่ได้กำหนดวันที่ แน่นอนที่ซัพพายเออร์ทุกราย ต้องติด tag บนสินค้าของตนเอง เพียงแต่ประมาณการไว้ในเดือนกันยายน 2005 จะดำเนินการให้ครอบคลุมสินค้าหลัก ๆ และขยายให้ครอบคลุมสินค้าทั้งหมด ในเดือนกันยายน 2006 และคาดว่าจะใช้เทคโนโลยี RFID ได้ตลอดกระบวนการของห่วงโซ่อุป ทานในปี 2007


การดำเนินการของผู้ที่เกี่ยวข้อง ทั้งหมดในห่วงโซ่อุปทาน เมื่อมีการนำเทคโนโลยี RFID มาใช้
ด้านซัพพายเออร์ นอกจากจะต้องติด tags ที่ pallets และลังใส่สินค้าที่ส่งให้บริษัท ค้าปลีก อย่าง Wal-Mart และ Tesco Lotus แล้ว ยังต้องทำการติดตั้งเครื่องอ่าน RFID readers ในโรงงาน โกดังสินค้า และศูนย์กระจายสินค้าของตนเองด้วย และจากความต้องการที่แตกต่างกัน ไปของผู้ค้าปลีกแต่ละราย ทางซัพพายเออร์อาจต้องใช้ tag ชนิดพิเศษ ต้องติด tag ให้ตรงตามตำแหน่งที่กำหนด และต้องจัดเรียงลังใส่สินค้าบน pallet ตามรูปแบบที่กำหนดโดยเฉพาะ ไม่สามารถจะวางกองสุ่ม ๆ กันแบบเมื่อก่อนได้อีกแล้ว และเนื่องจาก RFID tags ที่ใช้จะเก็บ serial number ซึ่งมีความหมายต่าง ๆ กันไป ดังนั้นทางซัพพายเออร์ต้องมีการ ดำเนินการด้าน IT คือต้องทำการสร้างฐานข้อมูลเพื่อเก็บข้อมูลเกี่ยวกับตัวสินค้า ว่าสินค้านั้นคืออะไร ผลิตจากที่ไหน และมีวันหมดอายุเมื่อไร โดยทางผู้ค้าปลีกต้องกำหนดให้แน่นอนว่าต้องการข้อมูลอะไรบ้าง มีรูปแบบอย่างไร และจะสามารถแชร์ข้อมูลกันได้อย่าง ไร ซึ่งทั้งหมดนี้ทางผู้ค้าปลีกและ ซัพพายแออร์ต้องทำงานประสาน กันเป็นอย่างดี


ด้านบริษัทพัฒนาซอฟท์แวร์ต้องทำ การสร้าง fields ใหม่เพื่อรองรับข้อมูล หรือเพิ่ม module การทำงาน หรือ upgrade ผลิตภัณฑ์เพื่อรองรับ serial number ใน RFID tags แต่สุดท้ายแล้วทางผู้ค้าปลีกและ ซัพพายเออร์ต้องจัดเตรียม middleware ไว้คอยรับข้อมูลจำนวนมหาศาลที่มาจากเครื่องอ่าน โดยต้องมีวิธีการจัดการที่ดี ในการรับเฉพาะข้อมูลที่เป็นประโยชน์ เข้าสู่ระบบ และมีวิธีกำจัดข้อมูลที่เข้ามาซ้ำ หรือผิดพลาดออกไปจากระบบ โดยทาง IT และผู้จัดการร้านต้องหาวิธีที่ เหมาะสมในการที่จะจัดการกับ ปริมาณสินค้าคงคลังไม่ให้มี มากหรือน้อยจนเกินไป


ปัญหา และอุปสรรคของเทคโนโลยี RFID
ถึงแม้ทุกฝ่ายจะเตรียมการดังก ล่าวข้างต้นเป็นอย่างดี แต่การนำเทคโนโลยี RFID มาใช้ก็ไม่ใช่เรื่องง่ายนัก จากอุปสรรคเกี่ยวกับข้อจำกัดของ คลื่นที่ใช้ส่งระหว่าง tags และ readers คือคลื่นที่ถูกส่งออกไปจะสะท้อนกลับเมื่อกระทบกับโลหะ และคลื่นความถี่จะถูกดูดซับโดย น้ำ รวมถึงความผิดพลาดจากการอ่านค่า ปัญหาเหล่านี้ทำให้บรรดาผู้ค้า ปลีกต้องหาข้อสรุปสำหรับข้อ จำกัดเหล่านี้ เพราะมีสินค้ากว่า 100 ชนิดที่มีน้ำบรรจุอยู่ในปริมาณที่สูง หรือทำมาจากโลหะ


แนวโน้มการเติบโตของเทคโนโลยี RFID
บางคนมองว่าเทคโนโลยี RFID นี้ ไม่เหมาะกับระบบห่วงโช่อุปทานแบบเปิดที่มีการซึ้อขายสินค้าหลากหลาย
แบรนด์ แต่เหมาะกับระบบห่วงโช่อุปทานแบบ ปิด อย่างเช่น กลุ่ม Marks & Spencer ที่ขายสินค้าเฉพาะแบรนด์ของตนเองเท่านั้น แต่ถึงอย่างไรก็ตาม ผู้คนส่วนมากคาดหวังว่าการนำ RFID tags มาใช้จะเกิดได้อย่างรวดเร็ว เพราะเกิด ‘Network Effect’ จากการที่ Wal-Mart และ Tesco เป็นบริษัทที่จำหน่ายสินค้าหลายประเภท ทั้งชิ้นส่วนรถยนต์ เสื้อผ้า ของชำ ยา และสินค้าเพื่อความบันเทิง ทำให้การใช้เทคโนโลยี RFID สามารถกระจายเครือข่ายไปในอุตสา หกรรมต่าง ๆ ได้อย่างรวดเร็ว และเมื่อซัพพายเออร์จำนวนมากปรับตัวมาใช้เทคโนโลยี บรรดาผู้ค้าปลีกรายอื่นก็ได้รับ ประโยชน์จาก RFID ตามไปด้วย เป็นผลให้ราคาของ tags และ readers ถูกลงเป็นตัวกระตุ้นให้บริษัทต่าง ๆ กระโดดเข้าใช้เทคโนโลยี RFID นี้เพิ่มขึ้นในอนาคต


ธุรกิจโรงพยาบาล (Health Care)
รับโรงพยาบาล หรือสถานพยาบาลอื่น ๆ มีการนำเอาระบบ RFID มาใช้ในด้านต่างๆ เช่น การบันทึกประวัติผู้ป่วย และการรักษา รวมถึงการจัดการยาและเวชภัณฑ์ โดยประโยชน์ที่ทางโรงพยาบาลจะได้รับจากการบันทึกประวัติผู้ป่วยด้วยระบบ RFID คือ เมื่อผู้ป่วยเข้ามาในโรงพยาบาล เครื่องอ่านข้อมูล จะทำการอ่านข้อมูลจาก Tag ของผู้ป่วยที่เข้ามา เจ้าหน้าที่ก็จะทราบประวัติ และรายละเอียดการักษาพยาบาลของ ผู้ป่วยรายนั้น ๆ ได้ทันที ทำให้สามารถให้บริการกับผู้ป่วยรายนั้นได้ โดยไม่ต้องเสียเวลาในการค้นประวัติ อีกทั้งยังสามารถติดตามดูแลผู้ ป่วยได้อย่างใกล้ชิดมากขึ้น เช่นในกรณีที่ผู้ป่วยไม่มาพบแพทย์ ตามวันและเวลาที่นัดไว้ ทางโรงพยาบาลก็สามารถทราบได้จากระ บบแจ้งเตือน และเจ้าหน้าที่ก็จะทำการติดต่อไปยังผู้ป่วยเพื่อเตือนให้มาตามนัด หรืออาจติดตามไปถึงบ้านในกรณีของผู้สูงอายุ สำหรับการจัดการด้านยาและเวชภัณฑ์ การติด Tag ที่ยาหรือเวชภัณฑ์ทำให้ทราบรายละเอียดต่าง ๆ เกี่ยวกับยาชนิดนั้น เช่นวันผลิต วันหมดอายุ หรือทราบจำนวนที่เหลือในคงคลัง เจ้าหน้าที่ไม่ต้องคอยจำหรือดูบันทึก ซึ่งบางครั้งก็เกิดความผิดพลาดขึ้นได้ ทำให้ระบบมีความถูกต้องแม่นยำขึ้น และสามารถบริหารระบบคงคลังได้ดีขึ้น จึงลดต้นทุนในส่วนนี้ลงได้ สำหรับผู้ป่วยจะได้รับการความสะดวก รวดเร็วในการไปพบแพทย์ที่โรงพยาบาล ได้รับการรักษาที่ถูกต้องเชื่อ ถือได้ และได้รับการดูแลอย่างใกล้ชิด โดยเฉพาะในกรณีของผู้สูงอาย


ธุรกิจฟาร์มปศุสัตว์(Animal Identification)
มีการนำเอา RFID มาใช้ในการพัฒนาด้านปศุสัตว์ให้เป็นระบบ ฟาร์ม ออโตเมชั่น ด้วย Tag ติดตัวสัตว์เลี้ยง ทำให้สามารถทราบเจ้าของ ตรวจสอบสายพันธุ์ การให้อาหาร และการควบคุมโรคติดต่อในสัตว์ได้


งานทะเบียนของรัฐ
ระบบทะเบียนประวัติโดยทั่วไป จะใช้การพิมพ์ลายนิ้วมือประกอบ การทำประวัติ แต่เนื่องจากครื่องพิมพ์ลายนิ้วมือยังไม่มีความแน่นอน 100 % เช่น เลนส์อ่านสกปรกหากมีการใช้งานจำนวน มาก และคนประมาณ 5-10 % จะมีปัญหากับลายนิ้วมือ เนื่องจากมีลายนิ้วมือที่ใกล้เคียง กัน ดังนั้นในหลายประเทศจึงได้มีแนว คิดนำเอา RFID มาใช้เก็บทะเบียนประวัติในรูปของการ์ด (e-Citizen) และทำระบบความปลอดภัยเชื่อมต่อ กับฐานข้อมูลคนเข้าเมืองร่วม กับการใช้ e-Passport แทนการพิมพ์ลายนิ้วมือ


ระบบรักษาความปลอดภัย (Security Access)
ปัจจุบันการใช้บัตรที่มีแถบแม่ เหล็กในการเข้า-ออกสำนักงาน อาคาร มักเกิดปัญหาแถบแม่เหล็กเสีย เมื่อรูดไปนานๆ ซึ่งปัญหาดังกล่าวสามารถแก้ไขได้ด้วยเทคโนโลยี RFID ที่นำมาประยุกต์ใช้กับระบบเข้า-ออก สำนักงาน โดยทำให้อยู่ในรูปของบัตร ที่เรียกว่า Proximity Card ที่สามารถทำงานได้เพียงแค่แตะ หรือแสดงผ่านหน้าเครื่องอ่านเท่า นั้น หมดปัญหาแถบแม่เหล็กสีย ทำให้ลดค่าใช้จ่ายในการเปลี่ยนบัตรใหม่ได้ หรือสามารถใช้ในการบันทึกเวลา เข้า - ออกของพนักงานได้อีกทางหนึ่งด้วย


เทคโนโลยี RFID กับประเทศไทย
สำหรับประเทศไทยนั้นได้เริ่มมี บริษัทที่ทำธุรกิจด้านนี้ ตั้งแต่การออกแบบไมโครชิป ผลิตการ์ด การออกแบบเครื่องอ่าน (Reader) จนถึงการทำระบบ (System Integration) แต่หลายบริษัทยังขาดประสบการณ์การเป็นห่วงโซ่อุปทานที่แข็งแกร่ง ขาดบุคลากรที่มีความชำนาญ ด้านเทคโนโลยีอิเล็กทรอนิกส์ชั้น สูง ตลอดจนเงินทุนสนับสนุนการพัฒนา และถึงแม้จะมีข้อสรุปจากการร่วม เสวนาของภาครัฐและภาคเอกชน ให้มีการจัดตั้งเป็นคลัสเตอร์สำหรับ RFID ใช้แลกเปลี่ยนข้อมูลระหว่างผู้ ที่เกี่ยวข้องด้วยกัน เพื่อหาจุดเริ่มต้นในการพัฒนา และกำหนดมาตรฐาน RFID ของประเทศไทยเอง แต่เมื่อเปรียบเทียบกับความตื่น ตัวและการสนับสนุนจากภาครัฐ ของประเทศเพื่อนบ้านแล้ว ประเทศไทยยังตามหลังอยู่อีกหลาย ช่วงตัว ดังนั้นประเทศไทยจึงควรหันมาให้ค วามสนใจ โดยเฉพาะภาครรัฐต้องให้การสนับ สนุนอย่างจริงจัง และต้องอาศัยความร่วมมือจากทุกฝ่ายที่เกี่ยวข้อง เพื่อพัฒนาให้ประเทศไทยก้าวทัน กับเทคโนโลยี RFID ที่กำลังมีบทบาทสำคัญกับการดำเนินชีวิตของมนุษย์ในทศวรรษนี้


เทคโนโลยี RFID กับการละเมิดสิทธิส่วนบุคคล
ทุกสิ่งย่อมมีสองด้านเสมอ และเทคโนโลยี RFID ก็เช่นเดียวกัน ถึงแม้จะมีคุณประโยชน์ในหลาย ๆ ด้าน แต่ก็สามารถก่อให้เกิดผลเสียกับ ประชาชน หรือผู้บริโภคได้ ด้วยคุณสมบัติอันอัจฉริยะของเทคโนโลยี เช่น ประวัติการซื้อสินค้า หรือข้อมูลประจำตัวของเราอาจถูก บันทึกไว้ตอนซื้อสินค้าใน ร้านค้า และข้อมูลดังกล่าวจะถูกนำไปใช้ โดยเจ้าของร้านค้า เพื่อทำโฆษณาขายสินค้าให้ตรงกับพฤติกรรมาของเราต่อไป นั่นหมายถึงเราจะถูกรุกรานจากโฆษณา เหล่านั้นอยู่เสมอ หรือในกรณีที่เรามี tag อยู่กับตัว ไม่ว่าจะติดอยู่กับเสื้อผ้า รองเท้า หรือสิ่งของต่าง ๆ เมื่อเราอยู่ในรัศมีสัญญาณของเครื่องอ่าน (Readers) ข้อมูลเกี่ยวกับตัวเราจะถูกเปิด เผย ทั้งหมดนี้ หมายถึงสิทธิส่วนบุคคลของเราได้ถูกละเมิด โดยความก้าวหน้าของเทคโนโลยีดังกล่าวแล้ว ซึ่งในหลายประเทศให้ความสำคัญ และหาทางป้องกันกับเรื่องนี้ โดยมีการออกกฎหมายคุ้มครองข้อมูล ส่วนบุคคล เพื่อป้องกันการละเมิดสิทธิดังกล่าว แต่สำหรับประเทศไทย ประชาชนยังให้ความสำคัญต่อข้อมูล ส่วนบุคคลค่อนข้างน้อย ดังนั้นทางผู้ที่เกี่ยวข้องจึง ควรมีการเผยแพร่ และกระตุ้นให้ประชาชนตระหนักถึงความสำคัญ ควบคู่ไปกับการพัฒนากฎหมายคุ้ม ครองข้อมูลส่วนบุคคลให้มีประ สิทธิภาพมากขึ้น เพื่อให้สามารถรองรับและป้องกันความเสี่ยงอันเกิดจากความก้าวหน้าของเทคโนโลยีในปัจจุบัน และอนาคตได้


แหล่งที่มาข้อข้อมูล: คุณ กันต์ฤทัย อัศวรุ่งไพศาล มหาวิทยาลัยธรรมศาสตร์

ระบบ งบประมาณ (budgeting)พัสดุ การเงิน และบัญชีกองทุน ลักษณะ 3 มิติ (โปรแกรม Axapta)



โดย มหาวิทยาลัยเทคโนโลยีพระจอม
เกล้า ธนบุรี


โปรแกรม แบ่งการทำงานเป็นระบบย่อย 11 ระบบ ประกอบด้วย

1. ระบบบริหารข้อมูลทั่วไป เป็นข้อมูลพื้นฐานสำหรับการปฏิบัติในระบบอื่นๆ
เช่น ผังบัญชี รหัสมิติต่างๆ
2. ระบบบริหารงบประมาณ ควบคุมรายการงบประมาณรายรับและงบประมาณ
รายจ่าย โดยรายงาน แผน-ผลการใช้งบประมาณตามมิติต่าง ๆ
3. ระบบจัดซื้อ บันทึกควบคุมรายการจัดซื้อระหว่างปีงบประมาณ รายงาน
สถานภาพการดำเนินงานด้านจัดซื้อ การทำงานของระบบเชื่อมโยงกับ ระบบ
งบประมาณ ระบบเจ้าหนี้ ระบบสินค้าคงคลัง และระบบบัญชีแยกประเภท

Dowload:[PDF] ManualAxapta http://www.kmutt.ac.th/treasury/information/info_Acc/ManualAxapta.pdf
Dowload:[PPT] KMUTT_Axapta http://www.mua.go.th/~bpp/budget/doc/KMUTT_Axapta_15jul48.ppt

[Referby http://www.kmutt.ac.th/]

แกะ กล่องติดตั้ง DynamicsA X 4.0



ขอโทษน่ะครับที่หายหน้าไปนา
น หลังจากได้ลงบทความเกี่ยวกับ Dynamics AX 4.0 คราวนี้เราลอง ติดตั้งกันหน่อย เอ้าตามไปดูกันหน่อย


เครื่องที่ใช้ทดสอบการติดตั้ง

- SQL2005

- WINDOWS VISTA RC1

- Ram 1 Gbyte

หลังจากได้แผ่น CD มาก่อเริ่มตรวจสอบพบว่าก่อน Version 3.0 จะต้อเลือกติดตั้งทีละส่วนคือ Application ,Client และ Server แต่ใน Version 4.0 ได้รวบรวมขั้นตนทั้งหมดในครั้งเดียวดังนี้

1. หลังเริ่มได้ run Setup ใน แผ่น DVD

2.เลือกภาษา แสดงรายเอียดเกี่ยวกับ License


3.ในกรณีที่มีการใช้ Version เก่าระบบจะทำการ detecte แนะนำในการ Update เนื่องจากทางทีงานได้แผ่นทดสอบ ยังไม่ใช่แผ่นเต็ม ข้อความดังกล่าวแน่นำให้ remove version เก่าออกก่อน และแน่นำให้อ่าน Help


4.เลือกการติดตั้งในส่วนต่างๆ Single computer install คือ การติดตั้งส่วนต่างๆที่เครืองเดียวกัน(Database ,AOS,Client,File server,.Net business,connector) ส่วน custom install คือแยกส่วนต่างๆติดตั้งที่ Server ต่างเครื่องกัน



5. ภาษาที่ใช้ Dynamics AX



6.ภาษาที่ใช้ แสดงใน Help


7.เลือกประเทศที่ใช้เพื่อใช้กา รสนับสนุบเกี่ยวกับ function ทางการเงิน และภาษี แต่เราไม่พบรายการของประเทศไทย ให้เลือกนะครับ



8.ติดตั้งเกี่ยวกับ AOS Instance Name คือชื่อของ AOS ที่ใช้ในการติต่อ และ File location ที่จะทำการติดตั้ง



9.ติดตั้ง Database Create a new คือสร้าง Database ใหม่ Connect to an exosting คือติดต่อ SQL ที่ใช้ Clustered ส่วน Oracle ยังไม่อนุญาติให้ใช้ คาดว่าคงต่อเป็นแผ่นจริงเท่านั้น



10.ชื่อ Server SQL ที่จะ Connect ถ้ายังไม่มีการติดตั้ง MS SQL ให้ทำการติดตั้งก่อนสามารถใช้ได้ ทั้ง MS SQL 2000 และ MS SQL 2005 Database



11.Install





12.Install เสร็จสิ้นแสดงสถานะการ Install



เริ่ม Start AOS ที่ Services ที่ Administrator tools ซึ่งจะพบว่าได้เปลียนไปจากเดิม คือไม่มี 2 - T จะเป็นการติดต่อแบบ 3-T ซึงอยู่ในรูปแบบ Services เช่นด้วยกับ SQL Server



C:\Program files\Microsoft Dynamics AX\40\ มี Folder ดังนี้

Application

Client

Server



หลังจาก Install เรียบร้อยแล้วคราวนี้ลองเขาไปดูหน้ากันหน่อยครับ เรียก Ax32.exe เริ่ม Run Program Ax32.exe โอ้แม่เจ้าโว้ย ต่อไปเราจะไม่เห็นรูปไอ้หนุ่มที่มันมาตอน Ax 3.0 SP4 แล้ว แต่จะแสดง Logo ใหม่


โอ้ยังไม่จบหรือนี่หลังจากเรี ยกโปรแกรมขึ้นมา พบว่าไม่ต้องใส่ Login เนื่องจากโปรแกรมตรวจสอบจาก Active Directory ดังนั้นระบบจะบังคับว่าต่อมี Domain เท่านั้นถึงสามารถ Install ได้ (Workgroup ไมสามารถ Install ได้) หลังจากนั้นจะต้อง Installation checklisk ตาม Step

- Complie Code

- Lincense ผมทดสอบ Load Fiel Lincense ของ Version 3.0 ปรากฎว่าคุณสมบัติบางอย่างเกี่ ยวกับ X++ ในการ Develop ไม่สามารถใช้ได้

- Configuration เพื่อเลือก Module ติดตั้ง

- Adjut กำหนดขนาดของข้อมูลต่างๆ

- Sync ทำการ ปรับให้โครงสร้าง Database ตามที่โปรแกรมกำหนดจากที่กล่าวขั้นต้น

- Company กำหนด Copany เริ่มต้น

- Import กรณีต้องการ Import Data จาก Version เก่า



เราจะพบว่ารูปร่างหน้าตาคุ้นมี โปรแกรมอะไรเอ่ย ? เฉลย Outlook ไงครับพบเกื่อบเข้าใจว่าเป็น โปรแกรม Outlook ไปแล้วครับ Menu ได้เปลี่ยนไปมีรูปแทรกเพื่อสื่อ ให้เกิดความเข้าใจด้วยครับ



อ้าวจบแล้วครับหลังเราได้แกะกล่อง เรียบร้อยแล้วคราวหน้าเรา ค่อยมาดูวิธีการ Updata จาก Dynamics AX3.0 เป็น Dynamics AX4.0 กันน่ะครับทางทีมงานกกำลังทดสอบอยู่ น่ะครับบ้ายบ่ายครั

มา รู้จัก ประเภทข้อมูล ของ X++ Axapta (ตอนที่ 1)


โครงสร้างทางด้าน Programming เราจะต้องรู้ ประเภทข้อมูลเบื้องต้นที่ X++

สนับสนุน แบ่งได้เป็น 2ประเภท




ประเภทขั้นพื้นฐาน
Boolean Booleans เป็น ค่า false and true.
Integer ตัวเลขจำนวนเต็ม
Real ตัวเลขจำนวนจริง
Date เก็บวันที่ (วัน เดือน ปี)
TimeOfDay เก็บเวลา(ชั่วโมง:นาที:วินา
ที)
String ชุดตัวอักษร
Enum ใช้เก็บข้อมูลตัวเลขโดยใช้ word แทน


ประเภทมีโครงสร้างซับซ้อน


Arrays array คือ ชุดรายการข้อมูลที่เป็นประเภทเดียวกัน โดยมี เลขindex ใช้ในการอ้างถึงข้อมูล
Containers container คือ ชุดรายการข้อมูลที่โดยประเภทข้อมูลอาจจะไม่เป็นประเภทเดียวกัน (มีความยืดหยุ่น)
Classes class จะถูกกำหนดด้วยตัวแปร และ methods จะต้อง instances (objects) โดย class
Tables ทุก tables ที่ถูกกำหนดใน Axapta สามารถควบคุมได้โดย class


Conversion of data types
แนวคิด, กฎ และ ขบวนการในการแปลง ระหว่างประเภทของข้อมูล แบบอัตโนมัติ
Automatic conversion
ค่า เริ่มต้น (Default values) ของตัวแปร ใน X++ โชว์ได้ดังนี้:


Data type ค่า เริ่มต้น Internal representation
Boolean false Short Number
Integer 0 Long Number
Real 0.0 BCD Number
Date Null Date
String empty List of characters
Enums 0 (first entry) Short number


โดยปกติจะเปลี่ยนไปเป็นรูปแบบที่ รองรับรูปแบบข้อมูลได้มาก ขึ้น จาก short เป็น long จาก long เป็น BCD และ เรามาดูกฎการแปลงข้อมูลแบบพื้น ฐาน จาก Operator ต่าง ๆ

Operator รายเอียด
+ - * ถ้าหนึ่งในนั้นในที่ operands คือ real ผลที่ได้จะถูกแปลงเป็น ข้อมูลประเภท real
ถ้าระหว่าง integers, boolean, หรือ enum ผลที่ได้คือ integer, boolean, หรือ enum ตามลำดับ
โดย boolean ยกระดับเป็น enum และ enum ยกระดับเป็น integer
/ สัญลักษณ์ “/” คือ หาร, จะทำการแลงข้อมูลเป็น real และผลลัพธ์ ที่ได้ก็เป็น real
MOD DIV << >> สัญลักษณ์ MOD และ DIV,>>,<< ใช้กับ ข้อมูลประเภท Integer และ จะเปลี่ยนเป็น integer ก่อน ผลลัพธ์ ที่ได้ก็เป็น integer. ตัวอย่างการใช้งาน No รูปแบบ ประเภทข้อมูลด้านซ้าย แปลงก่อนOperands With numbers Result 1 i = b + b integer boolean, boolean i = false + false 0 2 i = r + b integer real, real i = 33.3 + true 34 3 b = i + r boolean real, real b = 10 + 33.3 undefined 4 b = i + r boolean real, real b = 0 + 1 true 5 r = i + b real integer, integer r = 100 + false 100.0 6 r = i + b real integer, integer r = 100 + true 101.0 7 i = r MOD b integer integer, integer i = 33.3 MOD true 0 8 r = i DIV i real no conversion r = 100 DIV 5 20 9 d = d + i date date, date d = 1\1\1998 + 30 31\1\1998 10 i = d + i integer date, date i = 1\1\1998 + 1 compile error 11 d = d + d date date, date d = 1\1\1998+1\1\1998 compile error 12 s = s + s string string, string s = “a” + “b” “ab” 13 i = s + i integer จากตัวอย่างที่ 3,ถ้าผลที่ได้คือ 0 ,1 คือ false และ true (1) boolean ดังนั้นไม่สามารถระบุบได้ รายการที่ ไม่แปลงอัตโนมัติ dates และ strings ไม่ถูกแปลงอัตโนมัติ แต่ integers สามารถ แปลงเป็น dates คุณสามารถใช้ แปลงโดย functions built-in ของ Axapta ได้ Boolean Boolean คือข้อมูลประเภท โลจิก มี 2 สถานะคือ false หรือ true. ตัวแปร Boolean สามารถ ใช้เป็น flags ในโปรแกรม false คือ 0 true คือ 1 โดยแท้จริงแล้ว Boolean ก็คือ integerดังนั้นคุณสามารถ ใช้ integer เป็น Boolean. ถ้าค่าไม่เท่ากับ 0 คือ true โดยคำสงวนคือ true และ false การประกาศตัวแปล สำหรับ Boolean ทุกตัวแปลจะต้องมีการประกาศก่อน นำไปใช้งาน รูปแบบการประกาศ


boolean declaration = boolean ชื่อตัวแปล { , ตัวแปร } ;
ชื่อตัวแปร = identifier [ option ]
Option = Arrayoptions | initialization

ตัวอย่างการประกาศ

boolean b; // ประกาศ boolean แบบง่าย.
boolean b1,b2; // ประกาศ boolean แบบหลายตัว
boolean b3 = true; // ประกาศ boolean แบบระบุบค่า
boolean b4[]; // การประกาศ boolean แบบ array

การใช้วิธีใช้
ปกติเราใช้ booleans ในการตัดสินใจหรือ ลอจิค ในการตัดสินใจ
ตัวอย่างการใช้งาน

void main()
{
Boolean exprValue; //ประกาศตัวแปร
exprValue = (7*6 == 42); //กำหนดค่า
if (exprValue) //ถ้าตัวแปร เป็นจริง จะทำการ Print “OK”
print “OK”; //“OK” is printed in a window
}

7*6 เท่ากับ 42 ดังนั้นค่าเป็น จะทำการ พิมพ์ “OK” ที่หน้าจอ.
ข้อมูลทั่วไป


Keyword Boolean
ขนาดของข้อมูล Byte
ขอบเขตข้อมูล false (0) and true (1)
ค่าเริ่มต้น False
Implicit conversions แปลงอัตโนมัติ เป็น integer, date หรือreal
Explicit conversions -


Integer
Integers คือ จำนวนเต็ม ซึ่งใน ++ จะมีเพียงชนิดเดียวคือขนาด 32 bits ปกติ
Integers จะถูกใช้ในการควบคุม (ลูป) หรือ indexes ของ array ใน database –vของ Axapta ทุกrecord จะมี field ที่ชื่อว่า Record ID (RecID) จะมีค่าไม่ซ้ำกัน ซึ่งเป็น Field ชนิดข้อมูลเป็น integer.
ช่วงของข้อมูล
จะอยู่ในช่วง [-2,147,483,647 ถึง 2,147,483,647]
การประกาศตัวแปล สำหรับ Integer
ทุกตัวแปลจะต้องมีการประกาศก่อน นำไปใช้งาน รูปแบบการประกาศ

integer declaration = int ตัวแปร{ , ตัวแปร} ;
ตัวแปร = identifier [ option ]
option = arrayoptions | initialization


ตัวอย่างการประกาศ

int i; // ประกาศ integer แบบง่าย.
int i1,i2; // ประกาศ integer แบบหลายตัว
int i3 = 100; // ประกาศ integer แบบระบุบค่า

int i4[];// การประกาศ integer แบบ array
การใช้วิธีใช้
ตัวอย่างการใช้งาน

void element()
{
int i = 1,j = 2; // ประกาศ ตัวแปรแบบระบุบค่า
// J เก็บผลลัพธ์จาก J + ((i + i) DIV 2)
j +=(i + i) DIV 2;
// ผลลัพธ์ที่ไดคือ: J=3
if (j>2) // IF (J > 2) then
// ถ้า J มากกว่า 2 ดังนั้น จะ พิมพ์ข้อความ ด้านล่าง
print “J is greater than 2”;
else // อื่น ๆ
// ถ้า J ไม่มากกว่า 2 จะ พิมพ์ข้อความ ด้านล่าง
print “J is NOT greater than 2”;
}

ข้อมูลทั่วไป


Keyword Integer
ขนาดของข้อมูล 32 bit
ขอบเขตข้อมูล [-2.147.483.648; 2.147.483.647]
ค่าเริ่มต้น 0
Implicit conversions แปลงอัตโนมัติ เป็น real, boolean และ enum
Explicit conversions แปลงโดย Function Str2Int, Int2Str


Real
Real คือจำนวนจริง (จุดทศนิยม) สามารถที่จะเก็บค่า integer ได้
ช่วงของข้อมูล
อยู่ในช่วง -(10)127 ถึง (10) 127 ซึ่งมีความระเอียดของตำแหน่ง ถึง 16 ตำแหน่ง ค่าที่น้อยที่สุดของค่า Real คือ 1-127
ตัวอย่างของ ตำแหน่งทั้ง 16 ตำแหน่ง

Example 1: Example 2: Example 3:
123456789012345.6 12345678.90123456 1.234567890123456


ตัวอย่างที่ 1 ค่าจำนวนเต็มจะเก็บได้มากที่สุดคือ 15 ตำแหน่ง จุดทศนิยม ตำแหน่ง 7
ตัวอย่างที่ 2 เก็บได้ 12 ล้าน และจุทศนิยมได้ 8 ตำแหน่ง
ตัวอย่างที่ 3 ค่าค่าที่เล็กที่สุด ซึ่งมีจุดทศเล็กถึงis small 15 ตำแหน่ง
การประกาศตัวแปล สำหรับ Real
ทุกตัวแปลจะต้องมีการประกาศก่อน นำไปใช้งาน รูปแบบการประกาศ

real declaration = real ตัวแปร{ , ตัวแปร};
ตัวแปร = identifier [ option ]
Option = arrayoptions | initialization



real r; // ประกาศ real แบบง่าย.
real r1,r2; // ประกาศ real แบบหลายตัว
real r3 = 3.1415; // ประกาศ real แบบระบุบค่า
real r4[];// ประกาศ real แบบ array

ตัวอย่างที่1

real r;
r = 1.000e3;
r = 1.2345e+3;
r = 1.2345e+03;
r = 1234.5e40;
r = 1.0e;

ตัวอย่างที่ 2 (การแปลงประเภทข้อมูล)

void main()
{
//ประกาศตัวแปร exprValue แบบ Integer
int exprValue;
//ประกาศตัวแปร area แบบ real
real area =3.141528;
exprValue = Area/3;
}

ผลลัพธ์จากการคำนวณ area/3 คือ real เพราะว่าเก็ดจากการหารนั้นคือ 1.047176 และจะมีการแปลงไปเป็น Integer อีกครั้งเพื่อเก็บที่ ตัวแปร exprValue ซึ่งเป็นตัวแปรประเภท integer ดังนั้นค่าที่เก็บคือ 1
การใช้วิธีใช้
ตัวอย่างการใช้งาน

void MyMethod()
{
real I = 2.5,J = 2.5; // ประกาศ real แบบหลายตัว และ ระบุบค่า
J *= I; // J = J * I
// ค่าที่ได้คือ : J=6.25
if (j > (I * 2)) // ถ้า J > 5 จะทำรายการด้านล่าง
print “Great”; // พิมพ์ “Great”
else // เงื่อนไขอื่น
print “Oops”; // พิมพ์ “Oops”
}

ข้อมูลทั่วไป


Keyword real
ขนาดของข้อมูล BCD-encoding: 64 bit
ขอบเขตข้อมูล ] -(10)127 ; (10) 127 [, with a precision of 16 significant digits
ค่าเริ่มต้น 0.00
Implicit conversions แปลงอัตโนมัติ เป็น boolean, enum และ integer
Explicit conversions แปลงโดย Function Str2Num, Num2Str


Date
ข้อมูลของ date จะสมบรูณ์ จะต้องประกอบไปด้วย day, month, และ year.
ช่วงของข้อมูล
จะอยู่ในช่วง [1\1\1901 ถึง 31\12\2154] นั้นคือเริ่ม January 1, 1901, ถึงDecember 31, 2154.
Declaring variables of date
การประกาศตัวแปล สำหรับ Date
ทุกตัวแปลจะต้องมีการประกาศก่อน นำไปใช้งาน รูปแบบการประกาศ


Date declaration = date ตัวแปร{ , ตัวแปร} ;
ตัวแปร = Identifier [ option ]
Option = Arrayoptions | initialization


ตัวอย่างการประกาศ

date d; // ประกาศ date แบบง่าย.
date d1,d2; // ประกาศ date แบบหลายตัว
date d3 = 21\11\1998; // ประกาศ date แบบระบุบค่า
date d4[];// ประกาศ date แบบ array

ถ้าเราใช้ ระบุบ ข้อมูลปี 2 หลักระบบจะทำการคำนวณและแปลงไป อัตโนมัติ โดย X++ มองไปข้างหน้า 15 ปี และ ย้อนหลัง 85 ปี โดยยึดปีปัจจุบันเป็นหลัก
ตัอวอย่างสมมุตปัจจุบันคือ 1999


2 หลัก แปลเป็น...
09 2002
20 2020
21 2021
22 1922
52 1952
62 1962
02 2002

Automatic conversion
Dates ไม่สามารถ แปลงเป็น types อื่นได้อัตโนมัติ แต่คุณสามารถใช้ ค่าแบบ integer ในการคำนวณ กับ date ได้ ตัวอย่าง

void MyMethod()
{
int anInteger;
date aDate;
// กำหนด ตัวแปรประเภท date aDate = January 1, 1998
aDate = 1\1\1998;

// กำหนด ตัวแปรประเภท integer anInteger = 30.
anInteger = 30;

// โดยให้ aDate = aDate + 30 นั้นคือการบวกจำนวนวันเพิ่มไปอีก 30 วัน
// จะได้ค่า aDate = 31st of January 1998
aDate = aDate + anInteger;
}

การใช้วิธีใช้
date = date - integer or date = date + integer
ข้อมูลทั่วไป

Keyword data
ขนาดของข้อมูล 32 bit
ขอบเขตข้อมูล [1\1\1901; 31\12\2154]
ค่าเริ่มต้น null
Implicit conversions -
Explicit conversions แปลงโดย Function str2Date, Date2Str, Date2Int, Int2Date


String
คือชุดตัวอักษร จะใช้เก็บค่า texts, help lines, addresses, telephone numbers, และ อื่น ๆ
โดย X++ ใช้ keyword “str” เมื่อต้องการประกาศตัวแปร และสามารถ ระบุบขนาด ของตัวอักษรที่จะทำการเก็บมากที่ สุด (ถ้าคุณรู้) คุณสามารถประกาศระบุบขนาดของ string ได้
ช่วงของข้อมูล
Strings ไม่ระบุบ
การประกาศตัวแปล สำหรับ string


String declaration = str [typeoptions] ตัวแปร{ , ตัวแปร} ;
Typeoptions = [ length ] [ left | right ]
ตัวแปร = Identifier [ option ]
Option = Arrayoptions | initialization


ตัวอย่างการประกาศ

str indefiniteString; //ประกาศ แบบ Dynamics ไม่กำหนดขนาดสูงสุด
str 100 maxLengthString = “A”; //ประกาศ แบบ กำหนดขนาดความยาว สูงสุด
// ไม่เกิน 100 ตัวอักษร
str 30 left leftAlignedString; //ประกาศ แบบ กำหนดขนาดความยาว สูงสุด
// ไม่เกิน 30 ตัวอักษร compared left -aligned
//An array of 100 strings,
str 30 right rightAlign[100]; //ประกาศ แบบ กำหนดขนาดความยาว สูงสุด
// ไม่เกิน 30 ตัวอักษร และเป็น array 100 ชุด
// compared left -aligned


การใช้วิธีใช้
ตัวอย่างการใช้งาน

void MyMethod()
{
str a=”Hello”,b=”World”; //ประกาศและระบุบค่าให้กับตัวแปร String
print a+” “+b;
pause;
}

ข้อมูลทั่วไป


Keyword Str
ขนาดของข้อมูล dynamic or fixed length
ขอบเขตข้อมูล Unlimited
ค่าเริ่มต้น “” (empty)
Implicit conversions None
Explicit conversions แปลงโดย Function Str2int, Int2str, Str2Num, Num2Str, Str2Date, Date2Str


Enum
Enum ในเวลาที่คุณต้องการกำหนดค่าคง ที่ เป็นชุดรายการเพื่อง่ายต้อการจด จำโดยมีจุดประสงค์ในการใช้ดัง นี้ (1) ง่ายเมื่อมีการแก้ไข้ (2) ง่ายต้องการอ่าน code
X++ ไม่สนับสนุน constants แต่จะถูกทดแทนด้วย enum มันสามรถทดแทนและดีกว่า และง่ายต่อการอ่าน code จะกล่าวได้ว่า enum คือกลุ่มของค่าคงที่ ที่สามารถนำไปใช้ช่วยให้ง่ายใน การ Develop
การสร้าง enum จะต้องสร้างที่ enumerable โดย AOTและคุณสามารถกำหนด รายระเอียด ชื่อ และ กลุ่มข้อมูลที่แทนค่าคงที่
ค่า enum คือ integers โดยค่าเริ่มต้น คือ 0 ถัดไป 1, 2,.. ตามลำดับ หรือ คุณสามารถกำหนดตามที่คุณต้องการ
ใน MorphX มี enum “NoYesCombo” เป็นชุดของค่าคงที่ 2 ค่า คือ No และ Yes โดย No แทนค่าคงที่ 0 และ Yes แทนค่าคงที่ 1







ช่วงของข้อมูล
คุณสามารถ สร้าง Enum โดยคุณสามารถประกาศ ค่าคงที่ ถึง 251 รายการ (0 to 250) ใน enum 1 ชุด
การประกาศตัวแปล สำหรับ Enum


Enum declaration = enumtype ตัวแปร{ , ตัวแปร} ;
ตัวแปร = Identifier [ option ]
Option = Arrayoptions | initialization

ตัวอย่างการประกาศ

NoYes done; //A เก็บค่าของคงที่ของ No และ Yes
//An array of criteria enum is declared. Literals: EQ, LT, GT, NEQ, GEQ, LEQ
Criteria crit[100]; // crit เก็บค่าของคงที่ของ EQ, LT, GT, NEQ, GEQ, LEQ

วิธีการใช้ค่าที่ได้สร้างไว้แล้ว
Enumreference = Enum :: literal
โดย
Enum = ชื่อของชุด enum
Literal = รายการที่ประการในชุด enum
เช่น รายการ No ใน NoYes จะต้องเขียนว่า NoYes::No. คุณถึงสามารถ ใช้ค่าที่ประกาศใน enum ได้ โดยจะเท่ากันทุกที่ใน X++.
Automatic conversion
Enums อัตโนมัติในการ แปลงไปเป็น boolean, integer หรือ real.
ข้อมูลทั่วไป


Keyword none - the keyword is user defined
ขนาดของข้อมูล Byte
ขอบเขตข้อมูล User defined
ค่าเริ่มต้น 0 (first literal)
Implicit conversions แปลงอัตโนมัติ เป็น boolean, integer และ real
explicit conversions แปลงโดย Function Enum2str, Str2Enum

Arrays
บางครั้งเราต้องการข้อมูลชนิดเดียว กันหลายรายการ ปกติเราจะไม่ประกาศรายการตัวแปรหลายตัวแปร เช่นข้อมูลผลรวม ยอดขายรายเดือน เราจะใช้ arrays ซึ่งคือชุดตัวแปรที่เป็นประเภทเดียวกันประกอบกันเป็น array โดยมี Index (integer ) เป็นตัวละบุบถึงข้อมูลที่จะเข้าถึง และ X++ สนับสนุน แค่ หนึ่งมิติ สามารถระบุบแบบ (กรณีที่ต้องการใช้หลาย มิติต้องใช้ Marco ช่วย) และ ระบุบ เป็นประเภท dynamic หรือ fixed
ช่วงของข้อมูล
Arrays สามารถเป็นแบบ dynamic หรือ fixed ขนาด เราสามารถประกาศตัวแปรได้ทุกประเภทโดยยกเว้น tables และ classes.
การประกาศตัวแปล สำหรับ Arrays


Array declaration = datatype ตัวแปร{ , ตัวแปร} ;
ตัวแปร = Identifier arrayoptions
Arrayoptions = [ [ length ] [, memory ] ]




โดย
ตัวแปร ตัวแปร
Length ขนาดของชุดข้อมูล
Memory จำนวนที่จะนำค่ามาเก็บที่ memory ส่วนที่เหลือจะเก็บใน disk และจะทำการ load automatically loaded เมื่อมีการอ้างถึง



int i[]; // แบบ dynamic
real r[100]; // แบบ Fix 100 ชุด
// A dynamic array of dates, with only 10 elements in memory
date d[,10]; แบบ dynamic เก็บใน Memory 10 ชุด



Integer e[100,10]; แบบ Fix 100 ชุด เก็บใน Memory 10 ชุด


References to array items
การอ้างถึงข้อมูลใน Array
ArrayItemReference = ArrayVariable [ index ]
โดย


ArrayVariable = ชุดตัวแปร Array
index = เลข Index ใช้อ้างถึง เริ่มจาก 1


Indices and initialization
X++ สนับสนุน Array หนึ่งมิติ โดยจะเริ่มตนที่ 1เช่น item [1] , item [2] .. ใน X++, item [0] เมื่อเราต้องการ reset หรือ clear ข้อมูลใน array ทั้งหมด ตัวอย่าง
intArray[0] = 0;การประยุกต์ให้ array หลายมิติ
ในภาษาอื่นเช่น C++ และ java คุณสามารถกำหนด Array มากกว่า หนึ่งมิติได้เราจะเรียกว่า "arrays of arrays"แต่ใน X++. กำหนดได้แค่ หนึ่งมิติแล้วเราจะทำอย่างไรเมื่อ เรามีความจำเป็นต้องใช้
ตัวอย่างคุณต้องการใช้ Array 2 มิติ
real earning[10, 3];
แต่ใน Axaptaไม่สามารถทำได้ เพราะกำหนดได้ มิติเดียวเราลองมาคำนวณดูขนาดถ้าเป็น หนึ่งมิติ เราจะประกาศ ดังนี้
real earnings[10*3];
ลองเขียนใหม่โดยให้ j และ i จะได้ว่า
earnings[(i-1)*3 +j].
เราสามารถ สร้าง macro:
#localmacro.ArrayIndex
(%1-1)*3+%2
#endmacro
และเขียน code ใหม่ ดังนี้
earnings[#ArrayIndex(i,j)]
กรณีมากกว่า 2 มิติ เช่น a[i1, i2, ..., ik] สามารเขียนอยู่ในรูป
(i1 - 1)*d2*d3*..*dk +
(i2 - 1)*d3*d4*...*dk + .... +
(ik-1 -1)*dk +
(ik-1)
การประกาศ array (d1*d2*...*dk) Manipulating arrays

fieldId ธรรมดาใน table สามารถจะกำหนดเป็นแบบ Array ได้สูงสุด 65536 ตัวอย่าง ใน CustTable เป็น 1 และ 2 เรามาดู fieldId Dimension ใน CustTable มีรายระเอียดดังนี้




Dimension field:
1 Department
2 Cost center
3 Purpose
เรามาดูว่ามี Methods อะไรที่สนับสนุนบ้าง
static FieldId fieldExt2Id(FieldId fieldExtId) คือค่า fieldId ของ extended fieldId
static int fieldExt2Idx(FieldId fieldExtId) คือค่า arrayIndex ของ extended fieldId
static FieldId fieldId2Ext(FieldId fieldId, int arrayIndex) คือค่า extended fieldIที่เป็น arrayIndex
แล้วเจอกันใหม่ในฉบับหน้า
Supers



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 สงวนสิทธิ์ในการทำซ้ำ ทั้งหมด หรือบางส่วนไม่ว่าในรูปแบบหรือสิ่งใดโดย ขอให้อ้างถึงที่มาของข้อมูลทุกครั้ง

ประวัติ Navision Axapta(Dynamics AX)




Navision Axapta ผมจะเรียกย่อว่า Axapta หลายคนอาจยังไม่รู้โปรแกรมนี้เนื่องจาก Axapta เริ่มทำตลาดในเมืองไทยเมื่อปี 2000 และ หลังจาก Microsoft ซื้อกิจการทำให้ Axapta ที่รู้จักมากขึ้น Microsoft ได้ มีแผนพัฒนารวบ Technology ของ Microsoft เข้าไปในเวอร์ชันต่อไป


Axapta เป็นโปรแกมทางด้าน บัญชีระดับสูงและ ERP หลายคนยังอาจไมรู้ว่า Axapta ได้เปลี่ยนเจ้าของมากี่ครั้ง Axapta มีชื่อเดิมคือ Damgaard Axapta เดิมที Axapta ถูกสร้างโดย 2 พี่น้องตะกูล Damgaard ที่ชื่อ Erik และ Preben ชาว เดนมาร์ ณ. Copenhagen (เมืองหลวงเดนมาร์ ) Axapta ถูกสร้างขึ้นเมื่อปี 1983 เพื่อ ส้รางตลาดระดับสากล มีความยืดหยุ่น มีเพียง CD 1 แผ่นที่บรรจุโปรแกรม Axapta สามารถทำการตลาด ได้ทุกประเภท มันคือนวัตกรรมใหม่และ สนับสนุนความต้องการของตลาด นี้คือมุมมองของ Erik และ IBM ได้ซื้อ Axapta ในปี 1996 เพื่อมาทำตลาดที่ อาเมริกา
Axapta สร้างขึ้นมาเพื่อเป็น ERP มีระบบ Manufacturing และ CRM อยู่ในตัวและ สามารถทำการ Customization โดยมี ภาษาในการพัฒนาโครงสร้างคล้ายกับ JAVA ได้เติบโต จากยุโรปและในปี 1996 IBM ได้ซื้อ Axapta มาทำตลาดที่อาเมริกา IBM ได้ตั้งทีม เพื่อทำการปรับปรุงใหม่อีกครั้ง แต่ลูกค้าส่วนมาก ไม่ต้องการสัมนา เรื่อง Hardware Database และโคร้งสร้าง IBM มีประวัติความนิยมที่ยาวนาน และมี Software หลากหลายที่น่าสนใจ ตัวอย่าง Software Business Management Series ในปี 1988 , Platinum Software ในปี 1990, Lotus Notes ในปี 1994, Axapta ในปี 1996 ,ACCPAC ในปี 1999 นี่คือแผนการตลาดของ IBM แต่ IBM ไม่ได้มุ่งเป้าหลายหลักไปที่ Axapta หลังจากที่ Axapta อยูกับ IBM ถึงปี 2000 Axapta (Damgaard Software) ได้ถูกหล่อหล่อมพัฒนาโดยทีมพัฒนา Danish rival Navision Software ในปี 2001 มีรายเอียดดังนี้

  1. ได้เปลี่ยนชื่อ "Navision Financials" เป็น "Navision Attain" และ "Damgaard Axapta" เป็น "Navision Axapta"

  2. ได้นำระบบ e-commerce applications,Commerce Gateway, Commerce Portal เข้ามารวบ

  3. ได้นำระบบ User Portal ,Browser-based เข้ามารวบ

  4. ได้นำระบบ Supply chain ,Manufacturing,เพิ่ม Function ใหม่ ของ Module Financial

  5. ปรับปรุงโครงสร้างสนับสนุน Microsoft XP logo

ในปี 2002 Microsoft ได้ Navision Axapta และ Navision Attain โดยซื้อในราคา $US 1.4 พันล้าน (ประมาณ 57.4 พันล้านบาท) เป็นมูลค่าที่มากที่สุดที่ Microsoft มากที่สุดที่เคยได้มา (นี่เป็นราคาที่สูงมากที่ซื้อมา ถ้าเทียบกับ ACCPAC ซึ่งเป็น Software accounting ที่ดีทีสุดในอเมริกาขณะนั้น และมีฐานลูกค้าที่มากกว่า (41,000 ถึง 1.2 ล้านราย) มีมูลค่าเพียง $US 120 ล้าน เท่านั้น (ประมาณ 4.92 พันล้านบาท) ) หลังจากที่ Microsoft ได้เข้ามาควบคุมกิจการ จากการมอง ผลิตภัฑณ์ Axapta และ Future ไม่น่าจะมีจุดแข็งที่สามารถจะทำการตลาดได้เลย
แต่ในทางกลับกัน Microsoft Axapta ได้พัฒนาและมีชื่อเสียง ขึ้น top 150 accounting software ในอเมริกา ดังรายงานด้านล่าง


เหตุผลจาก Microsoft ที่ทำให้ Microsoft Navision Axapta มีอันดับที่ดี

  1. ความเร็ว Axapta ทำการทดสอบเมื่อ ตุลาคม 2001 โดย Compaq และ Oracle ทำการสร้าง record ใหม่ โดย เปิด sales order มากกว่า 315,000 record พร้อมกัน โดยใช้คน 3,600 คน เสร็จในเวลา 1 ชั่วโมง

  2. ราคาต่ำ ในระดับเดียวกัน Axapta เป็น Software ERP ระดับ 1 โดยมีราคาที่สมเหตุสมผล 10 User ในราคา $US80,000-120,000 (ประมาณ 3,280,000-4,920,000 บาท) และ $US150,000 สำหรับ 50 User (6,150,000) Software อื่นจะมีราคาอยู่ประมาณ $US1ล้าน (ประมาณ 41 ล้านบาท)

  3. Customization Axapta มีความสามารถในการ Customization สูง user สามารถเพิ่ม Field ใหม่ โดยอัตโนมัติ

  4. Multiple Database Axapta สนับสนุน Database ได้ 2 ค่ายคือ Microsoft SQL Server และ Oracle ซึ่งเป็น Database ระดับ Hight-End

  5. World-Wide มี Features สนับสนุนได้ทั่วโลก เช่น ใช้ได้หลายเงินตรา

  6. All-in One Product 100% ถ้าเป็น Software อื่น ในระดับเดียวกัน จะใช้ Software third party ในการ พัฒนาแต่ใน Axapta ได้รวบรวม Tools ทั้งหมดอยู่ใน Axapta ตัวอย่าง MAS 500 ใช้ ระบบ Manufacturing ของ Heitech

  7. High Reseller Standards Axapta ไม่เพียงแต่ขาย Software แต่ได้มีการระบบ Training สำหรับลูกค้าก่อนที่จะใช้งาน Software ซึ่งได้รวบราคาใน Software แล้ว

  8. Foreign Language and Foreign Currency สนับสนุนภาษาได้หลายภาษาและหลายสกุลเงิน

  9. Built-in Remote Access Software accounting ระดับ High-end จะมี Solutions ในการใช้งานผ่าน Citrix หรือ Terminal Service ในการ Remote ใช้งาน แต่ Axapta มี Built-in (AOS)

  10. Questionnaires Axapta คือ CRM solution มี Wizard ในการสร้าง Questionnaires โดยกำหนด scheduled เป็น สัปดา,เดือน,ปี และจัดแยกกลุ่มและ ทำการ รวมระบบ ลูกค้า พนักงานเข้าด้วยกัน
Dynamics AX 4.0 Dynamics AX 4.0 (เปลี่ยนเลือดเต็มตัว) มีนาคม 2006
มาด้วยลักษณะการปรับปรุงและความรู้สึก แบบ Microsoft เป็นรุ่นแรกที่ Microsoft มีส่วนร่วมในการปรับปรุงตั้งแต่ต้น พยายามที่จะรวมเทคโนโลยี ที่มีอยู่ใน Microsoft ตัวอย่างเช่น AOS กลายเป็น Service Windows จริงๆ ทำงานร่วมกันไโดย XML การแลกเปลี่ยนข้อมูลได้รับการสนับสนุนผ่าน และ สนับสนุน module ใหม่ บริการจัดการ


Dynamics AX 2009 Dynamics AX 2009 (รวมร่างกับ product Microsoft) มิถุนายน 2008 ชื่อเดิม AX 4.1 เปลี่ยนชื่อในภายหลังเพื่อ AX 5.0 และในที่สุดเป็นชื่อ AX 2009 การปรับปรุงเพิ่มเติมเพื่อ รุ่นใหม่นี้จะเพิ่มตามแนวคิดบทบาท ทั้ง Enterprise Portal และลูกค้าหน้าต่างสนับสนุนเขตเวลา (UTC) เป็นมิติใหม่คลังเว็บไซต์และการพัฒนา Enterprise Portal ผ่านทาง Visual Studio Project


Dynamics AX 2011 (กลัมมาสู่ระบบ POS) หรือ AX 6 ได้มีการปรับปรุงเพิ่มเติมใน ส่วนติดต่อผู้ใช้ และการปรับปรุงโปรแกรมเน้นเฉพาะ เช่นอุตสาหกรรม ค้าปลีก , และ ภาครัฐ จากเดิมจะถูกปล่อยสู่กลางปี 2010 แต่ได้เลื่อนเป็นประมาณ Q1 2011


แล้วพบกันใหม่ในบทความต่อไป

ทำไม เราต้องทำการ Update Axapta 3.0 เป็น Axapta 3.0 SP4


Axapta 3.0 SP4 ทำไมเราต้องทำการ Update Axapta 3.0 เป็น Axapta 3.0 SP4 หลังจาก Microsoft ได้ออก SP4 ปรับปรุงเพิ่มแก้ปัญหาต่างๆ
และมีการเพิ่ม Feature บางอย่าง เราลองมาดูกันหน่อยว่ามีอะไรบ้าง


Asynchronous Cache Flushing

คือการประสาน ข้อมูล Database กับ Cache ของ client การทำ caching ซึ่งมีผลต่อ bandwidth ของ network ทำให้การอ่านข้อมูลเร็วขึ้น เรามีดูผลจากการทดสอบ

อ่านโดยตรงกับ (ไม่ใช้ AOS) SQL Database: จำนวน 178 records /วินาที (ประมาณ 5.6 ms)

อ่านจาก Cache ของ AOS: จำนวน 833 records /วินาที (ประมาณ 1.2 ms)

อ่านจาก Cache ของ client: จำนวน 18333 records /วินาที (น้อยกว่า 0.06 ms)

SP4 มีการทำ caching Table ดั้งนี้เป็นพิเศษ

ชื่อ Table

CustTable:

SalesTable:

InventTableMethod:

InventTable:



Country Specific Config


มีการปรับปรุงเพิ่มในส่วนการกำหนด ระบบความปลอดภัย แยกเป็นระดับประเทศคือ ซึ่งในแต่ระส่วนสามารถกำหนด Admin ดูแลเป็นส่วนได้


Data Upgrade Framework


จากเดิมที่เราจะทำการ Update versionของ Axapta ซึ่งมีความยุ่งยาก และมีการหยุดระบบเพิ่มทำการ Update และใช้เวลานานมาก Data Upgrade Framework คือหนทางออกทำให้ขั้นตอนต่างๆ งายขึ้นและรวดเร็วสามารถตั้ง batch process ได้


Inventory Multi-transaction System (IMTS)


จากปัญหาที่เราพบจาก การทำ Transaction ปรับปรุง packing slip และ ปรับปรุง invoice ในเวลาเดียวกันโดยหลายผู้ใช้ กับซึ่งมีผลต่อ performance ของระบบ(ซึ่งทำให้ฐานข้อมูล ถูกบล็อก) IMTS คือการจัดการ ปัญหา นี้ และ performance ของระบบ ซึ่งทำให้สามารถ transaction หลายผู้ใช้ได้ (ก่อนใช้ขอให้ทดสอบ และอ่านคู่มือเพิ่มเติมด้วย)


Multi-User Inventory Closing


จากเดิมการ ปิดบัญชี Inventory Closing ในกรณีที่เรามีการ setting Axapta ให้มีกว่า 1 บริษัท (ในฐานข้อมูลเดียวกัน) สิ่งที่เราประสพปัญหาคือ ไม่สามารถ ทำการ ปิดบัญชี Inventory Closing พร้อมกันมากกว่าบริษัท 1 บริษัทพร้อมกันได้จะต้องทำการ process ครั้งละ 1 แต่ SP4 ได้แก้ ปัญหานี้เรียบร้อยแล้ว


Personal Information Wizard


การจัดการข้อมูลเกี่ยวกับ พนักงาน โดยผ่าน Wizard


Watson Error




Axapta ได้ทำการผนวก เทคโนโลยี Watson ของ Microsoft คือการรายงาน error ของ โปรแกรม ให้กับ Microsoft เพื่อนำไปปรับปรุงแก้ไขปัญหา ของโปรแกรม

หมัด ต่อหมัด Axapta 3.0 กับ Dynamics AX 4.0


เรามาดูการเปลี่ยนแปลงของ Dynamics AX 4.0 กันอีกครั้งแบบ หมัดต่อหมัด


ที่จริงแล้ว Dynamics AX 4.0 ก็คือ Axapta ตัวต่อไปของ Microsoft ที่ Microsoft ชื่อใหม่ในการทำการตลาดว่า Dynamics AX เรามาดูว่า Feaures สึ่งที่เปลี่ยนไป


1.สนับสนุนการติดต่อระบหว่า
ง Client กับ Appreciation แบบ Tree- Tier อย่างเดียว (ยกลิก Two- Tier )
2.รวมกับ Active Directory ของ WINDOWS ในระบบรักษาความปลอดภัยเต็นรูปแบบ
3.Protocol แบบ Tree- Tier (AOCP) จะถูกแทนด้วย RPC
4.รวมและสนับสนุน MS SQL 2005 Report Services
5.ระบบ Unicode
6. 64 Bite Recid
7.ยกเลิก Commerce Gateway แทนด้วย AIF
8.Enterprise Portal จะถูกแทนด้วย Sharepoint service
9.ระบบรักษาความปลอดภัยการเขียน โปรแกรมจะถูกแทนด้วย Visual Source Safe
10.Com Business Connector ถูกแทนด้วย .Net Business Connector
เปรียบเทียบอีกครั้ง

Axapta 3.0
Dynamics AX 4.0

2-Tier และ 3-Tier support
ถูกแทนด้วย 3-Tier

Recid ควบคุม ระดับ company Level
Recid ควบคุม ระดับ Table Level.

Communication ระหว่าง client กับ AOS โดยAOCP protocol
Communication ระหว่าง client กับ server โดยRPC Protocol

32-bit Recid
64-bit Recid

AOS เป็น Stand-alone program
AOS เป็น Windows Service

Business Connector
Net Business Connector

Enterprise Portal
SharePoint Portal

Standard Reporting
Standard Reporting และ SQL Server 2005 Reporting Services

B2B โดย Commerce Gateway
B2B & A2A โดย AIF ( Application Integration Framework)

Visual Morphxplorer
Reverse Engineering Tool


Feaures ที่สำหรับ IDE ที่เพิ่มขึ้น
1.Microsoft Outlook
2.Navigation pane (<- X -> )
3.Search (คล้าย Google)
4.Debugger ปรับปรุงคล้ายกับ Dot Net
5.Favorites เก็บรายการโปรด
6.ระบบแจ้งเตือน Alerts
เรามาดู สถาปัตยกรรม เบื้องต้น



เราพบการปลี่ยแปลงคือ AOS จะเป็น Center ในการประสานงานในขบวนการต่าง ๆ และต่อต่อ กับ Service Server ต่าง ๆ และ Report จะมีการนำข้อมูลมาทำรายงานสนับสนุนรายงานระบบเดิมมากคือ จาก Analysis Service และ Reporting Service
เครื่องมือในการพัฒนา มีการปรับเปลี่ยนคือ
1.การแสดงผลลัพ CLR
2.ปรับปรุง Debugger
3.รวม SQL Server 2005 Reporting Services
เกี่ยวกับ .Net Business Connector
1.ยอมให้โปรแกรมภายนอกติดต่อได้ ผ่าน AOS
2.สามารถใช้ classes ของ X++ ในการใช้งาน
3.ใช้ได้ .Net framework 2.0 และ supports VS2005
โดย Enterprise Portal, Reporting Server และ AIF server roles
4.Automatic Registration
5.Requires Windows Authentication
6.COM Version of Business Connector is kept for backward compatibility
เทคโนโลยี Stack



นี่คือสิ่งที่ Microcoft วางไว้สำหรับ Microfoft Dynamics AX แสดงความสัมพันธ์ ระหว่าง นวัตกรรม ที่ Microcoft สร้างขึ้น

เรามาดูกันอีกครั้งการสิ่งที่ Microsoft สร้างขึ้น Dynamics AX 4.0



นี่คือสิ่งที่ Microcoft วางไว้สำหรับ Microfoft Dynamics AX แสดงความสัมพันธ์ ระหว่าง นวัตกรรม ที่ Microcoft สร้างขึ้น

เรามาดูกันอีกครั้งการสิ่งที่ Microsoft สร้างขึ้น Dynamics AX 4.0

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