SAP/ABAP(一)

news2025/1/31 22:56:14

一、什么是ERP

ERP 是企业资源规划(Enterprise Resource Planning)的缩写,它指的是一种集成化的管理软件系统,用于协调企业内部各个部门的活动,并与外部供应商、客户以及其他利益相关方进行信息和业务流程的交互。

二、什么是SAP

SAP 是德国企业系统与应用产品(Systeme, Anwendungen und Produkte in der Datenverarbeitung)的缩写,是一家全球领先的企业软件公司。同时,SAP 也是该公司开发的一套企业资源规划(ERP)软件系统的名称。
在这里插入图片描述

三、什么是ABAP

ABAP(Advanced Business Application Programming)是SAP的一种编程语言,专门用于开发和定制SAP系统。它是SAP系统的核心语言之一,用于创建和修改与SAP ERP系统或其他SAP组件相关的程序和业务逻辑。

四、为什么会有SAP项目

  • SAP软件并不是一个最终产品,它只是一个半成品,也可以说是一套工具
  • SAP软件一个人搞不定,需要不同专业知识的人才,相互配合相互协作

SAP项目介绍
在这里插入图片描述
SAP工作内容
在这里插入图片描述

五、SAP事务码

事务码功能
SE38ABAP编辑器
SE37函数构建器
SE24类构建器
SE11ABAP字典
sm12解锁
/n当前页面跳转
/o打开新的窗口

六、基础语法

执行流程:检查–》激活–》执行

在这里插入图片描述

*&---------------------------------------------------------------------*
*& Report ZDEMO_LIMING
*&---------------------------------------------------------------------*
*& 作者:钟黎明
*& 创建时间       修改时间
*& 2023/7/17
*&---------------------------------------------------------------------*
REPORT zdemo_liming."report 关键字
WRITE '这是一个测试程序'."write:输出一段内容
WRITE / '第二句话'."在新的一行输出
WRITE: / 'Hello','ABAP'.

6.1 定义变量(DATA)

DATA lv_nur TYPE n LENGTH 10." 变量定义
lv_nur = 5." 变量赋值方式1
WRITE lv_nur.
WRITE lv_nur NO-ZERO.

MOVE 40 TO lv_nur." 变量赋值方式2
WRITE / lv_nur NO-ZERO.

在这里插入图片描述

6.2 插入空白行(SKIP)

SKIP 1(行数).

6.3 插入一条线(ULINE)

ULINE.

6.4 消息(MESSAGE)

MESSAGE '这是一个消息' TYPE 'S'.
MESSAGE '这是一个消息' TYPE 'E'.
MESSAGE '这是一个消息' TYPE 'S' DISPLAY LIKE 'E'.

基础语法总结
在这里插入图片描述

七、数据类型

类型典型范围
X任何字节值(00到FF)
C字符型
N数字文本字段
D日期
T时间
I整型
F浮点型
P高精度浮点型
string字符串
*数据类型练习
*stu    number    n   4
*stu    name      c   20
*class  number    n   4
*gender           c   1
*age              i
*stu    comment   string
*c      date      d

DATA: stu_number TYPE n LENGTH 4,
      stu_name TYPE c LENGTH 20,
      class_number TYPE n LENGTH 4,
      gender TYPE c LENGTH 1,
      age TYPE i,
      score TYPE f,
      stu_comment TYPE string,
      c_date TYPE d.

stu_number = '0001'.
stu_name = '张三'.
class_number = '0036'.
gender = 'F'.
age = 30.
score = '1.1'.
stu_comment = '这是一个string'.
c_date = '20230717'.

WRITE: / '学号:',stu_number,
       / '姓名:',stu_name,
       / '班级:',class_number,
       / '性别:',gender,
       / '年龄:',age,
       / '分数:',score,
       / '备注:',stu_comment,
       / '日期:',c_date.

在这里插入图片描述

复杂数据类型

TYPES: BEGIN OF ty_student,
         number TYPE n LENGTH 4,
         age    TYPE i,
         name   TYPE c LENGTH 20,
       END OF ty_student.

DATA ls_stu TYPE ty_student.

ls_stu-number = '1001'.
ls_stu-age = 30.
ls_stu-name = '张三'.

WRITE / : '学号:',ls_stu-number,
          '年龄:',ls_stu-age,
          '姓名:',ls_stu-name.

在这里插入图片描述

定义变量并且设置默认值(value)

DATA lv_school TYPE c LENGTH 10 VALUE 'JZJ096'.
WRITE: / '测试默认值:',lv_school.

利用其他变量定义新变量(Like)

DATA lv_class LIKE lv_school VALUE 'C001'.
WRITE: / 'class的默认值:',lv_class.

静态变量 (Paramenter)

PARAMETERS: p_name TYPE c LENGTH 10,
            p_age TYPE i,
            p_addres TYPE c LENGTH 40.

在这里插入图片描述

引用类型(REF TO)

DATA ref_1 TYPE REF TO i.
CREATE DATA ref_1.
ref_1->* = 1.
WRITE: / '引用变量:',ref_1->*.

在这里插入图片描述

系统变量

WRITE: / 'SY-SUBRC',SY-SUBRC,"系统执行指令之后,是否成功,0-成功,其他-有问题
       / 'SY-DATUM',SY-DATUM,"系统当前日期
       / 'SY-UZEIT',SY-UZEIT,"系统当前时间
       / 'SY-TABIX',SY-TABIX,"表的第几行
       / 'SY-INDEX',SY-INDEX,"当前循环的次数
       / 'SY-LANGU',SY-LANGU,"系统登录语言
       / 'SY-MANDT',SY-MANDT,"当前集团代码
       / 'SY-TCODE',SY-TCODE,"当前事务码
       / 'SY-UNAME',SY-UNAME."当前登录账号

在这里插入图片描述

常量(CONSTANTS)

CONSTANTS LC_C TYPE c LENGTH 40 VALUE 'V01'.
WRITE: / '常量:',LC_C.

定义日期格式和输出

*定义日期格式和输出
DATA LV_DATE TYPE D.
LV_DATE = SY-DATUM.
WRITE: / 'LV_DATE:',LV_DATE DD/MM/YYYY.
WRITE: / 'LV_DATE:',LV_DATE YYMMDD.

*时间
DATA LV_TIME TYPE T.
LV_TIME = SY-UZEIT.
WRITE: /(50) LV_TIME USING EDIT MASK 'Now time is __:__:__'.

*时间戳
DATA LV_TIMESTAMP TYPE TIMESTAMP.
GET TIME STAMP FIELD LV_TIMESTAMP.
WRITE: / LV_TIMESTAMP TIME ZONE SY-ZONLO.

在这里插入图片描述
字符串

*字符串(string)
DATA: lv_title TYPE string,
      lv_len TYPE i.
lv_title = 'this is a test'.
lv_len = strlen( lv_title )."计算字符串长度
WRITE: / '长度:',lv_len .

*字符串拼接
DATA: lv_title1 TYPE string,
      lv_title2 TYPE string,
      lv_title3 TYPE string.
lv_title1 = 'hello'.
lv_title2 = 'ABAP'.
CONCATENATE lv_title1 lv_title2 INTO lv_title3."把lv_title1和lv_title2拼接赋值给lv_title3
WRITE: / 'lv_title3:',lv_title3.

*去空格
DATA lv_space TYPE string.
lv_space = '   aaa'.
CONDENSE lv_space.
WRITE: / 'condence:',lv_space.

在这里插入图片描述

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

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

相关文章

4.4.tensorRT基础(1)-模型推理时动态shape的具体实现要点

目录 前言1. 动态shape2. 补充知识总结 前言 杜老师推出的 tensorRT从零起步高性能部署 课程,之前有看过一遍,但是没有做笔记,很多东西也忘了。这次重新撸一遍,顺便记记笔记。 本次课程学习 tensorRT 基础-模型推理时动态 shape 的…

科大讯飞星火认知大模型实在是太牛逼了吧,可以和人类进行自然交流,解答问题,高效完成各领域认知智能需求。

星火认知大模型:探索人工智能的无限可能 在21世纪的今天,人工智能技术已经逐渐成为推动社会发展的重要力量。作为一种模拟人类智能的技术手段,人工智能在各个领域都展现出了强大的应用潜力。而在这个领域中,星火认知大模型无疑是…

awk用法--一次性匹配文件中的多个文本,保存成不同的参数

功能描述: 需要从某个文件中读取多个指标的数据,并保存下来,读取的时候需要一次性读取出多个数据,之后将数据写入到结果文件 代码示例 主要逻辑: 1、 匹配包含MemTotal的字符串,并将匹配到的行的倒数第二列…

【电子学会】2023年05月图形化三级 -- 绘制多彩五角星

绘制多彩五角星 1. 准备工作 (1)选择背景stars、角色Pencil; (2)将角色Penci的中心点设为笔尖。 2. 功能实现 (1)将画笔粗细设为3,画笔的颜色和初始位置自定义,绘制边…

【gis插件】arcgis插件界址点编号工具、C#实现思路

数据:界址点图层、宗地图层 要求:找出宗地对应的所有界址点号,对这些界址点号以J1开始按顺序排列 要找出宗地所对应的所有界址点号,这里只要执行一个标识 即可得到这样得到的结果。 难点在于对界址点的编号,经过检查…

c语言小项目——通讯录初阶

通讯录中阶:点这里 通讯录(初阶) 项目简介项目中遇到的难点1.给复杂结构体初始化错误写法正确写法 2.枚举和switch可以结合一下,方便查看switch的case中是什么功能,double3.ShowContact中printf的新认知4.FindByName加…

Vue 打包到生产环境部署后图标不见了

问题描述:打包完后部署到正式环境有些图标不显示,如下图,显示为小方块。 解决方案: 这个问题可能是vue-cli脚手架配置问题 在build/webpack.prod.conf.js中 把extract:true 改为 fasle,然后再重新build就…

商城-学习整理-基础-项目简介和分布式概念(一)

目录 前言:一、项目简介1、项目背景2、项目架构图 二、分布式基础概念1、微服务2、集群&分布式&节点3、远程调用4、负载均衡5、服务注册/发现&注册中心6、配置中心7、服务熔断&服务降级8、APP网关 前言: 该项目基于逆向工程进行开发&am…

nginx+lua+redis环境搭建(文末赋上脚本)

目录 需求背景 环境搭建后nginx和redis版本 系统环境 搭建步骤 配置服务器DNS 安装ntpdate同步一下系统时间 安装网络工具、编译工具及依赖库 创建软件包下载目录、nginx和redis安装目录 下载配置安装lua解释器LuaJIT 下载nginx NDK(ngx_devel_kit&#xff09…

51单片机学习--独立按键控制LED

功能&#xff1a;按下K1时D1亮&#xff0c;松开时D1灭&#xff0c;P3_1对应K1 , P2_0对应D1 #include <REGX52.H>void main() {while(1) {if(P3_1 0) //按下K1{P2_0 0;}else{P2_0 1;}}} 按下按钮和松开按钮时会有抖动&#xff0c;所以需要用延时函数来避免抖动造成的…

C国演义 [第十章]

第十章 最佳买卖股票时机含冷冻期题目理解步骤dp数组递推公式初始化遍历方向 代码 买卖股票的最佳时机含手续费题目理解步骤dp数组递推公式初始化遍历方向 代码 最佳买卖股票时机含冷冻期 力扣链接 给定一个整数数组prices&#xff0c;其中第 prices[i] 表示第 i 天的股票价格…

瀚高数据库企业版V4单机版-安装手册(Windows)

目录 瀚高数据库企业版V4单机版-安装手册&#xff08;Windows&#xff09; 1. 环境准备 2. 软件安装 3.设置环境变量 4 配置数据库文件 瀚高数据库企业版V4单机版-安装手册&#xff08;Windows&#xff09; 1. 环境准备 ①.安装数据库之前&#xff0c;请确保vcredist_x6…

鸽了百万用户四年的赛博皮卡终于要来啦

作者 | Amy 编辑 | 德新 本月15号&#xff0c;特斯拉官方宣布&#xff0c;第一辆 赛博皮卡已在特斯拉得州工厂下线。 而就在本月初&#xff0c;马斯克还发推预热了一波&#xff0c;「开着赛博皮卡在奥斯汀&#xff08;特斯拉得州工厂所在地&#xff09;溜了一圈&#xff01…

网页动态表单 ,网页动态参数

有的时候因为参数太多 无法 一一 创建 所有采用动态创建 自己遇到的一个实际情况今天写个例子 <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>form demo</title><link rel"stylesheet" href&quo…

Windows查看电脑出厂时间

方法一&#xff1a;CMD命令查询 CMD输入命令 >systeminfoBIOS版本时间大概就是出厂时间

基于Mybatis-Plus的代码自动生成器

代码自动生成器 由于在普通业务开发中大多数增删改查操作都是重复的大量的&#xff0c;修改的内容也是相当的少&#xff0c;就如一个模版一样。所以在此构造一个基于Mybatis-Plus的代码生成器&#xff0c;旨在于快速生成项目结构和基础代码。 1、搭建环境 新建一个Springboo…

C语言实现通讯录——动态内存

好与不好&#xff0c;干嘛从别人口中找答案 大家好&#xff0c;我是纪宁。 考试周过去了&#xff0c;刚放暑假也陆陆续续有一些事&#xff0c;这两天才开始静下心来好好学习。希望你我都能过一个充实且快乐的暑假&#xff01; 今天的文章是用C语言实现一个动态版的通讯录 文章…

ARM基础(5):内存屏障的必要性、内存类型和内存排序

在我们写代码的过程中&#xff0c;经常会发现在SDK中会出现__ISB()或__DSB()等语句&#xff0c;这也做的目的是建立一个内存屏障&#xff0c;内存屏障可以由处理器内的硬件操作或内存屏障指令触发&#xff0c;它能够让CPU或编译器对屏障指令之前和之后的内存操作施加排序约束。…

cmake默认编译模式Debug or Release

CMAKE的编译选项 在阅读一些工程源码中&#xff0c;CMakeLists文件通常看到一下内容&#xff1a; set(CMAKE_CXX_FLAGS_DEBUG "-fPIC -O0 -g -Wall") set(CMAKE_CXX_FLAGS_RELEASE "-fPIC -O2 -g -Wall")那我们的编译时&#xff0c;用的到底是哪一个呢&a…

TypeScript 学习笔记(五):泛型

一、泛型是什么&#xff1f;有什么作用 软件工程中&#xff0c;我们不仅要创建一致的定义良好的API&#xff0c;同时也要考虑可重用性。 组件不仅能够支持当前的数据类型&#xff0c;同时也能支持未来的数据类型&#xff0c;这在创建大型系统时为你提供了十分灵活的功能。 在像…