ABAP Select data from SAP table REIS_CHARACT_L 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 REIS_CHARACT_L 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 REIS_CHARACT_L. 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 REIS_CHARACT_L 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_REIS_CHARACT_L TYPE STANDARD TABLE OF REIS_CHARACT_L,
      WA_REIS_CHARACT_L TYPE REIS_CHARACT_L,
      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: <REIS_CHARACT_L> TYPE REIS_CHARACT_L.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM REIS_CHARACT_L
*  INTO TABLE @DATA(IT_REIS_CHARACT_L2).
*--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_REIS_CHARACT_L INDEX 1 INTO DATA(WA_REIS_CHARACT_L2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_REIS_CHARACT_L ASSIGNING <REIS_CHARACT_L>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<REIS_CHARACT_L>-CHARACT01 = 1.
<REIS_CHARACT_L>-CHARACT02 = 1.
<REIS_CHARACT_L>-CHARACT03 = 1.
<REIS_CHARACT_L>-CHARACT04 = 1.
<REIS_CHARACT_L>-CHARACT05 = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_REIS_CHARACT_L-CHARACT06, sy-vline,
WA_REIS_CHARACT_L-CHARACT07, sy-vline,
WA_REIS_CHARACT_L-CHARACT08, sy-vline,
WA_REIS_CHARACT_L-CHARACT09, sy-vline,
WA_REIS_CHARACT_L-CHARACT10, sy-vline,
WA_REIS_CHARACT_L-CHARACT11, sy-vline.
ENDLOOP. *Add any further fields from structure WA_REIS_CHARACT_L 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_REIS_CHARACT_L 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_REIS_CHARACT_L INTO WA_REIS_CHARACT_L. *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_REIS_CHARACT_L_STR,
CHARACT01 TYPE STRING,
CHARACT02 TYPE STRING,
CHARACT03 TYPE STRING,
CHARACT04 TYPE STRING,
CHARACT05 TYPE STRING,
CHARACT06 TYPE STRING,
CHARACT07 TYPE STRING,
CHARACT08 TYPE STRING,
CHARACT09 TYPE STRING,
CHARACT10 TYPE STRING,
CHARACT11 TYPE STRING,
CHARACT12 TYPE STRING,
CHARACT13 TYPE STRING,
CHARACT14 TYPE STRING,
CHARACT15 TYPE STRING,
CHARACT16 TYPE STRING,
CHARACT17 TYPE STRING,
CHARACT18 TYPE STRING,
CHARACT19 TYPE STRING,
CHARACT20 TYPE STRING,
CHARACT21 TYPE STRING,
CHARACT22 TYPE STRING,
CHARACT23 TYPE STRING,
CHARACT24 TYPE STRING,
CHARACT25 TYPE STRING,
CHARACT26 TYPE STRING,
CHARACT27 TYPE STRING,
CHARACT28 TYPE STRING,
CHARACT29 TYPE STRING,
CHARACT30 TYPE STRING,
CHARACT31 TYPE STRING,
CHARACT32 TYPE STRING,
CHARACT33 TYPE STRING,
CHARACT34 TYPE STRING,
CHARACT35 TYPE STRING,
CHARACT36 TYPE STRING,
CHARACT37 TYPE STRING,
CHARACT38 TYPE STRING,
CHARACT39 TYPE STRING,
CHARACT40 TYPE STRING,
CHARACT41 TYPE STRING,
CHARACT42 TYPE STRING,
CHARACT43 TYPE STRING,
CHARACT44 TYPE STRING,
CHARACT45 TYPE STRING,
CHARACT46 TYPE STRING,
CHARACT47 TYPE STRING,
CHARACT48 TYPE STRING,
CHARACT49 TYPE STRING,
CHARACT50 TYPE STRING,
CHARACT51 TYPE STRING,
CHARACT52 TYPE STRING,
CHARACT53 TYPE STRING,
CHARACT54 TYPE STRING,
CHARACT55 TYPE STRING,
CHARACT56 TYPE STRING,
CHARACT57 TYPE STRING,
CHARACT58 TYPE STRING,
CHARACT59 TYPE STRING,
CHARACT60 TYPE STRING,
CHARACT61 TYPE STRING,
CHARACT62 TYPE STRING,
CHARACT63 TYPE STRING,
CHARACT64 TYPE STRING,
CHARACT65 TYPE STRING,
CHARACT66 TYPE STRING,
CHARACT67 TYPE STRING,
CHARACT68 TYPE STRING,
CHARACT69 TYPE STRING,
CHARACT70 TYPE STRING,
CHARACT71 TYPE STRING,
CHARACT72 TYPE STRING,
CHARACT73 TYPE STRING,
CHARACT74 TYPE STRING,
CHARACT75 TYPE STRING,
CHARACT76 TYPE STRING,
CHARACT77 TYPE STRING,
CHARACT78 TYPE STRING,
CHARACT79 TYPE STRING,
CHARACT80 TYPE STRING,END OF T_EKKO_STR. DATA: WA_REIS_CHARACT_L_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_REIS_CHARACT_L_STR-CHARACT01 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT02 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT03 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT04 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT05 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT06 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT07 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT08 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT09 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT10 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT11 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT12 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT13 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT14 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT15 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT16 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT17 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT18 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT19 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT20 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT21 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT22 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT23 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT24 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT25 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT26 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT27 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT28 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT29 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT30 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT31 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT32 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT33 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT34 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT35 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT36 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT37 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT38 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT39 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT40 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT41 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT42 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT43 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT44 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT45 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT46 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT47 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT48 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT49 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT50 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT51 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT52 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT53 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT54 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT55 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT56 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT57 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT58 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT59 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT60 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT61 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT62 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT63 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT64 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT65 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT66 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT67 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT68 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT69 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT70 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT71 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT72 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT73 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT74 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT75 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT76 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT77 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT78 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT79 sy-vline
WA_REIS_CHARACT_L_STR-CHARACT80 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.