《SAPABAP程序设计基础教程第8章选择屏幕与列表屏幕.ppt》由会员分享,可在线阅读,更多相关《SAPABAP程序设计基础教程第8章选择屏幕与列表屏幕.ppt(46页珍藏版)》请在三一办公上搜索。
1、第8章选择屏幕与列表屏幕,标准列表屏幕通用操作功能,在列表运行期维护列表头,编程期间维护列表头,文本符号(Text Symbols)的使用机制,生成列表屏幕,生成基础列表屏幕,多层详细列表屏幕(Details List Screen)的创建过程,列表隐藏域(Hide)的使用,标准列表屏幕的格式化输出,使用 WRITE、SKIP和ULINE输出语句输出的内容将被系统输出传递到标准列表,标准列表屏幕的格式化输出SKIP:将当前行的输出位置定位到指定的行,主要用法为:SKIP:跳到下一行。SKIP n:在当前光标位置跳过n(n0)行。SKIP TO LINE line:将光标定位在第line行上(l
2、ine0),ULINE:画横线ULINE.:在当前位置画一道横线ULINE AT m(n):在当前行的第m个位置画一个长度为n的横线ULINE/m(n):先用“/”换一行,然后在当前行的第m个位置画一个长度为n的横线。,WRITE:向列表屏幕缓冲区(List Buffer)输出文本,当START-OF-SELECTION事件结束的时候,列表屏幕缓冲区中的内容将集中输出到列表屏幕。WRITE的主要用法是:WRITE AT/().:在指定位置、按指定输出数据对象的值到列表屏幕缓冲区。其中:斜线/表示开始新的一行。是最长为三位数字的数字或变量,表示在屏幕当前行上的第几个位置。是最长为三位数字的数字或
3、变量,表示要输出长度。如果语句中的和是直接的数字,而不是变量,则可以忽略关键字AT。,WRITE语句的格式化选项,对于WRITE语句,还可以使用不同的格式化选项,语法为:WRITE.对所有数据类型的格式化选项:,对数字数据类型的格式化选项:,对日期数据类型的格式化选项:,WRITE语句的格式化输出,用WRITE语句输出符号和图标,可以用WRITE语句在屏幕上输出符号和图标,其语法如下:WRITE AS SYMBOL.WRITE AS ICON.,用WRITE语句显示复选框,可以使用WRITE语句向列表屏幕显示复选框,语法如下:WRITE AS CHECKBOX.,通过语句输入帮助插入WRITE
4、语句,启动输入模式工具-1,启动输入模式工具-2,启动输入模式工具-3,定制WRITE的符号输出-1,定制WRITE的符号输出-2,定制WRITE的符号输出-3,定制WRITE的符号输出-4,定制WRITE的符号输出-5,设置列表的格式,在ABAP中,缺省的列表的行宽是83个字符,缺省的每页的行数是6万行,可以通过在报表声明语句的后面添加如下子句来改变缺省的报表的行数和列数的设置:REPORT LINE-SIZE LINE-COUNT.其中的每页的行数包含了列表头(headings),列表内容,与列表脚注行(footer lines)。如:REPORT zmy_list_test_200 LI
5、NE-SIZE 30 LINE-COUNT 12.就是将报表zmy_list_test_200的列表屏幕的每页行数和每行字段数量分别改成了12和30。可以在ABAP程序中使用:NEW-PAGE LINE-SIZE LINE-COUNT.语句来覆盖一个列表缓冲区(List Buffer)的缺省值,如果要恢复成系统的缺省值,可以将和的值设置成0.,可以在报表声明语句的后面添加如下所示的子句来屏蔽报表的表头(List Headers)和报表的列头(Column Headers):REPORT NO STANDARD PAGE HEADING.也可以在ABAP程序中使用:NEW-PAGE NO-TIT
6、LE/WITH-TITLE NEW-PAGE NO-HEADING/WITH-HEADING来覆盖系统的缺省的设置。可以在程序的TOP-OF-PAGE事件块中用代码生成报表页的表头,这对想在表头中输出某个程序变量的情况尤其有用。在程序中首次遇到WRITE/ULINE/SKIP语句,生成初始的列表缓冲区时,TOP-OF-PAGE事件别触发,如:REPORT zmy_list_test_200 NO STANDARD PAGE HEADING.TOP-OF-PAGE.WRITE:/This is a list header which is set by the program.START-OF-
7、SELECTION.“可以在程序中使用:SET LEFT SCROLL-BOUNDARY.语句来锁定列表左边的由指定个数的字段的数量,这样当列表在横向滚动的时候,这几个字段列将始终显示。,选择屏幕,选择屏幕的工作流程,选择屏幕的功能,选择屏幕声明,选择屏幕单值输入变量的定义与使用,多值输入,选择屏幕后期事件处理,选择屏幕事件SELECTION-SCREEN中的输入检查与错误消息,选择屏幕的设计与调用,选择屏幕的封装可以使用语法:SELECTION-SCREEN BEGIN OF BLOCK WITH FRAME TITLE title.SELECTION-SCREEN END OF BLOCK
8、.来创建一个选择屏幕。可选项 WITH FRAME TITLE title 确定选择屏幕是否带有边框,而TITLE title选项决定是否在边框上带有文字说明。,选择屏幕字段的校验,可以为选择屏幕中的单个字段指定校验,采用语法:AT SELECTION-SCREEN ON.事件块中指定的代码来校验单个字段。也可以为指定的选择屏幕中的某个代码块中的所有字段指定校验,采用:AT SELECTION-SCREEN ON BLOCK.事件块中指定的代码来校验整个选择屏幕块。,创建选择屏幕字段的F1 Help和F4 Help,F1 Help:AT SELECTION-SCREEN ON HELP-REQ
9、UEST FOR F4 Help:AT SELECTION-SCREEN ON VALUE-REQUEST FOR,选择屏幕的调用,定义一个选择屏幕的语法是:SELECTION-SCREEN BEGIN OF SCREEN TITLE titleAS Window SELECTION-SCREEN END OF SCREEN.其中为必须指定的四位数字的选择屏幕的编号,AS Window可选项用于指定该选择屏幕是一个单独显示的模态对话框(Modal Dialog Box),TITLE title 可选项用于指定屏幕的标题。在选择屏幕定义块的内部,可以使用PARAMETERS,SELECT-OPT
10、IONS来定义屏幕变量。,调用一个选择屏幕的语法是:CALL SELECTION-SCREEN STARTING AT x1 y1 ENDING AT x2 y2.其中为要被调用的选择屏幕的四位数字编号,STARTING可选项中的(x1,y1)和(x2,y2)分别表示选择屏幕显示的左上角和右下角的(列号,行号)。,采用逻辑数据库读取数据,在创建报表程序时指定要使用的逻辑数据库,用TCode SE36查看逻辑数据库F1S,用逻辑数据库F1S读取数据与采用三个嵌套的SELECT语句的比较,逻辑数据库的事件,使用FIS逻辑数据库的报表程序的事件触发顺序,一个使用了逻辑数据库F1S的报表程序,执行逻辑
11、数据库F1S的事件处理流程,逻辑数据库的流程终止,STOP语句:结束整个报表的输出,并且触发END-OF-SELECTION事件EXIT语句:退出所有的GET代码块,并且不触发任何的后续事件,直接 转向基础列表屏幕输出屏幕显示(Basic List Screen)。因 此EXIT的功能用于退出GET事件块,其功能与STOP基本一 致,只是它不会触发后续事件。REJECT.语句:中止当前GET事件并转向逻辑数据库同一层的下一个 GET事件,即转向数据库中的下一行数据,格式如下:REJECT.如:if spfli-connid=0017.REJECT.endif.,REJECT node_name.语句:中止当前和所有的同一级别节点的所有后续GET事件,执行当前层高层次(即node_name所在那一层)的下一个逻辑数据库GET事件,语法如下:REKECT node_name.。逻辑数据库表的层次结构中,节点名称node_name是当前GET事件层的高层节点。有条件中止GET事件:使用CHECK语句可以有条件地终止GET事件块的处理,之后系统将触发逻辑数据库同一层次上的下一个GET事件,即读取当前表的下一行。,