SAP变量用法

合集下载

SAP系统变量用法----ABAP程序系统字段中英文详解

SAP系统变量用法----ABAP程序系统字段中英文详解

SAP系统变量用法----ABAP程序系统字段中英文详解更新时间:2015-04-05 09:40:39编辑:SAP中文学习网点击:55 发表评论本文标签:系统字段变量SY-SUBRC: 系统执行某指令后,表示执行成功与否的变量,’0’表示成功SY-DBLNT: 被处理过的记录的笔数SY-UNAME: 当前使用者登入SAP的USERNAME;SY-DATUM: 当前系统日期;SY-UZEIT: 当前系统时间;SY-TCODE: 当前执行程序的Transaction codeSY-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: 选择行的内容,长度为255SY-LINNO: 当前行系统内部有一个专门存放系统变量的结构SYST,其中最常用的系统变量有:SY-SUBRC: 系统执行某指令后,表示执行成功与否的变量,’0’表示成功SY-UNAME: 当前使用者登入SAP的USERNAME;SY-DATUM: 当前系统日期;SY-UZEIT: 当前系统时间;SY-TCODE: 当前执行程序的Transaction codeSY-REPID: ABAP 程式名,目前的主程式SY-CPROG: ABAP 程式名SY-SYSID: R/3 系統,R/3 系統名稱SY-UCOMM: 畫面,PAI 驅動的功能代碼,一般用來參照定義變量SY-INDEX : 当前LOOP循环过的次数READ TABLE it_po INDEX 1 此時變量值1 SY-TABIX: 当前处理的是internal table 的第几笔下面說下sy-index 和sy-tabix的區別sy-index和sy-tabix都是系统字段,用来记录循环的次数。

sap data关键字用法

sap data关键字用法

sap data关键字用法
SAP Data关键字用法包括以下几个方面:
1. DATA声明:在ABAP程序中,可以使用DATA关键字来
声明一个数据对象(变量)。

例如:DATA lv_variable TYPE c LENGTH 10.
这个语句声明了一个长度为10的字符型变量lv_variable。

2. DATA对象初始化:可以使用DATA关键字来初始化数据
对象。

例如:DATA lv_variable TYPE i VALUE 0.
这个语句声明了一个整型变量lv_variable并将其初始化为0。

3. DATA对象赋值:可以使用DATA关键字来给数据对象赋值。

例如:DATA(lv_variable) = 10.
这个语句将整型变量lv_variable的值赋为10。

4. DATA对象类型转换:可以使用DATA关键字进行数据类
型转换。

例如:DATA(lv_variable) = |{ lv_variable }|.
这个语句将整型变量lv_variable的值转换为字符型并赋给
lv_variable。

5. DATA对象范围:可以使用DATA关键字的不同范围,如
全局变量、局部变量等。

例如:DATA: gv_global TYPE i.
这个语句声明了一个全局整型变量gv_global。

总而言之,SAP Data关键字用于声明、初始化和操作数据对象,可以根据需要指定不同的范围和数据类型。

SAP变量用法

SAP变量用法

SAP系统变量用法----ABAP程序系统字段中英文详解SY-SUBRC: 系统执行某指令后,表示执行成功与否的变量,’0’ 表示成功SY-DBLNT: 被处理过的记录的笔数SY-UNAME: 当前使用者登入SAP的USERNAME;SY-DATUM: 当前系统日期;SY-UZEIT: 当前系统时间;SY-TCODE: 当前执行程序的Transaction codeSY-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: 选择行的内容,长度为255SY-LINNO: 当前行系统内部有一个专门存放系统变量的结构SYST,其中最常用的系统变量有:SY-SUBRC: 系统执行某指令后,表示执行成功与否的变量,’0’ 表示成功SY-UNAME: 当前使用者登入SAP的USERNAME;SY-DATUM: 当前系统日期;SY-UZEIT: 当前系统时间;SY-TCODE: 当前执行程序的Transaction codeSY-REPID: ABAP 程式名,目前的主程式SY-CPROG: ABAP 程式名SY-SYSID: R/3 系統,R/3 系統名稱SY-UCOMM: 畫面,PAI 驅動的功能代碼,一般用來參照定義變量SY-INDEX : 当前LOOP循环过的次数 READ TABLE it_po INDEX 1 此時變量值1SY-TABIX: 当前处理的是internal table 的第几笔下面說下sy-index 和 sy-tabix的區別sy-index和sy-tabix都是系统字段,用来记录循环的次数。

SAPABAP基本语法介绍

SAPABAP基本语法介绍

SAPABAP基本语法介绍ABAP(Advanced Business Application Programming)是SAP (System, Applications, and Products in Data Processing)系统最常用的编程语言之一,主要用于SAP软件开发和定制。

ABAP具有强大的功能和灵活性,可用于创建和维护企业应用程序,包括各种业务流程和数据处理。

在本文中,我将介绍ABAP的基本语法和一些常见的编程概念。

1.ABAP程序结构ABAP程序由多个模块组成,每个模块都是独立的功能单元。

一个ABAP程序通常由一个开始模块和若干子模块组成。

开始模块包含程序的整体逻辑,而子模块用于实现程序的具体功能。

2.声明变量在ABAP中,变量需要先声明后才能使用。

变量可以是内部表、字段符号、工作区、宏定义等。

声明变量时需要指定数据类型和名称。

例如:DATA: lv_name TYPE string.3.控制语句ABAP支持多种控制语句,用于实现条件判断、循环和跳转等功能。

常见的控制语句包括IF语句、CASE语句、DO循环和WHILE循环等。

例如:WRITE: 'Number is 1'.WRITE: 'Number is 2'.ELSE.WRITE: 'Number is neither 1 nor 2'.ENDIF.4.数据操作ABAP提供了丰富的数据操作函数,可用于对数据进行处理和转换。

例如,可以使用CONCATENATE函数将多个字符串连接在一起,使用SUBSTRING函数获取字符串的子串,使用REPLACE函数替换字符串中的内容等。

5.内部表ABAP中的内部表类似于其他编程语言中的数组或列表,用于存储和处理数据。

内部表可以是标准表、排序表、哈希表等类型。

可以使用内部表来读取、修改和删除数据。

例如:SELECT * FROM kna1 INTO TABLE lt_customers WHERE land1 ='US'.6.函数模块和方法ABAP中的函数模块类似于其他编程语言中的函数或方法。

SAP ABAP常用系统变量

SAP ABAP常用系统变量
SY-LINNO: 当前行
常用的系统变量如下: 1. SY-PAGNO当前页号
2. SY-DATUM当前时间
3. SY-LINSZ:当前报表宽度
4. SY-LINCT:当前报表长度
5. SPACE:空字符
6. SY-SUBRC:执行状态为0,表示成功
42. COSH、SINH、TANH:双曲函数
43. EXP:E的幂函数
44. LOG:底数为E的对数
45. LOG10:底数为10的对数
46. SQRT:平方根
47. SIGN:返回参数符号
48. TRUNC:返回参数的整数部分
49. FRAC:输入参数的小数部分
系统常用函数29. SHIFT STRING:左移字符串。长度减1
30. CONCATENATE:连接字符串
31. SPLIT:拆分字符串
32. SEARCH:查询字符串
33. REPLACE:替换字符串
34. CONDENSE:删除多余的空格
35. TRANSLATE:转换字符格式,如将'ABC'转换为'ABC'
50. CEIL:返回不小于参数的最小整数
51. FLOOR:返回不大于参数的最小整数
SAP ABAP系统变量和函数 [引用 2009-09-01 17:25:36] 字号:大 中 小 1.常用系统变量
SY-DBCNT:返回的条数
SY-UCOMM:PAI所出发的功能代码
SY-SUBRC: 系统执行某指令后,表示执行成功与否的变量,’0’ 表示成功
SY-DBLNT: 被处理过的记录的笔数
SY-UNAME: 当前使用者登入SAP的USERNAME;

SAP 常用语法

SAP 常用语法

变量宣告: Data常数宣告: Constant p1 type p decimals 5 values ‘1.23456’. 系统所定义数据:SPACE 空白字符串SY-SUBRC 系统执行传回值, 0 表示成功SY-UNAME logon 账号SY-DATUM 系统日期SY-UZEIT 系统时间SY-TCODE 目前的transaction codeTYPE 叙述用来指定数据型态或宣告自定数据型态Example:TYPES: BEGIN OF MYLIST,NAME(10) TYPE C,NUMBER TYPE I,END OF MYLIST.DATA LIST TYPE MYLIST.LIKE 叙述跟TYPE叙述使用格式相同, 如DATA TRANSCODE LIKE SY-TCODE.不同的是LIKE 用在已有值的数据项, 如系统变量, 而TYPE叙述则是用在指定数据型态。

指定显示格式语法:WRITE 资料项<显示格式参数>显示格式参数:LEFT-JUSTIFIED 资料靠左显示CENTERED 资料靠中间显示RIGHT-JUSTIFIED 资料靠右显示UNDER <g> 在资料项<g>的X轴开始坐标显示NO-GAP 紧接着显示, 不留空格USING EDIT MASK <m> 使用内嵌字符显示, 如11:20:30USING NO EDIT MASK 不使用内嵌字符NO-ZERO 数字前面0 的部分不显示NO-SIGN 不显示正负号DECIMALS <d> 显示d 位小数字数EXPONENT <e> F(浮点数) exponent 的值ROUND <r> 四舍五入至小数位数下r 位CURRENCY <c> 币别显示DD/MM/YY 日期显示格式MM/DD/YYDD/MM/YYYYMM/DD/YYYYDDMMYYMMDDYYYYMMDD显示图示可以显示R/3 系统所提供的符号或图标语法:WRITE <symbol-name> AS SYMBOLWRITE <icon-name> AS ICON算术符号** 乘幂* 乘/ 除+ 加- 减DIV 整数除法MOD 余数除法数值函数1.ABS(N): 传回数值N 的绝对值2.SIGN(N): 1 if N > 00if N = 0-1 if N < 03.CEIL(N): 传回大于数值N的最小整数Example:WRITE CEIL(-5.65) 印出–5.00WRITE CELL(4.54) 印出5.004.FLOOR(N): 传回小于数值N的最大整数Example:WRITE FLOOR(-5.65) 印出–6.00WRITE FLOOR(4.54) 印出4.005.TRUNC(N): 传回数值N的整数部分Example:WRITE TRUNC(5.65) 印出5.006.FRAC(N): 传回数值N 的小数部分Example:WRITE FRAC(5.65) 印出0.657.COS(A),SIN(A),TAN(A): 传回三角函数cos A, sin A, tan A 的值, A 为弪度量8.EXP(N): 传回e^N 值8.LOG(N): 传回log eN 值9.LOG10(N): 传回log N值10.SQRT(N): 传回N 的平方根值日期与时间运算1.日期数据的运算日期数据可以直接运算, 如加法与减法的运算Example:DATA: Mdata TYPE D.Mdate = SY-DATUM. “ 如传回19971015Mdate+6(2) = ‘01’ “ Mdate 变成19971001Mdate = Mdate - 1 “ Mdate 变成199709312.时间数据的运算时间格式为‘hhmmss’, 如‘212030’ 表’21:20:30’Example:DATA: HOURS TYPE I,MINUTES TYPE I,T2 TYPE T V ALUE ‘200000’,T1 TYPE T V ALUE ‘183000’.HOURS = (T2 - T1) / 3600. “计算有几小时MINUTES = (T2 –T1) / 60. “计算几分钟字符串数据处理1.字符串移位语法:SHIFT <c> [BY <n> PLACES] [<modes>]<modes> : (1).空白, 字符串往左移一位(2).LEFT, 字符串往左移n 位(3).RIGHT, 字符串往右移n 位(4).CIRCULAR: 字符串以环状方式移位Example:DATA STRING(10) V ALUE ‘ABCDEFGHIJ’.SHIFT STRING. “得到BCDEFGHI’SHIFT STRING BY 2 PLACES RIGHT. “得到ABCDEFGH2.取代字符串内容语法:REPLACE <string1> WITH <string2> INTO <c>将字符串<c> 中的<string1> 以<string2> 来取代Example:DATA: STRING(10) V ALUE ‘ABCDEFGHI’,STR1(3) V ALUE ‘DEF’,STR2(3) V ALUE ‘123’.REPLACE STR1 WITH STR2 INTO STRING.WRITE / STRING. “得到ABC123GHI3.大小写的转换语法:TRANSLATE <c> TO UPPER CA SE. “转成大写TRANSLATE <c> TO LOWER CASE. “转成小写4.在字符串中寻找部分字符串语法:SEARCH <c> FOR <str>Example:DATA STRING(10) V ALUE ‘ABCDEFGHIJ’.会回存至两个变数, SY-SUBRC 和SY-FDPOS, 若找到则SY-SUBRC 为0SY-FDPOS 存开始位迭, 若找不到则SY-SUBRC为4, SY-FDPOS为05.字符串长度STRLEN(<c>)Example:INT = STRLEN(‘XYZABC’). “得到6INT = STRLEN(‘ABC ’ ). “得到36.取部分字符串<f>[+<o>][<l>]Example:DATA T(10) V ALUE ‘ABCDEFGHIJ’.WRITE / T+2(4). “得到CDEF迥圈叙述1.计次迥圈语法:DO [n TIMES] [V ARYING <f> FROM <start> TO <end>.<loop block>ENDDO.Example:DO 2 TIMES.WRITE / ‘X’.ENDDO.执行结果:XXDO V ARYING I FROM 1 TO 10.S = S + I.ENDDO.WRITE: / ,’1+2+3+…+10=’,S执行结果: 1+2+3+…+10=552.条件迥圈语法:WHILE <Condition>.<Statement Block>ENDWHILEExample:I = 1.S=0.WHILE I <= 10.S = S+I.I=I+1.ENDWHILE.WRITE: / ‘ 1+2+3+…+10=’,S.执行结果为: 1+2+3+…+10=55。

sap abap is initial 的用法

sap abap is initial 的用法

sap abap is initial 的用法在SAP ABAP(Advanced Business Application Programming)中,`IS INITIAL` 是一种条件语句,用于检查一个变量是否为初始值。

这通常用于检测变量是否已经被赋值。

以下是`IS INITIAL` 的一些用法:1. 检查单个变量是否为初始值:```abapDATA lv_variable TYPE i.IF lv_variable IS INITIAL." 变量lv_variable 是初始值ELSE." 变量lv_variable 不是初始值ENDIF.```2. 检查结构体或表是否为初始值:```abapDATA lt_table TYPE TABLE OF i WITH DEFAULT KEY.DATA ls_structure TYPE i.IF lt_table IS INITIAL." 表lt_table 是初始值ENDIF.IF ls_structure IS INITIAL." 结构体ls_structure 是初始值ENDIF.```3. 检查多个变量是否有任何一个为初始值:```abapDATA lv_var1 TYPE i.DATA lv_var2 TYPE i.IF lv_var1 IS INITIAL OR lv_var2 IS INITIAL." lv_var1 或lv_var2 中有一个是初始值ENDIF.```4. 使用`CONCATENATE` 拼接字符串时的初始值检查:```abapDATA lv_string TYPE string.lv_string = 'ABC'.IF lv_string IS INITIAL." lv_string 是初始值ENDIF.````IS INITIAL` 语句在SAP ABAP 中用于确保变量已经被赋值,避免使用未初始化的变量引发错误。

sap 自开发命名规则

sap 自开发命名规则

sap 自开发命名规则
SAP自开发命名规则是SAP公司为了规范自身的开发过程,提高代码的可读性和可维护性所制定的一系列命名约定和规则。

这些规则涵盖了SAP开发过程中所使用的变量名、函数名、程序包名、类名等各种命名方式,并对每种命名方式都有详细的规定和说明。

在SAP开发中,遵循这些规则能够使代码更加规范、易读、易维护,降低代码出错率,提高开发效率。

SAP自开发命名规则主要包括以下几个方面:
1. 变量名:变量名应该简洁明了,尽量使用有意义的单词或者单词的组合,可以使用驼峰命名法,不要使用缩写词,如:
lv_name_first。

2. 函数名:函数名应该准确反映函数所完成的任务,应该使用动词开头的命名方式,如:get_customer_info。

3. 程序包名:程序包名应该简洁明了,尽量使用有意义的单词或者单词的组合,不要使用缩写词,如:zhr_employee_info。

4. 类名:类名应该使用有意义的单词或者单词的组合,可以使用大驼峰命名法,如:CL_EMPLOYEE_INFO。

5. 表名:表名应该简洁明了,尽量使用有意义的单词或者单词的组合,表名应该以字母Z或Y开头,如:ZEMPLOYEE_INFO。

总之,在SAP开发中,遵循规范的命名方式是非常重要的,能够提高代码的可读性和可维护性,降低出错率,提高开发效率。

因此,开发人员应该认真研究并遵循SAP自开发命名规则。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SAP系统变量用法----ABAP程序系统字段中英文详解SY-SUBRC: 系统执行某指令后,表示执行成功与否的变量,’0’ 表示成功SY-DBLNT: 被处理过的记录的笔数SY-UNAME: 当前使用者登入SAP的USERNAME;SY-DATUM: 当前系统日期;SY-UZEIT: 当前系统时间;SY-TCODE: 当前执行程序的Transaction codeSY-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: 选择行的内容,长度为255SY-LINNO: 当前行系统内部有一个专门存放系统变量的结构SYST,其中最常用的系统变量有:SY-SUBRC: 系统执行某指令后,表示执行成功与否的变量,’0’ 表示成功SY-UNAME: 当前使用者登入SAP的USERNAME;SY-DATUM: 当前系统日期;SY-UZEIT: 当前系统时间;SY-TCODE: 当前执行程序的Transaction codeSY-REPID: ABAP 程式名,目前的主程式SY-CPROG: ABAP 程式名SY-SYSID: R/3 系統,R/3 系統名稱SY-UCOMM: 畫面,PAI 驅動的功能代碼,一般用來參照定義變量SY-INDEX : 当前LOOP循环过的次数READ TABLE it_po INDEX 1 此時變量值1 SY-TABIX: 当前处理的是internal table 的第几笔下面說下sy-index 和sy-tabix的區別sy-index和sy-tabix都是系统字段,用来记录循环的次数。

sy-index 在DO....ENDDO循环里有效,而sy-tabix在loop at ......endloop里有效。

運行下面的例子能更好的理解:DATA: BEGIN OF line,col1 TYPE i,col2 TYPE i,END OF line.DATA itab LIKE TABLE OF line WITH HEADER LINE.DO 30 TIMES.line-col1 = sy-index.line-col2 = sy-index * sy-index.APPEND line TO itab.ENDDO.LOOP AT itab .DO 2 TIMES.WRITE: / 'sy-tabix:',sy-tabix,itab-col1,'sy-index:',sy-index,itab-col2.ENDDO.ENDLOOP.sy-dbcnt:Sy-dbcnt代表有多少条记录被处理了例如:當我們查詢記錄放入內表,判斷內表中是否有數據就可以用if sy-dbcnt = 0 MESSAGE s000.STOP. ENDIF.sy-tfill:返回当前内表(Internal Table)内的记录数。

但是要小心,那些字段随各自的内表(Internal Table)改变。

例:如果你循环(Loop at)(读取)itab,sy-tfill返回itab的记录数。

如果你在循环(Loop at)(读取)内表(Internal Table)itab的内部嵌套循环(Loop at)(读取)内表(Internal Table)jtab,sy-tfill返回的不再是itab的记录数,而是jtab 的!所以如果你需要使用itab的记录数,请先把sy-tfill的值传递给其它变量。

无论如何,sy-tfill永远保存当前的记录数。

例如記錄內表記錄條數:DESCRIBE TABLE itab LINES sy-tfill. SY-TMAXL: Internal table的总笔数SY-SROWS: 屏幕总行数;SY-SCOLS: 屏幕总列数;SY-MANDT: 当前系统编号(CLIENT NUMBER)SY-VLINE: 画竖线SY-ULINE: 画横线sy-pagno 当前页号sy-lsind 列表索引页sy-listi 上一个列表的索引sy-linsz 当前报表宽度sy-lilli 绝对列表中选定的行号sy-linct 当前报表长度sy-curow 屏幕上的行space 空字符sy-cucol 光标列sy-cpage 列表的当前显示页sy-staro 真实行号sy-lisel 选择行的内容,长度为255sy-linno 当前行SY-MANDT: 當前系統編號(CLIENT NUMBER)SY-SLSET:SY-SUBRC 的含义================= FUNCTION MODULE (或RFC中) SY-SUBRC 的含义================使用SELECT语句选择查询:SY-SUBRC = 0: 至少有一行数据,当ENDSELECT语句执行完,SY-DBCNT中保存着记录的个数。

SY-SUBRC = 4: 没有数据。

SY-SUBRC = 8: 只有使用“SELECT SINGLE FOR UPDATE”时才会有,表示: WHERE条件指定的记录不止一行,结果是没有记录被选中。

使用INSERT语句,向表中插入一行,必须注意INSERT的顺序与表中字段的顺序一致:SY-SUBRC = 0: 插入成功,SY-DBCNT包含了插入的行数,0或1。

SY-SUBRC = 4: 由于有相同的KEY存在,所以插入失败。

使用LOOP语句来遍历一个内表:SY-SUBRC = 0: 循环至少被执行一次。

SY-SUBRC = 4: 循环没有被执行,可能是没有数据,也可能是没有符合条件的记录。

使用DELETE语句来删除一条记录:SY-SUBRC = 0: 找到一行并删除之,如果该表有不唯一主键,也就是有多条重复的记录,则只删除第一条记录。

SY-SUBRC = 4: 没有找到符合条件的记录,也没有删除。

使用UPDATE语句来更新一条记录:SY-SUBRC = 0: 找到记录并更新,(如果有多条记录呢?)SY-SUBRC = 4: 没有找到符合条件的记录,也没有更新。

ABAP程序系统字段中英文详解-注_华亭慧剑译系统字段由ABAP运行时环境填写,并且可以用来在ABAP程序中查询系统状态。

除了一个例外(sy-repid),系统字段都是变量,但是它们都是只读的。

此外,更多程序执行的重要信息通常都被丢弃。

ABAP程序中的系统字段只在极少需要控制系统行为的时候才能被重写。

System fields are filled by the ABAP runtime environment and can be used in an ABAP program to query system statuses. With one exception (sy-repid), system fields are variables, but they should only be accessed on a read-only basis. Otherwise, important information for further program execution often gets lost. System fields in ABAP programs can only be overwritten in a few cases to control system behavior.对于例外的sy-repid,这个系统字段的数据类型在ABAP字典的SYST结构(6.10版以后)中定义,作为sy结构(也可以用SYST来定位)的组件在ABAP程序中有示例。

sy结构在一个内部会话期间内只存在一次,并且在这个内部会话期间内被所有程序使用。

下表列出了在ABAP程序中可以使用的系统字段。

所有sy结构的其他组件则或者在ABAP运行时环境内部使用或者已经废弃。

With the exception of sy-repid, the data types of the system fields are defined in the ABAP Dictionary in the structure SYST (as of release 6.10), and are instantiated in ABAP programs as components of the predefined structure sy, which can also be addressed using SYST. The structure sy exists only once in an internal session and is used by all programs of an internal session at the same time. The following table shows the system fields that can be used in ABAP programs. All other components of the structure sy are either intended for internal use by the ABAP runtime environment or are obsolete.名称Name类型Type说明Contentsy-abcdec(26)包含了字母表。

可以用来通过指定偏移/长度直接访问独立的字母,而无需考虑代码页。

Contains the alphabet. Can be used to access individual letters directly by specifying the offset/length, regardless of the code page.sy-batchc(1)在一个后台运行的ABAP程序中设置为“X”,否则就是初始值。

相关文档
最新文档