1、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 LIN
2、E 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 数据
3、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
4、 16, END OF t_day. DATA BEGIN OF week. INCLUDE TYPE t_day AS mondayRENAMING 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-
5、tuesday-work2、用重新命名的后缀名字来访问: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 cla
6、ss DEFINITION LOCAL FRIENDS class1 class2 . intf1intf2.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 . intf1intf2.Deferred 关键字可以预先声明一个未被定义的类。类方法声明语句:METHOD
7、S 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 REDEFINI
8、TION。访问上级类的函数: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 |
9、| |-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
10、_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 | | |-
11、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_
12、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_IMPO
13、RT_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_SOR
14、TED | |-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
15、| | |-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 | |-C
16、X_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
17、_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.
18、 . . . 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
19、 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。functionwrite_form.*-*LokaleSchnittstelle:*IMPORTING*VALUE(ELEMENT)DEFAULTSPACE*VALUE(FUNCTION)DEFAULTSET*VALUE(TYPE)DEFAULTBODY*VALUE(WINDOW)DEFAULTMAIN
20、*EXPORTING*VALUE(PENDING_LINES)*EXCEPTIONS*ELEMENT*FUNCTION*TYPE*UNOPENED*UNSTARTED*WINDOW*BAD_PAGEFORMAT_FOR_PRINT*SPOOL_ERROR*CODEPAGE*-functionwrite_form_lines.*-*LokaleSchnittstelle:*IMPORTING*VALUE(FUNCTION)DEFAULTSET*VALUE(HEADER)LIKETHEADSTRUCTURETHEAD*VALUE(TYPE)DEFAULTBODY*VALUE(WINDOW)DEFAULTMAIN*EXPORTING*VALUE(FROMPAGE)*VALUE(PENDING_LINES)*TABLES*LINESSTRUCTURETLINE*EXCEPTIONS*FUNCTION*TYPE*UNOPENED*UNSTARTED*WINDOW*BAD_PAGEFORMAT_FOR_PRINT*SPOOL_ERROR*CODEPAGE*-functioncontrol_
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1