资源预览内容
第1页 / 共23页
第2页 / 共23页
第3页 / 共23页
第4页 / 共23页
第5页 / 共23页
第6页 / 共23页
第7页 / 共23页
第8页 / 共23页
第9页 / 共23页
第10页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
上海华时信息咨询有限公司,采购订单的打印,作者:朱军,采购订单的打印方式,一、基于BADI的打印,二、基于函数的打印,三、基于源代码的打印,基于BADI的打印,ME_PURCHDOC_POSTED:这个增强是在点击PO的保存按钮时触发的。 当执行这个增强的时候,刚创建或者改动过的PO数据是没有到达数据 库的。但是我们可以通过它获取参数,这样,我们就可以在里面添加 外挂程序(Smartform)来实现对PO单据的打印。,步骤:,第一步,通过TCODE:SE19对该BADI接口实现,第一次实现接口要选择创建Create Implementation,输入描述之后,保存激活,第二步,通过TCODE:SE18输入该BADI名称之后,选择Interface, 然后查看对应的接口添加代码,具体代码: DATA: LW_PRINT TYPE SSFCOMPOP, ST_TRLOP TYPE SSFCTRLOP, IT_EKPO TYPE STANDARD TABLE OF EKPO, HE_EKKO TYPE EKKO. CLEAR it_ekpo. HE_EKKO = IM_EKKO. APPEND LINES OF IM_EKPO to IT_EKPO. LW_PRINT-TDDEST = LP01. ST_TRLOP-PREVIEW = X. ST_TRLOP-NO_DIALOG = X. CALL FUNCTION /1BCDWB/SF00000250 EXPORTING CONTROL_PARAMETERS = ST_TRLOP OUTPUT_OPTIONS = LW_PRINT USER_SETTINGS = XE_EKKO = HE_EKKO TABLES XT_EKPO = IT_EKPO XT_EKET = IM_EKET EXCEPTIONS FORMATTING_ERROR = 1 INTERNAL_ERROR = 2 SEND_ERROR = 3 USER_CANCELED = 4 OTHERS = 5.,表头,明细,在选中的地方加入以下代码,然后保存激活,登录: 通过TCODE:ME21N事物码创建采购订单,输入完抬头和明细等相关信息之后, 然后点击保存按钮,这时就会触发增强,调用通过Smartform设计的打印程序。,打印结果: 该画面纯粹是通过Smartform表格来设计的,该表格详细的描述了该采 购单的相关信息,包括:订单号、物料号、数量、价格以及交货时间等。 当点击返回按钮时,就会显示订单号被创建。,返回结果:,更新: 当通过TCODE:ME22N事物码更新采购订单中的抬头或者是明细信息时, 同样会触发增强,之后点击保存按钮,调用打印程序。,打印结果:,基于函数的打印,首先,SAP PO的CMOD增强接口:MM06E005,保存增强使用:EXIT_SAPMM06E_013,具体代码: DATA: LW_PRINT TYPE SSFCOMPOP, ST_TRLOP TYPE SSFCTRLOP, IT_EKPO like BEKPO OCCURS 0, HE_EKKO TYPE EKKO. CLEAR it_ekpo. HE_EKKO = I_EKKO. APPEND LINES OF XEKPO to IT_EKPO. LW_PRINT-TDDEST = LP01. ST_TRLOP-PREVIEW = X. ST_TRLOP-NO_DIALOG = X. CALL FUNCTION /1BCDWB/SF00000250 EXPORTING CONTROL_PARAMETERS = ST_TRLOP OUTPUT_OPTIONS = LW_PRINT USER_SETTINGS = XE_EKKO = HE_EKKO TABLES XT_EKPO = IT_EKPO XT_EKET = XEKET EXCEPTIONS FORMATTING_ERROR = 1 INTERNAL_ERROR = 2 SEND_ERROR = 3 USER_CANCELED = 4 OTHERS = 5.,进入函数里,双击Include,在里面添加自己的打印代码,登录和更新时,打印的结果:,基于源代码的打印,当在前台创建采购订单时,在保存前,系统会确定PO订单的使用到 的message shcema。该打印是通过配置PO Message来实现的。 点击message查看订单打印的配置:,首先配置让PO输出一个所谓的Message,在此此Message是指Print output。,然后查看后台(spro):,选择相应的outputtype,然后双击子程序处理,1,2,双击进入程序:SAMFM06P,找到子程序为ENTRY_NEU.,具体代码: DATA: LW_PRINT TYPE SSFCOMPOP, ST_TRLOP TYPE SSFCTRLOP, IT_EKPO TYPE STANDARD TABLE OF EKPO, HE_EKKO TYPE EKKO. HE_EKKO = l_doc-XEKKO. IT_EKPO = l_doc-XEKPO. LW_PRINT-TDDEST = LP01. ST_TRLOP-PREVIEW = X. ST_TRLOP-NO_DIALOG = X. CALL FUNCTION /1BCDWB/SF00000250 EXPORTING CONTROL_PARAMETERS = ST_TRLOP OUTPUT_OPTIONS = LW_PRINT USER_SETTINGS = XE_EKKO = HE_EKKO TABLES XT_EKPO = IT_EKPO XT_EKET = l_doc-XEKET EXCEPTIONS FORMATTING_ERROR = 1 INTERNAL_ERROR = 2 SEND_ERROR = 3 USER_CANCELED = 4 OTHERS = 5.,修改选中的部分,加入自己打印的代码,当点击屏幕上的打印预览按钮的时候,就会弹出输出选项,选中配置的 输出类型,就可以达到打印的目的,登录和更新时打印的结果:,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号