SAP ABAP - ไวยากรณ์พื้นฐาน

งบ

โปรแกรมแหล่งที่มา ABAP ประกอบด้วยข้อคิดเห็นและคำสั่ง ABAP ทุกคำสั่งใน ABAP เริ่มต้นด้วยคีย์เวิร์ดและลงท้ายด้วยจุดและ ABAP ไม่คำนึงถึงขนาดตัวพิมพ์

บรรทัดแรกที่ไม่แสดงความคิดเห็นในโปรแกรมเริ่มต้นด้วยคำว่า REPORT รายงานจะเป็นบรรทัดแรกของโปรแกรมปฏิบัติการที่สร้างขึ้นเสมอ คำสั่งตามด้วยชื่อโปรแกรมที่สร้างขึ้นก่อนหน้านี้ จากนั้นสายจะสิ้นสุดลงด้วยการหยุดเต็มรูปแบบ

ไวยากรณ์คือ -

REPORT [Program_Name]. 
 
[Statements…].

สิ่งนี้ช่วยให้คำสั่งใช้เวลาหลายบรรทัดในตัวแก้ไขตามที่ต้องการ ตัวอย่างเช่น REPORT อาจมีลักษณะดังนี้ -

REPORT Z_Test123_01.

คำสั่งประกอบด้วยคำสั่งและตัวแปรและตัวเลือกใด ๆ ที่ลงท้ายด้วยจุด ตราบเท่าที่ระยะเวลาปรากฏในตอนท้ายของคำสั่งจะไม่มีปัญหาเกิดขึ้น เป็นช่วงเวลาที่ทำเครื่องหมายว่าคำสั่งสิ้นสุดลง

มาเขียนโค้ดกัน

ในบรรทัดด้านล่างคำสั่ง REPORT ให้พิมพ์คำสั่งนี้: เขียน 'ABAP Tutorial'

REPORT Z_Test123_01.

Write 'This is ABAP Tutorial'.

Four things to consider while writing statements -

  • คำสั่ง write เขียนสิ่งที่อยู่ในเครื่องหมายคำพูดลงในหน้าต่างผลลัพธ์

  • โปรแกรมแก้ไข ABAP จะแปลงข้อความทั้งหมดเป็นตัวพิมพ์ใหญ่ยกเว้นสตริงข้อความซึ่งล้อมรอบด้วยเครื่องหมายคำพูดเดี่ยว

  • ซึ่งแตกต่างจากภาษาโปรแกรมรุ่นเก่าบางภาษา ABAP ไม่สนใจว่าคำสั่งจะขึ้นต้นที่ใด คุณสามารถใช้ประโยชน์จากสิ่งนี้และปรับปรุงความสามารถในการอ่านโปรแกรมของคุณโดยใช้การเยื้องเพื่อระบุบล็อกของโค้ด

  • ABAP ไม่มีข้อ จำกัด ในรูปแบบของงบ กล่าวคือสามารถวางหลายคำสั่งในบรรทัดเดียวหรือคำสั่งเดียวอาจขยายไปหลายบรรทัด

สัญกรณ์ลำไส้ใหญ่

ข้อความต่อเนื่องสามารถผูกมัดกันได้หากจุดเริ่มต้นของแต่ละคำสั่งเหมือนกัน สิ่งนี้ทำได้ด้วยตัวดำเนินการโคลอน (:) และเครื่องหมายจุลภาคซึ่งใช้ในการยุติคำสั่งแต่ละข้อความ

ต่อไปนี้เป็นตัวอย่างของโปรแกรมที่สามารถบันทึกการกดปุ่ม -

WRITE 'Hello'. 
WRITE 'ABAP'. 
WRITE 'World'.

ด้วยการใช้สัญกรณ์โคลอนสามารถเขียนใหม่ได้ด้วยวิธีนี้ -

WRITE: 'Hello', 
       'ABAP', 
       'World'.

เช่นเดียวกับคำสั่ง ABAP อื่น ๆ เค้าโครงไม่สำคัญ นี่เป็นคำสั่งที่ถูกต้องเท่าเทียมกัน -

WRITE: 'Hello', 'ABAP', 'World'.

ความคิดเห็น

ความคิดเห็นแบบอินไลน์สามารถประกาศได้ทุกที่ในโปรแกรมโดยใช้วิธีใดวิธีหนึ่งในสองวิธี -

  • ความคิดเห็นแบบเต็มบรรทัดจะระบุโดยการใส่เครื่องหมายดอกจัน (*) ในตำแหน่งแรกของบรรทัดซึ่งในกรณีนี้ระบบจะถือว่าทั้งบรรทัดเป็นข้อคิดเห็น ความคิดเห็นไม่จำเป็นต้องถูกยุติลงตามช่วงเวลาเนื่องจากอาจไม่ขยายเกินหนึ่งบรรทัด -

* This is the comment line
  • ความคิดเห็นของบรรทัดบางส่วนจะระบุโดยการใส่เครื่องหมายอัญประกาศคู่ (") หลังคำสั่งระบบจะพิจารณาข้อความทั้งหมดตามเครื่องหมายอัญประกาศคู่ว่าเป็นความคิดเห็นคุณไม่จำเป็นต้องยุติความคิดเห็นในบรรทัดบางส่วนตามช่วงเวลาเนื่องจากอาจไม่ขยายไปมากกว่านี้ มากกว่าหนึ่งบรรทัด -

WRITE 'Hello'. "Here is the partial comment

Note - โค้ดแสดงความคิดเห็นไม่ได้เป็นตัวพิมพ์ใหญ่โดยโปรแกรมแก้ไข ABAP

การระงับช่องว่าง

คำสั่ง NO-ZERO เป็นไปตามคำสั่ง DATA มันระงับศูนย์นำหน้าทั้งหมดของฟิลด์ตัวเลขที่มีช่องว่าง ผลลัพธ์มักจะง่ายกว่าสำหรับผู้ใช้ในการอ่าน

ตัวอย่าง

REPORT Z_Test123_01. 

DATA: W_NUR(10) TYPE N.
      MOVE 50 TO W_NUR.
      WRITE W_NUR NO-ZERO.

รหัสด้านบนสร้างผลลัพธ์ต่อไปนี้ -

50

Note - หากไม่มีคำสั่ง NO-ZERO เอาต์พุตคือ 0000000050

เส้นว่าง

คำสั่ง SKIP ช่วยในการแทรกบรรทัดว่างบนเพจ

ตัวอย่าง

คำสั่งข้อความมีดังนี้ -

WRITE 'This is the 1st line'. 
SKIP. 
WRITE 'This is the 2nd line'.

คำสั่งข้อความด้านบนสร้างผลลัพธ์ต่อไปนี้ -

This is the 1st line 
This is the 2nd line

เราอาจใช้คำสั่ง SKIP เพื่อแทรกบรรทัดว่างหลาย ๆ บรรทัด

SKIP number_of_lines.

ผลลัพธ์จะเป็นบรรทัดว่างหลายบรรทัดที่กำหนดโดยจำนวนบรรทัด คำสั่ง SKIP ยังสามารถวางตำแหน่งเคอร์เซอร์บนบรรทัดที่ต้องการบนเพจ

SKIP TO LINE line_number.

คำสั่งนี้ใช้เพื่อเลื่อนเคอร์เซอร์ขึ้นและลงในหน้าแบบไดนามิก โดยปกติคำสั่ง WRITE จะเกิดขึ้นหลังจากคำสั่งนี้เพื่อใส่เอาต์พุตในบรรทัดที่ต้องการ

การแทรกเส้น

คำสั่ง ULINE จะแทรกเส้นแนวนอนข้ามเอาต์พุตโดยอัตโนมัติ นอกจากนี้ยังสามารถควบคุมตำแหน่งและความยาวของเส้นได้ ไวยากรณ์ค่อนข้างง่าย -

ULINE.

ตัวอย่าง

คำสั่งข้อความมีดังนี้ -

WRITE 'This is Underlined'.
ULINE.

รหัสด้านบนสร้างผลลัพธ์ต่อไปนี้ -

This is Underlined (and a horizontal line below this).

ข้อความ

คำสั่ง MESSAGE แสดงข้อความที่กำหนดโดย ID ข้อความที่ระบุในคำสั่ง REPORT ที่จุดเริ่มต้นของโปรแกรม รหัสข้อความเป็นรหัสอักขระ 2 ตัวที่กำหนดชุดข้อความ 1,000 ข้อความที่โปรแกรมจะเข้าถึงเมื่อใช้คำสั่ง MESSAGE

ข้อความจะมีหมายเลขตั้งแต่ 000 ถึง 999 การเชื่อมโยงกับแต่ละหมายเลขคือข้อความที่มีความยาวไม่เกิน 80 อักขระ เมื่อมีการเรียกหมายเลขข้อความข้อความที่เกี่ยวข้องจะปรากฏขึ้น

ต่อไปนี้เป็นอักขระสำหรับใช้กับคำสั่ง Message -

ข้อความ ประเภท ผลที่ตามมา
ข้อผิดพลาด ข้อความจะปรากฏขึ้นและแอปพลิเคชันจะหยุดที่จุดปัจจุบัน หากโปรแกรมทำงานในโหมดเบื้องหลังงานจะถูกยกเลิกและข้อความจะถูกบันทึกไว้ในบันทึกการใช้งาน
คำเตือน ข้อความจะปรากฏขึ้นและผู้ใช้ต้องกด Enter เพื่อให้แอปพลิเคชันดำเนินการต่อ ในโหมดพื้นหลังข้อความจะถูกบันทึกไว้ในบันทึกงาน
ผม ข้อมูล หน้าต่างป๊อปอัปจะเปิดขึ้นพร้อมข้อความและผู้ใช้ต้องกด Enter เพื่อดำเนินการต่อ ในโหมดพื้นหลังข้อความจะถูกบันทึกไว้ในบันทึกงาน
ยกเลิก คลาสข้อความนี้ยกเลิกธุรกรรมที่ผู้ใช้กำลังใช้อยู่
ประสบความสำเร็จ จะมีข้อความแสดงข้อมูลที่ด้านล่างของหน้าจอ ข้อมูลที่แสดงเป็นข้อมูลเชิงบวกและมีไว้สำหรับความคิดเห็นของผู้ใช้เท่านั้น ข้อความไม่ได้เป็นอุปสรรคต่อโปรแกรม แต่อย่างใด
X ยกเลิก ข้อความนี้ยกเลิกโปรแกรมและสร้างการถ่ายโอนข้อมูลแบบสั้น ABAP

โดยปกติแล้วข้อความแสดงข้อผิดพลาดจะใช้เพื่อหยุดไม่ให้ผู้ใช้ทำสิ่งที่ไม่ควรทำ โดยทั่วไปข้อความเตือนจะใช้เพื่อเตือนให้ผู้ใช้ทราบถึงผลของการกระทำของตน ข้อความข้อมูลให้ข้อมูลที่เป็นประโยชน์แก่ผู้ใช้

ตัวอย่าง

เมื่อเราสร้างข้อความสำหรับข้อความ ID AB คำสั่ง MESSAGE - MESSAGE E011 จะให้ผลลัพธ์ต่อไปนี้ -

EAB011 This report does not support sub-number summarization.