使用 SAP ABAP API 读取内表变量占用的 ABAP 内存空间大小

源代码:

*&---------------------------------------------------------------------*
*& Report ZAPPOINTMENT_CHECK_APPT_TYPE
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zappointment_check_appt_type.

DATA: lv TYPE c LENGTH 10 VALUE '1234567890'.

TYPES: BEGIN OF ty_data,
         name  TYPE c,
         age   TYPE c LENGTH 2,
         score TYPE c LENGTH 11,
         content type string,
       END OF ty_data.

DATA: ls_data TYPE ty_data,
      lt_data TYPE TABLE OF ty_data.

ls_data-name = 'c'.
ls_data-age = 'ab'.
APPEND ls_data TO lt_data.

DATA: lt_tadir  TYPE TABLE OF tadir,
      lt_result LIKE lt_tadir,
      lv_alloc  TYPE abap_msize,
      lv_used   LIKE lv_alloc.

"SELECT * INTO TABLE lt_tadir FROM tadir.

CALL METHOD cl_abap_memory_utilities=>get_memory_size_of_object
  EXPORTING
    object       = lt_data
  IMPORTING
    sizeof_alloc = lv_alloc
    sizeof_used  = lv_used.

WRITE:/ 'allocated: ', lv_alloc.
WRITE:/ 'used: ', lv_used.

BREAK-POINT.

CALL METHOD cl_abap_memory_utilities=>get_memory_size_of_object
  EXPORTING
    object           = lt_data
  IMPORTING
    bound_size_alloc = lv_alloc
    bound_size_used  = lv_used.

BREAK-POINT.

CALL METHOD cl_abap_memory_utilities=>get_memory_size_of_object
  EXPORTING
    object                = lt_data
  IMPORTING
    referenced_size_alloc = lv_alloc
    referenced_size_used  = lv_used.

BREAK-POINT.

猜你喜欢

转载自blog.csdn.net/i042416/article/details/129982894