前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ABA初体验之二:基本语法

ABA初体验之二:基本语法

作者头像
齐天大圣
发布2022-03-11 10:32:16
6550
发布2022-03-11 10:32:16
举报
文章被收录于专栏:用户8186044的专栏

声明:本文仅代表原作者观点,仅用于SAP软件的应用与学习,不代表SAP公司。注:文中所示截图来源SAP软件,相应著作权归SAP所有。

01

目录

2 基本语法

2.1 数据类型

2.1.1 系统预定义的数据类型

2.1.1.1 文本型c

2.1.1.2 日期和时间类型D和T

2.1.1.3 I整数类型和N字符串整形

2.1.1.4 P和F浮点数类型

2.1.2 自定义数据类型

2.2 数据对象定义

2.3.1 普通对象的定义(参考前面基本类型应用)

2.3.2 常量

2.3.3 系统常用的一些变量

2.3.4 可以直接定义结构对象,可以like对象定义

2.3.5 结构对象作为另外一个对象的一部分

2.3.6 结构对象的include

2.3 程序基本结构及功能

2.3.1 NO STANDARD PAGE HEADING表示不展示抬头

2.3.2 MESSAGE-ID

2.3.3 非alv的列行设置,一般没人用了

2.3.4 后续结构说明

2.3.4.1 include引用

2.3.4.2 描述引用的表

2.3.4.3 描述定义的类型以及数据对象

2.3.4.4 屏幕输入报表筛选条件等

2.3.4.5 程序开始时的调用,一般很少用了

2.3.4.6 程序变量初始化的默认值

2.3.4.7 选择屏幕时触发

2.3.4.8 开始选择前触发,例如打印时抓取数据

2.3.4.9 一些命令按钮的调用

2.3.4.10 双击或者F2单元格时调用

2.3.4.11 每页打印开始或结束调用

2.3.4.12 FORM读取数据到内表

2.3.4.13 输出打印

2.4 数据处理及基本语法

02

正文

2 基本语法

2.1 数据类型

2.1.1 系统预定义的数据类型

更全面的基本类型如下:

se38建一个hello world类似的程序ZLGZ01

2.1.1.1 文本型c

文本类型,原则上要指定字符的长度,否则默认当长度为1处理。

输出结果如下:

2.1.1.2 日期和时间类型D和T

1.日期的基本赋值

输出结果:

2.如何赋值当前日期和当前时间呢?

3.日期的基本加减

结果如下:

2.1.1.3 I整数类型和N字符串整形

I可以表示负数,如果数字填充0或者以字符串展示,就应该用N,而且N必须用长度约束,默认会补0

2.1.1.4 P和F浮点数类型

p和f都能表示小数,f可以取值范围很大,但是容易丢失数据,P是准确的不丢失精度数据。一般都用P,很少用F的。

2.1.2 自定义数据类型

1.基本的类型自定义

2.根据自定义类型再定义

3.利用自定义的基本类型,定义一个结构

4.结构类型的继承,这样就包了一层了

2.2 数据对象定义

2.3.1 普通对象的定义(参考前面基本类型应用)

可以用types,也可以用like

各基本类型的默认值

字符型C:必需指定长度,否则默认是1位 日期型D:默认是YYYYMMDD格式 浮点型F:没什么特殊,默认以科学计数法 整形I:默认按照用户设置的格式输出整形 字符整形N:必需指定长度,否则会截串只显示右边的1个字符,而且是从右向左截串 P类型:必需指定小数位,否则会进位成整形 T类型:时间格式,没什么说的

整形和P的都是从右边往左算的。

2.3.2 常量

2.3.3 系统常用的一些变量

SYST表中定义了所有的系统变量,采用SY-字段名定义,例如经常用的日期

2.3.4 可以直接定义结构对象,可以like对象定义

正规的方式是通过MOVE-CORRESPONDING赋值,如果两个结构完全一样,也可以直接等号赋值。

2.3.5 结构对象作为另外一个对象的一部分

最大的弊端,就是对象字段不是一个层级的了

2.3.6 结构对象的include

所有对象都是平级的,相当于追加字段。如果用结构直接继承的话,字段就不是平级的了。

2.3 程序基本结构及功能

2.3.1 NO STANDARD PAGE HEADING表示不展示抬头

1.不加该段话前

2.添加该段话

3.可以修改抬头描述,通过转到-属性

2.3.2 MESSAGE-ID

如果定义MESSAGE-ID,默认调用的时候就可以省略改ID,默认调用该ID。也就是后面的MESSAGE e001(ZMLGZ01) WITH ‘123123’.中,括号及里面内容可以省略。

1.se91创建消息

2.程序代码添加MESSAGE-ID

调用效果:

4.也可以调整为error调用

2.3.3 非alv的列行设置,一般没人用了

2.3.4 后续结构说明

2.3.4.1 include引用
代码语言:javascript
复制
&---------------------------------------------------------------------
*& include :用到的别的程序的源代码或者子程序等
*& INCLUDE .
&---------------------------------------------------------------------
2.3.4.2 描述引用的表
代码语言:javascript
复制
&---------------------------------------------------------------------
*& TABLES :描述引用的表
*& TABLES .
*&---------
2.3.4.3 描述定义的类型以及数据对象
代码语言:javascript
复制
&---------------------------------------------------------------------
*& TYPES和DATA :定义的类型和数据对象
*& TYPES .
*& DATA .
*&---------
2.3.4.4 屏幕输入报表筛选条件等
代码语言:javascript
复制
&---------------------------------------------------------------------
*& selection-screen /option/parameter:屏幕输入报表赛选条件
*& TABLES .
*selection-screen begin of block test
select-options:

selection-screen end of block test
*&---------
2.3.4.5 程序开始时的调用,一般很少用了
代码语言:javascript
复制
&---------------------------------------------------------------------
*& LOAD-OF_PROGRAM:程序开始执行时候调用
*& LOAD-OF_PROGRAM:
这个事件在SUBMIT, CALL TRANSACTION,PERFORM等执行的时候系统会自动调用这个时间

所以无需声明即可。
*&---------
2.3.4.6 程序变量初始化的默认值
代码语言:javascript
复制
&---------------------------------------------------------------------
*& INITIALIZATION.:程序变量进行初始化,启动程序开始执行
*&---------
2.3.4.7 选择屏幕时触发
代码语言:javascript
复制
&---------------------------------------------------------------------
*& AT SELECTION-SCREEN:选择屏幕运行时触发,主要是对查询条件或权限进行校验
*&AT SELECTION-SCREEN.
*& 1. ON pesl:在parameter变化是触发的事件
*& 2. ON END OF sel:SELECT-OPTION触发的事件
*& 3. ON VALUE-REQUEST FOR psel_low_high:选择的帮助(F4)
*& 4. ON HELP-REQUEST FOR psel_low_high:选择的帮助(F1)
*& 5. ON RADIOBUTTION GROUP radi:单选按钮事件
*& 6. ON BALOCK block:框架的触发事件
*& 7. OUTPUT:响应屏幕上的事件,修改选择屏幕的唯一方法
*&---------
2.3.4.8 开始选择前触发,例如打印时抓取数据
代码语言:javascript
复制
&---------------------------------------------------------------------
*& start-OF-SELECTION:抓取数据,打印
*&---------
start-OF-SELECTION.
set pf-satus __. "制定报表执行时所用的 GUI-STAUTS名称
PERFORM data_retireve.
PERFORM output_data.
2.3.4.9 一些命令按钮的调用
代码语言:javascript
复制
&---------------------------------------------------------------------
*& AT USER-COMMAND.:执行在GUI-STATUS中自定的命令,就是菜单栏的一些按钮
*&---------
2.3.4.10 双击或者F2单元格时调用
代码语言:javascript
复制
&---------------------------------------------------------------------
*& AT LINE-SELECTION:由在报表中按下F2或者双击键时启动.
*&---------
2.3.4.11 每页打印开始或结束调用
代码语言:javascript
复制
&---------------------------------------------------------------------
*& TOP-OF-PAGE:每页开始打印时执行,用于定义报表表头
*& END-OF-PAGE:报表打印完最后一页后启动
*&---------
&---------------------------------------------------------------------
*& END-OF-SELECTION:报表打印完后最后一页,如可用来打印出USER输入的条件
*&---------
2.3.4.12 FORM读取数据到内表
代码语言:javascript
复制
&---------------------------------------------------------------------
*& include FORM
*& 从表读数据到内表.
*&---------
FORM data_retireve.
SELECT * FROM __
INTO __
WHERE ___.
 IF SY-SUBRC = 0.

 ENDIF.

 APPEND INITIAL LINE TO _____. "增加 Internal Table 元素
ENDSELECT.
ENDFORM.
2.3.4.13 输出打印
代码语言:javascript
复制
&---------------------------------------------------------------------
*& Print Data:依次输出Internal Table的数据
*& 从表读数据到内表.
*&---------
FORM output_data.
WRITE:/ ____.
ENDFORM.

2.4 数据处理及基本语法

wirte经典语法

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-02-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 ERP全球顾问云平台 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2.1 数据类型
    • 2.1.1 系统预定义的数据类型
      • 2.1.1.1 文本型c
      • 2.1.1.2 日期和时间类型D和T
      • 2.1.1.3 I整数类型和N字符串整形
      • 2.1.1.4 P和F浮点数类型
  • 2.1.2 自定义数据类型
  • 2.2 数据对象定义
    • 2.3.1 普通对象的定义(参考前面基本类型应用)
      • 2.3.2 常量
        • 2.3.3 系统常用的一些变量
          • 2.3.4 可以直接定义结构对象,可以like对象定义
            • 2.3.5 结构对象作为另外一个对象的一部分
              • 2.3.6 结构对象的include
              • 2.3 程序基本结构及功能
                • 2.3.1 NO STANDARD PAGE HEADING表示不展示抬头
                  • 2.3.2 MESSAGE-ID
                    • 2.3.3 非alv的列行设置,一般没人用了
                      • 2.3.4 后续结构说明
                        • 2.3.4.1 include引用
                        • 2.3.4.2 描述引用的表
                        • 2.3.4.3 描述定义的类型以及数据对象
                        • 2.3.4.4 屏幕输入报表筛选条件等
                        • 2.3.4.5 程序开始时的调用,一般很少用了
                        • 2.3.4.6 程序变量初始化的默认值
                        • 2.3.4.7 选择屏幕时触发
                        • 2.3.4.8 开始选择前触发,例如打印时抓取数据
                        • 2.3.4.9 一些命令按钮的调用
                        • 2.3.4.10 双击或者F2单元格时调用
                        • 2.3.4.11 每页打印开始或结束调用
                        • 2.3.4.12 FORM读取数据到内表
                        • 2.3.4.13 输出打印
                    • 2.4 数据处理及基本语法
                    相关产品与服务
                    腾讯云 BI
                    腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档