[ABAP] Alter / obsoleter Code

Weiterführende Infos: Link

alt / obsolet                                       neu

DATA: f1(8) TYPE d. (Längenangaben bei Datentypen)  DATA: f1 TYPE d.
FORM, PERFORM (obsolete Modularisierung)            CLASS DEFINITION, CLASS IMPLEMENTATION + Methoden (Kapselung)
CALL FUNCTION func EXCEPTIONS ...                   CLASS DEFINITION, CLASS IMPLEMENTATION + Methoden (Kapselung)
LIKE, STRUCTURE                                     TYPE, außer bei LIKE LINE OF
LOCAL                                               Verzichten auf Zugriff auf globalen Daten des Rahmenprogramms
FIELD-SYMBOLS: ...                                  LOOP AT ... ASSIGNING FIELD-SYMBOL(<...>)
READ TABLE ... INDEX 1                              itab[ 1 ]
READ TABLE ... ASSIGNING ...                        itab[ ... ]
READ TABLE ... WITH KEY type = '1'                  itab[ type = '1' ]
READ TABLE ... INTO ...                             DATA(var) = itab[ ... ].
READ TABLE ... REFERENCE INTO ...                   DATA(oref) = REF type( itab[ ... ] ).
READ TABLE ... TRANSPORTING NO FIELDS               IF line_exists( itab[ ... ] ). ... ENDIF.
REFRESH                                             CLEAR, FREE
DATA name TYPE ...                                  DATA(name) = VALUE type( ... ).
CLASS class DEFINITION LOAD.                        CLASS class DEFINITION.
INTERFACE intf LOAD.                                INTERFACE intf.
CREATE OBJECT oref EXPORTING ...                    DATA(oref) = NEW class( ... ).
OCCURS                                              Tabellen mit Kopfzeilen sind obsolet, im OO nicht mehr unterstützt
WITH HEADER LINE                                    Tabellen mit Kopfzeilen sind obsolet, im OO nicht mehr unterstützt
RANGES                                              DATA rg_name = TYPE|LIKE RANGE OF type.
MOVE                                                =
COMPUTE                                             weglassen, komplett überflüssig
PACK src TO dest                                    dest = src
TABLES                                              weglassen, komplett überflüssig, außer TABLES sscrfields.
TYPE-POOLS                                          weglassen, komplett überflüssig
DATA - COMMON PART                                  weglassen, komplett überflüssig
TABLES *                                            weglassen, komplett überflüssig
TYPE TABLE                                          TYPE ... TABLE WITH ... KEY (explizite Typisierung)
CHECK SELECT-OPTIONS.                               wird im OO nicht mehr unterstützt

READ, LOOP, INSERT, COLLECT,
APPEND, MODIFY, DELETE                              ohne INTO im OO nicht mehr unterstützt
SELECT * FROM tab.                                  ohne INTO im OO nicht mehr unterstützt, neu: SELECT ... INTO wa
LOOP AT itab.                                       ohne INTO im OO nicht mehr unterstützt, neu: LOOP AT ... INTO wa, ASSIGNING ... oder TRANSPORTING NO FIELDS
LOOP AT screen.                                     nur noch LOOP AT SCREEN INTO DATA(screen_wa).
MODIFY screen.                                      nur noch MODIFY SCREEN FROM screen_wa.
FIELDS obj.                                         ##NEEDED
"#EC ... (Pseudokommentare)                         ## ... (Pragmas)
CALL TRANSACTION ...                                CALL TRANSACTION ... WITH|WITHOUT AUTHORITY-CHECK.
CALL METHOD ...                                     weglassen, nur noch direkter Methodenaufruf
CALL DIALOG ...                                     globale Klassen oder FuBa
CALL CUSTOMER-FUNCTION ...                          CALL BADI ...
LEAVE                                               LEAVE PROGRAM, LEAVE TO TRANSACTION, LEAVE [TO] SCREEN, LEAVE LIST-PROCESSING.
><, =>, =<                                          <>, >=, <=, NE, GE, LE
IS REQUESTED                                        IS SUPPLIED
CATCH SYSTEM-EXCEPTIONS ...                         TRY ... CATCH
SEARCH itab                                         FIND IN TABLE

SELECT a b FROM tbl                                 SELECT a, b FROM tbl
  INTO CORRESPONDING FIELDS OF TABLE itab             INTO CORRESPONDING FIELDS OF TABLE @itab
  WHERE c = v1                                        WHERE c = @v1
  ORDER BY a, b.                                      ORDER BY a, b.

GUID_CREATE                                         cl_system_uuid
GUID_CONVERT                                        cl_system_uuid
SYSTEM_UUID_CREATE                                  cl_system_uuid
SYSTEM_UUID_C_CREATE                                cl_system_uuid
SYSTEM_UUID_C22_CREATE                              cl_system_uuid