ABAP面试

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

report

内表

创建内表

1、第一种方式

先定义types ,然后再type table of 定义内表

types : begin of <typ_name>,
end of <typ_name>.
dara : <itab> type table of <typ_name>.

4、第四种方法

引用标准表创建内表

data : <i_tab> type table of mara .

5、第五种方法,

引用标准表并且添加自定义字段创建内表

data : begin of <itab>,
include structure mara.
data : clr type char4,
end of <itab>.
获取内表行数

通过describe获得内表行数。

describe table <itab> line n.
不用modify直接更新内表

LOOP AT ASSIGNING FIELD SYMBOL

loop at gt_alv assigning field-symbol(<fs_output>).
fs_output-waers = ls_prcd_elements-waers.
endloop.

选择屏幕

屏幕元素创建
1、select-options

对象名称for参考对象,定义范围选择条件

select-options : s_bukrs for bukrs.

​ 生成一个含有4个字段的内表: sign option low high

ranges : s_bukrs for bukrs.

sign : 标志位 值为I或者E 意义为option运算符是否取反,I表示包含,E表示排除

option: 运算符 如果high不为空,这可以使用bt(between and) 或者nb(not between)。

2、parameters

对象名称 type/ like 对象名称,定义单选条件。

屏幕输入域显示参数控制

obligatory : 必输

no-display: 显示控制

no-extension : 多行输入控制

as CheckBox : 创建复选框

visible length vlen : 显示控制长度

parameters 对象名 as listbox visible length vlen 创建下拉列表

3、输入值的控制

default : 默认值

lower case 允许输入小写字母(sap 屏幕会默认把输入后的字母转换为大写)

matchcode object search_help : 为屏幕对象加上指定的F4帮助对象. se11 定义搜索帮助对象

memory id : 定义select-option 内存参数,可以讲屏幕对象输入的值保存到指定的内在参数中,通过get parameter 方法直接从内存读取该对象的值。

4、选择屏幕事件流

load-of-program 程序执行时,自动触发该事件

initialization 该事件在屏幕未显示前执行,初始化程序

at selection-screen output 选择屏幕PBO事件,显示选择屏幕之前触发

at selection-screen 选择屏幕PAI事件,在选择屏幕上点击执行后触发。

start-of-selection 数据选择行开始

end-of-selection数据选择行结束

top-of-page 页眉控制

end-of-page 页脚控制

at line-selection 行选择控制,用户选择或者双击某行是触发

at user-command 用户交互控制,用户选择某个GUI功能是触发

5、选择屏幕动态展示

拿冲销和过账举例子

先设置过账和冲销两个单选按钮 RADIOBUTTON r1 / r2 按钮需要分配user-command 属性

然后给需要动态显示的项设置不同的组 MODIF ID md1/md2

在选择屏幕的pbo事件中 判断screen-group1 = ‘md1’ screen-active = ‘0’. 就把md1下所有项都隐藏掉了

IF r_cancel = 'X'.
    LOOP AT SCREEN.
      IF screen-group1 = 'MD1'.
        screen-active = '0'.
      ENDIF.
      MODIFY SCREEN.
    ENDLOOP.
  ELSEIF r_run = 'X'.
    LOOP AT SCREEN.
      IF screen-group1 = 'MD2' .
        screen-active = '0'.
      ENDIF.
      MODIFY SCREEN.
    ENDLOOP.
  ENDIF.
6、选择屏幕两个按钮同一行显示

comment xx(Y): 、 这条语句的作用是讲该语句后面的第一个screen element 定位在这一行的XX位置,长度为y

selection-screen begin of line.
	selection-screen comment(10) for field but1.
	selection-screen comment(15) for field but1.
selection-screen end of line。	

opensql

inner 和left,right 是且与或的关系

1、不要使用select * ,会占用大量abap 内存

2、 不要使用select distinct 使用 sort + delete adjacent duplicates

3、不要使用嵌套select 。。。 endselect。

4、确定只查询一条数据时,应用select single

5、需要统计时,可以使用sql+聚合函数

6、尽可能的使用abap sort 排序 不使用order by

7、使用二分法查询内表数据速度

read table  it
ABAP面试大全 目录 1. 报表知识 6 1.1 基础知识 6 1.1.1 报表事件,有哪些? 6 1.1.2 报表选择画面 7 1.2 ALV报表 8 1.2.1 ALV报表实现的流程 8 1.2.2 显示ALV常用的两个FM 8 1.2.3 如何设置ALV中的热键 8 1.2.4 ALV显示中的小计 8 1.2.5 FM ALV 和 OO ALV的比较 8 1.3 WRITE LIST 8 2. 数据库知识 9 2.1 基础知识 9 2.1.1 ABAP数据字典有哪些对象或元素? 9 2.1.2 据库提交确认和数据库回滚取消语句 9 2.1.3 什么是LUW 9 2.1.4简述modify 、insert、update对数据库表做操作时的影响 9 2.1.5 要描述域、数据元素、表字段之间的关系 9 2.1.6数据字典有几种缓冲方式,适用范围? 9 2.2 ABAP和数据库 10 2.2.1 ABAP 数据表的主索引是什么?索引的好处与坏处?与建索引的注意事项! 10 2.2.2 ABAP透明表有哪几种数据类(data class)?对数据的存储有什么影响? 10 2.2.3 SAP中有几种表,他们的区别是什么? 10 2.2.4什么是簇表(cluster table)?举出知道的簇表。 10 2.2.5找数据库表,有哪些常用的方法。 10 2.2.6如何建立数据库锁对象,激活锁对象产生的Function Module的名字为什么,在何处查看锁表的情况? 10 2.2.7更新 FM 分为 V1 和 V2,那么首先会执行哪一种更新类型呢?每种类型又是以哪种模式(异步、同步或本地)执行的呢? 11 2.2.7使用OPEN SQL注意原则 11 2.3 与表相关 11 2.3.1 MM模块有哪些常用表格 11 2.3.2 HR模块知识:HR里面存储HR主数据主要用到了哪些表? 11 2.3.3 HR模块知识:HR程序在开发中常用的两个逻辑数据库是什么?分别对其进行描述 12 2.3.4 HR模块知识:HR模块里面,如何修改HR的信息类型,具体如何实现 12 2.3.5财务模块:财务模块开发中常用的表有哪些,简单举例说明: 12 2.3.6 PM 常用的TABLE 12 2.3.6 inner join 与 left-outer join的区别? 13 3. 权限相关 14 3.1 什么是权限对象(Authorization Objects)?在 ABAP 程序中使用哪条语句进行授权检查? 14 3.2 与权限对象有关的事务代码有哪些? 14 4. DIALOG 15 4.1 DIALOG 中的几个事件 15 4.2 何在TABLE CONTROL中实现选中一行或多行的效果 15 4.3 DIALOG 开发的常用几个控件是什么? 15 5. BDC 16 5.1 BDC录屏的事务代码 16 5.2 BDC与BAPI之间的区别 16 5.3 BDC录屏的注意事项 16 5.4谈谈BDC的运行模式和更新模式 16 6. 增强 17 6.1什么叫增强?有哪些方式进行增强? 17 6.1.1 User EXIT 17 6.1.2 Customer exit 17 6.1.3 BADI 17 6.1.4 Enhancement Spot 17 6.2如何建立增强? 17 6.3与增强相关的事务代码有哪些 18 6.4如何进行数据库表字段的增强?Append和Include的方式有何区别? 18 7. SMARTFORMS 19 7.1谈谈SmartForm中,Template和Table表格的区别 19 7.2 SMART FORM如何实现公司LOG打印,其步骤是什么? 19 7.3 smartform 中如何控制段落、单个字符输出格式? 19 8. RFC和 BAPI 20 8.1 RFC 20 8.1.1什么是RFC,有哪些通信模式? 20 8.1.2 RFC中涉及到常用的事务代码有哪些? 20 8.1.3根据调用方式的不同,RFC接口提供了什么样的服务? 20 8.1.4 RFC接口的具体功能包括哪些? 20 8.1.5在通过CALL FUNCTION语句进行远程功能调用的基本模式有哪些 20 8.1.6怎么创建一个支持远程调用的RFC 21 8.1.7怎么调用一个SAP标准RFC 21 8.1.8怎样建立RFC程序?RFC程序传递的参数都是传递值还是引用?如何建立函数组? 21 8.1.9怎么来维护这个DESTINATION(远程目标) 21 8.2 BAPI 21 8.2.1什么是BAPI?你使用过哪些BAPI实现什么功能? 21 8.2.2什么是业务对象类型?它包含哪些主件? 21 8.2.3如何创建一个BAPI? 22 8.2.4编写BAPI的注意事项有哪些? 22 8.2.5谈谈与BAPI相关的事务代码。 22 8.3 RFC 和BAPI的相同之处和不同之处 22 8.3.1 RFC和BAPI的区别? 22 9.其他 23 9.1 基础知识 23 9.1.1 CHECK、EXIT、RETURN命令的区别? 23 9.1.2初始化内表有几种方式? 23 9.1.3 一个程序如何调用另外一个程序 24 9.1.4 在一个程序中如何调用其他事物代码 24 9.1.5在进行画面跳转时,CALL SCREEN与LEAVE TO SCREEN的区别? 24 9.1.6 LOOP 循环和系统字段? 24 9.1.7 MESSAGE消息有哪些类型,含义?如何自定义MESSAGE消息类? 24 9.1.8 ABAP中,如何自定义异常类?如何捕捉异常? 24 9.1.9什么是事物变式?事务变式有什么用? 25 9.1.10 RANGE 25 9.1.11对于FIELD SYMBOL赋值将使用 25 9.1.12 Perform 调用子程序时,using ,tables,changing 3个参数分别有什么影响? 25 9.1.13如何在程序间传送数据? 25 9.2 延伸 26 9.2.1自定义搜索帮助有几种方式?如何实现 26 9.2.2怎么创建number range 26 9.2.3 function module中,如何给出错误消息? 26 9.2.4如何优化ABAP程序? 26 9.2.5前导零的处理方式 27 9.2.6 程序事件和系统事件 27 9.2.7如何建立一个外部数据库的连接 27 9.2.8怎样从文件服务器上读取文件?和写文件到文件服务器上? 27 9.2.9 SAP 包括哪些传输技术 27 9.2.10如何将内表数据转换成一个XML文件? 28 9.2.11怎么导出一个WSDL文件? 28 9.2.12怎么导入一个WSDL文件? 28 9.2.13创建后台程序的TCODE是什么,如何在程序里面调用后台程序 28 9.2.14 webservice 28 9.2.15什么叫BTE (Business Transaction Event),BTE的两种类型? 28 9.2.16现阶段接口开发使用的技术 29 9.2.17将一个RFM(Remote-Enabled Module)创建一个WEB SERVICE都有什么相关的事务代码? 29 9.2.18 esb使用 29 10.常用T-CODE 30
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值