ABAP面试题收集

面试阶段
第一阶段:自我介绍,简单介绍简况,尽量不要喋喋不休
第二阶段:根据简历问技术,不会的东西不要在简历上硬写
第三阶段:技术面
一般来说会有:
做过哪些增强(隐式,出口,BADI)
做过哪些接口
用过哪些BAPI
写过哪些ALV,(一般会问layout这些控制什么,FIELDCATLOG这些控制什么)
smartforms这些,例如换页之类的问题

数据效率问题

尽量使用 select (max,sum,avg,min)等
还有 select single , for all enteris , 二分法 和collect(求和) 等
loop 里不能套 select
尽量避免使用 select distinct (取数不重复)
尽量先 sort 然后 delete
尽量少使用select *
不要使用 select … endselect语句
尽量用sort 代替 order by
尽量不要在 loop 中访问数据库(例如 select) ,在loop 外访问,然后在loop 内 写 read table with key
where 语句可以指定地尽量多一些
where 语句在指定查询条件时,尽量把包含等号的查询条件放到前边。

AT FIRST AT NEW AT END OF

AT FIRST :当前循环内表的第一行,即当每次循环第一行的时候,系统会执行控制语句块
AT NEW : 如果当前行(对象字段以及前面的任何字段)中的任何字段与上一行不同,那么在执行 AT NEW 中的内容
AT END OF : 如果下一行中的任何字段不同于上一行,执行语句块中的内容

AT NEW ,AT END OF 指定字段之后的字段将发生怎么样的变化

commit work 和 rollback 的作用是什么?什么时候自动commit

MM模块主要t-code

MM51N 采购申请
ME21N 采购订单
MIGO 收货

SD主要t-code

VA01 销售订单

PP模块主要T-CODE

coois 显示生产订单查询
CS01创建BOM
CA01创建工艺路线
CO01创建生产订单

BADI和BAPI的区别

BAPI是一种标准化变成接口(其实可以近似看成函数被用来调用)
而BADI是SAP内部提供的让标准SAP业务扩展的特定点
BADI是面向对象编程的

Funciton ALV如何做到单击跳转事务

(1)首先在fieldcat中设置 hotspot = ‘X’

(2)然后再USER_COMMAND事件对应Form中 加入

CASE R_UCOMM.

WHEN '&IC1'.然后调用SET PARAMETER ID 'BLN' FIELD LS_ALV-VBLNR.SET PARAMETER ID 'BUK' FIELD LS_ALV-ZBUKR.SET PARAMETER ID 'GJR' FIELD LV_GJAHR.CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.

6.ALV上如何控制单元格的颜色

(这个问题之前一直没有做过,所以记得很清楚没有回答上来,面试完我也去查看资料了,算是通过面试来查漏补缺了)

(1)列颜色:LVC_S_FCAT-EMPHASIZE = ‘C610’ - 红色

(2)行颜色:在ALV内表中加入字段:CLR TYPE CHAR4

                  在LVC_S_LAYO-INFO_FNAME = 'CLR'在需要控制颜色的行:GS_DATA-CLR = 'C610'

(3)单元格颜色:在ALV内表中加入结构:SCOL TYPE LVC_T_SCOL ,在LVC_S_LAYO-CTAB_FNAME = ‘SCOL’

在需要控制的单元格中填入:

SCOL-FNAME = ‘fieldname’

SCOL-COLOR-COL = ‘6’

SCOL-COLOR-INT = ‘0’

SCOL-COLOR-INV = ‘0’

说明一下寻找增强的方法

(1)SE30找EXIT_*的函数,找SMOD可以查找MODSAP表

(2)在函数MODX_FUNCTION_ACTIVE_CHECK中打断点,运行程序/TCODE,可以在debug界面查看L_FUNCNAME为出口

(3)CL_EXITHANDLER=>GET_INSTANCE中打上断点,再执行程序/TCODE,可以在debug界面查看EXIT_NAME参数为BADI

(4)通过SPRO配置部分的enhencement或者客制化等文件说明查看涉及的增强

说一下有哪些增强,找一个具体的例子简单说一下

(1)UserExit 基于源代码的增强,比如MV35AFZZ销售订单的增强点

(2)函数出口增强,Exit_<程序名>_<数字>,该部分为CMOD增强

(3)类的增强,BADI增强,通过SE18,SE19来查看和创建维护

(4)enhencement-point,隐式增强,在代码界面右击选择->show implicit enhencement options来显示和创建

10.BAPI,请说一个你熟悉的BAPI:

然后我说了"BAPI_GOODSMVT_CREATE"这个物料凭证创建的BAPI,面试官接着问我 这个BAPI里面有个参数GOODSMVT_CODE,请问代表什么意思,我记得当时我的回答是,这写分别代表了MIGO界面不同收货类型,01代表PO收货,05代表其他入库。因为我好像对采购订单收货做的比较多,然后其他收货是因为一般项目上线的时候需要导入期初库存,需要用到05的CODE;所以在面试的时候,一定要选择自己熟悉的方面去回答,不然就是说个不太清楚的BAPI给自己挖坑

REPORT程序步骤

当时好像还问了report程序的基本步骤,时间有点久了,有点记不太清,反正report程序一般步骤就是:

INITIALIZATION

AT SELECTION-SCREEN OUTPUT.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_ufile.

AT SELECTION-SCREEN.

START-OF-SELECTION.

END-OF-SELECTION.

当时问我有没有啥带人的经验,

我说有,带过刚接触ABAP的毕业生,就是在做项目的过程中把一些简单的工作交给甲方的ABAP去完成,不懂得在一边指导一下把控一下程序,然后后续类似的工作就可以交给他,

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

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

相关文章

【CUDA】CUDA中缓存机制对计时的影响

笔者在阅读知乎上一个关于CUDA编程的专栏时&#xff0c;发现作者写的很多文章中都会附带计时的模块用于评估程序的运行效率&#xff0c;然而笔者发现&#xff0c;在运行这篇文章中的代码时时&#xff0c;得到的结果和作者的结果有较大差异&#xff0c;主要体现在&#xff1a;使…

React一基础

代码下载 React 概述 React 是一个用于构建用户界面的javaScript库&#xff0c;起源于facebook的内部项目&#xff0c;后续在13年开源了出来。 特点&#xff1a; 声明式——只需要描述UI看起来是什么样式&#xff0c;就跟写HTML一样&#xff0c;React负责渲染UI基于组件——…

Python - Word转TXT文本,或TXT文本转Word

Word文档&#xff08;.doc或.docx&#xff09;和纯文本文件&#xff08;.txt&#xff09;是两种常用的文件格式。Word文档通常用于复杂的文档处理和排版&#xff0c;而纯文本文件则用于存储和传输纯文本信息。了解如何在这两种格式之间进行转换能提高工作效率&#xff0c;并便于…

Pytorch使用Dataset加载数据

1、前言&#xff1a; 在阅读之前&#xff0c;需要配置好对应pytorch版本。 对于一般学习&#xff0c;使用cpu版本的即可。参考教程点我 导入pytorch包&#xff0c;使用如下命令即可。 import torch # 注意虽然叫pytorch&#xff0c;但是在引用时是引用torch2、神经网络获取…

【UE5.3】笔记11

一、变量的SET&&GET 1、创建变量保存数据&#xff0c;如下图&#xff0c;找到左侧我的蓝图下的变量&#xff0c;新增一个&#xff0c;并选择类型。使用的时候直接将变量拖到蓝图中&#xff0c;此时会显示两个选项一个是获取一个是设置。 选择获取就是个GET蓝图&#x…

2024文件加密软件有哪些丨超好用的文件加密软件排行榜

文件加密软件在现代数字生活中扮演着至关重要的角色&#xff0c;尤其是在保护个人隐私、商业机密和敏感数据方面。 加密软件可以防止未经授权的访问和数据泄露。即使设备丢失或被盗&#xff0c;加密后的文件也不会轻易被破解&#xff0c;从而保护了数据的安全。 对于企业而言…

Bootstrap 辅助类

Bootstrap 辅助类 Bootstrap 是一个流行的前端框架&#xff0c;它提供了一套丰富的辅助类&#xff0c;这些辅助类可以帮助开发者快速实现各种布局和样式效果。辅助类是 Bootstrap 中的一个重要组成部分&#xff0c;它们提供了一种简洁、直观的方式来控制元素的显示和隐藏、浮动…

鸿蒙next 数据缓存 你不知道的事情

《鸿蒙next ArkUI专栏》系列前言: 作者:徐庆 团队:坚果派 公众号:“大前端之旅” 润开鸿生态技术专家,华为HDE,CSDN博客专家,CSDN超级个体,CSDN特邀嘉宾,InfoQ签约作者,OpenHarmony布道师,电子发烧友专家博客,51CTO博客专家,擅长HarmonyOS/OpenHarmony应用开发、熟…

计算机网络之因特网

1.因特网简介 1.1因特网的提出 1957年&#xff0c;苏联发射了人类第一颗人造地球卫星"Sputnik"。作为响应&#xff0c;美国国防部(DoD)组建了高级研究计划局(ARPA)&#xff0c;开始将科学技术应用于军事领域 。 1961年7月&#xff0c;MIT的Leonard Kleinrock…

C#面:dot net core里面的路径是如何处理的?

路径处理是⽤来为进⼊的请求寻找处理函数的机制。所有的路径在函数运⾏开始时进⾏注册。 主要有两种路径处理⽅式&#xff0c; 常规路径处理和属性路径处理。常规路径处理就是⽤MapRoute的⽅式设定调⽤路径&#xff0c;属性路径处理是指在调⽤函数的上⽅设定⼀个路径属性。 在…

Zabbix6.0监控Freeswitch状态

一、前提环境说明 1、最终实现Freeswitch监控指标信息&#xff1a; 2、环境需求&#xff1a; &#xff08;1&#xff09;需要使用Zabbix6.0及以上 &#xff08;2&#xff09;需要使用zabbix_agent2 二、实现步骤 1、zabbix_agent2添加监控键值 cat /etc/zabbix/conf.d/fr…

「豆包Marscode体验官」我用豆包Marscode画数据大屏

认识豆包Marscode 豆包 MarsCode IDE 是一个 AI 原生的云端集成开发环境&#xff08;IDE&#xff09;。内置的 AI 编程助手和开箱即用的开发环境让我们可以更加专注于各种项目的开发。豆包 MarsCode 编程助手&#xff0c;具备以智能代码补全为代表的 AI 功能。支持了多种编程语…

Redis入门,Idea操作Redis

一、Redis是什么&#xff1f; Redis&#xff08;Remote Dictionary Server&#xff0c;远程字典服务器&#xff09;是一个开源的高性能键值对&#xff08;key-value&#xff09;数据库。它以其出色的性能、可靠性和灵活性而闻名&#xff0c;常用于开发中来实现多种数据存储和通…

【Android面试八股文】请描述一下 android 的系统架构?

Android 是一个基于 Linux 的开源软件堆栈,针对多种不同设备类型打造。下图显示了 Android 平台的主要组件。 早期的Android架构如下图所示 官方网站最新的Android平台架构图,如下所示: Linux 内核 Android 平台的基础是 Linux 内核。例如,Android 运行时 (ART) 依赖…

【计算机网络仿真】b站湖科大教书匠思科Packet Tracer——实验18 边界网关协议BGP

一、实验目的 1.验证边界网关协议BGP的作用&#xff1b; 2.学习在思科路由器上该协议的使用方法。 二、实验要求 1.使用Cisco Packet Tracer仿真平台&#xff1b; 2.观看B站湖科大教书匠仿真实验视频&#xff0c;完成对应实验。 三、实验内容 1.构建网络拓扑&#xff1b; …

全栈智能家居系统设计方案:STM32+Linux+多协议(MQTT、Zigbee、Z-Wave)通信+云平台集成

1. 项目概述 随着物联网技术的快速发展,智能家居系统正在成为现代生活中不可或缺的一部分。本文介绍了一个基于STM32微控制器和Linux系统的智能家居解决方案,涵盖了硬件设计、软件架构、通信协议以及云平台集成等方面。 该系统具有以下特点: 采用STM32作为终端设备的控制核心…

C#与PLC通信——如何设置电脑IP地址

前言&#xff1a; 我们与PLC通过以太网通信时&#xff0c;首先要做的就是先设置好电脑的IP&#xff0c;这样才能实现上位机电脑与PLC之间的通信&#xff0c;并且电脑的ip地址和PLC的Ip地址要同处于一个网段&#xff0c;比如电脑的Ip地址为192.168.1.1&#xff0c;那么PLC的Ip地…

Hadoop-20 Flume 采集数据双写至本地+HDFS中 监控目录变化 3个Agent MemoryChannel Source对比

章节内容 上一节完成了如下的内容&#xff1a; 编写Agent Conf配置文件收集Hive数据汇聚到HDFS中测试效果 背景介绍 这里是三台公网云服务器&#xff0c;每台 2C4G&#xff0c;搭建一个Hadoop的学习环境&#xff0c;供我学习。 之前已经在 VM 虚拟机上搭建过一次&#xff0…

【开源】开源数据库工具推荐

Mysql开源工具推荐 dbeaver下载网速太慢了&#xff0c;这么好用的开源工具&#xff0c;可以从镜像站中下载&#xff1a; 下载地址&#xff1a; https://mirrors.nju.edu.cn/github-release/dbeaver/dbeaver/24.1.1/ Redis开源工具推荐 好看好用&#xff0c;UI真是做的很不…

机器学习-16-分布式梯度提升库XGBoost的应用

参考XGBoost库 1 XGBoost分布式梯度提升库 XGBoost,全称为eXtreme Gradient Boosting,是一个优化的分布式梯度提升库,旨在高效、灵活且便携。它在Gradient Boosting框架下实现了机器学习算法,并广泛用于分类、回归和排序任务。XGBoost之所以受到广泛欢迎,主要归功于它的…