如何用代码动态生成ABAP类型

简介: 如何用代码动态生成ABAP类型

In one of my project the data type of the variable to hold service consumption result is not known in design time so I have to generate the data type dynamically via code, using ABAP RTTC( runtime type creation ). For detail of RTTC and dynamic programming, please refer to sap help.


This blog will introduce a handy RTTC tool to generate any kind of complex data type in the runtime and demonstrate how to access the variable with that data type dynamically using field symbol.

one example: I need to define a variable with the following data type. The structure of the data type is only known in the runtime:

image.pngimage.pngimage.pngimage.pngimage.pngimage.pngFIELD-SYMBOLS:      TYPE any,

              TYPE STANDARD TABLE,

              TYPE STANDARD TABLE,

              TYPE STANDARD TABLE.

ASSIGN lr_data->* TO .

CHECK sy-subrc = 0.

ASSIGN COMPONENT 'PRODUCTS' OF STRUCTURE  TO .

CHECK sy-subrc = 0.

" create a new empty line to component PRODUCTS

APPEND INITIAL LINE TO  ASSIGNING FIELD-SYMBOL().

CHECK sy-subrc = 0.

"fill the field PROD_ID for the first table line

ASSIGN COMPONENT 'PROD_ID' OF STRUCTURE  TO FIELD-SYMBOL().

CHECK sy-subrc = 0.

= 'MCF-0001'.

ASSIGN COMPONENT 'COMPONENTS' OF STRUCTURE  TO .

CHECK sy-subrc = 0.

" create a new empty line to component COMPONENTS

APPEND INITIAL LINE TO  ASSIGNING FIELD-SYMBOL().

CHECK sy-subrc = 0.

" fill COMP_ID for the first table line

ASSIGN COMPONENT 'COMP_ID' OF STRUCTURE  TO FIELD-SYMBOL().

CHECK sy-subrc = 0.

= 'COMP_0001'.

ASSIGN COMPONENT 'NOTES' OF STRUCTURE  TO .

CHECK sy-subrc = 0.

" create a new empty line to component NOTES

APPEND INITIAL LINE TO  ASSIGNING FIELD-SYMBOL().

CHECK sy-subrc = 0.

" fill NOTE_ID for the first table line

ASSIGN COMPONENT 'NOTE_ID' OF STRUCTURE  TO FIELD-SYMBOL().

CHECK sy-subrc = 0.

= 'NOTE_0001'.image.pngimage.png

目录
相关文章
|
1月前
|
存储 数据处理 开发者
ABAP 如何把 unicode 代码点转换成字符
ABAP 如何把 unicode 代码点转换成字符
19 0
|
3月前
|
存储 SQL 数据库
工作实战:SAP ABAP 动态创建类型在实际工作中的一个应用场合分享试读版
工作实战:SAP ABAP 动态创建类型在实际工作中的一个应用场合分享试读版
26 0
工作实战:SAP ABAP 动态创建类型在实际工作中的一个应用场合分享试读版
|
19天前
|
存储
使用 ABAP 代码打印出 SAP CRM 系统里所有维护了 Sales Area 的 business partner id
使用 ABAP 代码打印出 SAP CRM 系统里所有维护了 Sales Area 的 business partner id
19 0
|
2月前
|
SQL 数据库
小技巧:如何让 ABAP OPEN SQL 代码具有自解释性(Self-Explained)
小技巧:如何让 ABAP OPEN SQL 代码具有自解释性(Self-Explained)
25 0
|
1月前
|
BI
工具分享 - 将一个 ABAP Function Group 内所有 Function Module 按照代码行数从高到低排序并显示试读版
工具分享 - 将一个 ABAP Function Group 内所有 Function Module 按照代码行数从高到低排序并显示试读版
15 0
|
1月前
|
存储
ABAP 代码从十进制转二进制的方法
ABAP 代码从十进制转二进制的方法
21 0
|
2月前
|
XML 持续交付 开发工具
SAPGUI 里 ABAP 代码导出成 PDF 格式的隐藏小技巧
SAPGUI 里 ABAP 代码导出成 PDF 格式的隐藏小技巧
27 0
|
2月前
|
XML 数据格式
使用 ABAP 代码将 Word 文档设置成只读
使用 ABAP 代码将 Word 文档设置成只读
22 0
|
3月前
小技巧分享:如何使用动态断点快速找到成对的 ABAP 内存 IMPORT 和 EXPORT 的代码位置
小技巧分享:如何使用动态断点快速找到成对的 ABAP 内存 IMPORT 和 EXPORT 的代码位置
24 0
|
3月前
|
存储 SQL 数据库
128. 工作实战:SAP ABAP 动态创建类型在实际工作中的一个应用场合分享
128. 工作实战:SAP ABAP 动态创建类型在实际工作中的一个应用场合分享
22 0

热门文章

最新文章