99网
您的当前位置:首页ABAP-03 逻辑操作与系统变量

ABAP-03 逻辑操作与系统变量

来源:99网

逻辑操作

  • IF ELSE

    IF 'AA' CA 'BD'.
    ELSE.
    ENDIF.
    
    IF .
    ELSE IF.
    ELSE.
    ENDIF.
    
  • CASE

    CASE F.
    WHEN F11.
    WHEN F22.
    WHEN OTHERS.
    ENDCASE.
    
  • DO 循环结构
    系统字段:sy-index :为当前循环的索引次数

     DO 3 TIMES.   循环3次后会自动结束循环
     ENDDO.
    
     DO.
      EXIT:结束循环
      STOP:结束循环
      REJECT:结束循环
     ENDDO.
    
  • WHILE 循环结构

    WHILE 条件.
     CONTINUE:无条件终止当前循环,继续从while开始
     CHECK:有条件中止当前循环,继续从while开始
     EXIT:无条件完全中止循环,即退出循环
    ENDWHILE
    
  • LOOP 循环结构

    LOOP at 内容.
       sy-tabix -- 循环次数,序号
    ENDLOOP
    

系统变量

abap系统空量在syst结构里面可以找到【路径:se11–数据库表–syst】

  • SY-SUBRC:语句执行后的返回值,0表示成功
  • SY-DBLNT:被处理过的记录的笔数【更改数据库的时候会返回成功几条】
  • SY-UN4AME:当的使用者登入SAP的USERNAME
  • SY-DATUN:当前系统目期
  • SY-UZEIT:当前系统时间
  • SY-TCODE:当前执行程序的Transaction code,当前的事务代码
  • SY-REPID: 当前程序名称
  • SY-lNDEX:当的LOOP销环过的次数
  • SY-TABX:当前处理的是intcrnal table的第几笔
  • SY-BATCH:后台的程序运行【判断程序前台执行还是后台执行,后台执行的时候这个值等于X】
  • SY-MANDT:当前登录的client号【集团】
  • SY-UCOMM: PAI所出发的功能代码
  • SY-DYNNR:当前屏幕号,当前Screen号
  • SY-MSGID:Message class【消息号】
  • SY-MSGNR: Message Number【消息编号】
  • SY-MSGTY: Message Type【消息类型】
  • SY-MSGV1~4: Message variant
  • SY-MSGNO 消息, 消息编号
  • SPACE:空宇符串
  • SY-TABIX:内表循环的次数,当前处理的内表的Index
  • SY-STEPL:返回当管操作的屏幕行号[Table Control]
  • SY-LOOPC:当的表格拉件在屏幕中的总行数[Table Control]
  • SY-ABCDE:常量,A-Z字母表
  • SY-TMAXL: internal tabe的总笔数
  • SY-SROWS:屏幕总行数
  • SY-SCOLS:屏幕总列数
  • SY-VLINE:画竖线,垂直线
  • SY-UUNE:画横线,255长度的水平线
  • SY-PAGNO:当前页号
  • SY-LINSZ:当前报表宽度,REPROT语句中设定的LINE-SIZE
  • SY-LINCT:当前报表长度,REPROT语句中设定的LINE-COUNT
  • SY-LSIND: 列表索引页,当前列表索引,第一级列表为1
  • SY-LISTI: 上一个列表的索引
  • SY-LILLI: 绝对列表中选定行的行号,选择某行时光标行位置
  • SY-CUROW: 屏幕上的行
  • SY-CUCOL: 光标列
  • SY-CPAGE: 列表的当前显示页
  • SY-STARO:真实行号
  • SY-LISEL: 选择行的内容,长度为255
  • SY-LINNO: 当前行,当前选定行的行号
  • SY-DATUM:当前服务器日期
  • SY-ULINE:255长度的水平线
  • SY-INDEX:循环说执行的次数 (DO While)
  • SY-COLNO:当前选定列的列号
  • SY-DATAR:在PAI中,如果屏幕上至少有一个输入字段的值被用户或其他数据传输所更改,则为“X”,否则为初始值。
  • SY-DATLO:用户的当前日期
  • SY-LANGU 当前登录语言
  • SY-SLSET 选择屏幕的变式名称
  • SY-UNAME 用户名
SY-SUBRC
  • SELECT

    SY-SUBRC = 0: 至少有一行数据,当ENDSELECT语句执行完,SY-DBCNT中保存着记录的个数。
    SY-SUBRC = 4: 没有数据。
    SY-SUBRC = 8: 只有使用“SELECT SINGLE FOR UPDATE”时才会有,表示:WHERE条件指定的记录不止一行,结果是没有记录被选中。 
    
  • INSERT

    SY-SUBRC = 0: 插入成功,SY-DBCNT包含了插入的行数,0或1。
    SY-SUBRC = 4: 由于有相同的KEY存在,所以插入失败。
    
  • UPDATE

    SY-SUBRC = 0: 找到记录并更新
    SY-SUBRC = 4: 没有找到符合条件的记录,也没有更新。
    
  • DELETE

    SY-SUBRC = 0: 找到一行并删除之,如果该表有不唯一主键,也就是有多条重复的记录,则只删除第一条记录。
    SY-SUBRC = 4: 没有找到符合条件的记录,也没有删除
    

因篇幅问题不能全部显示,请点此查看更多更全内容