ABAP Select data from SAP table RPCSVBA1S_A 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 RPCSVBA1S_A 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 RPCSVBA1S_A. 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 RPCSVBA1S_A 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_RPCSVBA1S_A TYPE STANDARD TABLE OF RPCSVBA1S_A,
      WA_RPCSVBA1S_A TYPE RPCSVBA1S_A,
      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: <RPCSVBA1S_A> TYPE RPCSVBA1S_A.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM RPCSVBA1S_A
*  INTO TABLE @DATA(IT_RPCSVBA1S_A2).
*--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_RPCSVBA1S_A INDEX 1 INTO DATA(WA_RPCSVBA1S_A2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_RPCSVBA1S_A ASSIGNING <RPCSVBA1S_A>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<RPCSVBA1S_A>-ASVIN = 1.
<RPCSVBA1S_A>-LOHNB = 1.
<RPCSVBA1S_A>-FPPER = 1.
<RPCSVBA1S_A>-DGSV1 = 1.
<RPCSVBA1S_A>-ASV_SORT = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_RPCSVBA1S_A-ASVGR, sy-vline,
WA_RPCSVBA1S_A-AUSVA, sy-vline,
WA_RPCSVBA1S_A-XBLNR, sy-vline,
WA_RPCSVBA1S_A-MELDN, sy-vline,
WA_RPCSVBA1S_A-ASVGR_TXT, sy-vline,
WA_RPCSVBA1S_A-AUSVA_TXT, sy-vline.
ENDLOOP. *Add any further fields from structure WA_RPCSVBA1S_A 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_RPCSVBA1S_A 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_RPCSVBA1S_A INTO WA_RPCSVBA1S_A. *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_RPCSVBA1S_A_STR,
ASVIN TYPE STRING,
LOHNB TYPE STRING,
FPPER TYPE STRING,
DGSV1 TYPE STRING,
ASV_SORT TYPE STRING,
ASVGR TYPE STRING,
AUSVA TYPE STRING,
XBLNR TYPE STRING,
MELDN TYPE STRING,
ASVGR_TXT TYPE STRING,
AUSVA_TXT TYPE STRING,
DGSVN TYPE STRING,
LOHNB_TXT TYPE STRING,
BUKRS TYPE STRING,
BUKRS_TXT TYPE STRING,
ABKRS TYPE STRING,
ABKRS_TXT TYPE STRING,
NAME1 TYPE STRING,
NAME2 TYPE STRING,
LINE1 TYPE STRING,
ORT01 TYPE STRING,
DGTEL TYPE STRING,
FPBEG TYPE STRING,
FPEND TYPE STRING,
FUPPR TYPE STRING,
PAPER TYPE STRING,
BGRP_01 TYPE STRING,
BGDN_01 TYPE STRING,
SZDN_01 TYPE STRING,
BGPZ_01 TYPE STRING,
BGBT_01 TYPE STRING,
BGSUM_01 TYPE STRING,
BGRP_02 TYPE STRING,
BGDN_02 TYPE STRING,
SZDN_02 TYPE STRING,
BGPZ_02 TYPE STRING,
BGBT_02 TYPE STRING,
BGSUM_02 TYPE STRING,
BGRP_03 TYPE STRING,
BGDN_03 TYPE STRING,
SZDN_03 TYPE STRING,
BGPZ_03 TYPE STRING,
BGBT_03 TYPE STRING,
BGSUM_03 TYPE STRING,
BGRP_04 TYPE STRING,
BGDN_04 TYPE STRING,
SZDN_04 TYPE STRING,
BGPZ_04 TYPE STRING,
BGBT_04 TYPE STRING,
BGSUM_04 TYPE STRING,
BGRP_05 TYPE STRING,
BGDN_05 TYPE STRING,
SZDN_05 TYPE STRING,
BGPZ_05 TYPE STRING,
BGBT_05 TYPE STRING,
BGSUM_05 TYPE STRING,
BGRP_06 TYPE STRING,
BGDN_06 TYPE STRING,
SZDN_06 TYPE STRING,
BGPZ_06 TYPE STRING,
BGBT_06 TYPE STRING,
BGSUM_06 TYPE STRING,
BGRP_07 TYPE STRING,
BGDN_07 TYPE STRING,
SZDN_07 TYPE STRING,
BGPZ_07 TYPE STRING,
BGBT_07 TYPE STRING,
BGSUM_07 TYPE STRING,
BGRP_08 TYPE STRING,
BGDN_08 TYPE STRING,
SZDN_08 TYPE STRING,
BGPZ_08 TYPE STRING,
BGBT_08 TYPE STRING,
BGSUM_08 TYPE STRING,
BGRP_09 TYPE STRING,
BGDN_09 TYPE STRING,
SZDN_09 TYPE STRING,
BGPZ_09 TYPE STRING,
BGBT_09 TYPE STRING,
BGSUM_09 TYPE STRING,
BGRP_10 TYPE STRING,
BGDN_10 TYPE STRING,
SZDN_10 TYPE STRING,
BGPZ_10 TYPE STRING,
BGBT_10 TYPE STRING,
BGSUM_10 TYPE STRING,
BGRP_11 TYPE STRING,
BGDN_11 TYPE STRING,
SZDN_11 TYPE STRING,
BGPZ_11 TYPE STRING,
BGBT_11 TYPE STRING,
BGSUM_11 TYPE STRING,
BGRP_12 TYPE STRING,
BGDN_12 TYPE STRING,
SZDN_12 TYPE STRING,
BGPZ_12 TYPE STRING,
BGBT_12 TYPE STRING,
BGSUM_12 TYPE STRING,
UMCOD_01 TYPE STRING,
BGRUM_01 TYPE STRING,
PROZU_01 TYPE STRING,
BEITU_01 TYPE STRING,
UMCOD_02 TYPE STRING,
BGRUM_02 TYPE STRING,
PROZU_02 TYPE STRING,
BEITU_02 TYPE STRING,
UMCOD_03 TYPE STRING,
BGRUM_03 TYPE STRING,
PROZU_03 TYPE STRING,
BEITU_03 TYPE STRING,
UMCOD_04 TYPE STRING,
BGRUM_04 TYPE STRING,
PROZU_04 TYPE STRING,
BEITU_04 TYPE STRING,
UMCOD_05 TYPE STRING,
BGRUM_05 TYPE STRING,
PROZU_05 TYPE STRING,
BEITU_05 TYPE STRING,
UMCOD_06 TYPE STRING,
BGRUM_06 TYPE STRING,
PROZU_06 TYPE STRING,
BEITU_06 TYPE STRING,
UMCOD_07 TYPE STRING,
BGRUM_07 TYPE STRING,
PROZU_07 TYPE STRING,
BEITU_07 TYPE STRING,
UMCOD_08 TYPE STRING,
BGRUM_08 TYPE STRING,
PROZU_08 TYPE STRING,
BEITU_08 TYPE STRING,
AARB TYPE STRING,
AANG TYPE STRING,
AARL TYPE STRING,
AANL TYPE STRING,
EFAR TYPE STRING,
EFAN TYPE STRING,
BGUU TYPE STRING,
AZGF TYPE STRING,
BGGF TYPE STRING,
SZGF TYPE STRING,
GANG TYPE STRING,
GARB TYPE STRING,
AARM TYPE STRING,
BARM TYPE STRING,
AANM TYPE STRING,
BANM TYPE STRING,
KGEB TYPE STRING,
ECAR TYPE STRING,
MVBE TYPE STRING,
SUMMA TYPE STRING,
SUMME TYPE STRING,
DIFFN TYPE STRING,
STNR0 TYPE STRING,
WAERS TYPE STRING,
XPAND TYPE STRING,
AUFL TYPE STRING,END OF T_EKKO_STR. DATA: WA_RPCSVBA1S_A_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_RPCSVBA1S_A_STR-ASVIN sy-vline
WA_RPCSVBA1S_A_STR-LOHNB sy-vline
WA_RPCSVBA1S_A_STR-FPPER sy-vline
WA_RPCSVBA1S_A_STR-DGSV1 sy-vline
WA_RPCSVBA1S_A_STR-ASV_SORT sy-vline
WA_RPCSVBA1S_A_STR-ASVGR sy-vline
WA_RPCSVBA1S_A_STR-AUSVA sy-vline
WA_RPCSVBA1S_A_STR-XBLNR sy-vline
WA_RPCSVBA1S_A_STR-MELDN sy-vline
WA_RPCSVBA1S_A_STR-ASVGR_TXT sy-vline
WA_RPCSVBA1S_A_STR-AUSVA_TXT sy-vline
WA_RPCSVBA1S_A_STR-DGSVN sy-vline
WA_RPCSVBA1S_A_STR-LOHNB_TXT sy-vline
WA_RPCSVBA1S_A_STR-BUKRS sy-vline
WA_RPCSVBA1S_A_STR-BUKRS_TXT sy-vline
WA_RPCSVBA1S_A_STR-ABKRS sy-vline
WA_RPCSVBA1S_A_STR-ABKRS_TXT sy-vline
WA_RPCSVBA1S_A_STR-NAME1 sy-vline
WA_RPCSVBA1S_A_STR-NAME2 sy-vline
WA_RPCSVBA1S_A_STR-LINE1 sy-vline
WA_RPCSVBA1S_A_STR-ORT01 sy-vline
WA_RPCSVBA1S_A_STR-DGTEL sy-vline
WA_RPCSVBA1S_A_STR-FPBEG sy-vline
WA_RPCSVBA1S_A_STR-FPEND sy-vline
WA_RPCSVBA1S_A_STR-FUPPR sy-vline
WA_RPCSVBA1S_A_STR-PAPER sy-vline
WA_RPCSVBA1S_A_STR-BGRP_01 sy-vline
WA_RPCSVBA1S_A_STR-BGDN_01 sy-vline
WA_RPCSVBA1S_A_STR-SZDN_01 sy-vline
WA_RPCSVBA1S_A_STR-BGPZ_01 sy-vline
WA_RPCSVBA1S_A_STR-BGBT_01 sy-vline
WA_RPCSVBA1S_A_STR-BGSUM_01 sy-vline
WA_RPCSVBA1S_A_STR-BGRP_02 sy-vline
WA_RPCSVBA1S_A_STR-BGDN_02 sy-vline
WA_RPCSVBA1S_A_STR-SZDN_02 sy-vline
WA_RPCSVBA1S_A_STR-BGPZ_02 sy-vline
WA_RPCSVBA1S_A_STR-BGBT_02 sy-vline
WA_RPCSVBA1S_A_STR-BGSUM_02 sy-vline
WA_RPCSVBA1S_A_STR-BGRP_03 sy-vline
WA_RPCSVBA1S_A_STR-BGDN_03 sy-vline
WA_RPCSVBA1S_A_STR-SZDN_03 sy-vline
WA_RPCSVBA1S_A_STR-BGPZ_03 sy-vline
WA_RPCSVBA1S_A_STR-BGBT_03 sy-vline
WA_RPCSVBA1S_A_STR-BGSUM_03 sy-vline
WA_RPCSVBA1S_A_STR-BGRP_04 sy-vline
WA_RPCSVBA1S_A_STR-BGDN_04 sy-vline
WA_RPCSVBA1S_A_STR-SZDN_04 sy-vline
WA_RPCSVBA1S_A_STR-BGPZ_04 sy-vline
WA_RPCSVBA1S_A_STR-BGBT_04 sy-vline
WA_RPCSVBA1S_A_STR-BGSUM_04 sy-vline
WA_RPCSVBA1S_A_STR-BGRP_05 sy-vline
WA_RPCSVBA1S_A_STR-BGDN_05 sy-vline
WA_RPCSVBA1S_A_STR-SZDN_05 sy-vline
WA_RPCSVBA1S_A_STR-BGPZ_05 sy-vline
WA_RPCSVBA1S_A_STR-BGBT_05 sy-vline
WA_RPCSVBA1S_A_STR-BGSUM_05 sy-vline
WA_RPCSVBA1S_A_STR-BGRP_06 sy-vline
WA_RPCSVBA1S_A_STR-BGDN_06 sy-vline
WA_RPCSVBA1S_A_STR-SZDN_06 sy-vline
WA_RPCSVBA1S_A_STR-BGPZ_06 sy-vline
WA_RPCSVBA1S_A_STR-BGBT_06 sy-vline
WA_RPCSVBA1S_A_STR-BGSUM_06 sy-vline
WA_RPCSVBA1S_A_STR-BGRP_07 sy-vline
WA_RPCSVBA1S_A_STR-BGDN_07 sy-vline
WA_RPCSVBA1S_A_STR-SZDN_07 sy-vline
WA_RPCSVBA1S_A_STR-BGPZ_07 sy-vline
WA_RPCSVBA1S_A_STR-BGBT_07 sy-vline
WA_RPCSVBA1S_A_STR-BGSUM_07 sy-vline
WA_RPCSVBA1S_A_STR-BGRP_08 sy-vline
WA_RPCSVBA1S_A_STR-BGDN_08 sy-vline
WA_RPCSVBA1S_A_STR-SZDN_08 sy-vline
WA_RPCSVBA1S_A_STR-BGPZ_08 sy-vline
WA_RPCSVBA1S_A_STR-BGBT_08 sy-vline
WA_RPCSVBA1S_A_STR-BGSUM_08 sy-vline
WA_RPCSVBA1S_A_STR-BGRP_09 sy-vline
WA_RPCSVBA1S_A_STR-BGDN_09 sy-vline
WA_RPCSVBA1S_A_STR-SZDN_09 sy-vline
WA_RPCSVBA1S_A_STR-BGPZ_09 sy-vline
WA_RPCSVBA1S_A_STR-BGBT_09 sy-vline
WA_RPCSVBA1S_A_STR-BGSUM_09 sy-vline
WA_RPCSVBA1S_A_STR-BGRP_10 sy-vline
WA_RPCSVBA1S_A_STR-BGDN_10 sy-vline
WA_RPCSVBA1S_A_STR-SZDN_10 sy-vline
WA_RPCSVBA1S_A_STR-BGPZ_10 sy-vline
WA_RPCSVBA1S_A_STR-BGBT_10 sy-vline
WA_RPCSVBA1S_A_STR-BGSUM_10 sy-vline
WA_RPCSVBA1S_A_STR-BGRP_11 sy-vline
WA_RPCSVBA1S_A_STR-BGDN_11 sy-vline
WA_RPCSVBA1S_A_STR-SZDN_11 sy-vline
WA_RPCSVBA1S_A_STR-BGPZ_11 sy-vline
WA_RPCSVBA1S_A_STR-BGBT_11 sy-vline
WA_RPCSVBA1S_A_STR-BGSUM_11 sy-vline
WA_RPCSVBA1S_A_STR-BGRP_12 sy-vline
WA_RPCSVBA1S_A_STR-BGDN_12 sy-vline
WA_RPCSVBA1S_A_STR-SZDN_12 sy-vline
WA_RPCSVBA1S_A_STR-BGPZ_12 sy-vline
WA_RPCSVBA1S_A_STR-BGBT_12 sy-vline
WA_RPCSVBA1S_A_STR-BGSUM_12 sy-vline
WA_RPCSVBA1S_A_STR-UMCOD_01 sy-vline
WA_RPCSVBA1S_A_STR-BGRUM_01 sy-vline
WA_RPCSVBA1S_A_STR-PROZU_01 sy-vline
WA_RPCSVBA1S_A_STR-BEITU_01 sy-vline
WA_RPCSVBA1S_A_STR-UMCOD_02 sy-vline
WA_RPCSVBA1S_A_STR-BGRUM_02 sy-vline
WA_RPCSVBA1S_A_STR-PROZU_02 sy-vline
WA_RPCSVBA1S_A_STR-BEITU_02 sy-vline
WA_RPCSVBA1S_A_STR-UMCOD_03 sy-vline
WA_RPCSVBA1S_A_STR-BGRUM_03 sy-vline
WA_RPCSVBA1S_A_STR-PROZU_03 sy-vline
WA_RPCSVBA1S_A_STR-BEITU_03 sy-vline
WA_RPCSVBA1S_A_STR-UMCOD_04 sy-vline
WA_RPCSVBA1S_A_STR-BGRUM_04 sy-vline
WA_RPCSVBA1S_A_STR-PROZU_04 sy-vline
WA_RPCSVBA1S_A_STR-BEITU_04 sy-vline
WA_RPCSVBA1S_A_STR-UMCOD_05 sy-vline
WA_RPCSVBA1S_A_STR-BGRUM_05 sy-vline
WA_RPCSVBA1S_A_STR-PROZU_05 sy-vline
WA_RPCSVBA1S_A_STR-BEITU_05 sy-vline
WA_RPCSVBA1S_A_STR-UMCOD_06 sy-vline
WA_RPCSVBA1S_A_STR-BGRUM_06 sy-vline
WA_RPCSVBA1S_A_STR-PROZU_06 sy-vline
WA_RPCSVBA1S_A_STR-BEITU_06 sy-vline
WA_RPCSVBA1S_A_STR-UMCOD_07 sy-vline
WA_RPCSVBA1S_A_STR-BGRUM_07 sy-vline
WA_RPCSVBA1S_A_STR-PROZU_07 sy-vline
WA_RPCSVBA1S_A_STR-BEITU_07 sy-vline
WA_RPCSVBA1S_A_STR-UMCOD_08 sy-vline
WA_RPCSVBA1S_A_STR-BGRUM_08 sy-vline
WA_RPCSVBA1S_A_STR-PROZU_08 sy-vline
WA_RPCSVBA1S_A_STR-BEITU_08 sy-vline
WA_RPCSVBA1S_A_STR-AARB sy-vline
WA_RPCSVBA1S_A_STR-AANG sy-vline
WA_RPCSVBA1S_A_STR-AARL sy-vline
WA_RPCSVBA1S_A_STR-AANL sy-vline
WA_RPCSVBA1S_A_STR-EFAR sy-vline
WA_RPCSVBA1S_A_STR-EFAN sy-vline
WA_RPCSVBA1S_A_STR-BGUU sy-vline
WA_RPCSVBA1S_A_STR-AZGF sy-vline
WA_RPCSVBA1S_A_STR-BGGF sy-vline
WA_RPCSVBA1S_A_STR-SZGF sy-vline
WA_RPCSVBA1S_A_STR-GANG sy-vline
WA_RPCSVBA1S_A_STR-GARB sy-vline
WA_RPCSVBA1S_A_STR-AARM sy-vline
WA_RPCSVBA1S_A_STR-BARM sy-vline
WA_RPCSVBA1S_A_STR-AANM sy-vline
WA_RPCSVBA1S_A_STR-BANM sy-vline
WA_RPCSVBA1S_A_STR-KGEB sy-vline
WA_RPCSVBA1S_A_STR-ECAR sy-vline
WA_RPCSVBA1S_A_STR-MVBE sy-vline
WA_RPCSVBA1S_A_STR-SUMMA sy-vline
WA_RPCSVBA1S_A_STR-SUMME sy-vline
WA_RPCSVBA1S_A_STR-DIFFN sy-vline
WA_RPCSVBA1S_A_STR-STNR0 sy-vline
WA_RPCSVBA1S_A_STR-WAERS sy-vline
WA_RPCSVBA1S_A_STR-XPAND sy-vline
WA_RPCSVBA1S_A_STR-AUFL sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.