我目前正在制作动态报告,我必须编写一些动态查询,而且我被困在一个地方。拜托,如果有人能建议我出路,那就太好了。贝娄我试图解释我在做什么以及我被困在哪里。谢谢。
定义2个字段符号
<o_fs> TYPE table,
<owa_fs> type any.
动态创建o_fs的内部表
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = it_cat
IMPORTING
ep_table = d_ref2.
ASSIGN d_ref2->* TO <o_fs>.
然后我填写o_fs中的数据 之后我想在o_fs的一个字段中添加一个值 循环播放
<O_FS> ASSIGNING <OWA_FS>.
*<owa_fs>-columnname = 'value to be added'.
IF SY-TABIX = INDEX.
MODIFY (p_vtab) From <OWA_FS>.
COMMIT WORK.
ENDIF.
标记为*的行给出了编译时错误&#34;数据对象&#34;&#34;没有结构,因此没有名为&#39; COLUMNNAME&#39;的组件。叫'COLUMNNAME&#39;&#34;
答案 0 :(得分:3)
当进行语法检查时,系统不知道字段符号是否是结构化的。您必须将结构组件分配给另一个字段符号。请参阅ASSIGN COMPONENT ...命令。
将命令放入您的示例中:
ASSIGN COMPONENT 'COLUMNMAME' OF STRUCTURE <owa_fs> TO <another_fs>.
IF sy-subrc = 0.
<another_fs> = 'value to be added'.
ENDIF.
<another_fs>
可以是ANY
类型。