先看一下原先打印出来的Smartforms:

ALV显示的查询数据.png

Smartforms打印数据(无采购订单文本).png
现在需求是通过Smartforms打印时,要显示采购订单文本。
首先,明确一点:采购订单文本是根据物料号获取到的。
通过Tcode:SE75找到采购订单文本的ID,如下:

文本对象和识别码.png

采购订单文本ID.png

Smartform中TABLE表的数据来源.png

Smartforms中工作区的参考类型.png

添加采购订单文本POTXT字段.png

在相应区域添加采购订单文本.png
OK,Smartforms中准备工作做好了,下面就是到程序中找到相应逻辑,然后根据物料号获取采购订单文本了。
既然要显示采购订单文本,首先我们根据拿到的物料号去配置一下采购订单文本。通过Tcode:MM02进入更改物料(初始屏幕),输入物料号,如下:

MM02:输入物料号.png

采购视图.png

输入工厂.png

采购订单文本.png
保存一下,好了,测试数据也有了!
下面就是在处理Smartforms逻辑下获取采购订单文本了,上代码:

Smartform下添加相应代码.png

Smartforms打印数据(有采购订单文本).png
Excel打印处理方法一样大同小异。先通过Tcode:SMW0将模板下载下来,添加一列,再将新的模板上传。具体步骤如下图:

Web对象.png

填入对象名称.png

导出模板.png

添加模板.png

填入对象名称及描述.png
基本上就是这样的了!