ABAP Select data from SAP table RCAPTR_API 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 RCAPTR_API 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 RCAPTR_API. 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 RCAPTR_API 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_RCAPTR_API TYPE STANDARD TABLE OF RCAPTR_API,
      WA_RCAPTR_API TYPE RCAPTR_API,
      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: <RCAPTR_API> TYPE RCAPTR_API.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM RCAPTR_API
*  INTO TABLE @DATA(IT_RCAPTR_API2).
*--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_RCAPTR_API INDEX 1 INTO DATA(WA_RCAPTR_API2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_RCAPTR_API ASSIGNING <RCAPTR_API>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<RCAPTR_API>-BUKRS = 1.
<RCAPTR_API>-SARCHIV = 1.
<RCAPTR_API>-RANL = 1.
<RCAPTR_API>-RBO = 1.
<RCAPTR_API>-DVALUTTF = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_RCAPTR_API-IULTDVALUTTF, sy-vline,
WA_RCAPTR_API-ICOMTF, sy-vline,
WA_RCAPTR_API-IREDISTF, sy-vline,
WA_RCAPTR_API-IPREDISTF, sy-vline,
WA_RCAPTR_API-INSEREPCF_T, sy-vline,
WA_RCAPTR_API-RECAPCONTROL, sy-vline.
ENDLOOP. *Add any further fields from structure WA_RCAPTR_API 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_RCAPTR_API 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_RCAPTR_API INTO WA_RCAPTR_API. *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 RANL CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RCAPTR_API-RANL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RCAPTR_API-RANL.
WRITE:/ 'New Value:', ld_input.

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

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

*Conversion exit ALPHA, internal->external for field PARTNR_T CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RCAPTR_API-PARTNR_T IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RCAPTR_API-PARTNR_T.
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_RCAPTR_API_STR,
BUKRS TYPE STRING,
SARCHIV TYPE STRING,
RANL TYPE STRING,
RBO TYPE STRING,
DVALUTTF TYPE STRING,
IULTDVALUTTF TYPE STRING,
ICOMTF TYPE STRING,
IREDISTF TYPE STRING,
IPREDISTF TYPE STRING,
INSEREPCF_T TYPE STRING,
RECAPCONTROL TYPE STRING,
DIOBCONTROL TYPE STRING,
REDISCONTROL TYPE STRING,
PREDISCONTROL TYPE STRING,
NSEREPCONTROL TYPE STRING,
COMCAPCONTROL TYPE STRING,
SCHEDREPCONTROL TYPE STRING,
UNSCHEDREPCONTR TYPE STRING,
PRATETF TYPE STRING,
IINCLDVALUT_S TYPE STRING,
PARTNR_S TYPE STRING,
UPOSCURR_S TYPE STRING,
ARECATF_S TYPE STRING,
ADIOBTF_S TYPE STRING,
IREPSE_S TYPE STRING,
ANSEREP_S TYPE STRING,
FTRECAOF_S TYPE STRING,
FTREDISOF_S TYPE STRING,
FTPREDISOF_S TYPE STRING,
CTDIOBOF_S TYPE STRING,
CTREPSE_S TYPE STRING,
MSBOTERM_S TYPE STRING,
CTREP_S TYPE STRING,
DCOEFFR_S TYPE STRING,
DBEGREP_S TYPE STRING,
PREPCHG_S TYPE STRING,
AREPCHG_S TYPE STRING,
AREPCHGBAS_S TYPE STRING,
APRNSEREP_S TYPE STRING,
ATFVALCAOF_S TYPE STRING,
ATFSCHEDREPOF_S TYPE STRING,
ATFUNSCHREPOF_S TYPE STRING,
FTVALCAOF_S TYPE STRING,
FTSCHEDREPOF_S TYPE STRING,
FTUNSCHEDROF_S TYPE STRING,
MRANL_T TYPE STRING,
MBVTYP_T TYPE STRING,
MZLSCH_T TYPE STRING,
MNDID_T TYPE STRING,
PARTNR_T TYPE STRING,
FTRECAIF_T TYPE STRING,
FTREPCF_T TYPE STRING,
FTREDISIF_T TYPE STRING,
FTPREDISIF_T TYPE STRING,
CTNSETREPCF TYPE STRING,
MSBOTERM_T TYPE STRING,
CTREP_T TYPE STRING,
DBEGREP_T TYPE STRING,
PREPCHG_T TYPE STRING,
AREPCHG_T TYPE STRING,
AREPCHGBAS_T TYPE STRING,
ATFVALCAIF_T TYPE STRING,
ATFSCHRIF_T TYPE STRING,
ATFUNSCHRIF_T TYPE STRING,
FTVALCAIF_T TYPE STRING,
FTSCHRIF_T TYPE STRING,
FTUNSCHRIF_T TYPE STRING,
CHANGED TYPE STRING,
IINCLDVALUT_T TYPE STRING,
MSBOTERM TYPE STRING,
CTREPSE_AN TYPE STRING,
CTREPSE_IN TYPE STRING,
CTNSETREPCF_AN TYPE STRING,
CTNSETREPCF_IN TYPE STRING,
FTAGIOOF_S TYPE STRING,
FTAGIOIF_T TYPE STRING,
FTPREAGIOOF_S TYPE STRING,
FTPREAGIOIF_T TYPE STRING,
MRCAPTR_REASON TYPE STRING,
MPOSTTYPE TYPE STRING,
IMANPOPROC TYPE STRING,
IBORCHREQ TYPE STRING,
TXTXBO_TEXT TYPE STRING,
INEW_CONTRACT TYPE STRING,
FLG_NO_ENQUEUE TYPE STRING,
FLG_NO_CONFIRMATION TYPE STRING,
FLG_ADV_DIS TYPE STRING,
FLG_ADV_PRE TYPE STRING,
FLG_REM_DIS TYPE STRING,
FLG_REM_PRE TYPE STRING,
FLG_DISB_OBLGN TYPE STRING,
FLG_SCHLED_REP TYPE STRING,
FLG_UNSCLD_REP TYPE STRING,
FLG_REPAMT_NTST TYPE STRING,END OF T_EKKO_STR. DATA: WA_RCAPTR_API_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_RCAPTR_API_STR-BUKRS sy-vline
WA_RCAPTR_API_STR-SARCHIV sy-vline
WA_RCAPTR_API_STR-RANL sy-vline
WA_RCAPTR_API_STR-RBO sy-vline
WA_RCAPTR_API_STR-DVALUTTF sy-vline
WA_RCAPTR_API_STR-IULTDVALUTTF sy-vline
WA_RCAPTR_API_STR-ICOMTF sy-vline
WA_RCAPTR_API_STR-IREDISTF sy-vline
WA_RCAPTR_API_STR-IPREDISTF sy-vline
WA_RCAPTR_API_STR-INSEREPCF_T sy-vline
WA_RCAPTR_API_STR-RECAPCONTROL sy-vline
WA_RCAPTR_API_STR-DIOBCONTROL sy-vline
WA_RCAPTR_API_STR-REDISCONTROL sy-vline
WA_RCAPTR_API_STR-PREDISCONTROL sy-vline
WA_RCAPTR_API_STR-NSEREPCONTROL sy-vline
WA_RCAPTR_API_STR-COMCAPCONTROL sy-vline
WA_RCAPTR_API_STR-SCHEDREPCONTROL sy-vline
WA_RCAPTR_API_STR-UNSCHEDREPCONTR sy-vline
WA_RCAPTR_API_STR-PRATETF sy-vline
WA_RCAPTR_API_STR-IINCLDVALUT_S sy-vline
WA_RCAPTR_API_STR-PARTNR_S sy-vline
WA_RCAPTR_API_STR-UPOSCURR_S sy-vline
WA_RCAPTR_API_STR-ARECATF_S sy-vline
WA_RCAPTR_API_STR-ADIOBTF_S sy-vline
WA_RCAPTR_API_STR-IREPSE_S sy-vline
WA_RCAPTR_API_STR-ANSEREP_S sy-vline
WA_RCAPTR_API_STR-FTRECAOF_S sy-vline
WA_RCAPTR_API_STR-FTREDISOF_S sy-vline
WA_RCAPTR_API_STR-FTPREDISOF_S sy-vline
WA_RCAPTR_API_STR-CTDIOBOF_S sy-vline
WA_RCAPTR_API_STR-CTREPSE_S sy-vline
WA_RCAPTR_API_STR-MSBOTERM_S sy-vline
WA_RCAPTR_API_STR-CTREP_S sy-vline
WA_RCAPTR_API_STR-DCOEFFR_S sy-vline
WA_RCAPTR_API_STR-DBEGREP_S sy-vline
WA_RCAPTR_API_STR-PREPCHG_S sy-vline
WA_RCAPTR_API_STR-AREPCHG_S sy-vline
WA_RCAPTR_API_STR-AREPCHGBAS_S sy-vline
WA_RCAPTR_API_STR-APRNSEREP_S sy-vline
WA_RCAPTR_API_STR-ATFVALCAOF_S sy-vline
WA_RCAPTR_API_STR-ATFSCHEDREPOF_S sy-vline
WA_RCAPTR_API_STR-ATFUNSCHREPOF_S sy-vline
WA_RCAPTR_API_STR-FTVALCAOF_S sy-vline
WA_RCAPTR_API_STR-FTSCHEDREPOF_S sy-vline
WA_RCAPTR_API_STR-FTUNSCHEDROF_S sy-vline
WA_RCAPTR_API_STR-MRANL_T sy-vline
WA_RCAPTR_API_STR-MBVTYP_T sy-vline
WA_RCAPTR_API_STR-MZLSCH_T sy-vline
WA_RCAPTR_API_STR-MNDID_T sy-vline
WA_RCAPTR_API_STR-PARTNR_T sy-vline
WA_RCAPTR_API_STR-FTRECAIF_T sy-vline
WA_RCAPTR_API_STR-FTREPCF_T sy-vline
WA_RCAPTR_API_STR-FTREDISIF_T sy-vline
WA_RCAPTR_API_STR-FTPREDISIF_T sy-vline
WA_RCAPTR_API_STR-CTNSETREPCF sy-vline
WA_RCAPTR_API_STR-MSBOTERM_T sy-vline
WA_RCAPTR_API_STR-CTREP_T sy-vline
WA_RCAPTR_API_STR-DBEGREP_T sy-vline
WA_RCAPTR_API_STR-PREPCHG_T sy-vline
WA_RCAPTR_API_STR-AREPCHG_T sy-vline
WA_RCAPTR_API_STR-AREPCHGBAS_T sy-vline
WA_RCAPTR_API_STR-ATFVALCAIF_T sy-vline
WA_RCAPTR_API_STR-ATFSCHRIF_T sy-vline
WA_RCAPTR_API_STR-ATFUNSCHRIF_T sy-vline
WA_RCAPTR_API_STR-FTVALCAIF_T sy-vline
WA_RCAPTR_API_STR-FTSCHRIF_T sy-vline
WA_RCAPTR_API_STR-FTUNSCHRIF_T sy-vline
WA_RCAPTR_API_STR-CHANGED sy-vline
WA_RCAPTR_API_STR-IINCLDVALUT_T sy-vline
WA_RCAPTR_API_STR-MSBOTERM sy-vline
WA_RCAPTR_API_STR-CTREPSE_AN sy-vline
WA_RCAPTR_API_STR-CTREPSE_IN sy-vline
WA_RCAPTR_API_STR-CTNSETREPCF_AN sy-vline
WA_RCAPTR_API_STR-CTNSETREPCF_IN sy-vline
WA_RCAPTR_API_STR-FTAGIOOF_S sy-vline
WA_RCAPTR_API_STR-FTAGIOIF_T sy-vline
WA_RCAPTR_API_STR-FTPREAGIOOF_S sy-vline
WA_RCAPTR_API_STR-FTPREAGIOIF_T sy-vline
WA_RCAPTR_API_STR-MRCAPTR_REASON sy-vline
WA_RCAPTR_API_STR-MPOSTTYPE sy-vline
WA_RCAPTR_API_STR-IMANPOPROC sy-vline
WA_RCAPTR_API_STR-IBORCHREQ sy-vline
WA_RCAPTR_API_STR-TXTXBO_TEXT sy-vline
WA_RCAPTR_API_STR-INEW_CONTRACT sy-vline
WA_RCAPTR_API_STR-FLG_NO_ENQUEUE sy-vline
WA_RCAPTR_API_STR-FLG_NO_CONFIRMATION sy-vline
WA_RCAPTR_API_STR-FLG_ADV_DIS sy-vline
WA_RCAPTR_API_STR-FLG_ADV_PRE sy-vline
WA_RCAPTR_API_STR-FLG_REM_DIS sy-vline
WA_RCAPTR_API_STR-FLG_REM_PRE sy-vline
WA_RCAPTR_API_STR-FLG_DISB_OBLGN sy-vline
WA_RCAPTR_API_STR-FLG_SCHLED_REP sy-vline
WA_RCAPTR_API_STR-FLG_UNSCLD_REP sy-vline
WA_RCAPTR_API_STR-FLG_REPAMT_NTST sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.