16 กุมภาพันธ์ 2553

[038] สุดแสนเสียเวลา อ่านหนังสือ ABAP Programming

สองสามวันนี้อ่านหนังสือภาษาไทย SAP R/3 ABAP Programming ของค่าย ARiP สุดแสนจะปวดหัวอย่างแรง ขอบ่นระบายหน่อยเถอะ 
  • ตัวอย่างในหนังสือผิด ในบทที่ 5 เขียนวิธีการอ้าง Internal Table แบบใช้ [ ] ผิดหมดทุกตัวอย่าง   เพราะมีเว้นวรรคทุกคำสั่ง งงตั้งนานว่าทำไม กว่าจะรู้จะไปค้นในเว็บ help.sap.com ว่าไม่ต้องมีช่องว่าง [] (รับรองว่าดูไม่ผิด วัดแล้วใส่ตัวอักษรได้อีกตัวแน่ๆ)
  • ไม่อธิบายคำสั่ง TYPES อยู่ดีๆ ก็เอามาไว้เป็นส่วนหนึ่งของตัวอย่าง  ลองย้อนกลับไปดูบทก่อนๆ ไม่มีแน่ๆ ต้องการอะไร ปริศนาพาสนุก?
  • ไม่บอกถึงความแตกต่างของ  Internal Table Types กับ Internal Table Objects (อ่านจนจบแล้วต้องไปหาข้อมูลเพิ่มว่าทำไมต้องใช้ TYPES) 
  • อธิบายเรื่อง Header Line ได้มั่วมาก อย่ามีรูปดีกว่า งงกว่าเดิม  แทนที่จะเอาแบบประกาศแยกมาแสดงให้ดูก่อน ดันเอาแบบรวมมาแสดงก่อน พยายามอ่านหลายรอบ
  • บอกว่าให้เขียนแบบสร้างแบบมี header ไปเลยจะได้ไม่ยุ่งยาก (หน้า 109) แต่พอในหน้า 121 ดันบอกว่า ถ้าพิจารณาจากทฤษฎีจริงๆ แล้ว ควรแยก Internal Table กับ Header Line เพื่อป้องกันความสับสน !!! สรุปเอาไงกันแน่ฟร่ะ  แถมลงท้ายว่า ถ้าเขียนใน Report ธรรมดา ๆ ก็ใช้แบบมี header ไปเลยก็ได้ ถ้าไม่เน้นหลักและซีเรียสกับชีวิตมากมาย (เออ ตอนนี้ตรูเริ่มซีเรียสแล้วว่ะ )
  • วิธีการใช้งาน Internal Table ยกตัวอย่างไม่มีลำดับขั้นตอน เหมือนพูดแบบหว่านแหแล้วไปดูรายละเอียดใน help เอา 
 หนังสือเล่มนี้ผู้เขียนได้บอกว่า ไม่ได้ต้องการเจาะลึกลงใน Syntax ของตัวคำสั่ง แต่อยากให้ทราบถึงการทำงานของ ABAP บน SAP ว่ามีการจัดการและมุมมองอย่างไร แต่จากที่อ่านยังไม่ใกล้กับที่กล่าวไว้  เพราะถ้ามองในมุมคนที่ไม่มีพื้นหรือผู้เริ่มต้น จะสับสนเป็นอย่างมาก เพราะหลักภาษาเหมือน COBOL สภาพแวดล้อมที่ทำงานบน SAP ไม่เหมือนกับโปรแกรมที่เขียนบน client ได้

แนะนำว่าผู้เขียนหนังสือควรปรับปรุงในเรื่องลำดับของคำสั่งหรือหัวข้อที่จะนำเสนอ ถ้าจะเอาประสบการณ์มา ก็ควรลำดับดีๆ ไม่ใช่หว่านแหๆๆ ใส่มาแล้วให้คนอ่านมานึกสรุปเอาเอง ยกเว้นว่าคนอ่านพอมีพื้นมาบ้างอาจไม่มีปัญหาเพราะพอจะประติดประต่อกันได้ อย่างเช่น บทที่ 5 น่าจะเริ่มด้วย ทำความเข้าใจกับ Internal Table Types ก่อนว่ามีโครงสร้างและการใช้งานยังไง เพราะจะได้เข้าใจเรื่อง header จากนั้นค่อยมาว่าเรื่อง  Internal Table Objects แบบประกาศแยก header กับ table และสอนถึงวิธีการนำเอาข้อมูลจาก header ไปใส่ใน table รวมถึงการเข้าถึง ลบ เพิ่ม เรียงลำดับ จากนั้นถึงเอาไปรวมกับคำสั่ง Open SQL ว่าใช้งานร่วมกันอย่างไร นี่ยังไม่เข้าใจถึงตัว Internal Table และวิธีใช้งานเลย ก็เอามายำกับ Open SQL แล้ว 

จบ สรุปเสียเวลาไป 2 วันกับเรื่อง internal table เรื่องเดียว  ไม่เข้าท่าเลย 

ปล. ถ้าคนแต่ง(ประพจน์)ได้มาอ่าน แล้วรู้สึกว่าที่ตัวเองเขียนดีแล้ว ก็อย่าสนใจเลย  ผมก็บ่นตามที่ผมรู้สึก แต่ถ้าอยากปรับปรุงในเล่มต่อไปก็น่าจะดีต่อผู้อ่านและตัวคุณเอง 

7 ความคิดเห็น:

Charin Nawaritloha กล่าวว่า...

ไปอ่านต่อเรื่องเต็มๆ ที่ help.sap.com

เยอะหน่อย แต่ก็เต็มใจจะอ่านครับ

February 16, 2010 3:58 PM

Charin Nawaritloha กล่าวว่า...

บทที่ 7 หน้า 151 ในส่วนของ Option ที่เก็บจากคำสั่ง SELECT-OPTIONS ไม่มี BT แต่ในตัวอย่างมี แถมพิมพ์อธิบายตัวย่อที่ใช้เป็น GT(Grater Than), GE(Grater Equal)
ไม่ได้ตั้งใจจะจับผิด แต่อ่านแล้วมันสะดุดครับ -_-"

Charin Nawaritloha กล่าวว่า...

เมื่อวานบทที่ 8 อ่านแล้ว เริ่มคิดว่าตัวเองอ่านภาษาไทยไม่แตก หรือว่าหนังสือมันเขียนไม่ครบถ้วน หรือว่ายังไง เอาเป็นว่าสรุปคือ จะไม่องไม่อ่านในรายละเอียดมันแล้วครับ อ่านคร่าวผ่าน ๆ แล้วไปดูใน help.sap.com ล่ะกัน ผมไม่ได้บอกว่าหนังสือมันไม่ดีนะ แต่มันอาจจะเก่า รวบรัด และใช้ประสบการณ์ของคนแต่งหนังสือมาเขียน ซึ่งสำหรับผมแล้ว คงไม่เหมาะกับหนังสือเล่มนี้

ไม่ระบุชื่อ กล่าวว่า...

งงอย่างเรง!!!!

ไม่ระบุชื่อ กล่าวว่า...

หนังสือ SAP มันสำหรับคนที่ทำงานกับ SAP น่ะครับ

Charin Nawaritloha กล่าวว่า...

ผมอ่านหนังสือเล่มนี้เพราะผมก็ทำงานกับ SAP อยู่ครับ

ไม่ระบุชื่อ กล่าวว่า...

ผมเข้าใจคุณนะครับ
ผมแนะว่าให้คุณไปอ่าน help.sap.com เลย ทุกเรื่องที่คุณสงสัยนะ
หนังสือเล่มนี้ จุดบกพร่องมันก็มี
ข้อดีมันก็มีเยอะ สำหรับภาษาไทยอะนะ

ABAPER ^^

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

เกี่ยวกับเจ้าของบล๊อก