PO打印输出类型配置
打印机I O设置说明书

I/O 子菜单I/O(输入/输出)菜单中的项目会影响打印机和计算机之间的通信。
I/O 超时子菜单并行输入子菜单EIO X Jetdirect 子菜单仅在打印机的 EIO 插槽中安装了 EIO 设备(如 HP Jetdirect 打印服务器)时,EIO (增强输入/输出)子菜单才会显示。
菜单中的项目视安装的特定附件产品而定。
如果打印机配有HP Jetdirect 打印服务器 EIO 卡,则可以使用 EIO 菜单配置基本网络参数。
您还可以通过HP Web Jetadmin 或其它网络配置工具(如通过使用 T elnet 或浏览内嵌式 Web 服务器)配置这些和其它参数。
有关 EIO 子菜单的更多信息,请参阅随 EIO Jetdirect 卡附带的说明文档。
项目值说明I/O TIMEOUT=15(I/O 超时=15)5 至 300选择 I/O 超时时间(以秒计)。
(I/O 超时时间以秒计,是指打印作业结束前打印机等待的时间。
)此设置可使您调整超时时间,以获得最佳性能。
如果在打印作业期间其它端口有数据输入,则需增加超时时间。
项目值说明HIGH SPEED=YES (高速=是)YES (是)NO (否)与较新的计算机连接时,打印机使用速度较快的并行通信。
ADVANCEDFUNCTIONS=ON (高级功能=启用)ON (启用)OFF (关闭)打开或关闭双向并行通信功能。
默认设置为使用双向并行端口 (IEEE-1284)。
此设置允许打印机向计算机发送状态反馈信息。
(打开并行高级功能可能会降低语言转换速度。
)内嵌式 Jetdirect 子菜单项目选项值说明TCP/IP ENABLE(启用)HOST NAME(主机名称)CONFIGMETHOD(配置方法)DHCP RELEASE(DHCP 释放)DHCP RENEW(DHCP 更新)MANUALSETTINGS(手动设置)ON(启用)OFF(关闭)BOOTPDHCPAUTO IP(自动 IP)MANUAL(手动)NO(否,默认值)YES(是)IP ADDRESS(IP 地址)SUBNET MASK(子网掩码)SYSLOGSERVER(系统记录服务器)DEFAULTGATEWAY(默认网关)IDLE TIMEOUT(空闲超时)启用 TCP/IP 协议。
PO打印操作

操作指导(文字部分):一、PO打印操作如下:打印华为技术及其它子公司帐套的PO:步骤一、在ERP中点击Reports,再点击Run Request,或者在工具条的View下拉菜单中找到并点击Requests,然后在出现的Find Requests界面中选择Submit a new request;步骤二、在出现的Submit a New Request界面,选择报表集Single Request,点击OK确认后出现Submit Request界面;步骤三、在Submit Request界面的Name中选择HW PG Printed Purchase Order Report;(快捷操作:如果以前有PO打印报表的运行记录,则可点击Copy选择对应的记录进行拷贝,再对步骤四中提及的PO参数进行修改;)步骤四、Name中的报表选择完成后,即转到(Parameters)界面,在该界面中输入要打印的PO 参数(在P-report-type中可选择All、Changed或New,如果选择All,则需分别在Purchase Order Numbers From字段和To字段中分别输入起始、结束的PO号;在Buyer Name,Employee Number 中输入采购员;其他参数均设置为默认值,无须更改);步骤五、继续在Submit Request界面点击Options,在其Printer域选择就近的打印机,在Copies域中输入PO打印的数量,点击OK确认选择;步骤六、在打印机的纸盒里放进PO套打纸,然后点击报表集参数设置界面最下方的Submit,就完成PO打印报表的提交。
二、PO打印报表的状态查询:步骤一、PO打印报表提交后,出现Requests界面,点击Refresh Data,进行状态刷新,当Phase状态变成Completed,Status的状态变成Normal,表明PO打印正常完成;或者可以点击Reports,再点击View,在出现的Find Requests界面选择对应的选项进行查询;步骤二、点击View Output,查看打出的PO。
ProE打印设置

Pro/ENGINEER打印设置选择“文件”〉“打印”或选择打印图标,出现打印主界面,首先,选择合适的打印机,点击“”,选择相应的打印机型号,如果没有满足要求的,通常选择,这样Pro/Engineer将相应的内容传到windows中,通过windows的打印管理器控制打印机的运行。
点按进行更加具体的配置,在“页”选项卡,点击下拉菜单,选取合适的图纸,如A0、A1、A2等。
通常情况下不需要设定偏移量,但有时候会出现图纸偏在一边或部分边界打不出来的情况,可以通过设定相应的X或Y偏移量进行校正。
在“打印机”选项卡中,主要工作是指定笔配置文件。
它控制图纸中线条的颜色和粗细。
在Pro/Engineer中,将不同的图元在打印时分为8类,叫做8支笔。
对不同的笔赋予不同的颜色和粗细,叫做笔配置。
具体每支笔包括哪些图元可以在Pro/Engineer的帮助中查到相应的主题。
在Pro/Engineer 中,有三种方法指定绘图仪画笔线宽。
可以在config.pro 文件中或在通常称为table.pnt 的画笔映射文件中设置线宽,也可以在绘图中逐条线设置线宽。
在config.pro 文件中设置画笔线宽。
Pro/Engineer 会首先在config.pro文件中搜索线宽信息。
在config.pro 文件中,通过将“pen#_line_weight”选项设置为一个介于1 到16 之间的整数值来控制线宽。
画笔实际使用的线宽由1 到16 的整数值定义。
这些整数值中的每一个均代表着0.005 英寸的宽度。
如:“pen1_line_weight 4”,这里指定了1 号画笔所画的所有实体线条均设置为0.020 英寸宽。
如果未在config.pro 文件中定义这些选项,则将使用帮助文档中所述的默认值。
在Pro/Engineer 绘图文件中设置绘图仪画笔线宽。
也可以直接在绘图文件中定义画笔线宽信息。
可以按以下方法修改作为绘制图元:选择线条,然后选择“编辑”>“属性”。
ProE打印设置

Pro/E打印设置在Pro/E中,利用普通的喷墨或激光打印机进行打印输出,需要有一些config选项和两个配置文件:对应打印机的pcf文件和定义线宽的table.pnt文件。
下面就一一进行讲解。
一、打印配置config选项plotter指定的默认打印机名称,也是保存配置的时候的默认的保存名称。
如:Epson Stylus Photo 1270 ESC/P。
要注意的是这个选项要和我们第二步所说的.pcf配置文件进行搭配使用,如果使用我们在第二步进行详细讲解,如何没有对应的pcf文件,这个选项是无效的。
plotter_command指定的打印指令,我们就用系统默认的好了: windows_print_managerpro_plot_config_dir指定的配置文件目录,Pro/E会在打印启动时到这个目录寻找打印机的配置文件并从这些配置文件中找出所有可用的打印机并添加到打印机列表中以供用户选择。
raster_plot_dpi打印的dpi(分辨率),dpi越高,每英寸打印的像素值越高,打印结果越精细,当然也更费墨了和水了呵呵,所以我们在打印照片的时候要选择高dpi值,但是在打印工程图的时候就不必要了,100可以了。
可选值:100/200/300/…use_8_plotter_pens是否使用8支笔,对绘图仪来说,有四支笔和八支笔的分别,但对我们的打印机来说就是八种颜色和四种颜色的区别了,自然我们选yes也没啥坏处。
可选值:yes/nopen_table_file线宽定义文件,指定答应时各几何使用的线宽和颜色等,详细的定义方法我们会在第三步进行讲解。
如果定义了这个选项并且对应的table file存在的话,那么以下的八个定义线宽的config选项将失效。
值如:d:\config\table.pnt以下八项为定义不同的几何的打印线宽,线宽范围是1(最细)到16(最粗)。
pen1_line_weight 可见几何,剖面切线和箭头,基准面等pen2_line_weight 尺寸线,导引线,中心线,文本,注释等pen3_line_weight 隐藏线,阴影文本pen4_line_weight 样条曲线网格pen5_line_weight 钣金件颜色图元pen6_line_weight 草绘截面图元pen7_line_weight 灰色草绘尺寸,切换了的截面pen8_line_weight 样条曲面网格实际上通过上面的config选项,已经可以进行基本的打印输出配置了。
PO自定义打印

1.PO打印通常企业打印PO有两种方式,一是套打(由印刷厂商印制好一式多联的格式以备打印的PO送给相关部门,比如采购部,供应商,财务部,仓库等保存),另一种就是直接打印在A4纸上.不管哪种方式,可直接写一个外挂程序或使用SAP配置来打印,谁优谁劣无可非议只要能正确将东西打印出来就行.在打印报表的问题上我个人很喜欢Crystal report因为能很容易定义所需要的各种复杂格式,遗憾的是SAP系统似乎要装插件才支持Crystal report.使用外挂程序或配置,就要使用到所谓的Form(SAPscript)或Smartform,当然另外一种方法就是使用OLE to Excel,在Excel定义好格式然后填充数据.好了,下面就PO打印配置谈谈如何设置PO打印.PO打印设置难吗?显然是非常容易的,从某种意义上讲,你不做任何配置实际SAP已经提供了default的output NEU打印PO了.让我们看看图1.(Tcode:ME21N|ME22N)[1]首先必须让此PO输出一个所谓的Message,在此此message是print output .[2]打印预览按Messages进入图2.[1]按Communication method进入图3.[2]Processing log你能看到调用的程序名称如是打印能看到产生的Spool no.号(有一种case是系统hang up了上万个打印请求结果造成Spool buffer溢出,所以basis有必要定期去清理下) SAP默认是使用程序SAPFM06P的子程序ENTRY_NEU处理打印message的,这在配置中可做适当更改如果有需要的话,毕竟SAP是程序堆起来的改改是很正常的.[3]进去后Requested processing栏位的Dispatch time选4 Send immediately就表示立即发送消息.[4]通常如需要重新打印,可选择一已经存在的Output 后再按它copy一个.当然也可使用ME9F重打.[5]NEU是打印PO,SAP default的,接下来会告诉如何自定义output type. 为什么需要自定义output type?是在一个大集团公司,可能存在有各种PO的打印格式并且可能需要各种不同的语言版本.[6]在此选1 print output,你也可看到Message实际上可发送到printer, Fax,Mail, EDI和触发PO 的workflow事件等,举个简单的例子,供应商要求建立PO后立即自动将PO数据EDI到他们的系统就可配置EDI Message ,关于EDI有专门解剖的一刀.[7]Partner,SAP经常有sold-to,ship-to,billing-to伙伴,VN是vendor.[8]这个语言在一些跨国集团可能用的上,假设公司间的transfer order格式相同,但是希望法国公司打印的是法文,德国打印的是德文,中国是中文,美国是英文,要么你为每种语言版本定义一个output type要么就在程序中判断这个语言字段,而后者可能更好些,因为你只要使用SO10定义标准文本就行.让我们切换到图3.[1]Tcode:SAPD可设置打印机[2]立即打印出来[3]你还可使用别的Form(通常不能在此使用smartform,除非你大肆修改后台配置)大家可能对PO打印已有了初步了解,是的,不管是套打还是打印在A4上,都是可通过PO的message来完成的.(1)PO header及其Item文本设置IMG Path:Materials Management->Purchasing->Purchase Order如图[1]定义Header text type.如上图,如企业需要可以增加自己的header text type,这些text type在建立PO时可看到如图5.[2]我们看看SAP default的header text type 06.如下图. 1表示取文本的顺序. 2表示文本能否被Fix(修理修改),空和*表示能修改,空表示修改Source object不会影响到PO text,*表示修改文本立即自动反映到PO text, N表示文本从source object自动取得不能修改.在下面将进一不描述.[3]定义item text type.[4]如下图,是text type 03的设置,1表示取数据顺序,Seq.为0似乎是表示不用它,特别要强调以下这个No.加前坠将会成为文本ID标识. 2.表示数据源,从图中我们能看到PO的Materiap PO text文本取数据先从物料主数据的basic data text中读取(在basic data 1视图进去维护),然后是读取Purchase order text(物料主数据专门有一个View)的数据,就是说你建立PO line text 03将自动从物料主数据将这些东西抓过来3.表示文本能否被更改.当定义好Header 和line Text type后,在建立PO时我们就能在这些文本中填写数据.如图5,可能企业需要在PO中加入各种类型文本,并且这些文本可能被随时更改,这种情况下我想使用固定程序恐怕相当麻烦.就需要使用相关配置,然后在程序中调用这些文本.1根据欧美的相关合同法,PO上通常需要打印T&C(Terms*Condition),以便万一有经济纠纷时可参照当时打印出的文本条款,很明显,T&C是针对不同的Vendor是经常被修改的.另外PO上的运输方式也可能经常变更,这种复杂的业务使用文本就可解决.2 让我们更深入了解下PO文本的保存情况,在SAP中,大多数的文本比如PO,SO,Billing等各种相关文本都保存在STXH,STXL中,我们根据一定规则将它读出来,这些规则在稍后会继续细讲,回答那个Fix 标识.N表示从source object抓出来后你不能再做修改,因此从文本STXH,STXL表中By PO item是查不到数据的,*表示文本抓出来你还能修改,当自动抓取数你去做更改后才会保存早STXH,STXL中, By PO item可以读取,这样在编程序就必须注意首先根据PO item读数据如没读到再到物料主数据中去找. 详细请看SAP文本.(2)PO Message配置[1]应该不会这么快就忘记建立PO header/Line text type的Seq. no.加上F前坠就是Text ID ,这步通常是不用做的除非你使用SAP标准的,因为PO将使用[2]分配Form和相关Output程序给PO,在第[3]步讨论,因为在定义PO output type时包括了这部分的配置.[3]打开Output control发现配置和MM/SD的定价条件相似,是的,所谓的condition技术用在在Message output,MM/SD Pricing,FI Tax IMG等,而且他们共享了很多配置表,我想SAP是因为他们逻辑上相似所以将他们组织在一起. 通常的情况下是比如要设置PO一建立好就自动打印,否则就需要想第一步更改PO哪些重要字段后会自动重打PO,兼于篇幅,在此就不讨论了,这个问题留给读者自己去考虑,在这里只讨论如何Copy出新的output type .因为用户可能需求不同的打印格式.一.新增Output type Message .IMG Path:Output Control->Message Types->Define Message Types for Purchase Order.如图6.[1]Copy All data from NEU to ZUSA.[2]Output type可用在Print, Fax,EDI等上.[3]Output调用的程序,默认是SAPFM06P[4]使用的子程序,默认是ENTRY_NEU[5]打印调用的FORM[6]在此我加了个Smartform,很明显默认是不会认Smartform的,除非你将第3步的SAPFM06P Copy出(比如是ZSAPFM06P)再将ENTRY_NEU修改,这要费点事情,还是使用Form吧二.Define (定义)Message Schema for Purchase OrderIMG Path:Output Control->Message Determination Schemas[1]选定procedure RMBEF1.[2]将ZUSA加上.[3]特别要强调一下,关于这个requirement在MM/SD的pricing配置中将会重点介绍,这个将对应到一个子程序比如你可设置子程序返回值为True打印否则不打印.使用Tcode VOFM>菜单Requirements->output control|OMFT|V/27可自定义requirements,简单理解就是Control message,只有需求满足才输出消息.三.建立条件记录MN04OK,是否现在就可使用这个output type了呢?回答是不能的,我们想象SD pricing后台配好了你要还使用VK11呀,同样,你必须使用MN04为此output type建立一条件记录.这些基础工作都搞定了,下面来吹下如何coding …Coding是TMD世界上最无聊的工作之一,Salary有低,,哎….To be continued .….改天继续将所有的打印给屠宰一遍.(3)物料主数据文本BADI也是enhancemnet的一种,可以在SE19中建立自定义的Implementation name激活系统自带的badis,系统的badis可以在SE18中看。
proe打印配置文件

无论是零件(Part)模式、装配(Assembly)模式还是在工程图(Drawing)中,都可以进行文件打印操作,执行下拉菜单文件(File)>打印(Print)…另外,使用Pro/BATCH 可以批量打印绘图文件,而不必每次都从交互菜单选择和设置。
批命令文件包含一系列要打印的对象,可创建出图文件并脱机打印。
在学习绘图打印配置之前先了解关于打印的一些说明。
* 隐藏线在屏幕上显示为灰色,在图纸上输出时为虚线。
* Pro/ENGINEER软件系统输出线型时,如果是系统提供的线型将按照图纸页面的大小缩放打印,但是用户定义的图线种类不能缩放打印。
可设置系统环境配置文件选项USE_SOFTWARE_LINEFONTS的值为YES,以确保绘图仪完全按照Pro/ENGINEER软件中出现的形式打印线型。
*打印着色模型时,不能使用“MS Printer Maganer”生成的打印机。
*当剖面(CROSS SEC)菜单激活时,可从“零件” 或“组件”模式打印剖面。
1 设置打印机1.1 软件可识别的标准打印机Pro/ENGINEER软件系统对很多常用的打印机都可以自动识别并通过打印菜单直接选取,配置完成后可直接打印,见下图。
本贴包含图片附件:1.2 添加系统打印机对于很多Pro/ENGINEER软件不能自动识别的打印机并不在它的打印机列表里,可以采用以下两种方法实现绘图打印。
1.2.1建立打印机配置文件Pro/ENGINEER软件系统默认的打印机配置文件放在目录 .\text\plot_config\下面,是扩展名为.pcf的纯文本文件。
如果用户需要添加系统打印机,则建立一个打印机配置文件存放在该目录中,但为了方便管理,一般情况下用户自建的配置文件存放在用户自己的标准目录库中,并在系统环境配置文件(config.pro)中设置选项pro_plot_config_dir的值,指定pcf 文件的存储路径,例如保存路径为E:\ptc\standard\plot_config\。
SAP PO相关打印编程

SAP PO相关打印编程1.PO打印通常企业打印PO有两种方式,一是套打(由印刷厂商印制好一式多联的格式以备打印的PO 送给相关部门,比如采购部,供应商,财务部,仓库等保存),另一种就是直接打印在A4纸上.不管哪种方式,可直接写一个外挂程序或使用SAP配置来打印,谁优谁劣无可非议只要能正确将东西打印出来就行.在打印报表的问题上我个人很喜欢Crystal report因为能很容易定义所需要的各种复杂格式,遗憾的是SAP系统似乎要装插件才支持Crystal report.使用外挂程序或配置,就要使用到所谓的Form(SAPscript)或Smartform,当然另外一种方法就是使用OLE to Excel,在Excel定义好格式然后填充数据.好了,下面就PO打印配置谈谈如何设置PO打印.PO打印设置难吗?显然是非常容易的,从某种意义上讲,你不做任何配置实际SAP已经提供了default的output NEU打印PO了.让我们看看图1.(Tcode:ME21N|ME22N)[1]首先必须让此PO输出一个所谓的Message,在此此message是print output .[2]打印预览按Messages进入图2.[1]按Communication method进入图3.[2]Processing log你能看到调用的程序名称如是打印能看到产生的Spool no.号(有一种case是系统hang up了上万个打印请求结果造成Spool buffer溢出,所以basis有必要定期去清理下)SAP默认是使用程序SAPFM06P的子程序ENTRY_NEU处理打印message的,这在配置中可做适当更改如果有需要的话,毕竟SAP是程序堆起来的改改是很正常的.[3]进去后Requested processing栏位的Dispatch time选4 Send immediately就表示立即发送消息.[4]通常如需要重新打印,可选择一已经存在的Output 后再按它copy一个.当然也可使用ME9F重打.[5]NEU是打印PO,SAP default的,接下来会告诉如何自定义output type. 为什么需要自定义output type?是在一个大集团公司,可能存在有各种PO的打印格式并且可能需要各种不同的语言版本.[6]在此选1 print output,你也可看到Message实际上可发送到printer, Fax,Mail, EDI和触发PO的workflow事件等,举个简单的例子,供应商要求建立PO后立即自动将PO数据EDI到他们的系统就可配置EDI Message ,关于EDI有专门解剖的一刀.[7]Partner,SAP经常有sold-to,ship-to,billing-to伙伴,VN是vendor.[8]这个语言在一些跨国集团可能用的上,假设公司间的transfer order格式相同,但是希望法国公司打印的是法文,德国打印的是德文,中国是中文,美国是英文,要么你为每种语言版本定义一个output type要么就在程序中判断这个语言字段,而后者可能更好些,因为你只要使用SO10定义标准文本就行.让我们切换到图3.[1]Tcode:SAPD可设置打印机[2]立即打印出来[3]你还可使用别的Form(通常不能在此使用smartform,除非你大肆修改后台配置)大家可能对PO打印已有了初步了解,是的,不管是套打还是打印在A4上,都是可通过PO的message来完成的.(1)PO header及其Item文本设置IMG Path:Materials Management->Purchasing->Purchase Order如图[1]定义Header text type.如上图,如企业需要可以增加自己的header text type,这些text type在建立PO时可看到如图5.[2]我们看看SAP default的header text type 06.如下图. 1表示取文本的顺序. 2表示文本能否被Fix(修理修改),空和*表示能修改,空表示修改Source object不会影响到PO text,*表示修改文本立即自动反映到PO text, N表示文本从source object自动取得不能修改.在下面将进一不描述.[3]定义item text type.[4]如下图,是text type 03的设置,1表示取数据顺序,Seq.为0似乎是表示不用它,特别要强调以下这个No.加前坠将会成为文本ID标识. 2.表示数据源,从图中我们能看到PO的Materiap PO text文本取数据先从物料主数据的basic data text中读取(在basic data 1视图进去维护),然后是读取Purchase order text(物料主数据专门有一个View)的数据,就是说你建立PO line text 03将自动从物料主数据将这些东西抓过来3.表示文本能否被更改.当定义好Header 和line Text type后,在建立PO时我们就能在这些文本中填写数据.如图5,可能企业需要在PO中加入各种类型文本,并且这些文本可能被随时更改,这种情况下我想使用固定程序恐怕相当麻烦.就需要使用相关配置,然后在程序中调用这些文本.1根据欧美的相关合同法,PO上通常需要打印T&C(Terms*Condition),以便万一有经济纠纷时可参照当时打印出的文本条款,很明显,T&C是针对不同的Vendor是经常被修改的.另外PO上的运输方式也可能经常变更,这种复杂的业务使用文本就可解决.2 让我们更深入了解下PO文本的保存情况,在SAP中,大多数的文本比如PO,SO,Billing等各种相关文本都保存在STXH,STXL中,我们根据一定规则将它读出来,这些规则在稍后会继续细讲,回答那个Fix 标识.N表示从source object抓出来后你不能再做修改,因此从文本STXH,STXL表中By PO item是查不到数据的,*表示文本抓出来你还能修改,当自动抓取数你去做更改后才会保存早STXH,STXL中, By PO item可以读取,这样在编程序就必须注意首先根据PO item读数据如没读到再到物料主数据中去找. 详细请看SAP文本.(2)PO Message配置[1]应该不会这么快就忘记建立PO header/Line text type的Seq. no.加上F前坠就是Text ID ,这步通常是不用做的除非你使用SAP标准的,因为PO将使用[2]分配Form和相关Output程序给PO,在第[3]步讨论,因为在定义PO output type时包括了这部分的配置.[3]打开Output control发现配置和MM/SD的定价条件相似,是的,所谓的condition技术用在在Message output,MM/SD Pricing,FI Tax IMG等,而且他们共享了很多配置表,我想SAP是因为他们逻辑上相似所以将他们组织在一起. 通常的情况下是比如要设置PO一建立好就自动打印,否则就需要想第一步更改PO哪些重要字段后会自动重打PO,兼于篇幅,在此就不讨论了,这个问题留给读者自己去考虑,在这里只讨论如何Copy出新的output type .因为用户可能需求不同的打印格式.一.新增Output type Message .IMG Path:Output Control->Message Types->Define Message Types for Purchase Order.如图6.[1]Copy All data from NEU to ZUSA.[2]Output type可用在Print, Fax,EDI等上.[3]Output调用的程序,默认是SAPFM06P[4]使用的子程序,默认是ENTRY_NEU[5]打印调用的FORM[6]在此我加了个Smartform,很明显默认是不会认Smartform的,除非你将第3步的SAPFM06P Copy出(比如是ZSAPFM06P)再将ENTRY_NEU修改,这要费点事情,还是使用Form吧二.Define (定义)Message Schema for Purchase OrderIMG Path:Output Control->Message Determination Schemas[1]选定procedure RMBEF1.[2]将ZUSA加上.[3]特别要强调一下,关于这个requirement在MM/SD的pricing配置中将会重点介绍,这个将对应到一个子程序比如你可设置子程序返回值为True打印否则不打印.使用Tcode VOFM>菜单Requirements->output control|OMFT|V/27可自定义requirements,简单理解就是Control message,只有需求满足才输出消息.三.建立条件记录MN04OK,是否现在就可使用这个output type了呢?回答是不能的,我们想象SD pricing后台配好了你要还使用VK11呀,同样,你必须使用MN04为此output type建立一条件记录.这些基础工作都搞定了,下面来吹下如何coding …Coding是TMD世界上最无聊的工作之一,Salary有低,,哎….To be continued .….改天继续将所有的打印给屠宰一遍.(3)物料主数据文本BADI也是enhancemnet的一种,可以在SE19中建立自定义的Implementation name 激活系统自带的badis,系统的badis可以在SE18中看。
SAP PO打印

采购订单的几种打印增强在创建/修改/查询采购订单的时候,用户有可能会要求我们在界面里面做一个增强,在保存或者其它时候进行打印。
下面就介绍一下PO的几个关于打印的增强。
一、ME_PURCHDOC_POSTED:这个增强是在点击PO的保存按钮时触发的。
当执行这个增强的时候,改动过或者刚创建的PO数据是没到达数据库的。
但是我们可以通过它的参数获取的:这样,我们就可以在这里添加打印程序来实现PO单据的打印。
二、第二中增强有些投机取巧,我们知道,在采购订单的转至 消息里面配置了打印输出后就会触发增强EXIT_SAPLMEDRUCK_001。
这样的话我们就可以在这个增强里面添加自己打印单据的程序,实现使用打印预览按钮来实现打印:但是这样的话,就会把配好的单据页显示出来:解决方法是点用完自己的程序后,加一句leave to screen 0014,因为配好的打印程序调用完后也是退出到这个屏幕。
三、有时候如果想在数据保存到数据库之后再执行自己写的程序,可是这个事物又没有数据到数据库之后的增强,这样就只有去找源代码里面哪里可以插增强。
在PO 中也是一样,没有数据已保存后的增强。
很多事务都可以使用这种类似的方法:首先,要知道SAP 保存数据到数据一般都有一个”COMMIT WORK.”这样的代码。
第二步是找到它,然后在之后的代码里面找一个可以插增强的地方插入一个增强。
找”COMMIT WORK.”有一个简便的方法,即找到现有的增强中的最后一个,方法如下:按这个方法找到最后一个出现的增强,在里面加个断点,然后单步运行到”COMMIT WORK.”的地方,在”COMMIT WORK.”之后找个可以插增强的地方就增强查找.doc行了,这样就在里面写代码了(如果从头开始单步会很费时间的)。
比如PO里面就有一个地方可以插增强,此时数据已经保存到了数据库:SAPLMEPO→LMEPOFXX→MM06EF0P_PAR AMETER_SETZEN(SAPLMEPO→LMEPOFXX→MM06EF0B_BUCHEN→FORM parameter_setzen.:这里是commit work)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
更新系统打印程序
以打印采购订单为例,我们可以在系统的后台维护里面设置关于生成采购订单打印消息类型,处理程序,还有打印方式等信息。
前面的程序是指处理这些“打印”,“传真”等事件的处理程序,后面的FORM子程序就是指在其中一个事务产生的时候,他会去调用这个程序中的哪一个FORM去处理这个事务。
比如说“打印输出”的响应程序就是SAPFMO6P程序下的ENTRY_NEU这个FORM,然后他打印的时候调用的表格是MEDRUCK。
(值得一提的是他后面还有一列是PDF/智能表格,指的就是SMARTFORMS,但是大多系统默认都不会给维护好,系统用的大部分都是SCRIPTFORM)。
然后双击程序,进到程序里面之后找到对应的FORM。
这个ENTRY_NEU就是你在前台点了打印之后,系统响应你操作的FROM了。
也可以在这里加一下断点,看看他带过来了一些什么类型的数据。
一般情况下,他都会用ME_READ_PO_FOR_PRINTING这个FUCTION来获取前台的数据,比如说
ex_nast= l_nast
doc = l_doc
EX_NAST存的是打印时候的环境,比如说打印人啊,系统调用哪台打印机一类的配置信息。
L_DOC就是你所需要的基本上,所有的数据信息了。
就像刚才那段代码,他在后面又CALL了一个FUCTION。
进入那个FUCTION里面去,查看是不是再那个FUCTION里面又读取了一些其他的信息,如果在l_doc里面已经有你所需要的所有数据了,那你就可以直接把这个FUCTION干掉。
还有一点,就是可能他会在打印完成之后(如果是SCRIPT FORM的话,一般他会调用一个名称类似于”CLOSE_FORM”的),如果在这个时候,他又做了一些处理,比如说什么IF sy-subrc=0或者其他的什么东西,然后又调用了或者是写入了一个MESSAGE,这种情况你就要根据他的返回类型在你的程序里面也配出一个相同类型的数据,返回给系统处理了。