การจัดการความซับซ้อนของเงื่อนไขตัดสินใจเป็นหัวใจหลักของการเขียนโค้ดที่มีประสิทธิภาพ ในภาษา ABAP (Advanced Business Application Programming) ซึ่งเป็นภาษาที่ใช้สำหรับการพัฒนาโปรแกรมบนระบบ SAP, การใช้ๆ nested if-else เป็นเทคนิคที่ชัดเจนในการควบคุม flow ของโปรแกรมของเราให้สอดคล้องกับเงื่อนไขธุรกิจที่มีรายละเอียดมากมาย
ข้อสำคัญของการเขียน nested if-else คือความชัดเจนและการกำหนดลำดับความสำคัญของเงื่อนไขได้อย่างเหมาะสม เพื่อไม่ให้โปรแกรมของเราทำงานผิดพลาดหรือสร้างความสับสนในภายหลัง
สมมติว่าเรามีเงื่อนไขการจำหน่ายสินค้าในสต็อก ถ้าสินค้ามีมากกว่า 10 ชิ้น เราจะเรียกว่า 'In stock', ถ้ามี 5-10 ชิ้น เรียกว่า 'Limited stock', และถ้าน้อยกว่านั้นจะเรียกว่า 'Out of stock'.
DATA: lv_stock TYPE i VALUE 7.
IF lv_stock > 10.
WRITE: / 'Status: In stock'.
ELSEIF lv_stock >= 5 AND lv_stock <= 10.
WRITE: / 'Status: Limited stock'.
ELSE.
WRITE: / 'Status: Out of stock'.
ENDIF.
โปรแกรมนี้ตรวจสอบว่ามีสินค้าในสต็อกกี่ชิ้น จากนั้นมันจะตรวจสอบเงื่อนไขต่างๆ ตามลำดับ ซึ่งเงื่อนไขที่ตั้งไว้จะตรวจสอบจากสถานะที่มีสต็อกสูงไปต่ำ แล้วแสดงผลแบบต่างๆ ตามจำนวนสินค้าที่ตรวจสอบได้
เงื่อนไขการอนุมัติการซื้อผ่านระบบ, ซึ่งอาจเกี่ยวข้องกับจำนวนเงินและ level ของผู้ใช้.
DATA: lv_amount TYPE i VALUE 8000,
lv_user_level TYPE i VALUE 3.
IF lv_user_level = 5.
IF lv_amount > 10000.
WRITE: / 'Approval Level: High authority required.'.
ELSE.
WRITE: / 'Approval Level: Automatic approval, high level user.'.
ENDIF.
ELSEIF lv_user_level >= 3.
IF lv_amount > 5000.
WRITE: / 'Approval Level: Manager approval required.'.
ELSE.
WRITE: / 'Approval Level: Automatic approval.'.
ENDIF.
ELSE.
WRITE: / 'Approval Level: No approval rights.'.
ENDIF.
ภายในๆ nested if-else นี้ มีการตรวจสอบทั้ง level ของผู้ใช้และจำนวนเงินที่ต้องการอนุมัติ โดยผู้ใช้ที่มี level 5 จะมีการตรวจสอบจำนวนเงินเพิ่มเติม ในขณะที่ผู้ใช้ที่มี level ต่ำกว่าจะมีเงื่อนไขที่คลายกว่าในการอนุมัติอัตโนมัติหรือจำเป็นต้องมีผู้จัดการอนุมัติ
การตัดสินใจด้านการจัดส่งสินค้าตามประเภทลูกค้าและปริมาณการสั่งซื้อ
DATA: lv_customer_type TYPE c VALUE 'B',
lv_order_quantity TYPE i VALUE 25.
IF lv_customer_type = 'A'.
IF lv_order_quantity > 50.
WRITE: / 'Shipping: Free for bulk orders.'.
ELSE.
WRITE: / 'Shipping: Standard rates apply.'.
ENDIF.
ELSEIF lv_customer_type = 'B'.
IF lv_order_quantity > 20.
WRITE: / 'Shipping: Discounted rates for loyal customers.'.
ELSE.
WRITE: / 'Shipping: Standard rates apply.'.
ENDIF.
ELSE.
WRITE: / 'Shipping: No discounts available.'.
ENDIF.
ในตัวอย่างนี้ โปรแกรมจะตรวจสอบประเภทของลูกค้าและปริมาณการสั่งซื้อ เพื่อตัดสินใจเกี่ยวกับการให้ส่วนลดการจัดส่ง โดยลูกค้าประเภท A ที่สั่งซื้อจำนวนมากจะได้รับการจัดส่งฟรี ในขณะที่ลูกค้าประเภท B ที่เป็นลูกค้าประจำอาจจะได้รับอัตราค่าจัดส่งที่ลดลง
การใช้ nested if-else อย่างชาญฉลาดสามารถช่วยให้โปรแกรมของเราทำงานได้อย่างมีประสิทธิภาพและตอบสนองต่อเงื่อนไขที่ซับซ้อนขึ้นในภาคธุรกิจปัจจุบัน ที่ Expert-Programming-Tutor (EPT) เรามุ่งเน้นการสอนการใช้เทคนิคการเขียนโค้ดอย่างมีกลยุทธ์เหล่านี้ อีกทั้งยังให้การฝึกปฏิบัติจริงสอดคล้องกับ use cases ในโลกธุรกิจ เพื่อให้นักเรียนของเราพร้อมที่จะเผชิญกับปัญหาและโอกาสที่แท้จริง เมื่อเข้าสู่ตลาดการทำงานในภาค IT และการพัฒนาระบบบนแพลตฟอร์มอย่าง SAP.
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
Tag ที่น่าสนใจ: abap nested_if-else programming sap decision_making coding_technique business_logic use_case real-world_example programming_efficiency
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM