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.