ABAP Select data from SAP table RPCF24I0L1A 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 RPCF24I0L1A 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 RPCF24I0L1A. 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 RPCF24I0L1A 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_RPCF24I0L1A TYPE STANDARD TABLE OF RPCF24I0L1A,
      WA_RPCF24I0L1A TYPE RPCF24I0L1A,
      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: <RPCF24I0L1A> TYPE RPCF24I0L1A.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM RPCF24I0L1A
*  INTO TABLE @DATA(IT_RPCF24I0L1A2).
*--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_RPCF24I0L1A INDEX 1 INTO DATA(WA_RPCF24I0L1A2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_RPCF24I0L1A ASSIGNING <RPCF24I0L1A>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<RPCF24I0L1A>-INPS2_TOTALCRED = 1.
<RPCF24I0L1A>-INPS2_TOTALDEB = 1.
<RPCF24I0L1A>-INPS2_TOTALSALDO = 1.
<RPCF24I0L1A>-PROVFISCCONTR = 1.
<RPCF24I0L1A>-ERARIO_TOTALCRED = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_RPCF24I0L1A-ALTRI1_TOTALCRED, sy-vline,
WA_RPCF24I0L1A-ALTRI1_TOTALDEB, sy-vline,
WA_RPCF24I0L1A-REGIONI2_TOTALSALD, sy-vline,
WA_RPCF24I0L1A-ALTRI2_TOTALCRED, sy-vline,
WA_RPCF24I0L1A-REGIONI22_TOTALCRED, sy-vline,
WA_RPCF24I0L1A-REGIONI22_TOTALDEB, sy-vline.
ENDLOOP. *Add any further fields from structure WA_RPCF24I0L1A 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_RPCF24I0L1A 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_RPCF24I0L1A INTO WA_RPCF24I0L1A. *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_RPCF24I0L1A_STR,
INPS2_TOTALCRED TYPE STRING,
INPS2_TOTALDEB TYPE STRING,
INPS2_TOTALSALDO TYPE STRING,
PROVFISCCONTR TYPE STRING,
ERARIO_TOTALCRED TYPE STRING,
ALTRI1_TOTALCRED TYPE STRING,
ALTRI1_TOTALDEB TYPE STRING,
REGIONI2_TOTALSALD TYPE STRING,
ALTRI2_TOTALCRED TYPE STRING,
REGIONI22_TOTALCRED TYPE STRING,
REGIONI22_TOTALDEB TYPE STRING,
REGIONI22_TOTALSALDO TYPE STRING,
REGIONI12_TOTALCRED TYPE STRING,
REGIONI12_TOTALDEB TYPE STRING,
REGIONI12_TOTALSALDO TYPE STRING,
SALDOFINALE TYPE STRING,
ALTRI2_TOTALDEB TYPE STRING,
ALTRI2_TOTALSALDO TYPE STRING,
INPS_TOTALCRED TYPE STRING,
ITAB_ERARIO2 TYPE STRING,
ERARIO2_TOTALSALDO TYPE STRING,
ERARIO2_TOTALCRED TYPE STRING,
ERARIO2_TOTALDEB TYPE STRING,
TAB_SALDO_NUMERORATE TYPE STRING,
ITAB_ALTRI1 TYPE STRING,
CAUSALE TYPE STRING,
CCASSI TYPE STRING,
CODSEDE TYPE STRING,
IMPORCRED TYPE STRING,
IMPORDEB TYPE STRING,
NUMEROASSI TYPE STRING,
RIFERIMENTO TYPE STRING,
ITAB_ALTRI2 TYPE STRING,
CAUSALE TYPE STRING,
CCASSI TYPE STRING,
CODSEDE TYPE STRING,
IMPORCRED TYPE STRING,
IMPORDEB TYPE STRING,
NUMEROASSI TYPE STRING,
RIFERIMENTO TYPE STRING,
ITAB_INPS2 TYPE STRING,
APERIOD TYPE STRING,
CAUSALE TYPE STRING,
CODSEDE TYPE STRING,
DAPERIOD TYPE STRING,
IMPORCRED TYPE STRING,
IMPORDEB TYPE STRING,
MATRICOLAINPS TYPE STRING,
ITAB_INPS TYPE STRING,
ITAB_REGIONI12 TYPE STRING,
ITAB_REGIONI22 TYPE STRING,
ANNO TYPE STRING,
CODREGIONE TYPE STRING,
CODTRIB TYPE STRING,
IMPORCRED TYPE STRING,
IMPORDEB TYPE STRING,
RATEAZIONE TYPE STRING,
TAB_CONTRIBUENTE TYPE STRING,
CODFISCCONTR TYPE STRING,
COGNOMCONTRIB TYPE STRING,
COMMUNECODFISC TYPE STRING,
DATECONTRIB TYPE STRING,
DENOMCONTRIB TYPE STRING,
NOMCONTRIB TYPE STRING,
PROVCONTRIB TYPE STRING,
PROVFISCCONTR TYPE STRING,
VIAFISCCONTR TYPE STRING,
PAGE_NO TYPE STRING,
T500C TYPE STRING,
MANDT TYPE STRING,
LAND1 TYPE STRING,
ENDDA TYPE STRING,
BEGDA TYPE STRING,
WAERS TYPE STRING,
SALDOFINALE2 TYPE STRING,END OF T_EKKO_STR. DATA: WA_RPCF24I0L1A_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_RPCF24I0L1A_STR-INPS2_TOTALCRED sy-vline
WA_RPCF24I0L1A_STR-INPS2_TOTALDEB sy-vline
WA_RPCF24I0L1A_STR-INPS2_TOTALSALDO sy-vline
WA_RPCF24I0L1A_STR-PROVFISCCONTR sy-vline
WA_RPCF24I0L1A_STR-ERARIO_TOTALCRED sy-vline
WA_RPCF24I0L1A_STR-ALTRI1_TOTALCRED sy-vline
WA_RPCF24I0L1A_STR-ALTRI1_TOTALDEB sy-vline
WA_RPCF24I0L1A_STR-REGIONI2_TOTALSALD sy-vline
WA_RPCF24I0L1A_STR-ALTRI2_TOTALCRED sy-vline
WA_RPCF24I0L1A_STR-REGIONI22_TOTALCRED sy-vline
WA_RPCF24I0L1A_STR-REGIONI22_TOTALDEB sy-vline
WA_RPCF24I0L1A_STR-REGIONI22_TOTALSALDO sy-vline
WA_RPCF24I0L1A_STR-REGIONI12_TOTALCRED sy-vline
WA_RPCF24I0L1A_STR-REGIONI12_TOTALDEB sy-vline
WA_RPCF24I0L1A_STR-REGIONI12_TOTALSALDO sy-vline
WA_RPCF24I0L1A_STR-SALDOFINALE sy-vline
WA_RPCF24I0L1A_STR-ALTRI2_TOTALDEB sy-vline
WA_RPCF24I0L1A_STR-ALTRI2_TOTALSALDO sy-vline
WA_RPCF24I0L1A_STR-INPS_TOTALCRED sy-vline
WA_RPCF24I0L1A_STR-ITAB_ERARIO2 sy-vline
WA_RPCF24I0L1A_STR-ERARIO2_TOTALSALDO sy-vline
WA_RPCF24I0L1A_STR-ERARIO2_TOTALCRED sy-vline
WA_RPCF24I0L1A_STR-ERARIO2_TOTALDEB sy-vline
WA_RPCF24I0L1A_STR-TAB_SALDO_NUMERORATE sy-vline
WA_RPCF24I0L1A_STR-ITAB_ALTRI1 sy-vline
WA_RPCF24I0L1A_STR-CAUSALE sy-vline
WA_RPCF24I0L1A_STR-CCASSI sy-vline
WA_RPCF24I0L1A_STR-CODSEDE sy-vline
WA_RPCF24I0L1A_STR-IMPORCRED sy-vline
WA_RPCF24I0L1A_STR-IMPORDEB sy-vline
WA_RPCF24I0L1A_STR-NUMEROASSI sy-vline
WA_RPCF24I0L1A_STR-RIFERIMENTO sy-vline
WA_RPCF24I0L1A_STR-ITAB_ALTRI2 sy-vline
WA_RPCF24I0L1A_STR-CAUSALE sy-vline
WA_RPCF24I0L1A_STR-CCASSI sy-vline
WA_RPCF24I0L1A_STR-CODSEDE sy-vline
WA_RPCF24I0L1A_STR-IMPORCRED sy-vline
WA_RPCF24I0L1A_STR-IMPORDEB sy-vline
WA_RPCF24I0L1A_STR-NUMEROASSI sy-vline
WA_RPCF24I0L1A_STR-RIFERIMENTO sy-vline
WA_RPCF24I0L1A_STR-ITAB_INPS2 sy-vline
WA_RPCF24I0L1A_STR-APERIOD sy-vline
WA_RPCF24I0L1A_STR-CAUSALE sy-vline
WA_RPCF24I0L1A_STR-CODSEDE sy-vline
WA_RPCF24I0L1A_STR-DAPERIOD sy-vline
WA_RPCF24I0L1A_STR-IMPORCRED sy-vline
WA_RPCF24I0L1A_STR-IMPORDEB sy-vline
WA_RPCF24I0L1A_STR-MATRICOLAINPS sy-vline
WA_RPCF24I0L1A_STR-ITAB_INPS sy-vline
WA_RPCF24I0L1A_STR-ITAB_REGIONI12 sy-vline
WA_RPCF24I0L1A_STR-ITAB_REGIONI22 sy-vline
WA_RPCF24I0L1A_STR-ANNO sy-vline
WA_RPCF24I0L1A_STR-CODREGIONE sy-vline
WA_RPCF24I0L1A_STR-CODTRIB sy-vline
WA_RPCF24I0L1A_STR-IMPORCRED sy-vline
WA_RPCF24I0L1A_STR-IMPORDEB sy-vline
WA_RPCF24I0L1A_STR-RATEAZIONE sy-vline
WA_RPCF24I0L1A_STR-TAB_CONTRIBUENTE sy-vline
WA_RPCF24I0L1A_STR-CODFISCCONTR sy-vline
WA_RPCF24I0L1A_STR-COGNOMCONTRIB sy-vline
WA_RPCF24I0L1A_STR-COMMUNECODFISC sy-vline
WA_RPCF24I0L1A_STR-DATECONTRIB sy-vline
WA_RPCF24I0L1A_STR-DENOMCONTRIB sy-vline
WA_RPCF24I0L1A_STR-NOMCONTRIB sy-vline
WA_RPCF24I0L1A_STR-PROVCONTRIB sy-vline
WA_RPCF24I0L1A_STR-PROVFISCCONTR sy-vline
WA_RPCF24I0L1A_STR-VIAFISCCONTR sy-vline
WA_RPCF24I0L1A_STR-PAGE_NO sy-vline
WA_RPCF24I0L1A_STR-T500C sy-vline
WA_RPCF24I0L1A_STR-MANDT sy-vline
WA_RPCF24I0L1A_STR-LAND1 sy-vline
WA_RPCF24I0L1A_STR-ENDDA sy-vline
WA_RPCF24I0L1A_STR-BEGDA sy-vline
WA_RPCF24I0L1A_STR-WAERS sy-vline
WA_RPCF24I0L1A_STR-SALDOFINALE2 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.