ABAP开发关键字总结

ABAP开发关键字总结关健字是语句的第一个词 它决定整个语句的意义 有四种不同类型的关健字 nbsp nbsp 1 说明性关健字 nbsp nbsp nbsp nbsp nbsp TYPES DATA TABLES 这些关健字说明定义数据类型或者说明程序可以访问的数据对象 nbsp nbsp nbsp nbsp nbsp TYPES nbsp nbsp nbsp nbsp 用来定义数据结构类型 nbsp nbsp nbsp nbsp nbsp nbsp DATA nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 用来定义数据结构对象 nbsp nbsp nbsp nbsp nbsp nbsp TABLES nbsp 用来声明 Table nbsp

关健字是语句的第一个词,它决定整个语句的意义,有四种不同类型的关健字 . 

1.说明性关健字 

    TYPES,DATA,TABLES,这些关健字说明定义数据类型或者说明程序可以访问的数据对象 

    TYPES:    用来定义数据结构类型 。 

    DATA:        用来定义数据结构对象 。 

    TABLES: 用来声明Table Work Area 的数据  。 

    — TYPES与DATA的区别是,TYPES是用来自定义某种类型的,需要DATA语句实例化后才可以使用 

    — DATA是用来声明基本数据类型对象(实体变量),对于用DATA直接定义的结构体对象(不参照其它结构类型),其同时也是一个结构类型 。 

    TYPE:  用来指定数据型态或宣告自定数据型态 。 

    LIKE:    LIKE 用在已有值的数据项 。 

    — TYPE后面跟随的只能是某种类(型),而LIKE后面可以跟实例对象 ; 

    — 参照结构体对象生成内表时只能用LIKE,不能用TYPE,因为结构体对象不是类型,只是一种实例对象 ; 

    — 参照结构类型生成内表时可以用LIKE也可以用TYPE.其中通过LIKE定义的内表直接拥有参照结构类型的元素结构; 

    — 定义的内表只能间接拥有被参照结构类型的元素结构,结构类型不能作为内表的工作区,只有结构体对象才可以; 

    CONSTANTS :用来声明常数 

    STATICS   :用来在当前程序中声明静态变量 ,程序结束后自动释放内存 ; 

    TYPES: begin of name_type , 

                 name(20) type  c , 

                 sex(2)        type  c , 

                 age            type     i , 

                 end of name_type . 

    — 定义了个name_type 结构体类型 。                 

    DATA: name type name_type . 

    — 定义了个name对象,其类型为name_type . 

    data: begin of name_type , 

                name(20)    type c , 

                sex(2)        type c , 

                age                type i , 

                end fo name_type . 

    — 定义了个name_type结构体对象。       

     

2.事件关健字 

    这些关健字在ABAP中定义处理块,处理块是当特定事件发生时进行处理的语句组 

    — 多用于report 

    INITIALIZATION : 在选择屏幕显示前,对变量进行初始化赋值 

    AT SELECTION-SCREEN : 对选择屏幕的数据输入进行检查 

    START-OF-SELECTION  : 选择屏幕处理完后,数据的处理 

    TOP-OF-PAGE                    : 列表显示启动新页,页头的输出 

    END-OF-PAGE                    : 一页结束时,页尾的处理 

    AT LINE-SELECTION      : 用户双击选中某行触发该事件 

    AT PF                             : 设置自定义的菜单 

    AT USER-COMMAND            : 当用户功能健时,触发该事件

3.控制关健字 

    条件分支 

    data flag type c value ‘a’ . 

    if flag = ‘a’ . 

        write:/’A’. 

    elseif flag = ‘b’. 

      write: / ‘B’ . 

    else . 

      write: /’error’ . 

    endif . 

    — 每个判断语句之后都要加句号(.) 。 

    CASE 条件分支 

    DATA:     

        TEXT1   VALUE ‘X’, 

        TEXT2   VALUE ‘Y’, 

        TEXT3   VALUE ‘Z’, 

        STRING  VALUE ‘A’. 

    CASE STRING. 

       WHEN TEXT1. 

            WRITE: / ‘String is’, TEXT1. 

        WHEN TEXT2. 

            WRITE: / ‘String is’, TEXT2. 

        WHEN TEXT3. 

            WRITE: / ‘String is’, TEXT3. 

        WHEN OTHERS. 

            WRITE: / ‘String is not’, TEXT1, TEXT2, TEXT3. 

    ENDCASE.    

    –计次循环 

    DO 2 TIMES . 

        WRITE: / ‘X’ . 

    ENDDO . 

    DO VARYING I FROM 1 TO 10 

        S = S + I . 

    ENDDO . 

    — 无穷循环 

    DO . 

        XXXX 

    ENDDO . 

    — 条件循环 

    WHILE I<= 10 . 

        S = S + I . 

        I = I + 1. 

    ENDWHILE . 

    — 使用循环要避免死循环    。        

    — 在语句块中至少应包含一个 EXIT、 STOP 或 REJECT 语句,以便系统能够退出循环。 

    循环控制 

    1) CONTINUE : 跳至循环的下一次 。(无条件终止一次循环) 

             DO   3  TIMES. 

              IF  SY-INDEX = 2. 

                 CONTINUE. 

              WRITE / SY-INDEX. 

          ENDDO. 

          执行结果:  

                       1 

                       3  

   2) CHECK : 满足check条件之后才继续往下执行循环(有条件终止循环) 

   DO  5  TIMES. 

                  CHECK  SY-INDEX  BETWEEN  2  AND  4. 

                  WRITE  /  SY-INDEX. 

              ENDDO. 

          执行结果: 

                      2 

                      3 

                      4 

   3) EXIT :  跳离循环 (完全终止循环) 

                    DO  10  TIMES. 

                IF  SY-INDEX = 4. 

                  EXIT. 

                ENDIF 

               WRITE / SY-INDEX. 

           ENDDO. 

           执行结果: 

                        1 

                        2 

                        3                                                 

4.操作关健字

    WRITE

write 用来在屏幕上打印输出数据。

write : ‘ 输出内容 ‘’ .

write at [/] [ ] [

]

/ : 换行,下一列

pos:屏幕X坐标

len: 显示长度

 

write: 数据项 显示参数

   LEFT-JUSTIFIED              数据靠左显示 

   CENTERED                     数据靠中间显示 

   RIGHT-JUSTIFIED            数据靠右显示  

   UNDER 

                    在数据项

的 X轴开始坐标显示 

   NO-GAP                          紧接着显示, 不留空格 

   USING EDIT MASK 

   使用内嵌字符显示, 如 11:20:30 

   USING NO EDIT MASK      不使用内嵌字符 

   NO-ZERO                        数字前面 0 的部分不显示 

   NO-SIGN                         不显示正负号 

   DECIMALS 

                显示 d 位小数字数 

   EXPONENT 

                F(浮点数) exponent 的值 

   ROUND 

                     四舍五入至小数位数下 r 位 

   CURRENCY 

                币别显示 

   DD/MM/YY                      日期显示格式 

   MM/DD/YY 

   DD/MM/YYYY 

   MM/DD/YYYY 

   DDMMYY 

   MMDDYY 

   YYMMDD

sikp [n] : 空N行 

WRITE  

  AS  ICON  :显示系统图标 

WRITE  

  AS  SYMBOL  :显示系统符号 

— 选择 “Edit” 下的 “Insert Statement”, 选 “WRITE”   接下来选择要查的群组, 如 SYMBOL 或 ICON,  按下 “Display” 即可查看所有系统图标或符号 。 

WRITE  
<资料项>
  AS   CHECKBOX.  作为checkbox显示 

— 以字符串数据内容的第一个字符为 CHECK BOX 的输出, 如果是空白, CHECK BOX 显示为空白,  相反则显示 X , 

 

MOVE

MOVE  

  TO  

 :将F1的值保存到F2中,等同于F2 = F1 , 内表同样适用。 

MOVE  

[+

]  TO   

[+

]  :将字符串中指定字符保存到指定字符串中 。 



data: f1(10) type c value ‘ABCDEFGHIJ’ , 

        f2(10) type c value ‘ZZZZZZZZZ’ . 

MOVE F1+3(5) TO F2+3(5) . 

f2为:ZZZDEFGHZZ . 

MOVE –CORRESPONDING   

  TO  

.将 Strings1中的 field组件的数据复制至String2 中, 仅复制相同名称的组件 

DATA: BEGIN  OF  ADDRESS, 

                  FIRSTNAME(10)  VALUE  ‘LULU’, 

                  LASTNAME(10)  VALUE  ‘CHOU’, 

                  TEL(12)  VALUE  ‘’, 

                  END  OF   ADDRESS. 

        DATA:BEGIN  OF   NAME, 

                 FIRSTNAME(10), 

                 LASTNAME(10), 

                 E_MAIL(30), 

                 END  OF   NAME. 

          MOVE-CORRESPONDING  ADDRESS  TO   NAME. 

          NAME-FIRSTNAME 变成 ‘LULU’, NAME-LASTNAME 变成 ‘CHOU’,  而 NAME-E_MAIL 则不变 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/205515.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午5:50
下一篇 2026年3月19日 下午5:51


相关推荐

  • linux添加静态路由命令_linux route add永久路由

    linux添加静态路由命令_linux route add永久路由linux下静态路由修改命令方法一:添加路由routeadd-net192.168.0.0/24gw192.168.0.1routeadd-host192.168.1.1dev192.168.0.1删除路由routedel-net192.168.0.0/24gw192.168.0.1add增加路由del删除路由-net设置到某…

    2022年10月4日
    7
  • Mysql索引整理总结

    一、索引概述1. 简介索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。举例说明索引:如果把数据库中的某一张看成一本书,那么索引就像是书的目录,可以通过目录快速查找书中指定内容的位置,对于数据库表来说,可以通过索引快速查找表中的数据。2. 索引的原理索引一般以文件形式存在磁盘中(也可以存于内存中),存储的索引的原理大致概括为以空…

    2022年2月27日
    53
  • 使用 Java8的 stream对list数据去重,使用filter()过滤列表,list转map「建议收藏」

    使用 Java8的 stream对list数据去重,使用filter()过滤列表,list转map「建议收藏」list去重,根据对象某个属性、某几个属性去重去除List中重复的StringListunique=list.stream().distinct().collect(Collectors.toList());去除List中重复的对象//Person对象publicclassPerson{privateStringid;…

    2022年5月9日
    400
  • 科大讯飞发布新模型,率先在全国产算力平台性能达到国际竞品效率的93%

    科大讯飞发布新模型,率先在全国产算力平台性能达到国际竞品效率的93%

    2026年3月14日
    2
  • MinGW-w64的安装及配置教程

    步骤:1.下载MinGW-w642.安装MinGW-w643.配置MinGW-w64路径4.验证安装MinGW的全称是:MinimalistGNUonWindows。它实际上是将经典的开源C语言编译器GCC移植到了Windows平台下,并且包含了Win32API,因此可以将源代码编译为可在Windows中运行的可执行程序。而且还可以使用一些Windows不具备的,Linux平台下的开发工具。一句话来概括:MinGW就是GCC的Windows版本。MinGW

    2022年4月8日
    355
  • springcloud原理详解_数据库底层实现原理

    springcloud原理详解_数据库底层实现原理天天喊着微服务,微服务的,微服务怎么牛逼,微服务有多强大,学好微服务三天不用吃饭的那种?那我心里不禁一紧微服务到底是个啥?往下看!总有东西有点帮助!先来个简单的介绍吧!SpringCloud框架针对这个架构图我分层介绍一下:1、是web服务器的选型,这个我选择的是nginx+keepalived,haproxy也是一个选择,但是haproxy在反向代理处理跨域访问的时候问题很多…

    2025年9月6日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号