ABAP Select data from SAP table RPCIMPEX 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 RPCIMPEX 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 RPCIMPEX. 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 RPCIMPEX 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_RPCIMPEX TYPE STANDARD TABLE OF RPCIMPEX,
      WA_RPCIMPEX TYPE RPCIMPEX,
      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: <RPCIMPEX> TYPE RPCIMPEX.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM RPCIMPEX
*  INTO TABLE @DATA(IT_RPCIMPEX2).
*--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_RPCIMPEX INDEX 1 INTO DATA(WA_RPCIMPEX2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_RPCIMPEX ASSIGNING <RPCIMPEX>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<RPCIMPEX>-CPERL = 1.
<RPCIMPEX>-DSNNAME = 1.
<RPCIMPEX>-JUPER = 1.
<RPCIMPEX>-NOPER = 1.
<RPCIMPEX>-PERIODO = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_RPCIMPEX-YEAR, sy-vline,
WA_RPCIMPEX-DSN01, sy-vline,
WA_RPCIMPEX-IND_REL, sy-vline,
WA_RPCIMPEX-IND_RES, sy-vline,
WA_RPCIMPEX-SW_PEV, sy-vline,
WA_RPCIMPEX-FINNR, sy-vline.
ENDLOOP. *Add any further fields from structure WA_RPCIMPEX 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_RPCIMPEX 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_RPCIMPEX INTO WA_RPCIMPEX. *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 GJAHR, internal->external for field YEAR CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_RPCIMPEX-YEAR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RPCIMPEX-YEAR.
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_RPCIMPEX_STR,
CPERL TYPE STRING,
DSNNAME TYPE STRING,
JUPER TYPE STRING,
NOPER TYPE STRING,
PERIODO TYPE STRING,
YEAR TYPE STRING,
DSN01 TYPE STRING,
IND_REL TYPE STRING,
IND_RES TYPE STRING,
SW_PEV TYPE STRING,
FINNR TYPE STRING,
OUT_PAP TYPE STRING,
OUT_DTA TYPE STRING,
DISKETT TYPE STRING,
CINTA TYPE STRING,
TELE TYPE STRING,
DATA_FI TYPE STRING,
TMSE_OBJNR TYPE STRING,
UPPER TYPE STRING,
FECHA_PRES TYPE STRING,
NRJUS TYPE STRING,
NR190 TYPE STRING,
NR19A TYPE STRING,
FIYEABEG TYPE STRING,
CHECKS TYPE STRING,
DEORDI TYPE STRING,
DESUST TYPE STRING,
DECOMP TYPE STRING,
FORM11 TYPE STRING,
FORM19 TYPE STRING,
GEN11X TYPE STRING,
PER11X TYPE STRING,
RESAC TYPE STRING,
FORMCR TYPE STRING,
CVEUR TYPE STRING,
11ORI TYPE STRING,
11IFT TYPE STRING,
11IFE TYPE STRING,
11DTE TYPE STRING,
GEN296 TYPE STRING,
DTAORI TYPE STRING,
GEN216 TYPE STRING,
RDOSANT TYPE STRING,
REANO TYPE STRING,
REAIN TYPE STRING,
REAEX TYPE STRING,
REACI TYPE STRING,
REACE TYPE STRING,
PROTC TYPE STRING,
I0090 TYPE STRING,
RECHA TYPE STRING,
PERIO TYPE STRING,
PROTN TYPE STRING,
INI62 TYPE STRING,
BINPUT TYPE STRING,
MAP_NAME TYPE STRING,
INISIM TYPE STRING,
GEN345 TYPE STRING,
RIX62 TYPE STRING,
MOLRN TYPE STRING,
ESTSIM TYPE STRING,
COREGNS TYPE STRING,
ESTACT TYPE STRING,
EVIREG TYPE STRING,
NOREGU TYPE STRING,
DESG_EJ TYPE STRING,
FORREG TYPE STRING,
MINPORC TYPE STRING,
REACA TYPE STRING,
CDR TYPE STRING,
FLAT TYPE STRING,
CODAU TYPE STRING,
111TIPODE TYPE STRING,
111COMP TYPE STRING,
111JUST TYPE STRING,
111ANTE TYPE STRING,END OF T_EKKO_STR. DATA: WA_RPCIMPEX_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_RPCIMPEX_STR-CPERL sy-vline
WA_RPCIMPEX_STR-DSNNAME sy-vline
WA_RPCIMPEX_STR-JUPER sy-vline
WA_RPCIMPEX_STR-NOPER sy-vline
WA_RPCIMPEX_STR-PERIODO sy-vline
WA_RPCIMPEX_STR-YEAR sy-vline
WA_RPCIMPEX_STR-DSN01 sy-vline
WA_RPCIMPEX_STR-IND_REL sy-vline
WA_RPCIMPEX_STR-IND_RES sy-vline
WA_RPCIMPEX_STR-SW_PEV sy-vline
WA_RPCIMPEX_STR-FINNR sy-vline
WA_RPCIMPEX_STR-OUT_PAP sy-vline
WA_RPCIMPEX_STR-OUT_DTA sy-vline
WA_RPCIMPEX_STR-DISKETT sy-vline
WA_RPCIMPEX_STR-CINTA sy-vline
WA_RPCIMPEX_STR-TELE sy-vline
WA_RPCIMPEX_STR-DATA_FI sy-vline
WA_RPCIMPEX_STR-TMSE_OBJNR sy-vline
WA_RPCIMPEX_STR-UPPER sy-vline
WA_RPCIMPEX_STR-FECHA_PRES sy-vline
WA_RPCIMPEX_STR-NRJUS sy-vline
WA_RPCIMPEX_STR-NR190 sy-vline
WA_RPCIMPEX_STR-NR19A sy-vline
WA_RPCIMPEX_STR-FIYEABEG sy-vline
WA_RPCIMPEX_STR-CHECKS sy-vline
WA_RPCIMPEX_STR-DEORDI sy-vline
WA_RPCIMPEX_STR-DESUST sy-vline
WA_RPCIMPEX_STR-DECOMP sy-vline
WA_RPCIMPEX_STR-FORM11 sy-vline
WA_RPCIMPEX_STR-FORM19 sy-vline
WA_RPCIMPEX_STR-GEN11X sy-vline
WA_RPCIMPEX_STR-PER11X sy-vline
WA_RPCIMPEX_STR-RESAC sy-vline
WA_RPCIMPEX_STR-FORMCR sy-vline
WA_RPCIMPEX_STR-CVEUR sy-vline
WA_RPCIMPEX_STR-11ORI sy-vline
WA_RPCIMPEX_STR-11IFT sy-vline
WA_RPCIMPEX_STR-11IFE sy-vline
WA_RPCIMPEX_STR-11DTE sy-vline
WA_RPCIMPEX_STR-GEN296 sy-vline
WA_RPCIMPEX_STR-DTAORI sy-vline
WA_RPCIMPEX_STR-GEN216 sy-vline
WA_RPCIMPEX_STR-RDOSANT sy-vline
WA_RPCIMPEX_STR-REANO sy-vline
WA_RPCIMPEX_STR-REAIN sy-vline
WA_RPCIMPEX_STR-REAEX sy-vline
WA_RPCIMPEX_STR-REACI sy-vline
WA_RPCIMPEX_STR-REACE sy-vline
WA_RPCIMPEX_STR-PROTC sy-vline
WA_RPCIMPEX_STR-I0090 sy-vline
WA_RPCIMPEX_STR-RECHA sy-vline
WA_RPCIMPEX_STR-PERIO sy-vline
WA_RPCIMPEX_STR-PROTN sy-vline
WA_RPCIMPEX_STR-INI62 sy-vline
WA_RPCIMPEX_STR-BINPUT sy-vline
WA_RPCIMPEX_STR-MAP_NAME sy-vline
WA_RPCIMPEX_STR-INISIM sy-vline
WA_RPCIMPEX_STR-GEN345 sy-vline
WA_RPCIMPEX_STR-RIX62 sy-vline
WA_RPCIMPEX_STR-MOLRN sy-vline
WA_RPCIMPEX_STR-ESTSIM sy-vline
WA_RPCIMPEX_STR-COREGNS sy-vline
WA_RPCIMPEX_STR-ESTACT sy-vline
WA_RPCIMPEX_STR-EVIREG sy-vline
WA_RPCIMPEX_STR-NOREGU sy-vline
WA_RPCIMPEX_STR-DESG_EJ sy-vline
WA_RPCIMPEX_STR-FORREG sy-vline
WA_RPCIMPEX_STR-MINPORC sy-vline
WA_RPCIMPEX_STR-REACA sy-vline
WA_RPCIMPEX_STR-CDR sy-vline
WA_RPCIMPEX_STR-FLAT sy-vline
WA_RPCIMPEX_STR-CODAU sy-vline
WA_RPCIMPEX_STR-111TIPODE sy-vline
WA_RPCIMPEX_STR-111COMP sy-vline
WA_RPCIMPEX_STR-111JUST sy-vline
WA_RPCIMPEX_STR-111ANTE sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.