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

简介: 使用 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.

相关文章
|
15天前
|
存储 开发框架 .NET
"揭秘.NET内存奥秘:从CIL深处窥探值类型与引用类型的生死较量,一场关于速度与空间的激情大戏!"
【8月更文挑战第16天】在.NET框架中,通过CIL(公共中间语言)可以深入了解值类型与引用类型的内存分配机制。值类型如`int`和`double`直接在方法调用堆栈上分配,访问迅速,生命周期随栈帧销毁而结束。引用类型如`string`在托管堆上分配,堆栈上仅存储引用,CLR负责垃圾回收,确保高效且自动化的内存管理。
34 6
|
3天前
|
Python
Python变量的作用域_参数类型_传递过程内存分析
理解Python中的变量作用域、参数类型和参数传递过程,对于编写高效和健壮的代码至关重要。正确的应用这些概念,有助于避免程序中的错误和内存泄漏。通过实践和经验积累,可以更好地理解Python的内存模型,并编写出更优质的代码。
8 2
|
12天前
|
算法 安全 UED
探索操作系统的内核空间:虚拟内存管理
【7月更文挑战第50天】 在现代操作系统中,虚拟内存管理是核心功能之一,它允许操作系统高效地使用物理内存,并为应用程序提供独立的地址空间。本文将深入探讨操作系统虚拟内存管理的机制,包括分页、分段以及内存交换等关键技术,并分析它们如何共同作用以实现内存的有效管理和保护。通过理解这些原理,读者可以更好地把握操作系统的内部工作原理及其对应用程序性能的影响。
|
2月前
|
存储 C++ 运维
开发与运维数组问题之指针的定义语法如何解决
开发与运维数组问题之指针的定义语法如何解决
23 6
|
2月前
|
Java fastjson C++
JVM内存问题之JVM中元空间持续增长并且GC无法释放的原因可能是什么
JVM内存问题之JVM中元空间持续增长并且GC无法释放的原因可能是什么
|
2月前
|
运维 DataWorks 安全
DataWorks产品使用合集之如何查看空间资源、CPU、内存和存储空间容量
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
3月前
|
存储 设计模式 Java
JavaSE 面向对象程序设计初级 2024方法变量封装javabean结合内存图详解
JavaSE 面向对象程序设计初级 2024方法变量封装javabean结合内存图详解
30 7
|
2月前
|
存储 Rust JavaScript
Rust 问题之TypeScript 代码,变量 s 存储在栈内存中还是堆内存中如何解决
Rust 问题之TypeScript 代码,变量 s 存储在栈内存中还是堆内存中如何解决
|
3月前
|
算法 Java
垃圾回收机制(Garbage Collection,GC)是Java语言的一个重要特性,它自动管理程序运行过程中不再使用的内存空间。
【6月更文挑战第24天】Java的GC自动回收不再使用的内存,关注堆中的对象。通过标记-清除、复制、压缩和分代等算法识别无用对象。GC分为Minor、Major和Full类型,针对年轻代、老年代或整个堆进行回收。性能优化涉及算法选择和参数调整。
44 3
|
2月前
|
机器学习/深度学习 分布式计算 大数据
MaxCompute产品使用合集之如何查看空间资源、CPU和内存以及存储空间容量
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
下一篇
云函数