ABAP 关于Smartform的問題

deborah_tan 2016-04-09 10:33:28
大家好,abap新手,请教如下问题.
我要实现的功能是:
打印满足条件的N张采购单
每个采购单包含表头表身
每换一个采购单就换页打印一次表头(因为表头中包含采购单号和供应商信息)
同一张采购单如果项目较多要分页则不需重复打印表头。
表头和表身我已都放到了内表中 gt_ekko & gt_ekpo
我能想到的办法是循环gt_ekko,每笔采购单调用一次smartform,结构如下:
Loop at gt_ekko.
PERFORM show_smartform.
endloop.

可是培训的时候顾问说,最好不要循环调用smartform,应该一次把需要的数据都传入。
那么假如我一次把gt_ekko和gt_ekpo都传入smartform, 该怎么实现换一张采购单,打印一次表头呢?
...全文
843 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
deborah_tan 2016-05-05
  • 打赏
  • 举报
回复
最后的结果就是 循环gt_ekko,每笔采购单调用一次smartform,结构如下: Loop at gt_ekko. PERFORM show_smartform. endloop.
荖司机 2016-04-28
  • 打赏
  • 举报
回复
可以设置参数啊。 LOOP AT t_boxshipment. CONCATENATE t_boxshipment-tknum '-' t_boxshipment-boxno INTO shipmentbox. PERFORM generate_header_data. PERFORM generate_item_data. IF p_disp = 'X' . PERFORM call_smartform. ENDIF. SHIFT shipmentbox LEFT DELETING LEADING '0'. IF p_print = 'X'. xssfcompop-tdsuffix2 = shipmentbox. PERFORM call_smartform. ENDIF. IF c_downp = 'X' AND p_disp <> 'X'. SELECT * INTO TABLE t_tsp01 FROM tsp01 WHERE rqclient = sy-mandt AND rq0name = 'SMART' AND rqowner = sy-uname AND rq2name = shipmentbox. PERFORM down_pdf_from_spool. ENDIF. ENDLOOP. 这是我以前写的
deborah_tan 2016-04-11
  • 打赏
  • 举报
回复
沒人理我~大神呢?

2,679

社区成员

发帖
与我相关
我的任务
社区描述
企业开发 ERP/CRM
社区管理员
  • ERP/CRM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧