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.rhkb.cn/news/217468.html

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

相关文章

2019年第八届数学建模国际赛小美赛D题安全选举的答案是什么解题全过程文档及程序

2019年第八届数学建模国际赛小美赛 D题 安全选举的答案是什么 原题再现&#xff1a; 随着美国进入一场关键性的选举&#xff0c;在确保投票系统的完整性方面进展甚微。2016年总统大选期间&#xff0c;唐纳德特朗普因被指控受到外国干涉而入主白宫&#xff0c;这一问题再次成为…

深度学习中的高斯分布

1 高斯分布数学表达 1.1 什么是高斯分布 高斯分布(Gaussian Distribution)又称正态分布(Normal Distribution)。高斯分布是一种重要的模型&#xff0c;其广泛应用与连续型随机变量的分布中&#xff0c;在数据分析领域中高斯分布占有重要地位。高斯分布是一个非常常见的连续概…

微信小程序uniapp记住密码

记住密码功能 在请求登录接口成功后&#xff0c;我们需要判断用户是否勾选记住密码&#xff0c;如果是&#xff0c;则将记住密码状态、账号信息存入本地。 下次登录时&#xff0c;获取本地的记住密码状态&#xff0c;如果为true则获取本地存储的账号信息&#xff0c;将信息回填…

ES中根据主键_id查询记录

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

SpringSecurity6从入门到上天系列第八篇:SpringSecurity当中的默认登录页面是如何产生的?

&#x1f609;&#x1f609; 欢迎加入我们的学习交流群呀&#xff01; ✅✅1&#xff1a;这是孙哥suns给大家的福利&#xff01; ✨✨2&#xff1a;我们免费分享Netty、Dubbo、k8s、Mybatis、Spring等等很多应用和源码级别的高质量视频和笔记资料&#xff0c;你想学的我们这里都…

龙迅LT2611UXC 双PORT LVDS转HDMI(2.0)+音频

描述&#xff1a; LT2611UXC是一个高性能的LVDS到HDMI2.0的转换器&#xff0c;用于STB&#xff0c;DVD应用程序。 LVDS输入可配置为单端口或双端口&#xff0c;有1个高速时钟通道&#xff0c;3~4个高速数据通道&#xff0c;最大运行1.2Gbps/通道&#xff0c;可支持高达9.6Gbp…

【BI】FineBI功能学习路径-20231211

FineBI功能学习路径 https://help.fanruan.com/finebi/doc-view-1757.html 编辑数据概述 1.1 调整数据结构 1.2 简化数据 2.1上下合并 2.2其他表添加列 2.3左右合并 新增分析指标 函数参考 https://help.fanruan.com/finereport/doc-view-1897.html 数值函数 日期函数 文…

利用vue-okr-tree实现飞书OKR对齐视图

vue-okr-tree-demo 因开发需求需要做一个类似飞书OKR对齐视图的功能&#xff0c;参考了两位大神的代码&#xff1a; 开源组件vue-okr-tree作者博客地址&#xff1a;http://t.csdnimg.cn/5gNfd 对组件二次封装的作者博客地址&#xff1a;http://t.csdnimg.cn/Tjaf0 开源组件v…

高级C#技术(二)

前言 本章为高级C#技术的第二节也是最后一节。前一节在下面这个链接 高级C#技术https://blog.csdn.net/qq_71897293/article/details/134930989?spm1001.2014.3001.5501 匿名类型 匿名类型如其名&#xff0c;匿名的没有指定变量的具体类型。 举个例子&#xff1a; 1 创建…

kotlin 基础概览

继承类/实现接口 继承类和实现接口都是用的 : &#xff0c;如果类中没有构造器 ( constructor )&#xff0c;需要在父类类名后面加上 () &#xff1a; class MainActivity : BaseActivity(), View.OnClickListener 空安全设计 Kotlin 中的类型分为「可空类型」和「不可空类型」…

基于ssm企业人事管理系统的设计与实现论文

摘 要 进入信息时代以来&#xff0c;很多数据都需要配套软件协助处理&#xff0c;这样可以解决传统方式带来的管理困扰。比如耗时长&#xff0c;成本高&#xff0c;维护数据困难&#xff0c;数据易丢失等缺点。本次使用数据库工具MySQL和编程技术SSM开发的企业人事管理系统&am…

Tekton 基于 gitlab 触发流水线

Tekton 基于 gitlab 触发流水线 Tekton EventListener 在8080端口监听事件&#xff0c;Gitlab 提交代码产生push 事件&#xff0c;gitlab webhook触发tekton流水线执行。 前置要求&#xff1a; kubernetes集群中已部署 tekton pipeline、tekton triggers以及tekton dashboa…

GO并发编程综合应用

一.GO并发编程综合应用 1.生产者消费者模式 1.1需求分析 ​ 生产者每秒生产一个商品&#xff0c;并通过物流公司取货 ​ 物流公司将商品运输到商铺 ​ 消费者阻塞等待商铺到货&#xff0c;需要消费10次商品 1.2实现原理 1.3代码实现&#xff1a; package mainimport (&q…

Unity Mono加密解决方案

Unity Mono 是 Unity 引擎默认的脚本运行时环境&#xff0c;在游戏开发中扮演着重要的角色。Mono 由跨平台的开源 .NET 框架实现&#xff0c;它允许开发者使用 C# 等编程语言编写游戏逻辑。凭借简单易用的开发环境和高效的脚本编译速度&#xff0c;得到了众多游戏的青睐。 在 …

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

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

【通俗易懂】基于fabric8io操作k8s集群实战(pod、deployment、service、volume)

目录 前言一、基于fabric8io操作pod1.1 yaml创建pod1.2 fabric8io创建pod案例 二、基于fabric8io创建Service&#xff08;含Deployment&#xff09;2.1 yaml创建Service和Deployment2.2 fabric8io创建service案例 三、基于fabric8io操作Volume3.1 yaml配置挂载存储卷3.2 基于fa…

国际语音群呼系统有哪些应用场景?

国际语音群呼可应用于广告营销、消息通知、客情维护、金融催收等场景&#xff0c;助力出海企业产品营销和品牌推广。 广告营销 出海企业可以通过国际语音群呼系统&#xff0c;向目标市场的潜在客户进行广告宣传。例如&#xff0c;企业可以在系统中录制有关产品的宣传语&#…

分布式块存储 ZBS 的自主研发之旅|元数据管理

重点内容 元数据管理十分重要&#xff0c;犹如整个存储系统的“大黄页”&#xff0c;如果元数据操作出现性能瓶颈&#xff0c;将严重影响存储系统的整体性能。如何提升元数据处理速度与高可用是元数据管理的挑战之一。SmartX 分布式存储 ZBS 采用 Log Replication 的机制&…

InsCode实践分享

官方文档 官方文档永远是除了源码之外的最准确的资料&#xff0c;可以先看一遍&#xff0c;10分钟可以看完入门部分 InsCode 简介 | InsCode 文档 是什么 InsCode是一个在线的编程工具&#xff0c;提供了创建、调试、共享、部署项目的功能。可以说&#xff1a; InsCodeVSC…

Gitlab基础篇: Gitlab docker 安装部署、Gitlab 设置账号密码

文章目录 1、环境准备2、配置1)、初始化2)、修改gitlab配置文件3)、修改docker配置的gitlab默认端口 gitlab进阶配置gitlab 设置账号密码 1、环境准备 安装docker gitlab前确保docker环境&#xff0c;如果没有搭建docker请查阅“Linux docker 安装文档” docker 下载 gitlab容…