ทหารผ่านศึกวงการ Oracle EBS มากว่า 18 ปี เล่าความเจ็บปวดของการพัฒนา Report บน EBS ผ่านมา ไม่ว่าจะเป็นขั้นตอนการลงทะเบียน Executable, Concurrent Program, value set และ request group อันน่าเบื่อหน่าย รวมถึงฝันร้ายของ Output แบบไฟล์ข้อความที่บังคับให้ผู้ใช้ต้องแบ่งคอลัมน์ใน Excel ด้วยมือทุกครั้ง จนตัดสินใจสร้าง SQLVantage เครื่องมือพัฒนา Report แบบมินิมอลที่ให้ผู้พัฒนาโฟกัสแค่การเขียน SQL กับการตั้งค่าพารามิเตอร์ โดยระบบส่งออกเป็นไฟล์ Excel (.xlsx) หรือ JSON แบบเนทีฟภายใน 5 นาที เรื่องจริงเปรียบเทียบให้เห็นว่าวิธีเดิมกินเวลาเกือบ 80 นาที ขณะที่ SQLVantage ใช้เพียง 3 นาที และช่วยลดเวลาเฉลี่ยในการส่งมอบ Report ลงมากกว่า 80% พร้อมความพึงพอใจของผู้ใช้ที่เพิ่มขึ้นอย่างมาก
ในฐานะทหารผ่านศึกที่โลดแล่นอยู่ในวงการ Oracle EBS มานานกว่า 18 ปี ผมเข้าใจดีเกินไปถึงความรู้สึก "หวาดกลัวการถูกครอบงำด้วย Report แบบ Text"
ทุกครั้งที่ฝ่ายธุรกิจต้องการข้อมูลอย่างเร่งด่วน เราต้องผ่านขั้นตอน "มาตรฐาน" อย่างการทำความเข้าใจความต้องการ เขียน SQL ลงทะเบียน Concurrent Program และผูก Responsibility พอพัฒนาเสร็จอย่างยากเข็ญ ฝั่งผู้ใช้ก็ยังต้อง บันทึกเป็นข้อความ → วางลง Excel → แบ่งคอลัมน์ และถ้าฟิลด์ไหน (เช่น คำอธิบายสินค้า) ยาวเกินความกว้างที่ตั้งไว้จนขึ้นบรรทัดใหม่อัตโนมัติ การแบ่งคอลัมน์ใน Excel ทั้งหมดก็จะเพี้ยนกันหมด
กิจวัตรแบบ "พัฒนาวันละ 5 นาที แต่ดับไฟ 2 ชั่วโมง" เชื่อว่าเป็นความทรงจำร่วมกันของคนทำงาน EBS ทุกคน
และความเจ็บปวดที่วนเวียนซ้ำแล้วซ้ำเล่าแบบนี้เอง ที่ทำให้ผมตัดสินใจว่าจะไม่ทนอีกต่อไป ผมใช้เวลาว่าง สร้างชุดเครื่องมือพัฒนา Report แบบ Custom ที่ออกแบบมาเพื่อ Oracle EBS โดยเฉพาะตั้งแต่ศูนย์ — SQLVantage มันไม่ใช่เทคโนโลยีที่ล้มล้างอะไร แต่ช่วยกู้ผมและทีมออกมาจากขั้นตอนอันน่าเบื่อหน่ายได้จริงๆ
ก่อนจะลงลึกถึง SQLVantage ผมอยากใช้เวลาสักครู่เพื่อทบทวนภาพรวมของ "จุดบกพร่อง" ทั้งหมดที่เราเจอในการพัฒนา Report บน EBS ตลอดหลายปีที่ผ่านมา ผมเชื่อว่าถ้าคุณเคยทำงานพัฒนา EBS ฉากต่อไปนี้จะทำให้ความดันคุณพุ่งปรี๊ด
การพัฒนา Report บน EBS แบบปกติ มีขั้นตอนดังนี้:
พักยกชุดนี้จบลง ก็ผ่านไปอย่างน้อย 20 นาที ถ้าเป็นเพียงความต้องการ Query ง่ายๆ เวลาที่เสียไปยังมากกว่าการเขียน SQL เสียอีก ผมเรียกแพตเทิร์นแบบนี้ว่า "พิธีกรรมแห่งความไร้ประสิทธิภาพ" — เราถูกบังคับให้ทุ่มเวลาจำนวนมากไปกับการทำให้เป็นไปตามข้อกำหนดของระบบ แทนที่จะแก้ปัญหาความต้องการข้อมูลของผู้ใช้จริงๆ
นี่คือขั้นตอนที่ทำให้ผมแทบทรุดมากที่สุด
ผู้ใช้ไม่สนใจว่า Report ของคุณพัฒนาด้วย RDF หรือ XML Publisher พวกเขาสนใจแค่อย่างเดียว: สุดท้ายแล้วขอ Excel ที่เป็นระเบียบสักไฟล์ได้ไหม? แล้ว Output ดั้งเดิมที่ EBS ให้มาเป็นแบบไหนล่ะ?
.txt หรือ .out โดยเนื้อแท้แล้วก็คือข้อความแบบ fixed-width หรือคั่นด้วยเครื่องหมายจุลภาคดังนั้น กิจวัตรประจำวันของผู้ใช้จึงกลายเป็น "กรรมกรขนย้ายข้อมูล":
Ctrl+A เลือกทั้งหมด Ctrl+C คัดลอกCtrl+V วางลงในคอลัมน์แรก
(การขึ้นบรรทัดใหม่ของข้อความทำให้การแบ่งคอลัมน์ใน Excel เพี้ยน — ความเจ็บปวดชั่วนิรันดร์ในใจของ EBS User ทุกคน)
เพื่อแก้ข้อผิดพลาดเพียงจุดเดียวนี้ ผู้ใช้อาจต้องปรับข้อมูลทีละหลายร้อยแถวด้วยมือ หรือไม่ก็ต้องปรับความกว้างของ Report แล้วรันใหม่ทั้งชุด เมื่อธุรกิจต้องการแบบเร่งด่วน สถานการณ์แบบนี้ทำให้คนเราล้มทั้งยืนได้เลยทีเดียว
สภาพแวดล้อมทางธุรกิจในปัจจุบันต้องการการตอบสนองระดับ "นาที" ผู้จัดการฝ่ายธุรกิจพูดว่า "ผมอยากดูสต็อกแบบเรียลไทม์ของ SKU อันดับ TOP 10 ในเขตจีนตะวันออกวันนี้" ถ้าอยู่ภายใต้กรอบ EBS แบบดั้งเดิม นี่หมายถึงกระบวนการพัฒนา ทดสอบ และติดตั้งใช้งานทั้งชุด พอผูก Report เข้าไปได้ ก็อาจเป็นวันถัดไปแล้ว และช่วงเวลาตัดสินใจที่ดีที่สุดก็ผ่านพ้นไปแล้ว
เรากำลังใช้กระบวนการพัฒนาแบบ "Waterfall" ที่มีอายุ 20 ปี มาตอบสนองความต้องการทางธุรกิจแบบ "Agile" ในปัจจุบัน ความไม่สอดคล้องแบบนี้เอง คือรากเหง้าของความเจ็บปวดของเรา
เมื่อขั้นตอนมาตรฐานช้าเกินไป ทำไมเราไม่สร้างล้อของตัวเองขึ้นมาล่ะ?
แนวคิดการออกแบบของ SQLVantage บริสุทธิ์มาก: ลอกภาระขั้นตอนที่ไม่จำเป็นทั้งหมดในการพัฒนา Report แบบ Custom ของ EBS ออกไป เหลือเพียงสองสิ่งที่เป็นแก่นแท้ — เขียน SQL ให้ดี และตั้งค่าพารามิเตอร์
มันไม่ใช่เครื่องมือที่มาแทนที่ Concurrent Manager ของ EBS แต่เป็น แพลตฟอร์มน้ำหนักเบาสำหรับสร้างและส่งมอบ Report อย่างรวดเร็ว ซึ่งมุ่งเน้นผู้ใช้ปลายทาง
ภายใต้ระบบของ SQLVantage การพัฒนา Report หนึ่งตัวถูกบีบอัดจนถึงขีดสุด:
คุณไม่จำเป็นต้องไปนิยาม Executable ไม่จำเป็นต้องไปลงทะเบียน Concurrent Program ไม่จำเป็นต้องไปตั้งค่า value set ไม่จำเป็นต้องไปผูก request group

(หน้าจอการตั้งค่าของ SQLVantage: แค่โฟกัสที่ SQL และพารามิเตอร์ ที่เหลือระบบจัดการอัตโนมัติทั้งหมด)
เมื่อก่อนขั้นตอนการลงทะเบียนและติดตั้งที่ต้องใช้เวลาครึ่งชั่วโมงขึ้นไป ตอนนี้เสร็จได้ภายใน 5 นาที เก็บเวลาอันมีค่าไว้ให้กับการปรับปรุงลอจิก SQL และการสื่อสารกับฝ่ายธุรกิจ แทนที่จะหมดไปกับการคลิกหน้าจออันน่าเบื่อหน่าย
นี่คืออาวุธเด็ดที่ SQLVantage ใช้จัดการจุดเจ็บปวดที่ใหญ่ที่สุด
เมื่อผู้ใช้ปลายทางรัน Report สิ่งที่พวกเขาจะเห็นจะไม่ใช่ไฟล์ข้อความอันน่าปวดหัวอีกต่อไป แต่เป็น ไฟล์ Excel (.xlsx) ที่พร้อมใช้งาน สะอาด และสวยงาม หรือไม่ก็ข้อมูล JSON ที่มีโครงสร้าง
จากนี้ไป ลาก่อนการแบ่งคอลัมน์จากข้อความ ลาก่อนข้อมูลที่เพี้ยนเพราะการขึ้นบรรทัดใหม่
เมื่อวันอังคารที่แล้วตอนบ่าย 3 โมง คุณ CFO วิ่งมาหาผมอย่างเร่งรีบ ต้องการ "ตารางสรุปอายุหนี้ AR แบบข้ามองค์กรแบ่งตามสายผลิตภัณฑ์" เพื่อใช้ในการประชุมบ่าย 5 โมง
ในอดีต (วิธี EBS แบบดั้งเดิม): ผมเปิด Toad เขียน SQL ทันที — Multi-Org Access Control (MOAC) การแปลงสกุลเงินต่างประเทศ ลอจิกการจัดกลุ่มช่วงอายุหนี้ — พอเขียนและดีบั๊กเสร็จก็ปาเข้าไป 15:50 น. แล้ว จากนั้นผมก็เริ่ม:
วันนี้ (ด้วยวิธี SQLVantage): ตอนบ่าย 3 โมง ผมคัดลอก SQL ที่ดีบั๊กเสร็จแล้ว (ซึ่งมีลอจิกซับซ้อนทั้งหมดอยู่) ไปวางในหน้าตั้งค่าของ SQLVantage นิยามพารามิเตอร์: P_ORG (องค์กร), P_CURRENCY (สกุลเงิน), P_AS_OF_DATE (วันที่อ้างอิง) คลิก "เปิดใช้งาน" เวลารวมที่ใช้: 3 นาที ผมส่งลิงก์ Report ไปให้ CFO: "คุณเปิดเลย พิมพ์พารามิเตอร์ คลิก Query ผลลัพธ์ที่ออกมาคือ Excel นำไปแสดงได้ทันที" CFO ได้ข้อมูลตอน 15:10 น. ปรับฟอร์แมตเป็น "รูปแบบบัญชี (Accounting)" แล้วตรวจสอบข้อมูลเสร็จตอน 15:15 น.
เห็นไหมครับ? นี่คือช่องว่างระหว่างยุคของประสิทธิภาพที่เครื่องมือสมัยใหม่นำมาให้
ชีวิต 18 ปีในวงการ EBS ทำให้ผมรู้ซึ้งถึงความแข็งแกร่งและความหนักหน่วงของระบบนี้ และยังเข้าใจอย่างลึกซึ้งถึงภาระทางประวัติศาสตร์ที่มันแบกไว้ ทั้งในด้านประสบการณ์ผู้ใช้และประสิทธิภาพการพัฒนา
SQLVantage ไม่ได้มาเพื่อปฏิเสธ EBS ตรงกันข้าม มันคือ การปลดปล่อยพลังด้านข้อมูลอันแข็งแกร่งของ EBS ในรูปแบบที่ทันสมัย มันห่อหุ้มปัญหาที่น่ารำคาญที่สุดอย่าง "กระบวนการ" และ "ฟอร์แมต" เอาไว้ ทำให้นักพัฒนาสามารถโฟกัสที่ "ข้อมูล" ตัวมันเอง และให้ผู้ใช้โฟกัสที่ "การวิเคราะห์" ตัวมันเอง
ถ้าคุณก็เบื่อหน่ายเต็มทีกับ:
ถ้าอย่างนั้น บางทีคุณอาจลองเปลี่ยนมุมมองเหมือนกับผม ตัวเราเองนั่นแหละ คือ Product Manager ที่ดีที่สุดของตัวเอง
ปัจจุบัน SQLVantage ถูกใช้งานอย่างเต็มรูปแบบภายในทีมของผมแล้ว ช่วยลดเวลาเฉลี่ยในการส่งมอบ Report ลง มากกว่า 80% และความพึงพอใจของผู้ใช้ก็เพิ่มขึ้นอย่างมาก
เทคโนโลยีเปลี่ยนแปลงไม่หยุดหย่อน แต่การแสวงหาความสดใหม่ของข้อมูลของฝ่ายธุรกิจไม่เคยเปลี่ยน ผมหวังว่าประสบการณ์ครั้งนี้และเครื่องมือเล็กๆ อย่าง SQLVantage จะนำแสงสว่างเล็กน้อยมาให้เพื่อนร่วมอาชีพที่ยังดิ้นรนอยู่ในทะเลทุกข์ของการทำ Report บน EBS
ถ้าคุณสนใจรายละเอียดสถาปัตยกรรมของ SQLVantage (เช่น วิธีแยกวิเคราะห์พารามิเตอร์แบบไดนามิก หรือวิธีจัดการ Streaming Output สำหรับชุดผลลัพธ์ขนาดใหญ่) ยินดีต้อนรับให้ฝากข้อความแลกเปลี่ยนกัน ในยุคที่ผันผวนคาดเดาไม่ได้แบบนี้ มาใช้เทคโนโลยีเพื่อต่อรองเวลาอันมีค่าเล็กน้อย ให้กับตัวเองและฝ่ายธุรกิจกันเถอะ