ABAP基础知识学习

新手速通ABAP开发之语法篇(一) 摘要:介绍了ABAP基本语法,数据类型,变量,常量 阅读详情

数据类型
C :字符串
D :日期型 格式为 YYYYMMDD 例:'1999/12/03'
F : 浮点数 长度为8
I :整数
N :数值组成的字符串 如:011,'302'
P : PACKED数 用于小数点数值 如:12.00542
T : 时间 格式为:HHMMSS 如:'14:03:00'
X : 16进制数 如:'1A03'
*-------------------------------------------------------------------------------------*
变数宣告

DATA [] [][decimals]
变数名称
变数类型 及 长度
初值
小数位数

exp:
DATA : COUNTER TYPE P DECIMALS 3.
NAME(10) TYPE C VALUE 'DELTA'.
S_DATE TYPE D VALUE '19991203'.
exp:
DATA : BEGIN OF PERSON,
NAME(10) TYPE C,
AGE TYPE I,
WEIGHT TYPE DECIMALS 2,
END OF PERSON.
另外,有關DATA宣告的指令還有: CONSTANTS(宣告常數)、STATICS(臨時變數宣告).
exp:
CONSTANTS PI TYPE P DECIMALS 5 VALUE '3.14159'.
STATICS 敘述
宣告的變數僅在目前的程式中使用, 結束後會自動釋放
語法:
STATICS [] [] []

系統專用變數說明
系統內部專門創建了SYST這個STRUCTURE,里面的欄位存放系統變數,常用的系統變數有:
SY-SUBRC : 系統執行某指令后,表示執行成功与否的變數,'0' 表示成功
SY-UNAME: 當前使用者登入SAP的USERNAME;
SY-DATUM: 當前系統日期;
SY-UZEIT: 當前系統時間;
SY-TCODE: 當前執行程式的Transaction code
SY-INDEX : 當前LOOP循環過的次數
SY-TABIX: 當前處理的是internal table 的第几筆
SY-TMAXL: Internal table的總筆數
SY-SROWS: 屏幕總行數;
SY-SCOLS: 屏幕總列數;
SY-MANDT: CLIENT NUMBER
SY-VLINE: 畫豎線
SY-ULINE: 畫橫線

TYPE 敘述
用來指定資料型態或宣告自定資料型態
Example:
TYPES: BEGIN OF MYLIST,
NAME(10) TYPE C,
NUMBER TYPE I,
END OF MYLIST.
DATA LIST TYPE MYLIST.

LIKE 敘述
跟TYPE敘述使用格式相同, 如
DATA TRANSCODE LIKE SY-TCODE.
不同的是 LIKE 用在已有值的資料項, 如系統變數, 而TYPE敘述則是用
在指定資料型態。

*-------------------------------------------------------------------------------------*
输出

一. WRITE 語句
ABAP/4用來在屏幕上輸出資料的指令是WRITE指令,例如:
WRITE: 'USER NAME IS:', SY-UNAME.
二. 指定屏幕輸出位置
指定輸出位置的語句格式為:
WRITE: [AT] [ / ] [] [()] 資料項 []
其中: / : 在下一行輸出
: 指定輸出的行號;
():指定輸出位數(長度)
: 指定顯示格式參數,參數有:
LEFT-JUSTIFIED 資料*左對齊
CENTERED 資料*中間對齊
RIGHT-JUSTIFIED 資料*右對齊
UNDER 正對在資料項的下面顯示
NO-GAP 緊接著顯示,不留空格
USING EDIT MASK : 使用內嵌子元顯示, 如 12:03:20
USING NO EDIT MASK: 不使用內嵌子元
NO-ZER 數字前面 0 的部分不顯示
NO-SIGN: 不顯示正負號
DECIMALS : 顯示 位小數
EXPOENT : F(浮點數)指數的值
ROUND : 四舍五入至小數點后位
CURRENCY : 幣別顯示
DD/MM/YY : 日期顯示格式
MM/DD/YY:
YY/MM/DD:
YY/DD/MM
MM/DD/YYYY:
DD/MM/YYYY
YYYY/MM/DD:
YYYY/DD/MM:
例如1: WRITE: /10(6) 'ABCDEFGHIJK'.
輸出結果為: ABCDEF
例如2: DATA: X TYPE I VALUE '11:20:30',
A(5) TYPE C VALUE 'AB CDE'.
WRITE: / X USING EDIT MASK '__:__:__'.
WRITE: / X USING EDIT MASK '$___,___'.
WRITE: / Y NO-GAP.
輸出結果為:
11:20:30
$112,030
ABCDEF

例如3: DATA: LEN TYPE I VALUE 10,
POS TYPE I VALUE 11,
TEXT(10) VALUE '1234567890'
WRITE 'The text ------------ appears in the text.'.
WRITE AT POS(LEN) TEXT.

WRITE TO 语句的基本 形式
要将值(文 字)或源字 段内容写入 目标字段, 可以使用 WRITE TO 语句:
语法
WRITE TO [].

DATA: NUMBER TYPE F VALUE '4.3',
TEXT(10),
FLOAT TYPE F,
PACK TYPE P DECIMALS 1.
WRITE NUMBER.
WRITE NUMBER TO TEXT EXPONENT 2.
WRITE / TEXT.
WRITE NUMBER TO FLOAT.
WRITE / FLOAT.
WRITE NUMBER TO PACK.
WRITE / PACK.
MOVE NUMBER TO PACK.
WRITE / PACK.

exp:
DATA: NAME(10) VALUE 'SOURCE',
SOURCE(10) VALUE 'Antony',
TARGET(10).
...
WRITE (NAME) TO TARGET.
WRITE: TARGET.

exp :

DATA: COUNTER TYPE I.
COMPUTE COUNTER = COUNTER + 1.
COUNTER = COUNTER + 1.
ADD 1 TO COUNTER.
在此,三条 运算语句进 行相同算术 运算

输出屏幕上 的线和空行

用下列语法 ,可以在输 出屏幕上生 成水平线:
语法
ULINE [AT [/][][()]].
它等同于
WRITE [AT [/][][()]] SY-ULINE.
AT 后的格式规 范,与在 在屏幕上定 位 WRITE 输出 (页 28) 中为 WRITE 语句说明的 格式规范完 全一样。
如果没有格 式规范,系 统则开始新 的一行,并 用水平线填 充该行。否 则,只按指 定输出水平 线。
生成水平线 的另一种方 法,是在 WRITE 语句中键入 恰当数量的 连字符,如 下所示:
WRITE [AT [/][][()]] '-----...'.
垂直线
用下列语法 ,可以在输 出屏幕上生 成垂直线:
语法
WRITE [AT [/][]] SY-VLINE.
或
WRITE [AT [/][]] '|'.
空行
用下列语法 ,可以在输 出屏幕上生 成空行:
语法
SKIP [].
该语句从当 前行开始, 在输出屏幕 上生成 个空行。如 果没有指定 的值,就输 出一个空行 。
要将输出定 位在屏幕的 指定行上, 请使用:
语法
SKIP TO LINE .
该语句允许 将输出位置 向上或向下 移动。

ABAP基本数据类型 1、abap基本数据类型ABAP 中的数据类型类型长度范围默认值描述C11-65535ByteSpace字符,例如‘china’D88Byte‘0000000’日期,格式YYYYMMDDF88Byte0浮点数I4-2^31到2^31-10整数N11-65535Byte‘00...0’数值P81-16Byte0Packed数,用于小数点数T66Byte'000000'时间HHMMSSX11-6553... 阅读详情

相关推荐

SAP ABAP 基础语法超详细

ABAP 基础语法介绍

小钟不想敲代码 1万+

ABAP程式設計 基本概念

ABAP基本概念,一些我的筆記,如果有錯誤的地方,請指教!

weixin_51620618的博客 516

一套适合 ABAP 初级和中级开发人员,从入门到提高的 ABAP 学习教程

曾几何时,ABAP 就是 SAP 的代名词。ABAP 这门编程语言造就了 SAP 名噪一时的 R/3 产品,同时也是如今 SAP 旗舰级产品,SAP S/4HANA 底层的实现语言。 ABAP 不仅代表着 SAP 这家公司在企业级管理软件市场辉煌的过去,ABAP 自身也在不断地进化着。SAP 不仅在本地部署(On-Premise)领域继续保持着自己绝对的统治地位,而且在云应用领域(Software-as-a-Service, 简称 SaaS), 也推出了自己的解决方案,比如 SAP S/4HANA Clo

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 5919

abap输出方面语法

部分基础语法

qq_53645728的博客 1843

基于STM32的PID恒温恒湿控制系统 | 保姆式教程 开源可复刻

本项目基于STM32F103C8T6核心控制器,完整实现了基于双路PID算法的恒温恒湿闭环控制系统,覆盖高精度温湿度采集、双模式控制、参数在线配置、异常安全保护、掉电记忆等全功能,全程采用无跳步保姆式教学,从硬件选型、接线、CubeMX配置、代码开发、调试排坑全流程拆解,跟着步骤一步步操作,就能顺利完成项目复刻

ZhongWeiXiang9的博客 346

千兆网口电路设计中的EMC防护与TVS选型实战

本文深入探讨了千兆网口电路设计中面临的EMC挑战,并提供了TVS二极管选型的实战指南。文章分析了ESD、浪涌和EFT等主要威胁,重点阐述了如何根据工作电压、钳位电压和关键的低结电容等参数为PHY芯片选择匹配的TVS器件,以确保在严苛电磁环境下实现可靠的信号完整性与防护。

m3n5b7v8c9x的博客 531

ABAP基礎知識學習

ABAP基礎知識學習 資料類型C :字串D :日期型 格式為 YYYYMMDD 例:'1999/12/03'F : 浮點數 長度為8I :整數N :數值組成的字串 如:011,'302'P : PACKED數 用於小數點數值 如:12.00542T : 時間 格式為:HHMMSS 如:'14:03:00'X : 16進制數 如:'1A03'*----------------------------...

weixin_30727835的博客 182

保姆级教程:用K210麦克风阵列模块实现声源定位(附完整Python代码与坐标计算)

本教程详细介绍了如何使用K210麦克风阵列模块实现高精度声源定位,包括硬件连接、算法解析与实战代码。通过Python代码示例,展示了从原始数据获取到三维空间坐标计算的完整流程,适用于智能家居、机器人导航等场景。

weixin_42558093的博客 227

ABAP基础知识学习(三)

<br />●权限检查<br />AUTHORITY-CHECK OBJECT auth_obj [FOR USER user]<br />ID id1 {FIELD val1}|DUMMY<br />[ID id2 {FIELD val2}|DUMMY]<br />...<br />[ID id10 {FIELD val10}|DUMMY].<br /> <br />用OPEN SQL语句进行数据库操作时,系统本身并不进行任何权限检查,所以我们在编写相关的数据库操作程序时,必须考虑用户是否具有权限,防止未

Chuckth的专栏 1265

避坑指南:解决‘Logical volume contains a filesystem in use’错误,顺利完成LVM根目录扩容

本文详细解析了Linux系统中LVM根目录扩容时遇到的‘Logical volume contains a filesystem in use’错误,提供了从错误诊断到实战解决方案的完整指南。通过动态扩容技术、单用户模式操作和LVM快照等方案,帮助管理员顺利完成根目录扩容,避免数据丢失和系统崩溃。

weixin_28702105的博客 227

MATLAB实战:利用扫频数据重构系统伯德图的关键步骤

本文详细介绍了如何利用MATLAB处理扫频数据并重构系统伯德图的完整实战流程。内容涵盖数据导入与清洗、增益与相位的精确计算、频率响应数据对象(frd)的构建、数据平滑与插值处理,以及最终生成专业伯德图并进行关键参数(如相位裕度)标注的方法。文章重点解决了从实测“黑盒子”系统数据出发,获取直观频率响应特性曲线的核心问题,为控制系统分析与设计提供了实用指南。

weixin_29098117的博客 397

ABAP基础知识学习(一)

<br />●基础类型<br />.P <br />       声明:TYPES mount  TYPE p length 5 DECIMALS 2.<br />又称为压缩类型. <br />值范围1~15整型数字(除去最后的符号位).<br />若在没有定义长度的情况下,默认为最大长度,即15.<br />点号不算在表示位数内,但表示位数过长的情况下,点号会自动消除,如:12,345; 1234567,890,123<br />小数点可表示最大位数14.小数点部分按四舍五入法取值.<br /> <br

Chuckth的专栏 5372

open-web UI 实用指南

open-web UI 类似于chatgpt的界面,可以私有化模型本地部署,也可以用商业模型.本文只是用开源模型. 它以实现多模态AI聊天 , AI 翻译 , 语音转文本, 文本转语音, 文生图,代码助手,可谓利器。

szmars的博客 3万+

超全SAP ABAP / 4 基础知识学习

exp :同创建内表数据类型(页 99)中所示,该示例创建数据类型 ITAB 作为内表。通过使用 DATA 语句的 TYPE 参数引用 ITAB,使数据对象 TAB1 与 ITAB 结构相同。通过使用 DATA 语句的 LIKE 参数引用 TAB1,使数据对象 TAB2 结构相同。创建的 TAB2 带表头行。因此,可以在程序中使用 TAB2-COLUMN1、TAB2-COLUMN2 和 TAB2-COLUMN3 等定位表格工作区域 TAB2。

yinyuevip111的博客 1013

prplOS amx-fxgi调试-订阅subscribe

本文分析了prplOS中amx-fxgi订阅功能(subscribe)的实现与调试过程。通过梳理订阅流程发现,默认订阅失败主要由于acl规则限制导致。文章详细介绍了订阅的两个关键步骤:建立GET长连接和POST设置订阅路径,并通过修改代码绕过acl验证成功实现订阅功能。最终验证了在同一连接下订阅多个路径及实时接收状态更新的可行性,有效降低了设备查询负载。该方案为prplOS的实时数据监控提供了优化思路。

四儿家的小祖宗的博客 330

YOLO26改进 - SPPF模块 | 发论文神器!LSKA注意力改进SPPF,增强多尺度特征提取能力,高效涨点!!!

本文介绍了Large Separable Kernel Attention (LSKA)模块及其在YOLO26中的结合应用。LSKA旨在解决Visual Attention Networks (VAN)使用大内核卷积时的计算效率问题,通过将2D深度卷积层的卷积核分解为级联的水平和垂直1-D卷积核,降低了计算复杂度和内存占用,且使VAN更关注物体形状。我们将集成LSKA的SPPF_LSKA模块引入YOLO26,大量实验表明,改进后的模型在对象识别、检测、分割和稳健性测试上表现出色。

魔改工程师的博客 252

ABAP基础知识学习(一)

●宏定义(macro)DEFINE~END-OF-DEFINITION相同命令体2次以上执行的时候,可以使用宏定义来实现。宏定义必须在宏调用之前,宏定义中最多可使用9个占位符(相当于变量名),&1~&9。宏定义在程序执行时不能使用断点调试,因此,应尽量使宏定义简单明了,或是尽可能的用函数等替代。DATA: result TYPE i,      n1     TYPE i VALUE 5,      n2     TYPE i VALUE 6.DEFINE operation.    result = &1

Chuckth的专栏 1366

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

ABAP基础知识学习(二)

<br /> <br />●宏定义(macro)<br />DEFINE~END-OF-DEFINITION<br />相同命令体2次以上执行的时候,可以使用宏定义来实现。<br />宏定义必须在宏调用之前,宏定义中最多可使用9个占位符(相当于变量名),&1~&9。<br />宏定义在程序执行时不能使用断点调试,因此,应尽量使宏定义简单明了,或是尽可能的用函数等替代。<br /> <br />DATA: result TYPE i,<br />      n1     TYPE i VALUE 5,<br

Chuckth的专栏 1557

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

ABAP学习入门1

【代码】ABAP学习入门1。

wuxin51的博客 112

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

SAP-ABAP开发学习-增强基础知识

这种增强是用事务SE18和SE19来实现的。这类增强都需要修改sap的标准代码,它们在发布的时候都是空的,集中在一些文件名倒数第二个字符为Z的包含程序中,由于在标准程序中,所以所有程序的全局数据都可以使用,但同时。①基于SAP源代码的增强-----对SAP所预留的空的子过程进行编码,用户可以编辑此子过程,并在这个子过程中添加自定义的代码,以增加SAP标准程序的控制功能。②基于函数的增强-----SAP为此类出口提供了相应的函数,依据函数结构指定的传入/传出参数,程序执行时,调用该函数并检查相应的代码。

小羔羊的博客 1018

abap的学习思考

以下是来自SAP官网的学习建议 ABAP学习建议的出处 ABAP是SAP的二次开发的语言,主要用于开发SAP的程序,在编程语言上排名第29位,市场占有率是0.49,算一个小众语言。 作为一个初学者怎么学习这个语言。 1.你必须学习语言的基础,你可以有老师给你培训,要么看视频,要么看书;选择一种适合你的学习方法; 2.学会分析和调试程序;你就可能知道值怎么传递;你可能就能看懂一个程序; 3.学习业务,只有你更理解业务;你才能更明白一些关键控制点在那里;才能写更好的程序; 当然提前是你加入了一个abap开发团队

beyond911的专栏 346

ABAP高手博客收集

老白:http://blog.chinaunix.net/u1/40527/index.html Jack Wu: http://blog.youkuaiyun.com/CompassButton/ SAP 砍刀:http://blog.chinaunix.net/uid/20509237.html SAP 学习无限:http://saplearners.blog.sohu.com/ 本本:http:

liangjiangang的专栏 1370

SAP ABAP 的学习资料

以下是我收集的一些关于ABAP方面的学习资料,如有需要,请到http://sap-abaper.com  索取:ABAP Tutorials » ABAP BC CourseADM326 Upgrade to ECC6.0 (mySAP ERP 2005) - April 28th, 2009 KM211 Knowledge Warehouse - Administration -

思考、规划、执行 1772

【ABAP】一些基础知识

涉及知识点: 1.常数、负数的定义问题 2.自带工作区的内表如何append、modify及更新某些字段 *&---------------------------------------------------------------------* *& Report ZTEST *&---------------------------------------------------------------------* *& *&----------------

BearGeorge 528

SAP中文教材全系列之ABAP-BC400_ZH:全面掌握ABAP编程的优质资源

SAP中文教材全系列之ABAP-BC400_ZH:全面掌握ABAP编程的优质资源 去发现同类优质开源项目:https://gitcode.com/ SAP中文教材全系列之ABAP-BC400_ZH:项目的核心功能/场景 全面、系统的ABAP编程中文教材,助力开发者从入门到精通。 项目介绍 在当前企业信息化和数字化转型的浪潮中,SAP ABAP作为一种高效的编程语言,其应用范围广泛,掌握ABAP编程...

gitblog_06746的博客 915
上一篇: 在ASP.NET中用MSDNURLRewriting实现Url Rewriting (二)
下一篇: 选择值填写两个变量
host_2007
博客等级 码龄19年 8粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值