ABAP Select data from SAP table EAMS_S_BO_EAM_USER 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 EAMS_S_BO_EAM_USER 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 EAMS_S_BO_EAM_USER. 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 EAMS_S_BO_EAM_USER 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_EAMS_S_BO_EAM_USER TYPE STANDARD TABLE OF EAMS_S_BO_EAM_USER,
      WA_EAMS_S_BO_EAM_USER TYPE EAMS_S_BO_EAM_USER,
      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: <EAMS_S_BO_EAM_USER> TYPE EAMS_S_BO_EAM_USER.

*Process all fields in table header/work area as string values
  PERFORM process_as_string_field_values CHANGING wa_EAMS_S_BO_EAM_USER.

SELECT *
*restrict ABAP select to first 10 rows
 UP TO 10 ROWS      
  FROM EAMS_S_BO_EAM_USER
  INTO TABLE IT_EAMS_S_BO_EAM_USER.

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM EAMS_S_BO_EAM_USER
*  INTO TABLE @DATA(IT_EAMS_S_BO_EAM_USER2).
*--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_EAMS_S_BO_EAM_USER INDEX 1 INTO DATA(WA_EAMS_S_BO_EAM_USER2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_EAMS_S_BO_EAM_USER ASSIGNING <EAMS_S_BO_EAM_USER>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<EAMS_S_BO_EAM_USER>-MANDT = 1.
<EAMS_S_BO_EAM_USER>-UNAME = 1.
<EAMS_S_BO_EAM_USER>-IWERK = 1.
<EAMS_S_BO_EAM_USER>-AUART = 1.
<EAMS_S_BO_EAM_USER>-INGRP = 1.
ENDLOOP.

LOOP AT IT_EAMS_S_BO_EAM_USER INTO WA_EAMS_S_BO_EAM_USER.
*Write horizonal line to screen report.
  WRITE:/ sy-uline.

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_EAMS_S_BO_EAM_USER-QMART, sy-vline,
WA_EAMS_S_BO_EAM_USER-OKSTAR, sy-vline,
WA_EAMS_S_BO_EAM_USER-OEKORG, sy-vline,
WA_EAMS_S_BO_EAM_USER-OEKGRP, sy-vline,
WA_EAMS_S_BO_EAM_USER-OMATKL, sy-vline,
WA_EAMS_S_BO_EAM_USER-OWEMPF, sy-vline.
ENDLOOP. *Add any further fields from structure WA_EAMS_S_BO_EAM_USER 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_EAMS_S_BO_EAM_USER 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_EAMS_S_BO_EAM_USER INTO WA_EAMS_S_BO_EAM_USER. *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.

*Conversion exit ALPHA, internal->external for field OKSTAR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_EAMS_S_BO_EAM_USER-OKSTAR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EAMS_S_BO_EAM_USER-OKSTAR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field OMEINH CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_EAMS_S_BO_EAM_USER-OMEINH IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EAMS_S_BO_EAM_USER-OMEINH.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field MKSTAR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_EAMS_S_BO_EAM_USER-MKSTAR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EAMS_S_BO_EAM_USER-MKSTAR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit TPLNR, internal->external for field TPLNR CALL FUNCTION 'CONVERSION_EXIT_TPLNR_OUTPUT' EXPORTING input = WA_EAMS_S_BO_EAM_USER-TPLNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EAMS_S_BO_EAM_USER-TPLNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field EQUNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_EAMS_S_BO_EAM_USER-EQUNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EAMS_S_BO_EAM_USER-EQUNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit MATN1, internal->external for field BAUTL CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT' EXPORTING input = WA_EAMS_S_BO_EAM_USER-BAUTL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EAMS_S_BO_EAM_USER-BAUTL.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GERNR, internal->external for field SERIALNR CALL FUNCTION 'CONVERSION_EXIT_GERNR_OUTPUT' EXPORTING input = WA_EAMS_S_BO_EAM_USER-SERIALNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EAMS_S_BO_EAM_USER-SERIALNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit MATN1, internal->external for field MATNR CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT' EXPORTING input = WA_EAMS_S_BO_EAM_USER-MATNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EAMS_S_BO_EAM_USER-MATNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field PRCTR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_EAMS_S_BO_EAM_USER-PRCTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EAMS_S_BO_EAM_USER-PRCTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit MATN1, internal->external for field QMATNR CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT' EXPORTING input = WA_EAMS_S_BO_EAM_USER-QMATNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EAMS_S_BO_EAM_USER-QMATNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GERNR, internal->external for field QSERIALNR CALL FUNCTION 'CONVERSION_EXIT_GERNR_OUTPUT' EXPORTING input = WA_EAMS_S_BO_EAM_USER-QSERIALNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EAMS_S_BO_EAM_USER-QSERIALNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field QQKUNUM CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_EAMS_S_BO_EAM_USER-QQKUNUM IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EAMS_S_BO_EAM_USER-QQKUNUM.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field QLIFNUM CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_EAMS_S_BO_EAM_USER-QLIFNUM IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EAMS_S_BO_EAM_USER-QLIFNUM.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field QQLIFNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_EAMS_S_BO_EAM_USER-QQLIFNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EAMS_S_BO_EAM_USER-QQLIFNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ABPSP, internal->external for field PSP_NR CALL FUNCTION 'CONVERSION_EXIT_ABPSP_OUTPUT' EXPORTING input = WA_EAMS_S_BO_EAM_USER-PSP_NR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EAMS_S_BO_EAM_USER-PSP_NR.
WRITE:/ 'New Value:', ld_input.
ENDFORM. *&---------------------------------------------------------------------* *& Form process_as_string_field_values *&---------------------------------------------------------------------* FORM process_as_string_field_values CHANGING p_EKKO LIKE wa_EKKO. TYPES: BEGIN OF T_EAMS_S_BO_EAM_USER_STR,
MANDT TYPE STRING,
UNAME TYPE STRING,
IWERK TYPE STRING,
AUART TYPE STRING,
INGRP TYPE STRING,
QMART TYPE STRING,
OKSTAR TYPE STRING,
OEKORG TYPE STRING,
OEKGRP TYPE STRING,
OMATKL TYPE STRING,
OWEMPF TYPE STRING,
OABLAD TYPE STRING,
OMGVRG TYPE STRING,
OMEINH TYPE STRING,
MKSTAR TYPE STRING,
MEKORG TYPE STRING,
MEKGRP TYPE STRING,
MMATKL TYPE STRING,
MWEMPF TYPE STRING,
MABLAD TYPE STRING,
PM_OBJTY TYPE STRING,
GEWRK TYPE STRING,
GSBER TYPE STRING,
TPLNR TYPE STRING,
EQUNR TYPE STRING,
BAUTL TYPE STRING,
SERIALNR TYPE STRING,
MATNR TYPE STRING,
PRCTR TYPE STRING,
SCREENTY TYPE STRING,
SEL_OPR TYPE STRING,
WCENTER TYPE STRING,
NEW_NUM TYPE STRING,
ONE_OPR TYPE STRING,
SEQUENC TYPE STRING,
BUIA TYPE STRING,
BUIP TYPE STRING,
ABRV TYPE STRING,
PRWIN TYPE STRING,
VKBUR TYPE STRING,
VKGRP TYPE STRING,
SPART TYPE STRING,
VKORG TYPE STRING,
VTWEG TYPE STRING,
QQMART TYPE STRING,
QSCREENTY TYPE STRING,
QMATNR TYPE STRING,
QSERIALNR TYPE STRING,
QMAWERK TYPE STRING,
QQKUNUM TYPE STRING,
QLIFNUM TYPE STRING,
QQLIFNR TYPE STRING,
QEKORG TYPE STRING,
QBKGRP TYPE STRING,
QARBPL TYPE STRING,
INDSTATUSB TYPE STRING,
INDTOOLB TYPE STRING,
ABDU TYPE STRING,
LTHE_ON TYPE STRING,
ADDT_ON TYPE STRING,
PMAD_ON TYPE STRING,
PROFIL TYPE STRING,
ACTIONBOX TYPE STRING,
QGMART TYPE STRING,
QCMART TYPE STRING,
AUSWIRK TYPE STRING,
PSP_NR TYPE STRING,
OPPONENT TYPE STRING,
TL_DEFAULT TYPE STRING,
PRTWOSAVE TYPE STRING,
EAMS_DLFL TYPE STRING,
EAMS_RESET_DLFL TYPE STRING,
EAMS_TECO TYPE STRING,
EAMS_RESET_TECO TYPE STRING,
EAMS_CLOSE TYPE STRING,
EAMS_DO_NOT_EXEC TYPE STRING,
EAMS_TECO_CONF TYPE STRING,
EAMS_NO_SF_REL TYPE STRING,END OF T_EKKO_STR. DATA: WA_EAMS_S_BO_EAM_USER_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_EAMS_S_BO_EAM_USER_STR-MANDT sy-vline
WA_EAMS_S_BO_EAM_USER_STR-UNAME sy-vline
WA_EAMS_S_BO_EAM_USER_STR-IWERK sy-vline
WA_EAMS_S_BO_EAM_USER_STR-AUART sy-vline
WA_EAMS_S_BO_EAM_USER_STR-INGRP sy-vline
WA_EAMS_S_BO_EAM_USER_STR-QMART sy-vline
WA_EAMS_S_BO_EAM_USER_STR-OKSTAR sy-vline
WA_EAMS_S_BO_EAM_USER_STR-OEKORG sy-vline
WA_EAMS_S_BO_EAM_USER_STR-OEKGRP sy-vline
WA_EAMS_S_BO_EAM_USER_STR-OMATKL sy-vline
WA_EAMS_S_BO_EAM_USER_STR-OWEMPF sy-vline
WA_EAMS_S_BO_EAM_USER_STR-OABLAD sy-vline
WA_EAMS_S_BO_EAM_USER_STR-OMGVRG sy-vline
WA_EAMS_S_BO_EAM_USER_STR-OMEINH sy-vline
WA_EAMS_S_BO_EAM_USER_STR-MKSTAR sy-vline
WA_EAMS_S_BO_EAM_USER_STR-MEKORG sy-vline
WA_EAMS_S_BO_EAM_USER_STR-MEKGRP sy-vline
WA_EAMS_S_BO_EAM_USER_STR-MMATKL sy-vline
WA_EAMS_S_BO_EAM_USER_STR-MWEMPF sy-vline
WA_EAMS_S_BO_EAM_USER_STR-MABLAD sy-vline
WA_EAMS_S_BO_EAM_USER_STR-PM_OBJTY sy-vline
WA_EAMS_S_BO_EAM_USER_STR-GEWRK sy-vline
WA_EAMS_S_BO_EAM_USER_STR-GSBER sy-vline
WA_EAMS_S_BO_EAM_USER_STR-TPLNR sy-vline
WA_EAMS_S_BO_EAM_USER_STR-EQUNR sy-vline
WA_EAMS_S_BO_EAM_USER_STR-BAUTL sy-vline
WA_EAMS_S_BO_EAM_USER_STR-SERIALNR sy-vline
WA_EAMS_S_BO_EAM_USER_STR-MATNR sy-vline
WA_EAMS_S_BO_EAM_USER_STR-PRCTR sy-vline
WA_EAMS_S_BO_EAM_USER_STR-SCREENTY sy-vline
WA_EAMS_S_BO_EAM_USER_STR-SEL_OPR sy-vline
WA_EAMS_S_BO_EAM_USER_STR-WCENTER sy-vline
WA_EAMS_S_BO_EAM_USER_STR-NEW_NUM sy-vline
WA_EAMS_S_BO_EAM_USER_STR-ONE_OPR sy-vline
WA_EAMS_S_BO_EAM_USER_STR-SEQUENC sy-vline
WA_EAMS_S_BO_EAM_USER_STR-BUIA sy-vline
WA_EAMS_S_BO_EAM_USER_STR-BUIP sy-vline
WA_EAMS_S_BO_EAM_USER_STR-ABRV sy-vline
WA_EAMS_S_BO_EAM_USER_STR-PRWIN sy-vline
WA_EAMS_S_BO_EAM_USER_STR-VKBUR sy-vline
WA_EAMS_S_BO_EAM_USER_STR-VKGRP sy-vline
WA_EAMS_S_BO_EAM_USER_STR-SPART sy-vline
WA_EAMS_S_BO_EAM_USER_STR-VKORG sy-vline
WA_EAMS_S_BO_EAM_USER_STR-VTWEG sy-vline
WA_EAMS_S_BO_EAM_USER_STR-QQMART sy-vline
WA_EAMS_S_BO_EAM_USER_STR-QSCREENTY sy-vline
WA_EAMS_S_BO_EAM_USER_STR-QMATNR sy-vline
WA_EAMS_S_BO_EAM_USER_STR-QSERIALNR sy-vline
WA_EAMS_S_BO_EAM_USER_STR-QMAWERK sy-vline
WA_EAMS_S_BO_EAM_USER_STR-QQKUNUM sy-vline
WA_EAMS_S_BO_EAM_USER_STR-QLIFNUM sy-vline
WA_EAMS_S_BO_EAM_USER_STR-QQLIFNR sy-vline
WA_EAMS_S_BO_EAM_USER_STR-QEKORG sy-vline
WA_EAMS_S_BO_EAM_USER_STR-QBKGRP sy-vline
WA_EAMS_S_BO_EAM_USER_STR-QARBPL sy-vline
WA_EAMS_S_BO_EAM_USER_STR-INDSTATUSB sy-vline
WA_EAMS_S_BO_EAM_USER_STR-INDTOOLB sy-vline
WA_EAMS_S_BO_EAM_USER_STR-ABDU sy-vline
WA_EAMS_S_BO_EAM_USER_STR-LTHE_ON sy-vline
WA_EAMS_S_BO_EAM_USER_STR-ADDT_ON sy-vline
WA_EAMS_S_BO_EAM_USER_STR-PMAD_ON sy-vline
WA_EAMS_S_BO_EAM_USER_STR-PROFIL sy-vline
WA_EAMS_S_BO_EAM_USER_STR-ACTIONBOX sy-vline
WA_EAMS_S_BO_EAM_USER_STR-QGMART sy-vline
WA_EAMS_S_BO_EAM_USER_STR-QCMART sy-vline
WA_EAMS_S_BO_EAM_USER_STR-AUSWIRK sy-vline
WA_EAMS_S_BO_EAM_USER_STR-PSP_NR sy-vline
WA_EAMS_S_BO_EAM_USER_STR-OPPONENT sy-vline
WA_EAMS_S_BO_EAM_USER_STR-TL_DEFAULT sy-vline
WA_EAMS_S_BO_EAM_USER_STR-PRTWOSAVE sy-vline
WA_EAMS_S_BO_EAM_USER_STR-EAMS_DLFL sy-vline
WA_EAMS_S_BO_EAM_USER_STR-EAMS_RESET_DLFL sy-vline
WA_EAMS_S_BO_EAM_USER_STR-EAMS_TECO sy-vline
WA_EAMS_S_BO_EAM_USER_STR-EAMS_RESET_TECO sy-vline
WA_EAMS_S_BO_EAM_USER_STR-EAMS_CLOSE sy-vline
WA_EAMS_S_BO_EAM_USER_STR-EAMS_DO_NOT_EXEC sy-vline
WA_EAMS_S_BO_EAM_USER_STR-EAMS_TECO_CONF sy-vline
WA_EAMS_S_BO_EAM_USER_STR-EAMS_NO_SF_REL sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.