ภาษา ABAP เป็นภาษาที่ใช้ควบคุมกิจกรรมในระบบ SAP ซึ่งเป็นระบบ ERP ที่ยังพอต่อกรได้กับ Oracle Financial!!!
โปรแกรมทุกโปรแกรมในระบบ SAP ล้วนถูกเขียนขึ้นด้วยภาษา ABAP ดังนั้นถ้าใครก็ตามที่คิดจะควบคุม SAP ก็เลยจำเป็นจะต้องรู้จักภาษา ABAP ไปโดยปริยาย
งั้นมาสาธยายให้เห็นเป็นข้อ ๆ ดีกว่า ว่าทำไมภาษา ABAP จึงได้ยากจัง?
1. เพราะ Data Dictionary
ปัญหา
ระบบ SAP มีความยืดหยุ่นสูงมาก ด้วยเหตุที่มี table นับเป็นพัน ๆ table ซึ่งมีหน้าที่เก็บข้อมูลที่จำเป็นต้องใช้ทั้งหมดเอาไว้ ดังนั้นถ้าอยากจะควบคุมกลไกใด ๆ ใน SAP เราจึงหลีกเลี่ยงไม่ได้ที่จะต้องรู้จัก table ต่าง ๆ ในนั้น
วิธีแก้ปัญหา
ในระบบ SAP มีเครื่องมือที่เรียกว่า Data Dictionary ซึ่งช่วยให้เราสามารถสืบค้นโครงสร้างของ table ต่าง ๆ ขึ้นมาดูได้ ดังนั้นเราจึงต้องใช้ต้นทุนเวลาที่เรามีไปกับการ ค้น ๆ ๆ และ ค้น เอา table แต่ล่ะตัวขึ้นมาดู ว่ามัน(น่าจะ)ใช้ทำอะไร, มีฟิลด์อะไรบ้าง และแต่ล่ะฟิลด์(น่าจะ)เอาไว้เก็บอะไร?
2. เพราะ Function
ปัญหา
ระบบ SAP ก็เหมือนระบบใหญ่ ๆ ทั่วไปที่มีสภาพแวดล้อมของตัวเอง มีกลไกการป้องกันของตัวเอง ดังนั้นถ้าอยากจะเสกอะไรซักอย่างให้ดำเนินหรือปรากฎใน SAP เราจึงหลีกเลี่ยงไม่ได้ที่จะต้องรู้จัก function ต่าง ๆ ในนั้น แต่แย่หน่อยที่ function ใน SAP มีเป็นพัน ๆ ตัวอ่ะดิ แถมแต่ล่ะตัวยังเรียกหากันเองอีกต่างหากT-T
วิธีแก้ปัญหา
เราสามารถใช้ Function Builder เพื่อสืบค้น function ต่าง ๆ ขึ้นมาดูได้ ว่าแต่ล่ะตัว(น่าจะ)ใช้ทำอะไร, มีพารามิเตอร์ที่ต้องส่งเข้ากี่ตัว และมีค่าที่ส่งออกมาจาก function กี่ตัว … อย่างน้อยก็ดีกว่าไปมั่วเอง
3. เพราะ GUI
ปัญหา
การสร้าง GUI ด้วยภาษา ABAP เพื่อให้แสดงผลใน SAP มีลักษณะกึ่ง Visual เพราะสามารถจะเขียนคำสั่งเพื่อสั่งให้แสดง GUI อย่างที่ต้องการก็ได้ หรือไม่ก็ใช้ Screen Painter เพื่อสร้างหน้าจอที่ต้องการเลยก็ได้ ดังนั้นมันก็เลยมีความซับซ้อนอยู่ในตัว ถ้าควบคุมลำดับการจัดการหน้าจอไม่ดี ก็อาจจะเบลอไปเลย
วิธีแก้ปัญหา
เลือกสร้าง GUI ที่ง่ายและง่ายที่สุด โดยการเขียนภาษา ABAP แบบพื้น ๆ เพื่อสร้างหน้าจอที่ผู้ใช้จะกรอกข้อมูลทุกอย่างในหน้าจอเดียว และเมื่อผู้ใช้กรอกข้อมูลจนครบแล้ว ก็ให้กดปุ่มเพียงปุ่มเดียวเพื่อสั่งให้ทำงาน แล้วแสดงผล เป็นอันจบ
4. เพราะตัวเราเอง
ปัญหา
การจะเขียนภาษา ABAP เพื่อควบคุม SAP นั้น มีต้นทุนที่สูงลิบลิ่วอยู่ที่เวลาในการศึกษา Data Dictionary และ Function เพราะความเชี่ยวชาญในการเขียนภาษา ABAP แปรผันตรงกับความรู้จักลึกซึ้งใน Data Dictionary และ Function ซึ่งมีอยู่ใน SAP … ยิ่งรู้มาก ก็ยิ่งเก่งมาก
แต่ทว่า … มนุษย์เรามีแรงต้านอยู่ในจิตใจ ดังนั้น หากต้องเสียเวลาไปมากมายเพื่อศึกษา Data Dictionary และ Function จนทำให้ไม่มีเวลาไปปรนเปรอตัวเองในด้านอื่น ก็อาจทำให้เกิดความเบื่อหน่ายไม่อยากจะยุ่งเกี่ยวกับการเขียน ABAP เลยก็เป็นได้
วิธีแก้ปัญหา
ถ้าคิดจะยึดการเขียนภาษา ABAP เป็นอาชีพ การทุ่มเทเวลาไปกับการศึกษา Data Dictionary และ Function ถือว่าเป็นเรื่องที่คุ้มค่า เพราะความน่าเบื่อในการศึกษาเรื่องดังกล่าว เป็นปราการสำคัญที่ป้องกันไม่ให้คนอื่น ๆ ได้เก่ง ABAP ได้ง่าย ๆ ดังนั้นคนเก่ง ABAP ก็เลยกลายเป็นคนส่วนน้อยที่มีคุณค่าไปโดยปริยาย
แต่ถ้าการเขียนภาษา ABAP เป็นสิ่งที่ถูกมอบหมายมาให้ทำอย่างเสียมิได้ ก็ขอให้ทำใจซะ เพราะถ้าทำได้ไม่ดีซักที เดี๋ยวองค์กรก็ไปเหมาจ่ายเพื่อจ้าง ABAPER เก่ง ๆ มาทำงานให้แทนเองแหล่ะ อิ อิ 😛
…
โดยสรุปแล้ว … หินก็คงยังเป็นหินอยู่ดี จะให้มันเป็นกล้วยไปได้ยังไงกัน … แป่ว!!!
[tags]ABAP, ABAPER, SAP, Data Dictionary, Function, GUI, ภาษา, ยาก[/tags]
SAP == Sad After Purchase 😀
อ่านะ แล้วทำไมต้อง SAP แต่แรก
เหมือนโดน สาป เลย
อุอุ
OH Ho ภาษานี้ learning curve สูงจัดเลยอ่ะ นับถือทีมงานที่ทำจริงๆเลยนะ ทำไปได้!!!! ^_____^
แล้วมันจะไม่มี solution ที่แก้ปัญหานี้ได้เลยหรอครับ
ผมว่าเราน่าจะสามารถพัฒนา ภาษาที่ครอบ ABAP อีกที
ที่เอาไว้สร้างอะไร simpleๆ ในระบบ
ตารางฐานข้อมูลมีจำนวนเป็นพัน!!! อื้มม ท้าทายความสามารถยิ่งนัก
พี่ไท้พอทราบมั๊ยครับว่า ผลตอบแทนที่ ABAPER ได้ คิดเป็นเงินได้เท่าไหร่ครับ
SAP มันดีจริงๆ จนเจ้าอื่นเทียบไม่ติด หรือว่ามันขายภาพลักษณ์ กับการตลาดดีเยี่ยมครับ? ผมไม่รู้จัก ไม่เคยใช้ แต่มองเข้าไปเห็น software ตัวหนึ่งอ้วนๆ ใหญ่ๆ เทอะทะ ค่าใช้จ่ายสูง…
ตกลงมันดีจริงมั้ยเนี่ย?
ในเรื่อง data dictionary กับ function เห็นแต่คำว่า “น่าจะ” ซึ่งเห็นด้วยเป็นอย่างยิ่ง!!!
นี่ยังไม่รวม comment ภาษาเยอรมันใน standard function อีกครับ เจ็บจริงๆ
แล้วมันไม่มี manual ให้เหรอพี่ไท้ มั่วๆ เดาๆ แบบนี้ ยังกล้าทำมาขายแพงๆอีกเหรอ
ต้อง Sadly after purchase ต่างหากคุณ AMp ^-^ ผิดไวยากรณ์ อิ อิ
อ๋า SAP ไม่ได้เท่ากับ สาป นะคุณ host โหยแปลซะ T-T
อือ ผมเองก็อยากรู้เหมือนกันอ่ะคุณ watch ว่าเขาใช้คนกี่คนเพื่อสร้าง SAP ขึ้นมา?
โอ้ว คุณอิ๊กช่างคิดมาก ๆ เลย ABAP Framework แต่มันไม่มีอ่ะดิ T-T
พื้นฐาน man day ล่ะ 10,000 บาทครับคุณเน็ต ที่เหลือไปคูณเอาเอง อิ อิ
มันเป็น ERP ที่ดีมากครับคุณ crucifier ถ้าใช้กับองค์กรใหญ่บิ๊กบึ้มประเภทบรรษัทข้ามชาติ
อ่าฮ่า แสดงว่าคุณ tomoomoo คือผู้ที่ต้องคลุกคลีตีโมงอยู่กับ ABAP น่านเอง!!!
มันมี แค่ดับเบิ้ลคลิกตรงที่สนใจ หรือวางเคอร์เซอร์เอาไว้ตรงที่สนใจแล้วกด F1 คู่มือมันก็จะโผล่พรวดออกมาให้เราเลยล่ะคุณ 7 … แต่ว่า … ให้อ่านคู่มือตั้งแต่ต้นจนจบล่ะก็ … ไม่ไหวอ่ะ T-T
ERP ถ้ามองเชิง programming/technical แล้ว มันจะซับซ้อน + maintenance ยาก + เทอะทะ +ไม่ยืดหยุ่นมากเท่า develop application from scratch
แต่มองในมุมมอง business แล้ว มันคือ business process best practice ที่ึเค้าคิดมาให้แล้วว่า run businessแบบนี้ดีที่สุด efficient ที่สุด แล้วก็ยืดหยุ่นพอที่จะ configure ให้เข้ากับ current business process ได้ หรือถ้ามีข้อจำกัดด้านการ configure จริงๆ ก็สามารถเขียน program เพิ่มเติมได้ (ABAP นั่นเอง)
Abap ไม่ยาก อย่างที่คิดครับ จากประสพการณ์ พัฒนาระบบ SAP มา 15 ปี ผมว่ามันไม่ยากอย่าง ที่คิด ครับ …………รับปรึกษา นะ
ผมกำลังศึกษา ABAP อยู่ โดยปกติแล้วผมทำงานด้าน .net (C#.net,VB.Net) ตอนนี้กำลังหาแหล่งความรู้อยู่ครับ หากท่านใดพอมี Link ความรู้ตรงนี้ ขอความกรุณาด้วยนะครับ หาอ่านภาษาไทยได้ยากพอสมควรเลยนะครับเนี่ย
มีพื้นฐานการเขียนโปรแกรม ก็ไม่ได้ยากอะไรมาก เพียงแต่คุณต้องปรับตัวเข้าหามัน ไม่ใช่ให้มันปรับตัวเข้าหาเรา