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系统中执行一系列相关的操作,保证数据的一致性。
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.6 PM 常用的TABLE (12)2.3.6 inner 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.2 SMART FORM如何实现公司LOG打印,其步骤是什么? (19)7.3 smartform 中如何控制段落、单个字符输出格式? (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.4 RFC接口的具体功能包括哪些? (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)
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 程序中使用哪条语句进行授权检查?答案:授权对象由一组字段组成,这些字段中的值将被用于进行授权检查。
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语句块来处理异常。
sap-abap面试知识点总结
1) PROCESSBEFORQUTPUT简称PBO :进行屏幕初始化工作,如数据库选择,屏幕元素属性动态设定等,如根据用户权限和继电定值申请单的状态确定哪些屏幕字段是输入状态,哪些字段是显示状态;PBO1块结束后,系统显示当前用户屏幕。
2) PROCESS AFTER INPUT(简称PAI):当用户在屏幕上执行某些功能后被触发,PAI结束后,屏幕可能进入后续或返回上一个屏幕序列;3)PROCESSONHELP-REQUEST(简称POH :当用户按下F1键要求查看帮助信息时触发;4) PROCESSONVALUE-REQUE州称POV:当用户按下F4键要求查看搜索帮助时触发。
5)如何实现f4帮助方法一:a. .事务码SE11打开数据字典,选中搜索帮助,填写名称,点击创建.(前提先把表格和数据元素以及域都建好了)2. 填写基本相关信息,搜索帮助描述,取数的表,显示的对话框类型.3. 填写搜索帮助参数,字段名称,输入输出属性,显示位置次序,数据元素.4. 保存,激活.5. 打开要建立搜索帮助的表,选中要建立搜索帮助的字段,点击SRCH HELP填入你建立好的搜索帮助的名称.6. 保存,激活表.7. 重新保存要用到表中搜索帮助的程序,激活后就可以使用搜索帮助来选择值了Ps:在建立屏幕程序的时候要填上屏幕中你所填变量的f4的名字Dictionary: Display Search Help日u妙乳歪端!耳珍ag OHaementsrysrtfi ZVlfB.HLP Acti/eShort descrptbn 由邓S SE^kCH H E ZFAitribjtes %f「rixn注:此方法比较直观,但是有相关的前提:要添加搜索帮助的表中的字段,必须要有参照的数据元素.没有数据元素无法建立搜索帮助.所以前提就是我们要事先维护好数据元素^方法二:在ABAP^序中直接写相关代码来实现.具体步骤:1. 添加VALUE-REQUES事件.示例代码:AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_XILEI-LOW.PERFORM FRM_XILEI_SELECT.2. 在子程序中实现搜索帮助功能.示例代码:FORM FRM_XILEI_SELECT .*细类的搜索帮助DATA: RT_TAB LIKE DDSHRETVAL OCCURS 0 WITH HEADER LINE.DATA: BEGIN OF IT_XILEI OCCURS 0,XILEI LIKE ZSFQ10-XILEI,END OF IT_XILEI.SELECT XILEI INTO CORRESPONDING FIELDS OF TABLE IT_XILEI FROM ZSFQ10.CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'EXPORTINGRETFIELD = 'XILEI'DYNPPROG = SY-REPIDDYNPNR = SY-DYNNRDYNPROFIELD = 'S_XILEI-LOWVALUE_ORG = 'S'CALLBACK_PROGRAM = SY-REPIDTABLESVALUE_TAB = IT_XILEIRETURN_TAB = RT_TABEXCEPTIONSPARAMETER_ERROR = 1NO_VALUES_FOUND = 2OTHERS = 3.IF SY-SUBRC <> 0.* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.ENDIF.ENDFORM. " FRM_XILEI_SELECT3. 保存,激活程序后,即可在屏幕上使用搜帮助了.注:此方法不是太直观,但是不用在数据字典中建立相关的数据,只需在程序中动态提取显示.方法三:固定值。
ABAP面试及答案Interview+Questions
ABAP⾯试及答案Interview+Questions⾯试问题集1.数据效率尽量使⽤Select(max,min,sum,avg)和select single,for all enteris,⼆分法,append和collect loop⾥不能套select;避免使⽤select distinct,代替先sort,再delete;①抽取数据时,避免使⽤SELECT *, 尽量使⽤SELECT A B INTO TABLE ITAB这样的语句。
②不要使⽤SELECT...ENDSELECT语句。
③尽量避免在LOOP中访问数据库。
可以在之前先把数据取到内表,在LOOP中⽤READ TABLE WITHKEY ... BINARY SEARCH.进⾏读取对应的数据。
④⽤SORT代替ORDER BY。
⑤使⽤⼆分查找法。
READ TABLE的之前使⽤SORT TABLE BY对内表进⾏排序, 然后使⽤READ TABLEWITH KEY ...BINARY SEARCH.⑥避免使⽤SELECT DISTINCT语句。
在抽取数据到内表后⽤DELETE ADJACENT DUPLICATES语句来消除重复⾏。
⑦尽量多指定WHERE语句条件。
⑧在WHERE语句指定查询条件时,在同等条件下把包含等号的查询条件放到前边。
2.什么时候使⽤For all entries命令及其使⽤时的注意事项当需要在LOOP中使⽤查询语句时,⼀般使⽤For all entries。
注意事项:①IN条件所在的内表不能为空(如为空将取出全部的数据);②数据库字段与内表中的关联⽐较字段必须具有相同的类型和长度,且不能在⽐较中使⽤操作符LIKE、BETWEEN和IN,同时不能使⽤ORDER BY⼦句。
③为避免删除并不重复的纪录,在定义内表时应尽可能多的指定关键字。
3.如何设置ALV的⿏标双击事件。
如何设置ALV的页眉和页脚ALV的⿏标双击事件:构造LS_LAYOUT的F2CODE属性设置为”&ETA”即可。
abap面试及答案interview+questions
面试问题集1.数据效率尽量使用Select(max,min,sum,avg)和select single,for all enteris,二分法,append和collectloop里不能套select;避免使用select distinct,代替先sort,再delete;①抽取数据时,避免使用SELECT *, 尽量使用SELECT A B INTO TABLE ITAB这样的语句。
②不要使用SELECT...ENDSELECT语句。
③尽量避免在LOOP中访问数据库。
可以在之前先把数据取到内表,在LOOP中用READ TABLE WITH KEY ... BINARY SEARCH.进行读取对应的数据。
④用SORT代替ORDER BY。
⑤使用二分查找法。
READ TABLE的之前使用SORT TABLE BY对内表进行排序, 然后使用READ TABLE WITH KEY ...BINARY SEARCH.⑥避免使用SELECT DISTINCT语句。
在抽取数据到内表后用DELETEADJACENT DUPLICATES语句来消除重复行。
⑦尽量多指定WHERE语句条件。
⑧在WHERE语句指定查询条件时,在同等条件下把包含等号的查询条件放到前边。
2.什么时候使用For all entries命令及其使用时的注意事项当需要在LOOP中使用查询语句时,一般使用For all entries。
注意事项:①IN条件所在的内表不能为空(如为空将取出全部的数据);②数据库字段与内表中的关联比较字段必须具有相同的类型和长度,且不能在比较中使用操作符LIKE、BETWEEN和IN,同时不能使用ORDER BY子句。
③为避免删除并不重复的纪录,在定义内表时应尽可能多的指定关键字。
3.如何设置ALV的鼠标双击事件。
如何设置ALV的页眉和页脚ALV的鼠标双击事件:构造LS_LAYOUT的F2CODE属性设置为”&ETA”即可。
(招聘面试)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.3 WRITE LIST (8)2.数据库知识 (9)2.1基础知识 (9)2.1.1ABAP 数据字典有哪些对象或元素? (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.1ABAP 数据表的主索引是什么?索引的好处与坏处?与建索引的注意事项! (10)2.2.2ABAP 透明表有哪几种数据类(data class)?对数据的存储有什么影响? (10)2.2.3SAP 中有几种表,他们的区别是什么? (10)2.2.4什么是簇表(cluster table)?举ft知道的簇表。
(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.1MM 模块有哪些常用表格 (11)2.3.2HR 模块知识:HR 里面存储HR 主数据主要用到了哪些表? (11)2.3.3HR 模块知识:HR 程序在开发中常用的两个逻辑数据库是什么?分别对其进行描述 12 2.3.4HR 模块知识:HR 模块里面,如何修改HR 的信息类型,具体如何实现 (12)2.3.5财务模块:财务模块开发中常用的表有哪些,简单举例说明: (12)2.3.6PM 常用的TABLE (12)2.3.6 inner 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.1User EXIT (17)6.1.2Customer exit (17)6.1.3BADI (17)6.1.4Enhancement 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 中如何控制段落、单个字符输ft格式? (19)8.RFC 和 BAPI (20)8.1RFC (20)8.1.1什么是RFC,有哪些通信模式? (20)8.1.2RFC 中涉及到常用的事务代码有哪些? (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.2BAPI (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 相关的事务代码。
ABAP面试问题及侧重点
ABAP⾯试问题及侧重点ABAP⾯试1.简单的Report包括哪些东西2.Dialog 逻辑流以及相应的处理内容3.⽤过的⼏种增强⽅式:怎么找增强4.接⼝和函数的使⽤,⼀般遇到⾃⼰不会的函数怎么处理5.关联查询:INNER JOIN 与 LEFT JOIN 与 FOR ALL ENTRIES IN各⽤在什么情况ABAP基础:报表,功能,增强,接⼝,数据处理及性能优化(不管内部还是外部,均需了解)REPORT:1)数据定义;定义内表,结构,选择屏幕2)数据处理;包括屏幕数据检查,数据查询,内表数据处理等3)数据显⽰;定义字段⽬录,布局,特殊设置,CALL FM(习惯⽤REUSE_ALV_GRID_DISPLAY_LVC,LVC后期兼容和修改⽅便,也可以替代OO alv ) DIALOG:这是SAP的精华之⼀,不懂DIALOG,不⼊SAP门。
1)PBO;数据显⽰前处理,循环数据显⽰处理;循环之后⽆效修改和处理2)PAI;表⾏,字段处理,更新表⾏;事件处理增强:出⼝,BADI,隐式(常⽤的三种);前两种可以⽤程序找(下篇⽂章),也可以找到程序对应的包,然后包⾥搜;隐式增强就是触发事件,DEBUG找地⽅加代码。
接⼝:就是查询,处理。
都会的查询:INNER 和LEFT,right是且与或的关系,确定都有的INNER,不确定有的,LEFT,RIGHT。
⽂本表不建议关联,适合单独查。
FOR ALL ENTRIES IN使⽤前最好对关键字排重,⾮空检查;内表超过10万不建议使⽤。
常规的性能优化:先查,后处理,LOOP下⾯尽量不⽤SELECT和LOOP,READ TABLE 要⼆分法排序;内表查询确定字段以及顺序,CORRESPONDING FIELDS使⽤时字段不要多。
考的都是基本的东西,考学习⾯,学习深度,学习能⼒,以及对SAP的认识和⾃⼰的思维逻辑能⼒附简单查询代码:凭证明细报表*&---------------------------------------------------------------------**& Report ZFIR025*&*&---------------------------------------------------------------------**&*&DESC :凭证明细表**&AUTHOR: LY*&*&DATE:20160721*&*&*&CHANGE LIST*& C DEVK901712 2016.07.21 08:11:04 LIYUAN*& C DEVK901869 2016.08.22 15:37:14 LIYUAN 增加本币⾦额*&---------------------------------------------------------------------*REPORT ZFIR025.TABLES:BKPF,BSEG,SKAT.TYPES:BEGIN OF TY_SHOW,MONAT TYPE BKPF-MONAT,BUDAT TYPE BKPF-BUDAT,BELNR TYPE BKPF-BELNR,BUKRS TYPE BKPF-BUKRS,BKTXT TYPE BKPF-BKTXT,GJAHR TYPE BKPF-GJAHR,BLART TYPE BKPF-BLART,WAERS TYPE BKPF-WAERS,USNAM TYPE BKPF-USNAM,AWKEY TYPE BKPF-AWKEY,HKONT TYPE BSEG-HKONT,KUNNR TYPE BSEG-KUNNR,LIFNR TYPE BSEG-LIFNR,KOSTL TYPE BSEG-KOSTL,FKBER TYPE BSEG-FKBER,WRBTR TYPE BSEG-WRBTR,WRBTRS TYPE BSEG-WRBTR,WRBTRH TYPE BSEG-WRBTR,SHKZG TYPE BSEG-SHKZG,MATNR TYPE BSEG-MATNR,XNEGP TYPE BSEG-XNEGP,RSTGR TYPE BSEG-RSTGR, "原因代码TXT40 TYPE T053S-TXT40, "原因代码⽂本LTEXT TYPE CSKT-LTEXT, "成本中⼼⽂本DMBTR TYPE BSEG-DMBTR,DMBTRS TYPE BSEG-DMBTR,DMBTRH TYPE BSEG-DMBTR,TXT50 TYPE SKAT-TXT50,GSBER TYPE BSEG-GSBER,END OF TY_SHOW,BEGIN OF TY_T053S,RSTGR TYPE BSEG-RSTGR, "原因代码BUKRS TYPE BSEG-BUKRS, "原因代码TXT40 TYPE T053S-TXT40, "原因代码⽂本END OF TY_T053S,BEGIN OF TY_CSKT,KOSTL TYPE BSEG-KOSTL, "原因代码LTEXT TYPE CSKT-LTEXT, "原因代码⽂本END OF TY_CSKT.DATA:GT_SHOW TYPE TABLE OF TY_SHOW,GW_SHOW LIKE LINE OF GT_SHOW,GT_T053 TYPE TABLE OF TY_T053S,GW_T053 LIKE LINE OF GT_T053,GT_CSKT TYPE TABLE OF TY_CSKT,GW_CSKT LIKE LINE OF GT_CSKT.DATA:GT_FIELDCAT TYPE LVC_T_FCAT.DATA GS_FIELDCAT LIKE LINE OF GT_FIELDCAT.DATA LS_LAYOUT TYPE LVC_S_LAYO.DEFINE APPEND_FIELDCAT .CLEAR GS_FIELDCAT.GS_FIELDCAT-FIELDNAME = &1.GS_FIELDCAT-SCRTEXT_L = &2.GS_FIELDCAT-OUTPUTLEN = &3.GS_FIELDCAT-NO_ZERO = &4.APPEND GS_FIELDCAT TO GT_FIELDCAT.END-OF-DEFINITION.SELECTION-SCREEN:BEGIN OF BLOCK BLK01 WITH FRAME TITLE TEXT-001. SELECT-OPTIONS:S_BUKRS FOR BKPF-BUKRS DEFAULT '1000'.SELECT-OPTIONS:S_GJAHR FOR BKPF-GJAHR DEFAULT SY-DATUM+0(4). SELECT-OPTIONS:S_MONAT FOR BKPF-MONAT DEFAULT SY-DATUM+4(2). SELECT-OPTIONS:S_BELNR FOR BKPF-BELNR.SELECT-OPTIONS:S_HKONT FOR BSEG-HKONT.SELECT-OPTIONS:S_KUNNR FOR BSEG-KUNNR.SELECT-OPTIONS:S_LIFNR FOR BSEG-LIFNR.SELECT-OPTIONS:S_KOSTL FOR BSEG-KOSTL.SELECT-OPTIONS:S_BLART FOR BKPF-BLART.SELECT-OPTIONS:S_BUDAT FOR BKPF-BUDAT.SELECT-OPTIONS:S_GSBER FOR BSEG-GSBER.SELECTION-SCREEN END OF BLOCK BLK01.START-OF-SELECTION.PERFORM PRM_GET_DATA.PERFORM PRM_PROCE_DATA.PERFORM PRM_SET_FIELD.PERFORM PRM_SHOW.*&---------------------------------------------------------------------**& Form PRM_GET_DATA*&---------------------------------------------------------------------** text*----------------------------------------------------------------------** --> p1 text* <-- p2 text*----------------------------------------------------------------------*FORM PRM_GET_DATA .SELECTBKPF~MONAT" TYPE BKPF-MONAT,BKPF~BUDAT" TYPE BKPF-BUDAT,BKPF~BELNR" TYPE BKPF-BELNR,BKPF~BUKRS" TYPE BKPF-BUKRS,BKPF~BKTXT" TYPE BKPF-BKTXT,BKPF~GJAHR" TYPE BKPF-GJAHR,BKPF~BLART" TYPE BKPF-BLART,BKPF~WAERS" TYPE BKPF-WAERS,BKPF~USNAM" TYPE BKPF-USNAM,BKPF~AWKEY" TYPE BKPF-USNAM,BSEG~HKONT" TYPE BSEG-HKONT,BSEG~KOSTL" TYPE BSEG-HKONT,BSEG~KUNNR" TYPE BSEG-HKONT,BSEG~LIFNR" TYPE BSEG-HKONT,BSEG~FKBER" TYPE BSEG-HKONT,BSEG~WRBTR" TYPE BSEG-WRBTR,BSEG~MATNR" TYPE BSEG-WRBTR,BSEG~SHKZG" TYPE BSEG-WRBTR,BSEG~XNEGP" TYPE BSEG-WRBTR,BSEG~RSTGR" TYPE BSEG-RSTGR,BSEG~DMBTRSKAT~TXT50" TYPE SKAT-TXT50,BSEG~GSBERINTO CORRESPONDING FIELDS OF TABLE GT_SHOWFROM BKPFINNER JOIN BSEGON BKPF~BUKRS = BSEG~BUKRSAND BKPF~BELNR = BSEG~BELNRINNER JOIN SKATON BSEG~HKONT = SKAT~SAKNRAND SKAT~SPRAS = '1'AND SKAT~KTOPL = '1000'WHERE BKPF~BUKRS IN S_BUKRSAND BKPF~GJAHR IN S_GJAHRAND BKPF~MONAT IN S_MONATAND BKPF~BELNR IN S_BELNRAND BSEG~HKONT IN S_HKONTAND BSEG~KUNNR IN S_KUNNRAND BSEG~LIFNR IN S_LIFNRAND BSEG~KOSTL IN S_KOSTLAND BSEG~GSBER IN S_GSBERAND BKPF~BLART IN S_BLARTAND BKPF~BUDAT IN S_BUDAT.IF GT_SHOW[] IS INITIAL.MESSAGE'⽆结果!'TYPE'S' DISPLAY LIKE'E'.LEAVE LIST-PROCESSING.ELSE.SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_T053FROM T053S WHERE SPRAS = '1'.SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_CSKTFROM CSKT WHERE SPRAS = '1'AND KOKRS = '1000'.ENDIF.ENDFORM.*&---------------------------------------------------------------------**& Form PRM_PROCE_DATA*&---------------------------------------------------------------------** text*----------------------------------------------------------------------** --> p1 text* <-- p2 text*----------------------------------------------------------------------*FORM PRM_PROCE_DATA .DATA:GS_SHOW LIKE LINE OF GT_SHOW.* SORT GT_SHOW BY BUKRS GJAHR BELNR KUNNR DESCENDING LIFNR DESCENDING." HKONT DESCENDING.LOOP AT GT_SHOW INTO GW_SHOW.* IF GW_SHOW-XNEGP = 'X'.* GW_SHOW-DMBTR = GW_SHOW-DMBTR * -1.* ENDIF.IF GW_SHOW-HKONT = '0002202002'AND GW_SHOW-LIFNR IS INITIAL."应付暂估带出供应商SELECT SINGLE LIFNR INTO GW_SHOW-LIFNR FROM BSEG WHERE BUKRS = GW_SHOW-BUKRS AND BELNR = GW_SHOW-BELNR AND GJAHR = GW_SHOW-GJAHR AND LIFNR <> ''. ENDIF.IF GW_SHOW-HKONT = '0001406001'AND GW_SHOW-KUNNR IS INITIAL."应付暂估带出供应商SELECT SINGLE KUNNR INTO GW_SHOW-KUNNR FROM BSEG WHERE BUKRS = GW_SHOW-BUKRS AND BELNR = GW_SHOW-BELNR AND GJAHR = GW_SHOW-GJAHR AND KUNNR <> ''. ENDIF.IF GW_SHOW-SHKZG = 'S'.IF GW_SHOW-XNEGP = 'X'.GW_SHOW-DMBTRH = GW_SHOW-DMBTR.GW_SHOW-WRBTRH = GW_SHOW-WRBTR.ELSE.GW_SHOW-DMBTRS = GW_SHOW-DMBTR.GW_SHOW-WRBTRS = GW_SHOW-WRBTR.ENDIF.* GW_SHOW-DMBTRS = GW_SHOW-DMBTR.ELSEIF GW_SHOW-SHKZG = 'H'.IF GW_SHOW-XNEGP = 'X'.GW_SHOW-DMBTRS = GW_SHOW-DMBTR * -1.GW_SHOW-WRBTRS = GW_SHOW-WRBTR * -1.ELSE.GW_SHOW-DMBTRH = GW_SHOW-DMBTR * -1.GW_SHOW-WRBTRH = GW_SHOW-WRBTR * -1.ENDIF.GW_SHOW-DMBTR = GW_SHOW-DMBTR * -1.GW_SHOW-WRBTR = GW_SHOW-WRBTR * -1.* GW_SHOW-DMBTRH = GW_SHOW-DMBTR.ENDIF.READ TABLE GT_T053 INTO GW_T053 WITH KEY BUKRS = GW_SHOW-BUKRS RSTGR = GW_SHOW-RSTGR.IF SY-SUBRC = 0.GW_SHOW-TXT40 = GW_T053-TXT40.ENDIF.READ TABLE GT_CSKT INTO GW_CSKT WITH KEY KOSTL = GW_SHOW-KOSTL.IF SY-SUBRC = 0.GW_SHOW-LTEXT = GW_CSKT-LTEXT.ENDIF.MODIFY GT_SHOW FROM GW_SHOW.CLEAR:GW_SHOW.ENDLOOP.ENDFORM.*&---------------------------------------------------------------------**& Form PRM_SET_FIELD*&---------------------------------------------------------------------** text*----------------------------------------------------------------------** --> p1 text* <-- p2 text*----------------------------------------------------------------------*FORM PRM_SET_FIELD .REFRESH GT_FIELDCAT.LS_LAYOUT-CWIDTH_OPT = 'X'. "优化列宽选项是否设置LS_LAYOUT-ZEBRA = 'X'.* ls_layout-box_fname = 'SEL'.APPEND_FIELDCAT:'BUKRS''公司代码'4'X','GJAHR''会计年度'4'X','MONAT''会计期间'2'X','BUDAT''过账⽇期'10'','BELNR''凭证编号'10'X','AWKEY''凭证参考'20'X','BKTXT''摘要'25'','HKONT''科⽬代码'10'X','TXT50''科⽬名称'50'','KUNNR''客户编号'10'','LIFNR''供应商编号'10'','FKBER''功能范围'4'','GSBER''业务范围'4'','WAERS''币别'3'','KOSTL''成本中⼼'10'X','LTEXT''成本中⼼描述'40'','MATNR''物料编码'18'X','RSTGR''原因代码'4'','TXT40''原因代码描述'40'','WRBTR''原币⾦额'16'','WRBTRS''原币借⽅⾦额'16'','WRBTRH''原币贷⽅⾦额'16'','DMBTR''本币⾦额'16'','DMBTRS''本币借⽅⾦额'16'','DMBTRH''本币贷⽅⾦额'16'','USNAM''制单⼈'12''.ENDFORM.*&---------------------------------------------------------------------**& Form PRM_SHOW*&---------------------------------------------------------------------** text*----------------------------------------------------------------------** --> p1 text* <-- p2 text*----------------------------------------------------------------------*FORM PRM_SHOW .DATA:LV_TITLE TYPE LVC_TITLE.DESCRIBE TABLE GT_SHOW LINES LV_TITLE.CONDENSE LV_TITLE NO-GAPS.CONCATENATE'结果共' LV_TITLE '条⽬!'INTO LV_TITLE.CALL FUNCTION'REUSE_ALV_GRID_DISPLAY_LVC'EXPORTINGI_CALLBACK_PROGRAM = SY-REPIDI_CALLBACK_PF_STATUS_SET = 'PRM_SET_STATUS'I_CALLBACK_USER_COMMAND = 'PRM_USER_COMMAND'IS_LAYOUT_LVC = LS_LAYOUTIT_FIELDCAT_LVC = GT_FIELDCAT[]I_GRID_TITLE = LV_TITLEI_DEFAULT = 'X'I_SAVE = 'A'TABLEST_OUTTAB = GT_SHOWEXCEPTIONSPROGRAM_ERROR = 1OTHERS = 2.IF SY-SUBRC <> 0.ENDIF.ENDFORM.FORM PRM_SET_STATUS USING RT_EXTAB TYPE SLIS_T_EXTAB.SET PF-STATUS'ZSTAT'.ENDFORM.FORM PRM_USER_COMMAND USING P_UCOMM LIKE SY-UCOMMP_SELFIELD TYPE SLIS_SELFIELD.CHECK P_UCOMM = '&IC1'.READ TABLE GT_SHOW INTO GW_SHOW INDEX P_SELFIELD-TABINDEX. IF SY-SUBRC = 0.SET PARAMETER ID'BLN'FIELD GW_SHOW-BELNR.SET PARAMETER ID'BUK'FIELD GW_SHOW-BUKRS.SET PARAMETER ID'GJR'FIELD GW_SHOW-GJAHR.CALL TRANSACTION'FB03'AND SKIP FIRST SCREEN.ENDIF.ENDFORM.。
2023年SAP面试教程常用整理
求职面试时常被问到旳65个问题与技巧性回答1.请你自我简介一下你自己?回答提醒: 一般人回答这个问题过于平常, 只说姓名、年龄、爱好、工作经验, 这些在简历上均有。
其实, 企业最但愿懂得旳是求职者能否胜任工作, 包括: 最强旳技能、最深入研究旳知识领域、个性中最积极旳部分、做过旳最成功旳事, 重要旳成就等, 这些都可以和学习无关, 也可以和学习有关, 但要突出积极旳个性和做事旳能力, 说得合情合理企业才会相信。
企业很重视一种人旳礼貌, 求职者要尊重考官, 在回答每个问题之后都说一句“谢谢”, 企业喜欢有礼貌旳求职者。
2.你觉得你个性上最大旳长处是什么?回答提醒: 从容冷静、条理清晰、立场坚定、顽强向上、乐于助人和关怀他人、适应能力和风趣感、乐观和友爱。
我在XX通过一到两年旳培训及项目实战, 加上实习工作, 使我适合这份工作。
3.说说你最大旳缺陷?回答提醒: 这个问题企业问旳概率很大, 一般不但愿听到直接回答旳缺陷是什么等, 假如求职者说自己小心眼、爱忌妒人、非常懒、脾气大、工作效率低, 企业肯定不会录取你。
绝对不要自作聪颖地回答“我最大旳缺陷是过于追求完美”,有旳人认为这样回答会显得自己比较杰出, 但实际上, 他已经岌岌可危了。
企业喜欢求职者从自己旳长处说起, 中间加某些小缺陷, 最终再把问题转回到长处上, 突出长处旳部分, 企业喜欢聪颖旳求职者。
4.你对加班旳见解?回答提醒: 实际上好多企业问这个问题, 并不证明一定要加班, 只是想测试你与否乐意为企业奉献。
回答样本: 假如是工作需要我会义不容辞加班, 我目前独身, 没有任何家庭承担, 可以全身心旳投入工作。
但同步, 我也会提高工作效率, 减少不必要旳加班。
5、你对薪资旳规定?回答提醒: 假如你对薪酬旳规定太低, 那显然贬低自己旳能力;假如你对薪酬旳规定太高, 那又会显得你分量过重, 企业受用不起。
某些雇主一般都事先对求聘旳职位定下开支预算, 因而他们第一次提出旳价钱往往是他们所能予以旳最高价钱, 他们问你只不过想证明一下这笔钱与否足以引起你对该工作旳爱好。
ABAP面试大全
目录之阿布丰王创作1. 报表知识1.1基础知识1.1.1报表事件,有哪些?1.1.1.1过程化事件INITIALIZATIONSTART-OF-SELECTIONEND-OF-SELECTION1.1.1.2选择屏幕事件AT SELECTION-SCREEN OUTPUT选择屏幕PBO事件,每次选择屏幕调用之前触发,在其中进行选择屏幕输出之前的准备工作,如确定屏幕各元素的输出状态。
AT SELECTION-SCREEN选择屏幕最后被触发的事件,用户在选择屏幕上回车、选择某个GUI按钮、功能键或者菜单项时触发AT SELECTION-SCREENON fieldAT SELECTION-SCREEN ON BLOCK blockAT SELECTION-SCREEN ON RADIOBUTTON GROUP group1AT SELECTION-SCREENON seltabAT SELECTION-SCREEN ON END OF seltab,AT SELECTION-SCREEN ON HELP-REQUEST FOR field选择屏幕的POH事件,F1事件,定义字段帮忙AT SELECTION-SCREEN ON VALUE-REQUEST FOR field选择屏幕的POV事件,F4事件,定义字段输入帮忙1.1.1.3在使用到逻辑数据库时,比方HR报表,涉及到的逻辑数据库事件:GET nodeGET node LATE1.1.1.4列表事件TOP-OF-PAGEEND-OF-PAGEAT-LINE-SELECTIONAT-USER-COMMAND用户交互控制,选择某个GUI功能出发,用于交互式报表1.1.1.5AT 事件AT FIRST功能循环时第一条记录时调用AT LAST功能循环中最后一条记录时调用AT NEW 功能循环中当指定字段之前(包含指定字段)的组合和上一条记录纷歧样的时候调用AT END OF功能循环中当指定字段之前(包含指定字段)的组合和下一条记录纷歧样的时候调用AT事件的注意点AT事件中的工作区分歧于LOOP循环的工作区该工作区中位于指定字段后面的值将不会被读取如果需要用到则需重新抽取一次1.1.1.6交互式报表事件AT USER-COMMAND.AT LINE-SELECTIONAT PF-FUNCTION KEY(设置功能键)1.1.2报表选择画面1.1.2.1报表的选择画面上能否添加自定义工具栏?能够添加,通过语句SELECTION-SCREEN FUNCTION KEY n(n 为1至5,最多定义5个)。
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.6 PM 常用的TABLE (12)2.3.6 inner 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.2 SMART FORM如何实现公司LOG打印,其步骤是什么? (19)7.3 smartform 中如何控制段落、单个字符输出格式? (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.4 RFC接口的具体功能包括哪些? (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相关的事务代码。
ABAP面试大全
目录之阳早格格创做1. 报表知识1.1前提知识1.1.1报表事变,有哪些?1.1.1.1历程化事变INITIALIZATIONSTART-OF-SELECTIONEND-OF-SELECTION1.1.1.2采用屏幕事变AT SELECTION-SCREEN OUTPUT采用屏幕PBO事变,屡屡采用屏幕调用之前触收,正在其中举止采用屏幕输出之前的准备处事,如决定屏幕各元素的输出状态.AT SELECTION-SCREEN采用屏幕末尾被触收的事变,用户正在采用屏幕上回车、采用某个GUI按钮、功能键大概者菜单项时触收AT SELECTION-SCREENON fieldAT SELECTION-SCREEN ON BLOCK blockAT SELECTION-SCREEN ON RADIOBUTTON GROUP group1AT SELECTION-SCREENON seltabAT SELECTION-SCREEN ON END OF seltab,AT SELECTION-SCREEN ON HELP-REQUEST FOR field采用屏幕的POH事变,F1事变,定义字段助闲AT SELECTION-SCREEN ON VALUE-REQUEST FOR field采用屏幕的POV事变,F4事变,定义字段输进助闲1.1.1.3正在使用到逻辑数据库时,比圆HR报表,波及到的逻辑数据库事变:GET nodeGET node LATE1.1.1.4列表事变TOP-OF-PAGEEND-OF-PAGEAT-LINE-SELECTIONAT-USER-COMMAND用户接互统造,采用某个GUI功能出收,用于接互式报表1.1.1.5AT 事变AT FIRST功能循环时第一条记录时调用AT LAST功能循环中末尾一条记录时调用AT NEW 功能循环中当指定字段之前(包罗指定字段)的拉拢战上一条记录纷歧样的时间调用AT END OF功能循环中当指定字段之前(包罗指定字段)的拉拢战下一条记录纷歧样的时间调用AT事变的注意面AT事变中的处事区别歧于LOOP循环的处事区该处事区中位于指定字段后里的值将不会被读与如果需要用到则需沉新抽与一次1.1.1.6接互式报表事变AT USER-COMMAND.AT LINE-SELECTIONAT PF-FUNCTION KEY(树坐功能键)1.1.2报表采用绘里1.1.2.1报表的采用绘里上是可增加自定义工具栏?不妨增加,通过语句SELECTION-SCREEN FUNCTION KEY n(n 为1至5,最多定义5个).1.1.2.2怎么样对付报表的采用绘里元素举止分组?正在PARAMETERS大概SELECT-OPTIONS后使用附加语句“MODIF ID + 组名”1.1.2.3怎么样变动屏幕各元素的状态?举例一些比较时常使用的屏幕属性正在报表AT SELECTION-SCREEN OUTPUT事变中大概PBO(PROCESS BEFORE OUTPUT)中,LOOP AT SCREEN.….MODIFY SCREEN.ENDLOOP.SCREEN-NAME 绘里元素的称呼SCREEN-GROUP1 ~ SCREEN-GROUP4 对付绘里元素的分组SCREEN-INPUT 是可输进SCREEN-INVISIBLE 是可可睹SCREEN-LENGTH 可睹少度SCREEN-ACTIVE 是可是可用的状态1.2ALV报表1.2.1ALV报表真止的过程声明数据对付象→定义采用绘里→从数据库与数→处理数据→隐现数据1.2.2隐现ALV时常使用的二个FMREUSE_ALV_GRID_DISPLAY,REUSE_ALV_LIST_DISPLAY,REUSE_ALV_GRID_DISPLAY_LVC1.2.3怎么样树坐ALV中的热键set parameter id 'BES' field gw_itab-ebeln.call transaction 'ME23N' and skip first screen.1.2.4ALV隐现中的小计(1)使用SUBTOTalv不妨真止自动小计,最先field cat 参数中增加DO_SUM = X,而后传进sorttable,不妨正在sorttable中指定需要小计的列(2)使用AT 语句正在LOOP 循环中使用AT END OF FIELD1.2.5FM ALV 战 OO ALV的比较FM alv 战OO alv 皆不妨真止按钮自定义、数据建改、按钮处理自定义等支配,常常情况下FM alv主要用于报表数据展示及简朴接互,OO alv 主要用于dialog 步调启垦,不妨举止搀纯的统造,比圆单元格的建改统造(FM只可统造到列建改性)、自定义F4等,OO alv不妨根据容器排列很便当的定义筹备,一个屏幕不妨搁多个alv,然而是FM alv只可一屏隐现一个alv.1.3WRITE LISTWRITE LIST 不妨输出一些比较搀纯的报表要领.WRITE LIST 也是一种报表的输出办法,要注沉的便是一些WRITE的基础语法便不妨了!正在那里纷歧一枚举.2. 数据库知识ABAP数据字典有哪些对付象大概元素?Data element, Domain, structure, lock object, views提接确认战数据库回滚与消语句COMMIT WORK ROLLBACK WORKLUW称为逻辑处事单位共一个逻辑处事单元共享一段内存将支配搁置正在共一个LUW中不妨统造工做的共时提接战回滚2.1.4简述modify 、insert、update对付数据库表干支配时的效率Modify 支配数据库时,不妨使用from 内表大概者处事区去举止多条战单条的革新,央供内表大概处事区跟数据库表的结构普遍,当数据库表中存留沉复记录时,真止革新支配,革新的值为内表大概处事区的值,,当数据库表中不存留记录时,真止拔出,拔出的值为内表大概处事区的值Insert 支配数据库时,不妨用from内表大概者处事区举止多条战单条的拔出,央供内表大概处事区跟数据库表的结构普遍,如果数据库中不存留沉复记录时,真止拔出,拔出的值为内表大概处事区的值;如果已经存留沉复记录,会出现革新非常十分Update 支配数据库时,不妨间接set 去举止单值革新,不妨用from table 战处事区举止批量革新,央供内表战处事区跟数据库表的结构普遍,当存留记录时真止革新,当不存留记录时,不数据会被革新,共时也不会爆收非常十分,sy-subrc = 02.1.5 要形貌域、数据元素、表字段之间的闭系域为数据字典中最小的单元数据元素是鉴于域举止定义的表字段则是通过数据元素举止定义的数据字典有几种慢冲办法,适用范畴?full buffer(齐慢冲),一个表的数据要么齐正在内存中要么齐不正在.当表记录很少,考察非常一再且很少举止建改时使用:generic area buffer(惯例天区慢冲),道话代码相闭的表时最常使用的情况,如文本形貌表,慢存谦足正在generic keys 中定义的字段(个数介于1个战表主键数减1)的值得记录:Single-record buffer(单记录慢冲),数据库表记录比较大,而且时常皆是读与一条记录如select singleABAP 数据表的主索引是什么?索引的佳处与弊端?与建索引的注意事项!ABAP 数据表的主索引是什么?索引的佳处与弊端?与建索引的注意事项!数据表的主键即是表的主索引;佳的索引能加快数据读与的速度然而会减少革新数据库表的时间;建坐次级索引时应尽管采用那些查询条件时常使用到得字段ABAP透明表有哪几种数据类(data class)?对付数据的死存有什么效率?主数据类,时常读与,很少建改的数据;贸易数据类,时常革新的数据;构造数据类,系统初初化时存留的数据,也很少建改.决断了数据本质存搁的物理天区2.2.3SAP中有几种表,他们的辨别是什么?transparent table透明表, pooled table(共享表) and cluster table(簇表). 对付于透明表是战DB层的physical table对付应的.对付于后俩者,是分歧过得应到DB表的. 比圆TBSL便是一个pooled table, 您正在DB 层找不到此表.而后多个cluster(pooled) tables组成一个table cluster战table pool . table cluster战table pool是DB层的一个物理表什么是簇表(cluster table)?举出知讲的簇表.簇表是逻辑上有闭联的几个表,正在定义的时间调配给一个表簇.Bseg2.2.5找数据库表,有哪些时常使用的要领.(1) 通过面打绘里上需要查找的字段,面打F1,正在弹出绘里中的技能疑息.(2) 通过ST05举止数据库支配的追踪,对付于正在前台界里举止数据的新删大概革新,正在数据库中皆市有所体现(3) 通过工做SE80-> Repository Information System->ABAP字典->数据库表格中,对付某个字段举止查询2.2.6怎么样建坐数据库锁对付象,激活锁对付象爆收的Function Module的名字为什么,正在那边查看锁表的情况?正在SE11中,采用“锁对付象”,即可建坐.用于设锁的FM 为:ENQUEUE_<锁对付象名>.它用于正在锁表(Lock Table)中死成一个锁项(Lock Entry).若设锁不可功的话,便会正在 Return 中反映出去.用于释搁锁的FM 为:DEQUEUE_<锁对付象名>.它用于从锁表中简略一个锁项.正在SM12中查看锁表的情况.那二个锁FM 是正在SAP 系统的一个特殊处事进程中真止的,博门举止锁管造.它运止正在一个单独的服务器上,而该服务器博门用于维护所有 SAP 系统的主锁表(Central Locak Table).有二种锁典型:共享锁——只读锁,一个用户正正在读数据时,遏止其余用户变动该数据.独占锁——可写锁,一个用户正正在建改数据时,遏止其余用户变动该数据.革新 FM 分为 V1 战 V2,那么最先会真止哪一种革新典型呢?每种典型又是以哪种模式(同步、共步大概当天)真止的呢?V1 革新典型比V2 革新典型的劣先级下,果此,V1 比V2 止真止.V1 的真止模式不妨为同步、共步大概当天;V2 只可为同步真止. 2.2.7使用OPEN SQL注意准则(1) a、尽大概缩小谦足条件的数据条目数量.b、缩小数据的传输量,以缩小搜集流量.c、缩小考察的数据库表量.d、缩小查询易度,不妨通过整治采用尺度去真止.e、缩小数据库背载.(2)不要正在LOOP中考察数据库尽管将数据预先提与到内表中而后再通过内表举止数据的调整(3)SELECT语句尽管提与需要的字段对付于不需要的字段预防抽与(4)SELECT语句WHERE条件,该当先将主键相闭条件搁正在前里而后依照比较符= < > <> LIKE IN的程序排列WHERE条件(5)读与内表使用二分查找办法 BINARY SEARCH2.3.1 MM模块有哪些时常使用表格物料相闭:MARA惯例物料数据,MAKT物料形貌采购申请相闭:EBAN采购申请,EBKN采购申请帐户树坐采购订单相闭:EKKO采购凭据抬头,EKPO采购凭据名目,EKKN采购凭据中的帐户树坐凭据相闭:MKPF抬头:物料凭据,MSEG凭据段:物料,等等.2.3.2HR模块知识:HR内里死存HR主数据主要用到了哪些表?PA挨头的是记录人员对付象的相闭疑息,如:PAXXXX,后里是X 表示四个数字HRP挨头的是记录对付象闭系(构造机构)的相闭疑息.如:HRPXXXX.2.3.3HR模块知识:HR步调正在启垦中时常使用的二个逻辑数据库是什么?分别对付其举止形貌PNP战PCHPNP是以人员编号为核心举止闭联的,统计的是人员的疑息PCH是对付象闭系视图,记录构造机构相闭对付象的物品2.3.4HR模块知识:HR模块内里,怎么样建改HR的疑息典型,简曲怎么样真止第一步:锁定用户BAPI_EMPLOYEE_ENQUEUE第二步:调用HR内里支配疑息典型的BAPI:HR_INFOTYPE_OPERATION第三步:解锁用户:BAPI_EMPLOYEE_DEQUEUE2.3.5财务模块:财务模块启垦中时常使用的表有哪些,简朴举例证明:2.3.6PM 时常使用的TABLEEQUI 设备主数据EQKT 设备漫笔本EQUZ 设备时间段ILOA PM 对付象位子战帐户调配IFLOT 功能位子(表)IFLOTX 功能位子:漫笔本AFKO 订单表头数据 PP 订单AFPO 订单项AFVC 订单的工序inner join 与 left-outer join的辨别?死成的截止集结left-outer join将主表(左表)中的所有谦足查询条件的数据皆市包罗,若相共的查询条件下正在左表中不存留记录也会包罗;inner join只包罗左表与左表中皆谦足查询条件的数据3. 权力相闭什么是权力对付象(Authorization Objects)?正在 ABAP 步调中使用哪条语句举止授权查看?权力对付象由一组字段组成,那些字段中的值将被用于举止权力查看.ABAP 步调中使用 AUTHORITY-CHECK 语句根据权力对付象举止权力查看.正在AUTHORITY-CHECK 语句中,必须指明权力对付象的所有字段,然而有一个例中,不妨用DUMMY 闭键字去绕过某个字段的查看.通过SY-SUBRC的返回值举止查看,0为通过查看,其余均为过得,一个授权对付象中最多不妨定义 10 个字段.与权力对付象有闭的工做代码有哪些?SU20定义,查看战建坐权力字段;SU21查看系统已有权力对付象,定义新的权力对付象;SU53隐现权力查看堕落的本果:对付于调用Function时,返回无权力的过得后,能正在此工做代码中查找到过得疑息,PFCG角色维护,将所建的权力对付象,与某个角色闭联,将角色调配给某个用户后,便不妨查看该用户是可有举止支配的某权力.4. DIALOGDIALOG 中的几个事变PBO PAI POV POH何正在TABLE CONTROL中真止选中一止大概多止的效验将内表第一个字段定义为一个少度为一典型为C的变量并正在TABLE CONTROL属性框中将该字段挖写到采用字段中去4.3DIALOG 启垦的时常使用几个控件是什么?子屏幕、文本、输进输出框、框、容器、表统造、按钮等等5. BDCSHDB皆不妨用做数据导进然而是BDC是真足模拟前台支配而BAPI是SAP提供的尺度API 通过调用BAPI正在背景死成相映数据本能下于BDC导进办法将要挖写的字段局部输进包管其能精确被录造下去不需要挖写的字段不要支配免得录造后爆收冗余字段运止模式包罗:A.齐屏幕隐现;E.惟有正在爆收过得时,隐现屏幕;N.不举止屏幕的隐现,将相闭疑息记录到疑息内内中;P. 不举止屏幕的隐现,可举止DEBUG尝试.革新模式包罗:A.同步革新;S.共步革新;L.当天革新;6. 巩固6.1什么喊巩固?有哪些办法举止巩固?巩固便是ERP系统中尺度步调的出心,正在该出心中由用户根据企业本质需要编写客户化逻辑代码.User EXIT通过SE37,以EXIT*启头,找到的函数多数是干系统预留的出心函数,前里道过,用户出心是尺度步调留给用户的接心,尺度步调常常不允许用户任性建改,如果建改需要申请Access Key.而且建改尺度步调大概引导的过得erp公司常常是不控造的.正在SAP中,自定义的步调常常以死存字Y大概Z启头,果此,出心函数中皆预包罗了一个Z启头的步调.Customer exit客户自定义步调是通过Call Function去调用SAP库中的一些系统函数,而用户巩固的观念刚刚刚刚战那个差同,您不妨使用一个由SAP 功能模块调用的功能模块出心不妨正在底下那几个层里对付模块举止巩固:正在ABAP步调中的Function Module Exit(E类),正在Gui 接心中的Menu Exit(C类),正在指定天区拔出一身材窗心的Screen Exit(S类),ABAP数据字典中表战结构的巩固Table Enhancement(T类),另有正在屏幕指定天区增加一用户自定义功能的Field Exit战keyword exit BADI即Business Add-in,是鉴于ABAP对付象的一种巩固技能.SAP预约了一些接心,供客户举止真止,完成巩固.正在举止巩固时,必须最先定义 BADI.为 BADI 创造一个接心,接着创造一个适配器类(Adapter Class)去真止那个接心,而后创造那个适配器类的真例.6.1.4Enhancement Spot可称为隐式巩固,正在代码中,可拔出巩固面,对付代码举止巩固.对付于Enhancement Spot 分为ENHANCEMENT-POINT与ENHANCEMENT-SECTIONENHANCEMENT-POINT背其中增加的新代码,不妨与旧代码所有运止ENHANCEMENT-SECTION减少的新代码,将覆盖旧代码6.2怎么样建坐巩固?(1)找到巩固(2)建坐巩固名目(3)增加巩固的组件增加进巩固名目(4)编写巩固,增加自己的代码(5)激活巩固代码对付于Customer exit:SMOD查看巩固组件CMOD建坐名目后,真止巩固对付于BADI:SE18查找接心SE19对付接心举止真止6.4怎么样举止数据库表字段的巩固?Append战Include的办法有何辨别?Append 结构(Append Structure)战自定义Include(Customizing Include).Append 结构是正在背表尾增加字段时创造的,自定义 Include 由 SAP 启垦人员指定,以使用户不妨创造新字段.它们之间的辨别正在于: Append的结构只可由该表使用,其余表使用不可;Include不妨拔出任性一个结构大概表,其中当拔出表时,该表会自动变换为相共字段的结构.7. SMARTFORMS7.1道道SmartForm中,Template战Table表格的辨别Template是固态表格,单元格的输出是一定的,Table是动背表格,包罗正在循环内,不妨内表按条输出.7.2SMART FORM怎么样真止公司LOG挨印,其步调是什么?1.用SE78导进公司logo,导进时只可导进位图、GIF文献,导进位图时,要注意用256色,可则会引导图片挨印有问题7.3smartform 中怎么样统造段降、单个字符输出要领?用smartstyles 不妨定义分歧的段降、字符要领,正在文本输出时不妨指定要领8. RFC战 BAPI8.1 RFC8.1.1什么是RFC,有哪些通疑模式?RFC是(Remote Function Call)的简称,是SAP系统战其余系统之间的要害而时常使用的单背接心技能,它包罗共步RFC,同步RFC,工做性RFC,行列RFC战并止RFC.8.1.2 RFC中波及到时常使用的工做代码有哪些?SM51:查看目前SAP系统中活动的应用服务器,包罗Server_Names,Host name战 Ty(服务典型):查看中部下令设定SM59:摆设RFC对接,其中相共典型的RFC目标被拉拢至共一个目录.那些近程目目标定义将死存正在表RFCDES中.8.1.3根据调用的分歧,RFC接心提供了什么样的服务?a.ABAP步调的调用接心,所有的ABAP步调皆不妨使用CALL FUNCTION ... DESTINATION预计调用近程功能.DESTINATION参数报告SAP系统被调用的功能将正在调用者除中的系统上运止,通过RFC接心与近程系统举止通疑.如果近程功能去自SAP系统,则必须是时间的功能模块,并正在功能库中备案为“支援近程调用REMOTE-FUNCTION-ENABLE”,通疑单规皆通过ABAP的RFC接心真止.b.非SAP ABAP步调的调用接心,正在RFC的真止历程中,如果调用大概被调用一圆利害ABAP步调,则非ABAP步调必须以特性的规格举止形成,保证它可动做RFC通疑的一圆.SAP系统为中部步调提供RFC支援接心(RFC-supported interface)战GUI支援接心(GUI-supported interface).那样,正在非SAP系统中,中部步调便不妨调用并真止SAP RFM.8.1.4RFC接心的简曲功能包罗哪些?a. 登录并退出近程系统,并真止权力查看b. 调用并管造近程系统会话所需的通疑例程c. 将参数变换成近程系统所需的要领d. 处理通疑历程中的过得8.1.5正在通过CALL FUNCTION语句举止近程功能调用的基础模式有哪些a. CALL FUNCTION - DESTINCTION: 以共步RFC办法真止的RFM调用.如果DESTINATION后无其余附加项,则产死共步RFC调用,调用步调等待近程调用的截止以继承真止.b. CALL FUNCTION - STARTING NEW TASK: 以同步RFC办法真止的RFM调用.通过STARTING NEW TASK 附加项产死同步RFC调用,调用步调不等待返回截止继承真止,截止将正在回调子步调(callback subroutine)中接支.c. CALL FUNCTION - IN BACKGROUND TASK: 以工做性RFC办法真止的RFM调用.通过IN BACKGROUND TASK 产死工做性RFC调用,近程功能久不启初真止,等待COMMIT WORK语句出现是,一次性真止一个大概多个近程功能.正在SAP系统中,RFC的创造办法与一般功能模块类似,不过编写功能模块时需要正在Attribute选项卡中将Processing Type 选项设为Remote-Enable Module,正在传进传出参数那边需要采用参数为Passing value.正在SAP中,功能模块的调用通过 CALL FUNCTION 语句真止.近程功能动做一般功能模块调用的扩展,可通过正在CALL FUNCTION 语句中增加DESTINATION子句完成,其语法要领与一般调用真足相共.何如建坐RFC步调?RFC步调传播的参数皆是传播值仍旧引用?怎么样建坐函数组?正在SE37中建坐函数模块的时间,attributes选项卡中将 remote function前里的圆圈勾选上.传播引用.不妨SE80加进,选中屏幕左边的repository browser选项,正在第一个输进框中选中函数组,正在第二个输进框中输进需建坐的函数组名,再回车便不妨了;大概者从se37加进,正在menu bar上选中go to——>function group——>create group8.1.9怎么去维护那个DESTINATION(近程目标)SM59, 其中包罗链接战登录近程系统所需的局部参数疑息.还不妨正在近程调用时间接指定目前系统的应用服务器动做RFC目标.通过SM51查看目前SAP系统中活动的应用服务器.8.2.1什么是BAPI?您使用过哪些BAPI真止什么功能?BAPI贸易应用步调接心(Business Application Programming Interface,简称BAPI)是里背对付象步调安排要领中的一组步调接心.它允许步调员通过SAP将第三圆硬件调整成R/3博有产品.为了完成一些特殊的商业任务,如上传贸易数据等,R/3系统中内置了BAPIBAPI是SAP提供的鉴于贸易对付象的函数,闭键是它们处理的对付象是R/3的贸易相闭business object),比圆票据类出卖订单,构造:公司等,它们是一系列真体.RFC则是一种系统间通讯的办法(Remote Funciton Call),一个BAPI函数往往能是一个RFC函数8.2.2什么是贸易对付象典型?它包罗哪些主件?贸易对付象典型是贸易对付象的定义战形貌,里背对付象构架的真止前提,也便是SAP系统中的类,它启拆了贸易功能战数据.它包罗接心,闭键字段,属性,要领战事变5个贸易组件.8.2.3怎么样创造一个BAPI?a. 定义BAPI Structure (Structure不克不迭正在BAPI中沉复使用,果为一朝BAPI被释搁,其Structure被冻结)b. 创造FUNCTION MODULE(每个BAPI必须有自己的Function Group,Function Group属性必须为RFC)c. 创造Business Object(SW01)d. 使用BAPI WIZARD创造API Method(那样BAPI不妨被中部步调调用)e. 释搁BAPI Function Module,释搁Business Object Type,释搁BAPI 动做BOR的一种Method编写BAPI的注意事项有哪些?BAPI不克不迭包罗call transaction 大概 submit report那些跳转到别的步调的语句;BAPI的结构中不克不迭使用append大概include,而且每个BAPI的结构皆必须新建;BAPI中不克不迭使用dialog,如举止文献采用,需要用户接互的物品,那也正在RFC中不克不迭出现8.2.5道道与BAPI相闭的工做代码.SWO1贸易对付象创造器SWO2 贸易对付象欣赏器SWO3贸易对付象堆栈欣赏器BAPI BAPI对付象欣赏器8.3 RFC 战BAPI的相共之处战分歧之处8.3.1 RFC战BAPI的辨别?1> BAPI战RFC不是共一个条理上观念;BAPI是SAP提供的鉴于贸易对付象的函数,闭键是它们处理的对付象是R/3的贸易相闭Business object,比圆票据类出卖订单,构造,公司等,它们是一系列真体.RFC则是一种系统间通讯的办法(Remote Function Call),一个BAPI函数往往能是一个RFC函数.2> BAPI是个SAP里一个很佳的思维,把贸易对付象皆对付象化了.9.1.1CHECK、EXIT、RETURN下令的辨别?9.1.1.1 CHECK1)CHECK 后里要跟一个表白式,当表白式值为假(false)时,CHECK爆收效率,退出循环(LOOP)大概处理步调(Processing Block).2)如果CHECK出目前循环中,则爆收效率时,退出的是目前一次循环支配,步调会继承真止下一次循环支配,其效率类似于Continue (Java 大概C++中continue也是如许).3)如果CHECK出目前循环以中,则爆收效率时,退出的是目前真止的步调块(processing block),比圆一个FORM,METHOD,大概EVENT.9.1.1.2 EXIT1) EXIT如果出目前循环中,退出的是所有循环支配,.步调会从循环中断处启初继承真止,其效率相称于Java与C++中的break.2)EXIT如果出目前循环除中,退出的是目前真止的步调块(processing block),比圆一个FORM,METHOD,大概EVENT,其效率与RETURN类似.9.1.1.3 RETURNRETURN用去退出目前真止的步调块(processing block),比圆一个FORM,METHOD,大概EVENT,不管是可出目前循环(LOOP)中,RETURN皆市退出目前真止的步调块,而不然而仅是退出循环.虽然ABAP中EXIT 战RETURN皆不妨用去真止退出目前真止的语句块(processingblock),然而SAP的助闲文献提议只正在循环中使用EXIT ,其余情况下要退出目前真前进程,使用RETURN .9.1.2初初化内表有几种办法?1、要初初化有大概不表头的内表,用REFRESH语句2、如果使用不表格处事天区的内表,不妨使用CLEAR语句代替REFRESH语3、如果使用有表头止当内表,CLEAR语句仅扫除表格处事天区,要沉置所有内表而不扫除表格处事天区,使用REFRESH语句大概CLEAR语句使用REFRESH大概CLEAR初初化内表后,系统脆持正在内存中死存的空间.不妨用FREE语句释搁内存调用其余可真止步调使用“SUBMIT+步调名”语句,使用WITH 闭键字,可传播采用绘里参数,使用AND RETURN闭键字,可正在该步调真止完成后,自动返回调用它的步调.调用其余工做代码使用“CALL TRANSACTION + 工做代码”,使用AND SKIP FIRST SCREEN不妨跳过第一个绘里,加进下一个绘里9.1.5正在举止绘里跳转时,CALL SCREEN与LEAVE TO SCREEN 的辨别?CALL SCREEN是将正正在运止的绘里挂起,加进所调用的绘里,当使用LEAVE TO SCREEN 0时,不妨返回本绘里,可明白为嵌套调用;而LEAVE TO SCREEN是坐时中断本绘里的真止,调用所指定的绘里,正在调用绘里中,无法再返回本绘里.9.1.6LOOP 循环战系统字段?Sy-index.sy-tabix死存loop循环到内表的第几止了,sy-dbcnt死存从数据库中读与到的谦足条件的记录条数, sy-lisel 死存被选中止的真质,正在事变at line-selection时起效率,该系统字段中的真质到下一个屏幕的时间还存留9.1.7MESSAGE消息有哪些典型,含意?怎么样自定义MESSAGE消息类?A:Abend,坐刻末止目前工做,加进DUMP的界里E:过得,绘里的状态栏,会弹出一个过得提示疑息I:疑息,弹出一个消息对付话框S:确认,绘里的状态栏,会弹出一个精确提示疑息W:告诫,绘里的状态栏,会弹出一个告诫提示疑息不妨通过语句DISPLAY LIKE mtype不妨与代本过得图标自定义MESSAGE消息类,通过工做代码SE91.9.1.8ABAP中,怎么样自定义非常十分类?怎么样捕获非常十分?通过工做代码SE24,正在Class Type中,采用Exception Class即可定义,正在TRY CATCH语句中便不妨使用.捕获:战JAVA一般:TRY…CATCH 非常十分类…ENDTRY.9.1.9什么事真物变式?工做变式有什么用?工做变式是一组屏幕变式,用于预约义屏幕止为战默认值.通过使用变式功能,不妨将用户不需要的字段、子屏幕及齐屏幕从用户视图中与消.不妨给所有输进字段树坐默认值,字段也不妨不必戴 "Ready for Input" 状态.只可为对付话战报表工做创造工做变式;变式中只可包罗一般屏幕、子屏幕及对付话屏幕.启垦人员不妨使用GuiXT 足本道话通过工做变式维护对付屏幕举止建改.建改屏幕筹备的办法有:拔出按钮、值助闲(Value Helps)、移动对付象、拔出屏幕等等.包罗SIGN OPTION LOW HIGH四个字段9.1.11对付于FIELD SYMBOL赋值将使用ASSIGNPerform 调用子步调时,using ,tables,changing 3个参数分别有什么效率?using 不妨传进单值、处事区,只可使用,不克不迭对付值干建改,perform中断后传进参数的值仍旧传进之前的状态;Tables 只可传进一个内表,步调逻辑不妨对付其举止建改,perform 中断后内表的值是效率Changjing,不妨传进内表、单值,当步调逻辑不妨对付其举止建改,perform中断后传进参数的值是效率过后的值9.1.13怎么样正在步调间传递数据?不妨使用 EXPORT语句正在 ABAP/4 内存中死存数据字段簇。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1)PROCESS BEFORE OUTPUT(简称PBO):进行屏幕初始化工作,如数据库选择,屏幕元素属性动态设定等,如根据用户权限和继电定值申请单的状态确定哪些屏幕字段是输入状态,哪些字段是显示状态;PBO模块结束后,系统显示当前用户屏幕。
2)PROCESS AFTER INPUT(简称PAI):当用户在屏幕上执行某些功能后被触发,PAI结束后,屏幕可能进入后续或返回上一个屏幕序列;3)PROCESS ON HELP-REQUEST (简称POH):当用户按下F1键要求查看帮助信息时触发;4)PROCESS ON VALUE-REQUEST(简称POV):当用户按下F4键要求查看搜索帮助时触发。
5)如何实现f4帮助方法一:a..事务码SE11打开数据字典,选中搜索帮助,填写名称,点击创建.(前提先把表格和数据元素以及域都建好了)2.填写基本相关信息,搜索帮助描述,取数的表,显示的对话框类型.3.填写搜索帮助参数,字段名称,输入输出属性,显示位置次序,数据元素.4.保存,激活.5.打开要建立搜索帮助的表,选中要建立搜索帮助的字段,点击SRCH HELP,填入你建立好的搜索帮助的名称.6.保存,激活表.7.重新保存要用到表中搜索帮助的程序,激活后就可以使用搜索帮助来选择值了.Ps:在建立屏幕程序的时候要填上屏幕中你所填变量的f4的名字11/1.. 必须要有参照的数据元素要添加搜索帮助的表中的字段,:注此方法比较直观,但是有相关的前提:. .所以前提就是我们要事先维护好数据元素没有数据元素无法建立搜索帮助方法二:. 程序中直接写相关代码来实现在ABAP:具体步骤. VALUE-REQUEST添加事件1.:示例代码AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_XILEI-LOW.PERFORM FRM_XILEI_SELECT.. 在子程序中实现搜索帮助功能2.:示例代码11/ 2.FORM FRM_XILEI_SELECT .*细类的搜索帮助DATA: RT_TAB LIKE DDSHRETVAL OCCURS 0 WITH HEADER LINE.DATA: BEGIN OF IT_XILEI OCCURS 0,XILEI LIKE ZSFQ10-XILEI,END OF IT_XILEI.SELECT XILEI INTO CORRESPONDING FIELDS OF TABLE IT_XILEI FROM ZSFQ10.CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'EXPORTINGRETFIELD = 'XILEI'DYNPPROG = SY-REPIDDYNPNR = SY-DYNNRDYNPROFIELD = 'S_XILEI-LOW'VALUE_ORG = 'S'CALLBACK_PROGRAM = SY-REPIDTABLESVALUE_TAB = IT_XILEIRETURN_TAB = RT_TABEXCEPTIONSPARAMETER_ERROR = 1NO_VALUES_FOUND = 2OTHERS = 3.IF SY-SUBRC <> 0.* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.ENDIF.ENDFORM. FRM_XILEI_SELECT3.保存,激活程序后,即可在屏幕上使用搜帮助了.注:此方法不是太直观,但是不用在数据字典中建立相关的数据,只需在程序中动态提取显示.方法三:固定值。
我们在Domain 中可以定义value range ,在value range 中定义的值,就可以出现在f4帮助中。
这是最简单的实现f4帮助的方法方法四:数据类型关联。
加入我们在选择屏幕上定义一个dats 类型的参数,她就自动调用了日期类型的f4帮助。
6)如何实现事务码分配给程序Se9311/ 3.sap中如何实现数据的批量录入7)事务码lsmw.lsmw-----ab.bdc----事务码shdb(bdc调用的时候一般自动生成的程序对于一个BDC程序来说,有两个固定的internal table 需要声明:bdcdata和messtab,名称可以变,但是声明时一定要* Batchinputdata of single transactiondata: abc like bdcdata occurs 0 with header line.* messages of call transactiondata: def like bdcmsgcoll occurs 0 with header line.Like 后面的table type(这里是一个structure)是不能改变的。
有两个固定功能的form:bdc_dynapro和bdc_field名称同样是任意的,但是程序代码应该是相同的,(强烈建议不要改动,因为会给自己添加麻烦)另个还有一个Internal Table或者work area是用来放从外部读进来的数据的,结构应该和你的外部文件的有相关的字段结构。
一次读进全部的记录然后循环处理loop at [internal table]……process……endloop。
或者一条一条读进并处理,然后循环读下一条do ……process……enddo。
其中Process 分为两个部分:1.填充bdcdata表。
2.Call transaction or Call Function ‘BDC_Insert'返回消息放入Messtab.Bdc的运行方式:N---后台更新;A-----表示显示所有bdc录制屏幕执行过程及数据;E-----仅显示出错事务屏幕更新模式:L------本地更新;A------异步更新模式S-----异同步更新模式b.bapi函数c.catt或是ecatt 现在多用ecatt 取代catt8)sap创建类的步骤1.声明类并定义类的使用方法2.使用data语句中的type ref to来表示引用某一具体类以声明新的对象3.使用create object语句创建类实例化对象。
4.通过“->”或“=>”运算符访问类对象或组件,可以通过变量对方法名进行指定,实现动态调用。
Class<class> definitionPublic section.…..Protexted section.…….11/ 4.Private section.……..Method …. Endmethod.…..Endclass.当所声明的类中包含方法时,需要通过下列代码对方法的实现行为进行定义Class <class> implementationMethod …endmethod.…..Endclass.9)sap实现增强的几种方式:方式有:表增强、屏幕变式和事务变式、程序增强(用户出口和客户定制出口、业务增强badi、业务事件bte、增强点、img后台配置)、菜单增强。
10)sap query创建步骤:1、创建用户组user group(SQ03)2、创建infoset,即设定列表关联的数据表及字段(SQ02)3、Basic list的创建Sq01是创建query的事务码11)Alv通过标准函数调用,它通过程序传递数据内表的方式来显示数据。
Alv输出的方式有两种grid和list。
Alv中的layout主要用于设定alv的输出格式,而fieldcat主要用于alv结构定义,包括具体的字段名称、类型、格式等属性。
Layout和fieldcat同属于类型池slis。
Alv调用主要是通过以下几个函数实现:REUSE_ALV_FIELDCATALOG_MERGE(根据内表结构返回fieldcat字段结构信息)、REUSE_ALV_GRID_DISPLAY/REUSE_ALV_LIST_DISPLAY:输出alv报表、12)数据分析方法:(找表的18种方法)--------包括F1字段分析方法、ST05数据追踪方法、数据词典分析方法、调试分析方法、文本方法等。
where-used list方法、13)。
Sap工作流构建步骤:查找、创建触发事件;构建业务对象;构建程序/屏幕;构建工作流引擎;构建规则;测试创建任务(事务码pftc)、业务工作台(事务码SW11)工作流系统的配置----事务码SWU3工作流设计器-------事务码swdd11/ 5.smartform14)(文、text module、style(样式)其工具主要分为三大部分,分别用于创建form (板式)本模块).(事务码)nace如果想要实现系统可以直接打印出来自己配置的smartform,需要通过进行后台配置。
se72style体例设计-------------se71;标准文本--------SO10;Scriptform:格式绘制器OPEN_FORM; WRITE_FORM; CLOSE_FORM连接通过三个function实现:Sap script与abap 系统上传图片和文本的事务码。
se78是对sap事务码在开启的导出为本地文件,需要先使用工具将相关scriptformScriptform无法直接复制,)RSTXSCRP,(通过se38,输入程序名需求系统中将文件导入,由此实现scriptform的复制。
步骤复杂,见书步骤复杂见书。
屏幕程序开发)15Dropdown TABLE CTROL, TAB STRIP,精通Dialog屏幕标准元素实现的界面,主要包括:Custom 控件(CLASS方式实现复杂的界面,包括:Container List, F1功能、F4功能等。
精通控件控件;ALV GRID Docking Container等;ALV Tree Container、Splitter Container、的复杂控制(如增加用户按ALV中的方法和属性实现对(该控件可以通过调用ALV Class控件等的实现;熟练TEXT EDIT 钮,双击事件,对话框显示详细等);以及Picture 控件,技术实现界面可折叠的复杂屏幕设计。
掌握Collapsible AreaRFC)接口开发:16 ZPRG_CONNET_SQL_BY_OLE_ADO 连接外部数据库的范例参见程序利用OLE 关于ABAP业务总结)17SD常用命令集合客户主数据--创建XD01 -修改XD02 显示XD03--销售订单创建VA01--修改VA02----VA03显示对销售订单交货--创建VL01N 修改VL02N--显示VL03N-- VL09取消发货MBST(取消凭证) 对销售订单开票一种参照销售订单开票11/ 6.参照交货单开票开票VF01----VF02修改-显示Vf03 VF11冲销发票表:交货LIKP LIPO 销售订单:VBAK VBAP 发票MKPF MSEG 客户余额FD10N 销售定价过程(客户信息记录)VK31--创建VK32-修改VK33-显示财务简介做凭证-02F 凭证类型--销售发票凭证RV -收款凭证DZ模块常用命令集合PPBOM: 创建--CS01 修改CS02-查看CS03-展开BOM BOM--展开CS12 --展开汇总CS13 比较--CS14BOM 按树状展开CSMB-- BOM反查CS15-工作中心--创建工作中心CR0111/ 7.CR02--修改CR03--查看工艺路线CA01--创建CA02--修改CA03-查看手工创建生产订单CO01--创建CO02--修改CO03--查看对生产订单发货MIGOMB26MB1AMMSC--扩充库位对生产订单报工CO11CO11NCO13-冲销报工CO14--查询报工对生产订单收货MIGOMB31对生产订单关闭CO02---技术实现TECO订单状态:REL---下达CNF--PCNFDLV--PDLVTECO--技术实现CLSD--关闭预留表--RESB通过生产订单号查询到预留单号,再查找物料在制品----针对自制件不在DLV在途----采购件--(未清采购订单)查询作业类型价格KP26作业类型KL01--创建KL02--维护KL03--显示11/ 8.MRP运算代码M61--创建物料主计划MD01--运行MRP18)屏幕元素Parameters的用法…..as checkbox:创建checkbox对象…….obligatry:限制该select-options为必输项,执行中系统会提示……radiobutton group radi:建立分组单选框……visible length vlen:定义显示长度……as listbox visible length vlen :创建一个下拉列表,并指定输出长度Selection-screen 对象:Select-screen 语句用于创建屏幕的框架结构,主要包括屏幕元素的创建、子屏幕的创建等。