- 1、本文档共77页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
1
第七章 转到列表过程
概览
如果经常想从您的事务中生成一个列表。可使用下面两种方法。
内容
使用LEAVETOLIST-PROCESSING1
在列表模式中使用GUI状态2
返回对话模式2
提交一个独立的报告
使用SUBMIT语句直接从事务中启动一个独立的报表。SUBMIT语句的用法在提
交报表(页Error!Notavalidlink.)中详细说明。
从模块存储中使用LEAVETOLIST-PROCESSING生成列表。
LEAVETOLIST-PROCESSING语句是从模块存储中生成列表时所使用的语句。该语句允许您在对话程序中从对话模式切换到列表模式。可在模块存储中对所需的列表处理逻辑进行编码。
当运行LEAVETOLIST-PROCESSING语句时,模块存储仍旧保持执行的控制权。事务的数据区域
对报表处理编码来说完全可用,因此没必要来回传送参数。
当您进入列表模式时,可以使用交互式报表可用的所有ABAP/4工具来生成报表。当您想定制字段帮助或可能取值的显示时,这对PROCESSONVALUE-REQUEST或PROCESSONHELP-REQUEST
过程尤其有用。
有关信息参见下列资料:
使用LEAVETOLIST-PROCESSING(页1)
在列表模式中使用GUI状态(页2)
返回对话模式(页2)
关于如何进入列表模式的具体示例,参见事务TZ70(在同系统一起发表的开发类SDWA中)和本章中的讨论。
事务示例:转到列表模式(页3)
使用LEAVETOLIST-PROCESSING
要使用LEAVETOLIST-PROCESSING,请把该语句放在开始列表模式处理的代码中。该语句要做两件事:
切换到列表模式处理
从此处开始,可以编码发布和控制报表所需的报表语句。所有标准的同报表有关
的事件和特征都可用:ATLINE-SELECTION、功能键、基本的详细列表层、窗口
等等。
把标准列表输出设置为当前屏幕的“下一屏”
系统提示标准列表输出应当在当前屏幕显示之后。根据应用程序需要,可以让两
者都显示,或者禁止当前屏幕显示而替换为列表输出。
由清除器封装所有单个子程序中的报表代码是很普遍的事。事务TZ70的示例如下:
****ABAP/4模块和格式:****
MODULEPREPARE_LISTOUTPUT.
LEAVETOLIST-PROCESSINGANDRETURNTOSCREEN0.
PERFORMEDIT_LIST.
LEAVESCREEN.
ENDMODULE.
FORMEDIT_LIST.
SETPF-STATUSLIST.
SETTITLEBAR LSTWITHSFLIGHT-CONNIDSFLIGHT-CARRID.
NEWLINE-SIZE72.
SELECT*FROMSFLIGHTWHERECARRID=SFLIGHT-CARRID
ANDCONNID=SFLIGHT-CONNID.
WRITE:/ SY-VLINENO-GAP,
SFLIGHT-FLDATE COLOR4INTENSIFIEDOFFNO-GAP,
SY-VLINENO-GAP,
SFLIGHT-PRICE COLOR2INTENSIFIEDOFFNO-GAP,
ENDFORM.
2
列表模式在对话模式中如何工作
运行时,模块存储保持执行控制。可以用PBO或PAI为当前屏幕编制列表模式逻辑代码。选择哪一个取决于您希望列表在当前屏幕之后输出,还是取代当前屏幕。在两种情况下,当前屏幕终止时,列表都会出现。(当控制遇到LEAVESCREEN语句或者到PAI结尾时屏幕处理都会终止。)
要在显示当前屏幕之后显示列表输出:
把LEAVETOLIST-PROCESSING逻辑放在PAI的结尾。以这种方式编码,程序就会在当前PAI处理中响应列表输出请求。从列表显示中返回时,系统就会从PBO的头部开始,重复当前屏幕过程。
要显示列表输出而不显示当前屏幕:
在PBO中编制LEAVETOLIST-PROCESSING逻辑代码,后面加上LEAVESCREEN。这样就告诉系统显示列表而不显示当前屏幕。当前屏幕的PAI过程将
文档评论(0)