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

上传人:b****8 文档编号:28188306 上传时间:2023-07-09 格式:DOCX 页数:14 大小:18.41KB
下载 相关 举报
ABAP基本语法学习关键语句的写法参考模板.docx_第1页
第1页 / 共14页
ABAP基本语法学习关键语句的写法参考模板.docx_第2页
第2页 / 共14页
ABAP基本语法学习关键语句的写法参考模板.docx_第3页
第3页 / 共14页
ABAP基本语法学习关键语句的写法参考模板.docx_第4页
第4页 / 共14页
ABAP基本语法学习关键语句的写法参考模板.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

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

《ABAP基本语法学习关键语句的写法参考模板.docx》由会员分享,可在线阅读,更多相关《ABAP基本语法学习关键语句的写法参考模板.docx(14页珍藏版)》请在冰豆网上搜索。

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

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

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

内表建立过程:

1、声明一个结构体

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

内表名称likestandardtableof结构体名称,

内表名称likesortedtableof结构体名称,

内表名称likeharshedtableof结构体名称。

后面可以用到with选项来进行关键字的声明。

基本语法如下:

DATAitab{{TYPEtabkindOF[REFTO]type}

          |{LIKEtabkindOFdobj}}

          [WITHkey][INITIALSIZEn]

          [WITHHEADERLINE]

          [VALUEISINITIAL]

          [READ-ONLY].

DATArtab{TYPERANGEOFtype}|{LIKERANGEOFdobj}

          [INITIALSIZEn]

          [WITHHEADERLINE]

          [VALUEISINITIAL]

          [READ-ONLY].

此语句可以定义一个范围表,在操作数据库时可以用来作为判断数据选择的条件描述。

3、向内表中插入数据,插入数据可以用insert数据into内表语句或者是append数据to内表语句。

可以插入整个内表到另一内表insertlinesof内表名称intotable另一内表名称。

亦可以进行累加插入:

collect数据into内表名称。

相同的数据进行累积。

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

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

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

 

用Include来构造一个结构体

INCLUDE{{TYPEstruc_type}|{STRUCTUREstruc}}

        [ASname[RENAMINGWITHSUFFIXsuffix]].

TYPES:

BEGINOFt_day,

        workTYPEcLENGTH8,

        freeTYPEcLENGTH16,

      ENDOFt_day.

DATABEGINOFweek.

  INCLUDETYPEt_dayASmonday    RENAMINGWITHSUFFIX_mon.

  INCLUDETYPEt_dayAStuesday  RENAMINGWITHSUFFIX_tue.

  INCLUDETYPEt_dayASwednesdayRENAMINGWITHSUFFIX_wed.

DATAENDOFweek.

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

1、直接用结构体的名称来访问:

week-monday-work,week-monday-free,week-tuesday-work

2、用重新命名的后缀名字来访问:

week-work_mon,week-free_mon,week-work_tue

类对象的定义方式:

CLASSclassDEFINITION [class_options].

    [PUBLICSECTION.

      [components]]

    [PROTECTEDSECTION.

      [components]]

    [PRIVATESECTION.

      [components]]

  ENDCLASS.

类对象的实现方式:

CLASSclassIMPLEMENTATION.

    ...

    METHOD...

      ...

    ENDMETHOD.

    ...

  ENDCLASS.

类对象的继承:

CLASSclassDEFINITION

              LOCALFRIENDSclass1class2...

                           intf1  intf2  ...

CLASSclassDEFINITION{{DEFERRED[PUBLIC]}|LOAD}.

[PUBLIC]

    [INHERITINGFROMsuperclass]

    [ABSTRACT]

    [FINAL]

    [CREATE{PUBLIC|PROTECTED|PRIVATE}]

    [SHAREDMEMORYENABLED]

    [FORTESTING]

    [[GLOBAL]FRIENDSclass1class2...

                      intf1  intf2  ...].

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

 

类方法声明语句:

METHODSmeth[ABSTRACT|FINAL]

  [IMPORTINGparameters[PREFERREDPARAMETERp]]

  [EXPORTINGparameters]

  [CHANGINGparameters]

  [{RAISING|EXCEPTIONS}exc1exc2...].

METHODSmeth[ABSTRACT|FINAL]

  [IMPORTINGparameters[PREFERREDPARAMETERp]]

  RETURNINGVALUE(r)typing

  [{RAISING|EXCEPTIONS}exc1exc2...].

重载函数的声明方法:

METHODSmeth[FINAL]REDEFINITION。

访问上级类的函数:

super->meth()。

大小写字母转换语句:

TRANSLATEtypTOLOWERCASE.

在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数据引用名typerefto类型名.

2、声明字段符号:

field-symbolstypeany.

3、建立数据引用:

createdate(object)数据引用名type类型名.

4、分配引用到字段:

assign数据引用名->*to.

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

LOOPATitabresult...

  [ATFIRST.

    ...

  ENDAT.]

    [ATNEWcomp1.

      ...

    ENDAT.

      [ATNEWcomp2.

        ...

      ENDAT.

        [...]]]

          [...]

      [[[...]

      ATENDOFcomp2.

        ...

      ENDAT.]

    ATENDOFcomp1.

      ...

    ENDAT.]

  [ATLAST.

    ...

  ENDAT.]

ENDLOOP.

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

INSERTline_specINTOitab_position[result].

读内表的语法:

READTABLEitab{table_key

                |free_key

                |index}result.

描述字段属性的语句:

DESCRIBEFIELDdobj

  [TYPEtyp[COMPONENTScom]]

  [LENGTHilenIN{BYTE|CHARACTER}MODE]

  [DECIMALSdec]

  [OUTPUT-LENGTHolen]

  [HELP-IDhlp]

  [EDITMASKmask].

 

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 con

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1