SAP ABAP - ตารางภายใน

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

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

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

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

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

ตารางภายในใช้เพื่อวัตถุประสงค์หลายประการ -

  • สามารถใช้เพื่อเก็บผลลัพธ์ของการคำนวณที่สามารถใช้ในโปรแกรมได้ในภายหลัง

  • ตารางภายในยังสามารถเก็บบันทึกและข้อมูลเพื่อให้สามารถเข้าถึงได้อย่างรวดเร็วแทนที่จะต้องเข้าถึงข้อมูลนี้จากตารางฐานข้อมูล

  • มีความหลากหลายอย่างมาก สามารถกำหนดโดยใช้โครงสร้างที่กำหนดอื่น ๆ จำนวนเท่าใดก็ได้

ตัวอย่าง

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