ABAP Select data from SAP table RNEIS 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 RNEIS 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 RNEIS. 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 RNEIS 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_RNEIS TYPE STANDARD TABLE OF RNEIS,
      WA_RNEIS TYPE RNEIS,
      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: <RNEIS> TYPE RNEIS.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM RNEIS
*  INTO TABLE @DATA(IT_RNEIS2).
*--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_RNEIS INDEX 1 INTO DATA(WA_RNEIS2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_RNEIS ASSIGNING <RNEIS>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<RNEIS>-EINRI = 1.
<RNEIS>-ORGFA = 1.
<RNEIS>-ORGPF = 1.
<RNEIS>-KOKRS = 1.
<RNEIS>-KOSTL = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_RNEIS-FALNR, sy-vline,
WA_RNEIS-LFDNR, sy-vline,
WA_RNEIS-ALTGR, sy-vline,
WA_RNEIS-ALGRT, sy-vline,
WA_RNEIS-ALGRD, sy-vline,
WA_RNEIS-GSCHL, sy-vline.
ENDLOOP. *Add any further fields from structure WA_RNEIS 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_RNEIS 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_RNEIS INTO WA_RNEIS. *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 EINRI CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RNEIS-EINRI IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RNEIS-EINRI.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

*Conversion exit ALPHA, internal->external for field DRGCT CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RNEIS-DRGCT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RNEIS-DRGCT.
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_RNEIS_STR,
EINRI TYPE STRING,
ORGFA TYPE STRING,
ORGPF TYPE STRING,
KOKRS TYPE STRING,
KOSTL TYPE STRING,
FALNR TYPE STRING,
LFDNR TYPE STRING,
ALTGR TYPE STRING,
ALGRT TYPE STRING,
ALGRD TYPE STRING,
GSCHL TYPE STRING,
EINZG TYPE STRING,
LAND TYPE STRING,
PSTLZ TYPE STRING,
BEKAT TYPE STRING,
ICPML TYPE STRING,
ICPMK TYPE STRING,
FALAR TYPE STRING,
FALBI TYPE STRING,
BEWTY TYPE STRING,
ADMBW TYPE STRING,
DISBW TYPE STRING,
OUTBW TYPE STRING,
LEIST TYPE STRING,
TARID TYPE STRING,
LNRLS TYPE STRING,
ENTGA TYPE STRING,
KOSTR TYPE STRING,
KHDIA TYPE STRING,
KDKAT TYPE STRING,
KDTYP TYPE STRING,
FHDIA TYPE STRING,
FDKAT TYPE STRING,
FDTYP TYPE STRING,
FALCL TYPE STRING,
PAYCL TYPE STRING,
ACCAT TYPE STRING,
RACE TYPE STRING,
OPTAB TYPE STRING,
SHRTC TYPE STRING,
LONGC TYPE STRING,
RPHYS TYPE STRING,
RHOSP TYPE STRING,
DRGCD TYPE STRING,
DRGCT TYPE STRING,
DRGSN TYPE STRING,
MDCCD TYPE STRING,
MDCCT TYPE STRING,
PCCL TYPE STRING,
ADMEX TYPE STRING,
ADMDP TYPE STRING,
ADMCU TYPE STRING,
DISEX TYPE STRING,
DISDP TYPE STRING,
DISCU TYPE STRING,
OVIST TYPE STRING,
SHRTS TYPE STRING,
LONGS TYPE STRING,
DYSTY TYPE STRING,
DYBIL TYPE STRING,
DAYS3 TYPE STRING,
DAYS4 TYPE STRING,
SURGY TYPE STRING,
DEATH TYPE STRING,
ACTQU TYPE STRING,
BIAQU TYPE STRING,
CORQU TYPE STRING,
BILQU TYPE STRING,
BILVL TYPE STRING,
KYONE TYPE STRING,
DAYOE TYPE STRING,
PLBED TYPE STRING,
SUBED TYPE STRING,
GVDMO TYPE STRING,
NVDMO TYPE STRING,
GVDOV TYPE STRING,END OF T_EKKO_STR. DATA: WA_RNEIS_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_RNEIS_STR-EINRI sy-vline
WA_RNEIS_STR-ORGFA sy-vline
WA_RNEIS_STR-ORGPF sy-vline
WA_RNEIS_STR-KOKRS sy-vline
WA_RNEIS_STR-KOSTL sy-vline
WA_RNEIS_STR-FALNR sy-vline
WA_RNEIS_STR-LFDNR sy-vline
WA_RNEIS_STR-ALTGR sy-vline
WA_RNEIS_STR-ALGRT sy-vline
WA_RNEIS_STR-ALGRD sy-vline
WA_RNEIS_STR-GSCHL sy-vline
WA_RNEIS_STR-EINZG sy-vline
WA_RNEIS_STR-LAND sy-vline
WA_RNEIS_STR-PSTLZ sy-vline
WA_RNEIS_STR-BEKAT sy-vline
WA_RNEIS_STR-ICPML sy-vline
WA_RNEIS_STR-ICPMK sy-vline
WA_RNEIS_STR-FALAR sy-vline
WA_RNEIS_STR-FALBI sy-vline
WA_RNEIS_STR-BEWTY sy-vline
WA_RNEIS_STR-ADMBW sy-vline
WA_RNEIS_STR-DISBW sy-vline
WA_RNEIS_STR-OUTBW sy-vline
WA_RNEIS_STR-LEIST sy-vline
WA_RNEIS_STR-TARID sy-vline
WA_RNEIS_STR-LNRLS sy-vline
WA_RNEIS_STR-ENTGA sy-vline
WA_RNEIS_STR-KOSTR sy-vline
WA_RNEIS_STR-KHDIA sy-vline
WA_RNEIS_STR-KDKAT sy-vline
WA_RNEIS_STR-KDTYP sy-vline
WA_RNEIS_STR-FHDIA sy-vline
WA_RNEIS_STR-FDKAT sy-vline
WA_RNEIS_STR-FDTYP sy-vline
WA_RNEIS_STR-FALCL sy-vline
WA_RNEIS_STR-PAYCL sy-vline
WA_RNEIS_STR-ACCAT sy-vline
WA_RNEIS_STR-RACE sy-vline
WA_RNEIS_STR-OPTAB sy-vline
WA_RNEIS_STR-SHRTC sy-vline
WA_RNEIS_STR-LONGC sy-vline
WA_RNEIS_STR-RPHYS sy-vline
WA_RNEIS_STR-RHOSP sy-vline
WA_RNEIS_STR-DRGCD sy-vline
WA_RNEIS_STR-DRGCT sy-vline
WA_RNEIS_STR-DRGSN sy-vline
WA_RNEIS_STR-MDCCD sy-vline
WA_RNEIS_STR-MDCCT sy-vline
WA_RNEIS_STR-PCCL sy-vline
WA_RNEIS_STR-ADMEX sy-vline
WA_RNEIS_STR-ADMDP sy-vline
WA_RNEIS_STR-ADMCU sy-vline
WA_RNEIS_STR-DISEX sy-vline
WA_RNEIS_STR-DISDP sy-vline
WA_RNEIS_STR-DISCU sy-vline
WA_RNEIS_STR-OVIST sy-vline
WA_RNEIS_STR-SHRTS sy-vline
WA_RNEIS_STR-LONGS sy-vline
WA_RNEIS_STR-DYSTY sy-vline
WA_RNEIS_STR-DYBIL sy-vline
WA_RNEIS_STR-DAYS3 sy-vline
WA_RNEIS_STR-DAYS4 sy-vline
WA_RNEIS_STR-SURGY sy-vline
WA_RNEIS_STR-DEATH sy-vline
WA_RNEIS_STR-ACTQU sy-vline
WA_RNEIS_STR-BIAQU sy-vline
WA_RNEIS_STR-CORQU sy-vline
WA_RNEIS_STR-BILQU sy-vline
WA_RNEIS_STR-BILVL sy-vline
WA_RNEIS_STR-KYONE sy-vline
WA_RNEIS_STR-DAYOE sy-vline
WA_RNEIS_STR-PLBED sy-vline
WA_RNEIS_STR-SUBED sy-vline
WA_RNEIS_STR-GVDMO sy-vline
WA_RNEIS_STR-NVDMO sy-vline
WA_RNEIS_STR-GVDOV sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.