我们一起学ABAP (02)~基础语法与数据类型,输出到屏幕

转载地址:http://blog.csdn.net/qq_37625033/article/details/65629622

1、ABAP(ABAP/4)的基本语法

基本数据类型属性

 DECIMALS  可以在数据类型后制定小数位的个数。


1.1、规则和几点建议

    a. 我们常犯的低级错误~  语法切换(中英)时,忽略了符号的差异,计算机会把不同的符号解释成不同的意义!

    b. 不要用词典的释义来理解你在编程中遇到的单词,两者之间是有很多差异的,不建议这样的学习方法,是弯路!           c.  ABAP中是用 句号 "." 来表示一个语句的结束符号.

    d.  ABAP 中用 双引号( " )作为单行注释符号(有些书上又称它 “右注释符号”),  用 星号(*) 做为多行注释符号,

      字符串修饰符号,单引号( '  ' ).

2、变量的声明:

关键字”DATA“,  要注意的是,声明多个变量时,DATA关键字后面必须加上冒号”“,否则会出现语法错误。变量名最长30个字元,不能含有 "+" 、"-"、 "*" 、"/" 、"()"等字符。

语法:

DATA  <变量名>(长度)  TYPE <数据类型>  VALUE<默认值>

示例:(注意长度和默认值都可以不写,则系统会自行给个”默认值“。下面的几种声明都是语法正确的。)

DATA:  test(10)  TYPE  C  VALUE 'Hello SAP',

            test1(10)   TYPE  I ,

            test2  TYPE  P,

            test   TYPE  I   VALUE '10'.

如果你自己写默认值了,那么这个值就必须与前面声明的类型一致,长度也最好一致,否则会”截取“声明时的长度来处理运行结果。


2.1、系统保留字     ( 就是:系统自已 专用的名词。)



2.2、 以参考的形式定义变量 , 关键字 "LIKE"

语法:(同样的,单个不用加冒号,多个(大于1)必须加冒号”:“)

DATA  <变量1>  LIKE <变量2>


2.3、变量的初始化   关键字 "CLEAR"

语法:(同样的,单个不用加冒号,多个(大于1)必须加冒号”:“)

CLEAR <变量名>


3、常量

 常量:一旦被定义就会长期保存,并且其值不可改变(修改)的变量。

关键字 "CONSTANS"  (和定义变量唯一的区别是用的关键字不同,语法雷同.)

语法:(单个不加冒号,多个(大于1)必须加冒号”:“)

   CONSTANTS  <变量名>(长度)   TYPE <数据类型>  VALUE(默认值)

例子:decimals 用于指定小数位,前面有讲。

 CONSTANTS  PI  TYPE  P  DECIMALS  5  VALUE '3.14159'.


4、STATICS  定义

我对这个关键字的理解是,定义一个临时的变量,当它所在的程序结束后,它就会被释放(清除)。

 语法:(单不加,否则必须加冒号)

STATICS <变量名>(长度) <数据类型>    <默认值>  <decimals这个随意,有木有都可以>


5、自定义变量类型

关键字 "TYPES"

语法: 单不加,否则必须加冒号

 TYPES <变量名> (长度)   <数据类型>  <可有可无的decimals>

栗子:(单不加,否则必须加冒号)

 TYPES:  NAME(10)  TYPE C,

                NUMBER  TYPE  I.

DATA:  PLAUER  TYPE  NAME  VALUE 'JERY TANG', "定义类型为NAME(ABAP中注释符号为英文中的双引号'" ') 

            NICKNAME  LIKE  PLAUER.


6、结构体的定义

结构体:也是一种数据类型,但不属于基本的数据类型。是一种临时创建的,有多个变量组成的临时对象。

关键字: DATA          Begin  of   ... End of

语法:

    DATA: BEGIN OF <结构体名字>

                   <字段1>

                   <字段2>

                      ......

               END OF<结构体名字>.

栗子:

    DATA BEGIN OF ADDRESS,

                      NAME(10)   TYPE  C,

                      NUMBER     TYE   P,

                END OF ADDRESS.

注意; 定义好后,就可以这样使用了,如: ADDRESS-NAME. (可以把这个看作一个定义好的变量)


6.1、结构体的赋值

a、ABAP中可以使用 "WRITE"语句来输出结果。

b、ABAP中可以对定义了具体字段名字的结构体直接赋值。

c、相同的结构可以直接用 等号 "="来数显数据的相互复制。

d 、相同结构体可以使用 "MOVE ......TO...."语句进行赋值,不同结构体可以使用 ”MOVE-CORRESSPONDING"将两个结构体之间相同的字段自动匹配并赋值。


举个栗子:

USERINF-SID  =  'A00001'.

USERINF-NAME = 'JERY'.

USERINF-TEL = '010-12345678'.

USER2 = USERINF.   

WRITE: USER2, USERINF-SID.

"输出结果为:   A00001     JERY         010-123456     A00001


栗子:

DATA: BEGIN OF USERDETALL,

                SID(10)  TYPE  C,    "编号

                NAME(20)  TYPE  C,  "姓名

                BIRDATE  TYPE D,  "出生日期

                ADD(50)  TYPE  C,    "地址

            END OF USERDETALL.

MOVE-CORRESSPONDING  USERINF TO USERDETALL.    

注意:相同字段之间进行数值传递(相互赋值),其他的不同类型字段的值将为空!

结构体的另外一种赋值方式:继承式赋值(学到继承再一起学习哈~)


7、WRITE语句的使用(在屏幕中定位输出

语法:("/" 这个斜杠在ABAP中用作换行符号)

      WRITE AT [/] <位置> (长度) <变量名>

位置:最长为三位数字的变量或者数字,表示在屏幕上 的位置。  另外,如果格式规范只包含直接量(PS:不是变量的值都是直接量),可以忽略关键字 AT。

 栗子:

REPORT Z7003.


WRITE :  ' First line' .

WRITE :  / 10 'First  line',

                   24  'Test  write' .

WRITE :  / (5) 'First line',

                   24  ' Test  write' .


结果样式如下:



7.1、WRITE语句格式化输出  

         

 格式化选项                                   用途                                                                                              



7.2、日期字段格式化

        选项                                    用途                                                               



7.3 、符号图标的输出

语法:(当然关键字必须和名字的值类型一样,不然无法识别 ,报错。)

 WRITE <符号的名字> AS SYMBOL.

 WRITE <图标的名字>   ASICON.

栗子:

INCLUDE  <SYMBOL>.

INCLUDE  <ICON>.

WRITE: /  'Phone Symbol:' , SYM_PHONE  AS  SYMOL.

SKIP.

WRITE:  /  'Alarm lcon: ' , ICON_ALARM  AS  ICON.


输出的结果和样式:




7.4、输出屏幕上的线空行

a、水平线

语法:

      ULINE AT [/] <起始位置> (长度)

等同于另一种写法:

       WRITE  AT [/]  <起始位置>(长度)SY-ULINE.


b、垂直线

语法:

           WRITEAT [/] <起始位置> SY-VLINE

等同于:

           WRITE AT [/] <起始位置> ' | '.


 c、空行 

语法: 

      SKIP [行数].

等同于:

      SKIP TOLINE<n>.



d、输出复选框

语法:

WRITE <F> AS CHECKBOX.


栗子:

DATA:  FLAG1  VALUE ' ' ,

            FLAG2  VALUE 'X' ,

            FLAG3(5)  VALUE 'Xenon'.


WRITE:  / 'Flag  1' ,FLAG1  AS CHECKBOX,

              / 'Flag   2' , FLAG2 AS CHECKBOX,

             /  'Flag   3' , FLAG3  AS CHECKBOX.


输出效果:



7.5、颜色输出

语法: 

 FORMAT [COLOR {{{color (ON)} | OFF}|{ = col}}]  "使用颜色

                 [INTENSIFIED[{ON|OFF}|{= flag}]]         “背景颜色

                 [INVERSE   [{ON|OFF} | { =flag }]]         "字体颜色


栗子:

DATA  col TYPE I VALUE 0.

DO 8 TIMES.

       col  =  sy-index - 1.

       FORMAT  COLOR  = col.

   WRITE:  / col   COLOR OFF,

                    'INTENSIFIED ON'  INTENSIFIED ON,

                     'INTENSIFIED OFF' INTENSIFIED OFF,

                      'INVERSE ON'    INVERSE ON.

ENDDO.       


输出结果和样式效果:


  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ABAP是一种用于SAP系统开发的编程语言,它是一种高级语言,用于在SAP环境中编写业务逻辑。ABAP语法是ABAP程序的书写规则,用于定义数据对象、变量、函数、方法等,以实现所需的功能。 ABAP的关键语法包括:数据类型定义、变量声明、语句结构、逻辑控制、循环结构、函数和方法定义等。通过这些语法,开发人员可以对数据进行处理、进行条件判断、循环操作以及定义自定义的功能模块。 ABAP语法中的数据类型定义包括:整数、浮点数、字符串、日期、时间等。开发人员可以根据需要选择合适的数据类型来定义变量,并进行数据操作。变量声明可以通过关键字"DATA"或"FIELD-SYMBOLS"进行,这些关键字可以指定变量的数据类型、长度、可见性等属性。 在ABAP语法中,还有一些重要的语句结构。例如,条件语句(IF...ELSE...ENDIF)用于根据条件选择不同的执行路径;循环语句(DO...END...WHILE)用于多次执行同一段代码;选择语句(CASE...WHEN...ENDCASE)用于根据不同的条件选择执行不同的代码块。 除此之外,ABAP语法还支持函数和方法的定义。函数是一段独立的代码块,可以接受输入参数并返回结果;方法则是与对象关联的代码块,用于对特定对象进行操作。 总之,ABAP语法是开发ABAP程序的基础,它提供了丰富的功能和灵活的语言结构,使得开发人员可以根据需要编写复杂的业务逻辑,并在SAP系统中实现各种功能。通过熟悉ABAP语法,开发人员可以高效地进行开发工作,并实现各种业务需求。 ### 回答2: ABAP(Advanced Business Application Programming)是一种用于SAP系统的编程语言,它最初是为SAP R/3系统开发的。随着SAP系统的升级和改进,ABAP也进行了相应的发展,现今最新版本是ABAP S/4HANA。 ABAP S/4HANA是在SAP S/4HANA平台上使用的ABAP版本,它与传统的ABAP有一些重要的区别。首先,ABAP S/4HANA采用了新的数据模型,即S/4HANA物料管理(Material Ledger)和简化数据模型(SIMM)等,这些模型使用了新的内部数据技术,提高了数据处理性能和效率。 其次,ABAP S/4HANA引入了新的ABAP编程范式,例如ABAP CDS(Core Data Services)。ABAP CDS提供了一种声明式的编程方式,用于定义和处理数据模型、服务和视图。这种新的编程范式可以更好地支持SAP S/4HANA中的新功能,并且使开发人员能够更轻松地创建和维护ABAP应用程序。 此外,ABAP S/4HANA还引入了更多的功能和特性,以优化开发和运行ABAP应用程序的性能。例如,它引入了ABAP Managed Database Procedures(AMDP),用于在数据库中执行复杂的计算和处理。它还提供了更好的集成工具,如ABAP Test Cockpit和ABAP Development Tools,用于支持开发和测试过程。 总结而言,ABAP S/4HANA是ABAP语言在SAP S/4HANA平台上的最新版本,它引入了新的数据模型、编程范式和功能,以更好地支持SAP S/4HANA系统,并提高开发和运行ABAP应用程序的性能。 ### 回答3: ABAP是一种高级业务应用程序编程语言,用于开发SAP软件解决方案。ABAP语法包括各种关键字、数据类型、操作符、语句和类等。 首先,在ABAP语法中,我们使用不同的关键字来声明变量、常量和数据类型。例如,使用“DATA”关键字来声明一个变量,使用“CONSTANTS”关键字来声明一个常量,并使用不同的数据类型(例如整数、字符、日期等)来定义变量或常量。这些关键字和数据类型使开发者能够方便地处理数据和进行计算。 其次,在ABAP语法中,我们可以使用各种操作符来进行数、逻辑和比较操作。例如,加号“+”用于加法运算,减号“-”用于减法运算,等号“=”用于比较操作等。这些操作符帮助我们在编写程序时进行各种运算和判断。 然后,在ABAP语法中,我们使用各种语句来实现不同的功能。例如,我们可以使用“IF”语句来实现条件判断,根据条件的结果执行不同的操作。我们还可以使用“DO”语句来实现循环操作,重复执行一段代码。此外,还有其他语句,例如“CASE”语句、 “LOOP”语句等,用于不同的编程需求。 最后,在ABAP语法中,我们还可以创建和使用类来组织和管理代码。类是一种封装了数据和方法的数据结构,可以实现面向对象的编程。通过创建类和使用类的方法,我们可以更好地管理代码,并实现可重用的功能。 综上所述,ABAP是一种用于开发SAP软件解决方案的编程语言,它有着丰富的语法规则,包括关键字、数据类型、操作符、语句和类等。了解和掌握ABAP语法对于开发高效、可靠的SAP应用程序至关重要。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值