Você está na página 1de 3

Dense ABAP Syntax Cheatsheet

DATA _var TYPE _type _elementary_type: _custom_type: Commenting: „inline


DATA _var LIKE _var i, f - num TYPES _type TYPE _type *whole line
CONSTANTS _var TYPE _type VALUE _value c, string - char (Internal) tables (like arrays, lists, queues):
DATA _data_ref TYPE REF TO _data_object d, t - date/time DATA _table TYPE _table_type
GET REFERENCE OF _var INTO _data_ref Structures: TABLE OF _line_type WITH _key_type KEY _key
CLASS _class DEFINITION TYPES: BEGIN OF _structure
_visibility SECTION _component TYPE _type TYPES _table TYPE _table_type OF
INTERFACES _interface END OF _structure _line_type WITH _key_type _key
METHODS: Access structure: _structure-_component _table_type:
_instance_method _parameter_interface _parameter_interface(classes and functions): STANDARD, SORTED, HASHED
CLASS-METHODS: IMPORTING _im_var TYPE _pi_type _line_type == _structure:
_static_method _parameter_interface EXPORTING _ex_var TYPE _pi_type DATA _line TYPE LINE OF _line_type
DATA _instance_attribute TYPE _type CHANGING _ch_var TYPE _pi_type _key_type:
CLASS-DATA _static_attribute TYPE _type RETURNING VALUE(_ret_var) TYPE _pi_type UNIQUE, NON-UNIQUE
_pi_type (special generics and others): Table access:
CLASS _class IMPLEMENTATION ANY, ANY TABLE, INDEX TABLE, TABLE, index, key
METHOD _method STANDARD TABLE, SORTED TABLE, HASHED Table index operations(different with keys):
DATA _data_ref TYPE REF TO _class TABLE, _type READ TABLE _table INDEX _value INTO _line
CREATE OBJECT _data_ref TYPE _object's_class Parameters in interface can be: LOOP AT _table INTO _line
Constructor: method named constructor OPTIONAL, DEFAULT APPEND _line TO _table
INSERT _line INTO _table INDEX _value
_visibility:
PRIVATE, PROTECTED, PUBLIC CALL METHOD/CALL FUNCTION DELETE _table INDEX _value
EXPORTING _im_var = _var (pass by value) MODIFY _table FROM _line INDEX _value
DEFINITION INHERITING FROM _superclass
IMPORTING _ex_var = _var (pass by value) SORT _table
„Overriding“:
CHANGING _ch_var = _var (pass by reference) CLEAR _table
METHODS: _superclass_method REDEFINING
RECEIVING _ret_var = _var (or functional call) *sum to existing one or append new entry
INTERFACE _interface COLLECT _line INTO _table
Functional call(functions as operands, only has
METHODS:
importing and returning): SQL query:
_interface_method
IF _functional( _var.._var ) SELECT _db_table~_db_column.._db_column
EVENTS _event Dynamic call: FROM _db_table INNER JOIN _db_table ON
EXPORTING VALUE(_ev_var) TYPE _type CALL METHOD _object->(_method_name) _db_table~_db_column = _db_table~_db_column
*implement in class which defines the event: CALL FUNCTION _function_name INTO (CORRESPONDING FIELDS OF) _table
RAISE EVENT _event EXPORTING _ev_var = _var Pass parameters with PARAMETER-TABLE WHERE _db_column = _var.._db_column <> _var
*define as public in a class which reacts: WRITE _method_name/_function_name IN GROUP BY _db_column.._db_column
METHODS: _ev_handler FOR EVENT _event OF UPPERCASE LETTERS eg. 'OUTPUT_ME' HAVING _db_column = _var.._db_column <> _var
_class_or_interface IMPORTING _ev_var ORDER BY _db_column ASCENDING/DESCENDING
IF _expression WHILE _expression
*during program execution define: WHERE additions:
ELSEIF _expression DO _number TIMES
SET HANDLER: _object->_ev_handler FOR _object BETWEEN, LIKE, IN
ELSE _expression
super->_superclass_method =, <>, AND, NOT, OR and others Aggregate functions(use GROUP BY and HAVING):
_object->_instance_method_or_attribute MAX, AVG, SUM, COUNT
String operations:
_class=>_static_method_or_attribute Database cursor for iterative access:
CONCATENATE _var.._var INTO _var
_object->_interface~_interface_method OPEN CURSOR _cursor FOR _SQL_query
CONDENSE _var NO-GAPS
Method Class DO
TRANSLATE _var TO UPPER CASE/USING _mask_pairs
ABSTRACT no implementation no objects FETCH NEXT CURSOR _cursor INTO _line
SEARCH _var FOR _var
FINAL no overridding no inheritence IF sy-subrc <> 0.
SPLIT _var AT _value INTO _var.._var
„STATIC“ shared by the whole tree N/A CLOSE CURSOR. EXIT.
STRLEN( _var )
Mislav Jakšić, jaksicmislav@gmail.com
Dense ABAP Syntax Cheatsheet
Native SQL: Math func: ABS, SIGN, CEIL, FLOOR, TRUNC, FRAC,
EXEC SQL _native_statement all trigonometric, EXP, LOG, LOG10, SQRT
Files on application server: Generic and dynamic programming:
OPEN DATASET _file_path FOR _operation Get data object type as string:
IN _mode DESCRIBE FIELD _var TYPE _s_var
TRANSFER _var TO _file_path New way(RTTS: RTTI, RTTC):
READ DATASET _file_path INTO _var _t_var = cl_abap_typedescr=>
CLOSE DATASET _file_path describe_by_data( _var )
_operation: _s_var = _t_var->get_relative_name()
APPENDING, OUTPUT, INPUT Get structure components type names:
_mode: DATA _s_var TYPE REF TO cl_abap_structdescr
BINARY MODE, TEXT MODE _s_var ?= cl_abap_typedescr=>
Field symbols(generic handling, pointers): describe_by_data( _var )
FIELD-SYMBOLS <_field_symbol> TYPE _type DATA _component TYPE abap_compdescr
ASSIGN _var TO <_field_symbol> LOOP AT _s_var->components INTO _component
ASSIGN COMPONENT _component OF STRUCTURE _component-name, _component-type_kind, ...
_structure TO <_field_symbol> Create and access data object dynamicaly:
Check existance: DATA _var TYPE REF TO data
_var IS INITIAL CREATE DATA _var TYPE (_value)
_data_ref IS BOUND Access dynamicaly created object:
_field_symbol IS ASSIGNED FIELD-SYMBOLS <symbol> TYPE data
IN _table ASSIGN _var->* TO <symbol>
and from then on use <symbol>
Adressing subfields:
_var+_offset_value(_length_value) MESSAGE _value TYPE _m_type
MESSAGE _t_nnn(_m_class)
Unit testing(inline comment must be written):
_t_nnn:
CLASS _t_class DEFINITION FOR TESTING. „#AU
Risk_Level Harmless _T is _m_type, _nnn are 3 digits in _m_class
METHODS: _m_type:
'A', 'E', 'I', 'S', 'W', 'X'
_t_method FOR TESTING.
CLASS _t_class IMPLEMENTATION. *if _t_nnn has & in definition, they are
METHOD _t_method replaced with _char.._char:
MESSAGE _t_nnn(_m_class) WITH _chars.._chars
*execute function and other statements
cl_aunit_assert=>assert_equals( FORM _subroutine
act = _returned_result , USING _var (pass by reference)
exp = _expected_result, USING CHANGING _var (pass by referense)
msg = 'Display when false') USING VALUE(_var) (pass by value)
PERFORM _subroutine
User memory (shared by all ABAP programs):
GET PARAMETER ID _field_id FIELD _var
SET PARAMETER ID _field_id FIELD _var
ABAP memory (shared by a call sequence):
EXPORT _var TO MEMORY ID _value
IMPORT _m_data = _var.._m_data = _var TO
MEMORY ID _value
DELETE FROM MEMORY ID _value

Mislav Jakšić, jaksicmislav@gmail.com


Dense ABAP Syntax Cheatsheet
System fields(flags with values): SE02 : System Messages WE41 : Display Outbound Process Code
SY-DATLO local date of the user SE03 : Transport Organizer Tools (Excellent Doc) WE42 : Display Inbound Process Code
SY-TIMLO local time of the user Change Object Directory Entries:Change Package WE60 : IDoc Documentation
SY-INDEX current number of loop pass SE09 : Transport Organizer WE81 : Display EDI:Logical Message Types
SY-TABIX last adressed table line SE11 : ABAP Dictionary WEDI : Enter A Special Menu
SY-SUBRC return value of last run command SE14 : Database Utility (Detailed and Complex)
SY-TCODE name of current transaction SE15 : Repository (Search for Everything) AL11 : Application Server Directories
SY-UCOMM function code triggered during PAI SE16 : Data Browser (View and Create Entries) BAPI : Business App Programming Interface
SY-UNAME current user's name SE16n: General Table Display BD64 : Distribution Model
SY-REPID name of current ABAP program SE18 : BAbl Builder Definition BD87 : Select IDoc, ALE Messages
And many others SE19 : BAdl Builder Implementation BSVW : Event Status Creation
SE24 : Class/Interface Builder SWE2 : Event Type Linkage
Packages: SE30 : Runtime Analysis CG3Y : Download Files From Application Server
SABAPDEMOS : ABAP program examples SE32 : Text Elements in Programs/Classes CG3Z : Upload File To Application Server
SE83 : reuse library SE37 : Function Modules CMOD : SAP Enhancement Project Management
SE39 : Split Screen ABAP Editor SMOD : SAP Enhancement
Function modules: SE41 : Menu Painter SECATT:Make and execute eCATTs
SPELL_AMOUNT : currency to words SE63 : Standard Translation Enviroment SFW5 : Switch Framework, activate functions
C14W_NUMBER_CHAR_CONVERSION : number to string SHDB : Batch Input Transaction Recorder
HR_HR_LAST_DAY_OF_MONTH : get the last day of SE71 : SAPscript Form Painter SMARTFORMS: Smart Forms Initial Screen
the month SE72 : SAPscript Styles SPRO : Customizing
SE73 : SAPscript Font/Bar Code Maintenence ST03N: Workload (User Activity by Transaction)
Program: SE75 : SAPscript Settings ST22 : ABAP Runtime Error (View)
RSTXSCRP : SAPscript export/import to file SE78 : SAPscript graphics STAD : Workload, Business Transaction Analysis
RSUSR200 : lists data about user logons STATTRACE: Functional Trace
SE80 : Object Navigator (Main Programming Tool) SU21 : Authorization Object Maintenence
SE83 : Reuse Library
SE90 : Transaction Maintenance
SE91 : Message Maintenence
SE92 : System Log Message Maintenence
SE93 : Transaction Maintenence

SM04 : User List


SM31 : Table View Maintenence
SM36 : Define Background Job
SM37 : Execute Background Job
SM49 : Execute Application Server Commands
SM59 : RFC Connection Maintenence
SM69 : Maintain Application Server Commands

WE02 : IDoc List


WE19 : Test Tool for IDoc
WE20 : IDoc Communication Partner Profiles
WE21 : Ports in IDoc
WE30 : Develop IDoc Types
WE31 : Define Segment Types

Mislav Jakšić, jaksicmislav@gmail.com

Você também pode gostar