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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Visual Studio调试技巧合集

Visual Studio调试技巧合集 1 如何同一个项目运行不同main文件&#xff1f; 1 如何同一个项目运行不同main文件&#xff1f; &#xff08;1&#xff09;移动鼠标到需要关掉调试的文件&#xff0c;点击右键属性–常规–从生成中排除–是–确定&#xff0c;即显示“-”号排除&am…

Python自动化测试系列[v1.0.0][多种数据驱动实现附源码]

前情提要 请确保已经熟练掌握元素定位的常用方法及基本支持&#xff0c;请参考Python自动化测试系列[v1.0.0][元素定位] 数据驱动测试是自动化测试中一种重要的设计模式&#xff0c;这种设计模式可以将测试数据和测试代码分开&#xff0c;实现数据与代码解耦&#xff0c;与此同…

变量与方法面试题

char 型变量中能不能存储一个中文汉字&#xff0c;为什么&#xff1f; char 类型可以存储一个中文汉字&#xff0c;因为 Java 中使用的编码是 Unicode&#xff08;不选择任何特定的编码&#xff0c;直接使用字符在字符集中的编号&#xff0c;这是统一的唯一方法&#xff09;&a…

Python FuckIt模块:代码的“不死鸟”

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 在编程世界中&#xff0c;每个开发者都曾遇到过代码中的错误&#xff0c;有时这些错误可能让人崩溃。但是&#xff0c;有一天&#xff0c;听说了一个叫做"FuckIt"的模块&#xff0c;它声称可以帮助摆脱…

【PIE-Engine 数据资源】全球海面温度产品

文章目录 一、 简介二、描述三、波段四、示例代码参考资料 一、 简介 数据名称全球海面温度产品时间范围2002年- 2018年空间范围全球数据来源毛克彪教授团队代码片段var images pie.lmageCollection(“CAAS/SSTG”) 二、描述 全球海面温度产品是 2002-2019 年的全球海面温度…

ES中根据主键_id查询记录

一、需求 es中_type&#xff1a;_doc&#xff0c;想要根据主键_id查询记录 二、实现 复合查询中使用语句查询http://192.168.1.1/_doc/1

Mybatis的foreach标签的使用以及参数的含义

Mybatis的foreach标签的使用以及参数的含义 语法格式&#xff1a; 属性说明&#xff1a; collection属性的注意点&#xff1a;

node js 递归生成vue文件目录

目录 什么是 fs 文件系统模块 fs.existsSync方法 方法说明&#xff1a; 语法&#xff1a; 向指定的文件中写入内容 writeFile fs.writeFile() 的语法格式 fs.writeFile() 的示例代码 判断文件是否写入成功 fs.mkdir 创建目录 目录已存在&#xff0c;重复创建 创建的目…

Python:Anaconda

简介 Anaconda是一个流行的Python发行版&#xff0c;专为科学计算和数据分析而设计。它包含了Python语言、Jupyter Notebook以及用于科学计算的众多包&#xff0c;如NumPy、Pandas、Matplotlib等。 Anaconda的特点是开箱即用&#xff0c;用户无需单独安装这些包&#xff0c;极…

Leetcode—459.重复的子字符串【简单】

2023每日刷题&#xff08;五十九&#xff09; Leetcode—459.重复的子字符串 算法思想 巧解的算法思想 实现代码 从第一个位置开始到s.size()之前&#xff0c;看s字符串是否是ss的子串 class Solution { public:bool repeatedSubstringPattern(string s) {return (s s).fin…

2023全球开发者生态调研:84%的开发者表示他们在工作中正积极使用生成式AI工具

今年JetBrains首次在一年一度的开发者生态调研中&#xff0c;增加了人工智能方向的问题。在全球26348名开发者参与的调研中&#xff0c;总体对人工智能的发展持乐观态度。特别是生成式AI在软件开发和编程环节中的应用&#xff0c;84%的开发者表示他们在工作中正在积极使用生成式…

占位图片(Placeholder Image)

一、引言 在网页设计和开发中&#xff0c;占位图片&#xff08;Placeholder Image&#xff09;是一种常见的技术手段&#xff0c;用于在用户上传图片之前或者图片加载失败时&#xff0c;展示一个临时替代的图片&#xff0c;以提高用户体验。本文将详细介绍占位图片的实现原理和…

中医电子处方管理系统软件,中医配方模板一键生成软件操作教程

一、前言&#xff1a; 在中医开电子处方时&#xff0c;如果能够使用配方模板功能&#xff0c;则可以节省很多时间。使用配方模板一键导入&#xff0c;几秒即可完成开单。 下面就以佳易王电子处方管理系统软件V17.1版本为例说明&#xff0c;其他版本可以参考&#xff0c;软件下…

获取 VirtualBox COM 对象失败,应用程序被终端 0x80000405错误解决以及Virtualbox下载

错误详情展示及解决_情况一 返回代码展示&#xff1a; 解决方式&#xff1a;打开在virtualbox的安装目录&#xff0c;找到VirtualBox.xml文件&#xff0c;将它删掉找到 错误详情展示及解决_情况二 返回代码展示&#xff1a; 情况说明&#xff1a; 原来是win10的电脑&#xf…

「Verilog学习笔记」加减计数器

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点&#xff0c;刷题网站用的是牛客网 timescale 1ns/1nsmodule count_module(input clk,input rst_n,input mode,output reg [3:0]number,output reg zero);reg [3:0] num ; always (posedge clk or negedge r…

计算两股不同流量的气体,通过换热器换热后,高温气体的出口温度

# -*- coding: utf-8 -*- """ Created on Thu Nov 30 11:23:12 2023 计算两股不同流量的气体&#xff0c;通过换热器换热后&#xff0c;高温气体的出口温度 (煤烟二级&#xff0c;计算煤烟二级热侧出口温度) ------------------------------------------------ …

c语言:指针与数组

目录 使用指针访问数组 使用第一个元素获取数组首地址 使用数组名获取数组首地址 使用指针访问数组等价于下标访问 使用指针访问数组 指针类型的加减运算可以使指针内保存的首地址移动。指针类型加n后。首地址向后移动 n * 步长 字节。 指针类型减n后。首地址向前移动 n *…

Linux(21):软件安装 RPM,SRPM 与 YUM

软件管理员简介 以原始码的方式来安装软件&#xff0c;是利用厂商释出的Tarball来进行软件的安装。 不过&#xff0c;你每次安装软件都需要侦测操作系统与环境、设定编译参数、实际的编译、最后还要依据个人喜好的方式来安装软件到定位。这过程是真的很麻烦的。 如果厂商先在他…

mysql 数据库

一、mysql 数据库 安装 sudo apt-get install mysql-server sudo systemctl status mysql二、基本使用 1、mysql 登陆 sudo mysql -u root -p # 默认密码可能被设置为"root"&#xff0c;"admin"或者是空的2、创建用户 # 创建用户 newuser&#xff0c;改…

openHarmony添加system_basic权限安装报错

openHarmony添加system_basic权限安装报错 12/14 13:49:57: Install Failed: [Info]App install path:D:\huawei\project\FCTTest\entry\build\default\outputs\default\entry-default-signed.hap, queuesize:0, msg:error: failed to install bundle. error: install failed …