ABAP Select data from SAP table GEFS_FEATURE_OBJECT into internal table
Get Example source ABAP code based on a different SAP table
Below is a number of ABAP code snippets to demonstrate how to select data from SAP GEFS_FEATURE_OBJECT table and store it within an internal table, including using the newer @DATA inline declaration methods. It also shows you various ways to process this data using ABAP work area, inline declaration or field symbols including executing all the relevant CONVERSION_EXIT routines specific to GEFS_FEATURE_OBJECT. See here for more generic Select statement tips.
Sometimes data within SAP is stored within the database table in a different format to what it is displayed to the user. These input/output conversation FM routines are what translates the data between the two formats.
There is also a full declaration of the GEFS_FEATURE_OBJECT table where each field has a char/string type for you to simply copy and paste. This allows you to use processing that is only available to these field types such as the CONCATENATE statement.
DATA: IT_GEFS_FEATURE_OBJECT TYPE STANDARD TABLE OF GEFS_FEATURE_OBJECT, WA_GEFS_FEATURE_OBJECT TYPE GEFS_FEATURE_OBJECT, GD_STR TYPE STRING. DATA: lo_typedescr type REF TO cl_abap_typedescr. DATA: lv_fieldname type fieldname. FIELD-SYMBOLS: <FIELD> TYPE any. FIELD-SYMBOLS: <GEFS_FEATURE_OBJECT> TYPE GEFS_FEATURE_OBJECT. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_GEFS_FEATURE_OBJECT. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM GEFS_FEATURE_OBJECT INTO TABLE IT_GEFS_FEATURE_OBJECT. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM GEFS_FEATURE_OBJECT * INTO TABLE @DATA(IT_GEFS_FEATURE_OBJECT2). *--Further methods of using ABAP code to select data from SAP database tables *You can also declare the header/work area using the in-line DATA declaration method READ TABLE IT_GEFS_FEATURE_OBJECT INDEX 1 INTO DATA(WA_GEFS_FEATURE_OBJECT2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_GEFS_FEATURE_OBJECT ASSIGNING <GEFS_FEATURE_OBJECT>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<GEFS_FEATURE_OBJECT>-GEF_GEOMETRY = 1.
<GEFS_FEATURE_OBJECT>-GEF_OBJECTID = 1.
<GEFS_FEATURE_OBJECT>-GEF_OBJTYPE = 1.
<GEFS_FEATURE_OBJECT>-GEF_OBJKEY = 1.
<GEFS_FEATURE_OBJECT>-GEF_CONTEXT = 1.
ENDLOOP. LOOP AT IT_GEFS_FEATURE_OBJECT INTO WA_GEFS_FEATURE_OBJECT. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_GEFS_FEATURE_OBJECT-GEF_DATE_FROM, sy-vline,
WA_GEFS_FEATURE_OBJECT-GEF_DATE_TO, sy-vline,
WA_GEFS_FEATURE_OBJECT-GEF_CRT_DATE, sy-vline,
WA_GEFS_FEATURE_OBJECT-GEF_CRT_NAME, sy-vline,
WA_GEFS_FEATURE_OBJECT-GEF_CHG_DATE, sy-vline,
WA_GEFS_FEATURE_OBJECT-GEF_CHG_NAME, sy-vline.
ENDLOOP. *Add any further fields from structure WA_GEFS_FEATURE_OBJECT you want to display... WRITE:/ sy-uline. * Aternatively use generic code to Write field values (and NAME) to screen report DO. ASSIGN COMPONENT sy-index OF STRUCTURE wa_GEFS_FEATURE_OBJECT TO <field>. IF sy-subrc <> 0. EXIT. ENDIF. WRITE:/ 'Field Value', <field>, sy-vline. gd_str = <field> . lo_typedescr ?= CL_ABAP_DATADESCR=>DESCRIBE_BY_DATA( <field> ). lv_fieldname = lo_typedescr->GET_RELATIVE_NAME( ). WRITE:/ 'Field Name', lv_fieldname. ENDDO. *Redo loop but convert all fields from internal to out value LOOP AT IT_GEFS_FEATURE_OBJECT INTO WA_GEFS_FEATURE_OBJECT. *Write horizonal line to screen report. WRITE:/ sy-uline. *Convert all fields to display/output versions using conversion routines PERFORM convert_all_field_values CHANGING wa_EKKO. ENDLOOP. *&---------------------------------------------------------------------* *& Form convert_all_field_values *&---------------------------------------------------------------------* FORM convert_all_field_values CHANGING p_EKKO LIKE wa_EKKO. DATA: ld_input(1000) TYPE c, ld_output(1000) TYPE C.
ENDFORM. *&---------------------------------------------------------------------* *& Form process_as_string_field_values *&---------------------------------------------------------------------* FORM process_as_string_field_values CHANGING p_EKKO LIKE wa_EKKO. TYPES: BEGIN OF T_GEFS_FEATURE_OBJECT_STR,
GEF_GEOMETRY TYPE STRING,
GEF_OBJECTID TYPE STRING,
GEF_OBJTYPE TYPE STRING,
GEF_OBJKEY TYPE STRING,
GEF_CONTEXT TYPE STRING,
GEF_DATE_FROM TYPE STRING,
GEF_DATE_TO TYPE STRING,
GEF_CRT_DATE TYPE STRING,
GEF_CRT_NAME TYPE STRING,
GEF_CHG_DATE TYPE STRING,
GEF_CHG_NAME TYPE STRING,
GEF_GEOM_WKT TYPE STRING,
GEF_GEOM_TYPE TYPE STRING,
GEF_GEOM_SRID TYPE STRING,
GEF_CLIENT TYPE STRING,
GEF_GEOMKEY TYPE STRING,
GEF_EXTERNAL_REF TYPE STRING,
GEF_INTERNAL_REF TYPE STRING,
GEF_ATTRIBUTE TYPE STRING,
GEF_GEOM_RET TYPE STRING,
GEF_OBJECTID TYPE STRING,
TYPE TYPE STRING,
TEXT TYPE STRING,
MSGID TYPE STRING,
MSGNO TYPE STRING,
ATTR1 TYPE STRING,
ATTR2 TYPE STRING,
ATTR3 TYPE STRING,
ATTR4 TYPE STRING,
EXCEPTION TYPE STRING,END OF T_EKKO_STR. DATA: WA_GEFS_FEATURE_OBJECT_STR type T_EKKO_STR. DATA: ld_text TYPE string. LOOP AT IT_EKKO INTO WA_EKKO. MOVE-CORRESPONDING wa_EKKO TO WA_EKKO_STR. CONCATENATE: sy-vline
WA_GEFS_FEATURE_OBJECT_STR-GEF_GEOMETRY sy-vline
WA_GEFS_FEATURE_OBJECT_STR-GEF_OBJECTID sy-vline
WA_GEFS_FEATURE_OBJECT_STR-GEF_OBJTYPE sy-vline
WA_GEFS_FEATURE_OBJECT_STR-GEF_OBJKEY sy-vline
WA_GEFS_FEATURE_OBJECT_STR-GEF_CONTEXT sy-vline
WA_GEFS_FEATURE_OBJECT_STR-GEF_DATE_FROM sy-vline
WA_GEFS_FEATURE_OBJECT_STR-GEF_DATE_TO sy-vline
WA_GEFS_FEATURE_OBJECT_STR-GEF_CRT_DATE sy-vline
WA_GEFS_FEATURE_OBJECT_STR-GEF_CRT_NAME sy-vline
WA_GEFS_FEATURE_OBJECT_STR-GEF_CHG_DATE sy-vline
WA_GEFS_FEATURE_OBJECT_STR-GEF_CHG_NAME sy-vline
WA_GEFS_FEATURE_OBJECT_STR-GEF_GEOM_WKT sy-vline
WA_GEFS_FEATURE_OBJECT_STR-GEF_GEOM_TYPE sy-vline
WA_GEFS_FEATURE_OBJECT_STR-GEF_GEOM_SRID sy-vline
WA_GEFS_FEATURE_OBJECT_STR-GEF_CLIENT sy-vline
WA_GEFS_FEATURE_OBJECT_STR-GEF_GEOMKEY sy-vline
WA_GEFS_FEATURE_OBJECT_STR-GEF_EXTERNAL_REF sy-vline
WA_GEFS_FEATURE_OBJECT_STR-GEF_INTERNAL_REF sy-vline
WA_GEFS_FEATURE_OBJECT_STR-GEF_ATTRIBUTE sy-vline
WA_GEFS_FEATURE_OBJECT_STR-GEF_GEOM_RET sy-vline
WA_GEFS_FEATURE_OBJECT_STR-GEF_OBJECTID sy-vline
WA_GEFS_FEATURE_OBJECT_STR-TYPE sy-vline
WA_GEFS_FEATURE_OBJECT_STR-TEXT sy-vline
WA_GEFS_FEATURE_OBJECT_STR-MSGID sy-vline
WA_GEFS_FEATURE_OBJECT_STR-MSGNO sy-vline
WA_GEFS_FEATURE_OBJECT_STR-ATTR1 sy-vline
WA_GEFS_FEATURE_OBJECT_STR-ATTR2 sy-vline
WA_GEFS_FEATURE_OBJECT_STR-ATTR3 sy-vline
WA_GEFS_FEATURE_OBJECT_STR-ATTR4 sy-vline
WA_GEFS_FEATURE_OBJECT_STR-EXCEPTION sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.