ABAP Tutorials
ABAP 的全称是 Advanced Business Application Programming-高级业务应用编程语言。ABAP 是集成在 SAP 系统上的,底层是 SAP 的 ABAP 虚拟机,用来开发 C/S 架构的程序。Java 属于通用的开发语言,可以进行各种领域各种平台的开发,底层是 JVM,一般开发基于 B/S 架构的程序。
ABAP DEV语法CHECK、 EXIT、 RETURN 命令的区别
CHECKCHECK 后面要跟一个表达式,当表达式值为假(false)时,CHECK 发生作用,退出循环(LOOP)或处理程序 (Processing Block)。如果 CHECK 出现在循环中,则发生作用时,退出的是当前一次循环操作,程序会继续执行下一次循环操作,其作用类似于 Continue (Java 或 C++中 Continue 也是如此)。如果 CHECK 出现在循环以外,则发生作用时,退出的是当前执行的程序块,例如一个 FORM、 METHOD 或 EVENT。
EXITEXIT 如果出现在循环中,退出的是整个循环操作,程序会从循环结束处开始继续执行,其作用 ...
SAP-FICO财务
总账模块本章介绍以下内容:
◆总账模块的基础知识;
◆组织结构;
◆主数据(会计科目);
◆会计凭证处理;
◆科目余额查询;
◆定期处理(月末及年末的操作);
◆总账模块报表;
◆总账模块设计的流程清单和方案要点。
2.1 基础知识本节介绍总账模块的基本功能以及该模块与其他模块的关联关系。
2.1.1 总账模块的基本功能总账模块(General Ledger,GL)是“总分类账会计模块”的中文简称,它是财务会计(FI)模块的一个子模块,它是一切会计事务处理的核心模块。
它的基本功能有会计科目设置、凭证处理、会计科目余额查询、定期事务处理等。这些功能中,会计科目设置属于基础数据(也称“主数据”)设置;凭证处理和会计科目余额查询属于日常操作;定期事务处理则主要是月末和年末的操作。
2.1.2 总账模块与其他模块的集成SAP是一个庞大而复杂的体系。各个模块紧密集成,在处理各自模块本身业务的同时,也会产生相应的财务会计凭证。总账模块是一切财务会计凭证汇聚的中心。所有模块产生的财务会计凭证都能够在总账模块查询到,并在过账后影响到会计科目的发生额和余额。基于这些余额,企业可以出具资产负债表、损益 ...
SAP OData / RAP / Fiori-SAPUI5 全栈开发教程
SAP OData / RAP / Fiori-SAPUI5 全栈开发教程
目录
第一部分:基础概念篇
第1章 SAP数据服务全景图
第2章 什么是OData
第3章 OData核心概念
第4章 第一个OData服务(SEGW)
第二部分:OData进阶篇
第5章 标准对象扩展(Extension of SAP STD)
第6章 OData服务消费(前端/第三方)
第7章 OData性能优化与最佳实践
第三部分:RAP模型篇
第8章 RAP概述与架构
第9章 CDS View建模
第10章 行为定义(Behavior Definition)
第11章 RAP业务对象开发实战
第四部分:Fiori前端篇
第12章 SAP Fiori基础
第13章 SAPUI5核心组件
第14章 Fiori Elements vs Freestyle
第15章 全栈开发实战项目
附录
第一部分:基础概念篇
第1章 SAP数据服务全景图1.1 为什么需要数据服务?传统SAP系统(ECC时代)中,数据交互主要靠:
RFC(Remote Function Call)— 重量级,紧耦合
BA ...
ABAP整洁之道
ABAP 整洁之道速查表为打印优化版本。
目录
做法
整洁代码入门之法
旧代码重构之法
自动检查之法
与其他指南互通之法
表示异议之法
名称
使用描述性名称
首选解决方案域和问题域术语
使用复数形式
使用能读出来的名称
避免缩写
在各处使用相同缩写
用名词表示类而用动词表示方法
避免干扰词,如 “data”、”info”、”object”
每个概念选取一个词
仅在本意如此时使用模式名称
避免编码,特别是匈牙利表示法和前缀
语言
顾及传统
顾及性能
面向对象编程优于过程式编程
函数式语言结构优于过程式语言结构
避免过时语言元素
明智地使用设计模式
常量
使用常量而非幻数
枚举类优于常量接口
如果不使用枚举类,则对常量进行分组
变量
内联声明优于最前声明
勿在可选分支中内联声明
勿用链式最前声明
REF TO 优于 FIELD-SYMBOL
表
使用恰当的表类型
避免 DEFAULT KEY
INSERT INTO TABLE 优于 APPEND TO
LINE_EXISTS 优于 READ TABLE 或 LOOP AT
READ TABLE 优于 LOOP AT
L ...
ABAP面向对象编程
ABAP面向对象编程(OO)学习指南一、基础概念1.1 类与对象类(Class)是对象的模板,定义了对象的属性和行为。对象(Object)是类的实例。
* 定义类CLASS lcl_vehicle DEFINITION. PUBLIC SECTION. METHODS: constructor IMPORTING iv_type TYPE string iv_speed TYPE i, get_type RETURNING VALUE(rv_type) TYPE string, get_speed RETURNING VALUE(rv_speed) TYPE i, accelerate IMPORTING iv_increment TYPE i. PRIVATE SECTION. DATA: mv_type TYPE string, mv_speed TYPE i.ENDCLASS.* 实现类CLASS lcl_ ...
SAP FICO表字段增强
SAP FICO 表字段增强实战指南FICO模块是SAP中最常需要做表字段增强的模块。财务业务的多样性导致标准字段无法完全满足需求,因此需要在BKPF、BSEG、ACDOCA等核心表上扩展自定义字段。本文从实战角度总结FICO表字段增强的完整方案。
一、增强方式概览
增强方式
适用场景
操作事务码
CI_ Include
BKPF/BSEG 标准表加字段
SE11
Append Structure
任意透明表/结构加字段
SE11
BADI ACC_DOCUMENT
BAPI_ACC_DOCUMENT_POST 扩展字段写入
SE18/SE19
替代 Substitution
凭证过账时自动填充字段值
GGB1/OBBH
校验 Validation
凭证过账时校验字段值
GGB0/OB28
BTE 增强
FI 凭证事件触发自定义逻辑
FIBF
S/4HANA ACDOCA 扩展
新总账表字段增强
SE11 + CDS View
二、CI_ Include 方式(最常用)2.1 BKPF/BSEG 增强SAP为BKPF和BSEG预留了CI_ Incl ...
HIVE
Apache Hive 是一个分布式、容错的数据仓库系统,能够大规模进行分析。Hive 元数据存储(HMS)提供了一个中央元数据存储库,可轻松进行分析以做出明智的、数据驱动的决策,因此它是许多数据湖架构的关键组件。Hive 构建于 Apache Hadoop 之上,并通过 HDFS 支持在 S3、adls、gs 等上的存储。Hive 允许用户使用 SQL 读取、写入和管理 PB 级的数据。
Hive 分区表https://juejin.cn/post/7040689938521653285
概念Hive 中的表对应为 HDFS 上的指定目录,在查询数据时候,默认会对全表进行扫描,这样时间和性能的消耗都非常大。分区表实际上就是对应一个 HDFS 文件系统上的独立的文件夹,该文件夹下是该分区所有的数据文件。Hive 中的分区就是分目录,把一个大的数据集根据业务需要分割成小的数据集。在查询时通过 WHERE 子句中的表达式选择查询所需要的指定的分区,这样的查询效率会提高很多。
意义:
分区的目的是为了就数据,分散到多个子目录中,在执行查询时,可以只选择查询某些子目录中的数据,加快查询效率; ...
SAP HANA 实战
内存计算OLTP:Online Transaction Processing,联机事务处理系统的简称。OLAP:Online Analytical Processing,联机分析处理系统的简称。SAP HANA:SAP 公司推出的基于新一代内存计算技术的高性能实时数据平台。BI:商务智能软件,以 SAP BI、Oracle Hyperion、IBM Congress 为典型代表,通常与数据挖掘、支持企业管理的业务运营和决策联系在一起。RDBMS:关系型数据库管理系统,以 MS SOL Server、SAP Sybase ASE、IBM DB2、Oracle 和 MySOL 为典型代表。列式数据库:列式数据库是相对传统的行存储数据库而言的,是以列存储相关技术为设计架构进行数据存储的关系型数据库,主要适合批量数据处理和即时查询。内存计算:内存计算是指为了消除磁盘 I0 在应用系统中的数据吞吐瓶颈,而将应用系统的数据部分或全部放在内存中以供访问,从而提升系统性能的一种技术。写优化:专门为提升数据修改的性能而设计的。行存储数据库基本上都是这样的架构。读优化:为了提升数据查询和计算的性能而设计的 ...
SAP-Business Process (业务流程)
SAP 中的业务流程和账务处理写在前面:SAP 是什么?SAP(Systems, Applications & Products in Data Processing)是全球最大的企业资源计划(ERP)软件供应商,总部位于德国沃尔多夫。SAP ERP 系统将企业的采购、生产、销售、财务、人力资源等核心业务流程整合到一个统一的平台上,实现数据共享和流程协同。
类比理解: 如果把企业比作一个人体,SAP 就是神经系统——它连接了企业的各个”器官”(部门),让信息在全身流通,使企业能够协调运作。
SAP 核心模块概览SAP ERP 由多个模块组成,每个模块对应企业的一个业务领域:
模块
全称
职责
常用事务码举例
FI
Financial Accounting
总账、应收、应付、资产管理
FB50, F-02, F-53, F-28
CO
Controlling
成本中心、利润中心、产品成本
KS01, CK11N, CO88
MM
Materials Management
采购、库存管理、发票校验
ME21N, MIGO, MIRO
SD
Sales & ...
ABAP程序效率优化
业务层面的优化前言首先说一句,在 HANA 上开发程序也需要效率优化。其次是,提到效率优化的时候,很多人都觉得是开发顾问的事情,和业务层面有什么关系?但是,程序设计来源于业务需求,程序优化不但离不开业务,而且业务优化绝对是第一步!(这里不讨论业务层面优化、代码层面优化分别能给程序带来多少效率上的提升——这也因情况而异,我只是说明程序效率优化应该遵循的步骤)我的 ABAP 程序效率优化系列,共分三部分:1、业务层面的优化(全文字,但都是干货)2、ABAP 代码(内容比较多,可能需要多篇)3、标准程序优化后的代码分享
背景企业实施 SAP 系统初期,业务数据量小,系统功能启用的相对较少,ABAP 程序的运行速度还都是闪电般的快。可随着系统应用逐渐深化,启用的功能越来越多,业务数据量越来越大,用户对系统的理解也日益深刻,对系统的开发需求也变的更多……这时候,如果 ABAP 程序结构设计的不好,程序执行效率就非常堪忧了。
策略首先我们回顾一下在项目中程序开发的工作步骤,大概都是这样的:需求产生;业务顾问分析需求;用户确认需求;业务顾问根据需求进行功能设计;开发顾问进行功能开发和基本测试;业务顾 ...









