问题!!!! 同时多个OOP ALV

2020-09-26 06:15发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我需要显示多个ALV...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我需要显示多个ALV。 我必须使用OOPS方法,因为我必须在不同的TABS中显示ALV。 如下所示

选项卡数是动态的,最多可以显示20个。

为了达到要求,我在循环中调用了方法SET_TABLE_FOR_FIRST_DISPLAY。 下面是代码段。
在gt_zco_csprot00处将LOOP放入ls_zco_csprot00。


  lv_name = sy-tabix。
  清除cont_name。
  CONCATENATE'CONT'lv_name INTO cont_name。


 创建对象gref_con
  出口
  container_name =连续名称
  例外情况
  cntl_error = 1
  cntl_system_error = 2
  create_error = 3
  lifetime_error = 4
  lifetime_dynpro_dynpro_link = 5
  其他= 6。
  创建对象gref_alv_grid
  出口
  i_parent = gref_con
  例外情况
  error_cntl_create = 1
  error_cntl_init = 2
  error_cntl_link = 3
  error_dp_create = 4
  其他= 5。

  呼叫方法gref_alv_grid-> set_table_for_first_display
  出口
  is_layout = ls_layout
  i_save ='A'
  改变
  it_outtab = gt_final1
  it_fieldcatalog = gt_fcat
  例外情况
  invalid_parameter_combination = 1
  程序错误= 2
  too_many_lines = 3
  其他= 4。
  ENDLOOP。

每次迭代都为我提供了新的参考,但我的ALV并未显示正确的数据,并且所有先前ALV中的最后一个ALV的数据均被覆盖。

我知道我可以创建不同的对象来解决该问题,但是由于它本质上是动态的,因此我需要一个动态的解决方案。

我们将不胜感激!!!!!

报告ztest_dna。
 初始化。
 CLASS lcl_class定义。
  公共部分。
  方法显示。
  方法输入IMPORTING VAL TYPE i。
  数据:值类型i。
 ENDCLASS。
 CLASS lcl_class实施。
  方法显示。
  写:/我->值。
  终结法。
  方法进入。
  me-> value = val。
  终结法。
 ENDCLASS。
 选择开始。
  数据:lo_class类型参考lcl_class。
  做20次。
  创建对象lo_class。
  呼叫方法lo_class-> enter
  出口
  val = sy-index。
  lo_class-> display()。
  ENDDO。

以上程序用于测试,但此程序可以正常工作。 但是使用ALV不能正常工作。

P.S。 :方法set_table_for_first_display中的数据正确无误。

此致

Nooruddin Bohra

(14.5 kB)
6条回答
CPLASF-自律
2020-09-26 06:56

我无法为您提供整个需求的解决方案,但是很明显,您的代码可以一次创建所有ALV,并将它们全部显示在同一自定义控件(CONT_NAME)中 ,因此只显示一个。 相反,如果您正在使用带有服务器分页的标签页(每次选择一个标签页,都会触发PAI),那么您一次只能加载一个ALV,一个对应于当前标签页。

一周热门 更多>