ABAP Keyword Documentation → ABAP - Reference → Creating Objects and Values → CREATE OBJECT
CREATE OBJECT - parameter_tables
Other versions: 7.31 | 7.40 | 7.54
Syntax
... [PARAMETER-TABLE ptab]
[EXCEPTION-TABLE etab].
Effect
The additions PARAMETER-TABLE and EXCEPTION-TABLE
pass actual parameters dynamically to the instance constructor or assign return values to the non-class-based exceptions.
These additions can be used only if the instantiated class is specified dynamically in name.
Using the special internal tables ptab and etab,
they assign actual parameters to the input parameters of the instance constructor, or return values to the non-class-based exceptions.
The syntax and semantics are the same as those that apply to dynamic method calls using the statement
CALL METHOD. The internal
tables ptab and etab in particular must be defined with reference to the tables ABAP_PARMBIND_TAB and ABAP_EXCPBIND_TAB from the
type group ABAP.
Example
Creates a Control Framework
(CFW) dialog box dynamically and passes input parameters dynamically to the instance constructor of
the global class CL_GUI_DIALOGBOX_CONTAINER. The class is defined explicitly using the TYPE addition.
DATA: container TYPE REF TO cl_gui_container,
exc_ref TYPE REF TO cx_root.
DATA: class TYPE string VALUE `CL_GUI_DIALOGBOX_CONTAINER`,
ptab TYPE abap_parmbind_tab.
ptab = VALUE #( ( name = 'PARENT'
kind = cl_abap_objectdescr=>exporting
value = REF #( cl_gui_container=>desktop ) )
( name = 'WIDTH'
kind = cl_abap_objectdescr=>exporting
value = REF #( 1000 ) )
( name = 'HEIGHT'
kind = cl_abap_objectdescr=>exporting
value = REF #( 300 ) ) ).
TRY.
CREATE OBJECT container TYPE (class)
PARAMETER-TABLE ptab.
CATCH cx_sy_create_object_error INTO exc_ref.
MESSAGE exc_ref->get_text( ) TYPE 'I'.
ENDTRY.