为什么只打印最后一个值?

2020-09-05 08:37发布

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

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


大家好

我正在abap程序中遍历一个内部表,并将该表中的值打印到sap脚本窗体上。

数据:gt_addr的开头出现0,
 文字TYPE文字50。
 数据:gt_addr的结尾。

 格式print_addr使用pf_ADRNR类型AD_ADDRNUM。
  数据ls_addr_s与gt_addr类似。
  data(lo_addr)=新的ZCL_ADDR_CREATOR(iv_addr = pf_adrnr)。
  data(lt_addr)= lo_addr-> format()。
  刷新gt_addr。
  将lt_addr引用到数据(ls_addr)中。
  ls_addr_s-text =转换text50(ls_addr-> text)。
  将ls_addr_s附加到gt_addr。
  结局。
  循环到gt_addr。
  调用函数" WRITE_FORM"
  出口
  元素='CUSTOMER_ADDR'
  窗口='KADR_B'
  函数='APPEND'
  例外情况
  元素= 1
  窗口= 2。
  如果sy-subrc ne 0。
  执行protocol_update。
  万一。
  结局。
 ENDFORM。

问题是,它正在打印最后一个值,而不是表中的所有值:

我做错了什么?

谢谢

(1.2 kB)

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

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


大家好

我正在abap程序中遍历一个内部表,并将该表中的值打印到sap脚本窗体上。

数据:gt_addr的开头出现0,
 文字TYPE文字50。
 数据:gt_addr的结尾。

 格式print_addr使用pf_ADRNR类型AD_ADDRNUM。
  数据ls_addr_s与gt_addr类似。
  data(lo_addr)=新的ZCL_ADDR_CREATOR(iv_addr = pf_adrnr)。
  data(lt_addr)= lo_addr-> format()。
  刷新gt_addr。
  将lt_addr引用到数据(ls_addr)中。
  ls_addr_s-text =转换text50(ls_addr-> text)。
  将ls_addr_s附加到gt_addr。
  结局。
  循环到gt_addr。
  调用函数" WRITE_FORM"
  出口
  元素='CUSTOMER_ADDR'
  窗口='KADR_B'
  函数='APPEND'
  例外情况
  元素= 1
  窗口= 2。
  如果sy-subrc ne 0。
  执行protocol_update。
  万一。
  结局。
 ENDFORM。

问题是,它正在打印最后一个值,而不是表中的所有值:

我做错了什么?

谢谢

(1.2 kB)
付费偷看设置
发送
9条回答
哎,真难
1楼-- · 2020-09-05 09:32

因为您的课程可能有问题

 ZCL_ADDR_CREATOR  

我猜是:-)

Tong__Ming
2楼-- · 2020-09-05 09:35

您好 Sandra Rossi , 完全同意您的意见。。。这次我只是尝试了另一种方式,没有考虑到我所有的问题,因为这似乎在"吓跑"某些人。 因此,我觉得降低答案的难度不大,仅是因为当时添加了更多信息...但是,是的,无需进一步讨论它,并感谢提示;-)

shere_lin
3楼-- · 2020-09-05 09:22
# p #

它甚至是正确的循环,并且每次都会更改该值。 但是输出始终是表的最后一行。

在SapScript上

一周热门 更多>