ABAP基本语法学习关键语句的写法

ABAP基本语法学习关键语句的写法
ABAP基本语法学习关键语句的写法

ABAP基本语法学习关键语句的写法

内表建立过程:

1、声明一个结构体

2、用声明好的结构体作为工作区,声明一个内表

内表名称like standard table of 结构体名称,

内表名称like sorted table of 结构体名称,

内表名称like harshed table of 结构体名称。

后面可以用到with 选项来进行关键字的声明。基本语法如下:

DATA itab { {TYPE tabkind OF [REF TO] type}

| {LIKE tabkind OF dobj} }

[WITH key] [INITIAL SIZE n]

[WITH HEADER LINE]

[VALUE IS INITIAL]

[READ-ONLY].

DATA rtab {TYPE RANGE OF type}|{LIKE RANGE OF dobj}

[INITIAL SIZE n]

[WITH HEADER LINE]

[VALUE IS INITIAL]

[READ-ONLY].

此语句可以定义一个范围表,在操作数据库时可以用来作为判断数据选择的条件描述。3、向内表中插入数据,插入数据可以用insert数据into内表语句或者是append

数据to内表语句。可以插入整个内表到另一内表insert lines of 内表名称into table 另一内表名称。亦可以进行累加插入:collect 数据into 内表名称。相同的数据进行累积。

4、修改内表数据,利用modify 关键字,modify 内表名称from 数据(用结构

体表示的数据)。可以修改多行,modify 内表名称from 数据transporting 关键字where 条件。

5、读内表数据的几种操作方法:

用Include来构造一个结构体

INCLUDE { {TYPE struc_type} | {STRUCTURE struc} }

[AS name [RENAMING WITH SUFFIX suffix]].

TYPES: BEGIN OF t_day,

work TYPE c LENGTH 8,

free TYPE c LENGTH 16,

END OF t_day.

DATA BEGIN OF week.

INCLUDE TYPE t_day AS monday RENAMING WITH SUFFIX _mon.

INCLUDE TYPE t_day AS tuesday RENAMING WITH SUFFIX _tue.

INCLUDE TYPE t_day AS wednesday RENAMING WITH SUFFIX _wed. DATA END OF week.

可以用两种方式来访问结构体的内容:

1、直接用结构体的名称来访问:week-monday-work, week-monday-free, week-tuesday-work

2、用重新命名的后缀名字来访问:week-work_mon, week-free_mon, week-work_tue

类对象的定义方式:

CLASS class DEFINITION [class_options].

[PUBLIC SECTION.

[components]]

[PROTECTED SECTION.

[components]]

[PRIVATE SECTION.

[components]]

ENDCLASS.

类对象的实现方式:

CLASS class IMPLEMENTATION.

...

METHOD ...

...

ENDMETHOD.

...

ENDCLASS.

类对象的继承:

CLASS class DEFINITION

LOCAL FRIENDS class1 class2 ...

intf1 intf2 ...

CLASS class DEFINITION { {DEFERRED [PUBLIC]} | LOAD }.

[PUBLIC]

[INHERITING FROM superclass]

[ABSTRACT]

[FINAL]

[CREATE {PUBLIC|PROTECTED|PRIVATE}]

[SHARED MEMORY ENABLED]

[FOR TESTING]

[[GLOBAL] FRIENDS class1 class2 ...

intf1 intf2 ...].

Deferred 关键字可以预先声明一个未被定义的类。

类方法声明语句:

METHODS meth [ABSTRACT|FINAL]

[IMPORTING parameters [PREFERRED PARAMETER p]]

[EXPORTING parameters]

[CHANGING parameters]

[{RAISING|EXCEPTIONS} exc1 exc2 ...].

METHODS meth [ABSTRACT|FINAL]

[IMPORTING parameters [PREFERRED PARAMETER p]]

RETURNING VALUE(r) typing

[{RAISING|EXCEPTIONS} exc1 exc2 ...].

重载函数的声明方法:

METHODS meth [FINAL] REDEFINITION。访问上级类的函数:super->meth()。大小写字母转换语句:TRANSLATE typ TO LOWER CASE.

在ABARP程序中各种报错情况需要的例外类:

CX_ROOT

|

|--CX_STATIC_CHECK

|

|--CX_DYNAMIC_CHECK

| |

| |--CX_SY_ARITHMETIC_ERROR

| | |

| | |--CX_SY_ZERODIVIDE

| | |

| | |--CX_SY_ARITHMETIC_OVERFLOW

| | |

| | |--CX_SY_ARG_OUT_OF_DOMAIN

| | |

| | |--CX_SY_PRECISION_LOSS

| |

| |--CX_SY_ASSIGN_ERROR

| | |

| | |--CX_SY_ASSIGN_CAST_ERROR

| | | |

| | | |--CX_SY_ASSIGN_CAST_ILLEGAL_CAST

| | | |

| | | |--CX_SY_ASSIGN_CAST_UNKNOWN_TYPE

| | |

| | |--CX_SY_ASSIGN_OUT_OF_RANGE

| |

| |--CX_SY_CODEPAGE_CONVERTER_INIT

| |

| |--CX_SY_CONVERSION_ERROR

| | |

| | |--CX_SY_CONVERSION_OVERFLOW

| | |

| | |--CX_SY_CONVERSION_NO_NUMBER

| | |

| | |--CX_SY_CONVERSION_CODEPAGE

| | |

| | |--CX_SY_CONVERSION_BASE64

| | |

| | |--CX_SY_CONV_ILLEGAL_DATE_TIME

| |

| |--CX_SY_CREATE_ERROR

| | |

| | |--CX_SY_CREATE_OBJECT_ERROR

| | |

| | |--CX_SY_CREATE_DATA_ERROR

| |

| |--CX_SY_DATA_ACCESS_ERROR

| | |

| | |--CX_SY_RANGE_OUT_OF_BOUNDS

| | |

| | |--CX_SY_TAB_RANGE_OUT_OF_BOUNDS

| | |

| | |--CX_SY_OFFSET_NOT_ALLOWED

| |

| |--CX_SY_DYN_CALL_ERROR

| | |

| | |--CX_SY_DYN_CALL_ILLEGAL_CLASS

| | |

| | |--CX_SY_DYN_CALL_ILLEGAL_FORM

| | |

| | |--CX_SY_DYN_CALL_ILLEGAL_FUNC

| | |

| | |--CX_SY_DYN_CALL_ILLEGAL_METHOD

| | |

| | |--CX_SY_DYN_CALL_PARAMETER_ERROR

| | |

| | |--CX_SY_DYN_CALL_EXCP_NOT_FOUND | | |

| | |--CX_SY_DYN_CALL_ILLEGAL_TYPE

| | |

| | |--CX_SY_DYN_CALL_PARAM_MISSING

| | |

| | |--CX_SY_DYN_CALL_PARAM_NOT_FOUND

| |--CX_SY_FILE_ACCESS_ERROR

| | |

| | |--CX_SY_FILE_AUTHORITY

| | |

| | |--CX_SY_FILE_CLOSE

| | |

| | |--CX_SY_FILE_IO

| | |

| | |--CX_SY_FILE_OPEN

| | |

| | |--CX_SY_FILE_OPEN_MODE

| | |

| | |--CX_SY_FILE_POSITION

| | |

| | |--CX_SY_FILE_TRUNCATE

| |

| |--CX_SY_FIND_INFINITE_LOOP

| |

| |--CX_SY_GEN_SOURCE_TOO_WIDE

| |

| |--CX_SY_IMPORT_MISMATCH_ERROR

| | |

| | |--CX_SY_IMPORT_FORMAT_ERROR

| |

| |--CX_SY_INVALID_REGEX

| |

| |--CX_SY_MATCHER

| | |

| | |--CX_SY_REGEX_TOO_COMPLEX

| | |

| | |--CX_SY_INVALID_REGEX

| |

| |--CX_SY_MOVE_CAST_ERROR

| |

| |--CX_SY_PROGRAM_NOT_FOUND

| |

| |--CX_SY_PROVIDE_EXCEPTION

| | |

| | |--CX_SY_PROVIDE_INTERVAL_OVERLAP | | |

| | |--CX_SY_PROVIDE_TABLE_NOT_SORTED | |

| |--CX_SY_READ_SRC_LINE_TOO_LONG

| |--CX_SY_REF_IS_INITIAL

| |

| |--CX_SY_REPLACE_INFINITE_LOOP

| |

| |--CX_SY_SCAN_SOURCE_TOO_WIDE

| |

| |--CX_SY_SQL_ERROR

| | |

| | |--CX_SY_OPEN_SQL_ERROR

| | | |

| | | |--CX_SY_OPEN_SQL_DB

| | | |

| | | |--CX_SY_DYNAMIC_OSQL_ERROR

| | | |

| | | |-- CX_SY_DYNAMIC_OSQL_SEMANTICS | | | |

| | | |-- CX_SY_DYNAMIC_OSQL_SYNTAX

| | |

| | |--CX_SY_NATIVE_SQL_ERROR

| |

| |--CX_SY_WRITE_SRC_LINE_TOO_LONG

| |

| |--CX_XSLT_EXCEPTION

| |

| |--CX_XSLT_SYSTEM_ERROR

| |

| |--CX_XSLT_ABAP_CALL_ERROR

| |

| |--CX_XSLT_DESERIALIZATION_ERROR

| |

| |--CX_XSLT_FORMAT_ERROR

| |

| |--CX_XSLT_RUNTIME_ERROR

| |

| |--CX_XSLT_SERIALIZATION_ERROR

|

|--CX_NO_CHECK

|

|--CX_SY_EXPORT_NO_SHARED_MEMORY

|

|--CX_SY_EXPORT_BUFFER_NO_MEMORY

|

|--CX_SY_GENERATE_SUBPOOL_FULL

|--CX_SY_LOCALIZATION_ERROR

|

|--CX_SY_NO_HANDLER

|

|--CX_SY_PIPES_NOT_SUPPORTED

|

|--CX_SY_PIPE_REOPEN

|

|--CX_SY_REMOTE_CALL_ERROR

| |

| |--CX_SY_RMC_COMM_FAILURE

| |

| |--CX_SY_RMC_INVALID_STATUS

| |

| |--CX_SY_RMC_SYSTEM_FAILURE

|

|--CX_SY_TOO_MANY_FILES

数据分配过程:

1、声明一个数据引用:data 数据引用名type ref to 类型名.

2、声明字段符号:field-symbols type any.

3、建立数据引用:create date(object) 数据引用名type 类型名.

4、分配引用到字段:assign 数据引用名->* to .

循环程序中语句的控制级操作语句语法结构:

LOOP AT itab result ...

[AT FIRST.

...

ENDAT.]

[AT NEW comp1.

...

ENDAT.

[AT NEW comp2.

...

ENDAT.

[...]]]

[ ... ]

[[[...]

AT END OF comp2.

...

ENDAT.]

AT END OF comp1.

...

ENDAT.]

[AT LAST.

...

ENDAT.]

ENDLOOP.

内表数据插入的语法格式:

INSERT line_spec INTO itab_position [result].

读内表的语法:

READ TABLE itab { table_key

| free_key

| index } result.

描述字段属性的语句:

DESCRIBE FIELD dobj

[TYPE typ [COMPONENTS com]]

[LENGTH ilen IN {BYTE|CHARACTER} MODE]

[DECIMALS dec]

[OUTPUT-LENGTH olen]

[HELP-ID hlp]

[EDIT MASK mask].

Form打印程序中的几个主要函数:

Open_Form,Start_Form,Write_Form,Write_Form_Lines,Control_Form,Close_Form, END_FORM。

function write_form.

*"----------------------------------------------------------------------

*"*"Lokale Schnittstelle:

*" IMPORTING

*" VALUE(ELEMENT) DEFAULT SPACE

*" VALUE(FUNCTION) DEFAULT 'SET'

*" VALUE(TYPE) DEFAULT 'BODY'

*" VALUE(WINDOW) DEFAULT 'MAIN'

*" EXPORTING

*" VALUE(PENDING_LINES)

*" EXCEPTIONS

*" ELEMENT

*" FUNCTION

*" TYPE

*" UNOPENED

*" UNSTARTED

*" WINDOW

*" BAD_PAGEFORMAT_FOR_PRINT

*" SPOOL_ERROR

*" CODEPAGE

*"----------------------------------------------------------------------

function write_form_lines.

*"----------------------------------------------------------------------

*"*"Lokale Schnittstelle:

*" IMPORTING

*" VALUE(FUNCTION) DEFAULT 'SET'

*" VALUE(HEADER) LIKE THEAD STRUCTURE THEAD

*" VALUE(TYPE) DEFAULT 'BODY'

*" VALUE(WINDOW) DEFAULT 'MAIN'

*" EXPORTING

*" VALUE(FROMPAGE)

*" VALUE(PENDING_LINES)

*" TABLES

*" LINES STRUCTURE TLINE

*" EXCEPTIONS

*" FUNCTION

*" TYPE

*" UNOPENED

*" UNSTARTED

*" WINDOW

*" BAD_PAGEFORMAT_FOR_PRINT

*" SPOOL_ERROR

*" CODEPAGE

*"----------------------------------------------------------------------

function control_form.

*"----------------------------------------------------------------------

*"*"Lokale Schnittstelle:

*" IMPORTING

*" VALUE(COMMAND)

*" EXCEPTIONS

*" UNOPENED

*" UNSTARTED

function start_form.

*"----------------------------------------------------------------------

*"*"Lokale Schnittstelle:

*" IMPORTING

*" VALUE(ARCHIVE_INDEX) LIKE TOA_DARA STRUCTURE TOA_DARA OPTION AL

*" VALUE(FORM) TYPE C DEFAULT SPACE

*" VALUE(LANGUAGE) LIKE THEAD-TDSPRAS DEFAULT SPACE

*" VALUE(STARTPAGE) TYPE C DEFAULT SPACE

*" VALUE(PROGRAM) LIKE SY-REPID DEFAULT SPACE

*" VALUE(MAIL_APPL_OBJECT) LIKE SWOTOBJID STRUCTURE SWOTOBJID *" OPTIONAL

*" EXPORTING

*" VALUE(LANGUAGE) LIKE THEAD-TDSPRAS

*" EXCEPTIONS

*" FORM

*" FORMAT

*" UNENDED

*" UNOPENED

*" UNUSED

*" SPOOL_ERROR

*" CODEPAGE

*"----------------------------------------------------------------------

function open_form.

*"----------------------------------------------------------------------

*"*"Lokale Schnittstelle:

*" IMPORTING

*" VALUE(APPLICATION) LIKE TTXOB-TDAPPL DEFAULT 'TX'

*" VALUE(ARCHIVE_INDEX) LIKE TOA_DARA STRUCTURE TOA_DARA OPTION AL

*" VALUE(ARCHIVE_PARAMS) LIKE ARC_PARAMS STRUCTURE ARC_PARAMS *" OPTIONAL

*" VALUE(DEVICE) TYPE C DEFAULT 'PRINTER'

*" VALUE(DIALOG) TYPE C DEFAULT 'X'

*" VALUE(FORM) TYPE C DEFAULT SPACE

*" VALUE(LANGUAGE) LIKE THEAD-TDSPRAS DEFAULT SY-LANGU

*" VALUE(OPTIONS) LIKE ITCPO STRUCTURE ITCPO OPTIONAL

*" VALUE(MAIL_SENDER) LIKE SWOTOBJID STRUCTURE SWOTOBJID OPTION AL

*" VALUE(MAIL_RECIPIENT) LIKE SWOTOBJID STRUCTURE SWOTOBJID *" OPTIONAL

*" VALUE(MAIL_APPL_OBJECT) LIKE SWOTOBJID STRUCTURE SWOTOBJID *" OPTIONAL

*" VALUE(RAW_DATA_INTERFACE) TYPE C DEFAULT '*'

*" VALUE(SPONUMIV) TYPE NRIV-NRRANGENR OPTIONAL

*" EXPORTING

*" VALUE(LANGUAGE) LIKE THEAD-TDSPRAS

*" VALUE(NEW_ARCHIVE_PARAMS) LIKE ARC_PARAMS STRUCTURE ARC_PARA

*" VALUE(RESULT) LIKE ITCPP STRUCTURE ITCPP

*" EXCEPTIONS

*" CANCELED

*" DEVICE

*" FORM

*" OPTIONS

*" UNCLOSED

*" MAIL_OPTIONS

*" ARCHIVE_ERROR

*" INVALID_FAX_NUMBER

*" MORE_PARAMS_NEEDED_IN_BATCH

*" SPOOL_ERROR

*" CODEPAGE

*"----------------------------------------------------------------------

function close_form.

*"----------------------------------------------------------------------

*"*"Lokale Schnittstelle:

*" EXPORTING

*" VALUE(RESULT) LIKE ITCPP STRUCTURE ITCPP

*" VALUE(RDI_RESULT) LIKE RDIRESULT STRUCTURE RDIRESULT

*" TABLES

*" OTFDATA STRUCTURE ITCOO OPTIONAL

*" EXCEPTIONS

*" UNOPENED

*" BAD_PAGEFORMAT_FOR_PRINT

*" SEND_ERROR

*" SPOOL_ERROR

*" CODEPAGE

*"------------------------------------------------------------------- function end_form.

*"----------------------------------------------------------------------

*"*"Lokale Schnittstelle:

*" EXPORTING

*" VALUE(RESULT) LIKE ITCPP STRUCTURE ITCPP

*" EXCEPTIONS

*" UNOPENED

*" BAD_PAGEFORMAT_FOR_PRINT

*" SPOOL_ERROR

*" CODEPAGE

*"-------------------------------------------------------------------

" B20K018154 941027 ....... Programmname fuer Symbolersetzung dynami sch

明天从关键字文档的process data- string-shift-split开始看,还需要学习了解Process data和User Dialogs以及Saving Data Externally与Data and Communication Interfaces。

ABAP语法讲解七(ORDERBY语句)

ORDER BY clause Variants: 1. ... ORDER BY PRIMARY KEY 2. ... ORDER BY f1 ... fn 3. ... ORDER BY (itab) Effect Orders the records in a SELECT statement. Without the ORDER-BY clause, the order in which the selected lines are supplied is undefined. This means that two similar SELECT statements may produce lines in a different order. Variant 1 ...ORDER BY PRIMARY KEY Effect Sorts the selected lines in ascending order by the primary key of the database table. This variant is only permitted for SELECT * .... Example Output the passenger list for the Lufthansa flight 0400 on 28.02.1995: DATA WA_BOOK TYPE SBOOK. SELECT * FROM SBOOK INTO WA_SBOOK WHERE CARRID = 'LH ' AND CONNID = '0400' AND FLDATE = '19950228' ORDER BY PRIMARY KEY. WRITE: / WA_SBOOK-BOOKID, WA_SBOOK-CUSTOMID, WA_SBOOK-

abap基本语法汇总

abap 基本语法汇总 数据类型和对象 在ABAP中,可以使用与标准数据声明相似的语法处理数据类型,而与数据对象无关。 在程序中必须声明要使用的全部数据对象。声明过程中,必须给数据对象分配属性,其中最重要的属性就是数据类型。 1.1基本数据类型 对算术运算的非整型结果(如分数)进行四舍五入,而不是截断。 类型P数据允许在小数点后有数字。有效大小可以是从1到 16字节的任何值。将两个十进制数字压缩到一个字节,而最后一个字节包含一个数字和符号。在小数点后最多允许14个数字。 1.2系统定义的数据对象

abap 基本语法汇总 1.3确定数据对象的属性 如果要查明数据对象的数据类型,或者要在程序的运行期间使用其属性,可使用DESCRIBE语句。语法如下: DESCRIBEELD [LENGTHS〉] [TYPE [COMPONENTS^] [OUTPUT-LENGTH ] [DECIMALS ] [EDIT MASK ]. 将由语句的参数指定的数据对象的属性写入参数后的变量。 DESCRIBE FIELDS语句具有下列参数: 1.3.1确定字段长度 要确定数据对象的长度,利用DESCRIBFIELD语句使用LENGTH 参数,如下所示: DESCRIBE FIELD LENGTH . 系统读取字段<f>的长度,并将值写入字段<1>

abap 基本语法汇总 1.3.2 确定数据类型 要确定字段的数据类型,利用DESCRIBE FIELD语句使用TYPE 参数,如下所示: DESCRIBE FIELD TYPE [COMPONENTS ]. 系统读取字段的数据类型,然后将值写入字段。 除返回预定义数据类型C、D、F、I 、N、P、T 和X 外,该语句还返回 s 对于带前导符号的两字节整型 b 对于无前导符号的一字节整型 h 对于内表 C 对于组件中没有嵌套结构的结构 C 对于组件中至少有一个嵌套结构的结构 1.3.3 确定输出长度 要确定字段的输出长度,利用DESCRIBE FIELD语句使用OUTPUT-LENGTH数,如下所示: DESCRIBE FIELD OUTPUT-LENGTH . 系统读取字段的输出长度,并将值写入字段<0>。 1.3.4 确定小数位 若要确定类型P字段的小数位的个数,利用DESCRIBE FIELD语句使用DECIMALS参数,如下所示: DESCRIBE FIELD DECIMALS . 系统读取字段的小数个数,并将值写入字段。 1.3.5 确定转换例程 要确定ABAP/4 词典中某字段的转换例程是否存在,如果存在,名称是什

ABAP语法完整版

SAP ABAP / 4 基础知识学习 数据类型 C :字符串 D :日期型格式为 YYYYMMDD 例:'1999/12/03' F : 浮点数长度为8 I :整数 N :数值组成的字符串如:011,'302' P : PACKED数用于小数点数值如:12.00542 T : 时间格式为:HHMMSS 如:'14:03:00' X : 16进制数如:'1A03' *-------------------------------------------------------------------------------------* 变量声明 DATA [] [][decimals] 变量名称 变量类型及长度 初值 小数位数 exp: DATA : COUNTER TYPE P DECIMALS 3. NAME(10) TYPE C VALUE 'DELTA'. S_DATE TYPE D VALUE '19991203'. exp: DATA : BEGIN OF PERSON, NAME(10) TYPE C, AGE TYPE I, WEIGHT TYPE DECIMALS 2,

END OF PERSON. 另外,有关DATA声明的指令还有: CONSTANTS(声明常数)、STATICS(临时变量声明). exp: CONSTANTS PI TYPE P DECIMALS 5 VALUE '3.14159'. STATICS 关键字 声明的变量仅在目前的程序中使用, 结束后会自动释放 语法: STATICS [] [] [] 系统专用变量说明 系统内部专门创建了SYST这个STRUCTURE,里面的栏位存放系统变量,常用的系统变量有: SY-SUBRC: 系统执行某指令后,表示执行成功与否的变量,'0'表示成功 SY-UNAME: 当前使用者登入SAP的USERNAME; SY-DATUM: 当前系统日期; SY-UZEIT: 当前系统时间; SY-TCODE: 当前执行程序的Transaction code SY-INDEX: 当前LOOP循环过的次数 SY-TABIX: 当前处理的是internal table 的第几笔 SY-TMAXL: Internal table的总笔数 SY-SROWS: 屏幕总行数; SY-SCOLS: 屏幕总列数; SY-MANDT: CLIENT NUMBER SY-VLINE: 画竖线 SY-ULINE: 画横线 TYPE 关键字 用来指定资料型态或声明自定资料型态 Example: TYPES: BEGIN OF MYLIST,

ABAP语法讲解六(GROUP语句)

GROUP-BY clause Variants: 1. ... GROUP BY f1 ... fn 2. ... GROUP BY (itab) Variant 1 ... GROUP BY f1 ... fn Effect Groups database table data in a SELECT command on one line in the result set. A group is a set of lines which all have the same values in each column determined by the field descriptors f1 ... fn. ... GROUP BY f1 ... fn always requires a list in the SELECT clause. If you use field descriptors without an aggregate funciton in the SELECT clause, you must list them in the GROUP BY f1 ... fn clause. Example Output the number of passengers, the total weight and the average weight of luggage for all Lufthansa flights on 28.02.1995: TABLES SBOOK. DATA: COUNT TYPE I, SUM TYPE P DECIMALS 2, AVG TYPE F. DATA: CONNID LIKE SBOOK-CONNID. SELECT CONNID COUNT( * ) SUM( LUGGWEIGHT ) AVG( LUGGWEIGHT ) INTO (CONNID, COUNT, SUM, AVG) FROM SBOOK WHERE CARRID = 'LH' AND

abap字符串操作语法总结

ABAP 字符串操作语法总结 CONCATENATE:合并字符串. CONCATENATE f1 … fn INTO g [SEPARATED BY h]. 1* CONCATENATE合并字符串 2DATA: c1(10) TYPE c VALUE 'Sum', 3c2(3) TYPE c VALUE 'mer', 4c3(5) TYPE c VALUE 'holi ', 5c4(10) TYPE c VALUE 'day', 6c5(30) TYPE c , 7sep(3) TYPE c VALUE ' - '. 8CONCATENATE c1 c2 c3 c4 INTO c5. 9WRITE c5. 10CONCATENATE c1 c2 c3 c4 INTO c5 SEPARATED BY sep. 11WRITE / c5. -------------------------------------------------------- 输出结果: Summerholiday Sum - mer - holi - day -------------------------------------------------------- SPLIT: 字符串拆分. SPLIT f AT g INTO h1 … hn. SPLIT f AT g INTO TABLE itable. 1* splitting strings 2DATA: string10(60) TYPE c , 3p1(20) TYPE c VALUE '++++++++++++++++++++', 4p2(20) TYPE c VALUE '++++++++++++++++++++', 5p3(20) TYPE c VALUE '++++++++++++++++++++', 6p4(20) TYPE c VALUE '++++++++++++++++++++', 7del10(3) TYPE c VALUE '***'. 8 string10 = ' Part 1 *** Part 2 *** Part 3 *** Part 4 *** Part 5'. 9WRITE string10.

ABAP基本语法学习关键语句的写法(参考模板)

ABAP基本语法学习关键语句的写法 内表建立过程: 1、声明一个结构体 2、用声明好的结构体作为工作区,声明一个内表 内表名称like standard table of 结构体名称, 内表名称like sorted table of 结构体名称, 内表名称like harshed table of 结构体名称。 后面可以用到with 选项来进行关键字的声明。基本语法如下: DATA itab { {TYPE tabkind OF [REF TO] type} | {LIKE tabkind OF dobj} } [WITH key] [INITIAL SIZE n] [WITH HEADER LINE] [VALUE IS INITIAL] [READ-ONLY]. DATA rtab {TYPE RANGE OF type}|{LIKE RANGE OF dobj} [INITIAL SIZE n] [WITH HEADER LINE] [VALUE IS INITIAL] [READ-ONLY]. 此语句可以定义一个范围表,在操作数据库时可以用来作为判断数据选择的条件描述。3、向内表中插入数据,插入数据可以用insert数据into内表语句或者是 append数据to内表语句。可以插入整个内表到另一内表insert lines of 内表名称 into table 另一内表名称。亦可以进行累加插入:collect 数据into 内表名称。相同的数据进行累积。 4、修改内表数据,利用modify 关键字,modify 内表名称 from 数据(用结构 体表示的数据)。可以修改多行,modify 内表名称 from 数据 transporting 关键字 where 条件。 5、读内表数据的几种操作方法: 用Include来构造一个结构体 INCLUDE { {TYPE struc_type} | {STRUCTURE struc} } [AS name [RENAMING WITH SUFFIX suffix]]. TYPES: BEGIN OF t_day, work TYPE c LENGTH 8, free TYPE c LENGTH 16, END OF t_day. DATA BEGIN OF week. INCLUDE TYPE t_day AS monday RENAMING WITH SUFFIX _mon.

ABAP基础知识(完整版)---自学

ABAP基础知识(完整版)-上 SAP ABAP / 4 基础知识学习 数据类型 C :字符串 D :日期型格式为YYYYMMDD 例:'1999/12/03' F : 浮点数长度为8 I :整数 N :数值组成的字符串如:011,'302' P : PACKED数用于小数点数值如:12.00542 T : 时间格式为:HHMMSS 如:'14:03:00' X : 16进制数如:'1A03' *-------------------------------------------------------------------------------------* 变量声明 DATA [] [][decimals] 变量名称 变量类型及长度 初值 小数位数 exp: DATA : COUNTER TYPE P DECIMALS 3. NAME(10) TYPE C VALUE 'DELTA'. S_DATE TYPE D VALUE '19991203'. exp: DATA : BEGIN OF PERSON, NAME(10) TYPE C, AGE TYPE I, WEIGHT TYPE DECIMALS 2, END OF PERSON. 另外,有关DATA声明的指令还有: CONSTANTS(声明常数)、STATICS(临时变量声明). exp: CONSTANTS PI TYPE P DECIMALS 5 VALUE '3.14159'. STATICS 关键字 声明的变量仅在目前的程序中使用, 结束后会自动释放 语法: STATICS [] [] [] 系统专用变量说明 系统内部专门创建了SYST这个STRUCTURE,里面的栏位存放系统变量,常用的系统变量有: SY-SUBRC: 系统执行某指令后,表示执行成功与否的变量,'0'表示成功 SY-UNAME: 当前使用者登入SAP的USERNAME; SY-DATUM: 当前系统日期; SY-UZEIT: 当前系统时间; SY-TCODE: 当前执行程序的Transaction code

abap基本语法汇总情况

一数据类型和对象 在ABAP中,可以使用与标准数据声明相似的语法处理数据类型,而与数据对象无关。 在程序中必须声明要使用的全部数据对象。声明过程中,必须给数据对象分配属性,其中最重要的属性就是数据类型。 1.1 基本数据类型 对算术运算的非整型结果(如分数)进行四舍五入,而不是截断。 类型 P 数据允许在小数点后有数字。有效大小可以是从 1 到 16 字节的任何值。将两个十进制数字压缩到一个字节,而最后一个字节包含一个数字和符号。在小数点后最多允许14 个数字。 1.2 系统定义的数据对象

1.3 确定数据对象的属性 如果要查明数据对象的数据类型,或者要在程序的运行期间使用其属性,可使用DESCRIBE 语句。语法如下: DESCRIBE FIELD [LENGTH ] [TYPE [COMPONENTS ]] [OUTPUT-LENGTH ] [DECIMALS ] [EDIT MASK ]. 将由语句的参数指定的数据对象的属性写入参数后的变量。 DESCRIBE FIELDS 语句具有下列参数: 1.3.1 确定字段长度 要确定数据对象的长度,利用DESCRIBE FIELD 语句使用 LENGTH 参数,如下所示:DESCRIBE FIELD LENGTH . 系统读取字段的长度,并将值写入字段。 1.3.2确定数据类型 要确定字段的数据类型,利用DESCRIBE FIELD 语句使用 TYPE 参数,如下所示:DESCRIBE FIELD TYPE [COMPONENTS ]. 系统读取字段的数据类型,然后将值写入字段。 除返回预定义数据类型 C、D、F、I、N、P、T 和 X 外,该语句还返回 XXX s 对于带前导符号的两字节整型 XXX b 对于无前导符号的一字节整型 XXX h 对于表 XXX C 对于组件中没有嵌套结构的结构 XXX C 对于组件中至少有一个嵌套结构的结构 1.3.3确定输出长度 要确定字段的输出长度,利用 DESCRIBE FIELD 语句使用 OUTPUT-LENGTH 参数,如下

ABAP学习方法

sap学习总结信管0911 杨钏 2011-12-2 sap学习总结 立谈之间,来集团参加erp项目已近四个月,通过集团erp项目组精心组织的培训,经 过自己的努力学习,我对erp的认识有了很大程度的转变。从一开始的不了解,带着对很多 专业名词及模块功能的疑问,到现在融入到erp项目组后,被sap庞大的功能所震撼;从一 开始认为sap仅仅是一种应用软件,跟其他公司的erp差不多,到现在深刻的地体会到sap 在企业管理中的重要位置;从一开始对sap可能带来的不便以及人力、财力、时间成本产生 抵触情绪,到现在对sap产生依赖心理。这些对sap认识的转变,让我意识到作为一名关键 用户和信息人员,为确保erp的上线成功,应该如何发挥自身的作用。 5月9日,初步接触到了sap软件。五月份到七月份我初步学习sap中abap语言,起初 感觉这跟平时学校学习的语言差不多,但是接触的越久,我就越深深的震撼abap语言的严 谨性,以及abap编辑语言在sap中的重要的位置,对其他工作模块工作有非常重要的影响。 通过这段时间abap语言的学习后,我进入技术组协助技术组中的各位老师,解决些小问题。 工作一段时间之后,我才发觉,erp前期项目的工作量大大超乎我的想像,它的重要性也让 人感到紧张。在每天的工作中,大家加班加点,热火朝天的讨论业务流程问题,以及程序代 码如何实现业务需求,有时候为了一个观点不同而争论不休,有时候又为达成共识而言欢高 兴。大家良好的沟通交流,让我们这些初识者更积极主动地参与进来。 在技术组组工作了近两周之后,为了让我们全面认识sap,从而更深入地开展工作,erp 项目组办公室组织人员进行了为期一周的sap开发语言abap的培训。对于我们来说,掌握 abap编程语言是深入理解sap软件知识要领的敲门砖。通过对abap的学习,我对sap的后 台有了更进一步的了解,也为下一步深入接触实际操作打下了基础。在basis组织的讲座和 培训中,我对basis有了一定了解,意识到abap对做好sap系统的后台规划、安装、配置、 管理、监控、维护、调优等工作的重要性。通过此次培训,大家对sap有了些许的初步了解, 对应该做好哪些工作有了初步的认识。 接下来说说,近半年我所学到的一些abap知识,报表显示alv alv是系统的一种网格的 显示方式,这种方式带有汇总\排序\筛选等功能,alv格式的数据是以单元格为单位显示,不 象一般的写屏方式拷出来或是导出成文件不同列的内容粘在一块,这种方式便于数据导出来 放在电子表格里进行加工. alv: abap list view / sap list view , 在sap报表数据输出使用最广泛的技术基于gui,在展现层处理 操作简单 较强的标准功能。排序、过滤、计算等 有三个版本的技术实现function ->grid->om bdc技术 首先简单解释一下bdc(batch data conversion): 在sap系统里,由于某种原因,可能需要重复输入数据,(数据不同,但是操作是相同的, 典型的情形就是切换系统的时候,旧系统的数据需要导入sap),大致过程不外乎是这样:输 入一个t-code, 进入一个某个屏幕,然后输入一个值(有时还要加上一些附加的checkbox选项等),点 执行或者确定按钮, 进入另一个屏幕,在某些字段输入值(`也可能是标注checkbox选中或者不选中)或者 修改这些字段里的值。

SAP ABAP_4编程语法汇总(中文版)

SAP ABAP_4编程语法汇总(中文版) 本文是由塞依教育编辑整理,了解更多SAP培训信息,请进入https://www.360docs.net/doc/c17818667.html,/news/一、Data Type (数据类型) C: 字符(串), 长度为1, 最大有65535 BYTES, 初始值为: space,例: ‘M’; D: 日期, 格式为YYYYMMDD, 最大是’9999/12/31’ ,例:’1999/12/03’. F: 浮点数, 长度为8, 例如: 4.285714285714286E-01 I: 整数范围 :-2^31 ~ 2^31-1 N: 数值组成的字符串: 011, ‘302’. P: packed 数,用于小数点数值,例如: 12.00542; T: 时间, 格式为HHMMSS,例如: ’14:03:00’, ’21:30:39’. X: 16进制数, 例如‘1A03’. 二、变量宣告 变量宣告包含name, length, type, structure等,语法如下: DATA [] [] [] 其中: :变量名称,最长30个字符,不可含有 + , . , : ( ) 等字符; :变量类型及长度; :初值 :小数位数 Example 1: DATA: COUNTER TYPE P DECIMALS 3, NAME (10) TYPE C VALUE ‘Delta’, S_DATE TYPE D VALUE ‘19991203’. Example 2: DATA: BEGIN OF PERSON, NAME(10) TYPE C, AGE TYPE I, WEIGHT TYPE P DECIMALS 2, END OF PERSON. 另外,有关DATA宣告的指令还有: CONSTANTS(宣告常数)、STATICS(临时变量宣告). 三、系统专用变量说明 系统内部专门创建了SYST这个STRUCTURE,里面的字段存放系统变量,常用的系统变量有: SY-SUBRC : 系统执行某指令后,表示执行成功与否的变量,’0’表示成功 SY-UNAME: 当前使用者登入SAP的USERNAME; SY-DATUM: 当前系统日期; SY-UZEIT: 当前系统时间; SY-TCODE: 当前执行程序的Transaction code SY-INDEX : 当前LOOP循环过的次数 SY-TABIX: 当前处理的是internal table 的第几笔 SY-TMAXL: Internal table的总笔数

SAP ABAP语法实例(二)

SAP ABAP语法实例 调试 1 调试键 F8跳过后面所有断点,程序执行完 2 外部、会话、调试断点 调试断点-debug时打的断点,程序远程完后就会消失 会话断点-程序运行前通过会话断点按钮打的断点,在同一登录会话不同窗口都有效,用户注销后消失 外部断点-程序运行前通过外部断点按钮打的断点,用户注销后再登录还是有效,但只针对同一用户有效

Select SELECT FROM INTO [WHERE ] [GROUP BY ] [HAVING ] [ORDER BY ]. GROUP BY:用于将一组数据条目压缩为一个单行作为选择最终结果; HAVING:用于限定ORDER BY子句子数据目组的选择条件; ORDER BY:用于限定行排序; SELECT整体语法结构。 示例: 以上示例查询的是:20170503至20170510期间销售订单为JR01,且销售量大于50的单据的订单号、创建日期、创建者、类型以及合计销量,并按销售订单升序排序。 这里需要强调的是,如果要使用函数(如SUM、MAX、MIN),则需要将其他字段通过GROUP BY 进行分组。 如果需要继续对使用函数进行条件筛选,则可以使用关键字HAVING。 关键字ORDER BY 决定查询结果的排序方法,ASCENDING为升序,DESCENDING为降序。 1 SELECT SINGLE单行数据: SELECT SINGLE INTO FROM ... 如果系统找到一个完全符合指定条件的行,SY-SUBRC返回0,否则返回4。一般不需要指明所有字段,而是在SELECT后用"*"符号,若指定多个数据对象,则需要将这些对象放在括号中,并用逗号隔开,而且其顺序需要与SELECT子句中指明的表字段顺序一致。 这里的为结构非内表。 示例: TABLES: sflight. DATA: sum TYPE i VALUE 0. SELECT SINGLE SUM( seatsocc ) INTO sum FROM sflight WHERE carrid ='LH'. WRITE:/ sum. 以上实现的是航线为LH的合计座位数。 区别以下代码,上面代码只输出一行,下面则输出多行:

SAP-ABAP语法整理

1、ST05是用于在开发ABAP程序时,对应事务码取得的字段是“数据结构”而不是“透明表”的时候,通过ST05的“SQL跟踪”来获得相关“Select”的语句;一般查看“REC”列耗时比较多的“Select”语句; 2、跟踪时如果有涉及到“数量”这类有对数据表进行更新或插入操作的,则直接去查Update 和Insert的SQL语句; 3、在跟踪后,直接双击“对象名”列的名称,点选“表格”转到“SE11”的表字段表; 4、ABAP程序开头的Tables:“数据表名”,只有在屏幕中有用到的表,才需要声明;在程序中用到的表则不需要进行在Tables内声名; 5、抓SAP“文本”字段的数据,要先自定义变量,然后通过SE37的函数 “FUNCTION ?ZREAD_TEXT?”取回文本数据; 6、新建的ABAP程序,在测试运行的时候要先进行“激活”,才能测试运行; 7、SE93:把ABAP写好的程序指定一个事务码执行; 8、abap引号内的字符??必须要是大写; 9、ABAP select 里面的语句,不能像mssql有那么丰富的函数使用,需要导到内表后再对数据进行操作; 10、?EQ?是单个数据值,?BT?是between区间的意思。 11、在写select inner join 里面,要注意是否需要加上销售组织的条件;on 条件1 and 销售组织条件。 12、SELECTION-SCREEN,里面有两个子项,PARAMETERS和select-options。PARAMETERS 一般是用于必输项的屏幕参数设置,如果这个参数不是必输项的,就要用select-options。在select ...where条件里,用PARAMETERS的条件语法是“数据字段= 屏幕字段”;而select-options的条件语法是“数据字段in 屏幕字段”。 13、在where判断一个日期型数据是空,不是DEAKT = ??,也不是DEAKT is initial,而应该写成DEAKT = ?00000000? (8个0)。 14、一对多的inner join,如果取出的数据有重复,前面加上distinct,用法和MSSQL相同。 15、sy-subrc,指上一个语句执行是否成功;执行成功返回0,执行不成功返回非0。用if判断。 16、如果一个语句中,该名称同时可能代表内表或者同名表工作区,则需要在内表名称之后加“[]”指明当前操作的是内表对象。不提倡使用带有表头行的内表,而是应该总是声明结构相同的其他数据对象作为显示工作区进行内表行操作。 如何调整ABAP程序的性能(copy) 1、使用where语句 不推荐 Select * from zflight. Check : zflight-airln = …LF? and zflight-fligh = …BW222?. Endselect. 推荐 Select * from zflight where airln = …LF? and fligh = …222?. Endselect. 2、使用聚合函数 不推荐 Maxnu = 0. Select * from zflight where airln = …LF? and cntry = …IN?.

SAP必备基础语法

ABAP基础知识 数据类型 C :字符串 D :日期型格式为YYYYMMDD 例:'1999/12/03' F : 浮点数长度为8 I :整数 N :数值组成的字符串如:011,'302' P : PACKED数用于小数点数值如:12.00542 T : 时间格式为:HHMMSS 如:'14:03:00' X : 16进制数如:'1A03' *-------------------------------------------------------------------------------------* 变数宣告 DATA [] [][decimals] 变数名称变数类型及长度初值小数位数 exp: DATA : COUNTER TYPE P DECIMALS 3. NAME(10) TYPE C VALUE 'DELTA'. S_DATE TYPE D VALUE '19991203'. exp: DATA : BEGIN OF PERSON, NAME(10) TYPE C, AGE TYPE I, WEIGHT TYPE DECIMALS 2, END OF PERSON. 另外,有關DATA宣告的指令還有: CONSTANTS(宣告常數)、STATICS(臨時變數宣告). exp: CONSTANTS PI TYPE P DECIMALS 5 VALUE '3.14159'. STATICS 敘述 宣告的變數僅在目前的程式中使用, 結束後會自動釋放 語法: STATICS [] [] []

SY-SUBRC : 系統執行某指令后,表示執行成功与否的變數,'0' 表示成功 SY-UNAME: 當前使用者登入SAP的USERNAME; SY-DATUM: 當前系統日期; SY-UZEIT: 當前系統時間; SY-TCODE: 當前執行程式的Transaction code SY-INDEX : 當前LOOP循環過的次數 SY-TABIX: 當前處理的是internal table 的第几筆 SY-TMAXL: Internal table的總筆數 SY-SROWS: 屏幕總行數; SY-SCOLS: 屏幕總列數; SY-MANDT: CLIENT NUMBER SY-VLINE: 畫豎線 SY-ULINE: 畫橫線 TYPE 敘述 用來指定資料型態或宣告自定資料型態 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 語句 ABAP/4用來在屏幕上輸出資料的指令是WRITE指令,例如: WRITE: 'USER NAME IS:', SY-UNAME.

abap开发基础知识总结

1.内表的定义 通过关键字DATA对内表进行创建,内一的定义可以直接参考结构体或者其它内表及透明表,也可以直接定义字段,其中关键字如下: UNIQUE|NON-UNIQUE:指定关键字,只能应用于排序表或者哈希表。 INITIAL SIZE n:指定初始化内表大小。 WITH HEADERLINE:定义内表是否有表头。 具体定义有以下几种方式: DATA <内表名> TYPE <结构类型> WITH[UNIQUE|NON-UNIQUE] [INITIAL SIZE n] [WITH HEADER LINE]。 DATA <内表名> LIKE TABLE OF <内表或者透明表> WITH[UNIQUE|NON-UNIQUE] [INITIAL SIZE n] [WITH HEADER LINE]。 DATA BEGIN OF itab OCCURS n, ...... END OF itab [VALID BETWEEN f1 AND f2]。 2.内表的赋值 上面曾介绍过,内表分为有无HEADER LINE两种。对于有HEADER LINE的内表,可以通过填充HEADER LINE数据后或通过外部的Work Area向内表存储空间中追加数据,相关语法如下: APPEND( into) . 3.内表数据管理 3.1.内表的清空 CLEAR :仅清空HEADER LINE,对内表数据存储空间不影响。 REFRESH :清空内表数据存储空间,对HEADER LINE不影响。

REFRESH FROM TABLE:清空内表存储空间,填充从数据库表所获数据。 FREE :清空内表数据存储空间,对HEADER LINE不影响。 3.2.INSERT(向内表插入数据) 可以按内表的具体字段向表中插入一行或者多行数据,具体语法如下:INSERT [wa INTO|INITIAL LINE INTO] itab [INDEX idx]. INSERT [wa INTO|INITIAL LINE INTO] TABLE itab. INSERT LINES OF itab1 [FROM idx] [TO idx2] INTO itab2 [INDEX idx3]. 3.3.MODIFY(直接修改内表数据) 按内表位置或者具体内表字段值相等条件修改内表数据。 MODIFY itab [FROM wa] [INDEX idx][TRANSPORTING f1...fn] WHERE cond. 3.4.COLLECT(内表数据分类汇总) 将内表中相同的字段合并,若有类型为I的字段,则将其值加总。 COLLECT [wa INTO] itab. 3.5.SORT(内表数据排序) 对内表进行排序,可以指定具体的排序字段、排序方式(升/降),语法如下:SORT itab [BY f2 f2...fn] [ASCENDING/DESCENDING] 3.6.READ(读取) 依据具体行数或字段值等条件读取某一内表的数据。 READ TABLE itab FROM wa. READ TABLE itab WITH [TABLE] KEYk1=v1...kn=vn [BINARY SEARCH]. READ TABLE itab INDEX i.

ABAP_4语法集锦(中文版)

§. ABAP/4 DATA ELEMENT 一.Data Type (数据类型) C: 字符(串), 长度为1, 最大有65535 BYTES, 初始值为: space,例: ‘M’; D: 日期, 格式为YYYYMMDD, 最大是’9999/12/31’ ,例:’1999/12/03’. F: 浮点数, 长度为8, 例如: 4.285714285714286E-01 I: 整数范围 :-2^31 ~ 2^31-1 N: 数值组成的字符串: 011, ‘302’. P: packed 数,用于小数点数值,例如: 12.00542; T: 时间, 格式为HHMMSS,例如: ’14:03:00’, ’21:30:39’. X: 16进制数, 例如‘1A03’. 二.变量宣告 变量宣告包含name, length, type, structure等,语法如下: DATA [] [] [] 其中: :变量名称,最长30个字符,不可含有 + , . , : ( ) 等字符; :变量类型及长度; :初值 :小数位数 Example 1: DATA: COUNTER TYPE P DECIMALS 3, NAME (10) TYPE C VALUE ‘Delta’, S_DATE TYPE D VALUE ‘19991203’. Example 2: DATA: BEGIN OF PERSON, NAME(10) TYPE C, AGE TYPE I, WEIGHT TYPE P DECIMALS 2, END OF PERSON. 另外,有关DATA宣告的指令还有: CONSTANTS(宣告常数)、STATICS(临时变量宣告). 三.系统专用变量说明 系统内部专门创建了SYST这个STRUCTURE,里面的字段存放系统变量,常用的系统变量有: SY-SUBRC : 系统执行某指令后,表示执行成功与否的变量,’0’表示成功 SY-UNAME: 当前使用者登入SAP的USERNAME; SY-DATUM: 当前系统日期; SY-UZEIT: 当前系统时间;

ABAP的常用知识点

SAP常用知识点 SAP Basis学习2009-07-12 10:49:30 阅读249 评论0 字号:大中小 包括:{系统变量|TCODE|消息类型|数据类型|变量声明|Internal Table} KEY: 1.常用系统变量 2.常用TCODE 3.消息类型 4.数据类型 5.变量声明 6.Internal Table 1.常用系统变量 SY-SUBRC: 系统执行某指令后,表示执行成功与否的变量,’0’表示成功SY-DBLNT: 被处理过的记录的笔数 SY-UNAME: 当前使用者登入SAP的USERNAME; SY-DA TUM: 当前系统日期; SY-UZEIT: 当前系统时间; SY-TCODE: 当前执行程序的Transaction code 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: 当前行 2.常用TCODE

ABAP的SQL数据库语法详解与示例

§SQL语法 我们在编写ABAP4程序的时候,经常需要从TABLE中根据某些条件读取数据,.读取数据最常用的方法就是通过SQL语法实现的. ABAP/4中可以利用SQL语法创建或读取TABLE,SQL语法分为DDL(DATA DEFINE LANGUAGE)语言和DML(DATA MULTIPULATION LANGUAGE)语言,DDL语言是指数据定义语言,例如CREATE等, DML语言是数据操作语言,例如SELECT, INSERT等语句. SQL语句有OPEN SQL语句和NATIVE SQL语句. OPEN SQL语句不是标准SQL语句,是ABAP/4语言,利用OPEN SQL语句能在Databases 和Command 之间产生一个BUFFER,所以它有一个语言转换的过程. 而NA TIVE SQL语句则是标准的SQL语句, 它直接针对Databases操作. 一.OPEN SQL OPEN SQL 语句包含有: SELECT,INSERT,UPDATE,MODIFY,DELETE,OPEN CURSOR, FETCH,CLOSE CURSOR,COMMIT WORK,ROLLBACK WORK等. 1. SELECT语句 语法格式: SELECT [INTO ] [FROM ] [WHERE ] [GROUP BY ] [ORDER BY ] 其中: 指定要抓取的字段 将读取的记录存放在work area中 指定从那个TABLE中读取资料 抓取资料的条件 指定按那些字段分组 排序的字段及方式 相关的系统变量: SY-SUBRC = 0 表示读取数据成功 <> 0 表示未找到符合条件的记录 SY-DBLNT: 被处理过的记录的笔数. 相关的命令: EXIT. 退出循环. CHECK .如果逻辑表达式成立,则继续执行,否则,开 始下一次循环.

相关文档
最新文档