原创 Tab Zhu [ SAP TAB ](javascript:void\(0\);)
**点击蓝字关注我们**
富强 民主 文明 和谐
自由 平等 公正 法制
爱国 敬业 诚信 友善
**不念过** **去**
**START**
**不畏将来**
**_Title_ **
**采购订单Message输出打印**
很多业务中需要在完成订单的时候来进行单据打印的输出操作,比如新建采购订单的时候,需要输出采购订单的PDF或者使用邮件功能来将采购订单发送给指定人员
SAP 有标准MESSAGE输出的配置功能-TCODE NACE
下面我们就根据采购订单保存时生成一个message smartforms 来说明一下
**一**
**NACE 配置**
• 设置输出类型
从NEU复制一个到ZNEU 目前我们是对于功能1打印输出来做定制化,所以需要选中ZNEU,双击处理程序(保存采购订单后调用的程序FORM)
⽬前我们是对于功能 1 打印输出来做定制化,所以需要选中 ZNEU ,双击处理程序 ( 保存 采购订单后调⽤的程序 FORM)
发现它是使⽤ SAPFM06P 使⽤ ADOBE FORM 来输出的,这⾥对于我们⼀般的 ABAPer 来说,使⽤ smartforms
会⽐较熟练,所以我们创建⼀个 :ZTAB_ZHU_PO_OUT_FORM 程序 来调⽤我⾃⼰定义的 smartforms 来输出打印 设置如下图
• 设置条件记录
• 选择我们创建的ZNEU输出类型
选择根据采购组织和供应商来确定Message 的输出
当我们第一进入时,可以选择左上角输出定价菜单→创建
添加一条条件记录如下图所示:其中VN是供应商功能类型,媒介1表示打印输出,调度时间4表示需要立即输出
同时我们可以点击通讯来对某个供应商设置打印属性设置:
如下图可以对采购组织1310 和供应商133000273的订单输出设置打印设备为LP01,且立即打印
• 设置过程
设置完毕后退出,点击过程来添加设置好的输出类型
可以选择原来的过程进行添加,也可以单独创建一个过程
在新添加的过程ZRMBEF中添加ZNEU 需求为101
• SPRO配置
接下来还要在SPRO→物料管理→采购→消息→输出控制→信息类型→定义采购订单的消息类型,添加ZNEU的输出类型
该配置是在采购订单创建和修改时自动在消息中追加一条Message 输出
如下图是订单在修改之后或者创建时自动添加的一条未处理Message输出
同时在SPRO→物料管理→采购→消息→输出控制→信息类型→信息确定方案 ,将过程RMBEF1修改为之前定义的过程ZRMBEF
当配置和程序都完毕时,我们去ME21N创建对应供应商的采购订单
当保存PO时,弹出框调用WINDOWS本地打印机输出为PDF
PS:smartforms 我为了测试自己简单做了一下
**二**
**代码部分**
重点关注以下几点内容:
• 在采购订单保存成功之后,后台程序仅仅会调用 ZTAB_ZHU_PO_OUT_FORM中的FORM enter_neu.
• 使用Function 'ME_READ_PO_FOR_PRINTING' 来获取当前PO的信息,都放在doc的返回参数中
• 程序中TNAPR存放着调用程序,SMARTFORMS的信息,所以smartforms为TNAPR-SFORM
• 在程序中发生错误或者打印成功后,使用Function 'NAST_PROTOCOL_UPDATE' 来更新NAST表,NAST表为记录所有OUTPUT Message 状态的表
下面是代码链接地址,如果做一般的PO Message 输出可以直接COPY使用 ZTAB_ZHU_PO_OUT_FORM
https://www.cnblogs.com/jxzhu/p/15000239.html
另外关于NACE 配置部分有一篇更详细的文章供大家参考
NACE关于采购订单的配置笔记
https://www.cnblogs.com/jxzhu/p/9051390.html
外链被TX禁了,有需要的同学自行跳转博客查看代码
**不念过** **去**
**END**
**不畏将来**
**SAP ABAP TAB**
微信号 : TAB_JXZHU
** 回复'ABAP'免费领取学习资料 **
长按二维码关注我们