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

ALV显示的查询数据.png

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

文本对象和识别码.png

采购订单文本ID.png
在Smartforms中找到数据来源:

Smartform中TABLE表的数据来源.png
然后找到参考的类型:

Smartforms中工作区的参考类型.png
然后在结构中添加采购订单文本POTXT字段:

添加采购订单文本POTXT字段.png
然后就是在Smartforms中将新添加的字段拖曳到text文本中:

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

MM02:输入物料号.png
然后选择采购视图:

采购视图.png
之后再输入相应工厂:

输入工厂.png
在采购订单文本页签下输入测试数据:

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

Smartform下添加相应代码.png
现在再打印一下,结果如下:

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

Web对象.png

填入对象名称.png

导出模板.png

添加模板.png

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