รู้จักภาษา ABAP เปิดเบื้องหลังของ SAP R/3 ตอน 3 คำสั่ง Uline MUSLIMTHAIPOST

 

รู้จักภาษา ABAP เปิดเบื้องหลังของ SAP R/3 ตอน 3 คำสั่ง Uline


640 ผู้ชม


คำสั่ง Uline

คำสั่ง Uline เป็นคำสั่งที่ใช้ในการตีเส้นแนวนอน เช่น
Write 'Hello ABAP'.
Uline.
Write: /5 'Hello World'.
Uline /5(11). " / คือขึ้นบรรทัดใหม่
เราจะได้หน้าจอดังนี้
Hello ABAP
--------------------------------------------------------------------
Hello World
---------------
นอกจากนี้เรายังสามารถที่จะใช้ตัวแปรระบบของ Structure ที่ชื่อ sy ในการทำเส้นก็ได้ โดยที่ตัวแปรระบบ sy-vline จะเป็นการตีเส้นแนวตั้ง (|) และ sy-uline จะเป็นำการตีเส้นแนวนอน (-) เช่น
รู้จักภาษา ABAP เปิดเบื้องหลังของ SAP R/3 ตอน 3  คำสั่ง Uline
รูปที่ 9

Write: /(10) sy-uline,
/ sy-vline, 'Hello', 10 sy-vline,
/(10) sy-uline.
เราจะได้หน้าจอดังรูปที่ 9
หรือถ้าเราต้องการสร้างรายงานแบบมีกรอบ เราสามารถเขียนได้ดังนี้
รู้จักภาษา ABAP เปิดเบื้องหลังของ SAP R/3 ตอน 3  คำสั่ง Uline
รูปที่ 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 ต่อไปนั่นเอง

PC Magazine

ฉบับที่ 45 ตุลาคม 2545
อ่านบทความอื่นๆ >>

อัพเดทล่าสุด