SAP面试题目(ABAP)
sapabap面试题目及答案(3篇)
第1篇一、基础知识1. 请简述SAP ABAP开发环境的组成。
答案:SAP ABAP开发环境主要包括以下组成部分:(1)SAP GUI:用于与SAP系统交互的图形用户界面。
(2)SAP SE38/SE80:用于编写、调试和测试ABAP代码的编辑器。
(3)SAP SScr:用于开发SAP Screen Painter屏幕画家的工具。
(4)SAP ADT:用于开发SAP Advanced Business Application Programming技术的工具。
(5)SAP NetWeaver:SAP的集成平台,提供各种开发、运行和管理工具。
2. 请解释SAP ABAP中的数据类型。
答案:SAP ABAP中的数据类型分为以下几类:(1)基本数据类型:包括整型(INTEGER)、浮点型(FLOAT)、字符型(CHAR)、日期型(DATETIME)等。
(2)结构化数据类型:包括结构(STRUCTURE)、表(TABLE)、内表(INTERNAL TABLE)等。
(3)用户定义数据类型:包括类(CLASS)、接口(INTERFACE)等。
3. 请简述SAP ABAP中的模块化编程。
答案:SAP ABAP中的模块化编程是指将程序划分为多个模块,每个模块负责特定的功能。
模块化编程的优点如下:(1)提高代码的可读性和可维护性。
(2)方便代码的重用。
(3)便于调试和测试。
4. 请解释SAP ABAP中的异常处理。
答案:SAP ABAP中的异常处理是指程序在运行过程中遇到错误时,能够及时捕获并处理这些错误。
异常处理的基本步骤如下:(1)声明异常:在程序中声明可能发生的异常。
(2)抛出异常:当程序遇到错误时,抛出异常。
(3)捕获异常:在程序中捕获并处理异常。
二、高级应用1. 请解释SAP ABAP中的内表(Internal Table)。
答案:SAP ABAP中的内表是一种临时存储数据的结构,类似于C语言中的数组。
abap面试题
abap面试题1. 介绍ABAP编程语言ABAP(Advanced Business Application Programming)是一种高级商务应用程序编程语言,是SAP系统的核心编程语言,用于开发和定制SAP软件。
它是一种高级的事件驱动编程语言,结合了批处理和事务处理的特点,支持面向对象编程和数据库交互。
2. 什么是ABAP Workbench?ABAP Workbench是一个集成开发环境(IDE),用于开发、维护和测试ABAP程序。
它提供了一系列工具和功能,包括代码编辑器、调试器、数据字典、表格维护器等,方便开发人员进行ABAP程序的开发和调试。
3. 请解释ABAP的数据字典是什么?ABAP的数据字典是一个集中管理和维护数据库对象的工具。
它提供了定义、创建、修改和删除数据库表、视图、数据类型、域、索引等的功能。
通过数据字典,开发人员可以方便地管理和维护与数据库相关的对象。
4. 请解释ABAP中的模块池和程序包的概念。
模块池是一个逻辑单元,用于存放相关的ABAP程序。
在模块池中,可以定义和存放ABAP程序、函数模块、子程序等。
程序包是一个专门的目录存放模块池,可以将多个模块池组织在一个程序包中,方便管理和维护。
5. 什么是BADI(Business Add-Ins)?BADI是一种在SAP系统中进行扩展的方法。
它是一些预定义的接口,当某个特定事件发生时,可以调用这些接口来增强或修改系统的功能。
通过实现BADI接口,可以在不修改SAP标准代码的情况下进行功能的定制和扩展。
6. 解释RFC(远程函数调用)是什么及其在ABAP中的作用。
RFC(Remote Function Call)是一种在不同系统之间进行通信的机制。
它允许在SAP系统和其他外部系统之间进行远程函数调用。
在ABAP中,可以使用RFC机制与其他系统进行数据交换和共享功能,实现不同系统之间的集成。
7. 如何在ABAP中处理异常?在ABAP中,可以使用EXCEPTION语句处理异常。
abap面试题sap
abap面试题sapABAP面试题答案(SAP)1. 介绍ABAP编程语言ABAP(Advanced Business Application Programming)是SAP的专有编程语言,用于开发和定制SAP应用程序。
它是一种高级的、事件驱动的编程语言,具有丰富的数据处理和业务逻辑功能,并与SAP的数据库和服务器进行无缝集成。
2. 解释SAP系统架构SAP系统架构主要包括三个层次:表示层、应用层和数据库层。
- 表示层:提供用户界面,允许用户通过各种设备(例如PC、手机等)与SAP系统进行交互。
- 应用层:处理业务逻辑和事务处理。
ABAP代码在应用服务器上执行,包括数据处理、验证和逻辑控制等。
- 数据库层:存储系统数据和应用程序数据。
3. 解释ABAP数据字典ABAP数据字典是用于定义和管理SAP应用程序中使用的数据对象的工具。
它提供了各种数据类型、表、视图、数据元素和域,用于组织和管理数据。
通过数据字典,开发人员可以方便地创建和修改数据库表、数据类型等结构。
4. 什么是用户退出(User Exit)和什么时候使用它?用户退出是在SAP系统中嵌入自定义代码的一种方法。
它允许开发人员在标准SAP事务处理中添加自定义逻辑,以满足特定的业务需求。
用户退出通常在标准SAP功能无法满足业务需求时使用。
5. 解释BADI(Business Add-Ins)和它们的优势BADI是一种在SAP系统中实现面向对象编程的技术。
它允许开发人员在SAP标准事务过程中插入自定义逻辑,以实现特定的业务需求。
与用户退出相比,BADI具有更好的可扩展性和灵活性,并可通过简单的配置进行激活或停用。
6. 什么是RFC(远程函数调用)?RFC是一种用于在SAP系统之间进行远程通信的协议和技术。
它允许一个SAP系统中的程序调用另一个SAP系统中的函数或方法。
RFC广泛应用于SAP系统的集成和数据交换。
7. 解释SAP Smart FormsSAP Smart Forms是一种用于创建和管理电子表单的工具。
sap abap 面试题
sap abap 面试题SAP ABAP面试题导语:SAP ABAP(Advanced Business Application Programming)是一种高级商务应用程序编程语言,用于开发SAP应用程序。
面试时,了解ABAP的基本概念和技术是非常重要的。
本文将讨论一些常见的SAP ABAP面试题。
1. 介绍SAP ABAP是什么以及它的主要特点。
SAP ABAP是一种面向对象的编程语言,用于开发SAP应用程序。
它的主要特点包括:- ABAP是一种高级语言,具有丰富的库函数和开发工具。
- ABAP支持与SAP系统的连接,可以访问和修改SAP系统内的数据。
- ABAP可以通过SAP GUI(图形用户界面)或Web浏览器进行访问。
- ABAP支持事务处理和批处理功能。
- ABAP具有强大的调试功能,可以帮助开发人员快速定位和修复错误。
2. 什么是SAP数据字典?SAP数据字典是一个数据库的元数据存储库。
它包含SAP系统中使用的所有数据结构的定义,如表、视图、数据类型、域等。
开发人员可以使用数据字典创建和管理数据库对象,并在ABAP程序中使用这些对象。
3. ABAP中的内表和数据库表有什么区别?内表(Internal Table)是在ABAP程序中定义的一种数据结构,用于在内存中存储和处理数据。
内表只存在于程序运行期间,并且通常用于处理临时数据。
数据库表是在SAP数据字典中定义的,用于在数据库中永久存储数据。
数据库表可以在多个ABAP程序之间共享,并且数据可以长期保留。
4. 怎样避免ABAP程序中的死循环?为了避免ABAP程序中的死循环,可以采取以下措施:- 在循环中使用BREAK语句,当满足某个条件时跳出循环。
- 在循环中使用EXIT语句,直接退出整个程序。
- 确保循环条件能够最终为假,避免无限循环。
5. 请解释什么是BADI(Business Add-In)?BADI是SAP系统中用于扩展或修改现有功能的一种方法。
abap 常用面试问题
abap 常用面试问题
1. ABAP是什么?它是用于开发SAP应用程序的编程语言。
2. ABAP程序的结构是怎样的?它由于一系列的模块组成,包括数据定义、逻辑处理和用户界面。
3. 请解释一下ABAP的数据字典。
数据字典是ABAP中的一个核心组成部分,它用于定义和管理数据库表、视图和数据类型。
4. 什么是内表?内表是ABAP中的一种数据对象,类似于程序中的一个数组,用于存储和处理数据。
5. ABAP的优势是什么?ABAP具有强大的数据处理功能,可以与SAP系统紧密集成,并且具有良好的性能。
6. 如何在ABAP中调用函数?可以使用CALL FUNCTION语句来调用函数模块。
7. 如何使用ABAP来处理异常情况?可以使用TRY...CATCH...ENDTRY语句块来捕获和处理异常。
8. 什么是ABAP Objects?ABAP Objects是ABAP的一个面向对象编程框架,可以创建和管理面向对象的程序。
9. 如何处理ABAP的调试?可以使用ABAP调试器来逐步调试ABAP程序,查看变量的值和程序的执行流程。
10. 请解释一下ABAP的事务处理。
事务处理是ABAP中的一种机制,用于在SAP系统中执行一系列相关的操作,保证数据的一致性。
SAPabap笔试面试题目
SAP abap 笔试面试题目问题:SAP abap笔试面试题目回答:一选择题(共40题,未特殊注明则均为单选)1,下面的语句中,哪一个语句编译会报错(假设XXX和结构sflight都已经定义).(c)A)write at 12 XXX.B)data type type sflight.C)sflight-price = a+b.D)write sy-vline.2.在ABAP/4的开发工作中,哪一个TCODE是直接进入就可以创建程序,函数组以及程序内部各种元素的.(a )A)SE80 B) SE11 C) SE93 D ) SE163.直接进入就可以查询表的结构是哪个TCODE. (b )A) SE80 B) SE11 C) SE93 D ) SE164.很多表当中都有一个字段,叫做MANDT,为第一个主键,这个字段的用处是.(b)A)区分后台数据库的类型B)区分表中记录属于哪个客户端(client )C)区分表的数据量大小D)SAP系统保留字段5.下面的定义语句中,哪一个语句定义出来的结果是一个内表A)DATA zsflight TYPE sflight.B)DATA: COLS LIKE LINE OF TC-COLS.C)TABLES SFLIGHT.D)DATA: zsflight TYPE TABLE OF sflight.6.ABAP中三种基本的数据对象是.(a )A)内表结构基本数据对象B)内表程序语句C)字符数字日期D)语句程序表7.语句loop at itab into wa. 的准确意思是.(d )A)把wa中的值进行循环,每一次循环都写回内表B)求出迷宫itab的出口放在wa里C)对内表itab的数值列进行累加放入wa中D)对内表itab进行循环,把循环中每一行的结果写入结构中wa 8.程序中执行了这么一段代码DATA it_sflight type sflight with header line.Loop at it_sflight.it_sflight-carrid = AA .Modify it_sflight.En dloop.该段语法中出现了四次it_sflight ,其中后三次分别代表的是内表还是结构. (b )A) 内表内表内表B) 内表结构内表C) 内表结构结构D) 内表内表结构9.在设计报表程序时,选择的程序类型应该是. (a )A)可执行程序B)模块池程序C)包含程序D)函数组程序10.在报表程序的屏幕筛选条件里,SELECT-OPTIONS定义出来的元素是. (a)A)内表B)结构C)基本数据对象D)指针型字段11.在报表程序的屏幕事件里,有一个事件叫做ATLINE-SELECTION.参见如下代码:WRITE / ‘ ABAP '.AT LINE-SELECTION.WRITE / ‘ TEST'.那么,以下哪种情况会发生. (b )A)先显示出一行ABAP,当用户双击一次时,屏幕上在原来ABAP那行下面换行一次显示出一行新的TESTB)先显示出一行ABAP,当用户双击一次时,屏幕上每次只显示出一行的TEST取代原先的屏幕C)先显示出一行ABAP,当用户双击一次时,屏幕上永远只显示出一行TEST(放在原来ABAP那行下面)D)先显示出一行ABAP,当用户第一次双击时,产生一个新屏幕,显示一行TEST然后每次双击都在其下换行显示一行新的TEST12.选择事件的执行顺序正确的一组. (a )A )INITIALIZATION / START-OF-SELECTION / TOP-OF-PAGE / AT LINE-SELECTIONB )INITIALIZATION / TOP-OF-PAGE /START-OF-SELECTION / AT LINE-SELECTIONC)START-OF-SELECTION/ INITIALIZATION / TOP-OF-PAG /AT LINE-SELECTIOND)INITIALIZATION / TOP-OF-PAGE / AT LINE-SELECTION /START-OF-SELECTION13.在层级报表的开发里,下面哪个条件不是必需的. (d)A)对内表先按层级字段排序B )对内表和结构定义时层级字段必须排在前面C)层级字段不能出现在at和end at语句之外D)层级字段必须存在14.在明细报表的开发中,双击一行转向明细报表的取数依据是. (c )A )你双击那行的主键字段B)你双击的那个字段本身C)你双击那行在循环中预先hide的字段D)你双击那行在循环中预先已经write出来的字段15.在交互式报表的设计中,假如想在明细报表里加入任意字段的排序功能,请选择正确的选项(多选).(ad )A)要先用get cursor field XXX. 取得字段B)对内表排序时该字段要用括号括起来C)在排序时要把该字段加上一个数字以去除前面的结构名称(如果是用结构-字段定义的话)D)排序后显示完要把sy-lsind = 0,以防止产生多余的list16.在屏幕编程的设计中,下面共有四个主要步骤:a设计屏幕的格式(有哪些字段,放在什么位置)b设计屏幕的整体属性c设计屏幕上字段的属性d编写屏幕的流逻辑(flow logic )请选择通常请况下正确的顺序.(c )A)a b c dB)c d b aC)b a c dD)d b a c17.如果屏幕A的下一个屏幕仍然是 A ,那么当执行程序时,对于屏幕的主要事件,下面哪种顺序是正确的.(d)A)A 的P AI A 的PBO A 的PAI A 的PBOB)A 的PBO A 的PAI A 的PAI A 的PBOC)A 的PAI A 的PAI A的PBO A 的PBOD)A 的PBO A 的PAI A 的PBO A 的PAI18.屏幕编程中一个屏幕所使用的工具栏应如何设计.(a)A)先设计一个Gui Status,再在程序中绑定B)先设计一个Gui Titles,再在程序中绑定C)在程序中用Add butt on 语法添加D)在屏幕设计格式的界面上添加工具栏及其按钮19.以下四种系统变量,各是什么含意.(d)SY -UCOMM SY -DATUM SY-SUBRC SY-TABIXA)用户触发的屏幕上的功能码当前日期当前时间循环次数B)当前日期当前时间循环次数用户触发的屏幕上的功能码C)用户触发的屏幕上的功能码循环次数语句执行结果返回值当前日期D)用户触发的屏幕上的功能码当前日期语句执行结果返回值循环次数20.一个程序的子屏幕编程是如何实现的.(c)A)子屏幕区域外加屏幕(属性设置为正常屏幕)B)自定义控件外加屏幕(属性设置为正常屏幕)C)子屏幕区域外加屏幕(属性设置为子屏幕)D)自定义控件外加屏幕(属性设置为子屏幕)21.对于表格控件和内表的绑定的做法,下面哪种说法是正确的(a)A) PBO时同步循环内表和表格控件把内表的值写入表格控件,PAI 时用同样的循环把表格控件的值写回内表B)P BO时同步循环内表和表格控件把表格控件的值写入内表,PAI 时用同样的循环把内表的值写回表格控件C)在定义内表时定义与之绑定的表格控件,PBO和PAI事件要各循环内表一次D)在制作表格控件时定义与之绑定的内表,PBO和PAI事件要各循环表格控件一次22.如果要把表格控件某列的属性动态的改变成不可输入,下面哪种做法是可行的.(B)A)在PAI 事件中修改table 的general attribute 值B)在PBO 事件中修改table 的general attribute 值C)在PAI事件中取得table的COLS属性,利用它本身是个内表的特点循环找到该列修改之,修改完后写回COLS内表D)在PAI事件中取得table的COLS属性,利用它本身是个结构的特点找到其中表示该列的字段修改23.要对表格控件增加一个可由用户写入信息的列,下面哪种方式是可行的(多选).(ad)A)在设计屏幕上点击dictionary / program fields window 按钮,输入字典表或者程序中定义的元素,把它拖到表格控件中B)在设计屏幕上修改table的attributes,增加一列C)在设计屏幕中的表格控件里拖入一个text field(文本字段)D)在设计屏幕中的表格控件里拖入一个input/output field(输入/输出字段)24.在编写ALV GRID CONTROL时,应遵循以下哪种顺序.(a)A)在屏幕上建区域,创建区域对象,创建ALVGRID对象,调用ALVGRID 的set_table_for_first_display 方法B)在屏幕上建区域,创建ALVGRID对象,创建区域对象,调用ALVGRID 的set_table_for_first_display 方法C)调用ALVGRID 的set_table_for_first_display 方法,在屏幕上建区域,创建ALVGRID对象,创建区域对象D)创建区域对象,调用ALVGRID 的set_table_for_first_display 方法,在屏幕上建区域,创建ALVGRID对象,25.自己制作一个搜索帮助,引用的表是SBOOKINGSQialogType 是Dialog with value restriction, 里面customid 禾口name 这两个字段的IMP属性打勾,customid ,name,carrid,connid 这四个字段的EXP属性打勾,四个字段都设定了LPOS和SPOS,这个搜索帮助的输出效果是.(d)A)先输出两个栏位的筛选屏幕,再按照筛选结果输出两个栏位的表格信息让用户选择,选择结果影响到四个栏位B)先输出两个栏位的表格信息让用户选择,选择结果影响到四个栏位C)先输出四个栏位的表格信息让用户选择,选择结果影响到两个栏位D)先输出四个栏位的筛选屏幕,再按照筛选结果输出四个栏位的表格信息让用户选择,选择结果影响到两个栏位26.ABAP的OPEN SQL的取数语句是否可以实现数据库无关性,其原因是什么.(c)A)不可以,数据库的SQL格式不同B)可以,因为它的名字叫做OPEN SQLC)可以,因为中间有一层DB In terface做转换D)不可以,各种数据库的版本不同27.对ABAP的OPEN SQL语句的两个返回系统变量,描述正确的是.(b)A) Sy-dbcnt表示执行结果是否正确,sy-subrc表示执行影响到的数据条数B)S y-dbcnt表示执行影响到的数据条数,sy-subrc表示执行结果是否正确C) Sy-dbamt表示执行结果是否正确,sy-sud nc表示执行影响到的数据条数D)S y-dbamt表示执行影响到的数据条数,sy-sudnc表示执行结果是否正确28.一个表TA有三个字段,其中第一个字段是主键,目前有一条记录是1 / ‘first ' / 19,结构wa_result是和表相同类型的,当前值是2 / ‘ seco nd ' / 20 .执行OPEN SQL 语句:modify TA from wa_result.执行后对系统的影响为.(b )A)没有任何影响B)T A 有两条记录 1 / ‘ first ' / 19 和 2 / ‘ seco nd ' / 20 C)T A 有一条记录 2 / ‘ seco nd ' / 20D)系统出错退出,对表没有任何影响29.SAP对锁的主要实现手段是.(a)A)在SE11里加锁对象,然后在程序中调用锁对象生成的函数B)在数据库里加锁,在程序中声明C)由数据库自动进行,SAP不用处理D)在程序中通过SQL语句实现30.有一程序,起始画面里有一个用户可以输入字段为A,如果想在程序进入的时候自动设置成上次退出时的值,可以采用的方法是(b)A)在退出时使用GET PARAMETER ID XXX FIELD A.在进入时使用SET PARAMETER ID XXX FIELD A.B)在退出时使用SET PARAMETER ID XXX FIELD A.在进入时使用GET PARAMETER ID XXX FIELD A.C)不管是退出还是进入时,都执行语句GET PARAMETER IDXXX FIELD A.D)不管是退出还是进入时,都执行语句SET PARAMETER IDXXX FIELD A.31.SAP 的SMARTFORM 和ABAP PROGRAM 的对应关系是.(c)A)一个SMARTFORM对应多个程序B)一个程序对应多个SMARTFORMC)一个SMARTFORM对应多个程序,一个程序也可以对应多个SMARTFORMD)一个SMARTFORM对应一个程序32. 设计SMARTFORM 显示一个表格,如果第一页是一种格式, 后面几页是一种格式,如何设计.(d )A ) 第一页指向第二页,第二页指向空B ) 第一页指向自己,第二页指向第一页C ) 第一页指向第二页,第二页指向第一页D ) 第一页指向第二页,第二页指向自己33. 如果想设计SMARTFORM 中大家公用的文本,应该使用什 么技术.(C )A) SMART TEXTB) SMART STYLEC) SAP SCRIPTD) TEXT MODULE34.下面对于SMARTFORM 中TABLE 和TEMPLATE 的描述,正确的是.(d )35.SMARTFORM 中TABLE 的排序事件的触发场合是.(d )A )循环到排序字段第一次开始时触发开始事件, 循环到排序字段 结束时A )TEMPLATE 用来设计表格模版,TABLE 用来设计表格实体 B ) TEMPLATE 用来设计表格样式, C ) TEMPLATE 用来设计静态表格,TABLE 用来设计表格实体TABLE 用来设计表格实体 D )TEMPLATE 用来设计静态表格, TABLE 用来设计动态表格触发结束事件B)循环到排序字段第一次开始时触发开始事件,循环到表格结束时触发结束事件C)当表格开始时触发开始事件,表格结束时触发结束事件D)循环到排序字段第一次开始时触发开始事件,然后触发结束事件,然后开始正式循环该排序字段剩余记录36.在SMARTFORM 中显示一个表格,其中有一个栏位为wa_sflight-price,现在里面有三行数据,其值依次分别是10, 30,50,现在在表格设计的时候在Global Definition 中定义一个变量G_TOL,在表格的Ma in Area中加入一个真假节点,节点的条件为WA_SFLIGHT-PRICE > 10 .然后,在真节点下加一个程序行,内容为G_TOL = wa_sflight-price + 10. 假节点下加一个程序行,内容为G_TOL = wa_sflight-price + 20. 最后在表格的Footer 下加一个表行(在表格最后显示),下加一个文本节点显示这个字段G_TOL,它显示的值应该是.(a )A)60B)70C)140D)15037.SAP提供的修改系统标准功能的方案里,哪几种是不需要修改系统标准程序就可以实现的.(c ),Enhancement , Modification ,Customizing , Modification ,Customizing , EnhancementD )Enhancement , Modification , Customizing38. 对于客户定制需求的解决方案,应该遵循哪一种顺序进行为 宜•( c )A )先判断能否配置;再判断系统有无类似功能,有的话先判断能否修改标准程序,再判断能否进行Enhancement ;最后考虑自己开发B ) 先判断系统有无类似功能,有的话先判断能否修改标准程序, 再判断能否进行Enhancement ;然后判断能否配置;最后考虑自己开发C ) 先判断能否配置;再判断系统有无类似功能,有的话先判断能否进行Enhancement ,再判断能否修改标准程 序; 最后考虑自己开发D )先判断系统有无类似功能,有的话先判断能否进行Enhancement ,再判断能否修改标准程序;然后判断能否配置;A) Customer Develepme ntB) C ustomer Develepme ntC) Customer Develepme nt最后考虑自己开发39.自己定义一个增强项目,加入系统的增强,并在其中激活增强的TCODE应该是.(b )A)SMODB)CMODC)SE84D)SE8040.在SAP系统标准增强功能里,主要包含了以下哪组功能(a)A)Table Enhan ceme nt/Scree n Exit/Me nu Exit/F un ctio n module ExitB)Table Enhan ceme nt/Structure Exit/Me nu Exit/Eve nt ExitC)Me nu Exit/Fu nction module Exit/Field Exit/BAPI ExitD)Structure Exit/Me nu Exit/Table Enhan ceme nt/Scree nExit二问答题(共13题,)1•什么是授权对象?在ABAP程序中使用哪条语句进行授权检查?答案:授权对象由一组字段组成,这些字段中的值将被用于进行授权检查。
ABAP 100 道面试题
ABAP 100 道面试题text:1. What is the typical structure of an ABAP/4 program?HEADER,BODY,FOOTER.2. What are field symbols and field groups.?Have you used "component idx of structure"clause with field groups?Field symbols:-Field groups :-3. What should be theapproach for writing a BDC program?STEP 1: CONVERTING THE LEGACY SYSTEM DATA TO A FLAT FILE to internal tableCALLED "CONVERSION".STEP 2: TRANSFERING THE FLAT FILE INTO SAP SYSTEM CALLED "SAP DATA TRANSFER".STEP 3:DEPENDING UPON THE BDC TYPE i)call transaction(Write the program explicity)ii) create sessions (sessions arecreated and processed.if success data will transfer).4. What is a batch input session?BATCH INPUTSESSION is an intermediate step between internal table and database table.Data along with the action is stored insession ie data for screen fields, to which screen it is passed,program name behind it, and how next screen is processed.5. What is the alternative to batch input session?Call transaction.6. A situation: AnABAP program creates a batch input session.We need to submit the program and the batch session in back ground.How to do it?Please go to SM36 and create background job by giving job name,job class and job steps(JOB SCHEDULING)8. What are the problems in processing batch input sessions?How is batch inputprocess different from processing online?PROBLEMS:-i) If the user forgets to opt for keep sessionthen the session will be automatically removed from the session queue(log remains). However if session is processed we maydelete it manually.ii)if session processing fails data will not be transferred to SAP database table.10.What are the different types of data dictionary objects?tables, structures, views, domains, data elements,lock objects, Matchcode objects.11. How many types of tables exists and what are they in data dictionary?4 types of tablesi)Transparent tables - Exists with the same structure both in dictionary as well as indatabase exactly with the same data and fields. Both Opensql and Nativesql can be used.ii)Pool tables & iii)Cluster tables -These are logical tables that are arranged as records of transparent tables.one cannot use native sqlon these tables(only opensql).They are not managable directly using database system tools.iv)Internal tables- .12. What is the step by step process to create a table in data dictionary?step 1: creatingdomains(data type,field length,range).step 2: creating data elements(properties and type for a tablefield).step 3: creating tables(SE11).13. Can a transparent table exist in data dictionary but notin the data base physically?No. Transporent tables do exist with the same structure, both in the dictionary aswell as in database, exactly with the same data and the fields.14. What are the domains and data elements?DOMAINS : FORMAL DEFINITION OF THE DATA TYPES.THEY SET ATTRIBUTES SUCH AS DATA TYPE,LENGTH,RANGE.DATA ELEMENT : A FIELD IN R/3 SYSTEM IS A DATA ELEMENT.15. Can you create a table with fields notreferring to data elements?YES. eg:- ITAB LIKE SPFLI.here we are referening to a data object(SPFLI) not dataelement.16. What is the advantage of structures? How do you use them in the ABAP programs?The mostimportant advantage of the structures is that they have global existence (i.e.; these could be used by any other programwithout creating it again).17. What does an extract statement do in the ABAP program?Onceyou have declared the possible record types as field groups and defined their structure, you can fill the extract dataset using the following statements:EXTRACT .When the first EXTRACT statement occurs in a program, thesystem creates the extract dataset and adds the first extract record to it. In each subsequent EXTRACT statement, the newextract record is added to the datasetEXTRACT HEADER.When you extract the data, the record is filled withthe current values of the corresponding fields.As soon as the system has processed the first EXTRACT statement for afield group , the structure of the corresponding extract record in the extract dataset is fixed. You can no longer insert new fields into the field groups and HEADER. If you try to modify one of the field groups afterwards and use it in another EXTRACT statement, a runtime error occurs.By processing EXTRACT statements several times using differentfield groups, you fill the extract dataset with records of different length and structure. Since you can modify field groupsdynamically up to their first usage in an EXTRACT statement, extract datasets provide the advantage that you need notdetermine the structure at the beginning of the program.18. What is a collect statement? How is it differentfrom append?If an entry with the same key already exists, the COLLECT statement does not append a new line,but adds the contents of the numeric fields in the work area to the contents of the numeric fields in the existing entry.19. What is open sql vs native sql?ANS:-20. What does an EXEC SQL stmt do in ABAP?What is the disadvantage of using it?21. What is the meaning of ABAP/4 editor integrated with ABAP/4 datadictionary?22. What are the events in ABAP/4 language?Initialization, At selection-screen,Start-of-selection,end-of-selection,top-of-page,end-of-page, At line-selection,At user-command,At PF,Get,At New,AtLAST,AT END, AT FIRST.23. What is an interactive report?What is the obvious diff of such reportcompared with classical type reports?An Interactive report is a dynamic drill down report that produces thelist on users choice.diff:-a) THE LIST PRODUCED BY CLASSICAL REPORT DOESN'T allow user to interact with thesystemthe list produced by interactive report allows the user to interact with the system.b) ONCE ACLASSICAL REPORT EXECUTED USER LOOSES CONTROL.IR USER HAS CONTROL.c) IN CLASSICAL REPORT DRILLING IS NOT POSSIBLE.ININTERACTIVE DRILLING IS POSSIBLE.24. What is a drill down report?Its an Interactive report wherein the user can get more relavent data by selecting explicitly.25. How do you write a function module in SAP?Describe.Creating function module:-∙called program - se37-creating funcgrp,funcmodule byassigning attributes,importing,exporting,tables,exceptions.∙calling program - SE38-in pgm click pattern and writefunction name- provide export,import,tables,exception values.26. What are the exceptions in functionmodule?COMMUNICATION_FAILURESYSTEM_FAILURE27. What is a function group?GROUP OF ALL RELATED FUNCTIONS.28. How are the date and time field values stored in SAP?DD.MM.YYYY. HH:MM:SS30. Name a few data dictionary objects?TABLES,VIEWS,STRUCTURES,LOCK OBJECTS,MATCHCODE OBJECTS.31. What happens when a table is activatedin DD?It is available for any insertion,modification and updation of records by any user.32. Whatis a check table and what is a value table?Check table will be at field level checking.Value tablewill be at domain level checking ex: scarr table is check table for carrid.33. What are match codes? describe?It is a similar to table index that gives list of possible values for either primary keys or non-primary keys.34. What transactions do you use for data analysis?35. What is table maintenance generator?36. What are ranges? What are number ranges?max,min values provided in selection screens.37. What are select options and how are they different from parameters?select options provideranges where as parameters do not.SELECT-OPTIONS declares an internal table which is automatically filled with valuesor rangesof values entered by the end user. For each SELECT-OPTIONS , the system creates a selection table. SELECT-OPTIONS FOR .A selection table is an internal table with fields SIGN, OPTION, LOW andHIGH.The type of LOW and HIGH is the same as that of .The SIGN field can take the following values: IInclusive (should apply) E Exclusive (should not apply)The OPTION field can take the following values: EQ Equal GTGreater than NE Not equal BT Between LE Lessthan or equal NB Not between LT Less than CP Contains pattern GE Greaterthan or equal NP No pattern.Select Options vs ParametersPARAMETERS allow users to enter a singlevalue into an internal field within a report.SELECT-OPTIONS allow users to fill an internal table with a range ofvalues.For each PARAMETERS or SELECT-OPTIONS statement you should define text elements by choosingGoto - Textelements - Selection texts - Change.Eg:- Parameters name(30).when the user executes the ABAP/4 program,aninput field for 'name' will appear on the selection screen.You can change the comments on the left side of the input fieldsby using text elements as described in Selection Texts.38. How do you validate the selection criteria of areport?And how do you display initial values in a selection screen?validate :- by using match codeobjects.display :- Parameters default 'xxx'.select-options for spfli-carrid.39. What are selection texts?40. What is CTS and what do you know about it?The Change and Transport System (CTS) is a tool that helps you to organize development projects in the ABAPWorkbench and in Customizing, and then transport the changes between the SAP Systems and clients in your system landscape.This documentation provides you with an overview of how to manage changes with the CTS and essential information onsetting up your system and client landscape and deciding on a transport strategy. Read and follow this documentation whenplanning your development project.For practical information on working with the Change and Transport System, seeChange and Transport Organizer and Transport Management System.41. When a program is created and need to betransported to prodn does selection texts always go with it? if not how do you make sure? Can you change the CTS entries? Howdo you do it?42. What is the client concept in SAP? What is the meaning of client independent?43. Are programs client dependent?Yes.Group of users can access these programs with aclient no.44. Name a few system global variables you can use in ABAP programs?SY-SUBRC,SY-DBCNT,SY-LILLI,SY-DATUM,SY-UZEIT,SY-UCOMM,SY-TABIX.....SY-LILLI IS ABSOLUTE NO OF LINES FROM WHICH THE EVENT WASTRIGGERED.45. What are internal tables? How do you get the number of lines in an internal table?How touse a specific number occurs statement?i)It is a standard data type object which exists only during theruntime of the program.They are used to perform table calculations on subsets of database tables and for re-organising the contents of database tables according to users need.ii)using SY-DBCNT.iii)The number of memoryallocations the system need to allocate for the next record population.46. How do you take care of performanceissues in your ABAP programs?Performance of ABAPs can be improved by minimizing the amount of data to betransferred.The data set must be transferred through the network to the applications, so reducing the amount OF time and also reduces the network traffic.Some measures that can be taken are:- Use views defined in the ABAP/4DDIC (also has the advantage of better reusability).- Use field list (SELECT clause) rather than SELECT *.-Range tables should be avoided (IN operator)- Avoid nested SELECTS.i)system toolsii)field symbols andfield groups.ans:-Field Symbols : Field symbols are placeholders for existing fields. A Field Symbol does notphysically reserve space for a field,but points to a field which is not known until runtime of the program. eg:-FIELD-SYMBOL [].Field groups : A field group combines several fields under one name.At runtime,the INSERTcommand is used to define which data fields are assigned to which field group.There should always be a HEADER fieldgroup that defines how the extracted data will be sorted,the data is sorted by the fields grouped under the HEADER fieldgroup.47. What are datasets?The sequential files(ON APPLICATION SERVER) are called datasets. Theyare used for file handling in SAP.48. How to find the return code of a statement in ABAP programs?Using function modules.49. What are interface/conversion programs in SAP?CONVERSION: LEGACY SYSTEM TO FLAT FILE.INTERFACE : FLAT FILE TO SAP SYSTEM.50. Have you used SAP suppliedprograms to load master data?51. What are the techniques involved in using SAP supplied programs? Do youprefer to write your own programs to load master data? Why?52. What are logical databases? What are theadvantages/disadvantages of logical databases?To read data from a database tables we use logical database. Alogical database provides read-only access to a group of related tables to an ABAP/4 program.advantagesThe programmer need not worry about the primary key for each table.Because Logical database knows how the differenttables relate to each other,and can issue the SELECT command with proper where clause to retrieve the data.i)An easy-to-use standard user interface.ii)check functions which check that user input is complete,correct,and plausible.iii)meaningful data selection.iv)central authorization checks for database accesses.v)good read accessperformance while retaining the hierarchical data view determined by the application logic. disadvantagesi)If you donot specify a logical database in the program attributes,the GET events never occur.ii)There is noENDGET command,so the code block associated with an event ends with the next eventstatement (such as another GET oran END-OF-SELECTION).53. What specific statements do you using when writing a drill down report?AT LINE-SELECTION,AT USER-COMMAND,AT PF.54. What are different tools to report data in SAP? Whatall have you used?55. What are the advantages and disadvantages of ABAP/4 query tool?56. What are the functional areas? User groups? and how does ABAP/4 query work in relation tothese?57. Is a logical database a requirement/must to write an ABAP/4 query?59. What are Changeheader/detail tables? Have you used them?60. What do you do when the system crashes in the middle of a BDCbatch session?we will look into the error log file (SM35).61. What do you do with errors in BDCbatch sessions?We look into the list of incorrect session and process it again. To correct incorrect sessionwe analyize the session to determine which screen and value produced the error.For small errors in data we correct theminteractively otherwisemodify batch input program that has generated the session or many times even thedatafile.62. How do you set up background jobs in SAP? What are the steps? What are the event driven batch jobs?go to SM36 and create background job by giving job name,job class and job steps(JOB SCHEDULING)63.Is it possible to run host command from SAP environment? How do you run?64. What kind of financialperiods exist in SAP? What is the relavent table for that?65. Does SAP handle multiple currencies? Multiplelanguages?Yes.66. What is a currency factoring technique?67. How do youdocument ABAP/4 programs? Do you use program documentation menu option?68. What is SAPscript and layoutset?The tool which is used to create layout set is called SAPscript. Layout set is a design document.69. What are the ABAP/4 commands that link to a layout set?Control commands,system commands,70. What is output determination?71. What are IDOCs?IDOCs are intermediatedocuments to hold the messages as a container.72. What are screen painter? menu painter? Gui status?dynpro - flow logic + screens.menu painter -GUI Status - It is subset of the interface elements(title bar,menu bar,standard tool bar,push buttons) used for a certain screen.The status comprises those elementsthat are currently needed by the transaction.73. What is screen flow logic? What are the sections in it? ExplainPAI and PBO.The control statements that control the screen flow.PBO - This event is triggered beforethe screen is displayed.PAI - This event is responsible for processing of screen after the user enters the data and clicks the pushbutton.74. Overall how do you write transaction programs in SAP?Create program-SE93-create transcode-Run it from command field.75. Does SAP has a GUI screen painter or not? If yes whatoperating systems is it available on? What is the other type of screen painter called? 76. What are steploops? How do you program pagedown pageup in step loops?step loops are repeated blocks of field in a screen.77. Is ABAP a GUI language?Yes.ABAP IS AN EVENT DRIVEN LANGUAGE.78. Normallyhow many and what files get created when a transaction program is written?What is the XXXXXTOP program?ABAP/4 program.DYNPRO79. What are the include programs?When the samesequence of statements in several programs are to be written repeadly they are coded in include programs (External programs)and are included in ABAP/4 programs.80. Can you call a subroutine of one program from another program?Yes- only external subroutines Using 'SUBMIT' statement.81. What are user exits? What is involved in writingthem? What precations are needed?82. What are RFCs? How do you write RFCs on SAP side?83.What are the general naming conventions of ABAP programs?Should start with Y or Z.84. How do youfind if a logical database exists for your program requrements?SLDB-F4.85. How do you find thetables to report from when the user just tell you the transaction he uses? And all the underlying data is from SAP structures?Transcode is entered in command field to open the table.Utilities-Table contents-display.86. How do you find the menu path for a given transaction in SAP?87. What are the differentmodules of SAP?FI,CO,SD,MM,PP,HR.89. How do you get help in ABAP?HELP-SAP LIBRARY,bypressing F1 on a keyword.90. What are different ABAP/4 editors? What are the differences?91.What are the different elements in layout sets?PAGES,Page windows,Header,Paragraph,Character String,Windows.92. Can you use if then else, perform ..etc statements in sap script?yes.93. Whattype of variables normally used in sap script to output data?94. How do you number pages in sapscript layoutoutputs?95. What takes most time in SAP script programming?LAYOUT DESIGN AND LOGOINSERTION.96. How do you use tab sets in layout sets?97. How do you backup sapscript layoutsets? Can you download and upload? How?98. What are presentation and application servers in SAP?The application layer of an R/3 System is made up of the application servers and the message server. Application programs in an R/3 System are run on application servers. The application servers communicate with the presentationcomponents, the database, and also with each other, using the message server.99. In an ABAP/4 program how do youaccess data that exists on a presentation server vs on an application server?i)using loop statements.ii)flat100. What are different data types in ABAP/4?Elementary -predefined C,D,F,I,N,P,T,X.userdefined TYPES.ex: see in intel book page no 35/65Structured -predefined TABLES.userdefined Field Strings and internal tables.101. What is difference between session method and Call Transaction?102. Setting up a BDCprogram where you find information from?103. What has to be done to the packed fields before submitting to aBDC session.fields converted into character type.104. What is the structure of a BDCsessions.BDCDATA (standard structure).105. What are the fields in a BDC_Tab Table.program,dynpro,dynbegin,fnam,fval.106. What do you define in the domain and data element.Technical details like107. What is the difference between a pool table and a transparent table andhow they are stored at the database level.ii)Pool tables is a logical representation of transparent tables.Hence no existence at database level. Where as transparent tables are physical tables and exist at database level. 108. What is cardinality?For cardinality one out of two (domain or data element) should be thesame for Ztest1 and Ztest2 tables. M:NCardinality specifies the number of dependent(Target) and independent (source)entities which can be in a relationship.。
abap dialog的面试题
abap dialog的面试题
ABAP(Advanced Business Application Programming)是SAP系统的编程语言。
在SAP的面试中,可能会涉及到ABAP的Dialog模块,下面是一些可能的面试题:
1. 什么是Dialog模块?它在SAP中起什么作用?
2. 描述一下Dialog的基本结构和工作原理。
3. 如何创建和配置一个Dialog?
4. 如何在Dialog中定义屏幕?
5. 如何使用动态屏幕来显示和收集数据?
6. 如何在Dialog中定义数据对象?
7. 如何在Dialog中处理用户输入?
8. 如何在Dialog中实现屏幕间的跳转?
9. 如何使用条件逻辑来控制屏幕的显示和行为?
10. 如何在Dialog中定义事件和事件处理程序?
11. 如何使用标准屏幕来创建自定义屏幕?
12. 如何调试和测试Dialog?
13. 在开发Dialog时,有哪些常见的性能问题和优化方法?
14. 如何确保Dialog的安全性和可靠性?
15. 在SAP系统中,有哪些常见的Dialog使用场景?
以上是一些可能的面试题,当然具体的面试题目会根据具体的面试官和面试要求有所不同。
在准备面试时,建议参考SAP的相关文档和教程,了解Dialog模块的基本概念和用法,并熟悉常见的使用场景和最佳实践。
SAP ABAP面试题目
ABAP面试题目问题一:锁对象(Lock Object)和FM(Function Module)激活锁定对象时,产生的FM 的名字是什么?答案:首先要在ABAP 字典中创建锁对象,然后才能在ABAP 程序中设锁。
创建锁对象时,系统会自动生成两个FM 来进行锁管理。
用于设锁的FM 为:ENQUEUE_<锁对象名>。
它用于在锁表(Lock Table)中生成一个锁项(Lock Entry)。
若设锁不成功的话,就会在Return 中反映出来。
用于释放锁的FM 为:DEQUEUE_<锁对象名>。
它用于从锁表中删除一个锁项。
在ABAP 程序中,只需使用"CALL FUNCITION ..." 语句就可以调用它们。
这两个锁FM 是在SAP 系统的一个特殊工作进程中执行的,专门进行锁管理。
它运行在一个单独的服务器上,而该服务器专门用于维护整个SAP 系统的主锁表(Central Locak Table)。
有两种锁类型:共享锁——只读锁,一个用户正在读数据时,阻止其他用户更改该数据。
独占锁——可写锁,一个用户正在修改数据时,阻止其他用户更改该数据。
问题二:更新方面的FM更新FM 分为V1 和V2,那么首先会执行哪一种更新类型呢?每种类型又是以哪种模式(异步、同步或本地)执行的呢?答案:V1 更新类型比V2 更新类型的优先级高,因此,V1 比V2 行执行。
V1 的执行模式可以为异步、同步或本地;V2 只能为异步执行。
问题三:ABAP 内存(ABAP Memory)交换在使用ABAP 内存的程序间进行数据交换时用到的两个语句是什么?答案:EXPORT to MEMORY ID 用于将数据复制到ABAP 内存,IMPORT from MEMORY ID 用于将数据从ABAP 内存复制到程序中。
在ABAP 内存间进行交换的数据必须在两个程序中都进行声明,并包含同样的数据声明。
SAP abap笔试面试题目
SAP abap笔试面试题目问题:SAP abap笔试面试题目回答:一选择题(共40题,未特殊注明则均为单选)1,下面的语句中,哪一个语句编译会报错(假设XXX 和结构sflight都已经定义). (c)A)write at 12 XXX.B)data type type sflight.C)sflight-price = a+b.D)write sy-vline.2.在ABAP/4的开发工作中,哪一个TCODE是直接进入就可以创建程序,函数组以及程序内部各种元素的. (a )A) SE80 B) SE11 C) SE93 D)SE163.直接进入就可以查询表的结构是哪个TCODE. (b )A) SE80 B) SE11 C) SE93 D)SE164. 很多表当中都有一个字段,叫做MANDT, 为第一个主键,这个字段的用处是.(b )A)区分后台数据库的类型B)区分表中记录属于哪个客户端(client)C)区分表的数据量大小D)SAP系统保留字段5.下面的定义语句中,哪一个语句定义出来的结果是一个内表. (d)A)DATA zsflight TYPE sflight.B)DATA: COLS LIKE LINE OF TC-COLS.C)TABLES SFLIGHT.D)DATA: zsflight TYPE TABLE OF sflight.6.ABAP中三种基本的数据对象是. (a )A)内表结构基本数据对象B)内表程序语句C)字符数字日期D)语句程序表7.语句loop at itab into wa. 的准确意思是. (d )A)把wa中的值进行循环,每一次循环都写回内表B)求出迷宫itab的出口放在wa里C)对内表itab的数值列进行累加放入wa中D)对内表itab进行循环,把循环中每一行的结果写入结构wa 中8.程序中执行了这么一段代码DATA it_sflight type sflight with header line.Loop at it_sflight.it_sflight-carrid = AA .Modify it_sflight.Endloop.该段语法中出现了四次it_sflight,其中后三次分别代表的是内表还是结构. (b )A)内表内表内表B)内表结构内表C)内表结构结构D)内表内表结构9.在设计报表程序时,选择的程序类型应该是.(a )A)可执行程序B)模块池程序C)包含程序D)函数组程序10.在报表程序的屏幕筛选条件里,SELECT-OPTIONS定义出来的元素是.(a)A)内表B)结构C)基本数据对象D)指针型字段11.在报表程序的屏幕事件里,有一个事件叫做AT LINE-SELECTION.参见如下代码:WRITE / ‘ABAP’.AT LINE-SELECTION.WRITE /‘TEST’.那么,以下哪种情况会发生.(b )A)先显示出一行ABAP,当用户双击一次时,屏幕上在原来ABAP那行下面换行一次显示出一行新的TESTB)先显示出一行ABAP,当用户双击一次时,屏幕上每次只显示出一行的TEST取代原先的屏幕C)先显示出一行ABAP,当用户双击一次时,屏幕上永远只显示出一行TEST(放在原来ABAP那行下面)D)先显示出一行ABAP,当用户第一次双击时,产生一个新屏幕,显示一行TEST,然后每次双击都在其下换行显示一行新的TEST12.选择事件的执行顺序正确的一组.(a )A)INITIALIZATION / START-OF-SELECTION / TOP-OF-PAGE / AT LINE-SELECTIONB)INITIALIZATION / TOP-OF-PAGE / START-OF-SELECTION / AT LINE-SELECTIONC)START-OF-SELECTION/ INITIALIZATION / TOP-OF-PAG / AT LINE-SELECTIOND)INITIALIZATION / TOP-OF-PAGE / AT LINE-SELECTION /START-OF-SELECTION13.在层级报表的开发里,下面哪个条件不是必需的.(d)A)对内表先按层级字段排序B)对内表和结构定义时层级字段必须排在前面C)层级字段不能出现在at 和end at 语句之外D)层级字段必须存在14.在明细报表的开发中,双击一行转向明细报表的取数依据是.(c )A)你双击那行的主键字段B)你双击的那个字段本身C)你双击那行在循环中预先hide的字段D)你双击那行在循环中预先已经write出来的字段15.在交互式报表的设计中,假如想在明细报表里加入任意字段的排序功能,请选择正确的选项(多选).(ad )A)要先用get cursor field XXX.取得字段B)对内表排序时该字段要用括号括起来C)在排序时要把该字段加上一个数字以去除前面的结构名称(如果是用结构-字段定义的话)D)排序后显示完要把sy-lsind = 0,以防止产生多余的list16.在屏幕编程的设计中,下面共有四个主要步骤:a 设计屏幕的格式(有哪些字段,放在什么位置)b 设计屏幕的整体属性c 设计屏幕上字段的属性d 编写屏幕的流逻辑( flow logic )请选择通常请况下正确的顺序. (c )A)a b c dB)c d b aC)b a c dD)d b a c17. 如果屏幕A 的下一个屏幕仍然是A , 那么当执行程序时,对于屏幕的主要事件,下面哪种顺序是正确的. (d )A)A 的PAI A 的PBO A 的PAI A 的PBOB)A 的PBO A 的PAI A 的PAI A 的PBOC)A 的PAI A 的PAI A 的PBO A 的PBOD)A 的PBO A 的PAI A 的PBO A 的PAI18.屏幕编程中一个屏幕所使用的工具栏应如何设计. (a )A) 先设计一个Gui Status,再在程序中绑定B) 先设计一个Gui Titles,再在程序中绑定C) 在程序中用Add button 语法添加D)在屏幕设计格式的界面上添加工具栏及其按钮19. 以下四种系统变量,各是什么含意. (d )SY-UCOMM SY-DATUM SY-SUBRC SY-TABIXA)用户触发的屏幕上的功能码当前日期当前时间循环次数B)当前日期当前时间循环次数用户触发的屏幕上的功能码C)用户触发的屏幕上的功能码循环次数语句执行结果返回值当前日期D)用户触发的屏幕上的功能码当前日期语句执行结果返回值循环次数20.一个程序的子屏幕编程是如何实现的. (c)A)子屏幕区域外加屏幕(属性设置为正常屏幕)B)自定义控件外加屏幕(属性设置为正常屏幕)C)子屏幕区域外加屏幕(属性设置为子屏幕)D)自定义控件外加屏幕(属性设置为子屏幕)21.对于表格控件和内表的绑定的做法,下面哪种说法是正确的. (a )A)PBO时同步循环内表和表格控件把内表的值写入表格控件,PAI时用同样的循环把表格控件的值写回内表B)PBO时同步循环内表和表格控件把表格控件的值写入内表,PAI时用同样的循环把内表的值写回表格控件C)在定义内表时定义与之绑定的表格控件,PBO和PAI事件要各循环内表一次D)在制作表格控件时定义与之绑定的内表,PBO和PAI事件要各循环表格控件一次22.如果要把表格控件某列的属性动态的改变成不可输入,下面哪种做法是可行的. (B )A)在PAI事件中修改table的general attribute值B)在PBO事件中修改table的general attribute值C)在PAI事件中取得table的COLS属性,利用它本身是个内表的特点循环找到该列修改之,修改完后写回COLS内表D)在PAI事件中取得table的COLS属性,利用它本身是个结构的特点找到其中表示该列的字段修改23.要对表格控件增加一个可由用户写入信息的列,下面哪种方式是可行的(多选).(ad )A)在设计屏幕上点击dictionary / program fields window 按钮,输入字典表或者程序中定义的元素,把它拖到表格控件中B)在设计屏幕上修改table的attributes,增加一列C)在设计屏幕中的表格控件里拖入一个text field(文本字段)D)在设计屏幕中的表格控件里拖入一个input/output field(输入/输出字段)24.在编写ALV GRID CONTROL时,应遵循以下哪种顺序. (a )A)在屏幕上建区域,创建区域对象,创建ALVGRID对象,调用ALVGRID的set_table_for_first_display方法B)在屏幕上建区域,创建ALVGRID对象,创建区域对象,调用ALVGRID的set_table_for_first_display方法C)调用ALVGRID的set_table_for_first_display方法,在屏幕上建区域,创建ALVGRID对象,创建区域对象D)创建区域对象,调用ALVGRID的set_table_for_first_display 方法,在屏幕上建区域,创建ALVGRID对象,25.自己制作一个搜索帮助,引用的表是SBOOKINGS,Dialog Type是Dialog with value restriction,里面customid和name这两个字段的IMP属性打勾,customid,name,carrid,connid这四个字段的EXP属性打勾,四个字段都设定了LPOS和SPOS,这个搜索帮助的输出效果是. (d )A)先输出两个栏位的筛选屏幕,再按照筛选结果输出两个栏位的表格信息让用户选择,选择结果影响到四个栏位B)先输出两个栏位的表格信息让用户选择,选择结果影响到四个栏位C)先输出四个栏位的表格信息让用户选择,选择结果影响到两个栏位D)先输出四个栏位的筛选屏幕,再按照筛选结果输出四个栏位的表格信息让用户选择,选择结果影响到两个栏位26.ABAP的OPEN SQL的取数语句是否可以实现数据库无关性,其原因是什么. (c )A)不可以,数据库的SQL格式不同B)可以,因为它的名字叫做OPEN SQLC)可以,因为中间有一层DB Interface做转换D)不可以,各种数据库的版本不同27.对ABAP的OPEN SQL语句的两个返回系统变量,描述正确的是. (b )A)Sy-dbcnt表示执行结果是否正确,sy-subrc表示执行影响到的数据条数B)Sy-dbcnt表示执行影响到的数据条数,sy-subrc表示执行结果是否正确C)Sy-dbamt表示执行结果是否正确,sy-sudnc表示执行影响到的数据条数D)Sy-dbamt表示执行影响到的数据条数,sy-sudnc表示执行结果是否正确28.一个表TA有三个字段,其中第一个字段是主键,目前有一条记录是1 /‘first’/ 19,结构wa_result是和表相同类型的,当前值是2 / ‘second’/ 20 .执行OPEN SQL语句:modify TA from wa_result.执行后对系统的影响为. (b )A)没有任何影响B)TA有两条记录1 / ‘first’/ 19 和2 / ‘second’/ 20C)TA有一条记录2 / ‘second’/ 20D)系统出错退出,对表没有任何影响29.SAP对锁的主要实现手段是. (a )A)在SE11里加锁对象,然后在程序中调用锁对象生成的函数B)在数据库里加锁,在程序中声明C)由数据库自动进行,SAP不用处理D)在程序中通过SQL语句实现30.有一程序,起始画面里有一个用户可以输入字段为A ,如果想在程序进入的时候自动设置成上次退出时的值,可以采用的方法是. (b )A)在退出时使用GET PARAMETER ID XXX FIELD A.在进入时使用SET PARAMETER ID XXX FIELD A.B)在退出时使用SET PARAMETER ID XXX FIELD A.在进入时使用GET PARAMETER ID XXX FIELD A.C)不管是退出还是进入时,都执行语句GET PARAMETER ID XXX FIELD A.D)不管是退出还是进入时,都执行语句SET PARAMETER ID XXX FIELD A.31.SAP的SMARTFORM和ABAP PROGRAM的对应关系是. (c )A)一个SMARTFORM对应多个程序B)一个程序对应多个SMARTFORMC)一个SMARTFORM对应多个程序,一个程序也可以对应多个SMARTFORMD)一个SMARTFORM对应一个程序32.设计SMARTFORM显示一个表格,如果第一页是一种格式,后面几页是一种格式,如何设计. (d )A)第一页指向第二页,第二页指向空B)第一页指向自己,第二页指向第一页C)第一页指向第二页,第二页指向第一页D)第一页指向第二页,第二页指向自己33.如果想设计SMARTFORM中大家公用的文本,应该使用什么技术. (C )A)SMART TEXTB)SMART STYLEC)SAP SCRIPTD)TEXT MODULE34.下面对于SMARTFORM中TABLE和TEMPLATE的描述,正确的是. (d )A)TEMPLATE用来设计表格模版,TABLE用来设计表格实体B)TEMPLATE用来设计表格样式,TABLE用来设计表格实体C)TEMPLATE用来设计静态表格,TABLE用来设计表格实体D)TEMPLATE用来设计静态表格,TABLE用来设计动态表格35.SMARTFORM中TABLE的排序事件的触发场合是. (d )A)循环到排序字段第一次开始时触发开始事件,循环到排序字段结束时触发结束事件B)循环到排序字段第一次开始时触发开始事件,循环到表格结束时触发结束事件C)当表格开始时触发开始事件,表格结束时触发结束事件D)循环到排序字段第一次开始时触发开始事件,然后触发结束事件,然后开始正式循环该排序字段剩余记录36.在SMARTFORM中显示一个表格,其中有一个栏位为wa_sflight-price,现在里面有三行数据,其值依次分别是10,30,50 ,现在在表格设计的时候在Global Definition中定义一个变量G_TOL,在表格的Main Area中加入一个真假节点,节点的条件为WA_SFLIGHT-PRICE > 10 .然后,在真节点下加一个程序行,内容为G_TOL = wa_sflight-price + 10.假节点下加一个程序行,内容为G_TOL = wa_sflight-price + 20.最后在表格的Footer下加一个表行(在表格最后显示),下加一个文本节点显示这个字段G_TOL,它显示的值应该是. (a )A)60B)70C)140D)15037.SAP提供的修改系统标准功能的方案里,哪几种是不需要修改系统标准程序就可以实现的. (c )A)Customer Develepment ,Enhancement,ModificationB)Customer Develepment ,Customizing,ModificationC)Customer Develepment ,Customizing,EnhancementD)Enhancement,Modification,Customizing38.对于客户定制需求的解决方案,应该遵循哪一种顺序进行为宜. (c )A)先判断能否配置;再判断系统有无类似功能,有的话先判断能否修改标准程序,再判断能否进行Enhancement;最后考虑自己开发B)先判断系统有无类似功能,有的话先判断能否修改标准程序,再判断能否进行Enhancement;然后判断能否配置;最后考虑自己开发C)先判断能否配置;再判断系统有无类似功能,有的话先判断能否进行Enhancement,再判断能否修改标准程序;最后考虑自己开发D)先判断系统有无类似功能,有的话先判断能否进行Enhancement,再判断能否修改标准程序;然后判断能否配置;最后考虑自己开发39.自己定义一个增强项目,加入系统的增强,并在其中激活增强的TCODE应该是. (b )A)SMODB)CMODC)SE84D)SE8040.在SAP系统标准增强功能里,主要包含了以下哪组功能. (a )A)Table Enhancement/Screen Exit/Menu Exit/Function module ExitB)Table Enhancement/Structure Exit/Menu Exit/Event ExitC)Menu Exit/Function module Exit/Field Exit/BAPI ExitD)Structure Exit/Menu Exit/Table Enhancement/Screen Exit二问答题(共13题,)1.什么是授权对象?在ABAP 程序中使用哪条语句进行授权检查?答案:授权对象由一组字段组成,这些字段中的值将被用于进行授权检查。
(招聘面试)ABAP面试大全
目录1. 报表知识 (6)1.1基础知识 (6)1.1.1报表事件,有哪些? (6)1.1.2报表选择画面 (7)1.2ALV报表 (8)1.2.1ALV报表实现的流程 (8)1.2.2显示ALV常用的两个FM (8)1.2.3如何设置ALV中的热键 (8)1.2.4ALV显示中的小计 (8)1.2.5FM ALV 和 OO ALV的比较 (8)1.3WRITE LIST (8)2. 数据库知识 (9)2.1基础知识 (9)2.1.1 ABAP数据字典有哪些对象或元素? (9)2.1.2 据库提交确认和数据库回滚取消语句 (9)2.1.3 什么是LUW (9)2.1.4简述modify 、insert、update对数据库表做操作时的影响 (9)2.1.5 要描述域、数据元素、表字段之间的关系 (9)2.1.6数据字典有几种缓冲方式,适用范围? (9)2.2ABAP和数据库 (10)2.2.1 ABAP 数据表的主索引是什么?索引的好处与坏处?与建索引的注意事项! (10)2.2.2 ABAP透明表有哪几种数据类(data class)?对数据的存储有什么影响? (10)2.2.3 SAP中有几种表,他们的区别是什么? (10)2.2.4什么是簇表(cluster table)?举出知道的簇表。
(10)2.2.5找数据库表,有哪些常用的方法。
(10)2.2.6如何建立数据库锁对象,激活锁对象产生的Function Module的名字为什么,在何处查看锁表的情况? (10)2.2.7更新 FM 分为 V1 和 V2,那么首先会执行哪一种更新类型呢?每种类型又是以哪种模式(异步、同步或本地)执行的呢? (11)2.2.7使用OPEN SQL注意原则 (11)2.3与表相关 (11)2.3.1 MM模块有哪些常用表格 (11)2.3.2 HR模块知识:HR里面存储HR主数据主要用到了哪些表? (11)2.3.3 HR模块知识:HR程序在开发中常用的两个逻辑数据库是什么?分别对其进行描述 12 2.3.4 HR模块知识:HR模块里面,如何修改HR的信息类型,具体如何实现 (12)2.3.5财务模块:财务模块开发中常用的表有哪些,简单举例说明: (12)2.3.6PM 常用的TABLE (12)2.3.6inner join 与 left-outer join的区别? (13)3. 权限相关 (14)3.1什么是权限对象(Authorization Objects)?在 ABAP 程序中使用哪条语句进行授权检查? (14)3.2与权限对象有关的事务代码有哪些? (14)4. DIALOG (15)4.1DIALOG 中的几个事件 (15)4.2何在TABLE CONTROL中实现选中一行或多行的效果 (15)4.3DIALOG 开发的常用几个控件是什么? (15)5. BDC (16)5.1BDC录屏的事务代码 (16)5.2BDC与BAPI之间的区别 (16)5.3BDC录屏的注意事项 (16)5.4谈谈BDC的运行模式和更新模式 (16)6. 增强 (17)6.1什么叫增强?有哪些方式进行增强? (17)6.1.1 User EXIT (17)6.1.2 Customer exit (17)6.1.3 BADI (17)6.1.4 Enhancement Spot (17)6.2如何建立增强? (17)6.3与增强相关的事务代码有哪些 (18)6.4如何进行数据库表字段的增强?Append和Include的方式有何区别? (18)7. SMARTFORMS (19)7.1谈谈SmartForm中,Template和Table表格的区别 (19)7.2SMART FORM如何实现公司LOG打印,其步骤是什么? (19)7.3smartform 中如何控制段落、单个字符输出格式? (19)8. RFC和BAPI (20)8.1 RFC (20)8.1.1什么是RFC,有哪些通信模式? (20)8.1.2 RFC中涉及到常用的事务代码有哪些? (20)8.1.3根据调用方式的不同,RFC接口提供了什么样的服务? (20)8.1.4RFC接口的具体功能包括哪些? (20)8.1.5在通过CALL FUNCTION语句进行远程功能调用的基本模式有哪些 (20)8.1.6怎么创建一个支持远程调用的RFC (21)8.1.7怎么调用一个SAP标准RFC (21)8.1.8怎样建立RFC程序?RFC程序传递的参数都是传递值还是引用?如何建立函数组? 21 8.1.9怎么来维护这个DESTINATION(远程目标) (21)8.2 BAPI (21)8.2.1什么是BAPI?你使用过哪些BAPI实现什么功能? (21)8.2.2什么是业务对象类型?它包含哪些主件? (21)8.2.3如何创建一个BAPI? (22)8.2.4编写BAPI的注意事项有哪些? (22)8.2.5谈谈与BAPI相关的事务代码。
SAP ABAP基础面试题
参考ECC系统中的示例数据库表完成本程序。
示例数据库:SCARR航线信息SGEOCITY城市地理位置SCOUNTER销售柜台SPFLI航班信息SFLIGHT航班具体班次信息SBOOK订票数据程序编写要求:1、程序类型为可执行Report程序;2、选择条件使用选择屏幕实现;3、数据查询使用Open Sql;4、兼顾性能优化和用户界面美观;5、遵守命名规范和代码规范;6、实现对多语言的支持,有中、英两种界面。
程序内容要求:一、航班班次查询选择条件:运营公司代码(CARRID)、航线代码(CONNID)、始发国家、始发城市、始发机场、抵达国家、抵达城市、抵达机场、飞行日期、起飞时间、抵达时间、机票价格,且以上条件都为多选。
默认显示剩余座位不为0的航班班次,但用户也可以选择显示全部航班班次;用户可以选择输出结果排序方式和输出最大条数(默认值为20);用户可选择排序方式有:价格、起飞时间(默认)、抵达时间三种。
要求:1、如果没有对应航班班次,请进行消息提示;2、飞行日期默认为当前系统日期;3、输入非法日期、时间(已过去日期,时间)时需要进行消息提示;4、机票价格不可以输入负数;5、当用户选择显示无剩余座位的航班班次时,无剩余座位班次使用红色背景进行突出显示;6、显示列表内容及其格式。
格式:使用ALV格式展现;显示内容:序号、运营公司代码(CARRID)、航线代码(CONNID)、始发国家、始发城市、始发机场、抵达国家、抵达城市、抵达机场、飞行日期、起飞时间、抵达时间、机票价格、剩余座位。
二、航班旅客信息查询选择条件:运营公司代码(CARRID)、航线代码(CONNID)、始发国家、始发城市、始发机场、抵达国家、抵达城市、抵达机场、飞行日期、起飞时间、抵达时间、乘客代码,且以上条件都为多选。
要求:1、如果没有对应航班班次或尚未有乘客信息,请进行消息提示;2、显示内容及其格式。
格式:使用WRITE方式输出,显示时按照航班班次进行分组显示。
sap abap面试题
sap abap面试题Introduction:在准备SAP ABAP面试时,对于常见的问题做好充分准备是非常重要的。
本文将提供一些常见的SAP ABAP面试题及其答案,以帮助读者更好地准备面试。
1. 什么是 SAP ABAP?SAP ABAP(Advanced Business Application Programming)是一种高级业务应用程序编程语言,用于开发和定制SAP应用程序。
2. 请简要介绍 ABAP Workbench。
ABAP Workbench是用于开发、维护和管理SAP应用程序的综合开发环境。
它提供了各种工具和功能,如ABAP编辑器、数据字典、屏幕绘制器等。
3. ABAP程序的结构是怎样的?一个典型的ABAP程序包括一系列的语句块,其中最常见的是“DATA”、“TYPES”、“SELECT”、“LOOP”以及“END”等。
其中,“DATA”部分用于声明变量,而“TYPES”部分用于定义数据类型。
4. 请解释一下 ABAP数据字典。
ABAP数据字典是一个中央的数据定义和管理工具,用于创建和维护数据结构(表、视图、数据类型等)。
它还控制与数据相关的安全性和完整性。
5. 在 SAP 中,什么是交付单(Delivery)?交付单是用于分发和运输SAP应用程序和支持包的工具。
它用于将自定义程序和配置更改从开发系统转移到测试和生产系统。
6. 如何处理 ABAP Debugging?ABAP Debugging是在程序执行期间通过逐行执行代码以进行故障排除和调试的过程。
我们可以通过在调试模式下运行程序并使用断点进行调试。
7. 解释一下 SAP ABAP Monitoring和 Tuning。
SAP ABAP Monitoring用于监控系统中ABAP程序的执行情况,如性能、内存使用情况等。
Tuning则是根据监控结果对ABAP程序进行优化和调整,以提高性能和效率。
8. 如何在 SAP ABAP 中进行异常处理?在ABAP中,我们可以使用TRY...CATCH语句块来处理异常。
SAPABAP面试问题
Answers to some ABAP Interview QuestionsQuestions which I have faced in an interview:1) What is runtime analysis? Have you used this?2) What is meant by performance analysis? Have done anything to improve the performance?3) How to transfer the objects? Have to transferred any objects?4) How did you test the developed objects?5) What is the difference between SAP Memory and ABAP Memory?6) In order to upload Purchase order details, how you handle multiple values for a single field?Eg: Item field may contain no. of values for a record7) What is the procedure you followed to upload the data?8) How did you handle errors in Call Transaction?9) Among the Call Transaction and Session Method, which is faster?10) What are the difference between Interactive and Drill Down Reports?11) How to pass the variables to forms?12) How to create a link between modified form and modified print program?13) What is the table, which contain the details of all the name of the programs and forms?14) How did you test the form u developed? How did you taken print?15) What are Standard Texts?16) What is the difference between Clustered Tables and Pooled Tables?17) What is pf-status?18) Among "Move" and "Move Corresponding", which is efficient one?19) What are the output type and Tcodes?20) Where we use Chain and Endchain?21) Do you use select statement in loop endloop, how will be the performance? To improve the performance?22) In select-options, how to get the default values as current month first date and last date by default?Eg: 1/12/2004 and 31/12/2004Go thru these answers:1) What is runtime analysis? Have you used this?It's checks program execution time in microseconds. When you go to se30.if you give desired program name in performance file. It will take you to below screen. You can get how much past is your program.2) What is meant by performance analysis? Have done3) How to transfer the objects? Have you transferred any objects?4) How did you test the developed objects?I was testing a developed object. There are two types of testing- Negative testing- Positive testingIn negative testing we will give negative data in input and we check any errors occurs.In positive testing we will give positive data in input for checking errors.8) How did you handle errors in Call Transaction?We can create a internal table like 'bsgmcgcoll'. All the messages will go to internal table. We can get errors in this internal table.Below messages are go to internal table. when you run the call transaction. - Message type- Message id- Message Number- Variable1- Variable2- Variable39) Among the Call Transaction and Session Method, which is faster?Call transaction is faster then session method. But usually we use session method in real time...because we can transfer large amount of data from internal table to database and if any errors in a session. Process will not complete until session get correct.10) What are the difference between Interactive andDrill Down Reports?ABAP/4 provides some interactive events on lists such as ATLINE-SELECTION (double click) or AT USER-COMMAND (pressing a button). You can use these events to move through layers of information about individual items in a list.Drill down report is nothing but interactive report...drilldown means above paragraph only.11) How to pass the variables to forms?12) What is the table, which contain the details of all the name of the programs and forms?Table contains vertical and horizontal lines. We can store the data in table as blocks. We can scroll depends upon your wish. And these all are stored in database (data dictionary).Which contain the details of all the name of the programs and forms? (I don't know).13) How did you test the form u developed? How did you taken print?14) What are Standard Texts?16) What is the difference between Clustered Tables and Pooled Tables?A pooled table is used to combine several logical tables in the ABAP/4 dictionary. Pooled tables are logical tables that must be assigned to a table pool when they are defined.Cluster table are logical tables that must be assigned to a table cluster when they are defined.Cluster table can be used to store control data they can also used to store temporary data or text such as documentation.17) What is pf-status?Pf status is used in interactive report for enhancing the functionality. If we go to se41, we can get menus, items and different function keys, which we are using for secondary list in interactive report.18) Among "Move" and "Move Corresponding", which is efficient one?I guess, 'move corresponding' is very efficient then 'move' statement. Because usually we use this stamtent for internal table fields only...so if we give move corresponding. Those fields only moving to other place (what ever you want).19) What are the output type and Tcodes?20) Where we use Chain and End chain?21) Do you use select statement in loop end loop, how will be the performance? To improve the performance?22) In select-options, how to get the default values as current month first date and last date by default?Eg: 1/12/2004 and 31/12/2004。
SAP ABAP试题
一选择题(共40题,每题2分,未特殊注明则均为单选)1,下面的语句中,哪一个语句编译会报错(假设XXX和结构sflight都已经定义).(C)A)write at 12 XXX.B)data type type sflight.C)sflight-price = a+b.D)write sy-vline.2.在ABAP/4的开发工作中,哪一个TCODE是直接进入就可以创建程序,函数组以及程序内部各种元素的.(A)A) SE80 B) SE11 C) SE93 D)SE163.直接进入就可以查询表的结构是哪个TCODE. ( B )A) SE80 B) SE11 C) SE93 D)SE164.很多表当中都有一个字段,叫做MANDT,为第一个主键,这个字段的用处是.(B)A)区分后台数据库的类型B)区分表中记录属于哪个客户端(client)C)区分表的数据量大小D)SAP系统保留字段5.下面的定义语句中,哪一个语句定义出来的结果是一个内表.(D)A)DATA zsflight TYPE sflight.结构B)DATA:COLS LIKE LINE OF TC-COLS.C)TABLES SFLIGHT.D)DATA:zsflight TYPE TABLE OF sflight.6.ABAP中三种基本的数据对象是.(A)A)内表结构基本数据对象B)内表程序语句C)字符数字日期D)语句程序表7.语句loop at itab into wa.的准确意思是.(D)A)把wa中的值进行循环,每一次循环都写回内表B)求出迷宫itab的出口放在wa里C)对内表itab的数值列进行累加放入wa中D)对内表itab进行循环,把循环中每一行的结果写入结构wa中8.程序中执行了这么一段代码DATA it_sflight type sflight with header line.Loop at it_sflight.it_sflight-carrid = 'AA'.Modify it_sflight.Endloop.该段语法中出现了四次it_sflight,其中后三次分别代表的是内表还是结构.(B)A)内表内表B)内表结构内表C)内表结构D)内表结构9.在设计报表程序时,选择的程序类型应该是.(A)A)可执行程序B)模块池程序C)包含程序D)函数组程序10."在报表程序的屏幕筛选条件里,SELECT-OPTIONS定义出来的元素是.(A)A)内表B)结构C)基本数据对象D)指针型字段11."在报表程序的屏幕事件里,有一个事件叫做ATLINE-SELECTION.参见如下代码:WRITE / ‘ABAP’.AT LINE-SELECTION.WRITE /‘TEST’.那么,以下哪种情况会发生.(B)A)先显示出一行ABAP,当用户双击一次时,屏幕上在原来ABAP那行下面换行一次显示出一行新的TESTB)先显示出一行ABAP,当用户双击一次时,屏幕上每次只显示出一行的TEST取代原先的屏幕C)先显示出一行ABAP,当用户双击一次时,屏幕上永远只显示出一行TEST(放在原来ABAP那行下面)D)先显示出一行ABAP,当用户第一次双击时,产生一个新屏幕,显示一行TEST,然后每次双击都在其下换行显示一行新的TEST12."选择事件的执行顺序正确的一组.(B)A)INITIALIZATION/START-OF-SELECTION/TOP-OF-PAGE/ATLINE-SELECTIONB)INITIALIZATION/TOP-OF-PAGE/START-OF-SELECTION/ATLINE-SELECTIONC)START-OF-SELECTION/ INITIALIZATION / TOP-OF-PAG / AT LINE-SELECTIOND)INITIALIZATION/TOP-OF-PAGE/ATLINE-SELECTION/START-OF-SELECTION13."在层级报表的开发里,下面哪个条件不是必需的.()CA)对内表先按层级字段排序B)对内表和结构定义时层级字段必须排在前面C)层级字段不能出现在at和end at语句之外D)层级字段必须存在14."在明细报表的开发中,双击一行转向明细报表的取数依据是.(C)A)你双击那行的主键字段B)你双击的那个字段本身C)你双击那行在循环中预先hide的字段D)你双击那行在循环中预先已经write出来的字段15."在交互式报表的设计中,假如想在明细报表里加入任意字段的排序功能,请选择正确的选项(多选).()A)要先用get cursor field XXX.取得字段B)对内表排序时该字段要用括号括起来C)在排序时要把该字段加上一个数字以去除前面的结构名称(如果是用结构-字段定义的话)D)排序后显示完要把sy-lsind = 0,以防止产生多余的list16."在屏幕编程的设计中,下面共有四个主要步骤:a设计屏幕的格式(有哪些字段,放在什么位置)b设计屏幕的整体属性c设计屏幕上字段的属性d编写屏幕的流逻辑( flow logic )请选择通常请况下正确的顺序. ( C )A)a b c dB)c d b aC)b a c dD)d b a c17."如果屏幕A的下一个屏幕仍然是A ,那么当执行程序时,对于屏幕的主要事件,下面哪种顺序是正确的.(D)A)A的PAI ? A的PBO ? A的PAI ? A的PBOB)A的PBO ? A的PAI ? A的PAI ? A的PBOC)A的PAI ? A的PAI ? A的PBO ? A的PBOD)A的PBO ? A的PAI ? A的PBO ? A的PAI18."屏幕编程中一个屏幕所使用的工具栏应如何设计.(A)A)先设计一个Gui Status,再在程序中绑定B)先设计一个Gui Titles,再在程序中绑定C)在程序中用Add button语法添加D)在屏幕设计格式的界面上添加工具栏及其按钮19."以下四种系统变量,各是什么含意.(D)SY-UCOMM SY-DATUM SY-SUBRC SY-TABIXA)用户触发的屏幕上的功能码当前日期当前时间循环次数B)当前日期当前时间循环次数用户触发的屏幕上的功能码C)用户触发的屏幕上的功能码循环次数语句执行结果返回值当前日期D)用户触发的屏幕上的功能码当前日期语句执行结果返回值循环次数20."一个程序的子屏幕编程是如何实现的.(C)A)子屏幕区域外加屏幕(属性设置为正常屏幕)B)自定义控件外加屏幕(属性设置为正常屏幕)C)子屏幕区域外加屏幕(属性设置为子屏幕)D)自定义控件外加屏幕(属性设置为子屏幕)21."对于表格控件和内表的绑定的做法,下面哪种说法是正确的.(A)A)PBO 时同步循环内表和表格控件把内表的值写入表格控件,PAI时用同样的循环把表格控件的值写回内表B)PBO时同步循环内表和表格控件把表格控件的值写入内表,PAI时用同样的循环把内表的值写回表格控件C)在定义内表时定义与之绑定的表格控件,PBO和PAI事件要各循环内表一次D)在制作表格控件时定义与之绑定的内表,PBO和PAI事件要各循环表格控件一次22."如果要把表格控件某列的属性动态的改变成不可输入,下面哪种做法是可行的.(B)A)在PAI事件中修改table的general attribute值B)在PBO事件中修改table的general attribute值C)在PAI事件中取得table的COLS属性,利用它本身是个内表的特点循环找到该列修改之,修改完后写回COLS内表D)在PAI事件中取得table的COLS属性,利用它本身是个结构的特点找到其中表示该列的字段修改23."要对表格控件增加一个可由用户写入信息的列,下面哪种方式是可行的(多选).()A)在设计屏幕上点击dictionary / program fields window按钮,输入字典表或者程序中定义的元素,把它拖到表格控件中B)在设计屏幕上修改table的attributes,增加一列C)在设计屏幕中的表格控件里拖入一个text field(文本字段)D)在设计屏幕中的表格控件里拖入一个input/output field(输入/输出字段)24."在编写ALV GRID CONTROL时,应遵循以下哪种顺序.(A)A)在屏幕上建区域,创建区域对象,创建ALVGRID对象,调用ALVGRID的set_table_for_first_display方法B)在屏幕上建区域,创建ALVGRID对象,创建区域对象,调用ALVGRID的set_table_for_first_display方法C)调用ALVGRID的set_table_for_first_display方法,在屏幕上建区域,创建ALVGRID对象,创建区域对象D)创建区域对象,调用ALVGRID的set_table_for_first_display方法,在屏幕上建区域,创建ALVGRID对象,25."自己制作一个搜索帮助,引用的表是SBOOKINGS,DialogType是Dialogwithvalue restriction,里面customid和name这两个字段的IMP属性打勾,customid,name,carrid,connid这四个字段的EXP属性打勾,四个字段都设定了LPOS和SPOS,这个搜索帮助的输出效果是.()A)先输出两个栏位的筛选屏幕,再按照筛选结果输出两个栏位的表格信息让用户选择,选择结果影响到四个栏位B)先输出两个栏位的表格信息让用户选择,选择结果影响到四个栏位C)先输出四个栏位的表格信息让用户选择,选择结果影响到两个栏位D)先输出四个栏位的筛选屏幕,再按照筛选结果输出四个栏位的表格信息让用户选择,选择结果影响到两个栏位26."ABAP的OPEN SQL的取数语句是否可以实现数据库无关性,其原因是什么.(C)A)不可以,数据库的SQL格式不同B)可以,因为它的名字叫做OPEN SQLC)可以,因为中间有一层DB Interface做转换D)不可以,各种数据库的版本不同228."一个表TA有三个字段,其中第一个字段是主键,目前有一条记录是1/‘first’/19,结构wa_result是和表相同类型的,当前值是2/‘second’/ 20 .执行OPEN SQL语句:modify TA from wa_result.执行后对系统的影响为.(B)A)没有任何影响B)TA有两条记录1 / ‘first’/ 19 和2 / ‘second’ / 20C)TA有一条记录2 / ‘second’ / 20D)系统出错退出,对表没有任何影响29."SAP对锁的主要实现手段是.()A)在SE11里加锁对象,然后在程序中调用锁对象生成的函数B)在数据库里加锁,在程序中声明C)由数据库自动进行,SAP不用处理D)在程序中通过SQL语句实现**30."有一程序,起始画面里有一个用户可以输入字段为A,如果想在程序进入的时候自动设置成上次退出时的值,可以采用的方法是.(B)A)在退出时使用GET PARAMETER ID 'XXX' FIELDA.在进入时使用SET PARAMETER ID 'XXX' FIELDA.B)在退出时使用SET PARAMETER ID 'XXX' FIELDA.在进入时使用GET PARAMETER ID 'XXX' FIELDA.C)不管是退出还是进入时,都执行语句GET PARAMETER ID 'XXX' FIELDA.D)不管是退出还是进入时,都执行语句SET PARAMETER ID 'XXX' FIELDA.31."SAP的SMARTFORM和ABAP PROGRAM的对应关系是.(C)A)一个SMARTFORM对应多个程序B)一个程序对应多个SMARTFORMC)一个SMARTFORM对应多个程序,一个程序也可以对应多个SMARTFORMD)一个SMARTFORM对应一个程序32."设计SMARTFORM显示一个表格,如果第一页是一种格式,后面几页是一种格式,如何设计.()A)第一页指向第二页,第二页指向空B)第一页指向自己,第二页指向第一页C)第一页指向第二页,第二页指向第一页D)第一页指向第二页,第二页指向自己33."如果想设计SMARTFORM中大家公用的文本,应该使用什么技术.()A)SMART TEXTB)SMART STYLEC)SAP SCRIPTD)TEXT MODULE34."下面对于SMARTFORM中TABLE和TEMPLATE的描述,正确的是.(A)A)TEMPLATE用来设计表格模版,TABLE用来设计表格实体B)TEMPLATE用来设计表格样式,TABLE用来设计表格实体C)TEMPLATE用来设计静态表格,TABLE用来设计表格实体D)TEMPLATE用来设计静态表格,TABLE用来设计动态表格35."SMARTFORM中TABLE的排序事件的触发场合是.()A)循环到排序字段第一次开始时触发开始事件,循环到排序字段结束时触发结束事件B)循环到排序字段第一次开始时触发开始事件,循环到表格结束时触发结束事件C)当表格开始时触发开始事件,表格结束时触发结束事件D)循环到排序字段第一次开始时触发开始事件,然后触发结束事件,然后开始正式循环该排序字段剩余记录36."在SMARTFORM中显示一个表格,其中有一个栏位为wa_sflight-price,现在里面有三行数据,其值依次分别是10,30,50,现在在表格设计的时候在GlobalDefinition中定义一个变量G_TOL,在表格的Main Area中加入一个真假节点,节点的条件为WA_SFLIGHT-PRICE > 10 .然后,在真节点下加一个程序行,内容为G_TOL = wa_sflight-price +10."假节点下加一个程序行,内容为G_TOL =wa_sflight-price+20."最后在表格的Footer下加一个表行(在表格最后显示),下加一个文本节点显示这个字段G_TOL,它显示的值应该是.()A)60B)70C)140D)15037."SAP提供的修改系统标准功能的方案里,哪几种是不需要修改系统标准程序就可以实现的.(C)A)Customer Develepment,Enhancement,ModificationB)Customer Develepment,Customizing,ModificationC)Customer Develepment,Customizing,EnhancementD)Enhancement,Modification,Customizing38."对于客户定制需求的解决方案,应该遵循哪一种顺序进行为宜.(C)A)先判断能否配置;再判断系统有无类似功能,有的话先判断能否修改标准程序,再判断能否进行Enhancement;最后考虑自己开发B)先判断系统有无类似功能,有的话先判断能否修改标准程序,再判断能否进行Enhancement;然后判断能否配置;最后考虑自己开发C)先判断能否配置;再判断系统有无类似功能,有的话先判断能否进行Enhancement,再判断能否修改标准程序;最后考虑自己开发D)先判断系统有无类似功能,有的话先判断能否进行Enhancement,再判断能否修改标准程序;然后判断能否配置;最后考虑自己开发39."自己定义一个增强项目,加入系统的增强,并在其中激活增强的TCODE 应该是.(B)A)SMODB)CMODC)SE84D)SE8040."在SAP系统标准增强功能里,主要包含了以下哪组功能.(A)A)Table Enhancement/Screen Exit/Menu Exit/Function module ExitB)Table Enhancement/Structure Exit/Menu Exit/Event ExitC)Menu Exit/Function module Exit/Field Exit/BAPI ExitD)Structure Exit/Menu Exit/Table Enhancement/Screen Exit。
SAP内部ABAP英文面试试题
1. Repository objects are not client-specific.Determine whether this statement is true or false.□True□False2. Customer obj ects can be included in SAP packages.Determine whether this statement is true or false.□True□False3. You must create a new application program for each language used in the system. Determine whether this statement is true or false.□True□False4. When is the transport of development objects for a development request triggered?Choose the correct answer(s).□ A When an object is saved.□ B When an object is saved□ C When a task is released□ D When a request is released5. Using Dictionary types (descriptive elements), variables can be defined in the program.Determine whether this statement is true or false.□True□False6. What are the facts about data elements and domains?Choose the correct answer(s).□ A Data elements contain technical and semantic information.□ B Data elements always refer to domains.□ C Data elements typically refer to domains.□ D Data elements must not be used for defining a variable.7. Database tables are always created, with their content, in the ABAP Dictionary. Determine whether this statement is true or false.□True□False8. What is defined with the statement "DATA myvar TYPE dbtab." if dbtabis a transparent table?Choose the correct answer(s).□ A A copy of the database table dbtab□ B A table variable with the same structure as the database table dbtab□ C A table variable with the same content as the database table dbtab□ D A structure variable with the same structure as a dbtab row9. By which elements of the ABAP Dictionary can you set the type for a structure variable within the program?Choose the correct answer(s).□ A Dataelement□ B Domain□ C Structure□ D Transparent table10. What is an internal table?Choose the correct answer(s).□ A Database table□ B Exceltable□ C Variable in an ABAP program□ D Table that is embedded in another table11. What is a table type?Choose the correct answer(s).□ A An internal table□ B Description of an internal table□ C Description of a database table□ D The specification "STANDARD"/"SORTED"/"HASHED" for aninternal table12. SBOOK is a database table.Which syntax variant do you use to create an internal table with the samestructure as SBOOK?Choose the correct answer(s).□ A DATA itab TYPE sbook.□ B DATA itab TYPE TABLE OF sbook.□ C DATA itab TYPE LINE OF sbook.□ D DATA itab LIKE sbook.13. Which statement retrieves a single record from an internal table?Choose the correct answer(s).□ A SELECT ... ENDSELECT□ B SELECT SINGLE□ C READ TABLE□ D GET□ E FETCH14. In which system field do you find the number of the records read using SELECT? Choose the correct answer(s).□ A SY-SUBRC□ B SY-TABIX□ C SY-DBCNT□ D SY-INDEX15. Which of the following statements concerning authorization checks are correct? Choose the correct answer(s).□ A In the SELECT statement, the corresponding authorization check isalready integrated.□ B The SELECT statement functions without any problem, even if theuser does not have the appropriate authorization for the read process.□ C To protect data from unwanted access, an authorization check mustbe implemented in the program.□ D An authorization check must always be implemented in the program.16. Which of the following statements concerning authorization and authorization checks are correct?Choose the correct answer(s).□ A An authorization object has fields and field values.□ B An authorization is a real characteristic of an authorization object -that is, an authorization object with field values.□ C There are authorization objects in the user master record.□ D Thereareauthorizations in the user master record.17. Which of the following statements concerning runtime analysis are correct? Choose the correct answer(s).□ A The runtime analysis also finds syntax errors in your programs.□ B The runtime analysis also finds semantic errors in your programs.□ C To get a detailed evaluation or the runtime analysis, you should createa variant with the setting "No Aggregation" and specifiy it duringexecution of the runtime analysis.□ D When you are evaluating the results, you should always considerthe measurement environment - that is, the network/system load atthe time of measurement, the data volume, and possibly existingtable buffers18. Which of the following statements on the Code Inspector are true?Choose the correct answer(s).□ A When a Code Inspector check is carried out, a check variant mustalways be specified.□ B To define the level of detail for a check, you can create an appropriatecheck variant and specify it for the inspection.□ C The execution of a Code Inspector check through the (context) menuof the Object Navigator uses a standard check variant.□ D Check variants, object sets, and inspections can be defined usingtransaction SCI.19. Which aspects are taken into consideration by the Code Inspector when a program is examined?Choose the correct answer(s).□ A Syntax check□ B Typical semantic errors (for example, AUTHORITY-CHECKstatement without subsequent SY-SUBRC check)□ C Performance (for example, nested SELECT statements)□ D Security (for example, cross-client data accesses)□ E Formatting of the source code (for example, indenting of the programlines within loops)20. What purpose does the subroutine technique serve?□ A For performance improvement□ B For a better overview of program layout□ C To encapsulate a function that is required many times within aprogram for multiple use□ D To implement the central maintainability of a function within aprogram□ E To make a function available across the system21. What purpose should the passing of parameters to subroutines serve?Choose the correct answer(s).□ A Mainly for passing user inputs to the subroutine□ B For performance improvement□ C For achieving more flexibility in the subroutine□ D For achieving more stability in the subroutine22. Which of the following statements concerning subroutines are correct?Choose the correct answer(s).□ A When a subroutine is called, variables or literals are to be passed asactual parameters to the corresponding formal parameters.□ B When a subroutine is called, it is important to watch out for the samenames of formal parameters and actual parameters.□ C The passing method for formal parameter is defined in the subroutinedefinition.□ D There are two different passing methods for formal parameters.□ E USING parameters without the VALUE addition are call-by-reference parameters.□ F Large internal tables should be passed to the subroutine through a call-by-value parameter.23. Which of the following statements regarding event processing blocks are correct? Choose the correct answer(s).□ A If a program does not have any explicit event processing blocks, allthe statements implicitly belong to the AT-SELECTION-SCREENblock.□ B The sequence of event processing blocks in the program does nothave any effect on the program flow.□ C Event processing blocks can be nested within each other.□ D Event processing blocks must be explicitly closed in each case.24. Using which syntax do you issue a text symbol named abc on the list?Choose the correct answer(s).□ A WRITE abc.□ B WRITE 'abc'.□ C WRITE 'text-abc'.□ D WRITE text-abc.25. Which of the following statements regarding text elements of a program are correct?□ A Text symbols as well as list and column headings belong to the text elements.□ B Text elements are stored in the respective program.□ C Not all text elements can be translated.□ D Text elements of a program must be activated for use.□ E By maintaining the list heading, you can also change the shortdescription of the program.26. Which of the following statements concerning selection texts are correct? Choose the correct answer(s).□ A No selection texts can be maintained for select options.□ B Just like list headings can be maintained directly on the list, so toocan selection texts be maintained directly on the selection screen.□ C Selection texts cannot be translated.□ D Selection texts belong to the text elements of a program, just like text symbols and list headings, and therefore they can also be translated.27. Which of the following statements concerning selection screens are correct? Choose the correct answer(s).□ A All the input fields of a selection screen have an F1 help available.□ B All the input fields of a selection screen have an F4 help available.□ C Typically, authorization checks are executed at the event ATSELECTION-SCREEN.□ D A user message of type E triggers the display of the messagetext with program cancelation if it is transmitted at the event ATSELECTION-SCREEN.□ E Variants are filled-in selection screens of a program and are storedwith the program concerned.28. Which of the following statements concerning the dynpro are correct? Choose the correct answer(s).□ A The static subsequent screen of a dynpro cannot be overridden dynamically.□ B A screen has a flow control setup, in addition to the attributes, layout,and element list.□ C You will find ABAP statements in the flow control of a screen.□ D In the dynpro flow control, you will find references to modules thatare contained in the program and include ABAP statements.□ E The automatic data transport between internal program variables anddynpro fields takes place only with fields of the same name.29. Which of the following statements concerning function modules are correct? Choose the correct answer(s).□ A When you call a function module, all the import, export, andCHANGING parameters have to be filled with data.□ B Whenever a function module is called, all exceptions should becaught and handled. Otherwise, a runtime error occurs whenever anexception that is not caught is triggered by the function module.□ C When a function module is called, the IMPORT parameters arepassed with the IMPORT addition and the EXPORT parameters arepassed with the EXPORT addition.□ D When a function module is called, the IMPORT parameters arepassed with the EXPORT addition and the EXPORT parameters arepassed with the IMPORT addition.30. Which of the following statements concerning classes/methods are correct? Choose the correct answer(s).□ A In the SAP standard version, classes that contain useful functions are already available.□ B You can search for classes using the standard search tools "RepositoryInfo System" and "SAP Application Hierarchy".□ C You can use a standard class to control the SAP Grid Control (ALV).□ D To call up other EnjoySAP controls (for example, tree control), youmust define your own specific classes.。
SAP项目ABAP考试试题
一选择题(共20题,40分)1,下面的语句中,哪一个说法是错的. ( C)A)SAP系统是三层架构,分别是:表现层,应用服务器层,数据库层.B)创建开发类的主要目的是进行开发的组织管理用途和上传到目标系统C)新创建的程序一定要使用开发请求号D)SAP的客户程序命名空间是以Y或Z开头2.在ABAP/4的开发工作中,哪一个TCODE是直接进入就可以创建程序,函数组以及程序内部各种元素的. ( A)A) SE80 B) SE11 C) SE93 D)SE163.SAP系统进入ABAP字典的TCODE是哪个? ( B)A) SE80 B) SE11 C) SE93 D)SE164. 很多表当中都有一个字段,叫做MANDT, 为第一个主键,这个字段的用处是.(B )A)区分后台数据库的类型B)区分表中记录属于哪个客户端(client)C)区分表的数据量大小D)SAP系统保留字段5.下面的定义语句中,哪一个语句定义出来的结果是一个内表. (C)A)DATA zsflight TYPE sflight.B)DATA: COLS LIKE LINE OF TC-COLS.C)TABLES SFLIGHT.D)DATA: BEGIN OF ZSFLIGHT OCCURS 0,CARRID LIKE SFLIGHT-CARRID,CONNID LIKE SFLIGHT-CONNID,END OF ZSFLIGHT.6.ABAP字典中三种基本的数据对象是. ( A)A)表数据元素 DOMAINB)内表程序语句C)字符数字日期D)语句程序表7.语句loop at itab into wa. 的准确意思是. ( D)A)把wa中的值进行循环,每一次循环都写回内表B)对内表itab进行循环,把循环中每一行的结果写入内表wa中C)对内表itab的数值列进行累加放入wa中D)对内表itab进行循环,把循环中每一行的结果写入结构wa中8.程序中执行了这么一段代码DATA it_sflight type sflight with header line.Loop at it_sflight.it_sflight-carrid = 'AA'.Modify it_sflight.Endloop.该段语法中出现了四次it_sflight,其中后三次分别代表的是内表还是结构. (B )A)内表内表内表B)内表结构内表C)内表结构结构D)内表内表结构9.在设计报表程序时,选择的程序类型应该是.( A)A)可执行程序B)模块池程序C)包含程序D)函数组程序10.在报表程序的屏幕筛选条件里,SELECT-OPTIONS定义出来的元素是.(A)A)内表B)结构C)基本数据对象D)指针型字段11. 以下四种系统变量,各是什么含意. ( D)SY-UCOMM SY-DATUM SY-SUBRC SY-TABIXA)用户触发的屏幕上的功能码当前日期当前时间循环次数B)当前日期当前时间循环次数用户触发的屏幕上的功能码C)用户触发的屏幕上的功能码循环次数语句执行结果返回值当前日期D)用户触发的屏幕上的功能码当前日期语句执行结果返回值循环次数12.A BAP的OPEN SQL的取数语句是否可以实现数据库无关性,其原因是什么. ( C)A)不可以,数据库的SQL格式不同B)可以,因为它的名字叫做OPEN SQLC)可以,因为中间有一层DB Interface做转换D)不可以,各种数据库的版本不同13.对ABAP的OPEN SQL语句的两个返回系统变量,描述正确的是. ()A)Sy-dbcnt表示执行结果是否正确,sy-subrc表示执行影响到的数据条数B)Sy-dbcnt表示执行影响到的数据条数,sy-subrc表示执行结果是否正确C)Sy-dbamt表示执行结果是否正确,sy-sudnc表示执行影响到的数据条数D)Sy-dbamt表示执行影响到的数据条数,sy-sudnc表示执行结果是否正确14.一个表TA有三个字段,其中第一个字段是主键,目前有一条记录是1 /‘first’/ 19,结构wa_result是和表相同类型的,当前值是2 / ‘second’ / 20 .执行OPEN SQL语句:modify TA from wa_result.执行后对系统的影响为. (B )A)没有任何影响B)TA有两条记录1 / ‘first’/ 19 和 2 / ‘second’ / 20C)TA有一条记录2 / ‘second’ / 20D)系统出错退出,对表没有任何影响15.SAP的SMARTFORM和ABAP PROGRAM的对应关系是. (C )A)一个SMARTFORM对应多个程序B)一个程序对应多个SMARTFORMC)一个SMARTFORM对应多个程序,一个程序也可以对应多个SMARTFORMD)一个SMARTFORM对应一个程序16.如果想设计SMARTFORM的字体,应该使用什么技术. (D)A)SMART TEXTB)SMART STYLEC)SAP SCRIPTD)TEXT MODULE17.下面对于SMARTFORM中TABLE和 TEMPLATE的描述,正确的是. ()A)TEMPLATE用来设计表格模版,TABLE用来设计表格实体B)TEMPLATE用来设计表格样式,TABLE用来设计表格实体C)TEMPLATE用来设计静态表格,TABLE用来设计表格实体D)TEMPLATE用来设计静态表格,TABLE用来设计动态表格18.SAP提供的修改系统标准功能的方案里,哪几种是不需要修改系统标准程序就可以实现的. ( C)A)Customer Develepment ,Enhancement, ModificationB)Customer Develepment ,Customizing, ModificationC)Customer Develepment ,Customizing, EnhancementD)Enhancement, Modification,Customizing19.对于客户定制需求的解决方案,应该遵循哪一种顺序进行为宜. (C)A)先判断能否配置;再判断系统有无类似功能,有的话先判断能否修改标准程序,再判断能否进行Enhancement;最后考虑自己开发B)先判断系统有无类似功能,有的话先判断能否修改标准程序,再判断能否进行Enhancement;然后判断能否配置;最后考虑自己开发C)先判断能否配置;再判断系统有无类似功能,有的话先判断能否进行Enhancement,再判断能否修改标准程序;最后考虑自己开发D)先判断系统有无类似功能,有的话先判断能否进行Enhancement,再判断能否修改标准程序;然后判断能否配置;最后考虑自己开发20.自己定义一个增强项目,加入系统的增强,并在其中激活增强的TCODE应该是. ( B)A)SMODB)CMODC)SE84D)SE80二问答题(共1题,20分)请简述SAP二次开发中REPORT , SCREEN , 数据库更新,SMARTFORM及增强等主要技术的开发方法和主要应用场合三上机题 (共3题, 40 分)1,程序内容包含:对字符的长度,拆分,替代等操作;用循环控制语句计算1—20的累加;自定义内表,实现对内表的增删改操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SAP面试题目(ABAP)
问题:SAP面试题目(ABAP) 回答:
问题一:锁对象(Lock Object)和FM(Function Module)激活锁定对象时,产生的FM 的名字是什么?答案:首先要在ABAP 字典中创建锁对象,然后才能在ABAP 程序中设锁。
创建锁对象时,系统会自动生成两个FM 来进行锁管理。
用于设锁的FM 为:ENQUEUE_。
它用于在锁表(Lock Table)中生成一个锁项(Lock Entry)。
若设锁不成功的话,就会在Return 中反映出来。
用于释放锁的FM 为:DEQUEUE_。
它用于从锁表中删除一个锁项。
在ABAP 程序中,只需使用CALL FUNCITION 语句就可以调用它们。
这两个锁FM 是在SAP 系统的一个特殊工作进程中执行的,专门进行锁管理。
它运行在一个单独的服务器上,而该服务器专门用于维护整个SAP 系统的主锁表(Central Locak Table)。
有两种锁类型:
共享锁——只读锁,一个用户正在读数据时,阻止其他用户更改该数据。
独占锁——可写锁,一个用户正在修改数据时,阻止其他用户更
改该数据。
问题二:更新方面的FM
更新FM 分为V1 和V2,那么首先会执行哪一种更新类型呢?每种类型又是以哪种模式(异步、同步或本地)执行的呢?
答案:V1 更新类型比V2 更新类型的优先级高,因此,V1 比V2 行执行。
V1 的执行模式可以为异步、同步或本地;V2 只能为异步执行。
问题三:ABAP 内存(ABAP Memory)交换
在使用ABAP 内存的程序间进行数据交换时用到的两个语句是什么?
答案:EXPORT to MEMORY ID 用于将数据复制到ABAP 内存,IMPORT from MEMORY ID 用于将数据从ABAP 内存复制到程序中。
在ABAP 内存间进行交换的数据必须在两个程序中都进行声明,并包含同样的数据声明。
问题四:授权对象(Authorization Objects)什么是授权对象?在ABAP 程序中使用哪条语句进行授权检查?答案:授权对象由一组字段组成,这些字段中的值将被用于进行授权检查。
ABAP 程序中使用AUTHORITY-CHECK 语句根据授权对象进行授权检查。
在AUTHORITY-CHECK 语句中,必须指明授权对象的所有字段,但有一个例外,可以用DUMMY 关键字来绕过某个字段的检查。
一个授权对象中最多可以定义10 个字段。
问题五:修改(Modifications)在SAP 系统中是怎样定义修改的?它们对更新(upgrade)有怎样的影响?答案:修改是指用户对SAP 发布的库对象(Repository Object)进行的更改。
必须在更新期间对修改进行评审(Review),来决定是否应该使用新的SAP 对象,以及将来使用时是否需要进一步修改该对象。
问题六:修改助手(Modification Assistant)什么是修改助手?答案:修改助手是4.5 版中引入的一个工具,用于简化更新过程。
可以通过ABAP 编辑器触发修改助手,它会记录对系统进行的修改。
修改助手支持通过ABAP 编辑器、Screen Painter、Menu Painter、文本元素维护、Function Builder 和ABAP 字典进行的修改。
问题七:功能模块出口(Function Module Exit)实现功能模块出口时SAP 应用程序中应使用哪条语句?答案:某些SAP 应用程序中存在功能模块出口,它使用户能够向SAP 程序中添加一些功能。
通过搜索CALL CUSTOMER 可以发现是否存在功能模块出口。
问题八:事务变式(Transaction Variants)什么是事务变式?为何要使用它?答案:事务变式是一组屏幕变式,用于预定义屏幕行为和默认值。
通过使用变式功能,可以将用户不需要的字段、子屏幕及全屏幕从用户视图中取消。
可以给任何输入字段设置默认值,字段也可以不用带Ready for Input 状态。
只能为对话和报表事务创建事务变式;变式中只能包含普通屏幕、子屏幕及对话屏幕。
开发人员可以使用GuiXT 脚本语言通过事务变式维护对屏幕进行修改。
修改屏幕布局的方式有:插入按钮、值帮助(Value Helps)、移动对象、
插入屏幕等等。
问题九:更改SAP (Changing SAP)请列出用户修改SAP 标准功能的不同方式。
答案:SAP Standard 可以通过Personalization、Customizing、Modifications、Enhancements 及自定义ABAP 程序进行更改。
这些方式的示例如下:Personalization——Personalization 技术包含创建变式、设置/获取参数及活动组(Activity Groups)。
Customizing ——是最常用的使用SAP 工具(如R/3 Reference Model and Implementation Guide)更改SAP Standard 的方式。
可以认为Customizing 是实施R/3 所必需的,通常由Functional Team 来执行。
Modifications——不建议对SAP 对象使用Modifications。
使用SSCR (SAP Software Change Registration)注册所有对SAP 对象的手动修改。
Enhancements——常由开发Team 执行,包含的活动有:字典增强、Funciton Module Exits、菜单和屏幕出口及Business Add-ins (BADI)。
自定义ABAP 程序——可以与SAP 对象或自定义开发的对象一起工作。
问题十:添加字段向SAP 表中添加字段的方法是哪两种?答案:这两种方法是:Append 结构(Append Structure)和自定义Include(Customizing Include)。
Append 结构是在向表尾添加字
段时创建的,自定义Include 由SAP 开发人员指定,以使用户可以创建新字段。
问题十一:什么是BADI?答案:BADI 是Business Add-in 的缩写。
它是一种新的功能增强概念,使用ABAP 对象技术。
这是一种使用面向对象的方法来进行SAP 增强。
实现BADI 要用到类、接口及方法等面向对象的概念。
要对一个SAP 应用程序进行增强,必须首先定义BADI。
为BADI 创建一个接口,接着创建一个适配器类(Adapter Class)来实现这个接口,然后创建这个适配器类的实例。
问题十二:
关于sy-index 和sy-tabix的区别
2011-04-07 16:16。