Pages

การสร้างและใช้งาน Codeunit ผ่านทาง Web Service ด้วย Protocol SOAP บน Microsoft Dynamics NAV, Part 1.



ในวงการ IT น้อยคนนักที่จะไม่รู้จักระบบ ERP ดังนั้นผู้เขียนจึงขออนุมานเอาเองว่า ผู้อ่านมีความรู้เกี่ยวระบบ ERP ในระดับหนึ่ง และการที่ผู้อ่านเลือกที่จะอ่านบทความนี้ ก็แสดงว่าผู้อ่านคงจะมีความสนใจและเข้าใจการทำงาน Microsoft Dynamics NAV เป็นอย่างดี

ดังนั้นผู้เขียนจะเน้นไปที่หัวข้อของเรา คือการสร้างและใช้งาน Codeunit ผ่านทาง Web Service โดยใช้ Protocol SOAP

โดยผู้เขียนจะยกตัวอย่างการสร้าง Codeunit ที่ทำหน้าที่หาผลบวกของเลขจำนวนเต็ม 2 จำนวน แล้วส่งผลลัพธ์จากการคำนวณนั้นกลับมายังผู้ใช้งานผ่าน Web service

ผู้เขียนแบ่งเนื้อหาของบทความออกเป็น 4 หัวข้อดังนี้
  • สิ่งที่ต้องเตรียม (Prerequisites)
  • การสร้าง Codeunit
  • การ publish Codeunit ของ Microsoft Dynamics NAV เป็น web service
  • การเรียกใช้งาน  web service ผ่านโปรแกรม Visual Studio

สิ่งที่ต้องเตรียม

  • โปรแกรม Microsoft Dynamics NAV 2015 with a developer license.
  • โปรแกรม Visual Studio version 2008 ขึ้นไป
การสร้าง Codeunit

ก่อนที่จะทำการสร้าง Codeunit ผู้อ่านควรทำความเข้าใจเสียก่อนว่า Codeunit คืออะไร แต่หากผู้อ่านมีความรู้ความเข้าใจเกี่ยวกับ Codeunit อยู่แล้ว เรามาเริ่มสร้างมันกันเลยดีกว่า 


  • เปิดโปรแกรม Microsoft Dynamics NAV development environment ขึ้นมา


  • เลือก Database ที่ผู้อ่านต้องการสร้าง Codeunit ที่เมนู File-->Database 


  • ที่เมนู tools เลือก Object Designer



  • ที่หน้าต่างของ Object Designer ให้ผู้อ่านคลิ๊กเลือกเมนู Codeunit ทางด้านซ้าย เพื่อแสดงรายการของ Codeunit ทั้งหมด จากนั้นคลิ๊กที่ปุ่ม New เพื่อเริ่มต้นการสร้าง Codeunit ใหม่




  • โปรแกรมจะแสดงหน้าต่างของ C/AL Editor ขึ้นมา ซึ่งหน้าต่างนี้เราจะใช้เพื่อเขียนชุดคำสั่งในการทำงานของเราในภายหลัง ดังนั้นในขั้นตอนนี้ให้ผู้อ่านคลิ๊กที่เมนู View ด้านบนจากนั้นเลือก C/AL Globals




  • ที่หน้าต่างของ C/AL Globals ซึ่งเป็นหน้าต่างที่ใช้สำหรับการสร้างตัวแปร หรือ function ในรูปแบบ global ในขั้นตอนนี้ให้ผู้อ่านเลือกเมนู Functions จากนั้นให้ตั้งชื่อ function ว่า Calculators  เพื่อใช้ในการคำนวนผลบวกของเลขจำนวนเต็ม 2 จำนวน ดังที่ได้กล่าวไปแล้วในตอนต้นของบทความ 



  • จากนั้นให้ผู้อ่านเลือกเมนู View ด้านบนตามด้วยเมนู Properties ตามลำดับ



  • เนื่องจากผู้เขียนต้องการให้ function Calculators  สามารถถูกเรียกใช้ได้จากภายนอก (ในที่นี้คือนอกโปรแกรม Microsoft Dynamics NAV ) จึงต้องทำการเปลี่ยน Local property จาก YES เป็น NO เมื่อเปลี่ยน Local property เป็น NO แล้ว ให้ปิดหน้าต่าง Properties ได้เลย



  • กลับมาที่หน้าต่าง C/AL Globals ให้ผู้ใช้คลิ๊กที่ปุ่ม Locals เพื่อสร้างตัวแปรและ environment ต่างๆของ function Calculators  



  • ที่ Tab Parameters ให้ผู้อ่านสร้างตัวแปรสองตัวคือ num1 และ num2 โดยมี Type เป็น Integer




  • ที่ Tab Return Value ให้ผู้อ่านตั้งชื่อของตัวแปรที่จะใช้ในการส่งผลลัพธ์จากการคำนวนว่า result ในช่อง Name และเลือก Return Type เป็น Integer จากนั้นให้ผู้อ่านทำการปิดหน้าต่างทั้งหมด เหลือไว้เพียงหน้าต่างของ C/AL Editor


  • ที่หน้าต่างของ C/AL Editor นั้นจะปรากฎชื่อ function Calculators ที่เราได้สร้างไว้ในขั้นตอนที่ผ่านมา ซึ่ง function Calculators จะประกอบไปด้วย parameters 2 ตัว คือ  num1 และ num2 ตามลำดับ และมีตัวแปร result เป็น return type และทั้งหมดเป็นตัวแปรชนิด Integer 


  • ภายใต้ function Calculators บนหน้าต่างของ C/AL Editr นั้นให้ผู้อ่านทำการเขียนชุดคำสั่งลงไปดังนี้
result := num1+num2;
              
  • ดังแสดงดังภาพด้านล่าง

  • จากนั้นให้ผู้อ่านทำการ save โดยใช้เมนู File-->Save 


  • ระบบจะบังคับเราให้ป้อน Codeunit ID ซึ่งผู้เขียนตั้งเป็น 50013 และตั้งชื่อของ Codeunit ว่า SumNum


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

Unknown

IT Developer, who falling love in programming

2 comments: