赞
踩
系统变量是SAP自定义的变量,在ABAP程序编写过程中,可以直接使用而不需要定义,所有的系统变量都存放在结构SYST里,可以SE11直接参看。下面把一些常用的系统变量总结出来,大家在编写程序的时候可以参考一下。
SY-MANDT:R/3 系统, 登录的客户机编号
SY-LANGU:R/3 系统,当前语言
'当前用户的本地时区:',SY-ZONLO ,'当前用户的本地时间:',SY-TIMLO,'当前用户的本地日期:',sy-DATLO.
时区表TTZZ
函数IB_CONVERT_INTO_TIMEZONE获取用户所在时区
函数IB_CONVERT_INTO_TIMESTAMP获取输入日期时间时区转换成时间戳
函数IB_CONVERT_FROM_TIMESTAMP通过时间戳和时区转换成日期时间
- DATA:time_stamp TYPE tzonref-tstamps,
- e_datlo TYPE sy-datlo,
- e_timlo TYPE sy-timlo.
-
-
- CALL FUNCTION 'IB_CONVERT_INTO_TIMESTAMP'
- EXPORTING
- i_datlo = sy-datlo
- i_timlo = sy-timlo "时间
- i_tzone = sy-zonlo "'UTC+8'“时区”
- IMPORTING
- e_timestamp = time_stamp.
- CALL FUNCTION 'IB_CONVERT_FROM_TIMESTAMP'
- EXPORTING
- i_timestamp = time_stamp
- i_tzone = 'UTC+1'
- IMPORTING
- e_datlo = e_datlo "日期
- e_timlo = e_timlo. "时间
查询条件where后面写着WHERE spras = sy-langu
SY-DATUM:日期和时间,当前(应用服务器)日期
SY-UZEIT:日期和时间,当前应用服务器时间
SY-UNAME:R/3 系统, 用户登录名
SY-FDAYW:日期和时间,工厂日历工作日
SY-REPID:现在的ABAP程序员
SY-TCODE:现在的事务代码
SY-CPROG:ABAP 程序,外部过程中的调用者
SY-CALLD:ABAP 程序, ABAP 程序调用模式
SY-BATCH:后台的程序运行 (X)
SY-BINPT:批输入,批次输入下的程序运行
SY-SLSET:选择屏幕,变式名称
SY-SUBRC:返回值, ABAP 报表之后返回值 执行成功,返回值为0.
SY-INDEX:循环,当前通过的编号
SY-TABIX:表索引
SY-DBCNT:DB 操作: 处理过的表行号
SY-UCOMM:屏幕,PAI 触发的功能代码
SY-ABCDE:常量: 字母表 (A, B, C, ...)
SY-TFILL:内部表格,当前行号
SY-TLENG:内部表格,行宽度
SY-FDPOS:字符串,字符串中的偏移量
SY-MSGID:消息, 消息类
SY-MSGNO:消息, 消息编号
SY-MSGTY:消息,消息类型
SY-MSGV1:消息,消息变量
SY-MSGV2:消息,消息变量
SY-MSGV3:消息,消息变量
SY-MSGV4:消息,消息变量
SY-PAGNO:清单创建,当前页
SY-COLNO:清单创建,清单的当前列
SY-LINNO:清单创建,当前行
SY-ULINE:常量,长度为 255 的水平行
SY-MACOL:打印清单,SET MARGIN 声明的列
SY-VLINE:常量,垂直条
SY-MAROW:清单打印,SET MARGIN 声明的行
SY-PRIMM:打印参数,立即打印
SY-PRREL:打印参数,打印后删除
SY-PRNEW:打印参数,新假脱机请求
SY-PDEST:打印参数,输出设备
SY-PRCOP:打印参数,拷贝数
SY-SPONO:打印清单,假脱机编号
SY-DYNNR:ABAP 程序, 当前屏幕的编号
SY-DYNGR:ABAP 程序, 当前屏幕的屏幕组
SY-DATAR:屏幕, 显示用户输入
SY-SCOLS:屏幕,列编号
SY-SROWS:屏幕,行号
SY-CUCOL:屏幕,PAI 的水平光标位置
SY-CUROW:屏幕,PAI 的垂直光标位置
SY-TITLE:屏幕,标题文本
SY-STEPL:屏幕,当前表行索引
SY-LOOPC:屏幕,表中可见的行号
SY-PFKEY:屏幕: 当前 GUI 状态
abap_true 默认'X'
abap_false 默认''
sprx_true 默认'X'
sprx_false 默认''
系统变量,记录登陆系统的语言。"今天看别人的程序看到有个查询条件where后面写着WHERE spras = sy-langu"很用可能是取描述的时候,因为描述字段可能会维护多个语种。
12、使用SELECT语句选择查询:
SY-SUBRC = 0: 至少有一行数据,当ENDSELECT语句执行完,SY-DBCNT中保存着记录的个数。
SY-SUBRC = 4: 没有数据。
SY-SUBRC = 8: 只有使用“SELECT SINGLE FOR UPDATE”时才会有,
表示: WHERE条件指定的记录不止一行,结果是没有记录被选中。
直接在syst结构里面可以找到
abap系统变量
SY-SUBRC: 系统执行某指令后,表示执行成功与否的变量,0表示成功
SY-DBLNT: 被处理过的记录的笔数
SY-UNAME: 当前使用者登入SAP的USERNAME
SY-DATUM: 当前系统日期
SY-UZEIT: 当前系统时间
SY-TCODE: 当前执行程序的Transaction code
SY-REPID: 当前程序名称
SY-INDEX : 当前LOOP循环过的次数
SY-TABIX: 当前处理的是internal table 的第几笔
SY-TMAXL: Internal table的总笔数
SY-SROWS: 屏幕总行数
SY-SCOLS: 屏幕总列数
SY-MANDT: 當前系統編號(CLIENT NUMBER)
SY-VLINE: 画竖线
SY-ULINE: 画横线
SY-PAGNO: 当前页号
SY-LINSZ: 当前报表宽度
SY-LINCT: 当前报表长度
SPACE: 空字符串
SY-LSIND: 列表索引页
SY-LISTI: 上一个列表的索引
SY-LILLI: 绝对列表中选定行的行号
SY-CUROW: 屏幕上的行
SY-CUCOL: 光标列
SY-CPAGE: 列表的当前显示页
SY-STARO:真实行号
SY-LISEL: 选择行的内容,长度为255
SY-LINNO: 当前行
SY-SUBRC:语句执行后的返回值,0表示成功
SY-DATUM:当前服务器日期
SY-UZEIT:当前服务器时间
SY-ULINE:255长度的水平线
SY-VLINE:垂直线
SY-INDEX:循环说执行的次数
SY-TABIX:内表循环的次数
SY-DYNNR:当前Screen号
SY-MANDT:当前登录的Client号
SY-STEPL:返回当前操作的屏幕行号(Table Control)
SY-LOOPC:当前表格控件在屏幕中的总行数(Table Control)
SY-UCOMM:PAI所出发的功能代码
SY-DYNNR:当前屏幕号
SY-MSGID:Message Class
SY-MSGNR:Message Number
SY-MSGTY:Message Type
SY-MSGV1~4:Message Variant
SY-LINCT:REPROT语句中设定的LINE-COUNT
SY-LINSZ:REPROT语句中设定的LINE-SIZE
SY-SROWS:当前窗口的列表行数
SY-SCOLS:当前窗口的列表栏目数
SY-PAGNO:当前页的页码
SY-LINNO:当前选定行的行号
SY-COLNO:当前选定列的列号
SY-LSIND:当前列表索引,第一级列表为1
SY-LILLI:选择某行时光标行位置
SY-CUROW:选择某行时光标列位置
SY-ABCDE 常量,A-Z字母表
SY-BATCH 后台的程序运行
SY-COLNO:当前选定列的列号
SY-CPAGE 列表的当前显示页
SY-CUCOL 屏幕,PAI 的水平光标位置
SY-CUROW:选择某行时光标列位置
sy-datar:在PAI中,如果屏幕上至少有一个输入字段的值被用户或其他数据传输所更改,则为“X”,否则为初始值。
sy-datlo:用户的当前日期
SY-DATUM 服务器日期
SY-DYNNR 当前屏幕的编号
SY-INDEX 循环的次数(DO While)
SY-LANGU 当前登录语言
SY-LILLI:选择某行时光标行位置
SY-LINCT 当前报表长度 (REPROT语句中设定的LINE-COUNT)
SY-LINNO 当前选定行的行号
SY-LINSZ 当前报表宽度(REPROT语句中设定的LINE-SIZE)
SY-LISEL 选择行的内容,长度为255
SY-LISTI 上一个列表的索引
SY-LOOPC:当前表格控件在屏幕中的总行数(Table Control)
SY-LSIND:当前列表索引,第一级列表为1
SY-MSGID 消息, 消息类
SY-MSGTY 消息,消息类型
SY-MSGNO 消息, 消息编号
SY-MSGV1 消息,消息变量1
SY-MSGV2 消息,消息变量2
SY-MSGV3 消息,消息变量3
SY-MSGV4 消息,消息变量4
SY-PAGNO 当前页号
SY-SCOLS:当前窗口的列表栏目数
SY-SLSET 选择屏幕的变式名称
SY-SROWS:当前窗口的列表行数
SY-STARO 真实行号
SY-STEPL:返回当前操作的屏幕行号(Table Control)
SY-SUBRC 执行状态
SY-TABIX 当前处理的内表的Index
SY-TCODE 当前的事务代码
SY-UCOMM:PAI所出发的功能代码
SY-ULINE 水平线
SY-UNAME 用户名
SY-UZEIT 服务器时间
SY-VLINE 垂直线
附加几个系统常用函数
SHIFT STRING:左移字符串。长度减1。
CONCATENATE:连接字符串。
SPLIT:拆分字符串。
SEARCH:查询字符串。
REPLACE:替换字符串。
CONDENSE:删除多余的空格。
TRANSLATE:转换字符格式,如将'ABC'转换为'ABC'
CONVERT TEXT:创建一个可排序的字符串。
OVERLAY:用一个字符串覆盖另一个字符串。
STRLEN:字符串长度。
ABS:取绝对值。
COS、SIN、TAN:取三角函数值。
ACOS、ASIN、ATAN:反三角函数。
COSH、SINH、TANH:双曲函数。
EXP:E的幂函数。
LOG:底数为E的对数。
LOG10:底数为10的对数。
SQRT:平方根。
SIGN:返回参数符号。
TRUNC:返回参数的整数部分。
FRAC:输入参数的小数部分。
CEIL:返回不小于参数的最小整数。
FLOOR:返回不大于参数的最小整数。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。