คำสั่ง Uline
คำสั่ง Uline เป็นคำสั่งที่ใช้ในการตีเส้นแนวนอน เช่นWrite 'Hello ABAP'.
Uline.
Write: /5 'Hello World'.
Uline /5(11). " / คือขึ้นบรรทัดใหม่
เราจะได้หน้าจอดังนี้
Hello ABAP
--------------------------------------------------------------------
Hello World
---------------
นอกจากนี้เรายังสามารถที่จะใช้ตัวแปรระบบของ Structure ที่ชื่อ sy ในการทำเส้นก็ได้ โดยที่ตัวแปรระบบ sy-vline จะเป็นการตีเส้นแนวตั้ง (|) และ sy-uline จะเป็นำการตีเส้นแนวนอน (-) เช่น
รูปที่ 9 |
Write: /(10) sy-uline,
/ sy-vline, 'Hello', 10 sy-vline,
/(10) sy-uline.
เราจะได้หน้าจอดังรูปที่ 9
หรือถ้าเราต้องการสร้างรายงานแบบมีกรอบ เราสามารถเขียนได้ดังนี้
รูปที่ 10 |
Uline /(45).
Write: / sy-vline, 'Column #1',
15 sy-vline, 'Column #2',
30 sy-vline, 'Column #3',
45 sy-vline.
Uline /(45).
เราจะได้หน้าจอดังรูปที่ 10
โฟลว์คอนโทรลในภาษา ABAP
ภาษาโปรแกรม ABAP ก็มีคำสั่งในการทำ Branching อย่างเช่น คำสั่ง IF, คำสั่ง Case และคำสั่งประเภทลูป (Loop) เช่นคำสั่ง DO และ While เหมือนกับภาษาโปรแกรมทั่วไปคำสั่ง IF
คำสั่ง IF จะมีรูปแบบของคำสั่งดังนี้IF .
.
...
ELSEIF .
.
...
ELSE.
.
...
ENDIF.
ยกตัวอย่างเช่น
IF sy-mandt = '100'.
Write 'This is Development Client'.
ELSEIF sy-mandt = '999'.
Write 'This is Backup clinet'.
ELSE. "ถ้าไม่ตรงเงื่อนไขใดๆ
Write 'This is Test Client'.
ENDIF.
จากตัวอย่างโปรแกรมข้างต้น ตัวแปรระบบ sy-mandt จะให้ค่าไคลเอ็นต์ปัจจุบัน ที่ผู้ใช้ระบบล็อกออนเข้าไปใช้งานระบบ SAP R/3
คำสั่ง Case
คำสั่ง Case มีการทำงานคล้ายกับคำสั่ง IF โดยมีรูปแบบของคำสั่งดังนี้Case .
When .
.
...
When .
.
...
When Others.
.
...
Endcase.
ดังตัวอย่างเช่น
Case sy-mandt.
When '100'.
Write 'This is Development Client'.
When '999'.
Write 'This is Backup Client'.
When Others. "ถ้าไม่ตรงเงื่อนไขใดๆ
Write 'This is Test Client'.
Endcase.
คำสั่ง DO
คำสั่ง DO เป็นคำสั่งที่ใช้ในการวนลูป โดยที่ถ้าไม่มีการระบุรอบในการวนลูป ก็จะเป็นการวนลูปไม่มีที่สิ้นสุด ดังนั้นจะต้องมีคำสั่ง Exit อยู่ในลูปของคำสั่ง DO ด้วยเสมอ เช่นDO.
Write: / sy-index.
IF sy-index = 3.
Exit.
ENDIF.
ENDDO.
ตัวแปรระบบ sy-index จะให้ค่ารอบปัจจุบันที่มีการวนลูป โดยเริ่มจาก 1 เสมอ จากตัวอย่างโปรแกรมข้างต้น เราจะได้หน้าจอดังนี้
1
2
3
เมื่อระบบพบคำสั่ง Exit โปรแกรมก็จะข้ามไปทำงานที่ตำแหน่งถัดจากคำสั่ง ENDDO ทันที สำหรับการกำหนดรอบในการวนลูปของคำสั่ง DO จะเป็นดังนี้
DO 3 TIMES.
Write: / sy-index.
ENDDO.
จากโปรแกรมข้างต้น จะเป็นการวนลูปทั้งหมด 3 รอบ เพื่อทำคำสั่งในบล็อคของ DO ต่อไปนั่นเอง