ABAP动态内表
已知一方数据来源于外围系统,另一方数据来源于SAP。经过处理得到多个两两比较的内表。通过指针,存储不同结构的内表到
lt_tab
TYPES:BEGIN OF l_person,
pernr TYPE pernr_d,
END OF l_person .
TYPES: t_person TYPE TABLE OF l_person .
DATA: lt_person TYPE TABLE OF l_person .
lt_person = VALUE #(
( pernr = '1263' )
( pernr = '1264' )
( pernr = '1265' )
).
TYPES:BEGIN OF l_job,
objid TYPE objid,
END OF l_job .
TYPES: t_job TYPE TABLE OF l_job .
DATA: lt_job TYPE TABLE OF l_job .
lt_job = VALUE #(
( objid = '180001' )
( objid = '180002' )
).
TYPES: BEGIN OF l_type,
type_name TYPE char30,
table_name TYPE char30,
END OF l_type .
DATA: lt_type TYPE TABLE OF l_type,
ls_type TYPE l_type.
lt_type = VALUE #(
( type_name = 't_person' table_name = 'lt_person' )
( type_name = 't_job' table_name = 'lt_job' )
).
DATA: dy_tab TYPE REF TO data.
FIELD-SYMBOLS: <dyn_table> TYPE STANDARD TABLE,
<dyn_temp> TYPE STANDARD TABLE.
TYPES: BEGIN OF l_tab,
content TYPE REF TO data,
END OF l_tab .
DATA: lt_tab TYPE TABLE OF l_tab,
ls_tab TYPE l_tab.
LOOP AT lt_type INTO ls_type.
CREATE DATA ls_tab-content TYPE (ls_type-type_name).
ASSIGN (ls_type-table_name) TO <dyn_temp>.
ASSIGN ls_tab-content->* TO <dyn_table> .
MOVE-CORRESPONDING <dyn_temp> TO <dyn_table> .
APPEND ls_tab TO lt_tab .
ENDLOOP.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了