ABAP Select data from SAP table RAREP 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 RAREP 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 RAREP. 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 RAREP 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_RAREP TYPE STANDARD TABLE OF RAREP,
      WA_RAREP TYPE RAREP,
      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: <RAREP> TYPE RAREP.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM RAREP
*  INTO TABLE @DATA(IT_RAREP2).
*--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_RAREP INDEX 1 INTO DATA(WA_RAREP2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_RAREP ASSIGNING <RAREP>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<RAREP>-SUMMB = 1.
<RAREP>-SRTWRT = 1.
<RAREP>-SOAFA = 1.
<RAREP>-TITEL = 1.
<RAREP>-KUMAFA = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_RAREP-GITBTR, sy-vline,
WA_RAREP-MMERL, sy-vline,
WA_RAREP-BUCHAB, sy-vline,
WA_RAREP-NAFAAB, sy-vline,
WA_RAREP-SAFAAB, sy-vline,
WA_RAREP-CHECKP, sy-vline.
ENDLOOP. *Add any further fields from structure WA_RAREP 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_RAREP 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_RAREP INTO WA_RAREP. *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 AC132, internal->external for field KUMAFA CALL FUNCTION 'CONVERSION_EXIT_AC132_OUTPUT' EXPORTING input = WA_RAREP-KUMAFA IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RAREP-KUMAFA.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC132, internal->external for field GITBTR CALL FUNCTION 'CONVERSION_EXIT_AC132_OUTPUT' EXPORTING input = WA_RAREP-GITBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RAREP-GITBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC132, internal->external for field MMERL CALL FUNCTION 'CONVERSION_EXIT_AC132_OUTPUT' EXPORTING input = WA_RAREP-MMERL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RAREP-MMERL.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC132, internal->external for field BUCHAB CALL FUNCTION 'CONVERSION_EXIT_AC132_OUTPUT' EXPORTING input = WA_RAREP-BUCHAB IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RAREP-BUCHAB.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC132, internal->external for field NAFAAB CALL FUNCTION 'CONVERSION_EXIT_AC132_OUTPUT' EXPORTING input = WA_RAREP-NAFAAB IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RAREP-NAFAAB.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC132, internal->external for field SAFAAB CALL FUNCTION 'CONVERSION_EXIT_AC132_OUTPUT' EXPORTING input = WA_RAREP-SAFAAB IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RAREP-SAFAAB.
WRITE:/ 'New Value:', ld_input.

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

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

*Conversion exit AC132, internal->external for field LDEBIT CALL FUNCTION 'CONVERSION_EXIT_AC132_OUTPUT' EXPORTING input = WA_RAREP-LDEBIT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RAREP-LDEBIT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC132, internal->external for field RDEBIT CALL FUNCTION 'CONVERSION_EXIT_AC132_OUTPUT' EXPORTING input = WA_RAREP-RDEBIT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RAREP-RDEBIT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC132, internal->external for field TDEBIT CALL FUNCTION 'CONVERSION_EXIT_AC132_OUTPUT' EXPORTING input = WA_RAREP-TDEBIT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RAREP-TDEBIT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC132, internal->external for field MINERL CALL FUNCTION 'CONVERSION_EXIT_AC132_OUTPUT' EXPORTING input = WA_RAREP-MINERL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RAREP-MINERL.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC132, internal->external for field MEHERL CALL FUNCTION 'CONVERSION_EXIT_AC132_OUTPUT' EXPORTING input = WA_RAREP-MEHERL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RAREP-MEHERL.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC132, internal->external for field LJAHRK CALL FUNCTION 'CONVERSION_EXIT_AC132_OUTPUT' EXPORTING input = WA_RAREP-LJAHRK IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RAREP-LJAHRK.
WRITE:/ 'New Value:', ld_input.

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

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

*Conversion exit AC132, internal->external for field AFA_GJA CALL FUNCTION 'CONVERSION_EXIT_AC132_OUTPUT' EXPORTING input = WA_RAREP-AFA_GJA IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RAREP-AFA_GJA.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC132, internal->external for field AFA_LFD CALL FUNCTION 'CONVERSION_EXIT_AC132_OUTPUT' EXPORTING input = WA_RAREP-AFA_LFD IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RAREP-AFA_LFD.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC132, internal->external for field DLIMIT CALL FUNCTION 'CONVERSION_EXIT_AC132_OUTPUT' EXPORTING input = WA_RAREP-DLIMIT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RAREP-DLIMIT.
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_RAREP_STR,
SUMMB TYPE STRING,
SRTWRT TYPE STRING,
SOAFA TYPE STRING,
TITEL TYPE STRING,
KUMAFA TYPE STRING,
GITBTR TYPE STRING,
MMERL TYPE STRING,
BUCHAB TYPE STRING,
NAFAAB TYPE STRING,
SAFAAB TYPE STRING,
CHECKP TYPE STRING,
EINZL TYPE STRING,
RSTART TYPE STRING,
XTEST TYPE STRING,
GROUP TYPE STRING,
HDAT TYPE STRING,
KEEP TYPE STRING,
AGAIN TYPE STRING,
HITLI TYPE STRING,
SIMDT TYPE STRING,
GWGKL TYPE STRING,
IMWGKL TYPE STRING,
ANTWRTB TYPE STRING,
ANTAUFW TYPE STRING,
XIMMKO TYPE STRING,
XPSPKO TYPE STRING,
XAUFKO TYPE STRING,
XKSTKO TYPE STRING,
XLSTAU TYPE STRING,
XLSTAR TYPE STRING,
XUEBERG TYPE STRING,
XNEXT TYPE STRING,
VTMNAM TYPE STRING,
LDEBIT TYPE STRING,
RDEBIT TYPE STRING,
TDEBIT TYPE STRING,
XAHKZJ TYPE STRING,
XNORCD TYPE STRING,
XSTORNO TYPE STRING,
XORGEP TYPE STRING,
POSKZ TYPE STRING,
SKBUBLART TYPE STRING,
UZINS TYPE STRING,
MINERL TYPE STRING,
MEHERL TYPE STRING,
LIST TYPE STRING,
LJAHRK TYPE STRING,
XENDMONT TYPE STRING,
USNAM TYPE STRING,
XROUND TYPE STRING,
ANLKL_JA TYPE STRING,
MAPPE TYPE STRING,
BERHZ TYPE STRING,
ERAHK TYPE STRING,
ERRST TYPE STRING,
EREIG TYPE STRING,
T_TASK TYPE STRING,
TSTASK TYPE STRING,
VERKZ TYPE STRING,
ORGTASK TYPE STRING,
TESTLAUF TYPE STRING,
XORIGIN TYPE STRING,
IDENTKEY TYPE STRING,
OUTPUTPRT TYPE STRING,
OUTPUTSCR TYPE STRING,
ADDTOPACC TYPE STRING,
ADDTOPPIC TYPE STRING,
AM_AFAART TYPE STRING,
AM_BUKRS TYPE STRING,
RFCGR TYPE STRING,
RZUGNETTO TYPE STRING,
AKSET TYPE STRING,
AM_BELNR TYPE STRING,
AFA_GJA TYPE STRING,
AFA_LFD TYPE STRING,
ADDTOPPST TYPE STRING,
ADDTOPVAL TYPE STRING,
ADDTOPINS TYPE STRING,
ADDTOPLEA TYPE STRING,
ADDTOPINV TYPE STRING,
ADDTOPOLD TYPE STRING,
ADDTOPPVL TYPE STRING,
MAFAL TYPE STRING,
NEGKZ TYPE STRING,
DIFKZ TYPE STRING,
AANKZ TYPE STRING,
ADDTOPTRA TYPE STRING,
ADDTOPYEA TYPE STRING,
DLIMIT TYPE STRING,
DIRPO TYPE STRING,
AM_GAINTYPE TYPE STRING,
ZERO_LINES TYPE STRING,
SCHEDMAN TYPE STRING,
NOSPOOL TYPE STRING,
DEPR_RUN_ERRLIST TYPE STRING,
IMMID TYPE STRING,
XBEFORECHCK TYPE STRING,
XAFTERCHCK TYPE STRING,
XTESTRUN TYPE STRING,
XFORCERUN TYPE STRING,
XSIMLGP TYPE STRING,
XNUBU TYPE STRING,END OF T_EKKO_STR. DATA: WA_RAREP_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_RAREP_STR-SUMMB sy-vline
WA_RAREP_STR-SRTWRT sy-vline
WA_RAREP_STR-SOAFA sy-vline
WA_RAREP_STR-TITEL sy-vline
WA_RAREP_STR-KUMAFA sy-vline
WA_RAREP_STR-GITBTR sy-vline
WA_RAREP_STR-MMERL sy-vline
WA_RAREP_STR-BUCHAB sy-vline
WA_RAREP_STR-NAFAAB sy-vline
WA_RAREP_STR-SAFAAB sy-vline
WA_RAREP_STR-CHECKP sy-vline
WA_RAREP_STR-EINZL sy-vline
WA_RAREP_STR-RSTART sy-vline
WA_RAREP_STR-XTEST sy-vline
WA_RAREP_STR-GROUP sy-vline
WA_RAREP_STR-HDAT sy-vline
WA_RAREP_STR-KEEP sy-vline
WA_RAREP_STR-AGAIN sy-vline
WA_RAREP_STR-HITLI sy-vline
WA_RAREP_STR-SIMDT sy-vline
WA_RAREP_STR-GWGKL sy-vline
WA_RAREP_STR-IMWGKL sy-vline
WA_RAREP_STR-ANTWRTB sy-vline
WA_RAREP_STR-ANTAUFW sy-vline
WA_RAREP_STR-XIMMKO sy-vline
WA_RAREP_STR-XPSPKO sy-vline
WA_RAREP_STR-XAUFKO sy-vline
WA_RAREP_STR-XKSTKO sy-vline
WA_RAREP_STR-XLSTAU sy-vline
WA_RAREP_STR-XLSTAR sy-vline
WA_RAREP_STR-XUEBERG sy-vline
WA_RAREP_STR-XNEXT sy-vline
WA_RAREP_STR-VTMNAM sy-vline
WA_RAREP_STR-LDEBIT sy-vline
WA_RAREP_STR-RDEBIT sy-vline
WA_RAREP_STR-TDEBIT sy-vline
WA_RAREP_STR-XAHKZJ sy-vline
WA_RAREP_STR-XNORCD sy-vline
WA_RAREP_STR-XSTORNO sy-vline
WA_RAREP_STR-XORGEP sy-vline
WA_RAREP_STR-POSKZ sy-vline
WA_RAREP_STR-SKBUBLART sy-vline
WA_RAREP_STR-UZINS sy-vline
WA_RAREP_STR-MINERL sy-vline
WA_RAREP_STR-MEHERL sy-vline
WA_RAREP_STR-LIST sy-vline
WA_RAREP_STR-LJAHRK sy-vline
WA_RAREP_STR-XENDMONT sy-vline
WA_RAREP_STR-USNAM sy-vline
WA_RAREP_STR-XROUND sy-vline
WA_RAREP_STR-ANLKL_JA sy-vline
WA_RAREP_STR-MAPPE sy-vline
WA_RAREP_STR-BERHZ sy-vline
WA_RAREP_STR-ERAHK sy-vline
WA_RAREP_STR-ERRST sy-vline
WA_RAREP_STR-EREIG sy-vline
WA_RAREP_STR-T_TASK sy-vline
WA_RAREP_STR-TSTASK sy-vline
WA_RAREP_STR-VERKZ sy-vline
WA_RAREP_STR-ORGTASK sy-vline
WA_RAREP_STR-TESTLAUF sy-vline
WA_RAREP_STR-XORIGIN sy-vline
WA_RAREP_STR-IDENTKEY sy-vline
WA_RAREP_STR-OUTPUTPRT sy-vline
WA_RAREP_STR-OUTPUTSCR sy-vline
WA_RAREP_STR-ADDTOPACC sy-vline
WA_RAREP_STR-ADDTOPPIC sy-vline
WA_RAREP_STR-AM_AFAART sy-vline
WA_RAREP_STR-AM_BUKRS sy-vline
WA_RAREP_STR-RFCGR sy-vline
WA_RAREP_STR-RZUGNETTO sy-vline
WA_RAREP_STR-AKSET sy-vline
WA_RAREP_STR-AM_BELNR sy-vline
WA_RAREP_STR-AFA_GJA sy-vline
WA_RAREP_STR-AFA_LFD sy-vline
WA_RAREP_STR-ADDTOPPST sy-vline
WA_RAREP_STR-ADDTOPVAL sy-vline
WA_RAREP_STR-ADDTOPINS sy-vline
WA_RAREP_STR-ADDTOPLEA sy-vline
WA_RAREP_STR-ADDTOPINV sy-vline
WA_RAREP_STR-ADDTOPOLD sy-vline
WA_RAREP_STR-ADDTOPPVL sy-vline
WA_RAREP_STR-MAFAL sy-vline
WA_RAREP_STR-NEGKZ sy-vline
WA_RAREP_STR-DIFKZ sy-vline
WA_RAREP_STR-AANKZ sy-vline
WA_RAREP_STR-ADDTOPTRA sy-vline
WA_RAREP_STR-ADDTOPYEA sy-vline
WA_RAREP_STR-DLIMIT sy-vline
WA_RAREP_STR-DIRPO sy-vline
WA_RAREP_STR-AM_GAINTYPE sy-vline
WA_RAREP_STR-ZERO_LINES sy-vline
WA_RAREP_STR-SCHEDMAN sy-vline
WA_RAREP_STR-NOSPOOL sy-vline
WA_RAREP_STR-DEPR_RUN_ERRLIST sy-vline
WA_RAREP_STR-IMMID sy-vline
WA_RAREP_STR-XBEFORECHCK sy-vline
WA_RAREP_STR-XAFTERCHCK sy-vline
WA_RAREP_STR-XTESTRUN sy-vline
WA_RAREP_STR-XFORCERUN sy-vline
WA_RAREP_STR-XSIMLGP sy-vline
WA_RAREP_STR-XNUBU sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.