SAP的ABAP4语言中文培训教材第二部分第八章打印列表

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1第八章打印列表概览内容在创建列表之后打印.......................................................................................................................1在创建列表时打印...........................................................................................................................2打印参数.....................................................................................................................................2执行和打印..................................................................................................................................7从程序中打印............................................................................................................................8调用报表的打印列表..............................................................................................................11打印控制.................................................................................................................................12ABAP/4报表的输出结果显示在列表中。默认情况下,系统在创建列表之后将它(基本列表和辅助列表)发送到输出屏幕上。本节讨论如何将列表发送到SAP假脱机系统而不发送到输出屏幕。在ABAP/4中,将列表发送到SAP假脱机系统通常称为‘打印列表’。但是这并不一定意味着在打印机上实际打印列表。也可以使用假脱机系统暂时存储列表,并且可以使用该系统将列表存档而不打印。关于SAP假脱机系统的详细信息,请参见文档打印指南(页Error!Notavalidlink.),关于存档的详细信息,参见文档ArchiveLink编程界面(页Error!Notavalidlink.).ABAP/4提供了两种打印列表的可能:可以在列表创建之时或创建之后打印。在创建列表之后打印在创建列表之后打印时,请勿使用下面主题中所描述的专用打印语句来将列表从程序内发送到SAP假脱机系统。默认情况下,系统将完整的列表发送到输出屏幕。如果列表用户界面的状态中已激活了“打印”功能(功能码为PRI),那么,用户可以选定“打印”以将所显示的列表发送到SAP假脱机系统(参见打印输出列表(页Error!Notavalidlink.))。在“打印屏幕列表”对话窗口中,系统需要输入打印参数(参见打印参数(页2))。要修改该屏的预设置,请参见打印参数–预设置值(页4)。创建列表之后打印可能产生如下几个问题:为屏幕显示而不是打印输出格式化了显示在输出屏幕上的列表。由于下述原因,不能始终将显示格式用于打印:-输出屏幕上的列表通常只包含一个单页(参见确定页长(页Error!Notavalidlink.)中的注意事项)。打印时,系统将逻辑页‘分成’若干物理页(其格式取决于指定的打印参数)。系统在每个打印页中设置页眉。如果页眉包含页码,则所有页中(SY-PAGNO)的页码都相同。这样,就禁止了对打印页的连续编号。-如果列表含有使用NEW-PAGE(参见无条件分页(页Error!Notavalidlink.))编排的分页符,则这些分页符不适用于打印页的格式,因为它可能导致进一步自动设置分页符。由于只有NEW-PAGE增加SY-PAGNO系统字段,所以对于由自动分页符创建的打印页,系统将使用与前一页相同的页眉。-如果由于REPORT或NEW-PAGE语句中的LINE-COUNT选项而使得列表包含若干页(参见多页列表(页Error!Notavalidlink.)),那么,可以根本不打印列表(要是指定的页长度超出了打印页的最大页长度),也可以不充分使用此物理打印页。-可以将输出屏幕上列表的宽度设置成1~255之间的任何值(参见确定列表宽度(页Error!Notavalidlink.))。该列表宽度不适用于打印格式。标准打印机不能打印超过130列的列表,如果超出此范围,打印机将截去行的超出部分。创建屏幕输出列表时,列表中不能包含打印控制语句(参见打印控制(页12))。在每一打印页的末尾,不能输出程序中所定义的页脚行。相反,只在“打印屏幕列表”对话窗口中标记“页脚”。系统将在每页为系统定义的页脚行保留一空行。输出屏幕上完整列表的打印输出是屏幕的硬拷贝而不是真正的程序控制打印输出。这种方法只能用于测试或打印机可以接受其格式的列表。对于复杂列表(例如,包含并不在每个打印页出现的扩展页眉的列表),请在程序中使用打印语句(参见在创建列表时打印(页2))。2如果要允许用户从输出屏幕启动程序控制打印进程,请使用交互式报告方法(参见交互式列表(页Error!Notavalidlink.))。例如,第一次为输出屏幕创建列表时,请使用自定义用户界面,在该界面中可以用自定义功能码代替功能码PRI。在ATUSER-COMMAND事件中,请为假脱机系统重新创建列表(参见在创建列表时打印(页2))。在创建列表时打印如果创建列表时打印,由于系统可根据打印机的要求格式化列表,因此将有最好的打印输出。系统将根据打印格式设置列表宽度和页长。这样可避免行的宽度超出所使用的打印格式的范围。分页符将出现在物理打印页的末尾。报表程序在开始创建列表之前必须识别此打印格式。打印格式是打印参数的一部分。打印参数由用户交互地设置,也可从程序中设置。ABAP/4可能提供下列方法以便在创建列表时打印:如果报表程序显示选择屏幕,那么,用户可以在选择屏幕上选择“执行+打印”。可以使用NEW-PAGEPRINTON语句,从报表中启动打印输出。可以使用SUBMIT...TOSAP-SPOOL语句调用报表。可以使用功能模块JOB_SUBMIT将报表包含到后台作业。关于后台作业和功能模块JOB_SUBMIT的详细信息,请参见文档基本编程界面(页Error!Notavalidlink.)。创建列表时打印,可以控制打印格式。创建列表时打印,系统将每个完整页发送到假脱机系统,然后删除该页。因此已打印列表的长度仅受假脱机系统容量的限制。与显示列表相反,打印时系统不存储列表级别。由于打印的总列表从不存在,所以您无法查阅前面页内容。打印参数打印进程开始之前,必须设置打印参数。创建列表之后再打印时,系统使用打印参数中指定的打印格式将完整列表分割以符合打印页面,必要时还会作相应的截断。在创建列表时打印,系统使用打印格式实际格式化程序中的列表。打印参数由用户交互地设置,也可从程序中得到。下述主题包含:打印参数–概述对于每种打印进程,假脱机系统都需要一组完整一致的打印参数。在ABAP/4中,结构PRI_PARAMS(ABAP/4词典)的字段串表示一组打印参数。交互地传递打印参数时,在启动报表之后系统将显示下列对话窗口,并要求输入最重要的打印参数。下表说明“打印参数”对话窗口的输入字段与PRI_PARAMS组件的对应关系。输入字段组件说明输出设备PDEST打印机或传真机名称(从用户缺省值中预设)份数PRCOP打印的份数。(预设值:1)名称PLIST假脱机请求名称。只在您不想立即打印时设置此项。(用包括用户名(SY-UNAME)前三个字符的报表名称作预设值)。标题PRTXT假脱机请求的说明文本,该文本出现在封面上。权限PRBER对假脱机请求的权限。仅有权限的用户才可以查看3请求内容。立即打印PRIMM如果标记该字段,那么,系统在完成标记之后立即向“输出设备”发送假脱机请求。(从用户缺省值中预设)打印后删除PRREL如果标记该字段,系统在将假脱机请求输出到“输出设备”之后立即将其删除。否则系统将在“保留期”到期后删除假脱机请求。(从用户缺省值中预设)新假脱机请求PRNEW如果标记该字段,系统将创建新假脱机请求。否则系统尽量将该假脱机请求附加到尚未完成的请求中。在这种情况下,“名称”、“输出设备”、“份数”以及“格式”必须相同。保留期PEXPI系统在删除假脱机请求之前的保留天数。(预设值:8)存档模式ARMOD指定存档模式。要选择“打印”、“存档”和“打印及存档”(ARMOD值是1、2或3),请单击可能的条目按钮。(预设值:打印)SAP封面PRSAP如果该字段的值为‘X’,系统将创建包含若干数据的封面。如果该字段的值为‘D’,系统将根据输出设备的设置来决定封面打印与否。如果该字段为空,系统将不创建封面。(预设值:‘D’)接受者PRREC为“SAP封面”指定接受者名称。(预设值:用户名)部门PRABT为“SAP封面”指定部门名称。(其值从用户地址中预设)行数LINCT列表行数。该字段与REPORT语句中的LINE-COUNT选项有相同效果。不能将打印行数指定为0(不限制行数)。该字段中的最大数值取决于“格式”字段的内容。(值由内部预设)列数LINSZ列表每行的字符数。该字段与REPORT语句中的LINE-SIZE选项有相同效果。对于标准打印机,所指定的列数不能超过130。该字段中的最大数取决于“格式”字段的内容。(值由内部预设)格式PAART该字段实际确定了输出的页面格式。对应于所连接的打印机,用户可以在该字段中设置具有不同最大页长和行宽值的打印格式。(值由内部预设)“打印参数”对话窗口将检查输入值的一致性和完整性。如果打印参数不一致(例如,使用了指定输出设备不支持的输出格式),就无法打印。打印参数LINCT和LINSZ不能覆盖REPORT或NEW-PAGE语句中的LINE-COUNT和LINE-SIZE选项。如果您在程序中使用这些选项,则此处所指定的值将填充LINCT和LINSZ组件。“打印参数”对话窗口中相应的输入字段将不再接受输入。如果所指定的值超出了在“格式”字段中确定的最大值,则无法打印列表。除了打印参数,还有存档参数。然而,只要打开光学存档(存档模式为“存档”或“打印及存档”),就必须指定这些参数。在ABAP/4中,与ARC_PARAMS(ABAP/4字典)具有相同结构的字段串代表一组存档参数。如果已打开了光学存档并且交互设置了打印参数,则将显示另一个对话窗口,即“存档参数”窗口,在该窗口上用户必须设置最重要的存档参数:下表说明“存档参数”对话窗口的输入字段与“ARC_PARAMS”组件的对应关系。输入字段组件说明4对象类型SAP_OBJECTSAP对象的对象类型文档类型AR_OBJECT存档对象的文档类型信息INFO存档请求的简捷信息文本ARCTEXT存档请求的说明文本除非在对话窗口中所作的输入一致并且完整,否则无法将列表存档。要从程序中设置打印和存档参数,必须使用功能模块GET_PRINT_PARAMETERS(参见在程序中设置打印参数(页5))。系统不接受直接赋给打印和存档参数集的任何值。如果直接赋值并稍后使用这些值,将回出现运行时间错误。打印参数–预设置值用户选择下列选项之后将始终显示“打印参数”对话窗口选择屏幕上的“执行+打印”选项。列表界面上的“打印”选项。您不能禁止用户操作对话窗口。但可以在程序中对“打印参数”对话窗口进行预设置。请

1 / 14
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功