1、第二周测试题1.选择屏幕元素 PARAMETERS 和 SELECT-OPTIONS 有何区别?(6)答:PARAMETERS 是单值框,SELECT-OPTIONS 表示范围。2.内表有哪几种类型?结构体、表头和工作区有什么区别?(4)答:三种类型:标准表,排序表,哈希表.结构体、表头和工作区实质上一样,都是变量的集合 .只是根据用途不同称呼不同罢了.3.AT SELECTION-SCREEN ON VALUE-REQUEST FOR . 此代码作用是什么?(4)答:此代码用于设置的输入值帮助也叫 F4 帮助.4.简述 INNER JOIN 和 LEFT OUTER JOIN 的区别。 (
2、12)答:两者都用于数据库查询语句 SELECT 中,用于表之间联合查询,但有区别:如使用 INNER JOIN:查询结果仅包含两个表中彼此相对应的记录(如果右侧表中没有对应的记录,则左侧表中的记录也不抽出). 如使用 LEFT OUTER JOIN:查询结果包含其左侧表中的所有记录,但仅包含其右侧表中相对应的记录。 (如果右侧表中没有对应的记录,则左侧表中的记录同样抽出)5.在内表操作中:APPEND 和 COLLECT 有什么区别?( 4)答:APPEND 往内表中增加一条记录,COLLECT 会先与内表中已有记录比较非数值字段,如果有相同的,则数量字段相加而不会新增一条记录。如果没有相同
3、的,则与 APPEND 一样增加一条记录。6.在内表数据清理中:REFRESH 和 CLEAR 有什么区别。 (4)答:对于不带表头的内表,两者没有区别,均清空表所有记录。但对于带表头的内表,REFRESH 清空所有表记录但不清空表头,而 CLEAR 清空表头但不清空记录。7.选择屏幕初始化和数据校验分别在哪个事件下。 (4)答:初始化在事件:INITIALIZATION数据校验在事件: AT SELECTION-SCREEN.8.LOOP 与 READ 分别是什么作用。 (4)答:LOOP 循环读取内表。 READ 读取内表一条数据。9.DELETE ADJACENT DUPLICATES
4、FROM itab COMPARING col1.这语句作用是什么?COMPARING 的作用是什么?( 6)答:删除重复行。COMPARING 指明比较的字段,通过这些字段来判定是否重复。10.简述子程序形参和实参的区别。 (6)答:形参用于子程序 FORM 定义中,实参用于 PERFORM 语句中。在实际调用 FORM 过程中,形参将被实参替代。11.程序调试时,F5,F6 和 F7 的区别是什么?(10)答:F5 为单帧调试,执行程序中每句代码,包括子程序和函数。F6 只在当前所在程序按代码单步执行,不进入子程序或函数。F7 立即执行完所在的子程序或函数,返回上一层代码。12.SELEC
5、T FROM FOR ALL ENTRIES IN WHERE.使用代码 FOR ALL ENTRIES IN 应注意什么关键点?( 12)答:FOR ALL ENTRIES IN 应注意:先确认参照的 不为空。有时还得考虑中是否包含的所有 KEY 字段,如果不包含全 KEY,取出来的结果如果有重复的记录会自动去掉只留下一条,因而可能影响结果的正确性。13.写出以下相关数据库表:(6)General Material Data ( MARA )Plant Data for Material( MARC )Storage Location Data for Material( MARD )Sal
6、es Document: Header Data ( VBAK )Sales Document: Item Data ( VBAP )14.写出以下相关事务代码 T-CODE:(6)编辑消息类( SE91 )编辑 List HeadingsSelection TextsText Symbols ( SE32 )编辑工具栏 STATUS ( SE41 )创建物料 ( MM01 )创建销售订单 ( VA01 )对象导航器 ( SE80 )15.下图是一张自定义的数据库表:(12)现在有需求要制作一报表程序输出所有学生的平均成绩。请简述制作过程,并预计显示结果,可以写些简单代码。只要意思明了即可。答:先得定义一个内表 IT_TAB 含两字段:学生编号和平均成绩。使用组合查询:SELECT 学生编号 AVG( 成绩 ) AS 平均成绩INTO CORRESPONDING FIELDS OF TABLE IT_TABFROM ZTABGROUP BY 学生编号.使用 LOOP 语句循环输出内表 IT_TAB。