此博客为原创博客,都是个人工作经历所得,转载请注明出处

ABAP 笔试题

 

1,已知数据表为数学系学分表sc,其中包含学生的学号s#、课程 sc、学分sg,请写出查询所有选修c1课程的学生学号和得分、且结果按分数降序排列的查询语句(可用伪代码方式
)(3分)

请在此处输入答案
TYPES:BEGIN OF TY_TABLE,
S# TYPE CHAR10,
SG TYPE CHAR10,
END OF TY_TABLE.
DATA:GT_TABLE TYPE TABLE OF TY_TABLE,
WA_TABLE LIKE LINE OF GT_TABLE.

SELECT *
INTO CORRESPONDING FIELDS OF TABLE GT_TABLE
FROM SC
WHERE SC = 'C1'.
IF SY-SUBRC EQ 0.
SORT GT_TABLE BY SG DESCENDING.
ELSE.
MESSAGE E001(OO) WITH 'No data found!'.
ENDIF.

2,如何获取数据保存在哪个数据表的方法(5分)

"请在此处输入答案

1.前台对指定栏位 使用F1帮助找表,

2.st05 跟踪业务操作过程,检索需要的数据表,(此方法找表很高效)

3.对于文本字段找表,可以找到前台维护处,->维护长文本->表头->表名,

4.F1某些时候找表找到的是结构,可以试着通过结构找include 组件,有找到表的可能

,还可以通过相关视图去查找,(找到视图基本就能找到表)

5.通过相关标准report / query去查找;

6.找到对应程序,或者相应操作,使用调试+设置watchpoint 查找,

7.通过结构 或者检查表找,

8.通过data element ->domain ->值表,

 

 

3,开发常用的TCODE(4分)

请在此处输入答案
*写程序:
SE38 abap编辑器
SE37 函数编辑器
SE39 程序比对
SE80 资源清单
SE11 建表
SE16N 查表

SMARTFORMS
SPROXY
STRANS


SE09 创建cr
SE03 cr打包/更改
TRC1/SCC1 系统内跨client 传输
STMS 传输请求
OAOR 上传EXCEL 模板(用过的功能ole)
SMW0 上传EXCEL (功能强大,用过Doi)

*程序检查
SLIN 程序检查
SE30 性能分析
ST05 SQL 跟踪(分析索引使用情况)
BAPI BAPI浏览器(用的不够多)
*其他工具
SE91 创建消息类
SE93 创建tcode
SU21 创建权限
SE24 创建/查看类
SE24 显示类
SE14
SU01
SU53

增强:
SE18 BADI定义
SE19 BADI实施

CMOD 增强组
SMOD 查看具体增强点


4.SAP表的索引和缓存?
请在此处输入答案
1.索引:标准表一般有主键+标准索引,当某些特殊要求导致字段更多用作查询条件,但是没有索引影响程序效率时,会考虑特定字段+key值自建索引;
自建表根据业务需要考量增加索引;
2.缓存:当某个表高频率被读取,而且数据量很小时(注意数据量小才行),可以考虑设置缓存提高程序读取效率;

5.向标准表中添加字段的两种方法:
1.‘附件结构’->创建一个新的结构,添加需要字段;(使用过)
2.include自己结构;(未使用过)


6.SAP锁对象有几种类型,分别怎么使用?
锁对象:

常用这3种:
写入锁-E: 更改数据时必须用,不允许同时更改造成数据混乱,
读取锁-S:如果显示数据不允许其他更改使用,
专用锁X:一般不怎么用,
SE11 可以查看

请在此处输入答案
1.表的锁定:
常用的3种:
写入锁-E: 更改数据时必须用,不允许同时更改造成数据混乱,
读取锁-S:如果显示数据不允许其他更改使用,
专用锁X:一般不怎么用,

2.程序锁;
A.建一个锁定表,通过程序名在程序运行时进行锁定;
通过表进行加锁和解锁,
B.通过一个处理批号锁定,被锁定则报错,
3.job锁,
可以通程序锁定方式,通过一个JOB 编号进行锁定,控制job不能同时运行;


7.数据批量导入有哪些方法?

1.LSMW(近十个步骤导入)
2.BDC,
3.批导程序(excel/txt 格式导入-开发常用)可以用BDC 或者BAPI 或者API 函数处理创建数据;

8.列出FI/MM/ SD三个模块主要的标准表:

FI:BKPF 财务凭证抬头
BSEG 财务凭证行项目
FAGLFLEXT 总账分期间明细
(以上财务报表常用)
BSIK、BSAK 供应商未清和已清项
BSID、BSAD 客户未清和已清项
BSIS,BSAS 总账的未清和已清项
(以上表可以作为BSEG 的索引表)
SKA1 总账科目表
SKB1 总帐科目(公司代码层级)
SKAT 科目文本表

MM:
MARA、MAKT
LFA1、LFB1
ADRC
MARC plant
T001
T001L
MARD 自有库存
MKOL 寄售库存
EORD 货源
EINA EINE 信息记录
单据:
EBAN pr
EKKO EKPO PO
EKET PO 计划行
MKPF GR head
MSEG GR item
LIKP LIPS
RESB reserve

SD:
MVKE 物料销售表
KNA1/KNB1/KNVK/ KNVP

VBAK/VBAP so
VBRK/VBRP so billing
VBKD 业务数据
VBPA so合作伙伴数据
VBEP 计划行
VBFA 单据流(交货清单常用-交货单和销售订单关系)

价格:
A01* 定价条件表
KONV、KONP 条件

9.Smartforms 由哪几部分组成?调用方式是什么?如何记录打印次数?

1.Smartforms 包括页格式+FORM 内容,一般form 里包含表头 表身 表尾,
可以单页,也可以有多页,
2.调用方式是通过函数‘XXX_SSF’ 将form 生产一个函数,然后调用函数
打印form ,
3.记录打印次数:建一个打印次数存储表,每次调用打印记下当前打印次数,
可用于记录和显示,

10.Smartform 打印table 和template 的区别?(面试必问)

1、table行为动态,数据输出时会根据列宽自动换行,可以固定列宽,
但是默认情况下控制不了行高,如果要想template一样固定行高,需要将table的无换页属性打钩;
**通过 Main window (还是table 控件?)的高度来自动翻页,

2、template 为静态,固定列宽、行高,当输出数据过长时会自动截断,通常被用于静态表单开发。
template跟loop嵌套使用,可以实现固定行高、列宽的表单开发。
**需要手动翻页,并程序中计算页码;(程序中计算页码?)


11.SAP调用Webservice ,SAP发布webservice 供其他系统给调用的程序开发步骤;

1.SAP调用Webservice,
a.获取webservie wsdl,
b.生成webservice,
c.LPCONFIG创建Logical Port,保存并激活
d.编写webserive 程序,
CALL方法调用webservice,
e.测试程序;


2.SAP发布webservice 供其他系统调用,
主要步骤包含:
a.服务配置,- sicf
b.函数创建,- SE37:YRFC_TEST_WEB
c.生产webservice,函数->设置
d.进行IE发布 SOAMANAGER
d.外部语言进行调用测试,

 

 

 

posted @   Rainystuday  阅读(1774)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示