采购订单 Message 输出打印

作者:SAPTAB 约 6 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:MM, 物料管理
采购订单 Message 输出打印 - 封面图
采购订单 Message 输出打印 - 封面图

原创 Tab Zhu [ SAP TAB ](javascript:void\(0\);)

**点击蓝字关注我们**

富强 民主 文明 和谐

自由 平等 公正 法制

爱国 敬业 诚信 友善

**不念过** **去**

**START**

**不畏将来**

**_Title_ **

**采购订单Message输出打印**

很多业务中需要在完成订单的时候来进行单据打印的输出操作,比如新建采购订单的时候,需要输出采购订单的PDF或者使用邮件功能来将采购订单发送给指定人员

SAP 有标准MESSAGE输出的配置功能-TCODE NACE

下面我们就根据采购订单保存时生成一个message smartforms 来说明一下

**一**

**NACE 配置**

• 设置输出类型

从NEU复制一个到ZNEU 目前我们是对于功能1打印输出来做定制化,所以需要选中ZNEU,双击处理程序(保存采购订单后调用的程序FORM)

采购订单 Message 输出打印 - 封面图
采购订单 Message 输出打印 - 封面图

⽬前我们是对于功能 1 打印输出来做定制化,所以需要选中 ZNEU ,双击处理程序 ( 保存 采购订单后调⽤的程序 FORM)

采购订单 Message 输出打印 - 封面图
采购订单 Message 输出打印 - 封面图

发现它是使⽤ SAPFM06P 使⽤ ADOBE FORM 来输出的,这⾥对于我们⼀般的 ABAPer 来说,使⽤ smartforms

会⽐较熟练,所以我们创建⼀个 :ZTAB_ZHU_PO_OUT_FORM 程序 来调⽤我⾃⼰定义的 smartforms 来输出打印 设置如下图

采购订单 Message 输出打印 - 封面图
采购订单 Message 输出打印 - 封面图

• 设置条件记录

采购订单 Message 输出打印 - 封面图
采购订单 Message 输出打印 - 封面图

• 选择我们创建的ZNEU输出类型

采购订单 Message 输出打印 - 封面图
采购订单 Message 输出打印 - 封面图

选择根据采购组织和供应商来确定Message 的输出

采购订单 Message 输出打印 - 封面图
采购订单 Message 输出打印 - 封面图

当我们第一进入时,可以选择左上角输出定价菜单→创建

采购订单 Message 输出打印 - 封面图
采购订单 Message 输出打印 - 封面图

添加一条条件记录如下图所示:其中VN是供应商功能类型,媒介1表示打印输出,调度时间4表示需要立即输出

采购订单 Message 输出打印 - 封面图
采购订单 Message 输出打印 - 封面图

同时我们可以点击通讯来对某个供应商设置打印属性设置:

采购订单 Message 输出打印 - 封面图
采购订单 Message 输出打印 - 封面图

如下图可以对采购组织1310 和供应商133000273的订单输出设置打印设备为LP01,且立即打印

采购订单 Message 输出打印 - 封面图
采购订单 Message 输出打印 - 封面图

• 设置过程

设置完毕后退出,点击过程来添加设置好的输出类型

采购订单 Message 输出打印 - 封面图
采购订单 Message 输出打印 - 封面图

可以选择原来的过程进行添加,也可以单独创建一个过程

采购订单 Message 输出打印 - 封面图
采购订单 Message 输出打印 - 封面图

在新添加的过程ZRMBEF中添加ZNEU 需求为101

采购订单 Message 输出打印 - 封面图
采购订单 Message 输出打印 - 封面图
采购订单 Message 输出打印 - 封面图
采购订单 Message 输出打印 - 封面图

• SPRO配置

接下来还要在SPRO→物料管理→采购→消息→输出控制→信息类型→定义采购订单的消息类型,添加ZNEU的输出类型

该配置是在采购订单创建和修改时自动在消息中追加一条Message 输出

采购订单 Message 输出打印 - 封面图
采购订单 Message 输出打印 - 封面图
采购订单 Message 输出打印 - 封面图
采购订单 Message 输出打印 - 封面图

如下图是订单在修改之后或者创建时自动添加的一条未处理Message输出

采购订单 Message 输出打印 - 封面图
采购订单 Message 输出打印 - 封面图

同时在SPRO→物料管理→采购→消息→输出控制→信息类型→信息确定方案 ,将过程RMBEF1修改为之前定义的过程ZRMBEF

采购订单 Message 输出打印 - 封面图
采购订单 Message 输出打印 - 封面图

当配置和程序都完毕时,我们去ME21N创建对应供应商的采购订单

当保存PO时,弹出框调用WINDOWS本地打印机输出为PDF

采购订单 Message 输出打印 - 封面图
采购订单 Message 输出打印 - 封面图

PS:smartforms 我为了测试自己简单做了一下

采购订单 Message 输出打印 - 封面图
采购订单 Message 输出打印 - 封面图

**二**

**代码部分**

重点关注以下几点内容:

• 在采购订单保存成功之后,后台程序仅仅会调用 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**

**不畏将来**

采购订单 Message 输出打印 - 封面图
采购订单 Message 输出打印 - 封面图

**SAP ABAP TAB**

微信号 : TAB_JXZHU

** 回复'ABAP'免费领取学习资料 **

长按二维码关注我们

SAPTAB

关于作者:SAPTAB

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「采购订单Message输出打印.md」整理生成,仅用于内部技术分享与学习交流。