ABAP Select data from SAP table ELOTD_TOGETHER 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 ELOTD_TOGETHER 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 ELOTD_TOGETHER. 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 ELOTD_TOGETHER 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_ELOTD_TOGETHER TYPE STANDARD TABLE OF ELOTD_TOGETHER,
      WA_ELOTD_TOGETHER TYPE ELOTD_TOGETHER,
      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: <ELOTD_TOGETHER> TYPE ELOTD_TOGETHER.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM ELOTD_TOGETHER
*  INTO TABLE @DATA(IT_ELOTD_TOGETHER2).
*--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_ELOTD_TOGETHER INDEX 1 INTO DATA(WA_ELOTD_TOGETHER2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_ELOTD_TOGETHER ASSIGNING <ELOTD_TOGETHER>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<ELOTD_TOGETHER>-TEXT30 = 1.
<ELOTD_TOGETHER>-LOSOKTXT = 1.
<ELOTD_TOGETHER>-MANDT = 1.
<ELOTD_TOGETHER>-LOS = 1.
<ELOTD_TOGETHER>-LOSEXT = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_ELOTD_TOGETHER-LOSERST, sy-vline,
WA_ELOTD_TOGETHER-LOSOK, sy-vline,
WA_ELOTD_TOGETHER-LOSFAELL, sy-vline,
WA_ELOTD_TOGETHER-SPARTE, sy-vline,
WA_ELOTD_TOGETHER-BGLKZ, sy-vline,
WA_ELOTD_TOGETHER-STARTZ1, sy-vline.
ENDLOOP. *Add any further fields from structure WA_ELOTD_TOGETHER 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_ELOTD_TOGETHER 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_ELOTD_TOGETHER INTO WA_ELOTD_TOGETHER. *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 LOS CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_ELOTD_TOGETHER-LOS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ELOTD_TOGETHER-LOS.
WRITE:/ 'New Value:', ld_input.

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

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

*Conversion exit ALPHA, internal->external for field LOT_TARGET CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_ELOTD_TOGETHER-LOT_TARGET IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ELOTD_TOGETHER-LOT_TARGET.
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_ELOTD_TOGETHER_STR,
TEXT30 TYPE STRING,
LOSOKTXT TYPE STRING,
MANDT TYPE STRING,
LOS TYPE STRING,
LOSEXT TYPE STRING,
LOSERST TYPE STRING,
LOSOK TYPE STRING,
LOSFAELL TYPE STRING,
SPARTE TYPE STRING,
BGLKZ TYPE STRING,
STARTZ1 TYPE STRING,
LOSLAG TYPE STRING,
LOSANZG TYPE STRING,
LOSDAT TYPE STRING,
STARTD1 TYPE STRING,
LOSAMT TYPE STRING,
STARTZ2 TYPE STRING,
STARTD2 TYPE STRING,
LAGERINC1 TYPE STRING,
LAGERINC2 TYPE STRING,
LOSZUMD TYPE STRING,
LOSAUFD TYPE STRING,
LOSAUFJ TYPE STRING,
VERFAHREN TYPE STRING,
EMESSWERK TYPE STRING,
LOSAUFN TYPE STRING,
ERDAT TYPE STRING,
ERNAM TYPE STRING,
AEDAT TYPE STRING,
AENAM TYPE STRING,
BEGRU TYPE STRING,
LOEVM TYPE STRING,
KZ_LOT_CNT_PROZ TYPE STRING,
PRUEFANZ_PERC_P1 TYPE STRING,
PRUEFANZ_PERC_R1 TYPE STRING,
PRUEFANZ_PERC_P2 TYPE STRING,
PRUEFANZ_PERC_R2 TYPE STRING,
DEST_LOT TYPE STRING,
LOT_MERGE_COMPL TYPE STRING,
SAMPLE_TYPE TYPE STRING,
STARTD3 TYPE STRING,
STARTD4 TYPE STRING,
STARTD5 TYPE STRING,
SEED1 TYPE STRING,
SEED2 TYPE STRING,
SEED3 TYPE STRING,
SEED4 TYPE STRING,
SEED5 TYPE STRING,
LOT_TOGETHER TYPE STRING,
LOT_TARGET TYPE STRING,
STATUS_ICON TYPE STRING,END OF T_EKKO_STR. DATA: WA_ELOTD_TOGETHER_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_ELOTD_TOGETHER_STR-TEXT30 sy-vline
WA_ELOTD_TOGETHER_STR-LOSOKTXT sy-vline
WA_ELOTD_TOGETHER_STR-MANDT sy-vline
WA_ELOTD_TOGETHER_STR-LOS sy-vline
WA_ELOTD_TOGETHER_STR-LOSEXT sy-vline
WA_ELOTD_TOGETHER_STR-LOSERST sy-vline
WA_ELOTD_TOGETHER_STR-LOSOK sy-vline
WA_ELOTD_TOGETHER_STR-LOSFAELL sy-vline
WA_ELOTD_TOGETHER_STR-SPARTE sy-vline
WA_ELOTD_TOGETHER_STR-BGLKZ sy-vline
WA_ELOTD_TOGETHER_STR-STARTZ1 sy-vline
WA_ELOTD_TOGETHER_STR-LOSLAG sy-vline
WA_ELOTD_TOGETHER_STR-LOSANZG sy-vline
WA_ELOTD_TOGETHER_STR-LOSDAT sy-vline
WA_ELOTD_TOGETHER_STR-STARTD1 sy-vline
WA_ELOTD_TOGETHER_STR-LOSAMT sy-vline
WA_ELOTD_TOGETHER_STR-STARTZ2 sy-vline
WA_ELOTD_TOGETHER_STR-STARTD2 sy-vline
WA_ELOTD_TOGETHER_STR-LAGERINC1 sy-vline
WA_ELOTD_TOGETHER_STR-LAGERINC2 sy-vline
WA_ELOTD_TOGETHER_STR-LOSZUMD sy-vline
WA_ELOTD_TOGETHER_STR-LOSAUFD sy-vline
WA_ELOTD_TOGETHER_STR-LOSAUFJ sy-vline
WA_ELOTD_TOGETHER_STR-VERFAHREN sy-vline
WA_ELOTD_TOGETHER_STR-EMESSWERK sy-vline
WA_ELOTD_TOGETHER_STR-LOSAUFN sy-vline
WA_ELOTD_TOGETHER_STR-ERDAT sy-vline
WA_ELOTD_TOGETHER_STR-ERNAM sy-vline
WA_ELOTD_TOGETHER_STR-AEDAT sy-vline
WA_ELOTD_TOGETHER_STR-AENAM sy-vline
WA_ELOTD_TOGETHER_STR-BEGRU sy-vline
WA_ELOTD_TOGETHER_STR-LOEVM sy-vline
WA_ELOTD_TOGETHER_STR-KZ_LOT_CNT_PROZ sy-vline
WA_ELOTD_TOGETHER_STR-PRUEFANZ_PERC_P1 sy-vline
WA_ELOTD_TOGETHER_STR-PRUEFANZ_PERC_R1 sy-vline
WA_ELOTD_TOGETHER_STR-PRUEFANZ_PERC_P2 sy-vline
WA_ELOTD_TOGETHER_STR-PRUEFANZ_PERC_R2 sy-vline
WA_ELOTD_TOGETHER_STR-DEST_LOT sy-vline
WA_ELOTD_TOGETHER_STR-LOT_MERGE_COMPL sy-vline
WA_ELOTD_TOGETHER_STR-SAMPLE_TYPE sy-vline
WA_ELOTD_TOGETHER_STR-STARTD3 sy-vline
WA_ELOTD_TOGETHER_STR-STARTD4 sy-vline
WA_ELOTD_TOGETHER_STR-STARTD5 sy-vline
WA_ELOTD_TOGETHER_STR-SEED1 sy-vline
WA_ELOTD_TOGETHER_STR-SEED2 sy-vline
WA_ELOTD_TOGETHER_STR-SEED3 sy-vline
WA_ELOTD_TOGETHER_STR-SEED4 sy-vline
WA_ELOTD_TOGETHER_STR-SEED5 sy-vline
WA_ELOTD_TOGETHER_STR-LOT_TOGETHER sy-vline
WA_ELOTD_TOGETHER_STR-LOT_TARGET sy-vline
WA_ELOTD_TOGETHER_STR-STATUS_ICON sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.