计算itab结构的长度(以字节为单位)



内部表大小(例如DSO(限制为4030字节。我有一个信息对象列表,想计算一下它们的数量是否会超过这个限制。如何转换它们的数据类型(以字节为单位(?

示例:

CHAR 4 -> xxx bytes
DATS   -> xxx bytes
FLTP   -> xxx bytes
...

非常感谢!

您必须用程序中使用的实际结构(内部表的行(替换ls_bkpf,尽管我希望它能有所帮助。lv_length将包含以字节为单位的字段的总大小。

DATA: ls_bkpf TYPE bkpf.
FIELD-SYMBOLS: <lv_field> TYPE any.
DATA: lo_typedesc TYPE REF TO cl_abap_typedescr.
DATA: lv_length TYPE i.
DO.
ASSIGN COMPONENT sy-index
OF STRUCTURE ls_bkpf
TO <lv_field>.
IF sy-subrc EQ 0.
lo_typedesc = cl_abap_elemdescr=>describe_by_data( <lv_field> ).
ADD lo_typedesc->length TO lv_length.
ELSE.
EXIT.
ENDIF.
ENDDO.

相关内容

  • 没有找到相关文章

最新更新