Structure 从另一个表ABAP动态获取值字段
帮我做Abap报告。 我有两张桌子Structure 从另一个表ABAP动态获取值字段,structure,abap,internal-tables,Structure,Abap,Internal Tables,帮我做Abap报告。 我有两张桌子 Itab头 Z1 Z2 Z3 A. B C 这使您了解如何使用ASSIGN进行动态字段选择 LOOP AT itab_a INTO DATA(wa_itab_a). " your data tab LOOP AT itab_b INTO DATA(wa_itab_b). " your obligatory field list TRANSLATE wa_itab_b-fieldname TO UPPER
这使您了解如何使用
ASSIGN
进行动态字段选择
LOOP AT itab_a INTO DATA(wa_itab_a). " your data tab
LOOP AT itab_b INTO DATA(wa_itab_b). " your obligatory field list
TRANSLATE wa_itab_b-fieldname TO UPPER CASE. " important if they are not already in uppercase
ASSIGN COMPONENT wa_itab_b-fieldname OF STRUCTURE wa_itab_a TO FIELD-SYMBOL(<fs_field>).
" ... in <FS_FIELD> you will have the values of the obligatory fields
" so you can concatenate, par example, to file line
CONCATENATE wa_file-line <fs_field> INTO wa_file-line SEPARATED BY c_separator.
ENDLOOP.
" append file line here, something like this:
APPEND wa_file TO itab_file.
CLEAR wa_file.
ENDLOOP.
在itab_a处循环到数据(wa_itab_a)。“您的数据选项卡
在itab_b循环到数据(wa_itab_b)。“您的必填字段列表
将wa_itab_b-fieldname翻译为大写。“如果它们不是大写的,则很重要
将结构wa_itab_a的组件wa_itab_b-fieldname分配给FIELD-SYMBOL()。
" ... 在中,您将拥有必填字段的值
“因此,您可以连接,例如,到文件行。
将wa_文件行连接到由c_分隔符分隔的wa_文件行。
结束循环。
“在此处附加文件行,类似以下内容:
将wa_文件附加到itab_文件。
清除wa_文件。
结束循环。
我认为您需要对它做些什么,也可以用FIELD-SYMBOL来完成,我现在还不清楚“2.Itab必选字段”是单个字段,还是结构或表格?你写它是一个表,但它可以有几行,整个事情没有任何意义(至少对我来说…)Itab2是一个表,它的字段名为itab1 obbligatory,用于创建文件。在示例中,字段是1,但可以有一些itab1的字段名。因此,我为创建文件匹配了2个表,但我没有想法。因此,itab2可以有多行,即多个字段名?你想把所有这些字段都放到文件中吗?是的,itab2可以有itab1的所有字段名或一些文件名..所以我的问题是如何从字段名itab2开始获取itab1的值。非常感谢,它工作正常。