SAP ABAP 面试题交流

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图片即可、

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/245989.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络:物理层(奈氏准则和香农定理,含例题)

带你速通计算机网络期末 文章目录 一、码元和带宽 1、什么是码元 2、数字通信系统数据传输速率的两种表示方法 2.1、码元传输速率 2.2、信息传输速率 3、例题 3.1、例题1 3.2、例题2 4、带宽 二、奈氏准则&#xff08;奈奎斯特定理&#xff09; 1、奈氏准则简介 2、…

基于亚马逊云科技新功能:Amazon SageMaker Canvas无代码机器学习—以构建货物的交付状态检测模型实战为例深度剖析以突显其特性

授权说明&#xff1a;本篇文章授权活动官方亚马逊云科技文章转发、改写权&#xff0c;包括不限于在亚马逊云科技开发者社区、 知乎、自媒体平台、第三方开发者媒体等亚马逊云科技官方渠道。 目录 &#x1f680;一. Amazon SageMaker &#x1f50e;1.1 新功能发布&#xff1a;A…

使用GAN进行异常检测

自从基于Stable Diffusion的生成模型大火以后&#xff0c;基于GAN的研究越来越少了&#xff0c;但是这并不能说明他就没有用了。异常检测是多个研究领域面临的重要问题&#xff0c;包括金融、医疗保健和网络安全。检测和正确分类未见的异常是一个具有挑战性的问题&#xff0c;多…

Electron 跨平台打包

最近利用 Electron 制作跨平台安装包&#xff0c;记录步骤&#xff0c;踩坑多多。 首先&#xff0c;一步步搭建项目 一、搭建环境 初始化 package.json&#xff0c;这里要求 node 版本不低于14.16&#xff0c;我用的 v14.16.0&#xff0c;16版本在 Linux 下容易出现安装依赖…

Java架构师系统架构高性能维度分析

目录 1 导语2 性能维度概述和定义3 高性能流程4 高性能实现方案-缓存为王5 高性能实现方案-异步为帅、分布式为将6 高性能高并发架构案例分析7 总结想学习架构师构建流程请跳转:Java架构师系统架构设计 1 导语 Java架构师在构建高性能系统架构时,需要关注以下几个关键维度:…

Spark环境搭建和使用方法

目录 一、安装Spark &#xff08;一&#xff09;基础环境 &#xff08;二&#xff09;安装Python3版本 &#xff08;三&#xff09;下载安装Spark &#xff08;四&#xff09;配置相关文件 二、在pyspark中运行代码 &#xff08;一&#xff09;pyspark命令 &#xff08…

软件测试前景怎么样?寒冬季?

怎么说呢&#xff1f; 正所谓说360行&#xff0c;行行出状元。 各个行业都有金字塔&#xff0c;站在金字塔的只有一部分的人。 所以我的答案是&#xff0c;有前景&#xff0c;但是要努力往测试开发方向走到塔尖。 我从三个方面来说吧。 一、测试、运维、开发&#xff0c;我…

世界第一个语言不通的人是如何沟通的?

引言&#xff1a;语言是人类交流的重要工具&#xff0c;但在人类历史的某个时刻&#xff0c;肯定会有这样一位勇敢的先驱&#xff0c;他成为了世界上第一个语言不通的人。那么在他面临交流难题时&#xff0c;他是如何与他人沟通的呢&#xff1f;本文将对此进行探索。主体&#…

开源IPad Pro应用IDE:使用SSH远程连接服务器进行云端编程开发

&#x1f525;博客主页&#xff1a; 小羊失眠啦. &#x1f3a5;系列专栏&#xff1a;《C语言》 《数据结构》 《Linux》《Cpolar》 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;…

地理信息与遥感技术应用于草地资源监测实例

1.利用遥感监测草地现状实验 采用基于像元遥感影像分类与人机交互式解译相结合方法。 利用环境星/Landsat TM 等数据&#xff0c;基于像元遥感影像分类方法快速提取草地分布情况&#xff0c;获取草地面积信息。 为了提高精度&#xff0c;利用人机交互式解译方式对计算机自动分类…

计算机视觉技术在智慧城市建设中的应用

计算机视觉技术在智慧城市建设中的应用 随着城市化进程的不断推进&#xff0c;更多的人们选择在城市生活、工作和娱乐。面对快速增长的人口和日益复杂的城市环境&#xff0c;很多城市开始探索智慧城市的建设。智慧城市的核心就是将现代信息技术应用于城市管理中&#xff0c;以…

Django和ECharts异步请求示例

前提条件 创建django项目&#xff0c;安装配置过程这里就不讲述了。 后端url http://127.0.0.1:8000/echarts/demo/ view视图函数 from django.http import HttpResponse import jsondef EchartsDemo(request):data {}categories ["衬衫","羊毛衫",&…

数字逻辑 | 查漏补缺

与非RS触发器VS 或非RS触发器 卡诺图化简 格雷码 时序逻辑&#xff08;不懂啊&#xff01;&#xff01;&#xff09;

Linux-----3、物理机安装Linux

# 物理机安装Linux # 系统镜像获取 http://isoredirect.centos.org/centos/7/isos/ 例如&#xff1a; CentOS7.9.2009 arch (opens new window) 阿里云镜像 CentOS7.9.2009 x86 (opens new window) # 华为Atlas 500pro 表 2-1 系统版本及适配信息 名称内容操作系统型号CentO…

计算机毕业设计 基于SpringBoot的社区医院信息管理平台/系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

GAN的原理分析与实例

为了便于理解&#xff0c;可以先玩一玩这个网站&#xff1a;GAN Lab: Play with Generative Adversarial Networks in Your Browser! GAN的本质&#xff1a;枯叶蝶和鸟。生成器的目标&#xff1a;让枯叶蝶进化&#xff0c;变得像枯叶&#xff0c;不被鸟准确识别。判别器的目标&…

ShenYu网关Http服务探活解析

文章目录 网关端服务探活admin端服务探活 Shenyu HTTP服务探活是一种用于检测HTTP服务是否正常运行的机制。它通过建立Socket连接来判断服务是否可用。当服务不可用时&#xff0c;将服务从可用列表中移除。 网关端服务探活 以divide插件为例&#xff0c;看下divide插件是如何获…

谷歌宣布向云计算客户开放 Gemini Pro,开发者可用其构建应用

12 月 14 日消息&#xff0c;美国时间周三&#xff0c;谷歌宣布了一系列升级的人工智能&#xff08;AI&#xff09;功能&#xff0c;旨在为其云计算客户提供更好的服务。这家科技巨头正试图赶上竞争对手&#xff0c;比如微软和 OpenAI&#xff0c;它们都在积极利用人工智能的热…

大数据技术11:Hadoop 原理与运行机制

前言&#xff1a;HDFS &#xff08;Hadoop Distributed File System&#xff09;是 Hadoop 下的分布式文件系统&#xff0c;具有高容错、高吞吐量等特性&#xff0c;可以部署在低成本的硬件上。 一、Hadoop简介 1.1、Hadoop定义 Hadoop 作为一个开源分布式系统基础框架&#x…

Yum仓库架构解析与搭建实践

1.Yum仓库搭建 1.1本地Yum仓库图解 1.2Linux本地仓库搭建 配置本地光盘镜像仓库 1&#xff09;挂载 [roothadoop101 ~]# mount -t iso996 /dev/cdrom/mnt 2&#xff09;查看 [rooothadoop101 ~] # df -h | |grep -i mnt /dev/sr0 4.6G 4.4G 3&#xf…