Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
alv中的ABAP显示字段符号动态_Abap - Fatal编程技术网

alv中的ABAP显示字段符号动态

alv中的ABAP显示字段符号动态,abap,Abap,例如,我正在粘贴这个程序,但我永远不知道表的类型(这里是vbap和vbak) 我的目标是在不知道类型的情况下显示字段符号 可能吗 这是我的密码: REPORT ZTEST_FME_FOL. type-pools slis . FIELD-SYMBOLS : <mytable> TYPE ANY TABLE. DATA : lv_alv_table TYPE REF TO cl_salv_table, lv_funct TYPE REF TO cl_salv_functio

例如,我正在粘贴这个程序,但我永远不知道表的类型(这里是vbap和vbak)

我的目标是在不知道类型的情况下显示字段符号

可能吗

这是我的密码:

REPORT  ZTEST_FME_FOL.
type-pools slis .
FIELD-SYMBOLS : <mytable> TYPE ANY TABLE.

DATA :  lv_alv_table  TYPE REF TO cl_salv_table,
  lv_funct TYPE REF TO cl_salv_functions,
  lv_columns TYPE REF TO cl_salv_columns_table,
  lv_column TYPE REF TO CL_SALV_COLUMN_table.

 SELECT * from vbap INNER JOIN VBAK ON vbap~vbeln = vbak~vbeln UP TO 10 ROWS INTO TABLE <mytable>.


TRY.
 cl_salv_table=>factory(
IMPORTING
  r_salv_table = lv_alv_table
CHANGING
  t_table      = <mytable> ).
CATCH cx_salv_msg .
 ENDTRY.
  lv_funct = lv_alv_table->get_functions( ).
 lv_funct->set_all( Abap_True ).
 lv_columns = lv_alv_table->get_columns( ).
 lv_alv_table->display( ).
报告ZTEST\u FME\u FOL。
键入池SLI。
字段符号:键入任何表格。
数据:lv_alv_表类型参考cl_salv_表,
lv_函数类型引用到cl_salv_函数,
低压列类型参考cl_salv_列表,
低压列类型参考CL_SALV_列表。
从vbap内部选择*将vbap~vbeln=VBAK~vbeln上的VBAK连接到表中,最多10行。
尝试
cl_salv_表=>工厂(
进口
r_salv_表=lv_alv_表
改变
t_表=)。
抓到你的萨尔夫味精。
结束。
lv_functt=lv_alv_table->get_函数()。
lv\U funct->set\U all(Abap\U True)。
lv\u columns=lv\u alv\u table->get\u columns()。
lv\U alv\U表格->显示()。

提前谢谢

取决于你想做什么,需要的验证比我做的要多,但本质上这就是你需要的。 使用(动态)联接可能特别棘手

report zevw_test_dynamic_alv.

parameters: p_table type string obligatory.

field-symbols: <gt_table> type standard table.

data: gt_data type ref to data.


start-of-selection.

  create data gt_data type table of (p_table).

  assign gt_data->* to <gt_table>.

  select * from (p_table) up to 10 rows
    into table <gt_table>.

  perform display_results using <gt_table>.  "Your ALV stuff will be in here 

要获取数据引用

您的观点是什么-重新创建SE16/SE16N?某种:)。我希望有一个输入文本,并随时运行任何查询。当我想尝试一个查询时,我必须创建一个报告,将我的查询和测试放在一起。但是这个问题在我看来非常复杂,我希望找到一种比手工解析查询更好的方法。放弃notif@vwegertI我认为这是不可能的(按照我的想法),就像你在帖子中说的那样。谢谢
call method cl_alv_table_create=>create_dynamic_table
  exporting
    it_fieldcatalog = gt_fieldcat[]
  importing
    ep_table        = gt_data.