SAP ABAP 面试题交流

news/2024/7/7 18:43:48
1.列举AT事件并说明其作用,AT事件中的工作区有何不同?

AT FIRST  循环loop中执行第一条数据

AT LAST 循环loop中执行最后一条数据

AT NEW 循环loop中指定字段(包含指定字段)记录与上一条记录不一致数据执行

AT END OF 循环loop中指定字段(包含指定字段)记录与下一条记录不一致数据执行

AT事件内容不可以包含loop事件 working area

AT NEW 与AT first 事件指定字段必须是第一个字段,

2. 交互式报表事件

PBO PAI POV POH

3. 报表的选择画面上能否添加自定义工具栏及如何实现?

能够添加,通过语句SELECTION-SCREEN FUNCTION KEY n(n为1至5,最多定义5个)。

4. 如何更改屏幕各元素的状态?举例一些比较常用的屏幕属性

在报表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  是否是可用的状态

5. 如何设置 ALV 中的热键

Set parameter id ‘BES’ field gw_itab-ebeln.

Call transaction ‘ME23N’and skip first screen.

6. FM ALV 和 OO ALV 的比较

FM ALV 和 OO ALV都能够实现按钮自定义、数据修改、按钮处理自定义操作,通常情况下FM ALV 主要用于报表数据展示及简单交互;OO ALV 主要用于dialog程序开发,可以进行复杂的控制,比如单元格的修改控制(FM只能控制到列修改)、自定义F4等,OO ALV可以根据容器排列很方便的定义布局,一个屏幕可以放多个ALV,但是FM ALV 只能一屏显示一个ALV.

7. 简述 modify 、insert、update 对数据库表做操作时的影响

Modify操作数据库时,可以使用from内表或者工作区来进行多条和单亲的更新,要求内表或工作

区跟数据库表的结构一致,当数据库表中存在重复记录时,执行更新操作,更新的值为内表或工作区的值

当数据库表中不存在记录时,执行插入,插入的值为内表或工作区的值

Insert操作数据库时,可以用from内表或者工作区进行多条和单亲的插入,要求內表或工作区跟

数据库表的结构一致,如果数据库中不存在重复记录时,执行插入,插入的值为内表或工作区的值;如果

已经存在重复记录,会出现更新异常

Update操作数据库时,可以直接set来进行单值更新,可以用 from table和工作区进行批量更新,

求内表和工作区跟数据库表的结构一致,当存在记录时执行更新,当不存在记录时,没有数据会被更新

同时也不会产生异常,sy- subro=0

8.ABAP 数据表的主索引是什么?索引的好处与坏处?与建索引的注意事项!

ABAP 数据表的主键是表的主索引;好的索引能加快数据读取的速度但会增加更新数据库表的时间;建立次级索引时应尽量选取那些查询条件经常使用到的字段。

9. 找数据库表,有哪些常用的方法。

(1)、通过点击画面上需要查找的字段,点击F1,在弹出画面中的技术信息。

(2)、通过ST05进行数据库操作的跟踪。对于在前台界面进行数据的新增或更新,在数据库中都会有所体现能够

(3)、通过事务代码SE80-》repository information system-》ABAP字典-》数据库表格中,对魔个字段进行查询

10. inner join 与 left-outer join 的区别?

Inner join:查询结果只包括左表与右表中都满足查询条件的数据


left-outer join:将主表(左表)中的所有满足查询条件的数据都会包括,若相同的查询条件下在右表不存在的记录也会包括;

11. 如何建立数据库锁对象,激活锁对象产生的 Function Module 的名字是什么,在何处查看锁表的情况?

在SE11中,选择“锁对象”,即可建立

用于设锁的FM为:EQUEUE_<锁对象名>。它用于在锁表( Lock Table)中生成一个锁项(LockEntry)。若设锁不成功的话,就会在 Return中反映出来。

用于释放锁的FM为:DEQUEUE_<锁对象名>。它用于从锁表中删除一个锁

在SM12中查看锁表的情况

这两个锁FM是在SAP系统的一个特殊工作进程中执行的,专门进行锁管理。它运行在一个单独的服务器上,而该服务器专门用于维护整个SAP系统的主锁表( Central locak table)

有两种锁类型

在E11中,选择“锁对象”,即可建立

用于设锁的FM为:酬 QUEUE<锁对象名>。它用于在锁表( Lock Tab le)中生成一个锁项(Lock

Entry)。若设锁不成功的话,就会在 Return中反映出来。

用于释放锁的M为:E<锁对象名>。它用于从锁表中删除一个锁

在SM12中查看锁表的情况

这两个锁酬M是在SAP系统的一个特殊工作进程中执行的,专门进行锁管理。它运行在一个单独的

服务器上,而该服务器专门用于维护整个SAP系统的主锁表( Central locak table

有两种锁类型

在E11中,选择“锁对象”,即可建立

用于设锁的FM为:酬 QUEUE<锁对象名>。它用于在锁表( Lock Tab le)中生成一个锁项(Lock

Entry)。若设锁不成功的话,就会在 Return中反映出来。

用于释放锁的M为:E<锁对象名>。它用于从锁表中删除一个锁

在SM12中查看锁表的情况

这两个锁酬M是在SAP系统的一个特殊工作进程中执行的,专门进行锁管理。它运行在一个单独的

服务器上,而该服务器专门用于维护整个SAP系统的主锁表( Central locak table

有两种锁类型

共享锁一一只读锁,一个用户正在读数据时,阻止其他用户更改该数据

独占锁一一可写锁,一个用户正在修改数据时,阻止其他用户更改该数据.

12:使用 OPEN SQL 注意原则
  1. 尽可能减少满足条件的数据条目数量
  2. 减少数据的传输量,以减少网络流量
  3. 减少访问的数据库表量
  4. 减少查询难度,可以通过整理选择标准来实现
  5. 减少数据库负载
  6. 不要在loop中访问数据库 尽量将数据与先提取到内表中 然后在通过内表进行数据的整合
  7. SELECT语句尽量提取需要的字段 对于不需要的字段避免抽取
  8. Select语句where条件 应该先将主键相关条件放在前面 然后按照比较符 = < > <> like in 的顺序排序where条件
  9. 读取内表使用二分法查找方式 BYNARY SEARCH
13:常用的 abap 开发 T-CODE 有哪些?

SE38 程序创建

SE37 函数创建

SE11 表、元素、域、结构、搜索帮助、锁对象、表类型、表视图创建

SE80 函数组、类等查询创建

ST05 查询性能

SM59 ABAP链接

SE24 创建类

SE93 查询创建事务代码

SE91 查询消息

SM12查询锁表情况

14. 什么是权限对象(Authorization Objects)?在 ABAP 程序中使用哪条语句进行授权检查?

权限对象由一组字段组成、这些字段的值将被用于进行权限检查。

ABAP程序中使用AUTHORITY-CHECK语句根据权限对象进行权限检查;

在AUTHORITY-CHECK语句中,必须指明权限对象的所有字段,但有一个例外,可以用dummy关键字来绕过某个字段的检查。通过sy-subrc的返回值来检查,0代表通过,其他均为错误,一个授权对象最多可以定义10个字段。

15. 与权限对象有关的事务代码有哪些?

SU20:查看创建权限字段

SU21:查看定义权限对象

SU53:显示权限检查出错原因:对于调用function时,返回无权限的错误后,能在此事务码中查找到错误信息;

PFCG:角色维护,将所建的权限对象与某个角色关联,角色分配给某个用户后,就能检查该用户是否有进行操作的某权限。

16:DIALOG 开发的常用几个控件是什么?

子屏幕、文本、输入输出框、框、容器、表控制、按钮等

17. BDC 与 BAPI 之间的区别

BDC:SHDB

BAPI:BAPI

都可以用作数据导入,但是BDC是完全模拟前台操作,而BAPI是SAP 提供的标准API通过调用BAPI在后台生成相应数据,性能高于BDC导入方式

18.增强的种类及相关事务代码

增强就是ERP系统标注程序出口,在该出口中由用户根据企业实际需求编写客户化逻辑代码。

USER exit:SE37 以EXIT*开头

Customer exit:SMOD(查看增强组件)/CMOD(建立项目后,实现增强)

BADI增强:SE18(查找接口)/SE19(对接口进行实施)

19. 如何进行数据库表字段的增强?Append 和 Include 的方式有何区别?

创建AET增强字段,字段必须有数据元素

Append结构( Append Structure)和自定义 Include( Customizing Include)。 Append结构是在向尾添加字段时创建的,自定义

Include由sAP开发人员指定,以使用户可以创建新字段它们之间的区别在于: Append的结构只能由该表使用,其他表使用不可; I

nclude能够插入任结构或表,其中当插入表时,该表会自动转换为相同字段的结构。

20.如何创建一个 BAPI?


SWO1业务对象创建器

SWO2 业务对象浏览器

SWO3 业务对象仓库浏览器

BAPI bapi对象浏览器

21. CHECK、EXIT、RETURN 命令的区别?

22. 初始化内表有几种方式?描述各方式间不同之处

23. function module 中如何给出错误消息?

24.Web Service实现步骤

25. SMART FORM 如何实现公司 LOG 打印,其步骤是什么?

通过事务代码SE78先将LOG导入,导入的只是位图、GIF文件、导入注意用256色,否则会导致图片打印有问题;

最后在smartform中添加LOG图片即可、


http://lihuaxi.xjx100.cn/news/1891079.html

相关文章

远程服务器——如何在Conda中安装R环境

目录 1. R的安装2. VScode 配置参考文献 1. R的安装 推荐使用anaconda或者miniconda&#xff0c;创建虚拟环R_env境然后安装R&#xff1b; 使用conda search r-base查看可下载的R的版本&#xff1b;R版本比较低&#xff0c;一般可以先增加源&#xff1a; % 增加源 conda con…

01读《物联网安全研究综述:威胁、检测与防御》随笔

01读《物联网安全研究综述&#xff1a;威胁、检测与防御》随笔 摘要3 研究现状3.1 安全威胁3.1.1 云平台访问控制缺陷3.1.2 云平台恶意应用3.1.3 云平台实体和应用交互漏洞3.1.4 通信协议漏洞3.1.5 通信流量侧信道信息泄露3.1.6 设备固件漏洞3.1.7 基于语音信道的攻击3.1.8 基于…

AI 搜索将如何影响 SEO

用户可以与之交互的 AI 搜索结果是肯定的。搜索营销人员要么对此感到生气&#xff0c;什么都不做&#xff0c;要么他们可以调查即将发生的事情并做好准备。 Google SGE 和 Bing 提供了相当相似的 AI 方法&#xff0c;是传统搜索和聊天机器人的混合体。 但这并不一定是当今 AI…

UI自动化Selenium 测试报告BeautifulReport使用及修改

一、BeautifulReport安装 pip安装 pip install BeautifulReport Pycharm中安装 二、原生报告样式 原生报告&#xff0c;因为我使用ddtunittest数据驱动模式&#xff0c;所以Excel中所有参数都会被拼接出来&#xff0c;导致测试方法里面有太多不需要展示的内容&#xff1b; …

Improving IP Geolocation with Target-Centric IP Graph (Student Abstract)

ABSTRACT 准确的IP地理定位对于位置感知的应用程序是必不可少的。虽然基于以路由器为中心&#xff08;router-centric &#xff09;的IP图的最新进展被认为是前沿的&#xff0c;但一个挑战仍然存在&#xff1a;稀疏IP图的流行&#xff08;14.24%&#xff0c;少于10个节点&…

文心一言和ChatGPT相比能力到底如何

在线体验&#xff1a;体验地址 一、文心一言能力如何 不管百度公司如何&#xff0c;就AI大模型来说&#xff0c;文心一言和其他国内产品相比&#xff0c;还是具有相当大的优势的&#xff0c;可以说是在个人的使用方面&#xff0c;我认为是最顶级的。 但是和ChatGPT4相比&…

【开题报告】基于SpringBoot的渔业学习平台的设计与实现

1.选题背景 随着全球气候变化和人口增长&#xff0c;渔业资源的保护和管理越来越受到重视。作为一个具有战略性意义的产业&#xff0c;渔业在我国国民经济中占有重要地位&#xff0c;但是同时也面临着一些问题&#xff0c;如过度捕捞、资源减少、生态环境恶化等。为了促进渔业…

微信机器人如何使用?好用吗?好奇

随着微信的使用范围越来越大&#xff0c;所以人一多&#xff0c;管理起来就会遇到很多繁琐的情况需要仍去操作。 比如需要手动一个个通过好友验证&#xff0c;发消息&#xff0c;相同问题一遍遍的回答&#xff0c;消息还容易看漏&#xff0c;回复不过来...... 想着如果有什么可…