《SAPABAP程序设计基础教程之选择屏幕与列表屏幕9339.pptx》由会员分享,可在线阅读,更多相关《SAPABAP程序设计基础教程之选择屏幕与列表屏幕9339.pptx(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第8 章选择屏幕与列表屏幕标准列表屏幕通用操作功能在列表运行期维护列表头编程期间维护列表头文本符号(TextSymbols)的使用机制生成列表屏幕生成基础列表屏幕多层详细列表屏幕(DetailsListScreen)的创建过程列表隐藏域(Hide)的使用标准列表屏幕的格式化输出使用WRITE、SKIP 和ULINE 输出语句输出的内容将被系统输出传递到标准列表,标准列表屏幕的格式化输出SKIP:将当前行的输出位置定位到指定的行,主要用法为:SKIP:跳到下一行。SKIPn:在当前光标位置跳过n(n0)行。SKIPTOLINEline:将光标定位在第line 行上(line0)ULINE:画横线
2、ULINE.:在当前位置画一道横线ULINEATm(n):在当前行的第m 个位置画一个长度为n 的横线ULINE/m(n):先用“/”换一行,然后在当前行的第m 个位置画一个长度为n 的横线。WRITE:向列表屏幕缓冲区(ListBuffer)输出文本,当START-OF-SELECTION 事件结束的时候,列表屏幕缓冲区中的内容将集中输出到列表屏幕。WRITE 的主要用法是:WRITEAT/().:在指定位置、按指定 输出数据对象 的值到列表屏幕缓冲区。其中:斜线/表示开始新的一行。是最长为三位数字的数字或变量,表示在屏幕当前行上的第几个位置。是最长为三位数字的数字或变量,表示要输出长度。如
3、果语句中的 和 是直接的数字,而不是变量,则可以忽略关键字AT。WRITE 语句的格式化选项对于WRITE 语句,还可以使用不同的格式化选项,语法为:WRITE.对所有数据类型的格式化选项:对数字数据类型的格式化选项:对日期数据类型的格式化选项:WRITE 语句的格式化输出用WRITE 语句输出符号和图标可以用WRITE 语句在屏幕上输出符号和图标,其语法如下:WRITEASSYMBOL.WRITEASICON.用WRITE 语句显示复选框可以使用WRITE 语句向列表屏幕显示复选框,语法如下:WRITEASCHECKBOX.通过语句输入帮助插入WRITE 语句启动输入模式工具-1启动输入模式
4、工具-2启动输入模式工具-3定制WRITE 的符号输出-1定制WRITE 的符号输出-2定制WRITE 的符号输出-3定制WRITE 的符号输出-4定制WRITE 的符号输出-5设置列表的格式在ABAP 中,缺省的列表的行宽是83 个字符,缺省的每页的行数是6 万行,可以通过在报表声明语句的后面添加如下子句来改变缺省的报表的行数和列数的设置:REPORTLINE-SIZELINE-COUNT.其中的每页的行数包含了列表头(headings),列表内容,与列表脚注行(footerlines)。如:REPORTzmy_list_test_200LINE-SIZE30LINE-COUNT12.就是将
5、报表zmy_list_test_200 的列表屏幕的每页行数和每行字段数量分别改成了12 和30。可以在ABAP 程序中使用:NEW-PAGELINE-SIZELINE-COUNT.语句来覆盖一个列表缓冲区(ListBuffer)的缺省值,如果要恢复成系统的缺省值,可以将 和 的值设置成0.可以在报表声明语句的后面添加如下所示的子句来屏蔽报表的表头(ListHeaders)和报表的列头(ColumnHeaders):REPORTNOSTANDARDPAGEHEADING.也可以在ABAP 程序中使用:NEW-PAGENO-TITLE/WITH-TITLENEW-PAGENO-HEADING/W
6、ITH-HEADING来覆盖系统的缺省的设置。可以在程序的TOP-OF-PAGE 事件块中用代码生成报表页的表头,这对想在表头中输出某个程序变量的情况尤其有用。在程序中首次遇到WRITE/ULINE/SKIP 语句,生成初始的列表缓冲区时,TOP-OF-PAGE 事件别触发,如:REPORTzmy_list_test_200NOSTANDARDPAGEHEADING.TOP-OF-PAGE.WRITE:/Thisisalistheaderwhichissetbytheprogram.START-OF-SELECTION.“可以在程序中使用:SETLEFTSCROLL-BOUNDARY.语句来锁
7、定列表左边的由 指定个数的字段的数量,这样当列表在横向滚动的时候,这几个字段列将始终显示。选择屏幕选择屏幕的工作流程选择屏幕的功能选择屏幕声明选择屏幕单值输入变量的定义与使用多值输入选择屏幕后期事件处理选择屏幕事件SELECTION-SCREEN 中的输入检查与错误消息选择屏幕的设计与调用选择屏幕的封装可以使用语法:SELECTION-SCREENBEGINOFBLOCKWITHFRAMETITLEtitle.SELECTION-SCREENENDOFBLOCK.来创建一个选择屏幕。可选项WITHFRAMETITLEtitle 确定选择屏幕是否带有边框,而TITLEtitle 选项决定是否在边
8、框上带有文字说明。选择屏幕字段的校验可以为选择屏幕中的单个字段指定校验,采用语法:ATSELECTION-SCREENON.事件块中指定的代码来校验单个字段。也可以为指定的选择屏幕中的某个代码块中的所有字段指定校验,采用:ATSELECTION-SCREENONBLOCK.事件块中指定的代码来校验整个选择屏幕块。创建选择屏幕字段的F1Help 和F4HelpF1Help:ATSELECTION-SCREENONHELP-REQUESTFORF4Help:ATSELECTION-SCREENONVALUE-REQUESTFOR选择屏幕的调用定义一个选择屏幕的语法是:SELECTION-SCREE
9、NBEGINOFSCREENTITLEtitleASWindowSELECTION-SCREENENDOFSCREEN.其中 为必须指定的四位数字的选择屏幕的编号,ASWindow 可选项用于指定该选择屏幕是一个单独显示的模态对话框(ModalDialogBox),TITLEtitle 可选项用于指定屏幕的标题。在选择屏幕定义块的内部,可以使用PARAMETERS,SELECT-OPTIONS 来定义屏幕变量。调用一个选择屏幕的语法是:CALLSELECTION-SCREENSTARTINGATx1y1ENDINGATx2y2.其中 为要被调用的选择屏幕的四位数字编号,STARTING 可选项
10、中的(x1,y1)和(x2,y2)分别表示选择屏幕显示的左上角和右下角的(列号,行号)。采用逻辑数据库读取数据在创建报表程序时指定要使用的逻辑数据库用TCodeSE36 查看逻辑数据库F1S用逻辑数据库F1S 读取数据与采用三个嵌套的SELECT 语句的比较逻辑数据库的事件使用FIS 逻辑数据库的报表程序的事件触发顺序一个使用了逻辑数据库F1S 的报表程序执行逻辑数据库F1S 的事件处理流程逻辑数据库的流程终止STOP 语句:结束整个报表的输出,并且触发END-OF-SELECTION 事件EXIT 语句:退出所有的GET 代码块,并且不触发任何的后续事件,直接 转向基础列表屏幕输出屏幕显示(
11、BasicListScreen)。因 此EXIT 的功能用于退出GET 事件块,其功能与STOP 基本一 致,只是它不会触发后续事件。REJECT.语句:中止当前GET 事件并转向逻辑数据库同一层的下一个GET 事件,即转向数据库中的下一行数据,格式如下:REJECT.如:ifspfli-connid=0017.REJECT.endif.REJECT node_name.语句:中止当前和所有的同一级别节点的所有后续GET 事件,执行当前层高层次(即node_name 所在那一层)的下一个逻辑数据库GET 事件,语法如下:REKECTnode_name.。逻辑数据库表的层次结构中,节点名称node_name 是当前GET 事件层的高层节点。有条件中止GET 事件:使用CHECK 语句可以有条件地终止GET 事件块的处理,之后系统将触发逻辑数据库同一层次上的下一个GET 事件,即读取当前表的下一行。