ABAP Select data from SAP table EAM_S_CL_SIM_CHAR 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 EAM_S_CL_SIM_CHAR 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 EAM_S_CL_SIM_CHAR. 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 EAM_S_CL_SIM_CHAR 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_EAM_S_CL_SIM_CHAR TYPE STANDARD TABLE OF EAM_S_CL_SIM_CHAR,
      WA_EAM_S_CL_SIM_CHAR TYPE EAM_S_CL_SIM_CHAR,
      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: <EAM_S_CL_SIM_CHAR> TYPE EAM_S_CL_SIM_CHAR.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM EAM_S_CL_SIM_CHAR
*  INTO TABLE @DATA(IT_EAM_S_CL_SIM_CHAR2).
*--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_EAM_S_CL_SIM_CHAR INDEX 1 INTO DATA(WA_EAM_S_CL_SIM_CHAR2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_EAM_S_CL_SIM_CHAR ASSIGNING <EAM_S_CL_SIM_CHAR>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<EAM_S_CL_SIM_CHAR>-ROW_COUNT = 1.
<EAM_S_CL_SIM_CHAR>-NO_CHAR = 1.
<EAM_S_CL_SIM_CHAR>-NO_PLAN = 1.
<EAM_S_CL_SIM_CHAR>-NO_OPER = 1.
<EAM_S_CL_SIM_CHAR>-AUFNR = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_EAM_S_CL_SIM_CHAR-AUART, sy-vline,
WA_EAM_S_CL_SIM_CHAR-WERKS, sy-vline,
WA_EAM_S_CL_SIM_CHAR-WARPL, sy-vline,
WA_EAM_S_CL_SIM_CHAR-WAPOS, sy-vline,
WA_EAM_S_CL_SIM_CHAR-PAKET, sy-vline,
WA_EAM_S_CL_SIM_CHAR-STRAT, sy-vline.
ENDLOOP. *Add any further fields from structure WA_EAM_S_CL_SIM_CHAR 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_EAM_S_CL_SIM_CHAR 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_EAM_S_CL_SIM_CHAR INTO WA_EAM_S_CL_SIM_CHAR. *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 AUFNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_EAM_S_CL_SIM_CHAR-AUFNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EAM_S_CL_SIM_CHAR-AUFNR.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

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

*Conversion exit NUMCV, internal->external for field VORNR CALL FUNCTION 'CONVERSION_EXIT_NUMCV_OUTPUT' EXPORTING input = WA_EAM_S_CL_SIM_CHAR-VORNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EAM_S_CL_SIM_CHAR-VORNR.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

*Conversion exit NUMCV, internal->external for field INSPECTIONOPERATION CALL FUNCTION 'CONVERSION_EXIT_NUMCV_OUTPUT' EXPORTING input = WA_EAM_S_CL_SIM_CHAR-INSPECTIONOPERATION IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EAM_S_CL_SIM_CHAR-INSPECTIONOPERATION.
WRITE:/ 'New Value:', ld_input.

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

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

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

*Conversion exit LUNIT, internal->external for field MASSEINHSW CALL FUNCTION 'CONVERSION_EXIT_LUNIT_OUTPUT' EXPORTING input = WA_EAM_S_CL_SIM_CHAR-MASSEINHSW IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EAM_S_CL_SIM_CHAR-MASSEINHSW.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field POINT CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_EAM_S_CL_SIM_CHAR-POINT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EAM_S_CL_SIM_CHAR-POINT.
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_EAM_S_CL_SIM_CHAR_STR,
ROW_COUNT TYPE STRING,
NO_CHAR TYPE STRING,
NO_PLAN TYPE STRING,
NO_OPER TYPE STRING,
AUFNR TYPE STRING,
AUART TYPE STRING,
WERKS TYPE STRING,
WARPL TYPE STRING,
WAPOS TYPE STRING,
PAKET TYPE STRING,
STRAT TYPE STRING,
KTEX1 TYPE STRING,
KZYK1 TYPE STRING,
GSTRP TYPE STRING,
DUE_PACKAGES TYPE STRING,
TPLNRH TYPE STRING,
PLTXTH TYPE STRING,
EQUNRH TYPE STRING,
EQKTXH TYPE STRING,
PLNTYH TYPE STRING,
PLNNRH TYPE STRING,
PLNALH TYPE STRING,
VORNR TYPE STRING,
STEUS TYPE STRING,
LTXA1 TYPE STRING,
KTSCH TYPE STRING,
CL_TYPE TYPE STRING,
TPLNR TYPE STRING,
PLTXT TYPE STRING,
EQUNR TYPE STRING,
EQKTX TYPE STRING,
PLNTY TYPE STRING,
PLNNR TYPE STRING,
PLNAL TYPE STRING,
MATNR TYPE STRING,
WERK_PLKO TYPE STRING,
WERK TYPE STRING,
STATU TYPE STRING,
VERWE TYPE STRING,
VAGRP TYPE STRING,
VORGLFNR TYPE STRING,
MERKNR TYPE STRING,
KURZTEXT TYPE STRING,
QUANTITATIVE TYPE STRING,
QUALITATIVE TYPE STRING,
INSPECTIONOPERATION TYPE STRING,
OPERATIONTEXT TYPE STRING,
VERWMERKM TYPE STRING,
QPMK_WERKS TYPE STRING,
MKVERSION TYPE STRING,
STICHPRVER TYPE STRING,
DUMMY10 TYPE STRING,
DUMMY20 TYPE STRING,
DUMMY40 TYPE STRING,
PMETHODE TYPE STRING,
PRUEFBEMKT TYPE STRING,
RZWANG TYPE STRING,
CATEGORY_DESCR TYPE STRING,
SOLLWERT_D TYPE STRING,
TOLERANZOB_D TYPE STRING,
TOLERANZUN_D TYPE STRING,
MASSEINHSW TYPE STRING,
AUSWMENGE1 TYPE STRING,
POINT TYPE STRING,
PTTXT TYPE STRING,END OF T_EKKO_STR. DATA: WA_EAM_S_CL_SIM_CHAR_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_EAM_S_CL_SIM_CHAR_STR-ROW_COUNT sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-NO_CHAR sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-NO_PLAN sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-NO_OPER sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-AUFNR sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-AUART sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-WERKS sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-WARPL sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-WAPOS sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-PAKET sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-STRAT sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-KTEX1 sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-KZYK1 sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-GSTRP sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-DUE_PACKAGES sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-TPLNRH sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-PLTXTH sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-EQUNRH sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-EQKTXH sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-PLNTYH sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-PLNNRH sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-PLNALH sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-VORNR sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-STEUS sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-LTXA1 sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-KTSCH sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-CL_TYPE sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-TPLNR sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-PLTXT sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-EQUNR sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-EQKTX sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-PLNTY sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-PLNNR sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-PLNAL sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-MATNR sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-WERK_PLKO sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-WERK sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-STATU sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-VERWE sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-VAGRP sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-VORGLFNR sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-MERKNR sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-KURZTEXT sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-QUANTITATIVE sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-QUALITATIVE sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-INSPECTIONOPERATION sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-OPERATIONTEXT sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-VERWMERKM sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-QPMK_WERKS sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-MKVERSION sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-STICHPRVER sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-DUMMY10 sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-DUMMY20 sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-DUMMY40 sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-PMETHODE sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-PRUEFBEMKT sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-RZWANG sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-CATEGORY_DESCR sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-SOLLWERT_D sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-TOLERANZOB_D sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-TOLERANZUN_D sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-MASSEINHSW sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-AUSWMENGE1 sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-POINT sy-vline
WA_EAM_S_CL_SIM_CHAR_STR-PTTXT sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.