ABAP
文章平均质量分 80
ABAP 自学小结
xiaomici
离N+1又近一步了 欢迎推荐工作
展开
-
怎么在ADT里调整ABAP代码的格式
首先在Eclipse里面选Windows下面的preferences,去把ABAP Development底下的Source Code Editors 下面一些格式调整好看。这样的话我们写代码的时候,可以用Shift+F1,调整格式,类似于以前的在GUI里面的pretty printer。然后在ABAP的project上右键,选择属性properties,在Editors里面选中ABAP Formatter,然后调整格式后 Apply。具体就是,我在Eclipse里面写代码,但是不知道怎么调整好看的格式。原创 2024-03-29 17:12:44 · 262 阅读 · 0 评论 -
SAP ABAP中的数据类型 Data Types
ABAP数据类型原创 2023-02-24 12:02:24 · 3460 阅读 · 0 评论 -
ABAP中的Null值与space 以及 BW中ADSO的Key值
写出来怪丢人,到现在还没搞懂这个。在BW中创建ADSO,定义Key字段。可以看到ADSO表的定义中,所有的Key和Data属性如下:所有的key会有关键字key打头,所有字段都有not null.但是并不是有个字段是blank空的就不能更新进去了。这里的疑惑就在于,原始数据是空值blank,那么更新到主键字段类型是char的ADSO里,其实满足了not null 。同时其他关键值字段,以int 型或者quan curr类型加载到ADSO里都满足它的not null 的要求的。那么就要到ABAP里原创 2023-02-16 13:18:12 · 915 阅读 · 0 评论 -
new open SQL ABAP语法错误,逗号和转义符变量 when escaped, all host variables must be escaped using@
为啥要用@?我的select 后面的字段用逗号分隔了:然后get了一个错:当用转义符时,所有主变量都得用@转义。为啥呢,因为新旧SQL语法它不一样。把新旧两种语法混合在一起就会有语法错误。如果你用逗号分隔字段,那就是新open sql那主变量就得用@转义。就是变量啊,工作区间啊,内表啊这些本地变量,如果逻辑用新SQL就得用@ 。用@ 来区分本地变量和外部变量。这个本地和外地我觉得就是方法内的变量和类的变量。但是也极大可能不是这个意思。那么啥是新open SQL?我查了一下,发现它不就是和O原创 2022-04-29 23:56:36 · 2164 阅读 · 0 评论 -
ABAP中的subroutine和function module
文章目录1. 子程序变量(参数)类型1.1 by value1.2 by value & result1.3 by reference2. function module如果我不是一步走到头。那我加个模块化的子程序。这个模块化的子程序,是个独立的小个体,可以被重复使用。也就是给它的参数和它给出的参数不一样。1. 子程序变量(参数)类型在整个程序里,定义参数变量可以在主程序,也可以在子程序。主程序就是大家都能用,子程序就是只有我自己个能用。当我在主程序中定义了变量,而我要把主程序的变量传递原创 2022-03-11 15:16:21 · 1100 阅读 · 0 评论 -
ABAP中的透明表和搜索帮助
透明表也就是数据库表,数据可以存储到透明表中。当你建了一个透明表,激活之后,它就是实在的在数据库服务器中创建了一个表。文章目录1.创建透明表2. 维护表内容3.搜索帮助4.使用搜索帮助1.创建透明表填写描述根据用途选择delivery class,就是说它用来干嘛的选择表的维护方式接下来添加字段,使用data element.一般第一个就是client字段。标准的数据元素就是mandt接下来的字段要不用自己建的data element:(维护描述,数据类型和长度,字段标签)里面要原创 2022-03-09 15:26:19 · 1027 阅读 · 0 评论 -
ABAP的OPEN CURSOR语法
OPEN CURSOR原创 2022-01-30 23:05:10 · 3745 阅读 · 0 评论 -
DATA/TYPE/TYPES的区别 数据类型分类 变量命名规则 变量 内表
ABAP的数据类型分为:预定义数据类型:i,p,c,f,d,string等等数据字典类型:SE11里面的,比如MARA-MATNR自定义数据类型:自己定义的用DATA来声明变量要用TYPE指定数据类型。比如预定义类型:DATA gv_name(30) TYPE c.比如数据字典类型:DATA gv_material_id TYPE mara-matnr.比如自定义数据类型:TYPES ty_var_c10 TYPE c LENGTH 10.DATA gv_str TYPE ty_v原创 2021-12-30 12:54:51 · 2747 阅读 · 0 评论 -
ABAP on HANA/CDS view/AMDP 大乱炖
文章目录1. HANA的三大杀器1.1 内存式数据库1.2 多核架构1.3 列式存储1.3.1 数据压缩1.3.2 并行处理1.3.3 聚集和索引1.3.4 代码下移2. CDS 概念2.1 ABAP 开发环境2.2 OPEN SQL语句2.3 CDS 到底是啥2.4 CDS 类型2.5 创建CDS view3. CDS 实战3.1 Annotation注解3.2 Case 语句3.3 数学计算3.4 字符串表达3.5 货币转换3.6 聚集语句3.7 Join3.8 Union3.9 参数3.10 作为子C原创 2021-12-06 22:43:16 · 3713 阅读 · 2 评论 -
ABAP 数据类型 P 和 F
文章目录1. I : integer2. P:packed number3. F :float大家都是搞计算的数字咯,那大家有啥区别?1. I : integer整形,就整数呗。有正整数和负整数。大小是固定的4字节。也就是32bit,除了正负符号位。取值范围是:-2^31 ~ 2^31也就是 -2147483618 ~ 2147483618 。INT8 类推。那既然整数如果计算除法,除出了小数位,会被四舍五入的。所以有小数的话,那就用P吧。DATA counter TYPE i....c原创 2021-12-02 14:42:35 · 2968 阅读 · 1 评论 -
ABAP初学总结
文章目录5. 更改数据库表5.1 Insert/ Clear/ Update/ Modify/ Delete (delete from table where )6.程序流程控制和逻辑表达6.1 IF 条件选择6.1.1 IF...ELSEIF ...ELSE...ENDIF.6.1.2 AND/OR/NOT6.1.3 嵌套IF6.2 CASE 条件选择6.2.1 CASE...WHEN...WHEN OTHERS...ENDCASE.6.2.2 嵌套CASE6.2.3 CASE和IF区别6.3 LOO原创 2021-11-30 14:16:13 · 1375 阅读 · 0 评论 -
ABAP 面向对象编程-1
文章目录8. ABAP 面向对象编程8.1 与面向过程编程的区别8.2 回顾ABAP变量和数据类型8.3 面向对象中的概念8.3.1 **继承**8.3.2 **多态**8.3.3 **事件**8.4 类原创 2021-11-30 14:15:15 · 1220 阅读 · 0 评论 -
ABAP-12 内表
文章目录1.内表的用处2. 内表的分类2.1 标准表2.2 排序表2.3 HASH表3. 内表的创建3.1 标准表3.2 排序表3.3 表声明语句4. 内表的填充1.内表的用处就是程序内的表。意即只有程序运行时内表才存在。程序用完即摧毁。程序中我们定义工作区间和内表。工作区间是独立于内表的一块空间,但是结构上也就是内表的一行。(在工作区间出现以前,ABAP用的是内表和内表的Header line,也就是说以前不是独立的空间)工作区间只有一行,内表可以有很多行。(最大存储空间2G)但是为了程序运行快,原创 2021-11-26 14:04:54 · 1208 阅读 · 0 评论 -
ABAP - 10 模块化
如果你买过一些外国的科技产品,你有可能在他们的外包装上见过这句话:designed by ** in ***Assembled in China 在中国组装有一些涉及到核心机密的部件人家都是造好了,然后运到中国来,我们给组装。关键词,组装。各个部件可能由不同的国家负责设计生产,谁最擅长制造什么,就制造什么,最后到一个地方组装成成品。这样做,速度最快。这个在编程语言里经常用到。什么是模块化简而言之,就是你这个功能,有一部分是分出去的。像一个工程,会有一部分外包出去。你就不用管这部分怎么实现的原创 2021-05-20 17:11:45 · 2181 阅读 · 2 评论 -
ABAP - 9 交互程序是啥样的
文章目录TYPES: BEGIN OF ty_vbak, vbeln TYPE vbeln_va, erdat TYPE erdat, ernam TYPE ernam, END OF ty_vbak.DATA: it_vbak TYPE TABLE OF ty_vbak, wa_vbak TYPE ty_vbak.DATA: BEGIN OF wa_vbap, vbeln TYPE vbeln_va, po原创 2021-05-20 13:43:06 · 272 阅读 · 0 评论 -
ABAP - 8 终于来到内表-3
当我们需要去修改表,那还是按照表的一行一行来改。怎么改呢?不是LOOP。是modify文章目录MODIFYtransportingMODIFY// An highlighted blockwa_vbak-ernam = 'DIBD'.MODIFY it_vbak FROM wa_vbak INDEX 1.transporting原创 2021-05-11 22:07:22 · 198 阅读 · 0 评论 -
ABAP - 7 终于来到内表-2
上一篇是讲怎么把很多张表的数据整合到一张表里,不用join而是用for all entries in 和 rmove corresponding fields & read table & move最后来个append这种情况是,我其他的表里的字段呢,都是独立的列,也就是相对于主表的行,都有对应的其他表的列值。所以我把这些其他内表的列move过去。append lines | appending table到会计凭证去看看这个例子。会计凭证相关的表:BKPF 凭证行项目BS原创 2021-05-08 17:53:38 · 676 阅读 · 0 评论 -
ABAP - 6 终于来到内表
为了不在数据库表上直接操作。我们在内存里建了个表,然后把数据库表的数据复制过来。这些内表,我们可以用来做关联啥的。有些时候我去内表找数据,需要遍历。我们来抽丝剥茧。这个遍历是个啥啊。。。是一行一行的找么。我今天突然觉得这个take place这个词组很有意思,拿一个空间来。这个事情就能发生,举行。我要干啥事,我得有地方来干。得take一个place。跟计算机讲,我要干什么干什么,前提是我的东西得有地方放。在什么时候放,我都得事无巨细的告诉它。我要用数据库的表了。我得先声明 tables: v原创 2021-05-08 15:11:50 · 373 阅读 · 3 评论 -
ABAP - 5 学而不思则罔
这几天一直埋头学。的。我。头大。对于渣渣我来讲,感觉有点灌不下去了。于是停下来总结下。文章目录SELECT-OPTIONSEVENTPAI、PBOOBLIGATORYDEFAULT 'c'FORMAT COLORRIGHT-JUSTIFIEDCHECKBOX从上次的数据库表的一些基础操作开始。主要就是从表里根据参数来取值。或者是从两个表里来取值。这样都是需要输入参数的。但是,如果你是直接固定的参数。那就是:PARAMETERS: p_*** TYPE table_***.select ***w原创 2021-05-01 08:45:29 · 701 阅读 · 0 评论 -
ABAP - 4 总结前三天
文章目录FOR ALL ENTRIESFOR ALL ENTRIES有两个表,KNA1 客户主数据表和KNVV客户主销售表。客户主数据里面的一个客户,在客户主数据销售表里有多少销售记录呢?很简单,就来join嘛。我要看到KNA1里面的客户和客户描述,还要看到KNVV里面这个客户的销售组织,谁创建的,运输条件等等。KNVV里面会有很多条。那一般情况下我们是直接定义内表。然后工作区,然后select……from kna1 as kna1 inner join knvv as knvv on kna原创 2021-04-28 11:38:05 · 301 阅读 · 0 评论 -
ABAP - 3 回归本质
难的暂时还不懂,那还是从最简单的开始看起。前两天我都看了啥?看了建表,看了怎么读取表的数据,用参数选择。还看了表的连接,内连接,左外连接。其实这些都是对数据的操控,有点数据库那意思了。回到我的老本行,BW,对,就是这个快被淘汰了的。(lll¬ω¬) BW的本质上也是个数据库啊。那今天来看看数据库怎么回事。文章目录数据库表咋设计的?数据库表咋设计的?其实有点经验这个就很好理解,虽然不知道它咋设计的,但是总该看过BW里面的扩展星型模型。就是那玩意。但是现在我们要倒过来推,看它数据库是怎么设计原创 2021-04-27 22:28:41 · 186 阅读 · 0 评论 -
ABAP - 2 进入正题
学习ABAP的第二天,开始进入正题了。回顾下第一天学习的:要用这个表,那我要用tables来声明,告诉它,我要用。然后用parameters声明参数。(DATA是用来声明一个字段的。)接着我取表,是从这个表里select*,结束时需要用end select.中间用write来写出来我选的字段。文章目录TYPES/ table/workarea/LOOPTYPES/ table/workarea/LOOP我要声明我要用的表,然后select all没问题。表都是放在硬盘上:SAP里有原创 2021-04-23 13:43:32 · 230 阅读 · 0 评论 -
ABAP - 0 写个开篇吧
我,代码惧怕者。完全感性,非理性逻辑思考者。见代码即浑身不舒适者。过去几年凡有写代码均需求助他人者。C语言压线及格而且完全忘光。Java连上没上过课都忘光了。。。好像安卓是用Java来写的?????无疑代码渣了。此刻要来学ABAP了。因为年纪也不小了,不能老厚着脸皮求人了。虽然基础没有,但是咱好歹有个唯一优势:耐心。当个语言来学吧。语言学,最重要是说,也就是你实际是用上了。不停的重复,用。那么学ABAP也是的吧,不停的重复,用上。好了,开始学起。...原创 2021-04-14 10:18:10 · 169 阅读 · 0 评论 -
ABAP - 1 非常简单的小程序
学ABAP的第一天。直接从Hello World 开始写。文章目录report 1 DO/WIRTE/DATAreport 2 TABLES/SELECTreport 3 PARAMETERS建表debugreport 1 DO/WIRTE/DATA这篇是写个表。关键字:DATA 声明WRITE 输出DO 多次ENDDO/ 换行以及赋值。WRITE后面的15是位置,开头空多少个字,如果不写位置。那么第二列直接写到开头去了。就像这样:report 2 TABLES/S原创 2021-04-22 16:19:22 · 535 阅读 · 0 评论 -
提取结构里面的Append和Include到底啥区别
一个提取结构里,又有include结构,又有append结构。别问为啥我不懂,对于ABAP渣,难道应该知道这个?但是不懂咱就要学。append:附加,追加 组词:append hit 附加伤害。include:这个不查字典我也知道,是包括的意思 组词:include 头文件好了,那俩货啥区别啊。知道有啥区别之前,咱得先知道,这些家伙啥时候要用到。当一个提取结构的字段不够用的时候。我们要添加新的字段。那咋添呢?有三种方式来添:一般结构就是.include这个附加结构对于标准表.app原创 2021-03-17 11:22:42 · 1025 阅读 · 2 评论 -
ABAP工作台概览
文章挖坑原创 2021-02-28 22:20:10 · 252 阅读 · 0 评论 -
透明表 池表 簇表 transparent table pool table cluster table
给自己解盲。首先看啥是表嘞。是一个用来存储数据的逻辑结构。物理存储的一系列的有关联的行啊,列啊。文章目录透明表池表簇表透明表MARA/MAKT就是单独一个表–单一表。用来存储主数据。跟数据库里的表有一对一的关系。每个透明表都在数据库里有一个关联的表。这个数据库的表和这个透明表是有相同的名字,同样的字段名,而且是个单一表,单一表就是有一个或者多个主键,可以建次级索引(非主键索引) 主键索引和次级索引,可以通过open sql或者native sql访问。而且默认情况下,你建的表就是透明表。你原创 2021-01-29 10:23:03 · 1034 阅读 · 0 评论 -
call function中的 exporting/importing/changing
文章目录se37 功能模块功能组啥样的功能模块啥样的,怎么去call它创建功能组创建功能模块保存测试结果记录和释放一个功能模块啥是function module啥是method作为一个新手,单纯从字面上看,功能模块和方法。看不懂。好像都可以理解为一个方法啊。凭我有限的知识,我只听过se37/se38和功能组啥的。而且我现在还在混淆中。今天我就磕上了,不怕不懂,就怕不学。虽然又笨基础又烂,但咱还是要学习的。我为啥要看这个呢,因为我今天在结束例程里面看到了 。本来这种我知识盲区的,我就直接忽略了,原创 2020-12-24 15:21:00 · 2677 阅读 · 2 评论 -
SAP BAPI是个啥
BAPI是什么BAPI是啥对象是啥类是啥继承是啥接口是啥package是啥BAPI怎么用BAPI是啥SAP BAPI(业务应用程序编程接口),是针对业务对象模型的标准接口。BAPI是客户代码和第三方应用程序和SAP交互的主要方法。BAPI封装了SAP业务对象模型的内部层,以确保在访问或者更改业务对象时正确执行所有的业务逻辑,验证和授权检查。就是Business API.接口有个封装的概念,好了,是时候把一波概念写一遍了。要不然我都忘光了。讲接口之前,先看看对象是啥,我依稀记得是Java课上讲的,原创 2020-11-24 17:10:12 · 7966 阅读 · 1 评论