Skip to content

SYSTEM-CALL - Method Administration for the ABAP Class Library

Other versions: 7.31 | 7.40 | 7.54

This statement is intended solely for * Internal use within SAP Basis Development *

Even within SAP Basis, it may be used only in programs within the ABAP+GUI dvelopment groups. Its use is subject to various restrictions, some of which may not be described in the documentation . This documentation is intended for internal SAP use within the Basis development group ABAP+GUI. Changes and further developments, which may be incompatible, can occur at any time without prior notice!SAP Basis, it may be used only in programs within the ABAP+GUI dvelopment groups. . This documentation is intended for internal SAP use within the Basis development group ABAP+GUI.

Variants

1. SYSTEM-CALL CREATE CLASS c.

2. SYSTEM-CALL CREATE METHOD m OF CLASS c INCLUDE INTO incl.

3. SYSTEM-CALL QUERY CLASS c.

4. SYSTEM-CALL QUERY METHOD m OF CLASS c INCLUDE INTO incl.

5. SYSTEM-CALL DELETE CLASS c.

6. SYSTEM-CALL DELETE METHOD m OF CLASS c.

7. SYSTEM-CALL RENAME CLASS c NEW NAME FROM c2.

8. SYSTEM-CALL RENAME METHOD m OF CLASS c NEW NAME FROM m2.

9. SYSTEM-CALL QUERY METHOD INCLUDE FROM incl CLASS INTO c                                               METHOD INTO m.

Effect

Administers the method includes belonging to a class. Is an interface to table TMDIR. Can be called from the C environment using ab_MethodInclAdm().

Variant 1

SYSTEM-CALL CREATE CLASS c.

Effect

Return Value

SY-SUBRC = 0:
Entry for class c successfully created.

Variant 2

SYSTEM-CALL CREATE METHOD m OF CLASS c INCLUDE INTO incl.

Addition

... AS EXTENSION

Effect

Return Value

SY-SUBRC = 0:
Entry for method m in class c successfully created.
SY-SUBRC = 4:
Entry for method m in class c already exists.
SY-SUBRC = 8:
Overflow. Unable to create any more method entries for class c.

Addition

... AS EXTENSION

Effect

If the optional addition AS EXTENSION is specified, the method is flagged as an enhancement method ( enhancement implementation element).

Variant 3

SYSTEM-CALL QUERY CLASS c.

Effect

Return Value

SY-SUBRC = 0:
Entry for class c exists.
SY-SUBRC = 4:
Entry for class c does not exist.

Variant 4

SYSTEM-CALL QUERY METHOD m OF CLASS c INCLUDE INTO incl.

Extras

1. ... NO DBLOCK
2. ... NO EXTENSIONS

Effect

Return Value

SY-SUBRC = 0:
Entry for method m of class c exists.
SY-SUBRC = 4:
Entry for method m of class c does not exist.

Addition 1

... NO DBLOCK

Effect

If the optional addition NO DBLOCK is specified, the system does not set an update lock on class c.

Addition 2

... NO EXTENSIONS

Effect

If the optional addition NO EXTENSIONS is specified, the call only sets sy-subrc to 0 if the method searched for is not flagged as an enhancement method enhancement implementation element).

Variant 5

SYSTEM-CALL DELETE CLASS c.

Effect

Return Value

SY-SUBRC = 0:
All entries for class c deleted.

Variant 6

SYSTEM-CALL DELETE METHOD m OF CLASS c.

Effect

Return Value

SY-SUBRC = 0:
Entry for method m in class c deleted.
SY-SUBRC = 4:
Entry for method m of class c does not exist.

Variant 7

SYSTEM-CALL RENAME CLASS c NEW NAME FROM c2.

Effect

Return Value

SY-SUBRC = 0:
Entries for class c renamed as c2.
SY-SUBRC = 4:
Basic entry for class c2 already exists.

Variant 8

SYSTEM-CALL RENAME METHOD m OF CLASS c NEW NAME FROM m2.

Effect

Return Value

SY-SUBRC = 0:
Entry for method m from class c renamed as m2.
SY-SUBRC = 4:
Entry for method m2 in class c already exists.
SY-SUBRC = 8:
Entry for method m of class c does not exist.

Variant 9

SYSTEM-CALL QUERY METHOD INCLUDE FROM incl CLASS INTO c METHOD INTO m.

Addition

... NO EXTENSIONS

Effect

Return Value

SY-SUBRC = 0:
Method derived from include name incl exists.
SY-SUBRC = 4:
Class derived from include name incl does not exist.
SY-SUBRC = 8:
Method derived from include name incl does not exist.

Addition

... NO EXTENSIONS

Effect

If the optional addition NO EXTENSIONS is specified, the call only sets sy-subrc to 0 if the method searched for is not flagged as an enhancement method enhancement implementation element).

Exceptions

Non-Handleable Exceptions

  • Cause: Basic entry for class c already exists.
    Runtime error: TMDIR_CLASS_ALREADY_EXISTS
  • Cause: No basic entry for class c exists.
    Runtime error: TMDIR_CLASS_NOT_EXISTS
  • Cause: A method entry with an method include number which is too large exists for class c.
    Runtime error: TMDIR_TOO_MANY_RECORDS