abap smartforms 实现单据

abap实现报表还比较easy,但abap smartforms 实现单据再加上要有分页对于我来说可愁大了,什么都不会,网上有讲的挺细致的,但还是实现不来,问经理他让我慢慢研究,无奈,学吧……

下面是实现步骤,不仅不完善,而且肯定有问题,希望大鸟指正:

单据要求:

 http://blog.sina.com.cn/s/blog_69f0481901015hro.html


实现步骤:(1)在创建smartformsform之前建立段落样式,字体样式等:

 

 2)创建smartformsform表格

 


 

 

 

3)在表格接口———》表 中建立两个表接口(),

 

 

4)定义全局变量

 

在初始化中

DESCRIBE TABLE GTD_ITEM LINES G_TOTALLINES.//获取整个table中数据列表中总的行数

 

TABLES:EKKO,EKPO,EKET,MAKT.//用于金额和数量的显示,因为他有些参考表,不能直接显示,不用这种方法可以在货币数量字段中新定义一些货币数量字段。

(5)在%page新页面上建立如图所示的结构:

三个文件夹分别表示:单据名称,table的头部信息,还有单据头部信息,可以分别加上各自的样式

(6)在mian中建立如图的结构

 

 

 1%LOOP1表头循环 
  设置:数据-loop循环-〉操作数:GTD_HEADER into GTH_HEADER 
  作用:循环表头内表中的数据,每次打印一个凭证的行项目数据。由于内表在这里不能有工作区,因此将每个表头数据放置到另外的工作区。如图:

 

 2%LOOP2循环明细数据,统计单张凭证行数 
  设置:

 

 

作用:由于在打印每张凭证及行项目之前,需要知道该凭证的总页数,因此需要首先计算gtd_ITEMS内表中有多少条当前凭证的行记录数。

3.统计总页数:

 

4.%loop3循环明细数据,

 

 

 

 

记录单张凭证数和积累行数:

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值